From 907de6cdb4888c78b817a441f7c6a55175748bfd Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 9 Jul 2018 14:01:29 -0600 Subject: [PATCH 0001/1657] Update switch_music_on_hold.php --- app/music_on_hold/resources/classes/switch_music_on_hold.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/music_on_hold/resources/classes/switch_music_on_hold.php b/app/music_on_hold/resources/classes/switch_music_on_hold.php index 3d7091f939..2a0101f842 100644 --- a/app/music_on_hold/resources/classes/switch_music_on_hold.php +++ b/app/music_on_hold/resources/classes/switch_music_on_hold.php @@ -129,7 +129,7 @@ include "root.php"; $sql .= "from v_music_on_hold as m "; $sql .= "left join v_domains as d ON d.domain_uuid = m.domain_uuid "; $sql .= "where (m.domain_uuid = '".$this->domain_uuid."' or m.domain_uuid is null) "; - $sql .= "order by m.domain_uuid desc, music_on_hold_rate asc, music_on_hold_name asc"; + $sql .= "order by m.domain_uuid desc, music_on_hold_name asc, music_on_hold_rate asc "; $prep_statement = $this->db->prepare(check_sql($sql)); $prep_statement->execute(); return $prep_statement->fetchAll(PDO::FETCH_NAMED); From 50e2f5974645baff59699a5221f4c38eddf2e73e Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 9 Jul 2018 14:03:39 -0600 Subject: [PATCH 0002/1657] Update music_on_hold.php --- app/music_on_hold/music_on_hold.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/music_on_hold/music_on_hold.php b/app/music_on_hold/music_on_hold.php index 8e9b29e055..31c425e729 100644 --- a/app/music_on_hold/music_on_hold.php +++ b/app/music_on_hold/music_on_hold.php @@ -54,7 +54,7 @@ $sql .= "or domain_uuid is null "; } $sql .= ") "; - $sql .= "order by domain_uuid desc, music_on_hold_rate asc, music_on_hold_name asc"; + $sql .= "order by domain_uuid desc, music_on_hold_name asc, music_on_hold_rate asc"; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $streams = $prep_statement->fetchAll(PDO::FETCH_NAMED); From 0f551f695478b7fb43a51be52a0e23ce72e94f23 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 11 Jul 2018 23:00:05 -0600 Subject: [PATCH 0003/1657] Update contact_setting_edit.php --- app/contacts/contact_setting_edit.php | 62 ++++++++++++++------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/app/contacts/contact_setting_edit.php b/app/contacts/contact_setting_edit.php index a2bb0a1e28..39393ee088 100644 --- a/app/contacts/contact_setting_edit.php +++ b/app/contacts/contact_setting_edit.php @@ -24,16 +24,20 @@ Mark J Crane Luis Daniel Lucio Quiroz */ -require_once "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('contact_setting_edit') || permission_exists('contact_setting_add')) { - //access granted -} -else { - echo "access denied"; - exit; -} + +//includes + require_once "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; + +//check permissions + if (permission_exists('contact_setting_edit') || permission_exists('contact_setting_add')) { + //access granted + } + else { + echo "access denied"; + exit; + } //add multi-lingual support $language = new text; @@ -167,7 +171,7 @@ else { if ($action == "add") { messages::add($text['message-add']); } - header("Location: contact_edit.php?id=".$contact_uuid); + header("Location: contact_edit.php?id=".escape($contact_uuid)); return; } //if ($_POST["persistformvar"] != "true") } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) @@ -182,14 +186,13 @@ else { $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { - $contact_setting_category = $row["contact_setting_category"]; - $contact_setting_subcategory = $row["contact_setting_subcategory"]; - $contact_setting_name = $row["contact_setting_name"]; - $contact_setting_value = $row["contact_setting_value"]; - $contact_setting_order = $row["contact_setting_order"]; - $contact_setting_enabled = $row["contact_setting_enabled"]; - $contact_setting_description = $row["contact_setting_description"]; - break; //limit to 1 row + $contact_setting_category = escape($row["contact_setting_category"]); + $contact_setting_subcategory = escape($row["contact_setting_subcategory"]); + $contact_setting_name = escape($row["contact_setting_name"]); + $contact_setting_value = escape($row["contact_setting_value"]); + $contact_setting_order = escape($row["contact_setting_order"]); + $contact_setting_enabled = escape($row["contact_setting_enabled"]); + $contact_setting_description = escape($row["contact_setting_description"]); } unset ($prep_statement); } @@ -237,7 +240,7 @@ else { echo " ".$text['label-contact_setting_category']."\n"; echo "\n"; echo "\n"; - echo " \n"; + echo " \n"; echo "
\n"; echo $text['description-contact_setting_category']."\n"; echo "\n"; @@ -248,7 +251,7 @@ else { echo " ".$text['label-contact_setting_subcategory']."\n"; echo "\n"; echo "\n"; - echo " \n"; + echo " \n"; echo "
\n"; echo $text['description-contact_setting_subcategory']."\n"; echo "\n"; @@ -259,7 +262,7 @@ else { echo " ".$text['label-contact_setting_type']."\n"; echo "\n"; echo "\n"; - echo " \n"; + echo " \n"; echo "
\n"; echo $text['description-contact_setting_type']."\n"; echo "\n"; @@ -273,7 +276,7 @@ else { $category = $row['contact_setting_category']; $subcategory = $row['contact_setting_subcategory']; $name = $row['contact_setting_name']; - echo " \n"; + echo " \n"; echo "
\n"; echo $text['description-contact_setting_value']."\n"; echo "\n"; @@ -290,13 +293,13 @@ else { while($i<=999) { $selected = ($i == $contact_setting_order) ? "selected" : null; if (strlen($i) == 1) { - echo " \n"; + echo " \n"; } if (strlen($i) == 2) { - echo " \n"; + echo " \n"; } if (strlen($i) == 3) { - echo " \n"; + echo " \n"; } $i++; } @@ -336,7 +339,7 @@ else { echo " ".$text['label-description']."\n"; echo "\n"; echo "\n"; - echo " \n"; + echo " \n"; echo "
\n"; echo $text['description-description']."\n"; echo "\n"; @@ -345,9 +348,9 @@ else { echo " \n"; echo " \n"; echo "
"; - echo " \n"; + echo " \n"; if ($action == "update") { - echo " \n"; + echo " \n"; } echo " \n"; echo " \n"; @@ -358,4 +361,5 @@ else { //include the footer require_once "resources/footer.php"; + ?> From 949c05a082a57de7018a6b2d5eb18d7d3f45681a Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 11 Jul 2018 23:32:08 -0600 Subject: [PATCH 0004/1657] Update contact_times.php --- app/contacts/contact_times.php | 37 +++++++++++++++++----------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/app/contacts/contact_times.php b/app/contacts/contact_times.php index fba1b474d8..04bee75e67 100644 --- a/app/contacts/contact_times.php +++ b/app/contacts/contact_times.php @@ -38,6 +38,24 @@ exit; } +//get the contact list + $sql = "select ct.*, u.username, u.domain_uuid as user_domain_uuid "; + $sql .= "from v_contact_times as ct, v_users as u "; + $sql .= "where ct.user_uuid = u.user_uuid "; + $sql .= "and ct.domain_uuid = '".$domain_uuid."' "; + $sql .= "and ct.contact_uuid = '".$contact_uuid."' "; + $sql .= "order by ct.time_start desc "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $result_count = count($result); + unset ($prep_statement, $sql); + +//set the row style + $c = 0; + $row_style["0"] = "row_style0"; + $row_style["1"] = "row_style1"; + //show the content echo "\n"; echo "\n"; @@ -46,23 +64,6 @@ echo "\n"; echo "
\n"; - //get the contact list - $sql = "select ct.*, u.username, u.domain_uuid as user_domain_uuid "; - $sql .= "from v_contact_times as ct, v_users as u "; - $sql .= "where ct.user_uuid = u.user_uuid "; - $sql .= "and ct.domain_uuid = '".$domain_uuid."' "; - $sql .= "and ct.contact_uuid = '".$contact_uuid."' "; - $sql .= "order by ct.time_start desc "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($result); - unset ($prep_statement, $sql); - - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; - echo "\n"; echo "\n"; echo "\n"; @@ -103,7 +104,7 @@ echo " \n"; echo "\n"; - if (permission_exists('outbound_caller_id_select')) { + if (permission_exists('destination_caller_id_name')) { echo "\n"; echo "\n"; echo "\n"; + } + if (permission_exists('destination_caller_id_number')) { echo "\n"; echo "\n"; } if (permission_exists('follow_me')) { echo "\n"; } if (permission_exists('do_not_disturb')) { echo "\n"; } - if (!$is_included) { - echo "\n"; - } - echo "\n"; + echo "\n"; + echo " \n"; echo "\n"; if (is_array($extensions)) { @@ -180,7 +178,7 @@ echo "\n"; echo " \n"; if (permission_exists('call_forward')) { - echo ""; + echo " "; } if (permission_exists('follow_me')) { if ($row['follow_me_uuid'] != '') { @@ -204,14 +202,13 @@ else { $follow_me_enabled = false; } - echo ""; + echo " "; } if (permission_exists('do_not_disturb')) { - echo ""; - } - if (!$is_included) { - echo "\n"; + echo " "; } + echo " \n"; + echo " \n"; echo "\n"; $c = ($c) ? 0 : 1; From 88bec5f66c7c59e4a30b60ebe68b7eaaaa816851 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 12 Jul 2018 21:04:11 -0600 Subject: [PATCH 0008/1657] Update app_config.php --- core/default_settings/app_config.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/default_settings/app_config.php b/core/default_settings/app_config.php index 4593353330..ba7fb10c4f 100644 --- a/core/default_settings/app_config.php +++ b/core/default_settings/app_config.php @@ -105,7 +105,7 @@ $apps[$x]['default_settings'][$y]['default_setting_category'] = "domain"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "bridge"; $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; - $apps[$x]['default_settings'][$y]['default_setting_value'] = "outbound"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "loopback"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "outbound,loopback,lcr"; $y++; From f333ba4c784804544a36f4d89570ddfd8ae5d81d Mon Sep 17 00:00:00 2001 From: Len Date: Thu, 12 Jul 2018 23:54:24 -0400 Subject: [PATCH 0009/1657] add default for the polycom_nat_ip variable (#3241) --- app/polycom/app_config.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/polycom/app_config.php b/app/polycom/app_config.php index 642c5b5f68..ba40416680 100644 --- a/app/polycom/app_config.php +++ b/app/polycom/app_config.php @@ -63,5 +63,13 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Feature Key Sync 1=enabled 0=disable"; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "51697088-2ecf-4c9c-95d5-429c972606c2"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_nat_ip"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = ""; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = " "; + $y++; ?> From 08a0971707a56f5228600690119a0f353ca778f4 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 16 Jul 2018 10:06:22 -0600 Subject: [PATCH 0010/1657] Update bridges.php --- app/bridges/bridges.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/bridges/bridges.php b/app/bridges/bridges.php index 7d3bef717c..822780134f 100644 --- a/app/bridges/bridges.php +++ b/app/bridges/bridges.php @@ -134,7 +134,7 @@ $sql .= "limit $rows_per_page offset $offset "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $bridges = $prep_statement->fetchAll(PDO::FETCH_NAMED); unset ($prep_statement, $sql); //alternate the row style @@ -206,11 +206,11 @@ echo " \n"; echo "\n"; - if (is_array($result)) { + if (is_array($bridges)) { $x = 0; - foreach($result as $row) { + foreach($bridges as $row) { if (permission_exists('bridge_edit')) { - $tr_link = "href='bridge_edit.php?id=".$row['bridge_uuid']."'"; + $tr_link = "href='bridge_edit.php?id=".escape($row['bridge_uuid'])."'"; } echo "\n"; echo " \n"; From e8436f717587dfef35a9659a234f4e836d054c34 Mon Sep 17 00:00:00 2001 From: konradSC Date: Tue, 17 Jul 2018 00:31:14 -0400 Subject: [PATCH 0011/1657] List does not display with escape (#3242) List does not display with escape --- core/users/user_edit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/users/user_edit.php b/core/users/user_edit.php index c28cf4bd84..934b01875c 100644 --- a/core/users/user_edit.php +++ b/core/users/user_edit.php @@ -709,7 +709,7 @@ if (count($_POST) > 0 && $_POST["persistform"] != "1") { if ($row['contact_name_family'] != '') { $contact_name[] = $row['contact_name_family']; } if ($row['contact_name_given'] != '') { $contact_name[] = $row['contact_name_given']; } if ($row['contact_name_family'] == '' && $row['contact_name_family'] == '' && $row['contact_nickname'] != '') { $contact_name[] = $row['contact_nickname']; } - echo "\n"; + echo "\n"; } unset($sql, $result, $row_count); echo "\n"; From 261ab58e821baf793a849b8550a5706d1300095c Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 16 Jul 2018 22:32:08 -0600 Subject: [PATCH 0012/1657] Update user_edit.php --- core/users/user_edit.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/users/user_edit.php b/core/users/user_edit.php index 934b01875c..198c203be1 100644 --- a/core/users/user_edit.php +++ b/core/users/user_edit.php @@ -704,12 +704,12 @@ if (count($_POST) > 0 && $_POST["persistform"] != "1") { echo "\n"; From 936461939a524b3c1ce65f424617a4c3bcda3545 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 16 Jul 2018 23:47:18 -0600 Subject: [PATCH 0013/1657] Update {$mac}.cfg --- resources/templates/provision/yealink/t48s/{$mac}.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/templates/provision/yealink/t48s/{$mac}.cfg b/resources/templates/provision/yealink/t48s/{$mac}.cfg index 16035fa89b..fa7f30fb90 100644 --- a/resources/templates/provision/yealink/t48s/{$mac}.cfg +++ b/resources/templates/provision/yealink/t48s/{$mac}.cfg @@ -327,7 +327,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = From 9c7e7130c1ec38aca77b233aef60f04842792475 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 17 Jul 2018 00:08:09 -0600 Subject: [PATCH 0014/1657] Update app_config.php --- app/yealink/app_config.php | 72 +++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/app/yealink/app_config.php b/app/yealink/app_config.php index ed85305352..0dc5931768 100755 --- a/app/yealink/app_config.php +++ b/app/yealink/app_config.php @@ -92,7 +92,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "1"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "subscribe to the voicemail MWI 0-Disabled (default), 1-Enabled"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Subscribe to the voicemail MWI 0-Disabled (default), 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "1374da96-dc40-4f12-8269-0b94278b7c55"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -190,13 +190,21 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "The type of SIP header(s) to carry the caller ID; 0-FROM (default), 1-PAI 2-PAI-FROM, 3-PRID-PAI-FROM, 4-PAI-RPID-FROM, 5-RPID-FROM"; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "ba0ebf59-6364-47b2-9a98-73430669a4c4"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "yealink_dtmf_type"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "3"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-INBAND, 1-RFC 2833; 2-SIP INFO, 3-RFC2833 + SIP INFO"; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "6fd955ef-2f65-41f0-84cf-5b3ad917cc20"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "yealink_dtmf_hide"; $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "1"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " 0-Disabled 1-Enabled"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-Disabled 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "968c9f53-305c-4fbd-a7dd-4dd6099e829e"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -204,7 +212,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "5060"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " 5060 default"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "5060 default"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "3f903069-c0fc-4bf1-9c33-907bf238475e"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -212,7 +220,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "https://server.yourdomain.com/app/yealink/resources/firmware"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Base URL for Yealink Firmware. Download from http://support.yealink.com"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Base URL for Yealink Firmware. Download from http://support.yealink.com"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "e8f3e617-a6b3-4859-af59-04e2349f3d49"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -220,7 +228,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "cp860-37.81.0.10.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the CP860 firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the CP860 firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "7a769f2f-2833-4b90-9789-ff96a4723773"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -228,7 +236,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "cp960-73.80.0.25.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the CP960 firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the CP960 firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "311d2739-a340-42f5-8e3e-6e6ecce1faa2"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -236,7 +244,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t29g-46.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T29G firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T29G firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "758509689226450f-a3e1-414ec1d610ee"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -244,7 +252,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t38g-38.70.0.185.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T38G firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T38G firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "7223c3a7-5ef9-46a8-84be-39338a6788a6"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -252,7 +260,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t40g-76.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T40G firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T40G firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "c5d9b7ea-8e3b44289845438be7be0baa"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -260,7 +268,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t40p-54.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T40P firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T40P firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "f714e8a0-9753-48e0-9674-0f4efc7e4ff1"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -268,7 +276,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t41p-36.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T41P firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T41P firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "9480f346-c038-462b-b440329383290b84"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -276,7 +284,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t41s-66.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T41S firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T41S firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "84eb10e2-bd9f-4bd0-8073-ac8cf002e7f0"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -284,7 +292,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t42g-29.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T42G firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T42G firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "768f216e-fc19-4c97-b843-03d48ce70c4e"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -292,7 +300,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t42s-66.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T42S firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T42S firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "5fb6ef46-0a7f-4bb6-b415-49b437454321"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -300,7 +308,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t46g-28.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T46G firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T46G firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "4e2b8fcb-7d06-4553-becf-9904e1331c4c"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -308,7 +316,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t46s-66.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T46S firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T46S firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "0276b965-0ef6-493a-bdd0-b9786bf8aad7"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -316,7 +324,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t48g-35.81.0.110.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T48G firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T48G firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "77314a84-6304-47d8-a6b4-fb6d12b8804f"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -332,7 +340,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t49g-51.80.0.100.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T49Gfirmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T49Gfirmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "804003fc-f0e9-4b3b-a35b-6c2742f965eb"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -340,7 +348,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t52s-70.81.0.10.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T52Sfirmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T52Sfirmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "7378c0b632424989-8af6-903dfb437285"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -348,7 +356,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "T54S(T52S)-70.82.0.20.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Firmware tested 2017-11-26"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Firmware tested 2017-11-26"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "4ffd1ad7-1b00-41f7-8e9319412127245a"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -356,7 +364,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t56a-58.80.0.25.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T56A firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T56A firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "616d6358-d07e-4e42-8560-7de0f42cd5b1"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -364,7 +372,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t58a-58.80.0.25.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T58A firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T58A firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "2cdd8b87-db72-4ad1-b18b-745fc1f7e906"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -372,7 +380,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "t58v-58.80.0.25.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the T58V firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the T58V firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "a39fc1af-9c30-46c7-a564-212e4af0331f"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -380,7 +388,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "vp530-23.70.0.40.rom"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Filename of the VP530 firmware ROM"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Filename of the VP530 firmware ROM"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "68eba481-aeb1-4c7e-a4e4-630946abc0e7"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -388,7 +396,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "1"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " (0-Disabled;1-Enabled)"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "(0-Disabled;1-Enabled)"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "85675560-82cf-48a5-8056-227c01a44f37"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -396,7 +404,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "hxxps://replace-this.url/openvpn.tar"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " (URL within 511 characters)"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "(URL within 511 characters)"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "b75ef82b-a225-43a5-a208-78d545cca8aa"; @@ -413,7 +421,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " LLDP 0-Disabled, 1-Enabled"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "LLDP 0-Disabled, 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "2d380c07-aba5-46a9-8ef5-7e6b713868fd"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -421,7 +429,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " CDP 0-Disabled, 1-Enabled"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "CDP 0-Disabled, 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "f54bd090-723c-47c8-a9cd-c1e875134501"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -429,7 +437,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Overwrite Mode 0-Disabled, 1-Enabled"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Overwrite Mode 0-Disabled, 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "709945c3-7fc4-4903-b6b2-7c0d695fea43"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -437,7 +445,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " DSS Key Label Length Default-0 Extended-1 Mid Range-2"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "DSS Key Label Length Default-0 Extended-1 Mid Range-2"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "3dee932a-6987-4693-b289-825d192e8f85"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -445,7 +453,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = " Enable or disable the feature key synchronization; 0-Disabled (default) 1-Enabled"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Enable or disable the feature key synchronization; 0-Disabled (default) 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "c7227e2b-870f-4c11-aab8-dfff8d626ded"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -461,7 +469,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "custom.wav"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "custom ring tone (Busy.wav);"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Custom ring tone (Busy.wav);"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "7af991ec-ddb9-4942-a05d-d1acc529fef5"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; From 7217da0015a5f59f334b8aa6ab9eedb797470e9d Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 17 Jul 2018 00:12:55 -0600 Subject: [PATCH 0015/1657] Update app_config.php --- app/yealink/app_config.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/yealink/app_config.php b/app/yealink/app_config.php index 0dc5931768..6048b4b440 100755 --- a/app/yealink/app_config.php +++ b/app/yealink/app_config.php @@ -132,7 +132,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "The value is 0(default) or 1."; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "The value is 0 (default) or 1."; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "2f5e8429-6890-4da7-84ae-65c9c29b5091"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -148,7 +148,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "(0-Disabled;1-Enabled) "; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-Disabled, 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "c45264b7-6e85-42e4-b245-f22caff091d4"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -156,7 +156,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "(0-Disabled;1-Enabled)"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-Disabled, 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "ada36bd5-51ab-4bf8-a2ad-bc39671b2a3a"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -164,7 +164,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "(0-Disabled:power indicator LED is off;1-Enabled:power indicator LED is solid red)"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-Disabled:power indicator LED is off, 1-Enabled:power indicator LED is solid red"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "fb13e647-ca3f-4da6-901c-584b8cde4055"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -204,7 +204,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "1"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-Disabled 1-Enabled"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-Disabled, 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "968c9f53-305c-4fbd-a7dd-4dd6099e829e"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -445,7 +445,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "DSS Key Label Length Default-0 Extended-1 Mid Range-2"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "DSS Key Label Length 0-Default, 1-Extended, 2-Mid Range"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "3dee932a-6987-4693-b289-825d192e8f85"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -453,7 +453,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "Enable or disable the feature key synchronization; 0-Disabled (default) 1-Enabled"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "c7227e2b-870f-4c11-aab8-dfff8d626ded"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; @@ -461,7 +461,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "Auto dial after digit timeout 0-Disabled (default), 1-Enabled;"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Auto dial after digit timeout 0-Disabled (default), 1-Enabled"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "627ef79d-1a49-4bae-b215-56182e308351"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; From 8ad91dbf6ac580c717cb2959fbf55d2a630633fd Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 17 Jul 2018 00:18:13 -0600 Subject: [PATCH 0016/1657] Update app_config.php --- app/yealink/app_config.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/yealink/app_config.php b/app/yealink/app_config.php index 6048b4b440..42078305fb 100755 --- a/app/yealink/app_config.php +++ b/app/yealink/app_config.php @@ -194,9 +194,9 @@ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "yealink_dtmf_type"; $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; - $apps[$x]['default_settings'][$y]['default_setting_value'] = "3"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "1"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-INBAND, 1-RFC 2833; 2-SIP INFO, 3-RFC2833 + SIP INFO"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-INBAND, 1-RFC 2833 (default), 2-SIP INFO, 3-RFC2833 + SIP INFO"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "6fd955ef-2f65-41f0-84cf-5b3ad917cc20"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; From 727c82b0bc3b175ce4936feae0c7c03fcec101b6 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 17 Jul 2018 00:33:56 -0600 Subject: [PATCH 0017/1657] Update {$mac}.cfg --- resources/templates/provision/yealink/t48g/{$mac}.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/templates/provision/yealink/t48g/{$mac}.cfg b/resources/templates/provision/yealink/t48g/{$mac}.cfg index aa13ae4b26..aeaa8d6832 100644 --- a/resources/templates/provision/yealink/t48g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t48g/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = From 73a2f79edebcbe03ea7b7e4f4abc1a9ab63f3337 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 14:04:59 -0400 Subject: [PATCH 0018/1657] Update {$mac}.cfg (#3253) --- .../templates/provision/yealink/w60b/{$mac}.cfg | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/resources/templates/provision/yealink/w60b/{$mac}.cfg b/resources/templates/provision/yealink/w60b/{$mac}.cfg index c190563e79..c215e05113 100644 --- a/resources/templates/provision/yealink/w60b/{$mac}.cfg +++ b/resources/templates/provision/yealink/w60b/{$mac}.cfg @@ -111,7 +111,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -341,7 +341,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -571,7 +571,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -801,7 +801,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1031,7 +1031,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = @@ -1280,7 +1280,7 @@ account.6.enable_signal_encode = account.6.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.6.dtmf.dtmf_payload = @@ -1529,7 +1529,7 @@ account.7.enable_signal_encode = account.7.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.7.dtmf.type = +account.7.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.7.dtmf.dtmf_payload = @@ -1778,7 +1778,7 @@ account.8.enable_signal_encode = account.8.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.8.dtmf.type = +account.8.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.8.dtmf.dtmf_payload = From 93ec5aefb0bf3a8c0abb637c2ca455e81ad5c92c Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 14:05:16 -0400 Subject: [PATCH 0019/1657] Update {$mac}.cfg (#3252) --- resources/templates/provision/yealink/w56p/{$mac}.cfg | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/templates/provision/yealink/w56p/{$mac}.cfg b/resources/templates/provision/yealink/w56p/{$mac}.cfg index 35ec85a70f..1e494b71d2 100644 --- a/resources/templates/provision/yealink/w56p/{$mac}.cfg +++ b/resources/templates/provision/yealink/w56p/{$mac}.cfg @@ -144,7 +144,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -393,7 +393,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -642,7 +642,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -892,7 +892,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1142,7 +1142,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = From 6c5d24ce3b493f14710b6e93cdc914c2e28cc4c5 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 14:05:32 -0400 Subject: [PATCH 0020/1657] Update {$mac}.cfg (#3251) --- resources/templates/provision/yealink/w52p/{$mac}.cfg | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/templates/provision/yealink/w52p/{$mac}.cfg b/resources/templates/provision/yealink/w52p/{$mac}.cfg index 35ec85a70f..1e494b71d2 100644 --- a/resources/templates/provision/yealink/w52p/{$mac}.cfg +++ b/resources/templates/provision/yealink/w52p/{$mac}.cfg @@ -144,7 +144,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -393,7 +393,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -642,7 +642,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -892,7 +892,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1142,7 +1142,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = From 6725bf454dd5d02d42c3a7e75fe7540ef1c9dbaa Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 14:05:53 -0400 Subject: [PATCH 0021/1657] Update {$mac}.cfg (#3250) --- .../templates/provision/yealink/vp530/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/vp530/{$mac}.cfg b/resources/templates/provision/yealink/vp530/{$mac}.cfg index d0636fdb29..daf49cab98 100644 --- a/resources/templates/provision/yealink/vp530/{$mac}.cfg +++ b/resources/templates/provision/yealink/vp530/{$mac}.cfg @@ -322,7 +322,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -787,7 +787,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1296,7 +1296,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1787,7 +1787,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2278,7 +2278,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2768,7 +2768,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 4b02c885824153831fe9f4328776ae74adac1e05 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 14:09:48 -0400 Subject: [PATCH 0022/1657] Update {$mac}.cfg (#3255) --- .../templates/provision/yealink/t46g/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t46g/{$mac}.cfg b/resources/templates/provision/yealink/t46g/{$mac}.cfg index aa13ae4b26..942349fa3a 100755 --- a/resources/templates/provision/yealink/t46g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t46g/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1273,7 +1273,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1745,7 +1745,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2217,7 +2217,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2688,7 +2688,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 4ba54dfcff297ca52782fbcae8512e19d54bd515 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:37:39 -0400 Subject: [PATCH 0023/1657] Update {$mac}.cfg (#3276) --- .../templates/provision/yealink/cp920/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/cp920/{$mac}.cfg b/resources/templates/provision/yealink/cp920/{$mac}.cfg index 7ce700c7bb..15af9e4509 100644 --- a/resources/templates/provision/yealink/cp920/{$mac}.cfg +++ b/resources/templates/provision/yealink/cp920/{$mac}.cfg @@ -324,7 +324,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1302,7 +1302,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1796,7 +1796,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2288,7 +2288,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2779,7 +2779,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From c735fd4ec33344408af4c500b02188fe5ad5f6d3 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:37:55 -0400 Subject: [PATCH 0024/1657] Update {$mac}.cfg (#3273) --- .../templates/provision/yealink/t20p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t20p/{$mac}.cfg b/resources/templates/provision/yealink/t20p/{$mac}.cfg index 5930b93517..2f538fee70 100644 --- a/resources/templates/provision/yealink/t20p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t20p/{$mac}.cfg @@ -218,7 +218,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -541,7 +541,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -862,7 +862,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -1183,7 +1183,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1505,7 +1505,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = @@ -1824,7 +1824,7 @@ account.6.enable_signal_encode = account.6.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.6.dtmf.dtmf_payload = From 51ddbe860255c988e2ba81b00df09b96616d0e2d Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:38:22 -0400 Subject: [PATCH 0025/1657] Update {$mac}.cfg (#3277) --- .../templates/provision/yealink/cp860/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/cp860/{$mac}.cfg b/resources/templates/provision/yealink/cp860/{$mac}.cfg index 7ce700c7bb..15af9e4509 100644 --- a/resources/templates/provision/yealink/cp860/{$mac}.cfg +++ b/resources/templates/provision/yealink/cp860/{$mac}.cfg @@ -324,7 +324,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1302,7 +1302,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1796,7 +1796,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2288,7 +2288,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2779,7 +2779,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 8cb3af2ed4cbc6c209fa0326bdacaa70efab6c12 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:39:30 -0400 Subject: [PATCH 0026/1657] Update {$mac}.cfg (#3275) --- .../templates/provision/yealink/cp960/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/cp960/{$mac}.cfg b/resources/templates/provision/yealink/cp960/{$mac}.cfg index 7ce700c7bb..15af9e4509 100644 --- a/resources/templates/provision/yealink/cp960/{$mac}.cfg +++ b/resources/templates/provision/yealink/cp960/{$mac}.cfg @@ -324,7 +324,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1302,7 +1302,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1796,7 +1796,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2288,7 +2288,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2779,7 +2779,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From bcf86c980bdb326dc8f8b823164ea6364347c851 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:39:52 -0400 Subject: [PATCH 0027/1657] Update {$mac}.cfg (#3274) --- .../templates/provision/yealink/t19p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t19p/{$mac}.cfg b/resources/templates/provision/yealink/t19p/{$mac}.cfg index 5930b93517..2f538fee70 100644 --- a/resources/templates/provision/yealink/t19p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t19p/{$mac}.cfg @@ -218,7 +218,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -541,7 +541,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -862,7 +862,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -1183,7 +1183,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1505,7 +1505,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = @@ -1824,7 +1824,7 @@ account.6.enable_signal_encode = account.6.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.6.dtmf.dtmf_payload = From 04c9ef2e64fa7340215df03b550c10b3fc7daa89 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:40:56 -0400 Subject: [PATCH 0028/1657] Update {$mac}.cfg (#3272) --- .../templates/provision/yealink/t21p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t21p/{$mac}.cfg b/resources/templates/provision/yealink/t21p/{$mac}.cfg index c9563dd81a..aa37993598 100644 --- a/resources/templates/provision/yealink/t21p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t21p/{$mac}.cfg @@ -324,7 +324,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -790,7 +790,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1300,7 +1300,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1793,7 +1793,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2285,7 +2285,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2776,7 +2776,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 044194ba939b0936989a0217ba58620859fa19bd Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:41:13 -0400 Subject: [PATCH 0029/1657] Update {$mac}.cfg (#3271) --- .../templates/provision/yealink/t22p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t22p/{$mac}.cfg b/resources/templates/provision/yealink/t22p/{$mac}.cfg index 1d4996c01f..85754d038b 100644 --- a/resources/templates/provision/yealink/t22p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t22p/{$mac}.cfg @@ -219,7 +219,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -540,7 +540,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -861,7 +861,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -1183,7 +1183,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1505,7 +1505,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = @@ -1824,7 +1824,7 @@ account.6.enable_signal_encode = account.6.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.6.dtmf.dtmf_payload = From a22999078c0fcd1acc245688c3022174cd57484c Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:41:54 -0400 Subject: [PATCH 0030/1657] Update {$mac}.cfg (#3270) --- .../templates/provision/yealink/t23g/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t23g/{$mac}.cfg b/resources/templates/provision/yealink/t23g/{$mac}.cfg index 168345a432..327dfacff3 100644 --- a/resources/templates/provision/yealink/t23g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t23g/{$mac}.cfg @@ -322,7 +322,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -790,7 +790,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1272,7 +1272,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1744,7 +1744,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2216,7 +2216,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2687,7 +2687,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 10d8199946f965b22230bd540ba595945f49a26d Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:42:14 -0400 Subject: [PATCH 0031/1657] Update {$mac}.cfg (#3269) --- .../templates/provision/yealink/t23p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t23p/{$mac}.cfg b/resources/templates/provision/yealink/t23p/{$mac}.cfg index 3349670653..991d07d5d5 100644 --- a/resources/templates/provision/yealink/t23p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t23p/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1273,7 +1273,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1745,7 +1745,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2217,7 +2217,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2688,7 +2688,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From adaf267c1a0b5cba2e6923e0ced35c47d9630c56 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:42:31 -0400 Subject: [PATCH 0032/1657] Update {$mac}.cfg (#3268) --- .../templates/provision/yealink/t26p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t26p/{$mac}.cfg b/resources/templates/provision/yealink/t26p/{$mac}.cfg index 60a06ded46..e8cf1fcf81 100644 --- a/resources/templates/provision/yealink/t26p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t26p/{$mac}.cfg @@ -218,7 +218,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -540,7 +540,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -861,7 +861,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -1182,7 +1182,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1504,7 +1504,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = @@ -1823,7 +1823,7 @@ account.6.enable_signal_encode = account.6.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.6.dtmf.dtmf_payload = From c1ecc8a9fd84ca22d3be299ea6907685a28e1ebc Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:42:54 -0400 Subject: [PATCH 0033/1657] Update {$mac}.cfg (#3267) --- .../templates/provision/yealink/t27g/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t27g/{$mac}.cfg b/resources/templates/provision/yealink/t27g/{$mac}.cfg index 375975922d..2663455c20 100644 --- a/resources/templates/provision/yealink/t27g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t27g/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1273,7 +1273,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1745,7 +1745,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2217,7 +2217,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2688,7 +2688,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 5eea6d9ec06d7134656055f13b0eff01d1223d6c Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:43:16 -0400 Subject: [PATCH 0034/1657] Update {$mac}.cfg (#3266) --- .../templates/provision/yealink/t27p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t27p/{$mac}.cfg b/resources/templates/provision/yealink/t27p/{$mac}.cfg index aa13ae4b26..942349fa3a 100644 --- a/resources/templates/provision/yealink/t27p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t27p/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1273,7 +1273,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1745,7 +1745,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2217,7 +2217,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2688,7 +2688,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From f7ca515b8f05cdf572de1c290ca0b544cb41902b Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:44:20 -0400 Subject: [PATCH 0035/1657] Update {$mac}.cfg (#3265) --- .../templates/provision/yealink/t28p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t28p/{$mac}.cfg b/resources/templates/provision/yealink/t28p/{$mac}.cfg index e96938c454..4c41d80ed6 100644 --- a/resources/templates/provision/yealink/t28p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t28p/{$mac}.cfg @@ -219,7 +219,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -540,7 +540,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -862,7 +862,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -1183,7 +1183,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1505,7 +1505,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = @@ -1824,7 +1824,7 @@ account.6.enable_signal_encode = account.6.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.6.dtmf.dtmf_payload = From a8be011e57f648a01d04c2492967d45bfea6457e Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:44:41 -0400 Subject: [PATCH 0036/1657] Update {$mac}.cfg (#3264) --- .../templates/provision/yealink/t29g/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t29g/{$mac}.cfg b/resources/templates/provision/yealink/t29g/{$mac}.cfg index aa13ae4b26..942349fa3a 100644 --- a/resources/templates/provision/yealink/t29g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t29g/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1273,7 +1273,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1745,7 +1745,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2217,7 +2217,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2688,7 +2688,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From f4cdc9d98f2fa57667222ace3e1d3dbaa70cbf89 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:45:02 -0400 Subject: [PATCH 0037/1657] Update {$mac}.cfg (#3263) --- .../templates/provision/yealink/t32g/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t32g/{$mac}.cfg b/resources/templates/provision/yealink/t32g/{$mac}.cfg index df37c9efd9..ba36f8260b 100644 --- a/resources/templates/provision/yealink/t32g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t32g/{$mac}.cfg @@ -208,7 +208,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -521,7 +521,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -834,7 +834,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -1147,7 +1147,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1461,7 +1461,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = @@ -1772,7 +1772,7 @@ account.6.enable_signal_encode = account.6.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.6.dtmf.dtmf_payload = From 824b2f83dd0af439491cbbc86a1051342b35d093 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:45:18 -0400 Subject: [PATCH 0038/1657] Update {$mac}.cfg (#3262) --- .../templates/provision/yealink/t38g/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t38g/{$mac}.cfg b/resources/templates/provision/yealink/t38g/{$mac}.cfg index e65b71538d..e99362857c 100644 --- a/resources/templates/provision/yealink/t38g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t38g/{$mac}.cfg @@ -200,7 +200,7 @@ account.1.enable_signal_encode = account.1.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.1.dtmf.dtmf_payload = @@ -513,7 +513,7 @@ account.2.enable_signal_encode = account.2.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.2.dtmf.dtmf_payload = @@ -826,7 +826,7 @@ account.3.enable_signal_encode = account.3.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.3.dtmf.dtmf_payload = @@ -1139,7 +1139,7 @@ account.4.enable_signal_encode = account.4.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.4.dtmf.dtmf_payload = @@ -1453,7 +1453,7 @@ account.5.enable_signal_encode = account.5.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.5.dtmf.dtmf_payload = @@ -1764,7 +1764,7 @@ account.6.enable_signal_encode = account.6.signal_encode_key = #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the RFC2833 payload. It ranges from 96 to 225, the default value is 101. account.6.dtmf.dtmf_payload = From 5d6ee321f8adedc236c06b76271c71fb390399d3 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 15:45:46 -0400 Subject: [PATCH 0039/1657] Update {$mac}.cfg (#3261) --- .../templates/provision/yealink/t40g/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t40g/{$mac}.cfg b/resources/templates/provision/yealink/t40g/{$mac}.cfg index bf34dffaaf..120771224f 100644 --- a/resources/templates/provision/yealink/t40g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t40g/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -788,7 +788,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1297,7 +1297,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1788,7 +1788,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2279,7 +2279,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2769,7 +2769,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From cf6bcda5f99ca5c9b085c162eedde5b5d0b9661b Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:52:29 -0400 Subject: [PATCH 0040/1657] Update {$mac}.cfg (#3260) --- .../templates/provision/yealink/t40p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t40p/{$mac}.cfg b/resources/templates/provision/yealink/t40p/{$mac}.cfg index bf34dffaaf..120771224f 100644 --- a/resources/templates/provision/yealink/t40p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t40p/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -788,7 +788,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1297,7 +1297,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1788,7 +1788,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2279,7 +2279,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2769,7 +2769,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 6d966ea31f4b0cc497f97f90770ad6d4439a4d43 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:52:44 -0400 Subject: [PATCH 0041/1657] Update {$mac}.cfg (#3259) --- .../templates/provision/yealink/t41p/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t41p/{$mac}.cfg b/resources/templates/provision/yealink/t41p/{$mac}.cfg index 71f0577766..67692c15cc 100644 --- a/resources/templates/provision/yealink/t41p/{$mac}.cfg +++ b/resources/templates/provision/yealink/t41p/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -788,7 +788,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1297,7 +1297,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1788,7 +1788,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2279,7 +2279,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2769,7 +2769,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 42a5807ae2b54caf635d00c75828649df0cff2c8 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:53:30 -0400 Subject: [PATCH 0042/1657] Update {$mac}.cfg (#3258) --- .../templates/provision/yealink/t41s/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t41s/{$mac}.cfg b/resources/templates/provision/yealink/t41s/{$mac}.cfg index bf34dffaaf..120771224f 100644 --- a/resources/templates/provision/yealink/t41s/{$mac}.cfg +++ b/resources/templates/provision/yealink/t41s/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -788,7 +788,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1297,7 +1297,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1788,7 +1788,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2279,7 +2279,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2769,7 +2769,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From c17cb6a35dab5c5351b6cd9f967ae07058f61fc3 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:55:13 -0400 Subject: [PATCH 0043/1657] Update {$mac}.cfg (#3257) --- .../templates/provision/yealink/t42g/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t42g/{$mac}.cfg b/resources/templates/provision/yealink/t42g/{$mac}.cfg index aa13ae4b26..942349fa3a 100644 --- a/resources/templates/provision/yealink/t42g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t42g/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1273,7 +1273,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1745,7 +1745,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2217,7 +2217,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2688,7 +2688,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 7562f151f8b60f316f5648d9b02d1493d5bbc4de Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:55:38 -0400 Subject: [PATCH 0044/1657] Update {$mac}.cfg (#3256) --- .../templates/provision/yealink/t42s/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t42s/{$mac}.cfg b/resources/templates/provision/yealink/t42s/{$mac}.cfg index 71f0577766..67692c15cc 100644 --- a/resources/templates/provision/yealink/t42s/{$mac}.cfg +++ b/resources/templates/provision/yealink/t42s/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -788,7 +788,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1297,7 +1297,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1788,7 +1788,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2279,7 +2279,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2769,7 +2769,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 1b5b8fe5a6936fec84c4bc75025cf2624461e411 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:55:57 -0400 Subject: [PATCH 0045/1657] Update {$mac}.cfg (#3254) --- .../templates/provision/yealink/t46s/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t46s/{$mac}.cfg b/resources/templates/provision/yealink/t46s/{$mac}.cfg index d8fec32800..f5c425caee 100644 --- a/resources/templates/provision/yealink/t46s/{$mac}.cfg +++ b/resources/templates/provision/yealink/t46s/{$mac}.cfg @@ -328,7 +328,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -800,7 +800,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1287,7 +1287,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1759,7 +1759,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2231,7 +2231,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2702,7 +2702,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From df826413ee94677936c74742dd7481af7a192d67 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:56:24 -0400 Subject: [PATCH 0046/1657] Update {$mac}.cfg (#3249) --- .../templates/provision/yealink/t58v/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t58v/{$mac}.cfg b/resources/templates/provision/yealink/t58v/{$mac}.cfg index c066a63fb4..a37ff34e77 100644 --- a/resources/templates/provision/yealink/t58v/{$mac}.cfg +++ b/resources/templates/provision/yealink/t58v/{$mac}.cfg @@ -354,7 +354,7 @@ account.1.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} account.1.dtmf.info_type = account.1.dtmf.dtmf_payload = @@ -818,7 +818,7 @@ account.2.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} account.2.dtmf.info_type = account.2.dtmf.dtmf_payload = @@ -1278,7 +1278,7 @@ account.3.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} account.3.dtmf.info_type = account.3.dtmf.dtmf_payload = @@ -1742,7 +1742,7 @@ account.4.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} account.4.dtmf.info_type = account.4.dtmf.dtmf_payload = @@ -2209,7 +2209,7 @@ account.5.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} account.5.dtmf.info_type = account.5.dtmf.dtmf_payload = @@ -2679,7 +2679,7 @@ account.6.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} account.6.dtmf.info_type = account.6.dtmf.dtmf_payload = From 57cb538231e729c7ffa5b37a8d3aecd7097a7da5 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:56:43 -0400 Subject: [PATCH 0047/1657] Update {$mac}.cfg (#3248) --- .../templates/provision/yealink/t56a/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t56a/{$mac}.cfg b/resources/templates/provision/yealink/t56a/{$mac}.cfg index 6793d7cfdd..e266745f49 100644 --- a/resources/templates/provision/yealink/t56a/{$mac}.cfg +++ b/resources/templates/provision/yealink/t56a/{$mac}.cfg @@ -354,7 +354,7 @@ account.1.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} account.1.dtmf.info_type = account.1.dtmf.dtmf_payload = @@ -818,7 +818,7 @@ account.2.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} account.2.dtmf.info_type = account.2.dtmf.dtmf_payload = @@ -1278,7 +1278,7 @@ account.3.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} account.3.dtmf.info_type = account.3.dtmf.dtmf_payload = @@ -1742,7 +1742,7 @@ account.4.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} account.4.dtmf.info_type = account.4.dtmf.dtmf_payload = @@ -2209,7 +2209,7 @@ account.5.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} account.5.dtmf.info_type = account.5.dtmf.dtmf_payload = @@ -2679,7 +2679,7 @@ account.6.direct_pickup_code = ####################################################################################### ## DTMF ## ####################################################################################### -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} account.6.dtmf.info_type = account.6.dtmf.dtmf_payload = From ac75c0e07364b75980c8c92aae0ec98e9e5d705b Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:57:25 -0400 Subject: [PATCH 0048/1657] Update {$mac}.cfg (#3247) --- resources/templates/provision/yealink/t54s/{$mac}.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/templates/provision/yealink/t54s/{$mac}.cfg b/resources/templates/provision/yealink/t54s/{$mac}.cfg index efdacf4c00..8a52b18e34 100644 --- a/resources/templates/provision/yealink/t54s/{$mac}.cfg +++ b/resources/templates/provision/yealink/t54s/{$mac}.cfg @@ -335,7 +335,7 @@ account.1.nat.udp_update_enable= 3 account.1.nat.udp_update_time= 30 account.1.nat.rport= {$yealink_rport} -account.1.dtmf.type= +account.1.dtmf.type= {$yealink_dtmf_type} account.1.dtmf.info_type= account.1.dtmf.dtmf_payload= account.1.100rel_enable= {$yealink_retransmission} @@ -361,7 +361,7 @@ account.2.nat.udp_update_enable= 3 account.2.nat.udp_update_time= 30 account.2.nat.rport= {$yealink_rport} -account.2.dtmf.type= +account.2.dtmf.type= {$yealink_dtmf_type} account.2.dtmf.info_type= account.2.dtmf.dtmf_payload= account.2.100rel_enable= {$yealink_retransmission} From a30eb77b3abf5a1fcc6e2018a595526ffaea6fc3 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:58:03 -0400 Subject: [PATCH 0049/1657] Update {$mac}.cfg (#3246) --- resources/templates/provision/yealink/t52s/{$mac}.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/templates/provision/yealink/t52s/{$mac}.cfg b/resources/templates/provision/yealink/t52s/{$mac}.cfg index efdacf4c00..8a52b18e34 100644 --- a/resources/templates/provision/yealink/t52s/{$mac}.cfg +++ b/resources/templates/provision/yealink/t52s/{$mac}.cfg @@ -335,7 +335,7 @@ account.1.nat.udp_update_enable= 3 account.1.nat.udp_update_time= 30 account.1.nat.rport= {$yealink_rport} -account.1.dtmf.type= +account.1.dtmf.type= {$yealink_dtmf_type} account.1.dtmf.info_type= account.1.dtmf.dtmf_payload= account.1.100rel_enable= {$yealink_retransmission} @@ -361,7 +361,7 @@ account.2.nat.udp_update_enable= 3 account.2.nat.udp_update_time= 30 account.2.nat.rport= {$yealink_rport} -account.2.dtmf.type= +account.2.dtmf.type= {$yealink_dtmf_type} account.2.dtmf.info_type= account.2.dtmf.dtmf_payload= account.2.100rel_enable= {$yealink_retransmission} From 685f73ada9add7d8b3be67017f2735fdb27c4db3 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:58:23 -0400 Subject: [PATCH 0050/1657] Update {$mac}.cfg (#3245) --- .../templates/provision/yealink/t49g/{$mac}.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/templates/provision/yealink/t49g/{$mac}.cfg b/resources/templates/provision/yealink/t49g/{$mac}.cfg index 71f0577766..67692c15cc 100644 --- a/resources/templates/provision/yealink/t49g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t49g/{$mac}.cfg @@ -323,7 +323,7 @@ account.1.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.1.dtmf.type = +account.1.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.1.dtmf.info_type = @@ -788,7 +788,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1297,7 +1297,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1788,7 +1788,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2279,7 +2279,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2769,7 +2769,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From ffdc4c73b36b88148422058aca96c9c5b4a43c6e Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 16:58:37 -0400 Subject: [PATCH 0051/1657] Update {$mac}.cfg (#3244) --- resources/templates/provision/yealink/t48s/{$mac}.cfg | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/templates/provision/yealink/t48s/{$mac}.cfg b/resources/templates/provision/yealink/t48s/{$mac}.cfg index fa7f30fb90..3c1ac62fa8 100644 --- a/resources/templates/provision/yealink/t48s/{$mac}.cfg +++ b/resources/templates/provision/yealink/t48s/{$mac}.cfg @@ -796,7 +796,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1310,7 +1310,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1801,7 +1801,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2292,7 +2292,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2782,7 +2782,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From 5973b861bde83ffec4db961e7b700b71c2a26bf0 Mon Sep 17 00:00:00 2001 From: Len Date: Tue, 17 Jul 2018 17:01:38 -0400 Subject: [PATCH 0052/1657] Update {$mac}.cfg (#3243) --- resources/templates/provision/yealink/t48g/{$mac}.cfg | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/templates/provision/yealink/t48g/{$mac}.cfg b/resources/templates/provision/yealink/t48g/{$mac}.cfg index aeaa8d6832..942349fa3a 100644 --- a/resources/templates/provision/yealink/t48g/{$mac}.cfg +++ b/resources/templates/provision/yealink/t48g/{$mac}.cfg @@ -791,7 +791,7 @@ account.2.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.2.dtmf.type = +account.2.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.2.dtmf.info_type = @@ -1273,7 +1273,7 @@ account.3.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.3.dtmf.type = +account.3.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.3.dtmf.info_type = @@ -1745,7 +1745,7 @@ account.4.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.4.dtmf.type = +account.4.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.4.dtmf.info_type = @@ -2217,7 +2217,7 @@ account.5.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.5.dtmf.type = +account.5.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.5.dtmf.info_type = @@ -2688,7 +2688,7 @@ account.56.direct_pickup_code = ## DTMF ## ####################################################################################### #Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO; -account.6.dtmf.type = +account.6.dtmf.type = {$yealink_dtmf_type} #Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event; account.6.dtmf.info_type = From cc38daece41e135bf1bc9a70391e34a5a292687f Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 17 Jul 2018 23:41:10 -0600 Subject: [PATCH 0053/1657] Update {$mac}.xml --- .../provision/grandstream/gxp2170/{$mac}.xml | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/resources/templates/provision/grandstream/gxp2170/{$mac}.xml b/resources/templates/provision/grandstream/gxp2170/{$mac}.xml index 56983d5047..7c0b5833c5 100644 --- a/resources/templates/provision/grandstream/gxp2170/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp2170/{$mac}.xml @@ -666,7 +666,7 @@ -0 +1 @@ -690,7 +690,7 @@ -ring + @@ -5271,7 +5271,7 @@ {if isset($grandstream_pc_port_vlan) } {$grandstream_pc_port_vlan} {else} -0 +1 {/if} @@ -6614,7 +6614,7 @@ 0 - + 0 @@ -6634,8 +6634,8 @@ - - + + @@ -7093,7 +7093,7 @@ 1 {/if} - + {if isset($grandstream_screensaver_source)} @@ -7207,14 +7207,12 @@ - - + - - + @@ -7265,7 +7263,7 @@ -{if isset ($grandstream_temp_unit)} +{if isset ($grandstream_temp_unit)} {$grandstream_temp_unit} {else} auto @@ -7425,7 +7423,7 @@ {$pid=$mem*3-3} {if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.memory.$mem.device_key_type|in_array:$key_types} - + @@ -7613,7 +7611,7 @@ - + From 5e58090fe8d546a5b64624329ed0b951ce152e5f Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 18 Jul 2018 16:59:21 -0600 Subject: [PATCH 0054/1657] Update app_config.php --- app/call_centers/app_config.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/call_centers/app_config.php b/app/call_centers/app_config.php index ef9d8bf23c..ff555c754c 100644 --- a/app/call_centers/app_config.php +++ b/app/call_centers/app_config.php @@ -288,6 +288,10 @@ $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = "queue_greeting"; + $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Select the greeting."; + $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "queue_strategy"; $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; From 733fb7f9691dd9893ee69efce301619e229479a3 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 18 Jul 2018 17:05:11 -0600 Subject: [PATCH 0055/1657] Update call_center_queue_edit.php --- app/call_centers/call_center_queue_edit.php | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/app/call_centers/call_center_queue_edit.php b/app/call_centers/call_center_queue_edit.php index d3e827866a..e493662580 100644 --- a/app/call_centers/call_center_queue_edit.php +++ b/app/call_centers/call_center_queue_edit.php @@ -79,6 +79,7 @@ $dialplan_uuid = check_str($_POST["dialplan_uuid"]); $queue_name = check_str($_POST["queue_name"]); $queue_extension = check_str($_POST["queue_extension"]); + $queue_greeting = check_str($_POST["queue_greeting"]); $queue_strategy = check_str($_POST["queue_strategy"]); $queue_moh_sound = check_str($_POST["queue_moh_sound"]); $queue_record_template = check_str($_POST["queue_record_template"]); @@ -363,6 +364,7 @@ $dialplan_uuid = $row["dialplan_uuid"]; $database_queue_name = $row["queue_name"]; $queue_extension = $row["queue_extension"]; + $queue_greeting = $row["queue_greeting"]; $queue_strategy = $row["queue_strategy"]; $queue_moh_sound = $row["queue_moh_sound"]; $queue_record_template = $row["queue_record_template"]; @@ -500,6 +502,39 @@ echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -172,7 +172,7 @@ echo " ".$text['label-bridge_destination']."\n"; echo "\n"; echo "\n"; @@ -205,7 +205,7 @@ echo " \n"; echo " \n"; echo " "; From d50659fa042a5ebe33a244a4dc0323118bc3a3d4 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 30 Jul 2018 11:23:46 -0600 Subject: [PATCH 0068/1657] Update extension_edit.php --- app/extensions/extension_edit.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index d4b666bb60..d24a3bcd0a 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -338,7 +338,9 @@ } $array["extensions"][$i]["call_group"] = $call_group; $array["extensions"][$i]["call_screen_enabled"] = $call_screen_enabled; - $array["extensions"][$i]["user_record"] = $user_record; + if (permission_exists('extension_user_record')) { + $array["extensions"][$i]["user_record"] = $user_record; + } $array["extensions"][$i]["hold_music"] = $hold_music; $array["extensions"][$i]["auth_acl"] = $auth_acl; $array["extensions"][$i]["cidr"] = $cidr; From d111f29f2d3cc60ea60b0c5f8cf209683cc3dd1d Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 1 Aug 2018 22:44:03 -0600 Subject: [PATCH 0069/1657] Update index.lua --- .../install/scripts/app/ring_groups/index.lua | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/resources/install/scripts/app/ring_groups/index.lua b/resources/install/scripts/app/ring_groups/index.lua index 932703170d..5a28656d62 100644 --- a/resources/install/scripts/app/ring_groups/index.lua +++ b/resources/install/scripts/app/ring_groups/index.lua @@ -684,20 +684,25 @@ --find destination route if (tonumber(destination_number) == nil) then --user define direct destination like `[key=value]sofia/gateway/carrier/123456` - local variables, destination = string.match(destination_number, "^%[(.-)%](.+)$") - if not variables then - destination = destination_number - else - for action in split_vars_pairs(variables) do - route[#route + 1] = action - end + local variables, destination = string.match(destination_number, "^%[(.-)%](.+)$") + if not variables then + destination = destination_number + else + for action in split_vars_pairs(variables) do + route[#route + 1] = action end - route = route_to_bridge.apply_vars(route, params) - route.bridge = destination + end + route = route_to_bridge.apply_vars(route, params) + route.bridge = destination else + if (user_exists == "true") then + route.bridge = 'user/'..destination_number..'@'..domain_name; + else + route.bridge = 'loopback/'..destination_number; + end --user define external number as destination - route = route_to_bridge.apply_vars(route, params) - route = route_to_bridge(dialplans, domain_uuid, params, route) + --route = route_to_bridge.apply_vars(route, params) + --route = route_to_bridge(dialplans, domain_uuid, params, route) end --build the dial string From 53f39d56644bd972a0b791b8d56a634ad925f190 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 2 Aug 2018 01:12:31 -0600 Subject: [PATCH 0070/1657] Update contact_edit.php --- app/contacts/contact_edit.php | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/app/contacts/contact_edit.php b/app/contacts/contact_edit.php index 79f76c4221..d1f2b1b9cd 100644 --- a/app/contacts/contact_edit.php +++ b/app/contacts/contact_edit.php @@ -23,16 +23,20 @@ Contributor(s): Mark J Crane */ -require_once "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('contact_view')) { - //access granted -} -else { - echo "access denied"; - exit; -} + +//includes + require_once "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; + +//check permissions + if (permission_exists('contact_view')) { + //access granted + } + else { + echo "access denied"; + exit; + } //add multi-lingual support $language = new text; @@ -407,7 +411,7 @@ else { echo " \n"; } if ($action == "update" && is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/invoices')) { - echo " \n"; + echo " \n"; } if ($action == "update" && is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/certificates')) { echo " \n"; From bae853b8e37aafb90513136dc773cfcadc41dd67 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 2 Aug 2018 01:57:28 -0600 Subject: [PATCH 0071/1657] Update device_edit.php --- app/devices/device_edit.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index d166083966..4be655cefa 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -632,8 +632,8 @@ $xml .= ""; $xml .= ""; $xml .= "".$row['server_address'].""; - $xml .= "".$row['outbound_proxy_primary'].""; - $xml .= "".$row['outbound_proxy_secondary'].""; + $xml .= "".$row['outbound_proxy_primary'].":".$row['sip_port'].""; + $xml .= "".$row['outbound_proxy_secondary'].":".$row['sip_port'].""; $xml .= "".$row['user_id'].""; $xml .= "".$row['auth_id'].""; $xml .= "".$row['password'].""; From b928053b714d3be875ac50f471bb9ea221be737f Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 2 Aug 2018 02:28:01 -0600 Subject: [PATCH 0072/1657] Update device_edit.php --- app/devices/device_edit.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index 4be655cefa..5d8e05cc08 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -626,14 +626,25 @@ $mode = '4'; } - //build the xml + //get the device line settings $row = $device_lines[0]; + + //set the outbound proxy settings + if (strlen($row['outbound_proxy_primary']) == 0) { + $outbound_proxy_primary = $row['server_address']; + } + else { + $outbound_proxy_primary = $row['outbound_proxy_primary']; + } + $outbound_proxy_secondary = $row['outbound_proxy_secondary']; + + //build the xml $xml = ""; $xml .= ""; $xml .= ""; $xml .= "".$row['server_address'].""; - $xml .= "".$row['outbound_proxy_primary'].":".$row['sip_port'].""; - $xml .= "".$row['outbound_proxy_secondary'].":".$row['sip_port'].""; + $xml .= "".$outbound_proxy_primary.":".$row['sip_port'].""; + $xml .= "".$outbound_proxy_secondary.":".$row['sip_port'].""; $xml .= "".$row['user_id'].""; $xml .= "".$row['auth_id'].""; $xml .= "".$row['password'].""; From e44289646c2b1495b6728b54834875ef28c063e3 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Fri, 3 Aug 2018 11:21:16 -0600 Subject: [PATCH 0073/1657] Update dialplan.lua --- .../app/xml_handler/resources/scripts/dialplan/dialplan.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua b/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua index f0a2e3be74..eb33463ced 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua @@ -121,7 +121,7 @@ end else sql = "select dialplan_xml from v_dialplans as p "; - if (context_name == "public") then + if (context_name == "public" or string.match(context_name, "@")) then sql = sql .. "where p.dialplan_context = :call_context "; else sql = sql .. "where (p.dialplan_context = :call_context or p.dialplan_context = '${domain_name}') "; From f3467094509f6e2686e9173ac4f7aa8f69c2123a Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 6 Aug 2018 12:18:22 -0600 Subject: [PATCH 0074/1657] Update confirm.lua --- resources/install/scripts/confirm.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/install/scripts/confirm.lua b/resources/install/scripts/confirm.lua index 82548fc66d..27cdb385d4 100644 --- a/resources/install/scripts/confirm.lua +++ b/resources/install/scripts/confirm.lua @@ -66,8 +66,8 @@ --if the screen file is found then set confirm to true if (domain_name ~= nil) then - call_screen_file = temp_dir .. "/" .. domain_name .. "-" .. caller_id_number .. "." .. record_ext; - if (file_exists(call_screen_file)) then + if (file_exists(temp_dir .. "/" .. domain_name .. "-" .. caller_id_number .. "." .. record_ext)) then + call_screen_file = temp_dir .. "/" .. domain_name .. "-" .. caller_id_number .. "." .. record_ext; confirm = "true"; end end @@ -81,7 +81,7 @@ min_digits = 1; max_digits = 1; digit = ''; - if (file_exists(call_screen_file)) then + if (call_screen_file ~= nil) then max_tries = "1"; digit = session:playAndGetDigits(min_digits, max_digits, max_tries, "500", "#", call_screen_file:gsub("\\","/"), "", "\\d+"); end From 440fedcb5fdcd419a43fb5955b401aad8683bd31 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Wed, 8 Aug 2018 14:27:48 +0000 Subject: [PATCH 0075/1657] Add Grandstream Wave --- app/gswave/app_config.php | 31 +++ app/gswave/app_languages.php | 63 ++++++ app/gswave/app_menu.php | 28 +++ app/gswave/index.php | 179 ++++++++++++++++++ .../resources/images/apple_app_store.png | Bin 0 -> 35478 bytes app/gswave/resources/images/google_play.png | Bin 0 -> 13957 bytes app/gswave/root.php | 90 +++++++++ 7 files changed, 391 insertions(+) create mode 100644 app/gswave/app_config.php create mode 100644 app/gswave/app_languages.php create mode 100644 app/gswave/app_menu.php create mode 100644 app/gswave/index.php create mode 100644 app/gswave/resources/images/apple_app_store.png create mode 100644 app/gswave/resources/images/google_play.png create mode 100644 app/gswave/root.php diff --git a/app/gswave/app_config.php b/app/gswave/app_config.php new file mode 100644 index 0000000000..078856850f --- /dev/null +++ b/app/gswave/app_config.php @@ -0,0 +1,31 @@ + diff --git a/app/gswave/app_languages.php b/app/gswave/app_languages.php new file mode 100644 index 0000000000..a1654d9041 --- /dev/null +++ b/app/gswave/app_languages.php @@ -0,0 +1,63 @@ + \ No newline at end of file diff --git a/app/gswave/app_menu.php b/app/gswave/app_menu.php new file mode 100644 index 0000000000..a4d5490d3d --- /dev/null +++ b/app/gswave/app_menu.php @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/app/gswave/index.php b/app/gswave/index.php new file mode 100644 index 0000000000..05e036fa97 --- /dev/null +++ b/app/gswave/index.php @@ -0,0 +1,179 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2012 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ + +//includes + require_once "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; + +//check permissions + if (permission_exists('extension_edit')) { + //access granted + } + else { + echo "access denied"; + exit; + } + +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//verify the id is as uuid then set as a variable + if (is_uuid($_GET['id'])) { + $extension_uuid = $_GET['id']; + } + +//get the extensions + $sql = "select * from v_extensions "; + $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $sql .= "and enabled = 'true' "; + $sql .= "order by extension asc "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $extensions = $prep_statement->fetchAll(PDO::FETCH_NAMED); + unset ($prep_statement, $sql); + +//get the extension + if (is_uuid($_GET['id'])) { + $sql = "select * from v_extensions "; + $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $sql .= "and extension_uuid = '".$extension_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $extension = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $field = $extension[0]; + unset ($prep_statement, $sql); + } + +//get the username + $username = $field['extension']; + if (isset($row['number_alias']) && strlen($row['number_alias']) > 0) { + $username = $field['number_alias']; + } + +//build the xml + if (is_uuid($_GET['id'])) { + $xml = ""; + $xml .= ""; + $xml .= ""; + $xml .= "".$_SESSION['domain_name'].""; + //$xml .= "".$_SESSION['domain_name'].""; + //$xml .= "".$_SESSION['domain_name'].""; + $xml .= "".$_SESSION['domain_name'].":".$_SESSION['provision']['line_sip_port']['numeric'].""; + $xml .= "".$_SESSION['domain_name'].":".$_SESSION['provision']['line_sip_port']['numeric'].""; + $xml .= "".$username.""; + $xml .= "".$username.""; + $xml .= "".$field['password'].""; + $xml .= "".$username.""; + $xml .= "".$username.""; + $xml .= "{x+|*x+|*++}"; + $xml .= "0"; + $xml .= "*97"; + $xml .= ""; + $xml .= ""; + } + +//debian + //apt install qrencode + +//additional includes + require_once "resources/header.php"; + +//show the content + echo "
"; if (permission_exists('contact_time_edit')) { if ($row['user_uuid'] == $_SESSION["user"]["user_uuid"]) { - echo "".$v_link_label_edit.""; + echo "".$v_link_label_edit.""; } else { echo "".str_replace("list_control_icon", "list_control_icon_disabled", $v_link_label_edit).""; From 5d0f6f3d97c1992424c9b4585a1ec8ec7187bbd3 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 12 Jul 2018 08:29:27 -0600 Subject: [PATCH 0005/1657] Update destination_edit.php --- app/destinations/destination_edit.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/destinations/destination_edit.php b/app/destinations/destination_edit.php index c21f403e71..8ba2d2f9e4 100644 --- a/app/destinations/destination_edit.php +++ b/app/destinations/destination_edit.php @@ -865,7 +865,7 @@ echo "
\n"; echo " ".$text['label-destination_caller_id_name']."\n"; @@ -876,7 +876,9 @@ echo $text['description-destination_caller_id_name']."\n"; echo "
\n"; echo " ".$text['label-destination_caller_id_number']."\n"; From 3bdaee340b01b0c73148602fe4f6da41ae8099ab Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 12 Jul 2018 08:47:47 -0600 Subject: [PATCH 0006/1657] Update app_config.php --- app/destinations/app_config.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/destinations/app_config.php b/app/destinations/app_config.php index f4c72f180e..3d6d8427a6 100644 --- a/app/destinations/app_config.php +++ b/app/destinations/app_config.php @@ -81,6 +81,12 @@ $y++; $apps[$x]['permissions'][$y]['name'] = "destination_fax"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; + $y++; + $apps[$x]['permissions'][$y]['name'] = "destination_caller_id_name"; + $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; + $y++; + $apps[$x]['permissions'][$y]['name'] = "destination_caller_id_number"; + $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; //default settings $y = 0; From 0a5bd19a2d3a42c66834135cc150e6da9411054c Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 12 Jul 2018 20:58:18 -0600 Subject: [PATCH 0007/1657] Update calls.php --- app/calls/calls.php | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/app/calls/calls.php b/app/calls/calls.php index 670eb2b7a2..93d3cc094e 100644 --- a/app/calls/calls.php +++ b/app/calls/calls.php @@ -167,10 +167,8 @@ if (permission_exists('call_forward')) { echo "".$text['label-call-forward']."".$text['label-follow-me']."".$text['label-dnd']." ".$text['label-description']." 
".escape($row['extension'])."".(($row['forward_all_enabled'] == 'true') ? escape(format_phone($row['forward_all_destination'])) : ' ')."".(($row['forward_all_enabled'] == 'true') ? escape(format_phone($row['forward_all_destination'])) : ' ')."".(($follow_me_enabled) ? $text['label-enabled']." (".$follow_me_destination_count.")" : ' ')."".(($follow_me_enabled) ? $text['label-enabled']." (".$follow_me_destination_count.")" : ' ')."".(($row['do_not_disturb'] == 'true') ? $text['label-enabled'] : ' ')."".(($row['do_not_disturb'] == 'true') ? $text['label-enabled'] : ' ')."".escape($row['description'])." ".$v_link_label_edit."
\n"; + echo " ".$text['label-greeting']."\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo $text['description-greeting']."\n"; + echo "
\n"; echo " ".$text['label-strategy']."\n"; From ebc0a441ae3be5af8233ae54912a64a0a56310ff Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 18 Jul 2018 17:08:25 -0600 Subject: [PATCH 0056/1657] Update call_center_queue_edit.php --- app/call_centers/call_center_queue_edit.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/call_centers/call_center_queue_edit.php b/app/call_centers/call_center_queue_edit.php index e493662580..9cb9e4e3e0 100644 --- a/app/call_centers/call_center_queue_edit.php +++ b/app/call_centers/call_center_queue_edit.php @@ -427,6 +427,10 @@ $prep_statement->execute(); $agents = $prep_statement->fetchAll(PDO::FETCH_NAMED); +//get the sounds + $sounds = new sounds; + $sounds = $sounds->get(); + //set default values if (strlen($queue_strategy) == 0) { $queue_strategy = "longest-idle-agent"; } if (strlen($queue_moh_sound) == 0) { $queue_moh_sound = "\$\${hold_music}"; } From 79a34bdef0f208e70ba1533b47bb8605914f567c Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 18 Jul 2018 17:26:18 -0600 Subject: [PATCH 0057/1657] Update call_center.php --- .../resources/classes/call_center.php | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/app/call_centers/resources/classes/call_center.php b/app/call_centers/resources/classes/call_center.php index 2ad6426479..d067dbcdaf 100644 --- a/app/call_centers/resources/classes/call_center.php +++ b/app/call_centers/resources/classes/call_center.php @@ -144,16 +144,26 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $y * 10; $y++; } - - if (strlen($this->queue_cc_exit_keys) > 0) { - $dialplan["dialplan_details"][$y]["domain_uuid"] = $this->domain_uuid; - $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; - $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; - $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "cc_exit_keys=".$this->queue_cc_exit_keys; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = "2"; - $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $y * 10; - $y++; - } + + if (strlen($this->queue_greeting) > 0) { + $dialplan["dialplan_details"][$y]["domain_uuid"] = $this->domain_uuid; + $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "playback"; + $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "".$this->queue_greeting; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = "2"; + $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $y * 10; + $y++; + } + + if (strlen($this->queue_cc_exit_keys) > 0) { + $dialplan["dialplan_details"][$y]["domain_uuid"] = $this->domain_uuid; + $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; + $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "cc_exit_keys=".$this->queue_cc_exit_keys; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = "2"; + $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $y * 10; + $y++; + } $dialplan["dialplan_details"][$y]["domain_uuid"] = $this->domain_uuid; $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; From 6773177c2412df895e3ba954f07e8297ed801476 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 18 Jul 2018 17:39:43 -0600 Subject: [PATCH 0058/1657] Update call_center_queue_edit.php --- app/call_centers/call_center_queue_edit.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/call_centers/call_center_queue_edit.php b/app/call_centers/call_center_queue_edit.php index 9cb9e4e3e0..7fe2366c8f 100644 --- a/app/call_centers/call_center_queue_edit.php +++ b/app/call_centers/call_center_queue_edit.php @@ -232,6 +232,7 @@ $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; if (strlen($queue_cid_prefix) > 0) { $dialplan_xml .= " \n"; } From b33eae98bfda227a908a0299169f83528c15977a Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 18 Jul 2018 19:06:32 -0600 Subject: [PATCH 0059/1657] Update call_center_queue_edit.php --- app/call_centers/call_center_queue_edit.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/call_centers/call_center_queue_edit.php b/app/call_centers/call_center_queue_edit.php index 7fe2366c8f..413d06fce9 100644 --- a/app/call_centers/call_center_queue_edit.php +++ b/app/call_centers/call_center_queue_edit.php @@ -224,6 +224,14 @@ unset($action_array[0]); $queue_timeout_data = implode($action_array); + //add the recording path if needed + if (file_exists($_SESSION['switch']['recordings']['dir'].'/'.$_SESSION['domain_name'].'/'.$queue_greeting)) { + $queue_greeting_path = $_SESSION['switch']['recordings']['dir'].'/'.$_SESSION['domain_name'].'/'.$queue_greeting; + } + else { + $queue_greeting_path = $queue_greeting; + } + //build the xml dialplan $dialplan_xml = "\n"; $dialplan_xml .= " \n"; @@ -232,7 +240,7 @@ $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; if (strlen($queue_cid_prefix) > 0) { $dialplan_xml .= " \n"; } From 04e97d949335812d5b514643cf59303b026a7865 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sun, 22 Jul 2018 10:32:20 -0600 Subject: [PATCH 0060/1657] Update gateway_copy.php --- app/gateways/gateway_copy.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/gateways/gateway_copy.php b/app/gateways/gateway_copy.php index 8edcd47755..f3f53fbfe8 100644 --- a/app/gateways/gateway_copy.php +++ b/app/gateways/gateway_copy.php @@ -55,6 +55,7 @@ $prep_statement->execute(); $gateways = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($gateways as &$row) { + $domain_uuid = $row["domain_uuid"]; $gateway = $row["gateway"]; $username = $row["username"]; $password = $row["password"]; From 31c72b4cd14d99e1c771c6d773e78bafb90babbc Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sun, 22 Jul 2018 10:37:48 -0600 Subject: [PATCH 0061/1657] Update gateway_copy.php --- app/gateways/gateway_copy.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/gateways/gateway_copy.php b/app/gateways/gateway_copy.php index f3f53fbfe8..f43531587a 100644 --- a/app/gateways/gateway_copy.php +++ b/app/gateways/gateway_copy.php @@ -128,7 +128,7 @@ $sql .= ")"; $sql .= "values "; $sql .= "("; - if (strlen($domain_uuid) == 0) { + if (strlen($domain_uuid) > 0) { $sql .= "'$domain_uuid', "; } else { From 471572658ab4c568b3b22a4e4d254a349451644b Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 24 Jul 2018 16:21:32 -0500 Subject: [PATCH 0062/1657] Update gateway_edit.php --- app/gateways/gateway_edit.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/app/gateways/gateway_edit.php b/app/gateways/gateway_edit.php index d10f6c593e..b109ff50b3 100644 --- a/app/gateways/gateway_edit.php +++ b/app/gateways/gateway_edit.php @@ -245,13 +245,9 @@ //syncrhonize configuration save_gateway_xml(); - //delete the sip profiles from memcache - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - if ($fp) { - $hostname = trim(event_socket_request($fp, 'api switchname')); - $switch_cmd = "memcache delete configuration:sofia.conf:".$hostname; - $switch_result = event_socket_request($fp, 'api '.$switch_cmd); - } + //clear the cache + $cache = new cache; + $cache->delete("configuration:sofia.conf:".$_SESSION['domain_name']); //rescan the external profile to look for new or stopped gateways //create the event socket connection From a5f658f75bddfbb89dae35a0d2ad760a2880b91c Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 24 Jul 2018 16:36:45 -0500 Subject: [PATCH 0063/1657] Update gateway_edit.php --- app/gateways/gateway_edit.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/gateways/gateway_edit.php b/app/gateways/gateway_edit.php index b109ff50b3..58e5eb2bb8 100644 --- a/app/gateways/gateway_edit.php +++ b/app/gateways/gateway_edit.php @@ -246,8 +246,12 @@ save_gateway_xml(); //clear the cache + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + if ($fp) { + $hostname = trim(event_socket_request($fp, 'api switchname')); } + } $cache = new cache; - $cache->delete("configuration:sofia.conf:".$_SESSION['domain_name']); + $cache->delete("configuration:sofia.conf:".$hostname); //rescan the external profile to look for new or stopped gateways //create the event socket connection From f4b3c1059741645d49794e20b5889fd80277d3ac Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 24 Jul 2018 16:41:02 -0500 Subject: [PATCH 0064/1657] Update gateway_edit.php --- app/gateways/gateway_edit.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/gateways/gateway_edit.php b/app/gateways/gateway_edit.php index 58e5eb2bb8..2ca13012db 100644 --- a/app/gateways/gateway_edit.php +++ b/app/gateways/gateway_edit.php @@ -247,9 +247,7 @@ //clear the cache $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - if ($fp) { - $hostname = trim(event_socket_request($fp, 'api switchname')); } - } + $hostname = trim(event_socket_request($fp, 'api switchname')); $cache = new cache; $cache->delete("configuration:sofia.conf:".$hostname); From a34947fa858bc150fb776aa2b35f8fb0fa0b8980 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 24 Jul 2018 16:55:56 -0500 Subject: [PATCH 0065/1657] Update cache.php --- resources/classes/cache.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/resources/classes/cache.php b/resources/classes/cache.php index 249bbb93df..d11b6bcd73 100644 --- a/resources/classes/cache.php +++ b/resources/classes/cache.php @@ -116,7 +116,7 @@ class cache { if ($fp === false) { return false; } - + //send a custom event $event = "sendevent CUSTOM\n"; $event .= "Event-Name: CUSTOM\n"; @@ -124,7 +124,7 @@ class cache { $event .= "API-Command: cache\n"; $event .= "API-Command-Argument: delete ".$key."\n"; event_socket_request($fp, $event); - + //remove the local files if (file_exists($_SESSION['cache']['location']['text'] . "/" . $key)) { unlink($_SESSION['cache']['location']['text'] . "/" . $key); @@ -132,6 +132,7 @@ class cache { if (file_exists($_SESSION['cache']['location']['text'] . "/" . $key . ".tmp")) { unlink($_SESSION['cache']['location']['text'] . "/" . $key . ".tmp"); } + } // return result @@ -149,7 +150,7 @@ class cache { if ($fp === false) { return false; } - + //send a custom event $event = "sendevent CUSTOM\n"; $event .= "Event-Name: CUSTOM\n"; @@ -157,11 +158,11 @@ class cache { $event .= "API-Command: memcache\n"; $event .= "API-Command-Argument: flush\n"; event_socket_request($fp, $event); - + //run the memcache $command = "memcache flush"; $result = event_socket_request($fp, 'api '.$command); - + //close event socket fclose($fp); From 6394bccd7c0546504d14ea66372468603e5b2d2b Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 26 Jul 2018 11:14:01 -0500 Subject: [PATCH 0066/1657] Update internal.xml.noload --- resources/templates/conf/sip_profiles/internal.xml.noload | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/templates/conf/sip_profiles/internal.xml.noload b/resources/templates/conf/sip_profiles/internal.xml.noload index 04ea5e0599..475bc4d464 100644 --- a/resources/templates/conf/sip_profiles/internal.xml.noload +++ b/resources/templates/conf/sip_profiles/internal.xml.noload @@ -378,5 +378,7 @@ + + From e1cf14f352e80b050fd0405303eae154a22805de Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sat, 28 Jul 2018 23:25:15 -0500 Subject: [PATCH 0067/1657] Update bridge_edit.php --- app/bridges/bridge_edit.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/bridges/bridge_edit.php b/app/bridges/bridge_edit.php index fa5313e5bb..157e03605e 100644 --- a/app/bridges/bridge_edit.php +++ b/app/bridges/bridge_edit.php @@ -161,7 +161,7 @@ echo " ".$text['label-bridge_name']."\n"; echo "\n"; - echo " \n"; + echo " \n"; echo "
\n"; echo $text['description-bridge_name']."\n"; echo "
\n"; - echo " \n"; + echo " \n"; echo "
\n"; echo $text['description-bridge_destination']."\n"; echo "
\n"; - echo " \n"; + echo " \n"; echo " \n"; echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
".$text['title-gswave']."\n"; + //echo " "; + echo "
\n"; + echo "
".$text['title_description-gswave']."

\n"; + echo "
\n"; + +//show the content + echo "
\n"; + echo "\n"; + + //echo "\n"; + //echo "\n"; + //echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + //echo "\n"; + echo "\n"; + echo "\n"; + + echo "
\n"; + //echo "
\n"; + //echo "
\n"; + echo " ".$text['label-extension']."\n"; + echo "\n"; + echo " \n"; + //echo "
\n"; + //echo $text['description-extension']."\n"; + echo "
".$text['title-message']."

\n"; + echo "
\n"; + echo " "; + echo " "; + echo "
"; + echo "
"; + //echo "
"; + +//stream the file + if (is_uuid($_GET['id'])) { + //header("Content-Type: image/png"); + $image = shell_exec('qrencode -o - -s 6 -m 5 "'.$xml.'"'); + } + +//html image + if (is_uuid($_GET['id'])) { + echo "\n"; + } + +//save to a file + //$output = '/tmp/'.$row['user_id'].'.'.$row['server_address'].'.png'; + //$result = shell_exec('qrencode -o '.$output.' -m 5 "'.$xml.'"'); + +//add the footer + require_once "resources/footer.php"; + +?> \ No newline at end of file diff --git a/app/gswave/resources/images/apple_app_store.png b/app/gswave/resources/images/apple_app_store.png new file mode 100644 index 0000000000000000000000000000000000000000..a977a262ee921cb041c770672b5c5aff953b5d94 GIT binary patch literal 35478 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 z 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 CGh`M3 literal 0 HcmV?d00001 diff --git a/app/gswave/resources/images/google_play.png b/app/gswave/resources/images/google_play.png new file mode 100644 index 0000000000000000000000000000000000000000..c77b7464b049c7d6666155c61df5f486f241f760 GIT binary patch literal 13957 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 X%LPP+756@c3` + Portions created by the Initial Developer are Copyright (C) 2008-2012 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ + +// make sure the PATH_SEPARATOR is defined + umask(2); + if (!defined("PATH_SEPARATOR")) { + if (strpos($_ENV["OS"], "Win") !== false) { + define("PATH_SEPARATOR", ";"); + } else { + define("PATH_SEPARATOR", ":"); + } + } + + if (!isset($output_format)) $output_format = (PHP_SAPI == 'cli') ? 'text' : 'html'; + + // make sure the document_root is set + $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + chdir(pathinfo(realpath($_SERVER["PHP_SELF"]), PATHINFO_DIRNAME)); + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/project_root.php')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/project_root.php')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } + $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); +// try to detect if a project path is being used + if (!defined('PROJECT_PATH')) { + if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { + define('PROJECT_PATH', '/fusionpbx'); + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/project_root.php')) { + define('PROJECT_PATH', ''); + } else { + $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); + $i = 1; + $path = $_SERVER["DOCUMENT_ROOT"]; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/project_root.php')) { + break; + } + $i++; + } + if(!file_exists($path. '/project_root.php')){ + die("Failed to locate the Project Root by searching for project_root.php please contact support for assistance"); + } + $project_path = str_replace($_SERVER["DOCUMENT_ROOT"], "", $path); + define('PROJECT_PATH', $project_path); + } + $_SERVER["PROJECT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH); + set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER["PROJECT_ROOT"]); + } + +?> \ No newline at end of file From 9956cc1324bc5be33b9cb42a895e5539e348d5f5 Mon Sep 17 00:00:00 2001 From: Len Date: Wed, 8 Aug 2018 14:22:54 -0400 Subject: [PATCH 0076/1657] Update app_config.php (#3278) --- app/yealink/app_config.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/yealink/app_config.php b/app/yealink/app_config.php index 42078305fb..b42ae26dd7 100755 --- a/app/yealink/app_config.php +++ b/app/yealink/app_config.php @@ -100,7 +100,7 @@ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; - $apps[$x]['default_settings'][$y]['default_setting_description'] = ""; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "0-Disabled (default), 1-Forced, 2-Negotiate"; $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "f0704072-c3d9-48df-b89b-2aea6035b3c4"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; From 5bfa15a76e0efa5004bc521571b4ba5739957d04 Mon Sep 17 00:00:00 2001 From: Len Date: Thu, 9 Aug 2018 13:21:17 -0400 Subject: [PATCH 0077/1657] Update app_config.php (#3280) --- app/yealink/app_config.php | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/app/yealink/app_config.php b/app/yealink/app_config.php index b42ae26dd7..bd901ec2cf 100755 --- a/app/yealink/app_config.php +++ b/app/yealink/app_config.php @@ -486,5 +486,37 @@ $apps[$x]['default_settings'][$y]['default_setting_value'] = "http://localhost/all,delete"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "http://localhost/all,delete all the customized ring tones"; - + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "7af991ec-ddb9-4942-a05d-d1acc529fef5"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "yealink_ringtone_url"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "custom.wav"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Before using this parameter, you should store the desired ring tone (custom.wav) to the provisioning server"; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "95862d61-18ac-41b5-ac69-467e0ef3afd7"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "yealink_remote_phonebook_1_name"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "Personal"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Remote Phonebook Users on Yealink"; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "32cdd450-2ba4-43d7-95d8-dcd825084455"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "yealink_remote_phonebook_2_name"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "Global"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Remote Phonebook Groups on Yealink"; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "0abb1daf-e88f-4151-9bbb-fed244b9d3e4"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "yealink_remote_phonebook_3_name"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "Local"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Remote Phonebook Extensions on Yealink"; + ?> From 541b052017510b0a1f8d79e2d59564891594fcf5 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Fri, 10 Aug 2018 13:05:55 -0600 Subject: [PATCH 0078/1657] Update extension_edit.php --- app/extensions/extension_edit.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index d24a3bcd0a..48b56fd9fa 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -494,6 +494,8 @@ $array["devices"][0]["device_lines"][0]["device_line_uuid"] = $device_line_uuid; $array["devices"][0]["device_lines"][0]["domain_uuid"] = $_SESSION['domain_uuid']; $array["devices"][0]["device_lines"][0]["server_address"] = $_SESSION['domain_name']; + $array["devices"][0]["device_lines"][0]["outbound_proxy_primary"] = $_SESSION['provision']['outbound_proxy_primary']['text']; + $array["devices"][0]["device_lines"][0]["outbound_proxy_secondary"] = $_SESSION['provision']['outbound_proxy_secondary']['text']; if (strlen($effective_caller_id_name) > 0) { $array["devices"][0]["device_lines"][0]["display_name"] = $effective_caller_id_name; } @@ -508,7 +510,6 @@ $array["devices"][0]["device_lines"][0]["sip_transport"] = $_SESSION['provision']['line_sip_transport']['text']; $array["devices"][0]["device_lines"][0]["register_expires"] = $_SESSION['provision']['line_register_expires']['numeric']; $array["devices"][0]["device_lines"][0]["enabled"] = "true"; - } //save to the data From 9adf1031660ce6006e9033511e918fd6ccef208c Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Fri, 10 Aug 2018 17:41:02 -0600 Subject: [PATCH 0079/1657] Update cache.php --- resources/classes/cache.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/classes/cache.php b/resources/classes/cache.php index d11b6bcd73..80339e355f 100644 --- a/resources/classes/cache.php +++ b/resources/classes/cache.php @@ -109,7 +109,8 @@ class cache { //cache method file if ($_SESSION['cache']['method']['text'] == "file") { - $key = str_replace(":", ".", $key); + //change the delimiter + $key = str_replace(":", ".", $key); // connect to event socket $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); @@ -132,7 +133,6 @@ class cache { if (file_exists($_SESSION['cache']['location']['text'] . "/" . $key . ".tmp")) { unlink($_SESSION['cache']['location']['text'] . "/" . $key . ".tmp"); } - } // return result From c54eb15c7c117d6e5cca131653159d7e5b9cf3c6 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Fri, 10 Aug 2018 17:45:02 -0600 Subject: [PATCH 0080/1657] Update dialplans.php --- app/dialplans/dialplans.php | 43 ++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/app/dialplans/dialplans.php b/app/dialplans/dialplans.php index c2205c6752..f430d0a0b5 100644 --- a/app/dialplans/dialplans.php +++ b/app/dialplans/dialplans.php @@ -45,20 +45,37 @@ //handle enable toggle $dialplan_uuid = check_str($_REQUEST['id']); $dialplan_enabled = check_str($_REQUEST['enabled']); - if ($dialplan_uuid != '' && $dialplan_enabled != '') { + if (isset($dialplan_uuid) && is_uuid($dialplan_uuid) && $dialplan_enabled != '') { + //make sure enabled is only true or false + if ($dialplan_enabled == "true") { + $dialplan_enabled = 'true'; + } + else { + $dialplan_enabled == 'false'; + } + + //get the dialplan context + $sql = "select * from v_dialplans "; + $sql .= "where dialplan_uuid = '".$dialplan_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_NAMED); + $dialplan_context = $row["dialplan_context"]; + unset($sql); + + //change the status $sql = "update v_dialplans set "; $sql .= "dialplan_enabled = '".$dialplan_enabled."' "; $sql .= "where dialplan_uuid = '".$dialplan_uuid."'"; $db->exec(check_sql($sql)); unset($sql); - messages::add($text['message-update']); - } -//delete the dialplan context from memcache - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - if ($fp) { - $switch_cmd = "memcache delete dialplan:".$_SESSION["context"]; - $switch_result = event_socket_request($fp, 'api '.$switch_cmd); + //clear the cache + $cache = new cache; + $cache->delete("dialplan:".$dialplan_context); + + //set the message + messages::add($text['message-update']); } //set the http values as php variables @@ -164,7 +181,7 @@ $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $dialplans = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($dialplans); + $dialplan_count = count($dialplans); unset ($prep_statement, $sql); //set the alternating row style @@ -260,7 +277,7 @@ echo "\n"; echo "\n"; echo "\n"; - if (permission_exists('dialplan_delete') && $result_count > 0) { + if (permission_exists('dialplan_delete') && $dialplan_count > 0) { echo ""; } echo th_order_by('dialplan_name', $text['label-name'], $order_by, $order, $app_uuid, null, (($search != '') ? "search=".escape($search) : null)); @@ -285,7 +302,7 @@ elseif (permission_exists('dialplan_add')) { echo "$v_link_label_add"; } - if (permission_exists('dialplan_delete') && $result_count > 0) { + if (permission_exists('dialplan_delete') && $dialplan_count > 0) { echo "".$v_link_label_delete.""; } echo "\n"; @@ -397,7 +414,7 @@ elseif (permission_exists('dialplan_add')) { echo "$v_link_label_add"; } - if (permission_exists('dialplan_delete') && $result_count > 0) { + if (permission_exists('dialplan_delete') && $dialplan_count > 0) { echo "".$v_link_label_delete.""; } echo " \n"; @@ -424,7 +441,7 @@ require_once "resources/footer.php"; //unset the variables - unset ($result_count); + unset ($dialplan_count); unset ($result); unset ($key); unset ($val); From e68d0c6db0a5f29edddb73e70154a4dc8d8ef4b1 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sat, 11 Aug 2018 17:02:55 -0600 Subject: [PATCH 0081/1657] Update registrations.php --- .../resources/classes/registrations.php | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/registrations/resources/classes/registrations.php b/app/registrations/resources/classes/registrations.php index 4f5e241eb3..7a123530ef 100644 --- a/app/registrations/resources/classes/registrations.php +++ b/app/registrations/resources/classes/registrations.php @@ -90,17 +90,17 @@ if (!class_exists('registrations')) { //build the registrations array //$registrations[0] = $row; $user_array = explode('@', $row['user']); - $registrations[$id]['user'] = $row['user'] ?: " "; - $registrations[$id]['call-id'] = $row['call-id'] ?: " "; - $registrations[$id]['contact'] = $row['contact'] ?: " "; - $registrations[$id]['sip-auth-user'] = $row['sip-auth-user'] ?: " "; - $registrations[$id]['agent'] = $row['agent'] ?: " "; - $registrations[$id]['host'] = $row['host'] ?: " "; - $registrations[$id]['network-port'] = $row['network-port'] ?: " "; - $registrations[$id]['sip-auth-realm'] = $row['sip-auth-realm'] ?: " "; - $registrations[$id]['mwi-account'] = $row['mwi-account'] ?: " "; - $registrations[$id]['status'] = $row['status'] ?: " "; - $registrations[$id]['ping-time'] = $row['ping-time'] ?: " "; + $registrations[$id]['user'] = $row['user'] ?: ''; + $registrations[$id]['call-id'] = $row['call-id'] ?: ''; + $registrations[$id]['contact'] = $row['contact'] ?: ''; + $registrations[$id]['sip-auth-user'] = $row['sip-auth-user'] ?: ''; + $registrations[$id]['agent'] = $row['agent'] ?: ''; + $registrations[$id]['host'] = $row['host'] ?: ''; + $registrations[$id]['network-port'] = $row['network-port'] ?: ''; + $registrations[$id]['sip-auth-realm'] = $row['sip-auth-realm'] ?: ''; + $registrations[$id]['mwi-account'] = $row['mwi-account'] ?: ''; + $registrations[$id]['status'] = $row['status'] ?: ''; + $registrations[$id]['ping-time'] = $row['ping-time'] ?: ''; $registrations[$id]['sip_profile_name'] = $field['sip_profile_name']; //get network-ip to url or blank From e205b29973a14f533b8404eca921364682bf56c5 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 14 Aug 2018 10:57:10 -0600 Subject: [PATCH 0082/1657] Update app_config.php --- app/extensions/app_config.php | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/app/extensions/app_config.php b/app/extensions/app_config.php index 42fb6198fd..fb008f8088 100644 --- a/app/extensions/app_config.php +++ b/app/extensions/app_config.php @@ -448,6 +448,20 @@ $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['table'] = "v_follow_me"; $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['field'] = "follow_me_uuid"; $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = "forward_caller_id_uuid"; + $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; + $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; + $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = "follow_me_enabled"; + $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; + $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = "follow_me_destinations"; + $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; + $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "enabled"; $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; @@ -456,12 +470,6 @@ $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "forward_caller_id_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "absolute_codec_string"; $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; From 628a6803bb8d611ab31188e62b4e7e9eca011614 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 14 Aug 2018 11:02:47 -0600 Subject: [PATCH 0083/1657] Update directory.lua --- .../resources/scripts/directory/directory.lua | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua index 2139539f36..0327a63c71 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua @@ -1,6 +1,6 @@ -- xml_handler.lua -- Part of FusionPBX --- Copyright (C) 2013 - 2016 Mark J Crane +-- Copyright (C) 2013 - 2018 Mark J Crane -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -338,9 +338,15 @@ forward_no_answer_destination = row.forward_no_answer_destination; forward_user_not_registered_enabled = row.forward_user_not_registered_enabled; forward_user_not_registered_destination = row.forward_user_not_registered_destination; - do_not_disturb = row.do_not_disturb; + -- get the follow me information + if (row.follow_me_uuid ~= nil and string.len(row.follow_me_uuid) > 0) then + follow_me_uuid = row.follow_me_uuid; + follow_me_enabled = row.follow_me_enabled; + follow_me_destinations= row.follow_me_destinations; + end + -- check matching UserID and AuthName if sip_auth_method then local check_from_number = METHODS[sip_auth_method] or METHODS._ANY_ @@ -349,7 +355,6 @@ else continue = (sip_from_user == user) and ((not check_from_number) or (from_user == user)) end - if not continue then XML_STRING = nil; return 1; @@ -606,6 +611,12 @@ if (forward_user_not_registered_destination ~= nil) and (string.len(forward_user_not_registered_destination) > 0) then table.insert(xml, [[ ]]); end + if (follow_me_enabled ~= nil) and (string.len(follow_me_enabled) > 0) then + table.insert(xml, [[ ]]); + end + if (follow_me_destinations ~= nil) and (string.len(follow_me_destinations) > 0) then + table.insert(xml, [[ ]]); + end if (do_not_disturb ~= nil) and (string.len(do_not_disturb) > 0) then table.insert(xml, [[ ]]); end From bfbcda67364cd5780faa829ee260866790834510 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 14 Aug 2018 12:02:43 -0600 Subject: [PATCH 0084/1657] Update follow_me.php --- app/calls/resources/classes/follow_me.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/calls/resources/classes/follow_me.php b/app/calls/resources/classes/follow_me.php index 8280680bdd..3992e77383 100644 --- a/app/calls/resources/classes/follow_me.php +++ b/app/calls/resources/classes/follow_me.php @@ -38,6 +38,7 @@ include "root.php"; public $cid_number_prefix; public $accountcode; public $follow_me_enabled; + public $follow_me_destinations; public $follow_me_caller_id_uuid; public $follow_me_ignore_busy; public $outbound_caller_id_name; @@ -158,7 +159,7 @@ include "root.php"; . "follow_me_delay," . "follow_me_prompt," . "follow_me_order" - . ")values(?,?,?,?,?,?,?,?)" + . ") values(?,?,?,?,?,?,?,?)" ); //delete related follow me destinations @@ -263,6 +264,8 @@ include "root.php"; $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); if (is_array($result)) foreach ($result as &$row) { $follow_me_uuid = $row["follow_me_uuid"]; + $this->follow_me_enabled = $row["follow_me_enabled"]; + $this->follow_me_destinations = $row["follow_me_destinations"]; $this->cid_name_prefix = $row["cid_name_prefix"]; $this->cid_number_prefix = $row["cid_number_prefix"]; } @@ -403,7 +406,7 @@ include "root.php"; } else { //set the outbound caller id number if the caller id number is a user - $dial_string .=',origination_caller_id_number=${cond(${from_user_exists} == true ? ${outbound_caller_id_number} : ${origination_caller_id_number})}'; + $dial_string .=',origination_caller_id_number=${cond(${from_user_exists} == true ? ${outbound_caller_id_number} : ${origination_caller_id_number})}'; $dial_string .=',effective_caller_id_number=${cond(${from_user_exists} == true ? ${outbound_caller_id_number} : ${effective_caller_id_number})}'; $dial_string .=',origination_caller_id_name=${cond(${from_user_exists} == true ? ${outbound_caller_id_name} : ${origination_caller_id_name})}'; $dial_string .=',effective_caller_id_name=${cond(${from_user_exists} == true ? ${outbound_caller_id_name} : ${effective_caller_id_name})}'; @@ -453,11 +456,17 @@ include "root.php"; $dial_string = ''; if ($this->follow_me_enabled == "true") { $dial_string = $this->dial_string; + $this->follow_me_destinations = $this->dial_string; + } + else { + $this->follow_me_destinations = ''; } $sql = "update v_extensions set "; $sql .= "dial_string = '".check_str($dial_string)."', "; - $sql .= "dial_domain = '".$_SESSION['domain_name']."' "; + $sql .= "dial_domain = '".$_SESSION['domain_name']."', "; + $sql .= "follow_me_destinations = '".$this->follow_me_destinations."', "; + $sql .= "follow_me_enabled = '".$this->follow_me_enabled."' "; $sql .= "where domain_uuid = '".$this->domain_uuid."' "; $sql .= "and follow_me_uuid = '".$this->follow_me_uuid."' "; if ($this->debug) { From 2668122679974be3db123b681bfb628d8e71f047 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 14 Aug 2018 12:08:58 -0600 Subject: [PATCH 0085/1657] Create follow_me_bridge_520.xml --- .../switch/conf/dialplan/follow_me_bridge_520.xml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 app/dialplans/resources/switch/conf/dialplan/follow_me_bridge_520.xml diff --git a/app/dialplans/resources/switch/conf/dialplan/follow_me_bridge_520.xml b/app/dialplans/resources/switch/conf/dialplan/follow_me_bridge_520.xml new file mode 100644 index 0000000000..278c1851e2 --- /dev/null +++ b/app/dialplans/resources/switch/conf/dialplan/follow_me_bridge_520.xml @@ -0,0 +1,8 @@ + + + + + + + + From b99324ad40e6883b24c68445cf18b0605555dbd0 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 14 Aug 2018 12:11:21 -0600 Subject: [PATCH 0086/1657] Update 010_user_exists.xml --- .../resources/switch/conf/dialplan/010_user_exists.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/dialplans/resources/switch/conf/dialplan/010_user_exists.xml b/app/dialplans/resources/switch/conf/dialplan/010_user_exists.xml index 2ba39698fe..af97f234d3 100644 --- a/app/dialplans/resources/switch/conf/dialplan/010_user_exists.xml +++ b/app/dialplans/resources/switch/conf/dialplan/010_user_exists.xml @@ -14,6 +14,9 @@ + + + From ccd18f8d089e2a8f3cf7972744917487dcd41878 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 14 Aug 2018 12:12:17 -0600 Subject: [PATCH 0087/1657] Rename follow_me_bridge_520.xml to 520_follow_me_bridge.xml --- .../{follow_me_bridge_520.xml => 520_follow_me_bridge.xml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/dialplans/resources/switch/conf/dialplan/{follow_me_bridge_520.xml => 520_follow_me_bridge.xml} (100%) diff --git a/app/dialplans/resources/switch/conf/dialplan/follow_me_bridge_520.xml b/app/dialplans/resources/switch/conf/dialplan/520_follow_me_bridge.xml similarity index 100% rename from app/dialplans/resources/switch/conf/dialplan/follow_me_bridge_520.xml rename to app/dialplans/resources/switch/conf/dialplan/520_follow_me_bridge.xml From 0cf5ca62a2ce16e1c746898cb0095735a96b3687 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 14 Aug 2018 21:30:02 -0600 Subject: [PATCH 0088/1657] Update switch.php --- resources/switch.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/resources/switch.php b/resources/switch.php index e4fdd923de..0ede057e4b 100644 --- a/resources/switch.php +++ b/resources/switch.php @@ -95,9 +95,11 @@ function event_socket_request_cmd($cmd) { function byte_convert($bytes, $decimals = 2) { if ($bytes <= 0) { return '0 Bytes'; } - $convention = 1024; - $formattedbytes = array_reduce( array(' B', ' KB', ' MB', ' GB', ' TB', ' PB', ' EB', 'ZB'), create_function( '$a,$b', 'return is_numeric($a)?($a>='.$convention.'?$a/'.$convention.':number_format($a,'.$decimals.').$b):$a;' ), $bytes ); - return $formattedbytes; + $units = array('B', 'KB', 'MB', 'GB', 'TB'); + $bytes = max($bytes, 0); + $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); + $pow = min($pow, count($units) - 1); + return round($bytes, $precision) . ' ' . $units[$pow]; } function remove_config_from_cache($name) { From fcf9611a79c536530d25002136e23d669284cb26 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 14 Aug 2018 23:59:58 -0600 Subject: [PATCH 0089/1657] Update switch.php --- resources/switch.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/resources/switch.php b/resources/switch.php index 0ede057e4b..bb538d6b5f 100644 --- a/resources/switch.php +++ b/resources/switch.php @@ -93,13 +93,15 @@ function event_socket_request_cmd($cmd) { return $response; } -function byte_convert($bytes, $decimals = 2) { - if ($bytes <= 0) { return '0 Bytes'; } - $units = array('B', 'KB', 'MB', 'GB', 'TB'); - $bytes = max($bytes, 0); - $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); - $pow = min($pow, count($units) - 1); - return round($bytes, $precision) . ' ' . $units[$pow]; +function byte_convert($bytes, $precision = 2) { + static $units = array('B','kB','MB','GB','TB','PB','EB','ZB','YB'); + $step = 1024; + $i = 0; + while (($bytes / $step) > 0.9) { + $bytes = $bytes / $step; + $i++; + } + return round($bytes, $precision).' '.$units[$i]; } function remove_config_from_cache($name) { From 1cce62a337753719f69b55d0d82942ec5b614c98 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Fri, 17 Aug 2018 20:58:54 -0600 Subject: [PATCH 0090/1657] Update destination_edit.php --- app/destinations/destination_edit.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/destinations/destination_edit.php b/app/destinations/destination_edit.php index 8ba2d2f9e4..8278e87bb5 100644 --- a/app/destinations/destination_edit.php +++ b/app/destinations/destination_edit.php @@ -290,6 +290,7 @@ $dialplan["dialplan_xml"] .= " \n"; $dialplan["dialplan_xml"] .= " \n"; $dialplan["dialplan_xml"] .= " \n"; + $dialplan["dialplan_xml"] .= " \n"; $dialplan["dialplan_xml"] .= " \n"; } $dialplan["dialplan_xml"] .= " \n"; From 5e3f0531343fb7124be43141a0d1a760b6f1c12f Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Fri, 17 Aug 2018 21:14:24 -0600 Subject: [PATCH 0091/1657] Update destination_edit.php --- app/destinations/destination_edit.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/destinations/destination_edit.php b/app/destinations/destination_edit.php index 8278e87bb5..c9ee4f444a 100644 --- a/app/destinations/destination_edit.php +++ b/app/destinations/destination_edit.php @@ -433,6 +433,17 @@ //increment the dialplan detail order $dialplan_detail_order = $dialplan_detail_order + 10; + // answer + $dialplan["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "answer"; + $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = ""; + $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $y++; + + //increment the dialplan detail order + $dialplan_detail_order = $dialplan_detail_order + 10; + // execute on tone detect $dialplan["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; From c338ef6e4db6349f880013802ff1a2682cc51f6c Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Fri, 17 Aug 2018 21:43:29 -0600 Subject: [PATCH 0092/1657] Update destination_edit.php --- app/destinations/destination_edit.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/destinations/destination_edit.php b/app/destinations/destination_edit.php index c9ee4f444a..4669abb485 100644 --- a/app/destinations/destination_edit.php +++ b/app/destinations/destination_edit.php @@ -740,6 +740,9 @@ if ($row['dialplan_detail_type'] == "tone_detect") { unset($dialplan_details[$x]); } + if ($row['dialplan_detail_type'] == "answer") { + unset($dialplan_details[$x]); + } if ($row['dialplan_detail_type'] == "sleep") { unset($dialplan_details[$x]); } From eb827ff7d6d6c5dacae89da17dd6ce0b4a5514fa Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sat, 18 Aug 2018 21:40:06 -0600 Subject: [PATCH 0093/1657] Update device_edit.php --- app/devices/device_edit.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index 5d8e05cc08..9a025f2779 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -658,9 +658,7 @@ //qr code generation $_GET['type'] = "text"; - $qr_vcard = true; - include "contacts_vcard.php"; - echo ""; + echo ""; echo " - - + #table_config_vars th { + color: maroon; + } -

Smarty Debug Console - {if isset($template_name)}{$template_name|debug_print_var nofilter}{else}Total Time {$execution_time|string_format:"%.5f"}{/if}

+ {/literal} + + + -{if !empty($template_data)} -

included templates & config files (load time in seconds)

+

Smarty {Smarty::SMARTY_VERSION} Debug Console + - {if isset($template_name)}{$template_name|debug_print_var nofilter} {/if}{if !empty($template_data)}Total Time {$execution_time|string_format:"%.5f"}{/if}

-
-{foreach $template_data as $template} - {$template.name} - - (compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"}) - -
-{/foreach} -
-{/if} + {if !empty($template_data)} +

included templates & config files (load time in seconds)

+
+ {foreach $template_data as $template} + {$template.name} +
   + (compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"}) + +
+ {/foreach} +
+ {/if} -

assigned template variables

+

assigned template variables

-
- {foreach $assigned_vars as $vars} - - - - {/foreach} -
${$vars@key|escape:'html'}{$vars|debug_print_var nofilter}
+ + {foreach $assigned_vars as $vars} + + + + + {/foreach} +

${$vars@key}

+ {if isset($vars['nocache'])}Nocache
{/if} + {if isset($vars['scope'])}Origin: {$vars['scope']|debug_print_var nofilter}{/if} +

Value

{$vars['value']|debug_print_var:10:80 nofilter}
{if isset($vars['attributes'])}

Attributes

{$vars['attributes']|debug_print_var nofilter} {/if}
-

assigned config file variables (outer template scope)

+

assigned config file variables

- - {foreach $config_vars as $vars} - - - - {/foreach} +
{$vars@key|escape:'html'}{$vars|debug_print_var nofilter}
+ {foreach $config_vars as $vars} + + + + + {/foreach} -

#{$vars@key}#

+ {if isset($vars['scope'])}Origin: {$vars['scope']|debug_print_var nofilter}{/if} +
{$vars['value']|debug_print_var:10:80 nofilter}
- - + + + {/capture} diff --git a/resources/templates/engine/smarty/plugins/block.textformat.php b/resources/templates/engine/smarty/plugins/block.textformat.php index b62a4f8eee..5e494637ed 100644 --- a/resources/templates/engine/smarty/plugins/block.textformat.php +++ b/resources/templates/engine/smarty/plugins/block.textformat.php @@ -2,42 +2,51 @@ /** * Smarty plugin to format text blocks * - * @package Smarty + * @package Smarty * @subpackage PluginsBlock */ - /** * Smarty {textformat}{/textformat} block plugin - * - * Type: block function
- * Name: textformat
+ * Type: block function + * Name: textformat * Purpose: format text a certain way with preset styles - * or custom wrap/indent settings
+ * or custom wrap/indent settings * Params: - *
+ *
  * - style         - string (email)
  * - indent        - integer (0)
  * - wrap          - integer (80)
  * - wrap_char     - string ("\n")
  * - indent_char   - string (" ")
  * - wrap_boundary - boolean (true)
- * 
* - * @link http://www.smarty.net/manual/en/language.function.textformat.php {textformat} - * (Smarty online manual) + * @link http://www.smarty.net/manual/en/language.function.textformat.php {textformat} + * (Smarty online manual) + * * @param array $params parameters * @param string $content contents of the block * @param Smarty_Internal_Template $template template object * @param boolean &$repeat repeat flag + * * @return string content re-formatted * @author Monte Ohrt + * @throws \SmartyException */ -function smarty_block_textformat($params, $content, $template, &$repeat) +function smarty_block_textformat($params, $content, Smarty_Internal_Template $template, &$repeat) { if (is_null($content)) { return; } - + if (Smarty::$_MBSTRING) { + $template->_checkPlugins( + array( + array( + 'function' => 'smarty_modifier_mb_wordwrap', + 'file' => SMARTY_PLUGINS_DIR . 'modifier.mb_wordwrap.php' + ) + ) + ); + } $style = null; $indent = 0; $indent_first = 0; @@ -46,52 +55,55 @@ function smarty_block_textformat($params, $content, $template, &$repeat) $wrap_char = "\n"; $wrap_cut = false; $assign = null; - foreach ($params as $_key => $_val) { switch ($_key) { case 'style': case 'indent_char': case 'wrap_char': case 'assign': - $$_key = (string) $_val; + $$_key = (string)$_val; break; - case 'indent': case 'indent_first': case 'wrap': - $$_key = (int) $_val; + $$_key = (int)$_val; break; - case 'wrap_cut': - $$_key = (bool) $_val; + $$_key = (bool)$_val; break; - default: - trigger_error("textformat: unknown attribute '$_key'"); + trigger_error("textformat: unknown attribute '{$_key}'"); } } - - if ($style == 'email') { + if ($style === 'email') { $wrap = 72; } // split into paragraphs $_paragraphs = preg_split('![\r\n]{2}!', $content); - $_output = ''; - foreach ($_paragraphs as &$_paragraph) { if (!$_paragraph) { continue; } // convert mult. spaces & special chars to single space - $_paragraph = preg_replace(array('!\s+!' . Smarty::$_UTF8_MODIFIER, '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER), array(' ', ''), $_paragraph); + $_paragraph = + preg_replace( + array( + '!\s+!' . Smarty::$_UTF8_MODIFIER, + '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER + ), + array( + ' ', + '' + ), + $_paragraph + ); // indent first line if ($indent_first > 0) { $_paragraph = str_repeat($indent_char, $indent_first) . $_paragraph; } // wordwrap sentences if (Smarty::$_MBSTRING) { - require_once(SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'); - $_paragraph = smarty_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut); + $_paragraph = smarty_modifier_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut); } else { $_paragraph = wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut); } @@ -101,7 +113,6 @@ function smarty_block_textformat($params, $content, $template, &$repeat) } } $_output = implode($wrap_char . $wrap_char, $_paragraphs); - if ($assign) { $template->assign($assign, $_output); } else { diff --git a/resources/templates/engine/smarty/plugins/function.counter.php b/resources/templates/engine/smarty/plugins/function.counter.php index cd147634fd..a4129e77c7 100644 --- a/resources/templates/engine/smarty/plugins/function.counter.php +++ b/resources/templates/engine/smarty/plugins/function.counter.php @@ -1,76 +1,62 @@ - * Name: counter
+ * Type: function + * Name: counter * Purpose: print out a counter value * * @author Monte Ohrt - * @link http://www.smarty.net/manual/en/language.function.counter.php {counter} - * (Smarty online manual) + * @link http://www.smarty.net/manual/en/language.function.counter.php {counter} + * (Smarty online manual) + * * @param array $params parameters * @param Smarty_Internal_Template $template template object + * * @return string|null */ function smarty_function_counter($params, $template) { static $counters = array(); - - $name = (isset($params['name'])) ? $params['name'] : 'default'; - if (!isset($counters[$name])) { - $counters[$name] = array( - 'start'=>1, - 'skip'=>1, - 'direction'=>'up', - 'count'=>1 - ); + $name = (isset($params[ 'name' ])) ? $params[ 'name' ] : 'default'; + if (!isset($counters[ $name ])) { + $counters[ $name ] = array('start' => 1, 'skip' => 1, 'direction' => 'up', 'count' => 1); } - $counter =& $counters[$name]; - - if (isset($params['start'])) { - $counter['start'] = $counter['count'] = (int) $params['start']; + $counter =& $counters[ $name ]; + if (isset($params[ 'start' ])) { + $counter[ 'start' ] = $counter[ 'count' ] = (int)$params[ 'start' ]; } - - if (!empty($params['assign'])) { - $counter['assign'] = $params['assign']; + if (!empty($params[ 'assign' ])) { + $counter[ 'assign' ] = $params[ 'assign' ]; } - - if (isset($counter['assign'])) { - $template->assign($counter['assign'], $counter['count']); + if (isset($counter[ 'assign' ])) { + $template->assign($counter[ 'assign' ], $counter[ 'count' ]); } - - if (isset($params['print'])) { - $print = (bool) $params['print']; + if (isset($params[ 'print' ])) { + $print = (bool)$params[ 'print' ]; } else { - $print = empty($counter['assign']); + $print = empty($counter[ 'assign' ]); } - if ($print) { - $retval = $counter['count']; + $retval = $counter[ 'count' ]; } else { $retval = null; } - - if (isset($params['skip'])) { - $counter['skip'] = $params['skip']; + if (isset($params[ 'skip' ])) { + $counter[ 'skip' ] = $params[ 'skip' ]; } - - if (isset($params['direction'])) { - $counter['direction'] = $params['direction']; + if (isset($params[ 'direction' ])) { + $counter[ 'direction' ] = $params[ 'direction' ]; + } + if ($counter[ 'direction' ] === 'down') { + $counter[ 'count' ] -= $counter[ 'skip' ]; + } else { + $counter[ 'count' ] += $counter[ 'skip' ]; } - - if ($counter['direction'] == "down") - $counter['count'] -= $counter['skip']; - else - $counter['count'] += $counter['skip']; - return $retval; - } diff --git a/resources/templates/engine/smarty/plugins/function.cycle.php b/resources/templates/engine/smarty/plugins/function.cycle.php index 9bf26f8c4a..07ffcc5e24 100644 --- a/resources/templates/engine/smarty/plugins/function.cycle.php +++ b/resources/templates/engine/smarty/plugins/function.cycle.php @@ -2,19 +2,17 @@ /** * Smarty plugin * - * @package Smarty + * @package Smarty * @subpackage PluginsFunction */ - /** * Smarty {cycle} function plugin - * - * Type: function
- * Name: cycle
- * Date: May 3, 2002
- * Purpose: cycle through given values
+ * Type: function + * Name: cycle + * Date: May 3, 2002 + * Purpose: cycle through given values * Params: - *
+ *
  * - name      - name of cycle (optional)
  * - values    - comma separated list of values to cycle, or an array of values to cycle
  *               (this can be left out for subsequent calls)
@@ -23,83 +21,72 @@
  * - advance   - boolean - whether or not to advance the cycle
  * - delimiter - the value delimiter, default is ","
  * - assign    - boolean, assigns to template var instead of printed.
- * 
- * Examples:
- *
+ *
+ * Examples:
+ *
  * {cycle values="#eeeeee,#d0d0d0d"}
  * {cycle name=row values="one,two,three" reset=true}
  * {cycle name=row}
- * 
* - * @link http://www.smarty.net/manual/en/language.function.cycle.php {cycle} - * (Smarty online manual) - * @author Monte Ohrt - * @author credit to Mark Priatel - * @author credit to Gerard - * @author credit to Jason Sweat - * @version 1.3 + * @link http://www.smarty.net/manual/en/language.function.cycle.php {cycle} + * (Smarty online manual) + * @author Monte Ohrt + * @author credit to Mark Priatel + * @author credit to Gerard + * @author credit to Jason Sweat + * @version 1.3 + * * @param array $params parameters * @param Smarty_Internal_Template $template template object + * * @return string|null */ - function smarty_function_cycle($params, $template) { static $cycle_vars; - - $name = (empty($params['name'])) ? 'default' : $params['name']; - $print = (isset($params['print'])) ? (bool) $params['print'] : true; - $advance = (isset($params['advance'])) ? (bool) $params['advance'] : true; - $reset = (isset($params['reset'])) ? (bool) $params['reset'] : false; - - if (!isset($params['values'])) { - if (!isset($cycle_vars[$name]['values'])) { - trigger_error("cycle: missing 'values' parameter"); - + $name = (empty($params[ 'name' ])) ? 'default' : $params[ 'name' ]; + $print = (isset($params[ 'print' ])) ? (bool)$params[ 'print' ] : true; + $advance = (isset($params[ 'advance' ])) ? (bool)$params[ 'advance' ] : true; + $reset = (isset($params[ 'reset' ])) ? (bool)$params[ 'reset' ] : false; + if (!isset($params[ 'values' ])) { + if (!isset($cycle_vars[ $name ][ 'values' ])) { + trigger_error('cycle: missing \'values\' parameter'); return; } } else { - if(isset($cycle_vars[$name]['values']) - && $cycle_vars[$name]['values'] != $params['values'] ) { - $cycle_vars[$name]['index'] = 0; + if (isset($cycle_vars[ $name ][ 'values' ]) && $cycle_vars[ $name ][ 'values' ] !== $params[ 'values' ]) { + $cycle_vars[ $name ][ 'index' ] = 0; } - $cycle_vars[$name]['values'] = $params['values']; + $cycle_vars[ $name ][ 'values' ] = $params[ 'values' ]; } - - if (isset($params['delimiter'])) { - $cycle_vars[$name]['delimiter'] = $params['delimiter']; - } elseif (!isset($cycle_vars[$name]['delimiter'])) { - $cycle_vars[$name]['delimiter'] = ','; + if (isset($params[ 'delimiter' ])) { + $cycle_vars[ $name ][ 'delimiter' ] = $params[ 'delimiter' ]; + } elseif (!isset($cycle_vars[ $name ][ 'delimiter' ])) { + $cycle_vars[ $name ][ 'delimiter' ] = ','; } - - if (is_array($cycle_vars[$name]['values'])) { - $cycle_array = $cycle_vars[$name]['values']; + if (is_array($cycle_vars[ $name ][ 'values' ])) { + $cycle_array = $cycle_vars[ $name ][ 'values' ]; } else { - $cycle_array = explode($cycle_vars[$name]['delimiter'],$cycle_vars[$name]['values']); + $cycle_array = explode($cycle_vars[ $name ][ 'delimiter' ], $cycle_vars[ $name ][ 'values' ]); } - - if (!isset($cycle_vars[$name]['index']) || $reset ) { - $cycle_vars[$name]['index'] = 0; + if (!isset($cycle_vars[ $name ][ 'index' ]) || $reset) { + $cycle_vars[ $name ][ 'index' ] = 0; } - - if (isset($params['assign'])) { + if (isset($params[ 'assign' ])) { $print = false; - $template->assign($params['assign'], $cycle_array[$cycle_vars[$name]['index']]); + $template->assign($params[ 'assign' ], $cycle_array[ $cycle_vars[ $name ][ 'index' ] ]); } - if ($print) { - $retval = $cycle_array[$cycle_vars[$name]['index']]; + $retval = $cycle_array[ $cycle_vars[ $name ][ 'index' ] ]; } else { $retval = null; } - if ($advance) { - if ( $cycle_vars[$name]['index'] >= count($cycle_array) -1 ) { - $cycle_vars[$name]['index'] = 0; + if ($cycle_vars[ $name ][ 'index' ] >= count($cycle_array) - 1) { + $cycle_vars[ $name ][ 'index' ] = 0; } else { - $cycle_vars[$name]['index']++; + $cycle_vars[ $name ][ 'index' ]++; } } - return $retval; } diff --git a/resources/templates/engine/smarty/plugins/function.fetch.php b/resources/templates/engine/smarty/plugins/function.fetch.php index a4eaef37fa..768761b238 100644 --- a/resources/templates/engine/smarty/plugins/function.fetch.php +++ b/resources/templates/engine/smarty/plugins/function.fetch.php @@ -2,166 +2,156 @@ /** * Smarty plugin * - * @package Smarty + * @package Smarty * @subpackage PluginsFunction */ - /** * Smarty {fetch} plugin - * - * Type: function
- * Name: fetch
+ * Type: function + * Name: fetch * Purpose: fetch file, web or ftp data and display results * - * @link http://www.smarty.net/manual/en/language.function.fetch.php {fetch} - * (Smarty online manual) + * @link http://www.smarty.net/manual/en/language.function.fetch.php {fetch} + * (Smarty online manual) * @author Monte Ohrt + * * @param array $params parameters * @param Smarty_Internal_Template $template template object + * + * @throws SmartyException * @return string|null if the assign parameter is passed, Smarty assigns the result to a template variable */ function smarty_function_fetch($params, $template) { - if (empty($params['file'])) { - trigger_error("[plugin] fetch parameter 'file' cannot be empty",E_USER_NOTICE); - + if (empty($params[ 'file' ])) { + trigger_error('[plugin] fetch parameter \'file\' cannot be empty', E_USER_NOTICE); return; } - // strip file protocol - if (stripos($params['file'], 'file://') === 0) { - $params['file'] = substr($params['file'], 7); + if (stripos($params[ 'file' ], 'file://') === 0) { + $params[ 'file' ] = substr($params[ 'file' ], 7); } - - $protocol = strpos($params['file'], '://'); + $protocol = strpos($params[ 'file' ], '://'); if ($protocol !== false) { - $protocol = strtolower(substr($params['file'], 0, $protocol)); + $protocol = strtolower(substr($params[ 'file' ], 0, $protocol)); } - if (isset($template->smarty->security_policy)) { if ($protocol) { // remote resource (or php stream, …) - if (!$template->smarty->security_policy->isTrustedUri($params['file'])) { + if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) { return; } } else { // local file - if (!$template->smarty->security_policy->isTrustedResourceDir($params['file'])) { + if (!$template->smarty->security_policy->isTrustedResourceDir($params[ 'file' ])) { return; } } } - $content = ''; - if ($protocol == 'http') { + if ($protocol === 'http') { // http fetch - if ($uri_parts = parse_url($params['file'])) { + if ($uri_parts = parse_url($params[ 'file' ])) { // set defaults - $host = $server_name = $uri_parts['host']; + $host = $server_name = $uri_parts[ 'host' ]; $timeout = 30; - $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"; - $agent = "Smarty Template Engine ". Smarty::SMARTY_VERSION; - $referer = ""; - $uri = !empty($uri_parts['path']) ? $uri_parts['path'] : '/'; - $uri .= !empty($uri_parts['query']) ? '?' . $uri_parts['query'] : ''; + $accept = 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'; + $agent = 'Smarty Template Engine ' . Smarty::SMARTY_VERSION; + $referer = ''; + $uri = !empty($uri_parts[ 'path' ]) ? $uri_parts[ 'path' ] : '/'; + $uri .= !empty($uri_parts[ 'query' ]) ? '?' . $uri_parts[ 'query' ] : ''; $_is_proxy = false; - if (empty($uri_parts['port'])) { + if (empty($uri_parts[ 'port' ])) { $port = 80; } else { - $port = $uri_parts['port']; + $port = $uri_parts[ 'port' ]; } - if (!empty($uri_parts['user'])) { - $user = $uri_parts['user']; + if (!empty($uri_parts[ 'user' ])) { + $user = $uri_parts[ 'user' ]; } - if (!empty($uri_parts['pass'])) { - $pass = $uri_parts['pass']; + if (!empty($uri_parts[ 'pass' ])) { + $pass = $uri_parts[ 'pass' ]; } // loop through parameters, setup headers foreach ($params as $param_key => $param_value) { switch ($param_key) { - case "file": - case "assign": - case "assign_headers": + case 'file': + case 'assign': + case 'assign_headers': break; - case "user": + case 'user': if (!empty($param_value)) { $user = $param_value; } break; - case "pass": + case 'pass': if (!empty($param_value)) { $pass = $param_value; } break; - case "accept": + case 'accept': if (!empty($param_value)) { $accept = $param_value; } break; - case "header": + case 'header': if (!empty($param_value)) { - if (!preg_match('![\w\d-]+: .+!',$param_value)) { - trigger_error("[plugin] invalid header format '".$param_value."'",E_USER_NOTICE); - + if (!preg_match('![\w\d-]+: .+!', $param_value)) { + trigger_error("[plugin] invalid header format '{$param_value}'", E_USER_NOTICE); return; } else { $extra_headers[] = $param_value; } } break; - case "proxy_host": + case 'proxy_host': if (!empty($param_value)) { $proxy_host = $param_value; } break; - case "proxy_port": + case 'proxy_port': if (!preg_match('!\D!', $param_value)) { - $proxy_port = (int) $param_value; + $proxy_port = (int)$param_value; } else { - trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE); - + trigger_error("[plugin] invalid value for attribute '{$param_key }'", E_USER_NOTICE); return; } break; - case "agent": + case 'agent': if (!empty($param_value)) { $agent = $param_value; } break; - case "referer": + case 'referer': if (!empty($param_value)) { $referer = $param_value; } break; - case "timeout": + case 'timeout': if (!preg_match('!\D!', $param_value)) { - $timeout = (int) $param_value; + $timeout = (int)$param_value; } else { - trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE); - + trigger_error("[plugin] invalid value for attribute '{$param_key}'", E_USER_NOTICE); return; } break; default: - trigger_error("[plugin] unrecognized attribute '".$param_key."'",E_USER_NOTICE); - + trigger_error("[plugin] unrecognized attribute '{$param_key}'", E_USER_NOTICE); return; } } if (!empty($proxy_host) && !empty($proxy_port)) { $_is_proxy = true; - $fp = fsockopen($proxy_host,$proxy_port,$errno,$errstr,$timeout); + $fp = fsockopen($proxy_host, $proxy_port, $errno, $errstr, $timeout); } else { - $fp = fsockopen($server_name,$port,$errno,$errstr,$timeout); + $fp = fsockopen($server_name, $port, $errno, $errstr, $timeout); } - if (!$fp) { - trigger_error("[plugin] unable to fetch: $errstr ($errno)",E_USER_NOTICE); - + trigger_error("[plugin] unable to fetch: $errstr ($errno)", E_USER_NOTICE); return; } else { if ($_is_proxy) { - fputs($fp, 'GET ' . $params['file'] . " HTTP/1.0\r\n"); + fputs($fp, 'GET ' . $params[ 'file' ] . " HTTP/1.0\r\n"); } else { fputs($fp, "GET $uri HTTP/1.0\r\n"); } @@ -179,40 +169,35 @@ function smarty_function_fetch($params, $template) } if (isset($extra_headers) && is_array($extra_headers)) { foreach ($extra_headers as $curr_header) { - fputs($fp, $curr_header."\r\n"); + fputs($fp, $curr_header . "\r\n"); } } if (!empty($user) && !empty($pass)) { - fputs($fp, "Authorization: BASIC ".base64_encode("$user:$pass")."\r\n"); + fputs($fp, 'Authorization: BASIC ' . base64_encode("$user:$pass") . "\r\n"); } - fputs($fp, "\r\n"); while (!feof($fp)) { - $content .= fgets($fp,4096); + $content .= fgets($fp, 4096); } fclose($fp); - $csplit = preg_split("!\r\n\r\n!",$content,2); - - $content = $csplit[1]; - - if (!empty($params['assign_headers'])) { - $template->assign($params['assign_headers'],preg_split("!\r\n!",$csplit[0])); + $csplit = preg_split("!\r\n\r\n!", $content, 2); + $content = $csplit[ 1 ]; + if (!empty($params[ 'assign_headers' ])) { + $template->assign($params[ 'assign_headers' ], preg_split("!\r\n!", $csplit[ 0 ])); } } } else { - trigger_error("[plugin fetch] unable to parse URL, check syntax",E_USER_NOTICE); - + trigger_error("[plugin fetch] unable to parse URL, check syntax", E_USER_NOTICE); return; } } else { - $content = @file_get_contents($params['file']); + $content = @file_get_contents($params[ 'file' ]); if ($content === false) { - throw new SmartyException("{fetch} cannot read resource '" . $params['file'] ."'"); + throw new SmartyException("{fetch} cannot read resource '" . $params[ 'file' ] . "'"); } } - - if (!empty($params['assign'])) { - $template->assign($params['assign'], $content); + if (!empty($params[ 'assign' ])) { + $template->assign($params[ 'assign' ], $content); } else { return $content; } diff --git a/resources/templates/engine/smarty/plugins/function.html_checkboxes.php b/resources/templates/engine/smarty/plugins/function.html_checkboxes.php index ad0e9cd415..302358edd8 100644 --- a/resources/templates/engine/smarty/plugins/function.html_checkboxes.php +++ b/resources/templates/engine/smarty/plugins/function.html_checkboxes.php @@ -2,26 +2,24 @@ /** * Smarty plugin * - * @package Smarty + * @package Smarty * @subpackage PluginsFunction */ - /** * Smarty {html_checkboxes} function plugin - * - * File: function.html_checkboxes.php
- * Type: function
- * Name: html_checkboxes
- * Date: 24.Feb.2003
- * Purpose: Prints out a list of checkbox input types
+ * File: function.html_checkboxes.php + * Type: function + * Name: html_checkboxes + * Date: 24.Feb.2003 + * Purpose: Prints out a list of checkbox input types * Examples: - *
+ *
  * {html_checkboxes values=$ids output=$names}
  * {html_checkboxes values=$ids name='box' separator='
' output=$names} * {html_checkboxes values=$ids checked=$checked separator='
' output=$names} - *
+ * * Params: - *
+ *
  * - name       (optional) - string default "checkbox"
  * - values     (required) - array
  * - options    (optional) - associative array
@@ -30,22 +28,30 @@
  * - output     (optional) - the output next to each checkbox
  * - assign     (optional) - assign the output as an array to this variable
  * - escape     (optional) - escape the content (not value), defaults to true
- * 
* - * @link http://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes} - * (Smarty online manual) - * @author Christopher Kvarme - * @author credits to Monte Ohrt - * @version 1.0 - * @param array $params parameters - * @param object $template template object + * @link http://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes} + * (Smarty online manual) + * @author Christopher Kvarme + * @author credits to Monte Ohrt + * @version 1.0 + * + * @param array $params parameters + * @param Smarty_Internal_Template $template template object + * * @return string - * @uses smarty_function_escape_special_chars() + * @uses smarty_function_escape_special_chars() + * @throws \SmartyException */ -function smarty_function_html_checkboxes($params, $template) +function smarty_function_html_checkboxes($params, Smarty_Internal_Template $template) { - require_once(SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php'); - + $template->_checkPlugins( + array( + array( + 'function' => 'smarty_function_escape_special_chars', + 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php' + ) + ) + ); $name = 'checkbox'; $values = null; $options = null; @@ -55,181 +61,226 @@ function smarty_function_html_checkboxes($params, $template) $labels = true; $label_ids = false; $output = null; - $extra = ''; - foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'separator': - $$_key = (string) $_val; + $$_key = (string)$_val; break; - case 'escape': case 'labels': case 'label_ids': - $$_key = (bool) $_val; + $$_key = (bool)$_val; break; - case 'options': - $$_key = (array) $_val; + $$_key = (array)$_val; break; - case 'values': case 'output': - $$_key = array_values((array) $_val); + $$_key = array_values((array)$_val); break; - case 'checked': case 'selected': if (is_array($_val)) { $selected = array(); foreach ($_val as $_sel) { if (is_object($_sel)) { - if (method_exists($_sel, "__toString")) { - $_sel = smarty_function_escape_special_chars((string) $_sel->__toString()); + if (method_exists($_sel, '__toString')) { + $_sel = smarty_function_escape_special_chars((string)$_sel->__toString()); } else { - trigger_error("html_checkboxes: selected attribute contains an object of class '". get_class($_sel) ."' without __toString() method", E_USER_NOTICE); + trigger_error( + 'html_checkboxes: selected attribute contains an object of class \'' . + get_class($_sel) . '\' without __toString() method', + E_USER_NOTICE + ); continue; } } else { - $_sel = smarty_function_escape_special_chars((string) $_sel); + $_sel = smarty_function_escape_special_chars((string)$_sel); } - $selected[$_sel] = true; + $selected[ $_sel ] = true; } } elseif (is_object($_val)) { - if (method_exists($_val, "__toString")) { - $selected = smarty_function_escape_special_chars((string) $_val->__toString()); + if (method_exists($_val, '__toString')) { + $selected = smarty_function_escape_special_chars((string)$_val->__toString()); } else { - trigger_error("html_checkboxes: selected attribute is an object of class '". get_class($_val) ."' without __toString() method", E_USER_NOTICE); + trigger_error( + 'html_checkboxes: selected attribute is an object of class \'' . get_class($_val) . + '\' without __toString() method', + E_USER_NOTICE + ); } } else { - $selected = smarty_function_escape_special_chars((string) $_val); + $selected = smarty_function_escape_special_chars((string)$_val); } break; - case 'checkboxes': - trigger_error('html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', E_USER_WARNING); - $options = (array) $_val; + trigger_error( + 'html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', + E_USER_WARNING + ); + $options = (array)$_val; break; - case 'assign': break; - - case 'strict': break; - + case 'strict': + break; case 'disabled': case 'readonly': - if (!empty($params['strict'])) { + if (!empty($params[ 'strict' ])) { if (!is_scalar($_val)) { - trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE); + trigger_error( + "html_options: {$_key} attribute must be a scalar, only boolean true or string '{$_key}' will actually add the attribute", + E_USER_NOTICE + ); } - if ($_val === true || $_val === $_key) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"'; } - break; } - // omit break; to fall through! - + // omit break; to fall through! + // no break default: if (!is_array($_val)) { - $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"'; + $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { - trigger_error("html_checkboxes: extra attribute '$_key' cannot be an array", E_USER_NOTICE); + trigger_error("html_checkboxes: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } - - if (!isset($options) && !isset($values)) - return ''; /* raise error here? */ - + if (!isset($options) && !isset($values)) { + return ''; + } /* raise error here? */ $_html_result = array(); - if (isset($options)) { - foreach ($options as $_key=>$_val) { - $_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape); + foreach ($options as $_key => $_val) { + $_html_result[] = + smarty_function_html_checkboxes_output( + $name, + $_key, + $_val, + $selected, + $extra, + $separator, + $labels, + $label_ids, + $escape + ); } } else { - foreach ($values as $_i=>$_key) { - $_val = isset($output[$_i]) ? $output[$_i] : ''; - $_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape); + foreach ($values as $_i => $_key) { + $_val = isset($output[ $_i ]) ? $output[ $_i ] : ''; + $_html_result[] = + smarty_function_html_checkboxes_output( + $name, + $_key, + $_val, + $selected, + $extra, + $separator, + $labels, + $label_ids, + $escape + ); } } - - if (!empty($params['assign'])) { - $template->assign($params['assign'], $_html_result); + if (!empty($params[ 'assign' ])) { + $template->assign($params[ 'assign' ], $_html_result); } else { return implode("\n", $_html_result); } - } -function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape=true) -{ +/** + * @param $name + * @param $value + * @param $output + * @param $selected + * @param $extra + * @param $separator + * @param $labels + * @param $label_ids + * @param bool $escape + * + * @return string + */ +function smarty_function_html_checkboxes_output( + $name, + $value, + $output, + $selected, + $extra, + $separator, + $labels, + $label_ids, + $escape = true +) { $_output = ''; - if (is_object($value)) { - if (method_exists($value, "__toString")) { - $value = (string) $value->__toString(); + if (method_exists($value, '__toString')) { + $value = (string)$value->__toString(); } else { - trigger_error("html_options: value is an object of class '". get_class($value) ."' without __toString() method", E_USER_NOTICE); - + trigger_error( + 'html_options: value is an object of class \'' . get_class($value) . + '\' without __toString() method', + E_USER_NOTICE + ); return ''; } } else { - $value = (string) $value; + $value = (string)$value; } - if (is_object($output)) { - if (method_exists($output, "__toString")) { - $output = (string) $output->__toString(); + if (method_exists($output, '__toString')) { + $output = (string)$output->__toString(); } else { - trigger_error("html_options: output is an object of class '". get_class($output) ."' without __toString() method", E_USER_NOTICE); - + trigger_error( + 'html_options: output is an object of class \'' . get_class($output) . + '\' without __toString() method', + E_USER_NOTICE + ); return ''; } } else { - $output = (string) $output; + $output = (string)$output; } - if ($labels) { if ($label_ids) { - $_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value)); + $_id = smarty_function_escape_special_chars( + preg_replace( + '![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, + '_', + $name . '_' . $value + ) + ); $_output .= '