diff --git a/app/access_controls/access_control_edit.php b/app/access_controls/access_control_edit.php index a187cd119d..e8a1dd3dbe 100644 --- a/app/access_controls/access_control_edit.php +++ b/app/access_controls/access_control_edit.php @@ -2,21 +2,23 @@ /* FusionPBX Version: MPL 1.1 + The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. + The Original Code is FusionPBX + The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2018 + Portions created by the Initial Developer are Copyright (C) 2018 - 2020 the Initial Developer. All Rights Reserved. - Contributor(s): - Mark J Crane */ //includes @@ -25,8 +27,12 @@ require_once "resources/check_auth.php"; //check permissions - if (!permission_exists('access_control_add') && !permission_exists('access_control_edit')) { - echo "access denied"; exit; + if (permission_exists('access_control_add') || permission_exists('access_control_edit')) { + //access granted + } + else { + echo "access denied"; + exit; } //add multi-lingual support @@ -37,131 +43,203 @@ if (is_uuid($_REQUEST["id"])) { $action = "update"; $access_control_uuid = $_REQUEST["id"]; + $id = $_REQUEST["id"]; } else { $action = "add"; } //get http post variables and set them to php variables - if (count($_POST)>0) { + if (is_array($_POST) && @sizeof($_POST) != 0) { $access_control_name = $_POST["access_control_name"]; $access_control_default = $_POST["access_control_default"]; + $access_control_nodes = $_POST["access_control_nodes"]; $access_control_description = $_POST["access_control_description"]; } -if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { +//process the user data and save it to the database + if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { - //delete the access control - if (permission_exists('access_control_delete')) { - if ($_POST['action'] == 'delete' && is_uuid($access_control_uuid)) { - //prepare - $array[0]['checked'] = 'true'; - $array[0]['uuid'] = $access_control_uuid; - //delete - $obj = new access_controls; - $obj->delete($array); - //redirect - header('Location: access_controls.php'); + //validate the token + $token = new token; + if (!$token->validate($_SERVER['PHP_SELF'])) { + message::add($text['message-invalid_token'],'negative'); + header('Location: access_controls.php'); + exit; + } + + //process the http post data by submitted action + if ($_POST['action'] != '' && strlen($_POST['action']) > 0) { + + //prepare the array(s) + $x = 0; + foreach ($_POST['access_control_nodes'] as $row) { + if (is_uuid($row['access_control_uuid']) && $row['checked'] === 'true') { + $array['access_controls'][$x]['checked'] = $row['checked']; + $array['access_controls'][$x]['access_control_nodes'][]['access_control_node_uuid'] = $row['access_control_node_uuid']; + $x++; + } + } + + //send the array to the database class + switch ($_POST['action']) { + case 'copy': + if (permission_exists('access_control_add')) { + $obj = new database; + $obj->copy($array); + } + break; + case 'delete': + if (permission_exists('access_control_delete')) { + $obj = new database; + $obj->delete($array); + } + break; + case 'toggle': + if (permission_exists('access_control_update')) { + $obj = new database; + $obj->toggle($array); + } + break; + } + + //clear the cache, reloadacl and redirect the user + if (in_array($_POST['action'], array('copy', 'delete', 'toggle'))) { + //clear the cache + $cache = new cache; + $cache->delete("configuration:acl.conf"); + + //create the event socket connection + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + if ($fp) { + event_socket_request($fp, "api reloadacl"); + } + + //redirect the user + header('Location: access_control_edit.php?id='.$id); exit; + } } - } - //get the primary key - if ($action == "update") { - $access_control_uuid = $_POST["access_control_uuid"]; - } + //check for all required data + $msg = ''; + if (strlen($access_control_name) == 0) { $msg .= $text['message-required']." ".$text['label-access_control_name']."
\n"; } + if (strlen($access_control_default) == 0) { $msg .= $text['message-required']." ".$text['label-access_control_default']."
\n"; } + //if (strlen($access_control_nodes) == 0) { $msg .= $text['message-required']." ".$text['label-access_control_nodes']."
\n"; } + //if (strlen($access_control_description) == 0) { $msg .= $text['message-required']." ".$text['label-access_control_description']."
\n"; } + if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { + require_once "resources/header.php"; + require_once "resources/persist_form_var.php"; + echo "
\n"; + echo "
\n"; + echo $msg."
"; + echo "
\n"; + persistformvar($_POST); + echo "
\n"; + require_once "resources/footer.php"; + return; + } - //validate the token - $token = new token; - if (!$token->validate($_SERVER['PHP_SELF'])) { - message::add($text['message-invalid_token'],'negative'); - header('Location: access_controls.php'); - exit; - } - - //check for all required data - $msg = ''; - if (strlen($access_control_name) == 0) { $msg .= $text['message-required']." ".$text['label-access_control_name']."
\n"; } - if (strlen($access_control_default) == 0) { $msg .= $text['message-required']." ".$text['label-access_control_default']."
\n"; } - //if (strlen($access_control_description) == 0) { $msg .= $text['message-required']." ".$text['label-access_control_description']."
\n"; } - if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { - require_once "resources/header.php"; - require_once "resources/persist_form_var.php"; - echo "
\n"; - echo "
\n"; - echo $msg."
"; - echo "
\n"; - persistformvar($_POST); - echo "
\n"; - require_once "resources/footer.php"; - return; - } - - //add or update the database - if ($_POST["persistformvar"] != "true") { - $execute = false; - - if ($action == "add" && permission_exists('access_control_add')) { - $execute = true; + //add the access_control_uuid + if (!is_uuid($_POST["access_control_uuid"])) { $access_control_uuid = uuid(); - - //set the message - message::add($text['message-add']); - - //set redirect url - $redirect_url = 'access_control_edit.php?id='.$access_control_uuid; } - if ($action == "update" && permission_exists('access_control_edit')) { - $execute = true; - - //set the message - message::add($text['message-update']); + //prepare the array + $array['access_controls'][0]['access_control_uuid'] = $access_control_uuid; + $array['access_controls'][0]['access_control_name'] = $access_control_name; + $array['access_controls'][0]['access_control_default'] = $access_control_default; + $array['access_controls'][0]['access_control_description'] = $access_control_description; + $y = 0; + if (is_array($access_control_nodes)) { + foreach ($access_control_nodes as $row) { + if (strlen($row['node_type']) > 0) { + $array['access_controls'][0]['access_control_nodes'][$y]['access_control_node_uuid'] = $row["access_control_node_uuid"]; + $array['access_controls'][0]['access_control_nodes'][$y]['node_type'] = $row["node_type"]; + $array['access_controls'][0]['access_control_nodes'][$y]['node_cidr'] = $row["node_cidr"]; + $array['access_controls'][0]['access_control_nodes'][$y]['node_domain'] = $row["node_domain"]; + $array['access_controls'][0]['access_control_nodes'][$y]['node_description'] = $row["node_description"]; + $y++; + } + } } - if ($execute) { - $array['access_controls'][0]['access_control_uuid'] = $access_control_uuid; - $array['access_controls'][0]['access_control_name'] = $access_control_name; - $array['access_controls'][0]['access_control_default'] = $access_control_default; - $array['access_controls'][0]['access_control_description'] = $access_control_description; - $database = new database; - $database->app_name = 'access_control'; - $database->app_uuid = '1416a250-f6e1-4edc-91a6-5c9b883638fd'; - $database->save($array); - unset($array); + //save the data + $database = new database; + $database->app_name = 'access controls'; + $database->app_uuid = '1416a250-f6e1-4edc-91a6-5c9b883638fd'; + $database->save($array); - //clear the cache - $cache = new cache; - $cache->delete("configuration:acl.conf"); + //clear the cache + $cache = new cache; + $cache->delete("configuration:acl.conf"); - //create the event socket connection - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - if ($fp) { event_socket_request($fp, "api reloadacl"); } + //create the event socket connection + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + if ($fp) { + event_socket_request($fp, "api reloadacl"); } - //redirect the user - header('Location: '.($redirect_url ? $redirect_url : 'access_controls.php')); - exit; - } - -} + //redirect the user + if (isset($action)) { + if ($action == "add") { + $_SESSION["message"] = $text['message-add']; + } + if ($action == "update") { + $_SESSION["message"] = $text['message-update']; + } + //header('Location: access_controls.php'); + header('Location: access_control_edit.php?id='.urlencode($access_control_uuid)); + return; + } + } //pre-populate the form - if (count($_GET) > 0 && $_POST["persistformvar"] != "true" && is_uuid($_GET["id"])) { - $access_control_uuid = $_GET["id"]; + if (is_array($_GET) && $_POST["persistformvar"] != "true") { $sql = "select * from v_access_controls "; $sql .= "where access_control_uuid = :access_control_uuid "; $parameters['access_control_uuid'] = $access_control_uuid; $database = new database; $row = $database->select($sql, $parameters, 'row'); - if (is_array($row) && sizeof($row)) { + if (is_array($row) && @sizeof($row) != 0) { $access_control_name = $row["access_control_name"]; $access_control_default = $row["access_control_default"]; $access_control_description = $row["access_control_description"]; } - unset ($sql, $parameters, $row); + unset($sql, $parameters, $row); } +//get the child data + if (is_uuid($access_control_uuid)) { + $sql = "select * from v_access_control_nodes "; + $sql .= "where access_control_uuid = :access_control_uuid "; + $sql .= "order by node_cidr asc"; + $parameters['access_control_uuid'] = $access_control_uuid; + $database = new database; + $access_control_nodes = $database->select($sql, $parameters, 'all'); + unset ($sql, $parameters); + } + +//add the $access_control_node_uuid + if (!is_uuid($access_control_node_uuid)) { + $access_control_node_uuid = uuid(); + } + +//add an empty row + if (is_array($access_control_nodes) && @sizeof($access_control_nodes) != 0) { + $x = count($access_control_nodes); + } + else { + $access_control_nodes = array(); + $x = 0; + } + $access_control_nodes[$x]['access_control_uuid'] = $access_control_uuid; + $access_control_nodes[$x]['access_control_node_uuid'] = uuid(); + $access_control_nodes[$x]['node_type'] = ''; + $access_control_nodes[$x]['node_cidr'] = ''; + $access_control_nodes[$x]['node_domain'] = ''; + $access_control_nodes[$x]['node_description'] = ''; + //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); @@ -172,66 +250,158 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { //show the content echo "
\n"; + echo "\n"; echo "
\n"; echo "
".$text['title-access_control']."
\n"; echo "
\n"; - echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','collapse'=>'hide-xs','link'=>'access_controls.php']); - if ($action == 'update' && permission_exists('access_control_delete')) { - echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'name'=>'btn_delete_access_control','collapse'=>'hide-xs','style'=>'margin-right: 15px;','onclick'=>"modal_open('modal-delete-access-control','btn_delete_access_control');"]); + echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','collapse'=>'hide-xs','style'=>'margin-right: 15px;','link'=>'access_controls.php']); + if ($action == 'update') { + if (permission_exists('access_control_node_add')) { + echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'id'=>'btn_copy','name'=>'btn_copy','style'=>'display: none;','onclick'=>"modal_open('modal-copy','btn_copy');"]); + } + if (permission_exists('access_control_node_delete')) { + echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','name'=>'btn_delete','style'=>'display: none; margin-right: 15px;','onclick'=>"modal_open('modal-delete','btn_delete');"]); + } } echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','collapse'=>'hide-xs']); echo "
\n"; echo "
\n"; echo "
\n"; - if ($action == 'update' && permission_exists('access_control_delete')) { - echo modal::create(['id'=>'modal-delete-access-control','type'=>'delete','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete_access_control','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'delete','onclick'=>"modal_close();"])]); + echo $text['title_description-access_controls']."\n"; + echo "

\n"; + + if ($action == 'update') { + if (permission_exists('access_control_add')) { + echo modal::create(['id'=>'modal-copy','type'=>'copy','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_copy','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'copy','onclick'=>"modal_close();"])]); + } + if (permission_exists('access_control_delete')) { + echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'delete','onclick'=>"modal_close();"])]); + } + } + + if ($action == 'update') { + if (permission_exists('access_control_add')) { + echo modal::create(['id'=>'modal-copy','type'=>'copy','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_copy','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'copy','onclick'=>"modal_close();"])]); + } + if (permission_exists('access_control_delete')) { + echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'delete','onclick'=>"modal_close();"])]); + } } 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"; @@ -240,19 +410,11 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo "
\n"; + echo "\n"; echo " ".$text['label-access_control_name']."\n"; echo "\n"; - echo " \n"; + echo "\n"; + echo " \n"; echo "
\n"; echo $text['description-access_control_name']."\n"; echo "
\n"; + echo "\n"; echo " ".$text['label-access_control_default']."\n"; echo "\n"; - echo " \n"; + echo "\n"; + echo " \n"; echo "
\n"; echo $text['description-access_control_default']."\n"; echo "
\n"; + echo " ".$text['label-access_control_nodes']."\n"; + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + if (is_array($access_control_nodes) && @sizeof($access_control_nodes) > 1 && permission_exists('access_control_node_delete')) { + echo " \n"; + } + echo " \n"; + $x = 0; + foreach($access_control_nodes as $row) { + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + if (is_array($access_control_nodes) && @sizeof($access_control_nodes) > 1 && permission_exists('access_control_node_delete')) { + if (is_uuid($row['access_control_node_uuid'])) { + echo " \n"; + } + else { + echo " \n"; + } + } + echo " \n"; + $x++; + } + echo "
".$text['label-node_type']."".$text['label-node_cidr']."".$text['label-node_domain']."".$text['label-node_description']."\n"; + echo " ".$text['label-action']."\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['description-node_description']."\n"; + echo "
\n"; echo " ".$text['label-access_control_description']."\n"; echo "\n"; - echo " \n"; + echo "\n"; + echo " \n"; echo "
\n"; echo $text['description-access_control_description']."\n"; echo "
"; echo "

"; - if ($action == "update") { - echo "\n"; - } echo "\n"; echo "
"; - if ($action == "update") { - require "access_control_nodes.php"; - echo "

"; - } - //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/app/access_controls/access_control_node_edit.php b/app/access_controls/access_control_node_edit.php deleted file mode 100644 index 277df3fb18..0000000000 --- a/app/access_controls/access_control_node_edit.php +++ /dev/null @@ -1,279 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2018 - 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('access_control_node_add') && !permission_exists('access_control_node_edit')) { - echo "access denied"; exit; - } - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//action add or update - if (is_uuid($_REQUEST["id"])) { - $action = "update"; - $access_control_node_uuid = $_REQUEST["id"]; - } - else { - $action = "add"; - } - -//set the parent uuid - if (is_uuid($_GET["access_control_uuid"])) { - $access_control_uuid = $_GET["access_control_uuid"]; - } - -//get http post variables and set them to php variables - if (count($_POST)>0) { - $node_type = $_POST["node_type"]; - $node_cidr = $_POST["node_cidr"]; - $node_domain = $_POST["node_domain"]; - $node_description = $_POST["node_description"]; - } - -if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { - - //get the uuid - if ($action == "update" && is_uuid($_POST["access_control_node_uuid"])) { - $access_control_node_uuid = $_POST["access_control_node_uuid"]; - } - - //validate the token - $token = new token; - if (!$token->validate($_SERVER['PHP_SELF'])) { - message::add($text['message-invalid_token'],'negative'); - header('Location: access_controls.php'); - exit; - } - - //check for all required data - $msg = ''; - if (strlen($node_type) == 0) { $msg .= $text['message-required']." ".$text['label-node_type']."
\n"; } - //if (strlen($node_cidr) == 0) { $msg .= $text['message-required']." ".$text['label-node_cidr']."
\n"; } - //if (strlen($node_domain) == 0) { $msg .= $text['message-required']." ".$text['label-node_domain']."
\n"; } - //if (strlen($node_description) == 0) { $msg .= $text['message-required']." ".$text['label-node_description']."
\n"; } - - // check IPv4 and IPv6 CIDR notation - $pattern4 = '/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$/'; - $pattern6 = '/^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))$/'; - - if ($node_cidr != '' && (preg_match($pattern4, $node_cidr) == 0) && (preg_match($pattern6, $node_cidr) == 0)) { - $msg .= $text['message-required']." ".$text['label-node_cidr']."
\n"; - } - - if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { - require_once "resources/header.php"; - require_once "resources/persist_form_var.php"; - echo "
\n"; - echo "
\n"; - echo $msg."
"; - echo "
\n"; - persistformvar($_POST); - echo "
\n"; - require_once "resources/footer.php"; - return; - } - - //add or update the database - if ($_POST["persistformvar"] != "true") { - if ($action == "add" && permission_exists('access_control_node_add')) { - - //insert - $array['access_control_nodes'][0]['access_control_node_uuid'] = uuid(); - $array['access_control_nodes'][0]['access_control_uuid'] = $access_control_uuid; - $array['access_control_nodes'][0]['node_type'] = $node_type; - $array['access_control_nodes'][0]['node_cidr'] = $node_cidr; - $array['access_control_nodes'][0]['node_domain'] = $node_domain; - $array['access_control_nodes'][0]['node_description'] = $node_description; - $database = new database; - $database->app_name = 'access_controls'; - $database->app_uuid = '1416a250-f6e1-4edc-91a6-5c9b883638fd'; - $database->save($array); - unset($array); - - //clear the cache - $cache = new cache; - $cache->delete("configuration:acl.conf"); - - //create the event socket connection - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - if ($fp) { event_socket_request($fp, "api reloadacl"); } - - //add the message - message::add($text['message-add']); - - //redirect the browser - header('Location: access_control_edit.php?id='.escape($access_control_uuid)); - return; - - } //if ($action == "add") - - if ($action == "update" && permission_exists('access_control_node_edit')) { - - //update - $array['access_control_nodes'][0]['access_control_node_uuid'] = $access_control_node_uuid; - $array['access_control_nodes'][0]['access_control_uuid'] = $access_control_uuid; - $array['access_control_nodes'][0]['node_type'] = $node_type; - $array['access_control_nodes'][0]['node_cidr'] = $node_cidr; - $array['access_control_nodes'][0]['node_domain'] = $node_domain; - $array['access_control_nodes'][0]['node_description'] = $node_description; - $database = new database; - $database->app_name = 'access_controls'; - $database->app_uuid = '1416a250-f6e1-4edc-91a6-5c9b883638fd'; - $database->save($array); - unset($array); - - //clear the cache - $cache = new cache; - $cache->delete("configuration:acl.conf"); - - //create the event socket connection - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - if ($fp) { event_socket_request($fp, "api reloadacl"); } - - //add the message - message::add($text['message-update']); - - //redirect the browser - header('Location: access_control_edit.php?id='.escape($access_control_uuid)); - return; - - } //if ($action == "update") - } //if ($_POST["persistformvar"] != "true") -} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) - -//pre-populate the form - if (count($_GET) > 0 && $_POST["persistformvar"] != "true" && is_uuid($_GET["id"])) { - $access_control_node_uuid = $_GET["id"]; - $sql = "select * from v_access_control_nodes "; - $sql .= "where access_control_node_uuid = :access_control_node_uuid "; - $parameters['access_control_node_uuid'] = $access_control_node_uuid; - $database = new database; - $row = $database->select($sql, $parameters, 'row'); - if (is_array($row) && sizeof($row) != 0) { - $node_type = $row["node_type"]; - $node_cidr = $row["node_cidr"]; - $node_domain = $row["node_domain"]; - $node_description = $row["node_description"]; - } - unset($sql, $parameters, $row); - } - -//create token - $object = new token; - $token = $object->create($_SERVER['PHP_SELF']); - -//show the header - $document['title'] = $text['title-access_control_node']; - require_once "resources/header.php"; - -//show the content - echo "
\n"; - - echo "
\n"; - echo "
".$text['title-access_control_node']."
\n"; - echo "
\n"; - echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','link'=>'access_control_edit.php?id='.urlencode($access_control_uuid)]); - echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save']); - 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 "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "
\n"; - echo " ".$text['label-node_type']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-node_type']."\n"; - echo "
\n"; - echo " ".$text['label-node_cidr']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-node_cidr']."\n"; - echo "
\n"; - echo " ".$text['label-node_domain']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-node_domain']."\n"; - echo "
\n"; - echo " ".$text['label-node_description']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-node_description']."\n"; - echo "
"; - echo "

"; - - echo "\n"; - if ($action == "update") { - echo "\n"; - } - echo "\n"; - - echo "
"; - -//include the footer - require_once "resources/footer.php"; - -?> \ No newline at end of file diff --git a/app/access_controls/access_control_nodes.php b/app/access_controls/access_control_nodes.php deleted file mode 100644 index 364dbc4180..0000000000 --- a/app/access_controls/access_control_nodes.php +++ /dev/null @@ -1,197 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2019 - 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"; - require_once "resources/paging.php"; - -//check permissions - if (!permission_exists('access_control_node_view')) { - echo "access denied"; - exit; - } - -//get the http post data - if ($_POST['action'] != '') { - $action = $_POST['action']; - $access_control_uuid = $_POST['access_control_uuid']; - $access_control_nodes = $_POST['access_control_nodes']; - - //process the http post data by action - if (is_array($access_control_nodes) && @sizeof($access_control_nodes) != 0) { - switch ($action) { - case 'delete': - if (permission_exists('access_control_node_delete')) { - $obj = new access_controls; - $obj->delete_nodes($access_control_nodes); - } - break; - } - } - - //redirect - header('Location: access_control_edit.php?id='.urlencode($access_control_uuid)); - exit; - } - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//get variables used to control the order - $order_by = $_GET["order_by"]; - $order = $_GET["order"]; - -//prepare to page the results - $sql = "select count(*) from v_access_control_nodes "; - $sql .= "where access_control_uuid = :access_control_uuid "; - $parameters['access_control_uuid'] = $access_control_uuid; - $database = new database; - $num_rows = $database->select($sql, $parameters, 'column'); - -//prepare to page the results - $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; - $param = "&id=".escape($access_control_uuid); - if (isset($_GET['page'])) { - $page = $_GET['page']; - if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } - list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); - $offset = $rows_per_page * $page; - } - -//get the list - $sql = "select * from v_access_control_nodes "; - $sql .= "where access_control_uuid = :access_control_uuid "; - $sql .= order_by($order_by, $order); - $sql .= limit_offset($rows_per_page, $offset); - $parameters['access_control_uuid'] = $access_control_uuid; - $database = new database; - $access_control_nodes = $database->select($sql, $parameters); - -//create token - $object = new token; - $token = $object->create('/app/access_controls/access_control_nodes.php'); - -//show the content - echo "
\n"; - echo "\n"; - echo "\n"; - - echo "
\n"; - echo "
".$text['title-access_control_nodes']." (".$num_rows.")
\n"; - echo "
\n"; - echo button::create(['type'=>'button','id'=>'action_bar_sub_button_back','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'collapse'=>'hide-xs','style'=>'margin-right: 15px; display: none;','link'=>'access_controls.php']); - if (permission_exists('access_control_node_add')) { - echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'id'=>'btn_add','collapse'=>'hide-xs','link'=>'access_control_node_edit.php?access_control_uuid='.urlencode($_GET['id'])]); - } - if (permission_exists('access_control_node_delete') && $access_control_nodes) { - echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'name'=>'btn_delete','collapse'=>'hide-xs','onclick'=>"modal_open('modal-delete-access-control-node','btn_delete_access_control_node');"]); - } - echo "
\n"; - echo "
\n"; - echo "
\n"; - - if (permission_exists('access_control_node_delete') && $access_control_nodes) { - echo modal::create(['id'=>'modal-delete-access-control-node','type'=>'delete','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete_access_control_node','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('delete'); list_form_submit('form_list');"])]); - } - - echo "\n"; - echo "\n"; - if (permission_exists('access_control_node_delete')) { - echo " \n"; - } - echo th_order_by('node_type', $text['label-node_type'], $order_by, $order); - echo th_order_by('node_cidr', $text['label-node_cidr'], $order_by, $order); - echo th_order_by('node_domain', $text['label-node_domain'], $order_by, $order); - echo th_order_by('node_description', $text['label-node_description'], $order_by, $order, null, "class='hide-sm-dn'"); - if (permission_exists('access_control_node_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { - echo " \n"; - } - echo "\n"; - - if (is_array($access_control_nodes) && @sizeof($access_control_nodes) != 0) { - $x = 0; - foreach ($access_control_nodes as $row) { - if (permission_exists('access_control_node_edit')) { - $list_row_url = 'access_control_node_edit.php?access_control_uuid='.urlencode($row['access_control_uuid'])."&id=".urlencode($row['access_control_node_uuid']); - } - echo "\n"; - if (permission_exists('access_control_node_delete')) { - echo " \n"; - } - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - if (permission_exists('access_control_node_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { - echo " \n"; - } - echo "\n"; - $x++; - } - unset($access_control_nodes); - } - - echo "
\n"; - echo " \n"; - echo "  
\n"; - echo " \n"; - echo " \n"; - echo " ".escape($row['node_type'])." \n"; - if (permission_exists('access_control_node_edit')) { - echo " ".escape($row['node_cidr'])."\n"; - } - else { - echo " ".escape($row['node_cidr']); - } - echo " ".escape($row['node_domain'])." ".escape($row['node_description'])." \n"; - echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]); - echo "
\n"; - echo "
\n"; - - echo "\n"; - echo "
\n"; - -//make sub action bar sticky - echo "\n"; - -//include the footer - require_once "resources/footer.php"; - -?> \ No newline at end of file diff --git a/app/access_controls/access_controls.php b/app/access_controls/access_controls.php index 9784ab4449..0df2caa638 100644 --- a/app/access_controls/access_controls.php +++ b/app/access_controls/access_controls.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2018 + Portions created by the Initial Developer are Copyright (C) 2018 - 2020 the Initial Developer. All Rights Reserved. Contributor(s): @@ -28,18 +28,21 @@ require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; - require_once "resources/paging.php"; //check permissions - if (!permission_exists('access_control_view')) { - echo "access denied"; exit; + if (permission_exists('access_control_view')) { + //access granted + } + else { + echo "access denied"; + exit; } //add multi-lingual support $language = new text; $text = $language->get(); -//get posted data +//get the http post data if (is_array($_POST['access_controls'])) { $action = $_POST['action']; $search = $_POST['search']; @@ -48,60 +51,89 @@ //process the http post data by action if ($action != '' && is_array($access_controls) && @sizeof($access_controls) != 0) { + + //validate the token + $token = new token; + if (!$token->validate($_SERVER['PHP_SELF'])) { + message::add($text['message-invalid_token'],'negative'); + header('Location: access_controls.php'); + exit; + } + + //prepare the array + foreach($access_controls as $row) { + $array['access_controls'][$x]['checked'] = $row['checked']; + $array['access_controls'][$x]['access_control_uuid'] = $row['access_control_uuid']; + $x++; + } + + //prepare the database object + $database = new database; + $database->app_name = 'access_controls'; + $database->app_uuid = '1416a250-f6e1-4edc-91a6-5c9b883638fd'; + + //send the array to the database class switch ($action) { case 'copy': if (permission_exists('access_control_add')) { - $obj = new access_controls; - $obj->copy($access_controls); + $database->copy($array); + } + break; + case 'toggle': + if (permission_exists('access_control_edit')) { + $database->toggle($array); } break; case 'delete': if (permission_exists('access_control_delete')) { - $obj = new access_controls; - $obj->delete($access_controls); + $database->delete($array); } break; } + //redirect the user header('Location: access_controls.php'.($search != '' ? '?search='.urlencode($search) : null)); exit; } -//get variables used to control the order +//get order and order by $order_by = $_GET["order_by"]; $order = $_GET["order"]; -//add the search term - $search = strtolower($_GET["search"]); - if (strlen($search) > 0) { - $sql_search = " ("; - $sql_search .= "lower(access_control_name) like :search "; - $sql_search .= "or lower(access_control_default) like :search "; - $sql_search .= "or lower(access_control_description) like :search "; - $sql_search .= ") "; +//add the search + if (isset($_GET["search"])) { + $search = strtolower($_GET["search"]); $parameters['search'] = '%'.$search.'%'; } -//prepare to page the results - $sql = "select count(*) from v_access_controls "; - if (isset($sql_search)) { - $sql .= "where ".$sql_search; +//get the count + $sql = "select count(access_control_uuid) "; + $sql .= "from v_access_controls "; + if (isset($_GET["search"])) { + $sql .= "where ("; + $sql .= " lower(access_control_name) like :search "; + $sql .= " or lower(access_control_default) like :search "; + $sql .= " or lower(access_control_description) like :search "; + $sql .= ") "; } $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); -//prepare to page the results - $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; - $param = "&search=".$search; - $page = $_GET['page']; - if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } - list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); - list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true); - $offset = $rows_per_page * $page; - //get the list - $sql = str_replace('count(*)', '*', $sql); - $sql .= order_by($order_by, $order); + $sql = "select "; + $sql .= "access_control_uuid, "; + $sql .= "access_control_name, "; + $sql .= "access_control_default, "; + $sql .= "access_control_description "; + $sql .= "from v_access_controls "; + if (isset($_GET["search"])) { + $sql .= "where ("; + $sql .= " lower(access_control_name) like :search "; + $sql .= " or lower(access_control_default) like :search "; + $sql .= " or lower(access_control_description) like :search "; + $sql .= ") "; + } + $sql .= order_by($order_by, $order, 'access_control_name', 'asc'); $sql .= limit_offset($rows_per_page, $offset); $database = new database; $access_controls = $database->select($sql, $parameters, 'all'); @@ -111,7 +143,7 @@ $object = new token; $token = $object->create($_SERVER['PHP_SELF']); -//include the header +//additional includes $document['title'] = $text['title-access_controls']; require_once "resources/header.php"; @@ -120,20 +152,20 @@ echo "
".$text['title-access_controls']." (".$num_rows.")
\n"; echo "
\n"; if (permission_exists('access_control_add')) { - echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'id'=>'btn_add','link'=>'access_control_edit.php']); + echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'id'=>'btn_add','name'=>'btn_add','link'=>'access_control_edit.php']); } if (permission_exists('access_control_add') && $access_controls) { - echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'name'=>'btn_copy','onclick'=>"modal_open('modal-copy','btn_copy');"]); + echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'id'=>'btn_copy','name'=>'btn_copy','style'=>'display:none;','onclick'=>"modal_open('modal-copy','btn_copy');"]); } if (permission_exists('access_control_delete') && $access_controls) { - echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'name'=>'btn_delete','onclick'=>"modal_open('modal-delete','btn_delete');"]); + echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','name'=>'btn_delete','style'=>'display:none;','onclick'=>"modal_open('modal-delete','btn_delete');"]); } echo "\n"; echo "
\n"; @@ -147,7 +179,7 @@ echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('delete'); list_form_submit('form_list');"])]); } - echo $text['description-access_control']."\n"; + echo $text['title_description-access_controls']."\n"; echo "

\n"; echo "
\n"; @@ -156,37 +188,44 @@ echo "\n"; echo "\n"; - if (permission_exists('access_control_add') || permission_exists('access_control_delete')) { + if (permission_exists('access_control_add') || permission_exists('access_control_edit') || permission_exists('access_control_delete')) { echo " \n"; } echo th_order_by('access_control_name', $text['label-access_control_name'], $order_by, $order); echo th_order_by('access_control_default', $text['label-access_control_default'], $order_by, $order); - echo th_order_by('access_control_description', $text['label-access_control_description'], $order_by, $order, null, "class='hide-xs'"); + echo " \n"; if (permission_exists('access_control_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { echo " \n"; } echo "\n"; - if (is_array($access_controls)) { + if (is_array($access_controls) && @sizeof($access_controls) != 0) { $x = 0; - foreach($access_controls as $row) { + foreach ($access_controls as $row) { if (permission_exists('access_control_edit')) { $list_row_url = "access_control_edit.php?id=".urlencode($row['access_control_uuid']); } echo "\n"; - if (permission_exists('access_control_add') || permission_exists('access_control_delete')) { + if (permission_exists('access_control_add') || permission_exists('access_control_edit') || permission_exists('access_control_delete')) { echo " \n"; } - echo " \n"; + echo " \n"; echo " \n"; - echo " \n"; + echo " \n"; if (permission_exists('access_control_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { - echo " \n"; } @@ -207,4 +246,4 @@ //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/app/access_controls/app_languages.php b/app/access_controls/app_languages.php index f8e868b695..27fb0ec666 100644 --- a/app/access_controls/app_languages.php +++ b/app/access_controls/app_languages.php @@ -85,6 +85,27 @@ $text['title-access_control']['ru-ru'] = "Управление доступом" $text['title-access_control']['sv-se'] = "Åtkomstkontroll"; $text['title-access_control']['uk-ua'] = "Управління доступом"; +$text['title_description-access_controls']['en-us'] = "Access control list can allow or deny ranges of IP addresses."; +$text['title_description-access_controls']['en-gb'] = "Access control list can allow or deny ranges of IP addresses."; +$text['title_description-access_controls']['ar-eg'] = "قائمة التحكم بالوصول يمكن السماح أو الرفض نطاقات العناوين."; +$text['title_description-access_controls']['de-at'] = " Die Zugriffskontrollliste kann Bereiche von IP Adressen zulassen oder ablehnen."; //copied from de-de +$text['title_description-access_controls']['de-ch'] = " Die Zugriffskontrollliste kann Bereiche von IP Adressen zulassen oder ablehnen."; //copied from de-de +$text['title_description-access_controls']['de-de'] = " Die Zugriffskontrollliste kann Bereiche von IP Adressen zulassen oder ablehnen."; +$text['title_description-access_controls']['es-cl'] = " Lista de control de acceso puede permitir o denegar los rangos de direcciones IP."; +$text['title_description-access_controls']['es-mx'] = " Lista de control de acceso puede permitir o denegar los rangos de direcciones IP."; //copied from es-cl +$text['title_description-access_controls']['fr-ca'] = " Liste de contrôle d'accès peut autoriser ou refuser des plages d'adresses IP."; //copied from fr-fr +$text['title_description-access_controls']['fr-fr'] = " Liste de contrôle d'accès peut autoriser ou refuser des plages d'adresses IP."; +$text['title_description-access_controls']['he-il'] = " רשימת בקרת גישה יכולה לאפשר או למנוע טווחים של כתובות IP."; +$text['title_description-access_controls']['it-it'] = "Le liste per il controllo di accesso permettono o negano l'accesso a range di IP."; +$text['title_description-access_controls']['nl-nl'] = "Toegang Controle lijst kan IP adres reeks toestaan of verbieden."; +$text['title_description-access_controls']['pl-pl'] = "Lista kontroli dostępu może umożliwić lub zablokować zakresy adresów IP."; +$text['title_description-access_controls']['pt-br'] = "Lista de controle de acesso pode permitir ou negar intervalos de endereços IP."; //copied from pt-pt +$text['title_description-access_controls']['pt-pt'] = "Lista de controle de acesso pode permitir ou negar intervalos de endereços IP."; +$text['title_description-access_controls']['ro-ro'] = "Lista de control al accesului poate permite sau refuza intervale de adrese IP."; +$text['title_description-access_controls']['ru-ru'] = "Контроль доступа может разрешить или запретить диапазоны IP адресов."; +$text['title_description-access_controls']['sv-se'] = "Åtkomstkontrollista kan tillåta eller neka intervall av IP-adresser."; +$text['title_description-access_controls']['uk-ua'] = "Список контролю доступу може дозволити або заборонити діапазони IP-адрес."; + $text['label-node_type']['en-us'] = "Type"; $text['label-node_type']['en-gb'] = "Type"; $text['label-node_type']['ar-eg'] = "اكتب"; @@ -421,25 +442,4 @@ $text['description-access_control_default']['ru-ru'] = "Выберите тип $text['description-access_control_default']['sv-se'] = "Välj standardtypen."; $text['description-access_control_default']['uk-ua'] = "Вибір типу за замовчуванням."; -$text['description-access_control']['en-us'] = "Access control list can allow or deny ranges of IP addresses."; -$text['description-access_control']['en-gb'] = "Access control list can allow or deny ranges of IP addresses."; -$text['description-access_control']['ar-eg'] = "قائمة التحكم بالوصول يمكن السماح أو الرفض نطاقات العناوين."; -$text['description-access_control']['de-at'] = " Die Zugriffskontrollliste kann Bereiche von IP Adressen zulassen oder ablehnen."; //copied from de-de -$text['description-access_control']['de-ch'] = " Die Zugriffskontrollliste kann Bereiche von IP Adressen zulassen oder ablehnen."; //copied from de-de -$text['description-access_control']['de-de'] = " Die Zugriffskontrollliste kann Bereiche von IP Adressen zulassen oder ablehnen."; -$text['description-access_control']['es-cl'] = " Lista de control de acceso puede permitir o denegar los rangos de direcciones IP."; -$text['description-access_control']['es-mx'] = " Lista de control de acceso puede permitir o denegar los rangos de direcciones IP."; //copied from es-cl -$text['description-access_control']['fr-ca'] = " Liste de contrôle d'accès peut autoriser ou refuser des plages d'adresses IP."; //copied from fr-fr -$text['description-access_control']['fr-fr'] = " Liste de contrôle d'accès peut autoriser ou refuser des plages d'adresses IP."; -$text['description-access_control']['he-il'] = " רשימת בקרת גישה יכולה לאפשר או למנוע טווחים של כתובות IP."; -$text['description-access_control']['it-it'] = "Le liste per il controllo di accesso permettono o negano l'accesso a range di IP."; -$text['description-access_control']['nl-nl'] = "Toegang Controle lijst kan IP adres reeks toestaan of verbieden."; -$text['description-access_control']['pl-pl'] = "Lista kontroli dostępu może umożliwić lub zablokować zakresy adresów IP."; -$text['description-access_control']['pt-br'] = "Lista de controle de acesso pode permitir ou negar intervalos de endereços IP."; //copied from pt-pt -$text['description-access_control']['pt-pt'] = "Lista de controle de acesso pode permitir ou negar intervalos de endereços IP."; -$text['description-access_control']['ro-ro'] = "Lista de control al accesului poate permite sau refuza intervale de adrese IP."; -$text['description-access_control']['ru-ru'] = "Контроль доступа может разрешить или запретить диапазоны IP адресов."; -$text['description-access_control']['sv-se'] = "Åtkomstkontrollista kan tillåta eller neka intervall av IP-adresser."; -$text['description-access_control']['uk-ua'] = "Список контролю доступу може дозволити або заборонити діапазони IP-адрес."; - ?> diff --git a/app/basic_operator_panel/index.php b/app/basic_operator_panel/index.php index 1d3a726e02..a163b0ca26 100644 --- a/app/basic_operator_panel/index.php +++ b/app/basic_operator_panel/index.php @@ -233,6 +233,8 @@ url += '&vd_ext_from=' + document.getElementById('vd_ext_from').value; url += '&vd_ext_to=' + document.getElementById('vd_ext_to').value; url += '&group=' + ((document.getElementById('group')) ? document.getElementById('group').value : ''); + url += '&extension_filter=' + ((document.getElementById('extension_filter')) ? document.getElementById('extension_filter').value : ''); + url += '&name_filter=' + ((document.getElementById('name_filter')) ? document.getElementById('name_filter').value : ''); url += '&eavesdrop_dest=' + ((document.getElementById('eavesdrop_dest')) ? document.getElementById('eavesdrop_dest').value : ''); if (document.getElementById('sort1')) if (document.getElementById('sort1').value == '1') url += '&sort'; @@ -320,6 +322,8 @@ url += '&vd_ext_from=' + document.getElementById('vd_ext_from').value; url += '&vd_ext_to=' + document.getElementById('vd_ext_to').value; url += '&group=' + ((document.getElementById('group')) ? document.getElementById('group').value : ''); + url += '&extension_filter=' + ((document.getElementById('extension_filter')) ? document.getElementById('extension_filter').value : ''); + url += '&name_filter=' + ((document.getElementById('name_filter')) ? document.getElementById('name_filter').value : ''); url += '&eavesdrop_dest=' + ((document.getElementById('eavesdrop_dest')) ? document.getElementById('eavesdrop_dest').value : ''); if (document.getElementById('sort1')) if (document.getElementById('sort1').value == '1') url += '&sort'; diff --git a/app/basic_operator_panel/resources/classes/basic_operator_panel.php b/app/basic_operator_panel/resources/classes/basic_operator_panel.php index eba555208d..f1c32a8fb4 100644 --- a/app/basic_operator_panel/resources/classes/basic_operator_panel.php +++ b/app/basic_operator_panel/resources/classes/basic_operator_panel.php @@ -67,6 +67,7 @@ if (!class_exists('basic_operator_panel')) { $sql .= "e.extension, "; $sql .= "e.number_alias, "; $sql .= "e.effective_caller_id_name, "; + $sql .= "lower(e.effective_caller_id_name) as filter_name, "; $sql .= "e.effective_caller_id_number, "; $sql .= "e.call_group, "; $sql .= "e.description, "; diff --git a/app/basic_operator_panel/resources/content.php b/app/basic_operator_panel/resources/content.php index 52970acb53..397bce9a88 100644 --- a/app/basic_operator_panel/resources/content.php +++ b/app/basic_operator_panel/resources/content.php @@ -69,6 +69,9 @@ $_SESSION['user']['extensions'] = array(); } +//get registrations -- All SIP profiles +$obj = new registrations; + $registrations = $obj->get("all"); $onhover_pause_refresh = " onmouseover='refresh_stop();' onmouseout='refresh_start();'"; @@ -150,7 +153,13 @@ if (is_array($groups) && @sizeof($groups) > 0) { } echo " "; } - +echo " "; echo " "; echo "
\n"; - echo " \n"; + echo " \n"; echo " ".$text['label-access_control_description']." 
\n"; - echo " \n"; - echo " \n"; + echo " \n"; + echo " \n"; echo " ".escape($row['access_control_name'])."\n"; + if (permission_exists('access_control_edit')) { + echo " ".escape($row['access_control_name'])."\n"; + } + else { + echo " ".escape($row['access_control_name']); + } + echo " ".escape($row['access_control_default'])."".escape($row['access_control_description'])."".escape($row['access_control_description']).""; + echo " \n"; echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]); echo " "; +echo " "; +echo " "; +echo " \n"; +echo " \n"; +echo " "; +echo "
"; @@ -165,6 +174,10 @@ if (is_array($activity)) foreach ($activity as $extension => $ext) { //filter by group, if defined if ($_REQUEST['group'] != '' && substr_count($ext['call_group'], $_REQUEST['group']) == 0 && !in_array($extension, $_SESSION['user']['extensions'])) { continue; } + //filter by extension or name, if defined + if ($_REQUEST['extension_filter'] != '' && substr_count($ext['extension'], $_REQUEST['extension_filter']) == 0 && !in_array($extension, $_SESSION['user']['extensions'])) { continue; } + if ($_REQUEST['name_filter'] != '' && substr_count($ext['filter_name'], $_REQUEST['name_filter']) == 0 && !in_array($extension, $_SESSION['user']['extensions'])) { continue; } + //check if feature code being called $format_number = (substr($ext['dest'], 0, 1) == '*') ? false : true; @@ -176,12 +189,18 @@ if (is_array($activity)) foreach ($activity as $extension => $ext) { else if ($ext['callstate'] == 'ACTIVE' && $ext['direction'] == 'outbound') { $ext_state = 'active'; } + else if ($ext['callstate'] == 'HELD' && $ext['direction'] == 'outbound') { + $ext_state = 'held'; + } else if ($ext['callstate'] == 'RING_WAIT' && $ext['direction'] == 'outbound') { $ext_state = 'ringing'; } else if ($ext['callstate'] == 'ACTIVE' && $ext['direction'] == 'inbound') { $ext_state = 'active'; } + else if ($ext['callstate'] == 'HELD' && $ext['direction'] == 'inbound') { + $ext_state = 'held'; + } if (!$format_number) { $call_name = 'System'; $call_number = $ext['dest']; @@ -214,6 +233,12 @@ if (is_array($activity)) foreach ($activity as $extension => $ext) { else if ($ext['state'] == 'CS_EXCHANGE_MEDIA' && $ext['callstate'] == 'ACTIVE' && $ext['direction'] == 'outbound') { $ext_state = 'active'; } + else if ($ext['state'] == 'CS_CONSUME_MEDIA' && $ext['callstate'] == 'HELD' && $ext['direction'] == 'outbound') { + $ext_state = 'held'; + } + else if ($ext['state'] == 'CS_EXCHANGE_MEDIA' && $ext['callstate'] == 'HELD' && $ext['direction'] == 'outbound') { + $ext_state = 'held'; + } $dir_icon = 'inbound'; $call_name = $activity[$ext['cid_num']]['effective_caller_id_name']; $call_number = format_phone($ext['cid_num']); @@ -222,8 +247,23 @@ if (is_array($activity)) foreach ($activity as $extension => $ext) { unset($ext_state, $dir_icon, $call_name, $call_number); } - //determine block style by state (if any) - $style = ($ext_state != '') ? "op_state_".$ext_state : null; + //determin extension register status + $extension_number = $extension.'@'.$_SESSION['domain_name']; + $found_count = 0; + if (is_array($registrations)) { + foreach ($registrations as $array) { + if ($extension_number == $array['user']) { + $found_count++; + } + } + } + if ($found_count > 0) { + //determine block style by state (if any) and register status + $style = ($ext_state != '') ? "op_ext op_state_".$ext_state : "op_ext"; + } else { + $style = "off_ext"; + } + unset($extension_number, $found_count, $array); //determine the call identifier passed on drop if ($ext['uuid'] == $ext['call_uuid'] && $ext['variable_bridge_uuid'] == '') { // transfer an outbound internal call @@ -307,10 +347,10 @@ if (is_array($activity)) foreach ($activity as $extension => $ext) { default : $status_icon = "logged_out"; $status_hover = $text['label-status_logged_out_or_unknown']; - } + } - $block .= "
"; // DRAG TO - $block .= ""; + $block .= "
"; // DRAG TO + $block .= "
"; $block .= " "; $block .= " \n"; //echo "\n"; + if (permission_exists("call_broadcast_caller_id")) { + 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 "\n"; echo "\n"; $html .= " \n"; $html .= " \n"; - foreach ($row['queues'] as $queue) { - $x++; - $onclick = "onclick=\"cycle('agents[".$x."][agent_status]');\""; - $html .= " \n"; - $html .= " \n"; - $html .= " \n"; + $html .= " \n"; + $html .= " \n"; + $html .= " \n"; + $html .= " \n"; } - if ($queue['queue_status'] == "Logged Out") { - $html .= " ".$text['option-logged_out']."\n"; - } - $html .= " \n"; - $html .= " \n"; - $html .= " \n"; } $html .= "
"; $block .= " "; // DRAG FROM diff --git a/app/bridges/app_config.php b/app/bridges/app_config.php index 09c0b0011a..444798e1db 100644 --- a/app/bridges/app_config.php +++ b/app/bridges/app_config.php @@ -45,9 +45,10 @@ //$apps[$x]['destinations'][$y]['sql'] = "select bridge_name, bridge_destination, bridge_description from v_bridges "; $apps[$x]['destinations'][$y]['where'] = "where domain_uuid = '\${domain_uuid}' and bridge_enabled = 'true'"; $apps[$x]['destinations'][$y]['order_by'] = "bridge_name asc"; + $apps[$x]['destinations'][$y]['field']['bridge_uuid'] = "bridge_uuid"; $apps[$x]['destinations'][$y]['field']['name'] = "bridge_name"; - $apps[$x]['destinations'][$y]['field']['destination'] = "bridge_destination"; $apps[$x]['destinations'][$y]['field']['description'] = "bridge_description"; + $apps[$x]['destinations'][$y]['field']['destination'] = "bridge_destination"; $apps[$x]['destinations'][$y]['select_value']['user_contact'] = "\${destination}"; $apps[$x]['destinations'][$y]['select_value']['dialplan'] = "bridge:\${destination}"; $apps[$x]['destinations'][$y]['select_value']['ivr'] = "menu-exec-app:bridge \${destination}"; diff --git a/app/bridges/bridges.php b/app/bridges/bridges.php index 8770b492db..c9e77e0aa7 100644 --- a/app/bridges/bridges.php +++ b/app/bridges/bridges.php @@ -82,8 +82,8 @@ $order = $_GET["order"]; //add the search string - $search = strtolower($_GET["search"]); - if (strlen($search) > 0) { + if (isset($_GET["search"])) { + $search = strtolower($_GET["search"]); $sql_search = " ("; $sql_search .= " lower(bridge_name) like :search "; $sql_search .= " or lower(bridge_destination) like :search "; diff --git a/app/call_block/call_block_edit.php b/app/call_block/call_block_edit.php index 53b4160424..33e6581b43 100644 --- a/app/call_block/call_block_edit.php +++ b/app/call_block/call_block_edit.php @@ -253,7 +253,7 @@ } //get the extensions - if (permission_exists('call_block_all')) { + if (permission_exists('call_block_all') || permission_exists('call_block_extension')) { $sql = "select extension_uuid, extension, number_alias, user_context, description from v_extensions "; $sql .= "where domain_uuid = :domain_uuid "; $sql .= "and enabled = 'true' "; @@ -263,7 +263,7 @@ $extensions = $database->select($sql, $parameters); } -//get the extensions +//get the voicemails $sql = "select voicemail_uuid, voicemail_id, voicemail_description "; $sql .= "from v_voicemails "; $sql .= "where domain_uuid = :domain_uuid "; diff --git a/app/call_broadcast/app_config.php b/app/call_broadcast/app_config.php index 2e1407dae3..315f60ae70 100644 --- a/app/call_broadcast/app_config.php +++ b/app/call_broadcast/app_config.php @@ -44,6 +44,10 @@ $apps[$x]['permissions'][$y]['groups'][] = "admin"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; $y++; + $apps[$x]['permissions'][$y]['name'] = "call_broadcast_caller_id"; + $apps[$x]['permissions'][$y]['groups'][] = "admin"; + $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; + $y++; $apps[$x]['permissions'][$y]['name'] = "call_broadcast_delete"; $apps[$x]['permissions'][$y]['groups'][] = "admin"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; diff --git a/app/call_broadcast/call_broadcast_edit.php b/app/call_broadcast/call_broadcast_edit.php index 98144adfc2..43ce0b19a5 100644 --- a/app/call_broadcast/call_broadcast_edit.php +++ b/app/call_broadcast/call_broadcast_edit.php @@ -401,28 +401,29 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //echo "
\n"; + echo " ".$text['label-caller-id-name']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo "".$text['description-caller-id-name']."\n"; + echo "
\n"; - echo " ".$text['label-caller-id-name']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo "".$text['description-caller-id-name']."\n"; - echo "
\n"; - echo " ".$text['label-callerid-number']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo "".$text['description-caller-id-number']."\n"; - echo "
\n"; + echo " ".$text['label-callerid-number']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo "".$text['description-caller-id-number']."\n"; + echo "
\n"; @@ -673,4 +674,4 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/app/call_broadcast/call_broadcast_send.php b/app/call_broadcast/call_broadcast_send.php index 93169c7ade..51786bbcd0 100644 --- a/app/call_broadcast/call_broadcast_send.php +++ b/app/call_broadcast/call_broadcast_send.php @@ -196,7 +196,7 @@ //if the event socket connection is lost then re-connect if (!$fp) { - $fp = eventsocket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); } //method 1 diff --git a/app/call_centers/app_config.php b/app/call_centers/app_config.php index 2a1d60a7e9..2a0ebe4438 100644 --- a/app/call_centers/app_config.php +++ b/app/call_centers/app_config.php @@ -35,11 +35,12 @@ $apps[$x]['destinations'][$y]['type'] = "sql"; $apps[$x]['destinations'][$y]['label'] = "call_centers"; $apps[$x]['destinations'][$y]['name'] = "call_centers"; - $apps[$x]['destinations'][$y]['sql'] = "select queue_extension as destination, queue_description as description from v_call_center_queues"; + $apps[$x]['destinations'][$y]['sql'] = "select queue_extension as destination, queue_extension as extension, queue_description as description from v_call_center_queues"; $apps[$x]['destinations'][$y]['where'] = "where domain_uuid = '\${domain_uuid}' "; $apps[$x]['destinations'][$y]['order_by'] = "queue_name asc"; $apps[$x]['destinations'][$y]['field']['name'] = "queue_name"; $apps[$x]['destinations'][$y]['field']['destination'] = "queue_extension"; + $apps[$x]['destinations'][$y]['field']['extension'] = "queue_extension"; $apps[$x]['destinations'][$y]['field']['description'] = "queue_description"; $apps[$x]['destinations'][$y]['select_value']['dialplan'] = "transfer:\${destination} XML \${context}"; $apps[$x]['destinations'][$y]['select_value']['ivr'] = "menu-exec-app:transfer \${destination} XML \${context}"; @@ -120,6 +121,15 @@ $apps[$x]['permissions'][$y]['groups'][] = "admin"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; $y++; + $y++; + $apps[$x]['permissions'][$y]['name'] = "call_center_outbound_caller_id_name"; + //$apps[$x]['permissions'][$y]['groups'][] = "admin"; + //$apps[$x]['permissions'][$y]['groups'][] = "superadmin"; + $y++; + $apps[$x]['permissions'][$y]['name'] = "call_center_outbound_caller_id_number"; + //$apps[$x]['permissions'][$y]['groups'][] = "superadmin"; + //$apps[$x]['permissions'][$y]['groups'][] = "admin"; + $y++; //default settings $y = 0; @@ -360,6 +370,14 @@ $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_outbound_caller_id_name"; + $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_outbound_caller_id_number"; + $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_announce_sound"; $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; diff --git a/app/call_centers/app_languages.php b/app/call_centers/app_languages.php index 9479decd50..b69d2c6f0a 100644 --- a/app/call_centers/app_languages.php +++ b/app/call_centers/app_languages.php @@ -1471,6 +1471,48 @@ $text['label-caller_id_name_prefix']['ru-ru'] = "Префикс СallerID/Имя $text['label-caller_id_name_prefix']['sv-se'] = "Caller ID Namn Prefix"; $text['label-caller_id_name_prefix']['uk-ua'] = ""; +$text['label-outbound_caller_id_name']['en-us'] = "Outbound Caller ID Name"; +$text['label-outbound_caller_id_name']['en-gb'] = "Outbound Caller ID Name"; +$text['label-outbound_caller_id_name']['ar-eg'] = ""; +$text['label-outbound_caller_id_name']['de-at'] = "Ausgehende Anruferkennung (Name)"; //copied from de-de +$text['label-outbound_caller_id_name']['de-ch'] = "Ausgehende Anruferkennung (Name)"; //copied from de-de +$text['label-outbound_caller_id_name']['de-de'] = "Ausgehende Anruferkennung (Name)"; +$text['label-outbound_caller_id_name']['es-cl'] = "Nombre de Caller ID Saliente"; +$text['label-outbound_caller_id_name']['es-mx'] = "Nombre de Caller ID Saliente"; //copied from es-cl +$text['label-outbound_caller_id_name']['fr-ca'] = "Nom de l'appelant sortant"; //copied from fr-fr +$text['label-outbound_caller_id_name']['fr-fr'] = "Nom de l'appelant sortant"; +$text['label-outbound_caller_id_name']['he-il'] = ""; +$text['label-outbound_caller_id_name']['it-it'] = "ID Nome Chiamante Esterno"; +$text['label-outbound_caller_id_name']['nl-nl'] = "Uitgaand CID Naam"; +$text['label-outbound_caller_id_name']['pl-pl'] = "Nazwa prezentowana w rozmowach wychodzacych"; +$text['label-outbound_caller_id_name']['pt-br'] = "Nome de ID de Saída"; //copied from pt-pt +$text['label-outbound_caller_id_name']['pt-pt'] = "Nome público"; +$text['label-outbound_caller_id_name']['ro-ro'] = ""; +$text['label-outbound_caller_id_name']['ru-ru'] = "Идентификатор (Caller ID) имени вызывающего абонента"; +$text['label-outbound_caller_id_name']['sv-se'] = "Utgående Namnpresentation"; +$text['label-outbound_caller_id_name']['uk-ua'] = ""; + +$text['label-outbound_caller_id_number']['en-us'] = "Outbound Caller ID Number"; +$text['label-outbound_caller_id_number']['en-gb'] = "Outbound Caller ID Number"; +$text['label-outbound_caller_id_number']['ar-eg'] = ""; +$text['label-outbound_caller_id_number']['de-at'] = "Ausgehende Anruferkennung (Nummer)"; //copied from de-de +$text['label-outbound_caller_id_number']['de-ch'] = "Ausgehende Anruferkennung (Nummer)"; //copied from de-de +$text['label-outbound_caller_id_number']['de-de'] = "Ausgehende Anruferkennung (Nummer)"; +$text['label-outbound_caller_id_number']['es-cl'] = "Número de Caller ID Saliente"; +$text['label-outbound_caller_id_number']['es-mx'] = "Número de Caller ID Saliente"; //copied from es-cl +$text['label-outbound_caller_id_number']['fr-ca'] = "Numéro d'identification de l'appelant sortant"; //copied from fr-fr +$text['label-outbound_caller_id_number']['fr-fr'] = "Numéro d'identification de l'appelant sortant"; +$text['label-outbound_caller_id_number']['he-il'] = ""; +$text['label-outbound_caller_id_number']['it-it'] = "ID Numero Chiamante Esterno"; +$text['label-outbound_caller_id_number']['nl-nl'] = "Uitgaand CID nummer"; +$text['label-outbound_caller_id_number']['pl-pl'] = "Numer prezentowany w rozmowach wychodzacych "; +$text['label-outbound_caller_id_number']['pt-br'] = "Número de ID de Saída"; //copied from pt-pt +$text['label-outbound_caller_id_number']['pt-pt'] = "Número público"; +$text['label-outbound_caller_id_number']['ro-ro'] = ""; +$text['label-outbound_caller_id_number']['ru-ru'] = "Идентификатор (Caller ID) номера вызывающего абонента"; +$text['label-outbound_caller_id_number']['sv-se'] = "Utgående Nummerpresentation"; +$text['label-outbound_caller_id_number']['uk-ua'] = ""; + $text['label-caller_announce_sound']['en-us'] = "Announce Sound"; $text['label-caller_announce_sound']['en-gb'] = "Announce Sound"; $text['label-caller_announce_sound']['ar-eg'] = ""; @@ -2458,6 +2500,90 @@ $text['description-contact']['ru-ru'] = "Выберите номер конта $text['description-contact']['sv-se'] = "Välj kontakt numret."; $text['description-contact']['uk-ua'] = "Призначити контакт в цей обліковий запис користувача."; +$text['description-outbound_caller_id_number-select']['en-us'] = "Select the external (public) caller ID number."; +$text['description-outbound_caller_id_number-select']['en-gb'] = "Select the external (public) caller ID number."; +$text['description-outbound_caller_id_number-select']['ar-eg'] = ""; +$text['description-outbound_caller_id_number-select']['de-at'] = "Wählen Sie die externe Anruferkennung (Nummer)."; //copied from de-de +$text['description-outbound_caller_id_number-select']['de-ch'] = "Wählen Sie die externe Anruferkennung (Nummer)."; //copied from de-de +$text['description-outbound_caller_id_number-select']['de-de'] = "Wählen Sie die externe Anruferkennung (Nummer)."; +$text['description-outbound_caller_id_number-select']['es-cl'] = "Seleccione el número de caller ID externo (público)."; +$text['description-outbound_caller_id_number-select']['es-mx'] = "Seleccione el número de caller ID externo (público)."; //copied from es-cl +$text['description-outbound_caller_id_number-select']['fr-ca'] = "Choisir le numéro d'appelant affiché pour les appels externes (public)."; //copied from fr-fr +$text['description-outbound_caller_id_number-select']['fr-fr'] = "Choisir le numéro d'appelant affiché pour les appels externes (public)."; +$text['description-outbound_caller_id_number-select']['he-il'] = ""; +$text['description-outbound_caller_id_number-select']['it-it'] = "Inserisci l'ID numero chiamante esterno (pubblico)."; +$text['description-outbound_caller_id_number-select']['nl-nl'] = "Kies het externe (openbare) CID nummer"; +$text['description-outbound_caller_id_number-select']['pl-pl'] = "Wybierz numer prezentowany w rozmowach wychodzących (na zewnątrz systemu)"; +$text['description-outbound_caller_id_number-select']['pt-br'] = "Escolha o número externo (público) do chamador."; +$text['description-outbound_caller_id_number-select']['pt-pt'] = "Escolha o número externo (público) do chamador."; +$text['description-outbound_caller_id_number-select']['ro-ro'] = ""; +$text['description-outbound_caller_id_number-select']['ru-ru'] = "Выберите внешний (публичный) caller ID номер."; +$text['description-outbound_caller_id_number-select']['sv-se'] = "Välj det externa (publikt) nummervisningen här."; +$text['description-outbound_caller_id_number-select']['uk-ua'] = ""; + +$text['description-outbound_caller_id_number']['en-us'] = "Enter the external (public) caller ID number here."; +$text['description-outbound_caller_id_number']['en-gb'] = "Enter the external (public) caller ID number here."; +$text['description-outbound_caller_id_number']['ar-eg'] = ""; +$text['description-outbound_caller_id_number']['de-at'] = "Geben Sie die externe Anruferkennung (Nummer) hier an."; //copied from de-de +$text['description-outbound_caller_id_number']['de-ch'] = "Geben Sie die externe Anruferkennung (Nummer) hier an."; //copied from de-de +$text['description-outbound_caller_id_number']['de-de'] = "Geben Sie die externe Anruferkennung (Nummer) hier an."; +$text['description-outbound_caller_id_number']['es-cl'] = "Ingrese el número de caller ID externo (público) aquí."; +$text['description-outbound_caller_id_number']['es-mx'] = "Ingrese el número de caller ID externo (público) aquí."; //copied from es-cl +$text['description-outbound_caller_id_number']['fr-ca'] = "Numéro d'appelant affiché pour les appels externes (public)."; //copied from fr-fr +$text['description-outbound_caller_id_number']['fr-fr'] = "Numéro d'appelant affiché pour les appels externes (public)."; +$text['description-outbound_caller_id_number']['he-il'] = ""; +$text['description-outbound_caller_id_number']['it-it'] = "Inserisci l'ID numero chiamante esterno (pubblico)."; +$text['description-outbound_caller_id_number']['nl-nl'] = "Voer het externe (openbaar) CID nummer hier in."; +$text['description-outbound_caller_id_number']['pl-pl'] = "Wpisz numer prezentowany w rozmowach wychodzących (na zewnątrz systemu)"; +$text['description-outbound_caller_id_number']['pt-br'] = "Escolha o número externo (público) do chamador aqui."; +$text['description-outbound_caller_id_number']['pt-pt'] = "Introduza o número externo (público) do chamador aqui."; +$text['description-outbound_caller_id_number']['ro-ro'] = ""; +$text['description-outbound_caller_id_number']['ru-ru'] = "Введите внешний (публичный) caller ID номер."; +$text['description-outbound_caller_id_number']['sv-se'] = "Ange det externa (publikt) nummervisningen här."; +$text['description-outbound_caller_id_number']['uk-ua'] = ""; + +$text['description-outbound_caller_id_name-select']['en-us'] = "Select the external (public) caller ID name."; +$text['description-outbound_caller_id_name-select']['en-gb'] = "Select the external (public) caller ID name."; +$text['description-outbound_caller_id_name-select']['ar-eg'] = ""; +$text['description-outbound_caller_id_name-select']['de-at'] = "Wählen Sie die externe Anruferkennung (Name)."; //copied from de-de +$text['description-outbound_caller_id_name-select']['de-ch'] = "Wählen Sie die externe Anruferkennung (Name)."; //copied from de-de +$text['description-outbound_caller_id_name-select']['de-de'] = "Wählen Sie die externe Anruferkennung (Name)."; +$text['description-outbound_caller_id_name-select']['es-cl'] = "Seleccione el nombre de Caller ID externo (público)."; +$text['description-outbound_caller_id_name-select']['es-mx'] = "Seleccione el nombre de Caller ID externo (público)."; //copied from es-cl +$text['description-outbound_caller_id_name-select']['fr-ca'] = "Choisir le nom d'appelant affiché pour les appels externes (public)."; //copied from fr-fr +$text['description-outbound_caller_id_name-select']['fr-fr'] = "Choisir le nom d'appelant affiché pour les appels externes (public)."; +$text['description-outbound_caller_id_name-select']['he-il'] = ""; +$text['description-outbound_caller_id_name-select']['it-it'] = "Inserire l'ID nome chiamante esterno (pubblico)."; +$text['description-outbound_caller_id_name-select']['nl-nl'] = "Kies de externe (openbaar) CID naam"; +$text['description-outbound_caller_id_name-select']['pl-pl'] = "Wybierz nazwę prezentowaną w rozmowach wychodzących (na zewnątrz systemu)"; +$text['description-outbound_caller_id_name-select']['pt-br'] = "Escolha o nome externo (público) do chamador."; +$text['description-outbound_caller_id_name-select']['pt-pt'] = "Escolha o nome externo (público) do chamador."; +$text['description-outbound_caller_id_name-select']['ro-ro'] = ""; +$text['description-outbound_caller_id_name-select']['ru-ru'] = "Выберите внешнее (публичное) caller ID Имя."; +$text['description-outbound_caller_id_name-select']['sv-se'] = "Välj det externa (publikt) namnvisningen här."; +$text['description-outbound_caller_id_name-select']['uk-ua'] = ""; + +$text['description-outbound_caller_id_name']['en-us'] = "Enter the external (public) caller ID name here."; +$text['description-outbound_caller_id_name']['en-gb'] = "Enter the external (public) caller ID name here."; +$text['description-outbound_caller_id_name']['ar-eg'] = ""; +$text['description-outbound_caller_id_name']['de-at'] = "Geben Sie die externe Anruferkennung (Name) hier an."; //copied from de-de +$text['description-outbound_caller_id_name']['de-ch'] = "Geben Sie die externe Anruferkennung (Name) hier an."; //copied from de-de +$text['description-outbound_caller_id_name']['de-de'] = "Geben Sie die externe Anruferkennung (Name) hier an."; +$text['description-outbound_caller_id_name']['es-cl'] = "Ingrese el el nombre de Caller ID externo (público) aquí."; +$text['description-outbound_caller_id_name']['es-mx'] = "Ingrese el el nombre de Caller ID externo (público) aquí."; //copied from es-cl +$text['description-outbound_caller_id_name']['fr-ca'] = "Nom d'appelant affiché pour les appels externes (public)."; //copied from fr-fr +$text['description-outbound_caller_id_name']['fr-fr'] = "Nom d'appelant affiché pour les appels externes (public)."; +$text['description-outbound_caller_id_name']['he-il'] = ""; +$text['description-outbound_caller_id_name']['it-it'] = "Inserire l'ID nome chiamante esterno (pubblico). "; +$text['description-outbound_caller_id_name']['nl-nl'] = "Voer de externe (openbaar) CID naam hier in."; +$text['description-outbound_caller_id_name']['pl-pl'] = "Wpisz nazwę prezentowaną w rozmowach wychodzących (na zewnątrz systemu)"; +$text['description-outbound_caller_id_name']['pt-br'] = "Escolha o nome externo (público) do chamador aqui."; +$text['description-outbound_caller_id_name']['pt-pt'] = "Introduza o nome externo (público) do chamador aqui."; +$text['description-outbound_caller_id_name']['ro-ro'] = ""; +$text['description-outbound_caller_id_name']['ru-ru'] = "Введите внешнее (публичное) caller ID Имя."; +$text['description-outbound_caller_id_name']['sv-se'] = "Ange det externa (publikt) namnvisningen här."; +$text['description-outbound_caller_id_name']['uk-ua'] = ""; + $text['description-caller_id_name_prefix']['en-us'] = "Set a prefix on the caller ID name."; $text['description-caller_id_name_prefix']['en-gb'] = "Set a prefix on the caller ID name."; $text['description-caller_id_name_prefix']['ar-eg'] = ""; diff --git a/app/call_centers/call_center_agent_status.php b/app/call_centers/call_center_agent_status.php index 5443987868..ea5a99d899 100644 --- a/app/call_centers/call_center_agent_status.php +++ b/app/call_centers/call_center_agent_status.php @@ -49,7 +49,7 @@ $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $database = new database; $tiers = $database->select($sql, $parameters, 'all'); - if (count($tiers) == 0) { + if (is_array($tiers) && count($tiers) == 0) { $per_queue_login = true; } else { @@ -91,51 +91,61 @@ //add the status to the call_center_queues array $x = 0; - foreach ($call_center_queues as $queue) { - //get the queue list from event socket - $switch_cmd = "callcenter_config queue list agents ".$queue['call_center_queue_uuid']; - $event_socket_str = trim(event_socket_request($fp, 'api '.$switch_cmd)); - $queue_list = csv_to_named_array($event_socket_str, '|'); - $call_center_queues[$x]['queue_list'] = $queue_list; - $x++; + if (is_array($call_center_queues)) { + foreach ($call_center_queues as $queue) { + //get the queue list from event socket + $switch_cmd = "callcenter_config queue list agents ".$queue['call_center_queue_uuid']; + $event_socket_str = trim(event_socket_request($fp, 'api '.$switch_cmd)); + $queue_list = csv_to_named_array($event_socket_str, '|'); + $call_center_queues[$x]['queue_list'] = $queue_list; + $x++; + } } - //view_array($call_center_queues, false); //get the agent status from mod_callcenter and update the agent status in the agents array $x = 0; - foreach ($agents as $row) { - //add the domain name - $domain_name = $_SESSION['domains'][$row['domain_uuid']]['domain_name']; - $agents[$x]['domain_name'] = $domain_name; + if (is_array($agents)) { + foreach ($agents as $row) { + //add the domain name + $domain_name = $_SESSION['domains'][$row['domain_uuid']]['domain_name']; + $agents[$x]['domain_name'] = $domain_name; - //update the queue status - $i = 0; - foreach ($call_center_queues as $queue) { - $agents[$x]['queues'][$i]['agent_name'] = $row['agent_name']; - $agents[$x]['queues'][$i]['queue_name'] = $queue['queue_name']; - $agents[$x]['queues'][$i]['call_center_agent_uuid'] = $row['call_center_agent_uuid']; - $agents[$x]['queues'][$i]['call_center_queue_uuid'] = $queue['call_center_queue_uuid']; - $agents[$x]['queues'][$i]['queue_status'] = 'Logged Out'; - foreach ($queue['queue_list'] as $queue_list) { - if ($row['call_center_agent_uuid'] == $queue_list['name']) { - $agents[$x]['queues'][$i]['queue_status'] = 'Available'; + //update the queue status + $i = 0; + if (is_array($call_center_queues)) { + foreach ($call_center_queues as $queue) { + $agents[$x]['queues'][$i]['agent_name'] = $row['agent_name']; + $agents[$x]['queues'][$i]['queue_name'] = $queue['queue_name']; + $agents[$x]['queues'][$i]['call_center_agent_uuid'] = $row['call_center_agent_uuid']; + $agents[$x]['queues'][$i]['call_center_queue_uuid'] = $queue['call_center_queue_uuid']; + $agents[$x]['queues'][$i]['queue_status'] = 'Logged Out'; + if (is_array($queue['queue_list'])) { + foreach ($queue['queue_list'] as $queue_list) { + if ($row['call_center_agent_uuid'] == $queue_list['name']) { + $agents[$x]['queues'][$i]['queue_status'] = 'Available'; + } + } + } + $i++; } } - $i++; - } - //update the agent status - foreach ($agent_list as $r) { - if ($r['name'] == $row['call_center_agent_uuid']) { - $agents[$x]['agent_status'] = $r['status']; + //update the agent status + if (is_array($agent_list)) { + foreach ($agent_list as $r) { + if ($r['name'] == $row['call_center_agent_uuid']) { + $agents[$x]['agent_status'] = $r['status']; + } + } } - } - //increment x - $x++; + + //increment x + $x++; + } } //remove rows from the http post array where the status has not changed - if (count($_POST['agents']) > 0 && !$per_queue_login) { + if (is_array($_POST['agents']) && !$per_queue_login) { foreach($_POST['agents'] as $key => $row) { foreach($agents as $k => $field) { if ($field['agent_name'] === $row['agent_name'] && $field['agent_status'] === $row['agent_status']) { @@ -146,7 +156,7 @@ } //use the http post array to change the status - if (count($_POST['agents']) > 0) { + if (is_array($_POST['agents'])) { foreach($_POST['agents'] as $row) { if (strlen($row['agent_status']) > 0) { //agent set status @@ -302,7 +312,7 @@ echo "
\n"; echo "\n"; - if (count($_POST['agents']) > 0 && !$per_queue_login) { + if (is_array($_POST['agents']) && !$per_queue_login) { echo $text['description-call_center_agent_status']."\n"; echo "

\n"; } @@ -349,29 +359,31 @@ $html .= "
".$text['label-status']."".$text['label-options']."
".$queue['queue_name']."\n"; - if ($queue['queue_status'] == "Available") { - $html .= " ".$text['option-available']."\n"; + if (is_array($row['queues'])) { + foreach ($row['queues'] as $queue) { + $x++; + $onclick = "onclick=\"cycle('agents[".$x."][agent_status]');\""; + $html .= "
".$queue['queue_name']."\n"; + if ($queue['queue_status'] == "Available") { + $html .= " ".$text['option-available']."\n"; + } + if ($queue['queue_status'] == "Logged Out") { + $html .= " ".$text['option-logged_out']."\n"; + } + $html .= " "; + $html .= " \n"; + $html .= " \n"; + $html .= " \n"; + $html .= " \n"; + $html .= " \n"; + $html .= "  \n"; + $html .= " \n"; + $html .= "
"; - $html .= " \n"; - $html .= " \n"; - $html .= " \n"; - $html .= " \n"; - $html .= " \n"; - $html .= "  \n"; - $html .= " \n"; - $html .= "
\n"; } diff --git a/app/call_centers/call_center_queue_edit.php b/app/call_centers/call_center_queue_edit.php index e911918859..8652d49f82 100644 --- a/app/call_centers/call_center_queue_edit.php +++ b/app/call_centers/call_center_queue_edit.php @@ -97,6 +97,8 @@ $queue_discard_abandoned_after = $_POST["queue_discard_abandoned_after"]; $queue_abandoned_resume_allowed = $_POST["queue_abandoned_resume_allowed"]; $queue_cid_prefix = $_POST["queue_cid_prefix"]; + $queue_outbound_caller_id_name = $_POST["queue_outbound_caller_id_name"]; + $queue_outbound_caller_id_number = $_POST["queue_outbound_caller_id_number"]; $queue_announce_sound = $_POST["queue_announce_sound"]; $queue_announce_frequency = $_POST["queue_announce_frequency"]; $queue_cc_exit_keys = $_POST["queue_cc_exit_keys"]; @@ -280,6 +282,12 @@ $array['call_center_queues'][0]['queue_discard_abandoned_after'] = $queue_discard_abandoned_after; $array['call_center_queues'][0]['queue_abandoned_resume_allowed'] = $queue_abandoned_resume_allowed; $array['call_center_queues'][0]['queue_cid_prefix'] = $queue_cid_prefix; + if (permission_exists('call_center_outbound_caller_id_name')) { + $array['call_center_queues'][0]['queue_outbound_caller_id_name'] = $queue_outbound_caller_id_name; + } + if (permission_exists('call_center_outbound_caller_id_number')) { + $array['call_center_queues'][0]['queue_outbound_caller_id_number'] = $queue_outbound_caller_id_number; + } $array['call_center_queues'][0]['queue_announce_sound'] = $queue_announce_sound; $array['call_center_queues'][0]['queue_announce_frequency'] = $queue_announce_frequency; $array['call_center_queues'][0]['queue_cc_exit_keys'] = $queue_cc_exit_keys; @@ -364,9 +372,6 @@ //debug info //echo "
". print_r($message, true) ."
"; exit; - //save the xml - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; @@ -474,6 +479,8 @@ $queue_discard_abandoned_after = $row["queue_discard_abandoned_after"]; $queue_abandoned_resume_allowed = $row["queue_abandoned_resume_allowed"]; $queue_cid_prefix = $row["queue_cid_prefix"]; + $queue_outbound_caller_id_name = $row["queue_outbound_caller_id_name"]; + $queue_outbound_caller_id_number = $row["queue_outbound_caller_id_number"]; $queue_announce_sound = $row["queue_announce_sound"]; $queue_announce_frequency = $row["queue_announce_frequency"]; $queue_cc_exit_keys = $row["queue_cc_exit_keys"]; @@ -1050,6 +1057,32 @@ echo "\n"; echo "\n"; + if (permission_exists('call_center_outbound_caller_id_name')) { + echo "\n"; + echo "\n"; + echo " ".$text['label-outbound_caller_id_name']."\n"; + echo "\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-outbound_caller_id_name']."\n"; + echo "\n"; + echo "\n"; + } + + if (permission_exists('call_center_outbound_caller_id_number')) { + echo "\n"; + echo "\n"; + echo " ".$text['label-outbound_caller_id_number']."\n"; + echo "\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-outbound_caller_id_number']."\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; echo "\n"; echo " ".$text['label-caller_announce_sound']."\n"; diff --git a/app/call_centers/resources/classes/call_center.php b/app/call_centers/resources/classes/call_center.php index 44e994c445..c5e8f59d69 100644 --- a/app/call_centers/resources/classes/call_center.php +++ b/app/call_centers/resources/classes/call_center.php @@ -265,9 +265,6 @@ //revoke temporary permissions $p->delete('call_center_queue_edit', 'temp'); - //synchronize the xml config - save_dialplan_xml(); - //clear the cache $cache = new cache; $cache->delete("dialplan:".$_SESSION['context']); @@ -373,7 +370,6 @@ remove_config_from_cache('configuration:callcenter.conf'); //synchronize configuration - save_dialplan_xml(); save_call_center_xml(); //apply settings reminder @@ -591,9 +587,6 @@ $p->delete('call_center_tier_add', 'temp'); $p->delete('dialplan_add', 'temp'); - //save the xml - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; @@ -627,4 +620,4 @@ $c->queue_cc_exit_keys = ""; $c->dialplan(); */ -?> \ No newline at end of file +?> diff --git a/app/call_flows/app_config.php b/app/call_flows/app_config.php index 060308ab8c..f260fd46da 100644 --- a/app/call_flows/app_config.php +++ b/app/call_flows/app_config.php @@ -36,9 +36,11 @@ $apps[$x]['destinations'][$y]['name'] = "call_flows"; $apps[$x]['destinations'][$y]['where'] = "where domain_uuid = '\${domain_uuid}' and call_flow_enabled = 'true' "; $apps[$x]['destinations'][$y]['order_by'] = "call_flow_name asc"; - $apps[$x]['destinations'][$y]['field']['context'] = "call_flow_context"; + $apps[$x]['destinations'][$y]['field']['call_flow_uuid'] = "call_flow_uuid"; $apps[$x]['destinations'][$y]['field']['name'] = "call_flow_name"; $apps[$x]['destinations'][$y]['field']['destination'] = "call_flow_extension"; + $apps[$x]['destinations'][$y]['field']['extension'] = "call_flow_extension"; + $apps[$x]['destinations'][$y]['field']['context'] = "call_flow_context"; $apps[$x]['destinations'][$y]['select_value']['dialplan'] = "transfer:\${destination} XML \${context}"; $apps[$x]['destinations'][$y]['select_value']['ivr'] = "menu-exec-app:transfer \${destination} XML \${context}"; $apps[$x]['destinations'][$y]['select_label'] = "\${destination} \${name}"; diff --git a/app/call_flows/call_flow_edit.php b/app/call_flows/call_flow_edit.php index c3609320ac..c507527df7 100644 --- a/app/call_flows/call_flow_edit.php +++ b/app/call_flows/call_flow_edit.php @@ -248,9 +248,6 @@ //echo ""; //exit; - //save the xml - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; diff --git a/app/call_flows/resources/classes/call_flows.php b/app/call_flows/resources/classes/call_flows.php index ee92278e09..2bb4d87647 100644 --- a/app/call_flows/resources/classes/call_flows.php +++ b/app/call_flows/resources/classes/call_flows.php @@ -146,9 +146,6 @@ if (!class_exists('call_flows')) { $p->delete('dialplan_delete', 'temp'); $p->delete('dialplan_detail_delete', 'temp'); - //syncrhonize configuration - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; @@ -241,9 +238,6 @@ if (!class_exists('call_flows')) { //revoke temporary permissions $p->delete('dialplan_edit', 'temp'); - //syncrhonize configuration - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; @@ -361,9 +355,6 @@ if (!class_exists('call_flows')) { //revoke temporary permissions $p->delete('dialplan_add', 'temp'); - //syncrhonize configuration - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; diff --git a/app/call_recordings/call_recordings.php b/app/call_recordings/call_recordings.php index 05ad873fa5..5e68cb0eb1 100644 --- a/app/call_recordings/call_recordings.php +++ b/app/call_recordings/call_recordings.php @@ -89,7 +89,7 @@ $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); - + //prepare to page the results $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; $param = "&search=".$search; @@ -174,10 +174,10 @@ $x = 0; foreach ($call_recordings as $row) { //playback progress bar - if (permission_exists('call_recording_play')) { - echo "".(permission_exists('xml_cdr_details') ? "" : null)."\n"; - echo "\n"; // dummy row to maintain alternating background color - } + if (permission_exists('call_recording_play')) { + echo "".(permission_exists('xml_cdr_details') ? "" : null)."\n"; + echo "\n"; // dummy row to maintain alternating background color + } if (permission_exists('call_recording_play')) { $list_row_url = "javascript:recording_play('".escape($row['call_recording_uuid'])."');"; } diff --git a/app/calls/app_config.php b/app/calls/app_config.php index 9224e54d59..157c972801 100644 --- a/app/calls/app_config.php +++ b/app/calls/app_config.php @@ -1,7 +1,7 @@ \n"; echo "
\n"; - echo "
".$text['title-call_routing']."
\n"; + echo "
".$text['title-call_forward']."
\n"; echo "
\n"; echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','link'=>'calls.php']); echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','style'=>'margin-left: 15px;']); @@ -516,7 +516,7 @@ echo "\n"; echo "\n"; - echo " ".$text['label-call-forward']."\n"; + echo " ".$text['label-call_forward']."\n"; echo "\n"; echo "\n"; $on_click = "document.getElementById('follow_me_disabled').checked=true; "; @@ -620,7 +620,7 @@ echo "\n"; echo "\n"; - echo " ".$text['label-follow-me']."\n"; + echo " ".$text['label-follow_me']."\n"; echo "\n"; echo "\n"; $on_click = "document.getElementById('forward_all_disabled').checked=true; "; @@ -793,4 +793,4 @@ //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/app/calls/calls.php b/app/calls/calls.php index 26d6f14102..cbfe56b6df 100644 --- a/app/calls/calls.php +++ b/app/calls/calls.php @@ -81,19 +81,25 @@ $order_by = $_GET["order_by"]; $order = $_GET["order"]; -//handle search term +//get the search $search = strtolower($_GET["search"]); - if (strlen($search) > 0) { - $sql_search = "and ( "; - $sql_search .= "extension like :search "; - $sql_search .= "or lower(description) like :search "; - $sql_search .= ") "; - $parameters['search'] = '%'.$search.'%'; - } //define select count query $sql = "select count(*) from v_extensions "; - $sql .= "where domain_uuid = :domain_uuid "; + if ($_GET['show'] == "all" && permission_exists('call_forward_all')) { + $sql .= "where true "; + } + else { + $sql .= "where domain_uuid = :domain_uuid "; + $parameters['domain_uuid'] = $_SESSION['domain_uuid']; + } + if (strlen($search) > 0) { + $sql .= "and ( "; + $sql .= "extension like :search "; + $sql .= "or lower(description) like :search "; + $sql .= ") "; + $parameters['search'] = '%'.$search.'%'; + } $sql .= "and enabled = 'true' "; if (!permission_exists('extension_edit')) { if (is_array($_SESSION['user']['extension']) && count($_SESSION['user']['extension']) > 0) { @@ -112,18 +118,26 @@ } } $sql .= $sql_search; - $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); + unset($parameters); -//prepare to page the results +//prepare the paging if ($is_included) { $rows_per_page = 10; } else { $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; } - $param = "&search=".$search; + $params[] = "app_uuid=".$app_uuid; + if ($search) { $params[] = "search=".$search; } + if ($order_by) { $params[] = "order_by=".$order_by; } + if ($order) { $params[] = "order=".$order; } + if ($_GET['show'] == "all" && permission_exists('call_forward_all')) { + $params[] .= "show=all"; + } + $param = $params ? implode('&', $params) : null; + unset($params); $page = $_GET['page']; if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); @@ -132,7 +146,20 @@ //get the list $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = :domain_uuid "; + if ($_GET['show'] == "all" && permission_exists('call_forward_all')) { + $sql .= "where true "; + } + else { + $sql .= "where domain_uuid = :domain_uuid "; + $parameters['domain_uuid'] = $_SESSION['domain_uuid']; + } + if (strlen($search) > 0) { + $sql .= "and ( "; + $sql .= "extension like :search "; + $sql .= "or lower(description) like :search "; + $sql .= ") "; + $parameters['search'] = '%'.$search.'%'; + } $sql .= "and enabled = 'true' "; if (!permission_exists('extension_edit')) { if (is_array($_SESSION['user']['extension']) && count($_SESSION['user']['extension']) > 0) { @@ -163,7 +190,7 @@ //include header if (!$is_included) { - $document['title'] = $text['title-call_routing']; + $document['title'] = $text['title-call_forward']; } require_once "resources/header.php"; @@ -180,7 +207,7 @@ //show the content if ($is_included) { echo "
\n"; - echo "
".$text['header-call_routing']."
\n"; + echo "
".$text['header-call_forward']."
\n"; echo "
\n"; if ($num_rows > 10) { echo button::create(['type'=>'button','label'=>$text['button-view_all'],'icon'=>'project-diagram','collapse'=>false,'link'=>PROJECT_PATH.'/app/calls/calls.php']); @@ -191,24 +218,31 @@ } else { echo "
\n"; - echo "
".$text['header-call_routing']." (".$num_rows.")
\n"; + echo "
".$text['header-call_forward']." (".$num_rows.")
\n"; echo "
\n"; + if ($extensions) { echo button::create(['type'=>'button','label'=>$text['button-toggle'],'icon'=>$_SESSION['theme']['button_icon_toggle'],'name'=>'btn_toggle','onclick'=>"toggle_select(); this.blur();"]); } echo ""; + if ($_GET['show'] !== 'all' && permission_exists('call_forward_all')) { + echo button::create(['type'=>'button','label'=>$text['button-show_all'],'icon'=>$_SESSION['theme']['button_icon_all'],'link'=>'?show=all'.($params ? '&'.implode('&', $params) : null)]); + } echo "\n"; + if ($_GET['show'] == 'all' && permission_exists('call_forward_all')) { + echo " "; + } echo ""; echo button::create(['label'=>$text['button-search'],'icon'=>$_SESSION['theme']['button_icon_search'],'type'=>'submit','id'=>'btn_search','style'=>($search != '' ? 'display: none;' : null)]); echo button::create(['label'=>$text['button-reset'],'icon'=>$_SESSION['theme']['button_icon_reset'],'type'=>'button','id'=>'btn_reset','link'=>'calls.php','style'=>($search == '' ? 'display: none;' : null)]); @@ -228,6 +262,9 @@ echo "

\n"; echo "\n"; + if ($_GET['show'] == 'all' && permission_exists('call_forward_all')) { + echo " "; + } echo "\n"; echo "\n"; } @@ -238,13 +275,16 @@ echo " \n"; echo " \n"; echo " \n"; + if ($_GET['show'] == "all" && permission_exists('call_forward_all')) { + echo "".$text['label-domain']."\n"; + } } echo " ".$text['label-extension']."\n"; if (permission_exists('call_forward')) { - echo " ".$text['label-call-forward']."\n"; + echo " ".$text['label-call_forward']."\n"; } if (permission_exists('follow_me')) { - echo " ".$text['label-follow-me']."\n"; + echo " ".$text['label-follow_me']."\n"; } if (permission_exists('do_not_disturb')) { echo " ".$text['label-dnd']."\n"; @@ -265,6 +305,16 @@ echo " \n"; echo " \n"; echo " \n"; + + if ($_GET['show'] == "all" && permission_exists('call_forward_all')) { + if (strlen($_SESSION['domains'][$row['domain_uuid']]['domain_name']) > 0) { + $domain = $_SESSION['domains'][$row['domain_uuid']]['domain_name']; + } + else { + $domain = $text['label-global']; + } + echo " ".escape($domain)."\n"; + } } echo " ".escape($row['extension'])."\n"; if (permission_exists('call_forward')) { diff --git a/app/calls_active/calls_active_inc.php b/app/calls_active/calls_active_inc.php index c2c480ba10..10a326a620 100644 --- a/app/calls_active/calls_active_inc.php +++ b/app/calls_active/calls_active_inc.php @@ -66,7 +66,7 @@ if (isset($results["rows"])) { foreach ($results["rows"] as &$row) { //get the domain - if (strlen($row['context']) > 0 and $row['context'] != "public") { + if (strlen($row['context']) > 0 && $row['context'] != "public" && $row['context'] != "default") { if (substr_count($row['context'], '@') > 0) { $context_array = explode('@', $row['context']); $row['domain_name'] = $context_array[1]; @@ -77,7 +77,7 @@ } else if (substr_count($row['presence_id'], '@') > 0) { $presence_id_array = explode('@', $row['presence_id']); - $row['domain_name'] = $presence_id_array[1].' '.__line__.' '.$row['presence_id']; + $row['domain_name'] = $presence_id_array[1]; } //add the row to the array if (($show == 'all' && permission_exists('call_active_all'))) { diff --git a/app/conference_centers/app_config.php b/app/conference_centers/app_config.php index b5177a9972..4aa88f5378 100644 --- a/app/conference_centers/app_config.php +++ b/app/conference_centers/app_config.php @@ -36,8 +36,10 @@ $apps[$x]['destinations'][$y]['name'] = "conference_centers"; $apps[$x]['destinations'][$y]['where'] = "where domain_uuid = '\${domain_uuid}' and conference_center_enabled = 'true' "; $apps[$x]['destinations'][$y]['order_by'] = "conference_center_name asc"; + $apps[$x]['destinations'][$y]['field']['conference_center_uuid'] = "conference_center_uuid"; $apps[$x]['destinations'][$y]['field']['name'] = "conference_center_name"; $apps[$x]['destinations'][$y]['field']['destination'] = "conference_center_extension"; + $apps[$x]['destinations'][$y]['field']['extension'] = "conference_center_extension"; $apps[$x]['destinations'][$y]['field']['description'] = "conference_center_description"; $apps[$x]['destinations'][$y]['select_value']['dialplan'] = "transfer:\${destination} XML \${context}"; $apps[$x]['destinations'][$y]['select_value']['ivr'] = "menu-exec-app:transfer \${destination} XML \${context}"; @@ -118,6 +120,11 @@ $apps[$x]['permissions'][$y]['groups'][] = "admin"; $apps[$x]['permissions'][$y]['groups'][] = "user"; $y++; + $apps[$x]['permissions'][$y]['name'] = "conference_room_moderator_endconf"; + $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; + $apps[$x]['permissions'][$y]['groups'][] = "admin"; + $apps[$x]['permissions'][$y]['groups'][] = "user"; + $y++; $apps[$x]['permissions'][$y]['name'] = "conference_room_schedule"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; $apps[$x]['permissions'][$y]['groups'][] = "admin"; @@ -310,6 +317,10 @@ $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Wait for the moderator to join before starting the conference."; $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = "moderator_endconf"; + $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "When moderator exits end conference."; + $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "announce_name"; $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Introduce participants as they enter the conference."; diff --git a/app/conference_centers/app_languages.php b/app/conference_centers/app_languages.php index 5f230be770..7f10328487 100644 --- a/app/conference_centers/app_languages.php +++ b/app/conference_centers/app_languages.php @@ -11,7 +11,7 @@ $text['title-conference_centers']['es-cl'] = "Centro de Conferencias"; $text['title-conference_centers']['es-mx'] = "Centro de Conferencias"; //copied from es-cl $text['title-conference_centers']['fr-ca'] = "Centre de conférence"; //copied from fr-fr $text['title-conference_centers']['fr-fr'] = "Centre de conférence"; -$text['title-conference_centers']['he-il'] = ""; +$text['title-conference_centers']['he-il'] = "מרכזי ועידה"; $text['title-conference_centers']['it-it'] = "Centri Conferenza"; $text['title-conference_centers']['nl-nl'] = "Cenferentie centra"; $text['title-conference_centers']['pl-pl'] = "Centra Konferencyjne"; @@ -527,6 +527,27 @@ $text['label-wait_for_moderator']['ru-ru'] = "Ждать модератора"; $text['label-wait_for_moderator']['sv-se'] = "Vänta på Moderator"; $text['label-wait_for_moderator']['uk-ua'] = "Очікування на модератора"; +$text['label-moderator_endconf']['en-us'] = "Moderator endconf"; +$text['label-moderator_endconf']['en-gb'] = "Moderator endconf"; +$text['label-moderator_endconf']['ar-eg'] = ""; +$text['label-moderator_endconf']['de-at'] = ""; //copied from de-de +$text['label-moderator_endconf']['de-ch'] = ""; //copied from de-de +$text['label-moderator_endconf']['de-de'] = ""; +$text['label-moderator_endconf']['es-cl'] = ""; +$text['label-moderator_endconf']['es-mx'] = ""; //copied from es-cl +$text['label-moderator_endconf']['fr-ca'] = ""; //copied from fr-fr +$text['label-moderator_endconf']['fr-fr'] = ""; +$text['label-moderator_endconf']['he-il'] = ""; +$text['label-moderator_endconf']['it-it'] = ""; +$text['label-moderator_endconf']['nl-nl'] = ""; +$text['label-moderator_endconf']['pl-pl'] = ""; +$text['label-moderator_endconf']['pt-br'] = ""; +$text['label-moderator_endconf']['pt-pt'] = ""; +$text['label-moderator_endconf']['ro-ro'] = ""; +$text['label-moderator_endconf']['ru-ru'] = ""; +$text['label-moderator_endconf']['sv-se'] = ""; +$text['label-moderator_endconf']['uk-ua'] = ""; + $text['label-view']['en-us'] = "View"; $text['label-view']['en-gb'] = "View"; $text['label-view']['ar-eg'] = ""; diff --git a/app/conference_centers/conference_center_edit.php b/app/conference_centers/conference_center_edit.php index 51a3b0ccc0..0d2ba8c3b1 100644 --- a/app/conference_centers/conference_center_edit.php +++ b/app/conference_centers/conference_center_edit.php @@ -178,9 +178,6 @@ //echo "\n"; //exit; - //syncrhonize configuration - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; @@ -463,4 +460,4 @@ //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/app/conference_centers/conference_room_edit.php b/app/conference_centers/conference_room_edit.php index 13fadb50ff..b1e480de94 100644 --- a/app/conference_centers/conference_room_edit.php +++ b/app/conference_centers/conference_room_edit.php @@ -66,6 +66,7 @@ $start_datetime = $_POST["start_datetime"]; $stop_datetime = $_POST["stop_datetime"]; $wait_mod = $_POST["wait_mod"]; + $moderator_endconf = $_POST["moderator_endconf"]; $announce_name = $_POST["announce_name"]; $announce_recording = $_POST["announce_recording"]; $announce_count = $_POST["announce_count"]; @@ -287,6 +288,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { if (strlen($record) == 0) { $record = 'false'; } if (strlen($max_members) == 0) { $max_members = 0; } if (strlen($wait_mod) == 0) { $wait_mod = 'true'; } + if (strlen($moderator_endconf) == 0) { $moderator_endconf = 'false'; } if (strlen($announce_name) == 0) { $announce_name = 'true'; } if (strlen($announce_recording) == 0) { $announce_recording = 'true'; } if (strlen($announce_count) == 0) { $announce_count = 'true'; } @@ -327,6 +329,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $array['conference_rooms'][0]['start_datetime'] = $start_datetime; $array['conference_rooms'][0]['stop_datetime'] = $stop_datetime; $array['conference_rooms'][0]['wait_mod'] = $wait_mod; + $array['conference_rooms'][0]['moderator_endconf'] = $moderator_endconf; $array['conference_rooms'][0]['announce_name'] = $announce_name; $array['conference_rooms'][0]['announce_recording'] = $announce_recording; $array['conference_rooms'][0]['announce_count'] = $announce_count; @@ -421,6 +424,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { if (strlen($wait_mod) > 0) { $array['conference_rooms'][0]['wait_mod'] = $wait_mod; } + if (strlen($moderator_endconf) > 0) { + $array['conference_rooms'][0]['moderator_endconf'] = $moderator_endconf; + } if (strlen($announce_name) > 0) { $array['conference_rooms'][0]['announce_name'] = $announce_name; } @@ -502,6 +508,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $start_datetime = $row["start_datetime"]; $stop_datetime = $row["stop_datetime"]; $wait_mod = $row["wait_mod"]; + $moderator_endconf = $row["moderator_endconf"]; $announce_name = $row["announce_name"]; $announce_recording = $row["announce_recording"]; $announce_count = $row["announce_count"]; @@ -569,6 +576,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { if (strlen($record) == 0) { $record = 'false'; } if (strlen($max_members) == 0) { $max_members = 0; } if (strlen($wait_mod) == 0) { $wait_mod = 'true'; } + if (strlen($moderator_endconf) == 0) { $moderator_endconf = 'false'; } if (strlen($announce_name) == 0) { $announce_name = 'true'; } if (strlen($announce_recording) == 0) { $announce_recording = 'true'; } if (strlen($announce_count) == 0) { $announce_count = 'true'; } @@ -632,7 +640,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo " "; echo " ".$text['label-moderator-pin'].""; echo " "; - echo " \n"; + echo " \n"; echo "
\n"; echo " ".$text['description-moderator_pin']."\n"; echo " "; @@ -641,7 +649,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo " "; echo " ".$text['label-participant-pin'].""; echo " "; - echo " \n"; + echo " \n"; echo "
\n"; echo " ".$text['description-participant-pin']."\n"; echo " "; @@ -772,6 +780,30 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo "\n"; } + if (permission_exists('conference_room_moderator_endconf')) { + echo "\n"; + echo "".$text['label-moderator_endconf']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo "\n"; + echo "\n"; + } + if (permission_exists('conference_room_announce_name')) { echo "\n"; echo "".$text['label-announce_name']."\n"; diff --git a/app/conference_centers/conference_session_details.php b/app/conference_centers/conference_session_details.php index 145a8ae0cf..c20398e7ea 100644 --- a/app/conference_centers/conference_session_details.php +++ b/app/conference_centers/conference_session_details.php @@ -86,12 +86,10 @@ //prepare to page the results $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; $param = ''; - if (isset($_GET['page'])) { - $page = is_numeric($_GET['page']) ? $_GET['page'] : 0; - list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); - list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true); - $offset = $rows_per_page * $page; - } + $page = is_numeric($_GET['page']) ? $_GET['page'] : 0; + list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); + list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true); + $offset = $rows_per_page * $page; //get the list $sql = "select * from v_conference_session_details "; @@ -109,7 +107,7 @@ //show the content echo "
\n"; - echo "
".$text['title-conference_session_details']."
\n"; + echo "
".$text['title-conference_session_details']." (".$num_rows.")
\n"; echo "
\n"; echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','link'=>'conference_sessions.php']); $tmp_dir = $_SESSION['switch']['recordings']['dir'].'/'.$_SESSION['domain_name'].'/archive/'.$tmp_year.'/'.$tmp_month.'/'.$tmp_day; @@ -206,4 +204,4 @@ //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/app/conference_centers/conference_sessions.php b/app/conference_centers/conference_sessions.php index 65d4fbdc87..efb14e0e7f 100644 --- a/app/conference_centers/conference_sessions.php +++ b/app/conference_centers/conference_sessions.php @@ -208,16 +208,9 @@ echo " ".$end_date." \n"; echo " ".$time_difference." \n"; echo " ".escape($row['profile'])." \n"; - $tmp_dir = $_SESSION['switch']['recordings']['dir'].'/'.$_SESSION['domain_name'].'/archive/'.$tmp_year.'/'.$tmp_month.'/'.$tmp_day; - $tmp_name = ''; - if (file_exists($tmp_dir.'/'.$row['conference_session_uuid'].'.mp3')) { - $tmp_name = $row['conference_session_uuid'].".mp3"; - } - elseif (file_exists($tmp_dir.'/'.$row['conference_session_uuid'].'.wav')) { - $tmp_name = $row['conference_session_uuid'].".wav"; - } + $recording_name = $row['recording']; echo " \n"; - if (strlen($tmp_name) > 0 && file_exists($tmp_dir.'/'.$tmp_name)) { + if (strlen($recording_name) > 0 && file_exists($recording_name)) { echo "\n"; echo "\n"; echo "\n"; if (permission_exists('conference_session_play')) { echo "\n"; echo "\n"; diff --git a/app/conferences/resources/classes/conferences.php b/app/conferences/resources/classes/conferences.php index 4a592f45c0..d2e68865bb 100644 --- a/app/conferences/resources/classes/conferences.php +++ b/app/conferences/resources/classes/conferences.php @@ -136,9 +136,6 @@ if (!class_exists('conferences')) { $p->delete('dialplan_detail_delete', 'temp'); $p->delete('dialplan_delete', 'temp'); - //syncrhonize configuration - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; @@ -225,9 +222,6 @@ if (!class_exists('conferences')) { //revoke temporary permissions $p->delete('dialplan_edit', 'temp'); - //syncrhonize configuration - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; @@ -363,9 +357,6 @@ if (!class_exists('conferences')) { $p->delete('conference_user_add', 'temp'); $p->delete('dialplan_add', 'temp'); - //syncrhonize configuration - save_dialplan_xml(); - //apply settings reminder $_SESSION["reload_xml"] = true; @@ -386,4 +377,4 @@ if (!class_exists('conferences')) { } } -?> \ No newline at end of file +?> diff --git a/app/conferences_active/app_languages.php b/app/conferences_active/app_languages.php index 546cfa86fc..abe8fb0f02 100644 --- a/app/conferences_active/app_languages.php +++ b/app/conferences_active/app_languages.php @@ -11,7 +11,7 @@ $text['title-active_conferences']['es-cl'] = "Conferencias Activas"; $text['title-active_conferences']['es-mx'] = "Conferencias Activas"; //copied from es-cl $text['title-active_conferences']['fr-ca'] = "Conférences Avtives"; //copied from fr-fr $text['title-active_conferences']['fr-fr'] = "Conférences Avtives"; -$text['title-active_conferences']['he-il'] = ""; +$text['title-active_conferences']['he-il'] = "ניהול חדרי ועידה"; $text['title-active_conferences']['it-it'] = "Conferenze Attive"; $text['title-active_conferences']['nl-nl'] = "Aktieve conferenties"; $text['title-active_conferences']['pl-pl'] = "Aktywne konferencje"; @@ -528,18 +528,18 @@ $text['label-mute']['uk-ua'] = ""; $text['label-hand_raised']['en-us'] = "Hand Raised"; $text['label-hand_raised']['ar-eg'] = ""; -$text['label-hand_raised']['de-at'] = ""; -$text['label-hand_raised']['de-ch'] = ""; +$text['label-hand_raised']['de-at'] = ""; +$text['label-hand_raised']['de-ch'] = ""; $text['label-hand_raised']['de-de'] = ""; $text['label-hand_raised']['es-cl'] = ""; -$text['label-hand_raised']['es-mx'] = ""; -$text['label-hand_raised']['fr-ca'] = ""; +$text['label-hand_raised']['es-mx'] = ""; +$text['label-hand_raised']['fr-ca'] = ""; $text['label-hand_raised']['fr-fr'] = ""; $text['label-hand_raised']['he-il'] = ""; $text['label-hand_raised']['it-it'] = ""; $text['label-hand_raised']['nl-nl'] = ""; $text['label-hand_raised']['pl-pl'] = ""; -$text['label-hand_raised']['pt-br'] = ""; +$text['label-hand_raised']['pt-br'] = ""; $text['label-hand_raised']['pt-pt'] = ""; $text['label-hand_raised']['ro-ro'] = ""; $text['label-hand_raised']['ru-ru'] = ""; diff --git a/app/conferences_active/conference_interactive_inc.php b/app/conferences_active/conference_interactive_inc.php index 71f0572b6e..046b1e79d4 100644 --- a/app/conferences_active/conference_interactive_inc.php +++ b/app/conferences_active/conference_interactive_inc.php @@ -198,12 +198,11 @@ } else { echo ""; - } echo "\n"; $talking_icon = ""; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; diff --git a/app/contacts/app_config.php b/app/contacts/app_config.php index eccac6a17e..dd52e141bd 100644 --- a/app/contacts/app_config.php +++ b/app/contacts/app_config.php @@ -5,7 +5,7 @@ $apps[$x]['uuid'] = "04481e0e-a478-c559-adad-52bd4174574c"; $apps[$x]['category'] = "CRM"; $apps[$x]['subcategory'] = ""; - $apps[$x]['version'] = "1.0"; + $apps[$x]['version'] = "1.1"; $apps[$x]['license'] = "Mozilla Public License 1.1"; $apps[$x]['contact_url'] = "http://www.fusionpbx.com"; $apps[$x]['description']['en-us'] = "Provides a place to store contact information for individuals and organizations."; diff --git a/app/contacts/contact_import.php b/app/contacts/contact_import.php index d48630b2f5..2c415cfe99 100644 --- a/app/contacts/contact_import.php +++ b/app/contacts/contact_import.php @@ -172,21 +172,43 @@ echo "
\n"; @@ -225,7 +218,7 @@ echo "\n"; - echo " \n"; - echo " \n"; + echo " \n"; echo "
\n"; echo "".$text['description-pin']."\n"; echo "
".escape($caller_id_name).$talking_icon."".escape($caller_id_number)."".escape(urldecode($caller_id_name)).$talking_icon."".escape(urldecode($caller_id_number))."".escape($join_time_formatted)."".escape($last_talking_formatted)."".$text['label-'.(($flag_has_floor == "true") ? 'yes' : 'no')]."
\n"; + //define phone label options + if (is_array($_SESSION["contact"]["phone_label"]) && @sizeof($_SESSION["contact"]["phone_label"]) != 0) { + sort($_SESSION["contact"]["phone_label"]); + foreach($_SESSION["contact"]["phone_label"] as $row) { + $label_options[] = ""; + } + } + //loop through user columns $x = 0; foreach ($line_fields as $line_field) { $line_field = trim(trim($line_field), $enclosure); echo "\n"; echo " \n"; echo " \n"; echo "\n"; $x++; @@ -251,8 +274,9 @@ exit; } - //user selected fields + //user selected fields, labels $fields = $_POST['fields']; + $labels = $_POST['labels']; //set the domain_uuid $domain_uuid = $_SESSION['domain_uuid']; @@ -312,6 +336,9 @@ if ($field_name != "username" && $field_name != "group_name") { $array[$parent][$row_id][$table_name][$y]['domain_uuid'] = $domain_uuid; $array[$parent][$row_id][$table_name][$y][$field_name] = $result[$key]; + if ($field_name == 'phone_number') { + $array[$parent][$row_id][$table_name][$y]['phone_label'] = $labels[$key]; + } } } @@ -337,11 +364,12 @@ } } } + if (is_array($array[$parent][$row_id])) { $y++; } } //process a chunk of the array if ($row_id === 1000) { - + //save to the data $database = new database; $database->app_name = 'contacts'; @@ -349,8 +377,8 @@ $database->save($array); //clear the array - unset($array); - + unset($array); + //set the row id back to 0 $row_id = 0; } @@ -359,6 +387,7 @@ $row_number++; $row_id++; } //end while + fclose($handle); //save to the data @@ -418,7 +447,7 @@ echo "\n"; echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + } + + if (permission_exists('destination_trunk_prefix')) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + if (permission_exists('destination_area_code')) { + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; } @@ -943,6 +1019,19 @@ } echo "\n"; echo "\n"; + + if (permission_exists('destination_condition_field')) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } if (permission_exists('destination_caller_id_name')) { echo "\n"; @@ -1097,6 +1186,21 @@ echo "\n"; } + if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/music_on_hold')) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; echo "\n"; echo ""; @@ -266,14 +273,24 @@ echo " \n"; } echo " \n"; - echo " \n"; + if (permission_exists('destination_trunk_prefix')) { + echo " \n"; + } + if (permission_exists('destination_area_code')) { + echo " \n"; + } + + echo " \n"; + if (!$_GET['show'] == "all") { echo " \n"; } @@ -308,4 +325,4 @@ //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/app/destinations/resources/classes/destinations.php b/app/destinations/resources/classes/destinations.php index ea1a355f61..10ca9ddab0 100644 --- a/app/destinations/resources/classes/destinations.php +++ b/app/destinations/resources/classes/destinations.php @@ -125,7 +125,7 @@ if (!class_exists('destinations')) { if ($this->destinations !== null && is_array($this->destinations)) { $x = 0; foreach ($this->destinations as $row) { - if ($row['type'] = 'sql') { + if ($row['type'] === 'sql') { $table_name = preg_replace('#[^a-zA-Z0-9_]#', '', $row['name']); if (isset($row['sql'])) { if (is_array($row['sql'])) { @@ -160,6 +160,9 @@ if (!class_exists('destinations')) { $this->destinations[$x]['result']['sql'] = $sql; $this->destinations[$x]['result']['data'] = $result; } + if ($row['type'] === 'array') { + $this->destinations[$x] = $row; + } $x++; } } @@ -260,7 +263,7 @@ if (!class_exists('destinations')) { $text2 = $language2->get($_SESSION['domain']['language']['code'], 'app/'.$name); } - if (count($row['result']['data']) > 0 and strlen($row['select_value'][$destination_type]) > 0) { + if (is_array($row['result']['data']) && count($row['result']['data']) > 0 and strlen($row['select_value'][$destination_type]) > 0) { $response .= " \n"; $label2 = $label; foreach ($row['result']['data'] as $data) { @@ -268,7 +271,7 @@ if (!class_exists('destinations')) { $select_label = $row['select_label']; foreach ($row['field'] as $key => $value) { if ($key == 'destination' and is_array($value)){ - if ($value['type'] == 'csv') { + if ($value['type'] === 'csv') { $array = explode($value['delimiter'], $data[$key]); $select_value = str_replace("\${destination}", $array[0], $select_value); $select_label = str_replace("\${destination}", $array[0], $select_label); @@ -384,7 +387,7 @@ if (!class_exists('destinations')) { //add the sql and data to the array $x = 0; foreach ($this->destinations as $row) { - if ($row['type'] = 'sql') { + if ($row['type'] === 'sql') { $table_name = preg_replace('#[^a-zA-Z0-9_]#', '', $row['name']); if (isset($row['sql'])) { if (is_array($row['sql'])) { @@ -419,8 +422,12 @@ if (!class_exists('destinations')) { $this->destinations[$x]['result']['sql'] = $sql; $this->destinations[$x]['result']['data'] = $result; } + if ($row['type'] === 'array') { + $this->destinations[$x] = $row; + } $x++; } + $this->destinations[$x]['type'] = 'array'; $this->destinations[$x]['label'] = 'other'; $this->destinations[$x]['name'] = 'dialplans'; @@ -468,7 +475,7 @@ if (!class_exists('destinations')) { $text2 = $language2->get($_SESSION['domain']['language']['code'], 'app/'.$name); } - if (count($row['result']['data']) > 0 and strlen($row['select_value'][$destination_type]) > 0) { + if (is_array($row['result']['data']) && strlen($row['select_value'][$destination_type]) > 0) { $label2 = $label; foreach ($row['result']['data'] as $data) { $select_value = $row['select_value'][$destination_type]; @@ -540,11 +547,242 @@ if (!class_exists('destinations')) { return $array; } + /** + * Get all the destinations + * @var string $destination_type can be ivr, dialplan, call_center_contact or bridge + */ + public function get($destination_type) { + + //set the global variables + global $db_type; + + //get the domain_name + $sql = "select domain_name from v_domains "; + $sql .= "where domain_uuid = :domain_uuid "; + $parameters['domain_uuid'] = $this->domain_uuid; + $database = new database; + $this->domain_name = $database->select($sql, $parameters, 'column'); + + //get the destinations + if (!is_array($this->destinations)) { + + //get the array from the app_config.php files + $config_list = glob($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH . "/*/*/app_config.php"); + $x = 0; + foreach ($config_list as &$config_path) { + include($config_path); + $x++; + } + $i = 0; + foreach ($apps as $x => &$app) { + if (isset($app['destinations'])) { + foreach ($app['destinations'] as &$row) { + $this->destinations[] = $row; + } + } + } + + //put the array in order + foreach ($this->destinations as $row) { + $option_groups[] = $row['label']; + } + array_multisort($option_groups, SORT_ASC, $this->destinations); + + //add the sql and data to the array + $x = 0; + foreach ($this->destinations as $row) { + if ($row['type'] === 'sql') { + $table_name = preg_replace('#[^a-zA-Z0-9_]#', '', $row['name']); + if (isset($row['sql'])) { + if (is_array($row['sql'])) { + $sql = trim($row['sql'][$db_type])." "; + } + else { + $sql = trim($row['sql'])." "; + } + } + else { + $field_count = count($row['field']); + $fields = ''; + $c = 1; + foreach ($row['field'] as $key => $value) { + $key = preg_replace('#[^a-zA-Z0-9_]#', '', $key); + $value = preg_replace('#[^a-zA-Z0-9_]#', '', $value); + if ($field_count != $c) { $delimiter = ','; } else { $delimiter = ''; } + $fields .= $value." as ".$key.$delimiter." "; + $c++; + } + //$sql = "select * "; + $sql = "select ".$fields; + $sql .= " from v_".$table_name." "; + } + if (isset($row['where'])) { + $sql .= trim($row['where'])." "; + } + $sql .= "order by ".trim($row['order_by']); + $sql = str_replace("\${domain_uuid}", $this->domain_uuid, $sql); + $database = new database; + $result = $database->select($sql, null, 'all'); + + $this->destinations[$x]['result']['sql'] = $sql; + $this->destinations[$x]['result']['data'] = $result; + } + if ($row['type'] === 'array') { + $this->destinations[$x] = $row['result']['data']; + } + $x++; + } + + $this->destinations[$x]['type'] = 'array'; + $this->destinations[$x]['label'] = 'other'; + $this->destinations[$x]['name'] = 'dialplans'; + $this->destinations[$x]['field']['name'] = "name"; + $this->destinations[$x]['field']['destination'] = "destination"; + $this->destinations[$x]['select_value']['dialplan'] = "transfer:\${destination}"; + $this->destinations[$x]['select_value']['ivr'] = "menu-exec-app:transfer \${destination}"; + $this->destinations[$x]['select_label'] = "\${name}"; + $y = 0; + $this->destinations[$x]['result']['data'][$y]['label'] = 'check_voicemail'; + $this->destinations[$x]['result']['data'][$y]['name'] = '*98'; + $this->destinations[$x]['result']['data'][$y]['extension'] = '*98'; + $this->destinations[$x]['result']['data'][$y]['destination'] = '*98 XML ${context}'; + $y++; + $this->destinations[$x]['result']['data'][$y]['label'] = 'company_directory'; + $this->destinations[$x]['result']['data'][$y]['name'] = '*411'; + $this->destinations[$x]['result']['data'][$y]['extension'] = '*411'; + $this->destinations[$x]['result']['data'][$y]['destination'] = '*411 XML ${context}'; + $y++; + $this->destinations[$x]['result']['data'][$y]['label'] = 'hangup'; + $this->destinations[$x]['result']['data'][$y]['name'] = 'hangup'; + $this->destinations[$x]['result']['data'][$y]['application'] = 'hangup'; + $this->destinations[$x]['result']['data'][$y]['destination'] = ''; + $y++; + $this->destinations[$x]['result']['data'][$y]['label'] = 'record'; + $this->destinations[$x]['result']['data'][$y]['name'] = '*732'; + $this->destinations[$x]['result']['data'][$y]['extension'] = '*732'; + $this->destinations[$x]['result']['data'][$y]['destination'] = '*732 XML ${context}'; + $y++; + } + + //remove special characters from the name + $destination_id = str_replace("]", "", $destination_name); + $destination_id = str_replace("[", "_", $destination_id); + + //set default to false + $select_found = false; + + $i = 0; + foreach ($this->destinations as $row) { + + $name = $row['name']; + $label = $row['label']; + $destination = $row['field']['destination']; + + //add multi-lingual support + if (file_exists($_SERVER["PROJECT_ROOT"]."/app/".$name."/app_languages.php")) { + $language2 = new text; + $text2 = $language2->get($_SESSION['domain']['language']['code'], 'app/'.$name); + } + + if (count($row['result']['data']) > 0 and strlen($row['select_value'][$destination_type]) > 0) { + $label2 = $label; + foreach ($row['result']['data'] as $data) { + $select_value = $row['select_value'][$destination_type]; + $select_label = $row['select_label']; + foreach ($row['field'] as $key => $value) { + if ($key == 'destination' and is_array($value)) { + if ($value['type'] == 'csv') { + $array = explode($value['delimiter'], $data[$key]); + $select_value = str_replace("\${destination}", $array[0], $select_value); + $select_label = str_replace("\${destination}", $array[0], $select_label); + } + } + else { + if (strpos($value,',') !== false) { + $keys = explode(",", $value); + foreach ($keys as $k) { + if (strlen($data[$k]) > 0) { + $select_value = str_replace("\${".$key."}", $data[$k], $select_value); + if (strlen($data['label']) == 0) { + $select_label = str_replace("\${".$key."}", $data[$k], $select_label); + } + else { + $label = $data['label']; + $select_label = str_replace("\${".$key."}", $text2['option-'.$label], $select_label); + } + } + } + } + else { + $select_value = str_replace("\${".$key."}", $data[$key], $select_value); + if (strlen($data['label']) == 0) { + $select_label = str_replace("\${".$key."}", $data[$key], $select_label); + } + else { + $label = $data['label']; + $select_label = str_replace("\${".$key."}", $text2['option-'.$label], $select_label); + } + } + //application: hangup + if (strlen($data['application']) > 0) { + $select_value = str_replace("transfer", $data['application'], $select_value); + } + } + } + + $select_value = str_replace("\${domain_name}", $this->domain_name, $select_value); + $select_value = str_replace("\${context}", $this->domain_name, $select_value); + $select_label = str_replace("\${domain_name}", $this->domain_name, $select_label); + $select_label = str_replace("\${context}", $this->domain_name, $select_label); + $select_label = str_replace("✉", 'email-icon', $select_label); + $select_label = escape(trim($select_label)); + $select_label = str_replace('email-icon', '✉', $select_label); + if ($select_value == $destination_value) { $selected = "true' "; } else { $selected = 'false'; } + if ($label2 == 'destinations') { $select_label = format_phone($select_label); } + + $array[$name][$i] = $data; + $array[$name][$i]['label'] = $select_label; + //$array[$name][$i]['destination'] = $select_value; + //$array[$name][$i]['select_name'] = $select_name; + //$array[$name][$i]['select_value'] = $select_value; + //$array[$name][$i]['selected'] = $selected; + $array[$name][$i]['destination'] = $select_value; + $array[$name][$i]["extension"] = $data["extension"]; + + $i++; + } + $i = 0; + unset($text); + } + } + if (!$selected) { + $destination_label = str_replace(":", " ", $destination_value); + $destination_label = str_replace("menu-exec-app", "", $destination_label); + $destination_label = str_replace("transfer", "", $destination_label); + $destination_label = str_replace("XML ".$this->domain_name, "", $destination_label); + + $array[$name][$i] = $row; + $array[$name][$i]['label'] = $destination_label; + //$array[$name][$i]['destination'] = $destination_value; + //$array[$name][$i]['select_name'] = $select_name; + //$array[$name][$i]['select_value'] = $select_value; + $array[$name][$i]['destination'] = $destination_value; + + $i++; + } + + //set the previous application name + $previous_application = $name; + + //return the formatted destinations + return $array; + } + /** * valid destination */ - public function valid($destination) { - $destinations = $this->all('dialplan'); + public function valid($destination, $type = 'dialplan') { + $destinations = $this->all($type); foreach($destinations as $category => $array) { if (is_array($array)) { foreach ($array as $key => $value) { @@ -622,9 +860,6 @@ if (!class_exists('destinations')) { $p->delete('dialplan_delete', 'temp'); $p->delete('dialplan_detail_delete', 'temp'); - //synchronize the xml config - save_dialplan_xml(); - //clear the cache if (is_array($destination_contexts) && @sizeof($destination_contexts) != 0) { $destination_contexts = array_unique($destination_contexts); diff --git a/app/devices/app_config.php b/app/devices/app_config.php index b858ba435b..f6c613c9e5 100644 --- a/app/devices/app_config.php +++ b/app/devices/app_config.php @@ -2755,6 +2755,13 @@ $vendors[$y]['functions'][$z]['groups'][] = "superadmin"; $vendors[$y]['functions'][$z]['groups'][] = "admin"; $z++; + $vendors[$y]['functions'][$z]['uuid'] = "298ea214-4773-42e8-ac9b-b72c10be6a75"; + $vendors[$y]['functions'][$z]['label'] = "label-na"; + $vendors[$y]['functions'][$z]['name'] = "na"; + $vendors[$y]['functions'][$z]['value'] = "0"; + $vendors[$y]['functions'][$z]['groups'][] = "superadmin"; + $vendors[$y]['functions'][$z]['groups'][] = "admin"; + $z++; $vendors[$y]['functions'][$z]['uuid'] = "f2b3069f-02f6-4035-bccc-2c8c9a37f3fa"; $vendors[$y]['functions'][$z]['label'] = "label-speed_dial"; $vendors[$y]['functions'][$z]['name'] = "speed_dial"; diff --git a/app/devices/app_languages.php b/app/devices/app_languages.php index cd660b8123..fdb0516c8c 100644 --- a/app/devices/app_languages.php +++ b/app/devices/app_languages.php @@ -3238,6 +3238,27 @@ $text['label-button']['ru-ru'] = "Кнопка"; $text['label-button']['sv-se'] = "Knapp"; $text['label-button']['uk-ua'] = "Кнопка"; +$text['label-phonebook']['en-us'] = "Phonebook"; +$text['label-phonebook']['en-gb'] = "Phonebook"; +$text['label-phonebook']['ar-eg'] = ""; +$text['label-phonebook']['de-at'] = "Telefonbuch"; //copied from de-de +$text['label-phonebook']['de-ch'] = "Telefonbuch"; //copied from de-de +$text['label-phonebook']['de-de'] = "Telefonbuch"; +$text['label-phonebook']['es-cl'] = "agenda telefónica"; +$text['label-phonebook']['es-mx'] = "agenda telefónica"; //copied from es-cl +$text['label-phonebook']['fr-ca'] = "Annuaire"; //copied from fr-fr +$text['label-phonebook']['fr-fr'] = "Annuaire"; +$text['label-phonebook']['he-il'] = ""; +$text['label-phonebook']['it-it'] = "Rubrica"; +$text['label-phonebook']['nl-nl'] = "telefoonboek"; +$text['label-phonebook']['pl-pl'] = "Ksiażka telefoniczna"; +$text['label-phonebook']['pt-br'] = "Lista Telefonica"; +$text['label-phonebook']['pt-pt'] = "Lista Telefónica"; +$text['label-phonebook']['ro-ro'] = ""; +$text['label-phonebook']['ru-ru'] = "Телефонная книга"; +$text['label-phonebook']['sv-se'] = "Telefonbok"; +$text['label-phonebook']['uk-ua'] = ""; + $text['label-broadsoft_phonebook']['en-us'] = "Broadsoft Phonebook"; $text['label-broadsoft_phonebook']['en-gb'] = "Broadsoft Phonebook"; $text['label-broadsoft_phonebook']['ar-eg'] = ""; @@ -5679,4 +5700,4 @@ $text['label-column_name']['ru-ru'] = ""; $text['label-column_name']['sv-se'] = ""; $text['label-column_name']['uk-ua'] = ""; -?> \ No newline at end of file +?> diff --git a/app/devices/device_copy.php b/app/devices/device_copy.php index 588d612896..a383e4f871 100644 --- a/app/devices/device_copy.php +++ b/app/devices/device_copy.php @@ -99,7 +99,7 @@ $sql .= "when 'programmable' then 3 "; $sql .= "when 'expansion' then 4 "; $sql .= "else 100 END, "; - $sql .= "cast(device_key_id as numeric) asc "; + $sql .= "cast(device_key_id as int) asc "; $parameters['device_uuid'] = $device_uuid; $database = new database; $device_keys = $database->select($sql, $parameters, 'all'); diff --git a/app/devices/device_dashboard.php b/app/devices/device_dashboard.php index b2d4dc7901..37b96aa398 100644 --- a/app/devices/device_dashboard.php +++ b/app/devices/device_dashboard.php @@ -75,7 +75,7 @@ //validate the token $token = new token; - if (!$token->validate('/app/devices/device_dashboard.php')) { + if (!$token->validate('/app/devices/device_dashboard.php') && !$token->validate('login')) { message::add($text['message-invalid_token'],'negative'); header('Location: '.PROJECT_PATH."/core/user_settings/user_dashboard.php"); exit; diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index d0a90e7e0b..3040b537a9 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -120,7 +120,6 @@ $device_firmware_version = $_POST["device_firmware_version"]; $device_enabled = $_POST["device_enabled"]; $device_template = $_POST["device_template"]; - $device_profile_uuid = $_POST["device_profile_uuid"]; $device_description = $_POST["device_description"]; //lines $device_lines = $_POST["device_lines"]; @@ -273,8 +272,8 @@ if (permission_exists('device_template')) { $array['devices'][0]['device_template'] = $device_template; } - if (permission_exists('device_profile_edit') && is_uuid($device_profile_uuid)) { - $array['devices'][0]['device_profile_uuid'] = $device_profile_uuid; + if (permission_exists('device_profile_edit')) { + $array['devices'][0]['device_profile_uuid'] = is_uuid($device_profile_uuid) ? $device_profile_uuid : null; } if (permission_exists('device_description')) { $array['devices'][0]['device_description'] = $device_description; @@ -1047,28 +1046,65 @@ if (permission_exists('device_line_server_address_primary')) { echo " \n"; } + if (permission_exists('device_line_server_address_secondary')) { echo " \n"; } if (permission_exists('device_line_outbound_proxy_primary')) { - if (permission_exists('device_line_outbound_proxy_secondary')) { - $placeholder_label = $text['label-primary']; - } echo " \n"; - unset($placeholder_label); } if (permission_exists('device_line_outbound_proxy_secondary')) { echo " \n"; } @@ -1137,16 +1173,11 @@ echo " \n"; echo " \n"; - if (is_array($device_lines) && @sizeof($device_lines) > 1 && permission_exists('device_line_delete')) { - if (is_uuid($row['device_line_uuid'])) { - echo " \n"; + if (is_array($device_lines) && @sizeof($device_lines) > 1 && permission_exists('device_line_delete') && is_uuid($row['device_line_uuid'])) { + echo " \n"; @@ -1770,4 +1801,4 @@ //show the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/app/devices/device_imports.php b/app/devices/device_imports.php index 6cce082ff6..07fee12cc1 100644 --- a/app/devices/device_imports.php +++ b/app/devices/device_imports.php @@ -401,7 +401,7 @@ echo "\n"; echo "\n"; - if (is_array($device_lines) && @sizeof($device_lines) != 0) { break; } //show one row when editing extension and no device assigned + break; //show one empty row whether adding or editing } echo "
\n"; - //echo " ".$text['label-zzz']."\n"; echo $line_field; echo " \n"; - echo " \n"; echo " \n"; foreach($schema as $row) { echo " \n"; foreach($row['fields'] as $field) { + if ($field == 'phone_label') { continue; } $selected = ''; if ($field == $line_field) { $selected = "selected='selected'"; @@ -198,8 +220,9 @@ echo " \n"; } echo " \n"; - //echo "
\n"; - //echo $text['description-zzz']."\n"; + echo " \n"; echo "
\n"; echo " \n"; echo "
\n"; @@ -918,12 +968,38 @@ if (permission_exists('destination_number')) { echo "
\n"; - echo " ".$text['label-destination_prefix']."\n"; + echo " ".$text['label-destination_country_code']."\n"; echo "\n"; echo " \n"; echo "
\n"; - echo $text['description-destination_prefix']."\n"; + echo $text['description-destination_country_code']."\n"; + echo "
\n"; + echo " ".$text['label-destination_trunk_prefix']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-destination_trunk_prefix']."\n"; + echo "
\n"; + echo " ".$text['label-destination_area_code']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-destination_area_code']."\n"; echo "
\n"; + echo " ".$text['label-destination_condition_field']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-destination_condition_field']."\n"; + echo "
\n"; + echo " ".$text['label-destination_hold_music']."\n"; + echo "\n"; + require_once "app/music_on_hold/resources/classes/switch_music_on_hold.php"; + $music_on_hold = new switch_music_on_hold; + echo $music_on_hold->select('destination_hold_music', $destination_hold_music, null); + echo "
\n"; + echo $text['description-destination_hold_music']."\n"; + echo "
\n"; echo " ".$text['label-account_code']."\n"; diff --git a/app/destinations/destination_imports.php b/app/destinations/destination_imports.php index 87dfc4a84d..6b7e61a460 100644 --- a/app/destinations/destination_imports.php +++ b/app/destinations/destination_imports.php @@ -896,7 +896,7 @@ echo "\n"; echo " ". $text['label-detail_action']."".escape($domain)."".escape($row['destination_type'])." "; + + echo " ".escape($row['destination_prefix'])." ".escape($row['destination_trunk_prefix'])." ".escape($row['destination_area_code'])." \n"; if (permission_exists('destination_edit')) { - echo "".escape(format_phone($row['destination_number'])).""; + echo " ".escape(format_phone($row['destination_number']))."\n"; } else { - echo escape(format_phone($row['destination_number'])); + echo " ".escape(format_phone($row['destination_number'])); } echo " ".action_name($destination_array, $row['destination_app'].':'.$row['destination_data'])." \n"; - echo " \n"; + if (is_uuid($_SESSION['provision']['server_address_primary']['uuid'])) { + echo " \n"; + } + else { + echo " \n"; + } echo " \n"; - echo " \n"; + if (isset($_SESSION['provision']['server_address_secondary']['text'])) { + echo " \n"; + } + else { + echo " \n"; + } echo " \n"; - echo " \n"; + if (isset($_SESSION['provision']['outbound_proxy_primary']['text'])) { + echo " \n"; + } + else { + echo " \n"; + } echo " \n"; - echo " \n"; + if (isset($_SESSION['provision']['outbound_proxy_secondary']['text'])) { + echo " \n"; + } + else { + echo " \n"; + } echo " \n"; - echo " \n"; - echo " \n"; - } - else { - echo " \n"; - } - echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; } echo "
\n"; echo " \n"; echo "
\n"; echo "
\n"; @@ -1672,186 +1699,6 @@ echo "\n"; } - if (permission_exists("extension_user_context")) { - echo "\n"; - echo "\n"; - echo " ".$text['label-user_context']."\n"; - echo "\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-user_context']."\n"; - echo "\n"; - echo "\n"; - } - - //--- begin: show_advanced ----------------------- - - echo "\n"; - echo "\n"; - - echo "
\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
 \n"; - echo button::create(['type'=>'button','label'=>$text['button-advanced'],'icon'=>'tools','onclick'=>'show_advanced_config();']); - echo "
\n"; - echo "
\n"; - - echo "
\n"; - echo " \n"; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - if (permission_exists("extension_cidr")) { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - } - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - if (permission_exists('extension_nibble_account')) { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - } - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - if (permission_exists('extension_absolute_codec_string')) { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - } - - if (permission_exists('extension_force_ping')) { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - } - if (permission_exists('extension_domain')) { echo "\n"; echo "\n"; } - if (permission_exists('extension_dial_string')) { + if (permission_exists("extension_user_context")) { echo "\n"; - echo "\n"; echo "\n"; echo "\n"; } - echo "
\n"; - echo " ".$text['label-auth_acl']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-auth_acl']."\n"; - echo "
\n"; - echo " ".$text['label-cidr']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-cidr']."\n"; - echo "
\n"; - echo " ".$text['label-sip_force_contact']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-sip_force_contact']."\n"; - echo "
\n"; - echo " ".$text['label-sip_force_expires']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-sip_force_expires']."\n"; - echo "
\n"; - echo " ".$text['label-nibble_account']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-nibble_account']."\n"; - echo "
\n"; - echo " ".$text['label-mwi_account']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-mwi_account']."\n"; - echo "
\n"; - echo " ".$text['label-sip_bypass_media']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-sip_bypass_media']."\n"; - echo "
\n"; - echo " ".$text['label-absolute_codec_string']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-absolute_codec_string']."\n"; - echo "
\n"; - echo " ".$text['label-force_ping']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-force_ping']."\n"; - echo "
\n"; @@ -1874,25 +1721,207 @@ echo "
\n"; - echo " ".$text['label-dial_string']."\n"; + echo "\n"; + echo " ".$text['label-user_context']."\n"; echo "\n"; - echo " \n"; + echo " \n"; echo "
\n"; - echo $text['description-dial_string']."\n"; + echo $text['description-user_context']."\n"; echo "
\n"; - echo "
"; + //--- begin: show_advanced ----------------------- - echo "\n"; - echo "\n"; + if (permission_exists("extension_advanced")) { + echo "\n"; + echo "\n"; + echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
 \n"; + echo button::create(['type'=>'button','label'=>$text['button-advanced'],'icon'=>'tools','onclick'=>'show_advanced_config();']); + echo "
\n"; + echo "
\n"; + + echo "
\n"; + echo " \n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if (permission_exists("extension_cidr")) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if (permission_exists('extension_nibble_account')) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if (permission_exists('extension_absolute_codec_string')) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + if (permission_exists('extension_force_ping')) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + if (permission_exists('extension_dial_string')) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
\n"; + echo " ".$text['label-auth_acl']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-auth_acl']."\n"; + echo "
\n"; + echo " ".$text['label-cidr']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-cidr']."\n"; + echo "
\n"; + echo " ".$text['label-sip_force_contact']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-sip_force_contact']."\n"; + echo "
\n"; + echo " ".$text['label-sip_force_expires']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-sip_force_expires']."\n"; + echo "
\n"; + echo " ".$text['label-nibble_account']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-nibble_account']."\n"; + echo "
\n"; + echo " ".$text['label-mwi_account']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-mwi_account']."\n"; + echo "
\n"; + echo " ".$text['label-sip_bypass_media']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-sip_bypass_media']."\n"; + echo "
\n"; + echo " ".$text['label-absolute_codec_string']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-absolute_codec_string']."\n"; + echo "
\n"; + echo " ".$text['label-force_ping']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-force_ping']."\n"; + echo "
\n"; + echo " ".$text['label-dial_string']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-dial_string']."\n"; + echo "
\n"; + echo "
"; + + echo "\n"; + echo "\n"; + + } //--- end: show_advanced ----------------------- if (permission_exists('extension_enabled')) { @@ -1950,8 +1979,8 @@ echo "\n"; echo ""; - echo "\n"; -?> \ No newline at end of file +//include the footer + require_once "resources/footer.php"; + +?> diff --git a/core/domains/app_config.php b/core/domains/app_config.php index b49bdb6f7e..5e84d462e5 100644 --- a/core/domains/app_config.php +++ b/core/domains/app_config.php @@ -82,7 +82,10 @@ $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Enter the domain name."; $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "domain_enabled"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "boolean"; + $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['toggle'] = ['true','false']; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Set the status of the domain."; $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "domain_description"; diff --git a/core/domains/app_languages.php b/core/domains/app_languages.php index c2bb3aae0c..0091c7bb0f 100644 --- a/core/domains/app_languages.php +++ b/core/domains/app_languages.php @@ -280,6 +280,27 @@ $text['message-delete_failed']['ru-ru'] = "Не выбрана настройк $text['message-delete_failed']['sv-se'] = "Ingen Inställning Markerad"; $text['message-delete_failed']['uk-ua'] = "Налаштування не вказано"; +$text['message-domain_exists']['en-us'] = "Domain Already Exists"; +$text['message-domain_exists']['en-gb'] = "Domain Already Exists"; +$text['message-domain_exists']['ar-eg'] = "Domain Already Exists"; +$text['message-domain_exists']['de-at'] = "Domain Already Exists"; +$text['message-domain_exists']['de-ch'] = "Domain Already Exists"; +$text['message-domain_exists']['de-de'] = "Domain Already Exists"; +$text['message-domain_exists']['es-cl'] = "Domain Already Exists"; +$text['message-domain_exists']['es-mx'] = "Domain Already Exists"; +$text['message-domain_exists']['fr-ca'] = "Domain Already Exists"; +$text['message-domain_exists']['fr-fr'] = "Domain Already Exists"; +$text['message-domain_exists']['he-il'] = "Domain Already Exists"; +$text['message-domain_exists']['it-it'] = "Domain Already Exists"; +$text['message-domain_exists']['nl-nl'] = "Domain Already Exists"; +$text['message-domain_exists']['pl-pl'] = "Domain Already Exists"; +$text['message-domain_exists']['pt-br'] = "Domain Already Exists"; +$text['message-domain_exists']['pt-pt'] = "Domain Already Exists"; +$text['message-domain_exists']['ro-ro'] = "Domain Already Exists"; +$text['message-domain_exists']['ru-ru'] = "Domain Already Exists"; +$text['message-domain_exists']['sv-se'] = "Domain Already Exists"; +$text['message-domain_exists']['uk-ua'] = "Domain Already Exists"; + $text['label-web_fonts']['en-us'] = "Web Fonts"; $text['label-web_fonts']['en-gb'] = "Web Fonts"; $text['label-web_fonts']['ar-eg'] = "الخطوط على شبكة الإنترنت"; @@ -805,27 +826,6 @@ $text['header-domain_settings']['ru-ru'] = "Настройки домена"; $text['header-domain_settings']['sv-se'] = "Domän Inställning"; $text['header-domain_settings']['uk-ua'] = "Налаштування домену"; -$text['header_description-domain_settings']['en-us'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['en-gb'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['ar-eg'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['de-at'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['de-ch'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['de-de'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['es-cl'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['es-mx'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['fr-ca'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['fr-fr'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['he-il'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['it-it'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['nl-nl'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['pl-pl'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['pt-br'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['pt-pt'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['ro-ro'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['ru-ru'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['sv-se'] = "Settings for this domain that should override those defined in Default Settings."; -$text['header_description-domain_settings']['uk-ua'] = "Settings for this domain that should override those defined in Default Settings."; - $text['header-domain_setting-edit']['en-us'] = "Domain Setting"; $text['header-domain_setting-edit']['en-gb'] = "Domain Setting"; $text['header-domain_setting-edit']['ar-eg'] = ""; diff --git a/core/domains/domain_edit.php b/core/domains/domain_edit.php index 11054c02ed..5f4e7e3757 100644 --- a/core/domains/domain_edit.php +++ b/core/domains/domain_edit.php @@ -44,7 +44,7 @@ $text = $language->get(); //action add or update - if (!permission_exists('domain_add') || (file_exists($_SERVER["PROJECT_ROOT"]."/app/domains/") && !permission_exists('domain_parent') && permission_exists('domain_descendants'))) { + if (!permission_exists('domain_add') || (file_exists($_SERVER["PROJECT_ROOT"]."/app/domains/") && !permission_exists('domain_all'))) { //admin editing own domain/settings $domain_uuid = $_SESSION['domain_uuid']; $action = "update"; @@ -61,7 +61,7 @@ //get http post variables and set them to php variables if (count($_POST) > 0) { - $domain_name = $_POST["domain_name"]; + $domain_name = strtolower($_POST["domain_name"]); $domain_enabled = $_POST["domain_enabled"]; $domain_description = $_POST["domain_description"]; } @@ -118,16 +118,60 @@ if ($_POST["persistformvar"] != "true") { if ($action == "add" && permission_exists('domain_add')) { $sql = "select count(*) from v_domains "; - $sql .= "where domain_name = :domain_name "; + $sql .= "where lower(domain_name) = :domain_name "; $parameters['domain_name'] = $domain_name; $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); unset($sql, $parameters); if ($num_rows == 0) { + //add the domain name - $domain_enabled = 'true'; - $domain_uuid = uuid(); + $domain_enabled = 'true'; + $domain_uuid = uuid(); + $array['domains'][0]['domain_uuid'] = $domain_uuid; + $array['domains'][0]['domain_name'] = $domain_name; + $array['domains'][0]['domain_enabled'] = $domain_enabled; + $array['domains'][0]['domain_description'] = $domain_description; + $database = new database; + $database->app_name = 'domains'; + $database->app_uuid = '8b91605b-f6d2-42e6-a56d-5d1ded01bb44'; + $database->save($array); + + //add dialplans to the domain + if (file_exists($_SERVER["PROJECT_ROOT"]."/app/dialplans/app_config.php")) { + //import the dialplans + $dialplan = new dialplan; + $dialplan->import($array['domains']); + unset($array); + + //add xml for each dialplan where the dialplan xml is empty + $dialplans = new dialplan; + $dialplans->source = "details"; + $dialplans->destination = "database"; + $dialplans->context = $domain_name; + $dialplans->is_empty = "dialplan_xml"; + $array = $dialplans->xml(); + } + } + else { + message::add($text['message-domain_exists'],'negative'); + header("Location: domains.php"); + exit; + } + } + + if ($action == "update" && permission_exists('domain_edit')) { + + //get original domain name + $sql = "select domain_name from v_domains "; + $sql .= "where domain_uuid = :domain_uuid "; + $parameters['domain_uuid'] = $domain_uuid; + $database = new database; + $original_domain_name = $database->select($sql, $parameters, 'column'); + unset($sql, $parameters); + + //update domain name, description $array['domains'][0]['domain_uuid'] = $domain_uuid; $array['domains'][0]['domain_name'] = $domain_name; $array['domains'][0]['domain_enabled'] = $domain_enabled; @@ -137,7 +181,7 @@ $database->app_uuid = '8b91605b-f6d2-42e6-a56d-5d1ded01bb44'; $database->save($array); - //add dialplans to the domain + //add dialplans to the domain if (file_exists($_SERVER["PROJECT_ROOT"]."/app/dialplans/app_config.php")) { //import the dialplans $dialplan = new dialplan; @@ -152,47 +196,10 @@ $dialplans->is_empty = "dialplan_xml"; $array = $dialplans->xml(); } - } - } - - if ($action == "update" && permission_exists('domain_edit')) { - // get original domain name - $sql = "select domain_name from v_domains "; - $sql .= "where domain_uuid = :domain_uuid "; - $parameters['domain_uuid'] = $domain_uuid; - $database = new database; - $original_domain_name = $database->select($sql, $parameters, 'column'); - unset($sql, $parameters); - - // update domain name, description - $array['domains'][0]['domain_uuid'] = $domain_uuid; - $array['domains'][0]['domain_name'] = $domain_name; - $array['domains'][0]['domain_enabled'] = $domain_enabled; - $array['domains'][0]['domain_description'] = $domain_description; - $database = new database; - $database->app_name = 'domains'; - $database->app_uuid = '8b91605b-f6d2-42e6-a56d-5d1ded01bb44'; - $database->save($array); - - // add dialplans to the domain - if (file_exists($_SERVER["PROJECT_ROOT"]."/app/dialplans/app_config.php")) { - //import the dialplans - $dialplan = new dialplan; - $dialplan->import($array['domains']); - unset($array); - - //add xml for each dialplan where the dialplan xml is empty - $dialplans = new dialplan; - $dialplans->source = "details"; - $dialplans->destination = "database"; - $dialplans->context = $domain_name; - $dialplans->is_empty = "dialplan_xml"; - $array = $dialplans->xml(); - } if ($original_domain_name != $domain_name) { - // update dialplans + //update dialplans if (file_exists($_SERVER["PROJECT_ROOT"]."/app/dialplans/app_config.php")) { $sql = "update v_dialplans set "; $sql .= "dialplan_context = replace(dialplan_context, :domain_name_old, :domain_name_new), "; @@ -216,7 +223,7 @@ unset($sql, $parameters); } - // update destinations + //update destinations if (file_exists($_SERVER["PROJECT_ROOT"]."/app/destinations/app_config.php")) { $sql = "update v_destinations set "; $sql .= "destination_data = replace(destination_data, :destination_data_old, :destination_data_new) "; @@ -229,7 +236,7 @@ unset($sql, $parameters); } - // update extensions (accountcode, user_context, dial_domain) + //update extensions (accountcode, user_context, dial_domain) if (file_exists($_SERVER["PROJECT_ROOT"]."/app/extensions/app_config.php")) { $sql = "update v_extensions set "; $sql .= "user_context = replace(user_context, :domain_name_old, :domain_name_new), "; @@ -244,7 +251,7 @@ unset($sql, $parameters); } - // update ivr_menus (ivr_menu_context, ivr_menu_greet_long, ivr_menu_greet_short) and ivr_menu_options (ivr_menu_option_param) + //update ivr_menus (ivr_menu_context, ivr_menu_greet_long, ivr_menu_greet_short) and ivr_menu_options (ivr_menu_option_param) if (file_exists($_SERVER["PROJECT_ROOT"]."/app/ivr_menus/app_config.php")) { $sql = "update v_ivr_menus set "; $sql .= "ivr_menu_context = replace(ivr_menu_context, :domain_name_old, :domain_name_new), "; @@ -269,7 +276,7 @@ unset($sql, $parameters); } - // update ring_groups (ring_group_context, ring_group_forward_destination, ring_group_timeout_data) + //update ring_groups (ring_group_context, ring_group_forward_destination, ring_group_timeout_data) if (file_exists($_SERVER["PROJECT_ROOT"]."/app/ring_groups/app_config.php")) { $sql = "update v_ring_groups set "; $sql .= "ring_group_context = replace(ring_group_context, :domain_name_old, :domain_name_new), "; @@ -284,7 +291,7 @@ unset($sql, $parameters); } - // update cdr records (domain_name, context) + //update cdr records (domain_name, context) if (file_exists($_SERVER["PROJECT_ROOT"]."/app/xml_cdr/app_config.php")){ $sql = "update v_xml_cdr set "; $sql .= "domain_name = :domain_name_new "; @@ -309,7 +316,7 @@ unset($sql, $parameters); } - // update billing, if installed + //update billing, if installed if (file_exists($_SERVER["PROJECT_ROOT"]."/app/billing/app_config.php")){ $sql = "update v_billings set "; $sql .= "type_value = :type_value_new "; @@ -323,7 +330,7 @@ unset($sql, $parameters); } - // update conference session recording paths + //update conference session recording paths if (file_exists($_SERVER["PROJECT_ROOT"]."/app/conference_centers/app_config.php")) { $sql = "update v_conference_sessions set "; $sql .= "recording = replace(recording, :domain_name_old, :domain_name_new) "; @@ -336,7 +343,7 @@ unset($sql, $parameters); } - // update conference center greetings + //update conference center greetings if (file_exists($_SERVER["PROJECT_ROOT"]."/app/conference_centers/app_config.php")) { $sql = "update v_conference_centers set "; $sql .= "conference_center_greeting = replace(conference_center_greeting, :domain_name_old, :domain_name_new) "; @@ -349,7 +356,7 @@ unset($sql, $parameters); } - // update call center queue record templates + //update call center queue record templates if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_center/app_config.php")) { $sql = "update v_call_center_queues set "; $sql .= "queue_record_template = replace(queue_record_template, :domain_name_old, :domain_name_new) "; @@ -362,7 +369,7 @@ unset($sql, $parameters); } - // update call center agent contacts + //update call center agent contacts if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_center/app_config.php")) { $sql = "update v_call_center_agents set "; $sql .= "agent_contact = replace(agent_contact, :domain_name_old, :domain_name_new) "; @@ -375,7 +382,7 @@ unset($sql, $parameters); } - // update call flows data, alternate-data and contexts + //update call flows data, alternate-data and contexts if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_flows/app_config.php")) { $sql = "update v_call_flows set "; $sql .= "call_flow_data = replace(call_flow_data, :domain_name_old, :domain_name_new), "; @@ -390,7 +397,7 @@ unset($sql, $parameters); } - // update device lines server_address, server_address_primary, server_address_secondary, outbound_proxy_primary, outbound_proxy_secondary + //update device lines server_address, server_address_primary, server_address_secondary, outbound_proxy_primary, outbound_proxy_secondary if (file_exists($_SERVER["PROJECT_ROOT"]."/app/devices/app_config.php")) { $sql = "update v_device_lines set "; $sql .= "server_address = replace(server_address, :domain_name_old, :domain_name_new), "; @@ -407,17 +414,17 @@ unset($sql, $parameters); } - // rename switch/storage/voicemail/default/[domain] (folder) + //rename switch/storage/voicemail/default/[domain] (folder) if (isset($_SESSION['switch']['voicemail']['dir']) && file_exists($_SESSION['switch']['voicemail']['dir']."/default/".$original_domain_name)) { @rename($_SESSION['switch']['voicemail']['dir']."/default/".$original_domain_name, $_SESSION['switch']['voicemail']['dir']."/default/".$domain_name); // folder } - // rename switch/storage/fax/[domain] (folder) + //rename switch/storage/fax/[domain] (folder) if (isset($_SESSION['switch']['storage']['dir']) && file_exists($_SESSION['switch']['storage']['dir']."/fax/".$original_domain_name)) { @rename($_SESSION['switch']['storage']['dir']."/fax/".$original_domain_name, $_SESSION['switch']['storage']['dir']."/fax/".$domain_name); // folder } - // rename switch/conf/dialplan/[domain] (folder/file) + //rename switch/conf/dialplan/[domain] (folder/file) if (isset($_SESSION['switch']['dialplan']['dir'])) { if (file_exists($_SESSION['switch']['dialplan']['dir']."/".$original_domain_name)) { @rename($_SESSION['switch']['dialplan']['dir']."/".$original_domain_name, $_SESSION['switch']['dialplan']['dir']."/".$domain_name); // folder @@ -427,7 +434,7 @@ } } - // rename switch/conf/dialplan/public/[domain] (folder/file) + //rename switch/conf/dialplan/public/[domain] (folder/file) if (isset($_SESSION['switch']['dialplan']['dir'])) { if (file_exists($_SESSION['switch']['dialplan']['dir']."/public/".$original_domain_name)) { @rename($_SESSION['switch']['dialplan']['dir']."/public/".$original_domain_name, $_SESSION['switch']['dialplan']['dir']."/public/".$domain_name); // folder @@ -437,7 +444,7 @@ } } - // rename switch/conf/directory/[domain] (folder/file) + //rename switch/conf/directory/[domain] (folder/file) if (isset($_SESSION['switch']['extensions']['dir'])) { if (file_exists($_SESSION['switch']['extensions']['dir']."/".$original_domain_name)) { @rename($_SESSION['switch']['extensions']['dir']."/".$original_domain_name, $_SESSION['switch']['extensions']['dir']."/".$domain_name); // folder @@ -447,7 +454,7 @@ } } - // rename switch/recordings/[domain] (folder) + //rename switch/recordings/[domain] (folder) if (file_exists($_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name'])) { $switch_recordings_dir = str_replace("/".$_SESSION["domain_name"], "", $_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name']); if (file_exists($switch_recordings_dir."/".$original_domain_name)) { @@ -455,7 +462,7 @@ } } - // update dialplan, dialplan/public xml files + //update dialplan, dialplan/public xml files $dialplan_xml = file_get_contents($_SESSION['switch']['dialplan']['dir']."/".$domain_name.".xml"); $dialplan_xml = str_replace($original_domain_name, $domain_name, $dialplan_xml); file_put_contents($_SESSION['switch']['dialplan']['dir']."/".$domain_name.".xml", $dialplan_xml); @@ -466,20 +473,17 @@ file_put_contents($_SESSION['switch']['dialplan']['dir']."/public/".$domain_name.".xml", $dialplan_public_xml); unset($dialplan_public_xml); - // update session domain name + //update session domain name $_SESSION['domains'][$domain_uuid]['domain_name'] = $domain_name; - // recreate dialplan and extension xml files - if (is_readable($_SESSION['switch']['dialplan']['dir'])) { - save_dialplan_xml(); - } + //recreate dialplan and extension xml files if (is_readable($_SESSION['switch']['extensions']['dir'])) { require_once $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/extensions/resources/classes/extension.php"; $extension = new extension; $extension->xml(); } - // if single-tenant and variables exist, update variables > domain value to match new domain + //if single-tenant and variables exist, update variables > domain value to match new domain if (count($_SESSION['domains']) == 1 && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/vars/")) { $sql = "update v_vars set "; $sql .= "var_value = :var_value "; @@ -515,13 +519,18 @@ message::add($text['message-add']); header("Location: domains.php"); } - return; - } //if ($_POST["persistformvar"] != "true") - } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) + exit; + } + } //pre-populate the form (admin won't have domain_add permissions, but domain_uuid will already be set above) if ((count($_GET) > 0 || (!permission_exists('domain_add') && $domain_uuid != '')) && $_POST["persistformvar"] != "true") { - $sql = "select * from v_domains "; + $sql = "select "; + $sql .= "domain_uuid, "; + $sql .= "domain_name, "; + $sql .= "cast(domain_enabled as text), "; + $sql .= "domain_description "; + $sql .= "from v_domains "; $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $domain_uuid; $database = new database; @@ -601,9 +610,13 @@ } echo "
\n"; echo "
\n"; + if (permission_exists('domain_add')) { echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','link'=>'domains.php']); } + if ($action == "update" && permission_exists('domain_setting_view')) { + echo button::create(['type'=>'button','label'=>$text['button-settings'],'icon'=>$_SESSION['theme']['button_icon_settings'],'id'=>'btn_back','style'=>'margin-right: 2px;','link'=>PROJECT_PATH.'/core/domain_settings/domain_settings.php?id='.urlencode($domain_uuid)]); + } if (permission_exists('domain_delete') && is_array($_SESSION['domains']) && @sizeof($_SESSION['domains']) > 1 && $domain_uuid != $_SESSION['domain_uuid']) { echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'onclick'=>"modal_open('modal-delete-domain','btn_delete_domain');"]); } @@ -616,9 +629,9 @@ echo ""; } if (permission_exists('domain_export')) { - echo button::create(['type'=>'button','label'=>$text['button-export'],'icon'=>$_SESSION['theme']['button_icon_export'],'link'=>PROJECT_PATH."/app/domain_export/index.php?id=".escape($domain_uuid)]); + echo button::create(['type'=>'button','label'=>$text['button-export'],'icon'=>$_SESSION['theme']['button_icon_export'],'link'=>PROJECT_PATH."/app/domain_export/index.php?id=".urlencode($domain_uuid)]); } - echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','style'=>'margin-left: 15px;']); + echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','style'=>'margin-left: 3px;']); echo "
\n"; echo "
\n"; echo "
\n"; @@ -683,12 +696,7 @@ echo ""; - if ($action == "update" && permission_exists('domain_setting_view')) { - require $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/core/domain_settings/domain_settings.php"; - echo "

\n"; - } - //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/core/domains/domains.php b/core/domains/domains.php index e28d783192..1f1ca5a62f 100644 --- a/core/domains/domains.php +++ b/core/domains/domains.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2018 - 2019 + Portions created by the Initial Developer are Copyright (C) 2018 - 2020 the Initial Developer. All Rights Reserved. Contributor(s): @@ -61,7 +61,7 @@ //update the domain session variables $domain_uuid = $_GET["domain_uuid"]; - $_SESSION["previous_domain_uuid"] = $_SESSION['domain_uuid']; + $_SESSION["previous_domain_uuid"] = $_SESSION['domain_uuid']; $_SESSION['domain_uuid'] = $domain_uuid; $_SESSION["domain_name"] = $_SESSION['domains'][$domain_uuid]['domain_name']; $_SESSION['domain']['template']['name'] = $_SESSION['domains'][$domain_uuid]['template_name']; @@ -164,7 +164,11 @@ $offset = $rows_per_page * $page; //get the list - $sql = str_replace('count(domain_uuid)', '*', $sql); + $sql = "select domain_uuid, domain_name, cast(domain_enabled as text), domain_description "; + $sql .= "from v_domains "; + if (isset($sql_search)) { + $sql .= "where ".$sql_search; + } $sql .= order_by($order_by, $order, 'domain_name', 'asc'); $sql .= limit_offset($rows_per_page, $offset); $database = new database; diff --git a/core/groups/app_config.php b/core/groups/app_config.php index 8eef02ad78..3cd8705603 100644 --- a/core/groups/app_config.php +++ b/core/groups/app_config.php @@ -173,6 +173,14 @@ $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']['text'] = "permission_protected"; + $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']['text'] = "permission_assigned"; + $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'] = "group_name"; $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['search'] = "true"; diff --git a/core/groups/app_defaults.php b/core/groups/app_defaults.php index 7b0b4be3a6..00ae1727ea 100644 --- a/core/groups/app_defaults.php +++ b/core/groups/app_defaults.php @@ -124,6 +124,11 @@ if ($domains_processed == 1) { $database->execute($sql, null); unset($sql); + //group permissions + $database = new database; + $database->execute("update v_group_permissions set permission_protected = 'false' where permission_protected is null;", null); + $database->execute("update v_group_permissions set permission_assigned = 'true' where permission_assigned is null;", null); + } ?> diff --git a/core/groups/group_edit.php b/core/groups/group_edit.php index 452e2e8310..a47fb1e3cd 100644 --- a/core/groups/group_edit.php +++ b/core/groups/group_edit.php @@ -56,6 +56,7 @@ if (is_array($_POST)) { $group_uuid = $_POST["group_uuid"]; $group_name = $_POST["group_name"]; + $group_name_previous = $_POST["group_name_previous"]; $domain_uuid = $_POST["domain_uuid"]; $group_level = $_POST["group_level"]; $group_protected = $_POST["group_protected"]; @@ -136,6 +137,22 @@ $database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84'; $database->save($array); + //update group name in group permissions if group name changed + if ($group_name != $group_name_previous) { + $sql = "update v_group_permissions "; + $sql .= "set group_name = :group_name "; + $sql .= "where group_name = :group_name_previous "; + $sql .= "and group_uuid = :group_uuid "; + $parameters['group_name'] = $group_name; + $parameters['group_name_previous'] = $group_name_previous; + $parameters['group_uuid'] = $group_uuid; + $database = new database; + $database->app_name = 'Group Manager'; + $database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84'; + $database->execute($sql, $parameters); + unset($sql, $parameters, $database); + } + //redirect the user if (isset($action)) { if ($action == "add") { @@ -147,7 +164,7 @@ header('Location: group_edit.php?id='.urlencode($group_uuid)); return; } - } //(is_array($_POST) && strlen($_POST["persistformvar"]) == 0) + } //pre-populate the form if (is_array($_GET) && $_POST["persistformvar"] != "true") { @@ -192,7 +209,7 @@ unset($button_margin); } if (permission_exists('group_member_view')) { - echo button::create(['type'=>'button','label'=>$text['button-members'],'icon'=>'users','style'=>$button_margin,'link'=>'groupmembers.php?group_uuid='.urlencode($group_uuid)]); + echo button::create(['type'=>'button','label'=>$text['button-members'],'icon'=>'users','style'=>$button_margin,'link'=>'group_members.php?group_uuid='.urlencode($group_uuid)]); unset($button_margin); } $button_margin = 'margin-left: 15px;'; @@ -227,6 +244,7 @@ echo "\n"; echo "\n"; echo " \n"; + echo " \n"; echo "
\n"; echo $text['description-group_name']."\n"; echo "\n"; @@ -311,4 +329,4 @@ //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/core/groups/groupmembers.php b/core/groups/group_members.php similarity index 83% rename from core/groups/groupmembers.php rename to core/groups/group_members.php index 02312658d3..bf627b2c2c 100644 --- a/core/groups/groupmembers.php +++ b/core/groups/group_members.php @@ -67,7 +67,7 @@ break; } - header('Location: groupmembers.php?group_uuid='.urlencode($group_uuid)); + header('Location: group_members.php?group_uuid='.urlencode($group_uuid)); exit; } @@ -84,23 +84,6 @@ } unset($sql, $parameters, $row); -//define the if group members function - function is_group_member($group_uuid, $user_uuid) { - global $domain_uuid; - $sql = "select count(*) from v_user_groups "; - $sql .= "where user_uuid = :user_uuid "; - $sql .= "and group_uuid = :group_uuid "; - $sql .= "and domain_uuid = :domain_uuid "; - $parameters['user_uuid'] = $user_uuid; - $parameters['group_uuid'] = $group_uuid; - $parameters['domain_uuid'] = is_uuid($domain_uuid) ? $domain_uuid : $_SESSION['domain_uuid']; - $database = new database; - $num_rows = $database->select($sql, $parameters, 'column'); - return $num_rows == 0 ? true : false; - unset($sql, $parameters, $num_rows); - } - //$exampledatareturned = example("apples", 1); - //get the the users array if (permission_exists('group_member_add')) { $sql = "select * from v_users where "; @@ -129,10 +112,21 @@ $sql .= "order by d.domain_name asc, u.username asc "; $parameters['group_uuid'] = $group_uuid; $database = new database; - $result = $database->select($sql, $parameters, 'all'); - $num_rows = is_array($result) && @sizeof($result) != 0 ? sizeof($result) : 0; + $user_groups = $database->select($sql, $parameters, 'all'); + $num_rows = is_array($user_groups) && @sizeof($user_groups) != 0 ? sizeof($user_groups) : 0; unset($sql, $parameters); +//add group_member to the users array + foreach ($users as &$field) { + $field['group_member'] = 'false'; + foreach($user_groups as $row) { + if ($row['user_uuid'] == $field['user_uuid']) { + $field['group_member'] = 'true'; + break; + } + } + } + //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); @@ -149,32 +143,32 @@ if (permission_exists('group_permission_view')) { echo button::create(['type'=>'button','label'=>$text['button-permissions'],'icon'=>'key','style'=>'margin-right: 15px;','link'=>'group_permissions.php?group_uuid='.urlencode($group_uuid)]); } + if (permission_exists('group_member_add')) { echo "
\n"; echo " "; - echo ""; - echo ""; - echo ""; - echo ""; + echo " \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo button::create(['type'=>'submit','label'=>$text['button-add_member'],'icon'=>$_SESSION['theme']['button_icon_add'],'collapse'=>'hide-xs']); - echo "
"; + echo " \n"; } - if (permission_exists('group_member_delete') && $result) { + if (permission_exists('group_member_delete') && $user_groups) { echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'name'=>'btn_delete','collapse'=>'hide-xs','onclick'=>"modal_open('modal-delete','btn_delete');"]); } echo "
\n"; echo "
\n"; echo "
\n"; - if (permission_exists('group_member_delete') && $result) { + if (permission_exists('group_member_delete') && $user_groups) { echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('delete'); list_form_submit('form_list');"])]); } @@ -186,7 +180,7 @@ echo "\n"; if (permission_exists('group_member_delete')) { echo " \n"; - echo " \n"; + echo " \n"; echo " \n"; } if (permission_exists('user_all')) { @@ -195,9 +189,9 @@ echo " ".$text['label-username']."\n"; echo "\n"; - if (is_array($result) && @sizeof($result) != 0) { + if (is_array($user_groups) && @sizeof($user_groups) != 0) { $x = 0; - foreach ($result as &$row) { + foreach ($user_groups as &$row) { echo ""; if (permission_exists('group_member_delete')) { echo " \n"; @@ -211,8 +205,6 @@ echo "".$row["username"]."\n"; echo "\n"; $x++; - - $user_groups[] = $row["user_uuid"]; } } @@ -224,4 +216,4 @@ //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/core/groups/group_permissions.php b/core/groups/group_permissions.php index b7b4e3bed2..b8c92f8729 100644 --- a/core/groups/group_permissions.php +++ b/core/groups/group_permissions.php @@ -1,323 +1,374 @@ - - Portions created by the Initial Developer are Copyright (C) 2018-2020 - 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('group_permission_view')) { - //access granted - } - else { - echo "access denied"; - exit; - } - -//action add or update - if (is_uuid($_REQUEST["group_uuid"])) { - $group_uuid = $_REQUEST["group_uuid"]; - } - -//get the group_name - if (is_uuid($group_uuid)) { - $sql = "select group_name from v_groups "; - $sql .= "where group_uuid = :group_uuid "; - $parameters['group_uuid'] = $group_uuid; - $database = new database; - $group_name = $database->select($sql, $parameters, 'column'); - unset($sql, $parameters); - } - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//process permission reload - if ($_GET['action'] == 'reload' && is_uuid($_GET['group_uuid'])) { - if (is_array($_SESSION["groups"]) && @sizeof($_SESSION["groups"]) != 0) { - //clear current permissions - unset($_SESSION['permissions'], $_SESSION['user']['permissions']); - //get the permissions assigned to the groups that the current user is a member of, set the permissions in session variables - $x = 0; - $sql = "select distinct(permission_name) from v_group_permissions "; - $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) "; - foreach ($_SESSION["groups"] as $field) { - if (strlen($field['group_name']) > 0) { - $sql_where_or[] = "group_name = :group_name_".$x; - $parameters['group_name_'.$x] = $field['group_name']; - $x++; - } - } - if (is_array($sql_where_or) && @sizeof($sql_where_or) != 0) { - $sql .= "and (".implode(' or ', $sql_where_or).") "; - } - $parameters['domain_uuid'] = $_SESSION["domain_uuid"]; - $database = new database; - $result = $database->select($sql, $parameters, 'all'); - if (is_array($result) && @sizeof($result) != 0) { - foreach ($result as $row) { - $_SESSION['permissions'][$row["permission_name"]] = true; - $_SESSION["user"]["permissions"][$row["permission_name"]] = true; - } - } - unset($sql, $parameters, $result, $row); - //set message and redirect - message::add($text['message-permissions_reloaded'],'positive'); - header('Location: group_permissions.php?group_uuid='.urlencode($_GET['group_uuid'])); - exit; - } - } - -//get the http post data - if (is_array($_POST['group_permissions'])) { - $action = $_POST['action']; - $search = $_POST['search']; - $group_permissions = $_POST['group_permissions']; - } - -//process the user data and save it to the database - if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { - //get the list - $sql = "select p.*, "; - $sql .= "exists(select from v_group_permissions where permission_name = p.permission_name and group_name = :group_name) as permission_assigned "; - $sql .= "from v_permissions as p "; - $parameters['group_name'] = $group_name; - //$sql = "select * from v_group_permissions "; - //$sql .= "where group_uuid = :group_uuid "; - //$parameters['group_uuid'] = $group_uuid; - $database = new database; - $group_permissions = $database->select($sql, $parameters, 'all'); - - //add or remove permissions from the group - $x = 0; - if (is_array($_POST['group_permissions'])) { - foreach($_POST['group_permissions'] as $row) { - //check to see if the group has been assigned the permission - $in_database = false; - foreach($group_permissions as $field) { - if ($field['permission_name'] === $row['permission_name'] && $field['permission_assigned'] === true) { - $in_database = true; - break; - } - } - - //add - checked on html form and not in the database - if ($row['checked'] === 'true') { - if (!$in_database) { - if (isset($row['permission_name']) && strlen($row['permission_name']) > 0) { - $array['add']['group_permissions'][$x]['group_permission_uuid'] = uuid(); - $array['add']['group_permissions'][$x]['permission_name'] = $row['permission_name']; - $array['add']['group_permissions'][$x]['group_uuid'] = $group_uuid; - $array['add']['group_permissions'][$x]['group_name'] = $group_name; - //$array['add']['group_permissions'][$x]['permission_uuid'] = $row['uuid']; - $x++; - } - } - } - - //delete - unchecked on the form and in the database - if ($row['checked'] !== 'true') { - if ($in_database) { - if (isset($row['permission_name']) && strlen($row['permission_name']) > 0) { - $array['delete']['group_permissions'][$x]['permission_name'] = $row['permission_name']; - $array['delete']['group_permissions'][$x]['group_uuid'] = $group_uuid; - $array['delete']['group_permissions'][$x]['group_name'] = $group_name; - //$array['delete'][$x]['permission_uuid'] = $row['uuid']; - } - $x++; - } - } - } - } - - //validate the token - $token = new token; - if (!$token->validate($_SERVER['PHP_SELF'])) { - message::add($text['message-invalid_token'],'negative'); - header('Location: group_permissions.php?group_uuid='.urlencode($group_uuid).'&search='.urlencode($search)); - exit; - } - - //save to the data - if (is_array($array['add']) && @sizeof($array['add']) != 0) { - $database = new database; - $database->app_name = 'groups'; - $database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84'; - $database->save($array['add']); - $message = $database->message; - } - - //delete the permissions - if (is_array($array['delete']) && @sizeof($array['delete']) != 0) { - if (permission_exists('group_permission_delete')) { - $database = new database; - $database->app_name = 'groups'; - $database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84'; - $database->delete($array['delete']); - } - } - - //set the message - message::add($text['message-update']); - - //redirect - header('Location: group_permissions.php?group_uuid='.urlencode($group_uuid)); - exit; - } - -//get order and order by - //$order_by = $_GET["order_by"]; - //$order = $_GET["order"]; - -//add the search string - if (isset($_REQUEST["search"])) { - $search = strtolower($_REQUEST["search"]); - $sql_search = " ("; - $sql_search .= " lower(p.permission_name) like :search "; - //$sql_search .= " or lower(p.group_name) like :search "; - $sql_search .= ") "; - $parameters['search'] = '%'.$search.'%'; - } - -//get the count - /* - $sql = "select count(group_permission_uuid) from v_group_permissions "; - $sql .= "where group_uuid = :group_uuid "; - $parameters['group_uuid'] = $group_uuid; - if (isset($sql_search)) { - $sql .= "where ".$sql_search; - } - $database = new database; - $num_rows = $database->select($sql, $parameters, 'column'); - */ - -//get the list - $sql = "select p.*, "; - $sql .= "exists(select from v_group_permissions where permission_name = p.permission_name and group_name = :group_name) as permission_assigned "; - $sql .= "from v_permissions as p "; - $parameters['group_name'] = $group_name; - if (isset($sql_search)) { - $sql .= "where ".$sql_search; - } - $sql .= "order by application_name asc, permission_name asc "; - $database = new database; - $group_permissions = $database->select($sql, $parameters, 'all'); - unset($sql, $parameters); - -//create token - $object = new token; - $token = $object->create($_SERVER['PHP_SELF']); - -//include the header - $document['title'] = $text['title-group_permissions']; - require_once "resources/header.php"; - -//show the content - echo "
\n"; - echo "
".$text['title-group_permissions']." (".escape($group_name).")
\n"; - echo "
\n"; - echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','collapse'=>'hide-sm-dn','link'=>'groups.php']); - echo button::create(['type'=>'button','label'=>$text['button-reload'],'icon'=>'key','link'=>'?group_uuid='.urlencode($group_uuid).'&action=reload']); - if (permission_exists('group_member_view')) { - echo button::create(['type'=>'button','label'=>$text['button-members'],'icon'=>'users','link'=>'groupmembers.php?group_uuid='.urlencode($group_uuid)]); - } - echo "\n"; - echo "
\n"; - echo "
\n"; - echo "
\n"; - - echo $text['description-group_permissions']."\n"; - echo "

\n"; - - echo "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - if (is_array($group_permissions) && @sizeof($group_permissions) != 0) { - $x = 0; - foreach ($group_permissions as $row) { - $checked = ($row['permission_assigned'] === true) ? " checked=\"checked\"" : $checked = ''; - $application_name = strtolower($row['application_name']); - $label_application_name = ucwords(str_replace(['_','-'], " ", $row['application_name'])); - - $label_application_name = ucwords($label_application_name); - - if ($previous_application_name !== $row['application_name']) { - echo " "; - echo " \n"; - echo " "; - echo " "; - echo " \n"; - echo " "; - echo "\n"; - if (permission_exists('group_permission_add') || permission_exists('group_permission_edit') || permission_exists('group_permission_delete')) { - echo " \n"; - } - echo th_order_by('group_name', $text['label-group_name'], $order_by, $order); - if (permission_exists('group_permission_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { - echo " \n"; - } - echo "\n"; - - } - echo "\n"; - if (permission_exists('group_permission_add') || permission_exists('group_permission_edit') || permission_exists('group_permission_delete')) { - echo " \n"; - } - echo " \n"; - echo "\n"; - - //set the previous category - $previous_application_name = $row['application_name']; - $x++; - } - unset($group_permissions); - } - - echo "
 
".escape($label_application_name)."
\n"; - echo " \n"; - echo "  
\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " ".escape($row['permission_name'])."
\n"; - echo "
\n"; - -//include the footer - require_once "resources/footer.php"; - -?> + + Portions created by the Initial Developer are Copyright (C) 2018-2020 + 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('group_permission_view')) { + //access granted + } + else { + echo "access denied"; + exit; + } + +//action add or update + if (is_uuid($_REQUEST["group_uuid"])) { + $group_uuid = $_REQUEST["group_uuid"]; + } + +//get the group_name + if (is_uuid($group_uuid)) { + $sql = "select group_name from v_groups "; + $sql .= "where group_uuid = :group_uuid "; + $parameters['group_uuid'] = $group_uuid; + $database = new database; + $group_name = $database->select($sql, $parameters, 'column'); + unset($sql, $parameters); + } + +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//process permission reload + if ($_GET['action'] == 'reload' && is_uuid($_GET['group_uuid'])) { + if (is_array($_SESSION["groups"]) && @sizeof($_SESSION["groups"]) != 0) { + //clear current permissions + unset($_SESSION['permissions'], $_SESSION['user']['permissions']); + //get the permissions assigned to the groups that the current user is a member of, set the permissions in session variables + $x = 0; + $sql = "select distinct(permission_name) from v_group_permissions "; + $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) "; + $sql .= "and permission_assigned = 'true' "; + foreach ($_SESSION["groups"] as $field) { + if (strlen($field['group_name']) > 0) { + $sql_where_or[] = "group_name = :group_name_".$x; + $parameters['group_name_'.$x] = $field['group_name']; + $x++; + } + } + if (is_array($sql_where_or) && @sizeof($sql_where_or) != 0) { + $sql .= "and (".implode(' or ', $sql_where_or).") "; + } + $parameters['domain_uuid'] = $_SESSION["domain_uuid"]; + $database = new database; + $result = $database->select($sql, $parameters, 'all'); + if (is_array($result) && @sizeof($result) != 0) { + foreach ($result as $row) { + $_SESSION['permissions'][$row["permission_name"]] = true; + $_SESSION["user"]["permissions"][$row["permission_name"]] = true; + } + } + unset($sql, $parameters, $result, $row); + //set message and redirect + message::add($text['message-permissions_reloaded'],'positive'); + header('Location: group_permissions.php?group_uuid='.urlencode($_GET['group_uuid'])); + exit; + } + } + +//get the http post data + if (is_array($_POST['group_permissions'])) { + $action = $_POST['action']; + $search = $_POST['search']; + $group_permissions = $_POST['group_permissions']; + } + +//add the search string + if (isset($_REQUEST["search"])) { + $search = strtolower($_REQUEST["search"]); + $sql_search = " ("; + $sql_search .= " lower(p.permission_name) like :search \n"; + $sql_search .= ") "; + $parameters['search'] = '%'.$search.'%'; + } + +//get the list + $sql = "select "; + $sql .= " distinct p.permission_name, \n"; + $sql .= " p.application_name, \n"; + $sql .= " g.permission_protected, \n"; + $sql .= " g.group_permission_uuid, \n"; + $sql .= " g.permission_assigned \n"; + $sql .= "from v_permissions as p \n"; + $sql .= "left join \n"; + $sql .= " v_group_permissions as g \n"; + $sql .= " on p.permission_name = g.permission_name \n"; + $sql .= " and group_name = :group_name \n"; + $sql .= " and g.group_uuid = :group_uuid \n"; + if (isset($sql_search)) { + $sql .= "where ".$sql_search; + } + $sql .= " order by p.application_name, p.permission_name asc "; + $parameters['group_name'] = $group_name; + $parameters['group_uuid'] = $group_uuid; + $database = new database; + $group_permissions = $database->select($sql, $parameters, 'all'); + +//process the user data and save it to the database + if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { + $x = 0; + if (is_array($_POST['group_permissions'])) { + foreach($_POST['group_permissions'] as $row) { + //reset values + $action = ""; + $save_permission = false; + $delete_permission = false; + $save_protected = false; + $delete_protected = false; + $persist = false; + + //get the action save or delete + foreach($group_permissions as $field) { + if ($field['permission_name'] === $row['permission_name']) { + if ($field['permission_assigned'] == 'true') { + if ($row['checked'] == "true") { + $persist = true; + } + else { + $delete_permission = true; + } + } + else { + + if ($row['checked'] == "true") { + $save_permission = true; + } + else { + //do nothing + } + } + + if ($field['permission_protected'] == 'true') { + if ($row['permission_protected'] == "true") { + $persist = true; + } + else { + $delete_protected = true; + } + } + else { + if ($row['permission_protected'] == "true") { + $save_protected = true; + } + else { + //do nothing + } + } + + if ($save_permission || $save_protected) { + $action = "save"; + } + elseif ($delete_permission || $delete_protected){ + if ($persist) { + $action = "save"; + } + else { + $action = "delete"; + } + } + else { + $action = ""; + } + $group_permission_uuid = $field['group_permission_uuid']; + break; + } + } + + //build the array; + if ($action == "save") { + if (strlen($group_permission_uuid) == 0) { + $group_permission_uuid = uuid(); + } + if (isset($row['permission_name']) && strlen($row['permission_name']) > 0) { + $array['save']['group_permissions'][$x]['group_permission_uuid'] = $group_permission_uuid; + $array['save']['group_permissions'][$x]['permission_name'] = $row['permission_name']; + $array['save']['group_permissions'][$x]['permission_protected'] = $row['permission_protected'] == 'true' ? "true" : 'false'; + $array['save']['group_permissions'][$x]['permission_assigned'] = $row['checked'] != "true" ? "false" : "true"; + $array['save']['group_permissions'][$x]['group_uuid'] = $group_uuid; + $array['save']['group_permissions'][$x]['group_name'] = $group_name; + $x++; + } + } + + if ($action == "delete") { + if (isset($row['permission_name']) && strlen($row['permission_name']) > 0) { + $array['delete']['group_permissions'][$x]['permission_name'] = $row['permission_name']; + $array['delete']['group_permissions'][$x]['group_uuid'] = $group_uuid; + $array['delete']['group_permissions'][$x]['group_name'] = $group_name; + } + $x++; + } + } + } + + //validate the token + $token = new token; + if (!$token->validate($_SERVER['PHP_SELF'])) { + message::add($text['message-invalid_token'],'negative'); + header('Location: group_permissions.php?group_uuid='.urlencode($group_uuid).'&search='.urlencode($search)); + exit; + } + + //save the save array + if (is_array($array['save']) && @sizeof($array['save']) != 0) { + $database = new database; + $database->app_name = 'groups'; + $database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84'; + $database->save($array['save']); + $message = $database->message; + } + + //delete the delete array + if (is_array($array['delete']) && @sizeof($array['delete']) != 0) { + if (permission_exists('group_permission_delete')) { + $database = new database; + $database->app_name = 'groups'; + $database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84'; + $database->delete($array['delete']); + } + } + + //set the message + message::add($text['message-update']); + + //redirect + header('Location: group_permissions.php?group_uuid='.urlencode($group_uuid)); + exit; + } + +//get order and order by + //$order_by = $_GET["order_by"]; + //$order = $_GET["order"]; + +//create token + $object = new token; + $token = $object->create($_SERVER['PHP_SELF']); + +//include the header + $document['title'] = $text['title-group_permissions']; + require_once "resources/header.php"; + +//show the content + echo "
\n"; + echo "
".$text['title-group_permissions']." (".escape($group_name).")
\n"; + echo "
\n"; + echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','collapse'=>'hide-sm-dn','link'=>'groups.php']); + echo button::create(['type'=>'button','label'=>$text['button-reload'],'icon'=>$_SESSION['theme']['button_icon_reload'],'link'=>'?group_uuid='.urlencode($group_uuid).'&action=reload']); + if (permission_exists('group_member_view')) { + echo button::create(['type'=>'button','label'=>$text['button-members'],'icon'=>'users','link'=>'group_members.php?group_uuid='.urlencode($group_uuid)]); + } + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "
\n"; + + echo $text['description-group_permissions']."\n"; + echo "

\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + if (is_array($group_permissions) && @sizeof($group_permissions) != 0) { + $x = 0; + foreach ($group_permissions as $row) { + $checked = ($row['permission_assigned'] === 'true') ? " checked=\"checked\"" : $checked = ''; + $protected = ($row['permission_protected'] === 'true') ? " checked=\"checked\"" : ''; + $application_name = strtolower($row['application_name']); + $label_application_name = ucwords(str_replace(['_','-'], " ", $row['application_name'])); + + $label_application_name = ucwords($label_application_name); + + if ($previous_application_name !== $row['application_name']) { + echo " "; + echo " \n"; + echo " "; + echo " "; + echo " \n"; + echo " "; + echo " \n"; + if (permission_exists('group_permission_add') || permission_exists('group_permission_edit') || permission_exists('group_permission_delete')) { + echo " \n"; + } + echo th_order_by('group_name', $text['label-group_name'], $order_by, $order); + if (permission_exists('group_permission_add') || permission_exists('group_permission_edit') || permission_exists('group_permission_delete')) { + echo th_order_by('group_permission_protected', $text['label-group_protected'], $order_by, $order, null, "style='text-align: right;'"); + echo " \n"; + } + echo " \n"; + + } + echo "\n"; + if (permission_exists('group_permission_add') || permission_exists('group_permission_edit') || permission_exists('group_permission_delete')) { + echo " \n"; + } + echo " \n"; + if (permission_exists('group_permission_add') || permission_exists('group_permission_edit') || permission_exists('group_permission_delete')) { + echo " \n"; + echo " \n"; + } + echo "\n"; + + //set the previous category + $previous_application_name = $row['application_name']; + $x++; + } + unset($group_permissions); + } + + echo "
 
".escape($label_application_name)."
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " "; + echo " ".escape($row['permission_name']); + echo "  \n"; + echo " \n"; + echo "
\n"; + echo "
\n"; + +//include the footer + require_once "resources/footer.php"; + +?> diff --git a/core/groups/groupmemberadd.php b/core/groups/groupmemberadd.php index b04ec1a3ef..bb52fc56cf 100644 --- a/core/groups/groupmemberadd.php +++ b/core/groups/groupmemberadd.php @@ -52,7 +52,7 @@ //validate the token $token = new token; - if (!$token->validate('/core/groups/groupmembers.php')) { + if (!$token->validate('/core/groups/group_members.php')) { message::add($text['message-invalid_token'],'negative'); header('Location: groups.php'); exit; @@ -81,6 +81,6 @@ } //redirect the user - header("Location: groupmembers.php?group_uuid=".$group_uuid."&group_name=".$group_name); + header("Location: group_members.php?group_uuid=".urlencode($group_uuid)."&group_name=".urlencode($group_name)); -?> \ No newline at end of file +?> diff --git a/core/groups/groupmemberdelete.php b/core/groups/groupmemberdelete.php index 03cfa32652..9e1a9ca60b 100644 --- a/core/groups/groupmemberdelete.php +++ b/core/groups/groupmemberdelete.php @@ -65,6 +65,6 @@ //redirect the user message::add($text['message-delete']); - header("Location: groupmembers.php?group_uuid=".$group_uuid."&group_name=".$group_name); + header("Location: group_members.php?group_uuid=".$group_uuid."&group_name=".$group_name); ?> diff --git a/core/groups/groups.php b/core/groups/groups.php index 33cf8487ae..ef95ed8770 100644 --- a/core/groups/groups.php +++ b/core/groups/groups.php @@ -125,19 +125,6 @@ $groups = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); -//get permission counts for each group - if (is_array($groups) && @sizeof($groups) != 0) { - $sql = "select group_uuid, count(group_permission_uuid) as permission_count from v_group_permissions group by group_uuid"; - $database = new database; - $result = $database->select($sql, null, 'all'); - if (is_array($result) && @sizeof($result) != 0) { - foreach ($result as $row) { - $group_permissions[$row['group_uuid']] = $row['permission_count']; - } - } - unset($sql); - } - //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); @@ -245,8 +232,8 @@ echo " ".escape($row['group_name']); } echo " \n"; - echo " ".$text['label-group_permissions']." (".($group_permissions[$row['group_uuid']] ?: 0).")\n"; - echo " ".$text['label-group_members']." (".$row['group_members'].")\n"; + echo " ".$text['label-group_permissions']." (".$row['group_permissions'].")\n"; + echo " ".$text['label-group_members']." (".$row['group_members'].")\n"; echo " ".escape($row['group_level'])."\n"; if (permission_exists('group_edit')) { echo " \n"; @@ -278,4 +265,4 @@ //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/core/groups/resources/classes/groups.php b/core/groups/resources/classes/groups.php index 4405afd5e0..a18f0ec1ba 100644 --- a/core/groups/resources/classes/groups.php +++ b/core/groups/resources/classes/groups.php @@ -127,7 +127,7 @@ if (!class_exists('groups')) { //assign the variables $this->name = 'group_member'; $this->table = 'user_groups'; - $this->location = 'groupmembers.php?group_uuid='.$this->group_uuid; + $this->location = 'group_members.php?group_uuid='.$this->group_uuid; if (permission_exists($this->name.'_delete')) { @@ -445,6 +445,8 @@ if (!class_exists('groups')) { $array['group_permissions'][$x]['group_permission_uuid'] = uuid(); $array['group_permissions'][$x]['domain_uuid'] = null; $array['group_permissions'][$x]['permission_name'] = $row['name']; + $array['group_permissions'][$x]['permission_protected'] = 'false'; + $array['group_permissions'][$x]['permission_assigned'] = 'true'; $array['group_permissions'][$x]['group_name'] = $group; $array['group_permissions'][$x]['group_uuid'] = $group_uuids[$group]; } @@ -473,4 +475,4 @@ if (!class_exists('groups')) { } } -?> \ No newline at end of file +?> diff --git a/core/groups/resources/classes/permission.php b/core/groups/resources/classes/permission.php index ae8d49d4b2..da85a98df3 100644 --- a/core/groups/resources/classes/permission.php +++ b/core/groups/resources/classes/permission.php @@ -58,14 +58,15 @@ } $group_names = "'".implode("','", $group_name_array)."'"; - //delete unprotected system group permissions + //delete unprotected permissions $sql = "delete from v_group_permissions as p "; $sql .= "where group_name in ( "; $sql .= " select group_name "; $sql .= " from v_groups "; $sql .= " where group_protected <> 'true' "; $sql .= " and group_name in (".$group_names.") "; - $sql .= ");"; + $sql .= ")"; + $sql .= "and (permission_protected <> 'true' or permission_protected is null)"; $database = new database; $result = $database->select($sql); @@ -120,6 +121,11 @@ //delete the group permissions $this->delete(); + + //get the remaining group permissions + $sql = "select permission_name, group_name from v_group_permissions "; + $database = new database; + $database_group_permissions = $database->select($sql, null, 'all'); //get the $apps array from the installed apps from the core and mod directories $config_list = glob($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/*/*/app_config.php"); @@ -149,23 +155,23 @@ } } } - if (!$group_protected) { - //if the item uuid is not currently in the db then add it - $sql = "select count(*) from v_group_permissions "; - $sql .= "where permission_name = :permission_name "; - $sql .= "and group_name = :group_name "; - $parameters['permission_name'] = $permission['name']; - $parameters['group_name'] = $group_name; - - $database = new database; - $num_rows = $database->select($sql, $parameters, 'column'); - unset($sql, $parameters); - - if ($num_rows == 0) { + // check if the item is not currently in the database + $exists = false; + foreach ($database_group_permissions as $i => $group_permission) { + if ($group_permission['permission_name'] == $permission['name']) { + if ($group_permission['group_name'] == $group_name) { + $exists = true; + break; + } + } + } + if (!$exists) { //build default permissions insert array $array['group_permissions'][$x]['group_permission_uuid'] = uuid(); $array['group_permissions'][$x]['permission_name'] = $permission['name']; + $array['group_permissions'][$x]['permission_protected'] = 'false'; + $array['group_permissions'][$x]['permission_assigned'] = 'true'; $array['group_permissions'][$x]['group_name'] = $group_name; $array['group_permissions'][$x]['group_uuid'] = $group_uuid; $x++; diff --git a/core/menu/app_menu.php b/core/menu/app_menu.php index 9ab62937c2..333336b7a3 100644 --- a/core/menu/app_menu.php +++ b/core/menu/app_menu.php @@ -142,7 +142,6 @@ $apps[$x]['menu'][$y]['icon'] = "fa-chart-bar"; $apps[$x]['menu'][$y]['path'] = ""; $apps[$x]['menu'][$y]['order'] = "25"; - $apps[$x]['menu'][$y]['groups'][] = "user"; $apps[$x]['menu'][$y]['groups'][] = "admin"; $apps[$x]['menu'][$y]['groups'][] = "superadmin"; $y++; diff --git a/core/menu/menu_edit.php b/core/menu/menu_edit.php index 1a1d1e394e..0ac637eead 100644 --- a/core/menu/menu_edit.php +++ b/core/menu/menu_edit.php @@ -1,230 +1,231 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2020 - 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('menu_add') || permission_exists('menu_edit')) { - //access granted - } - else { - echo "access denied"; - exit; - } - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//action add or update - if (is_uuid($_REQUEST["id"])) { - $action = "update"; - $menu_uuid = $_REQUEST["id"]; - } - else { - $action = "add"; - } - -//get http post variables and set them to php variables - if (count($_POST) > 0) { - $menu_uuid = $_POST["menu_uuid"]; - $menu_name = $_POST["menu_name"]; - $menu_language = $_POST["menu_language"]; - $menu_description = $_POST["menu_description"]; - } - -//process the http post - if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { - - //validate the token - $token = new token; - if (!$token->validate($_SERVER['PHP_SELF'])) { - message::add($text['message-invalid_token'],'negative'); - header('Location: menu.php'); - exit; - } - - //check for all required data - $msg = ''; - //if (strlen($menu_name) == 0) { $msg .= $text['message-required'].$text['label-name']."
\n"; } - //if (strlen($menu_language) == 0) { $msg .= $text['message-required'].$text['label-language']."
\n"; } - //if (strlen($menu_description) == 0) { $msg .= $text['message-required'].$text['label-description']."
\n"; } - if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { - require_once "resources/header.php"; - require_once "resources/persist_form_var.php"; - echo "
\n"; - echo "
\n"; - echo $msg."
"; - echo "
\n"; - persistformvar($_POST); - echo "
\n"; - require_once "resources/footer.php"; - return; - } - - //add or update the database - if ($_POST["persistformvar"] != "true") { - if ($action == "add") { - //create a new unique id - $menu_uuid = uuid(); - - //start a new menu - $array['menus'][0]['menu_uuid'] = $menu_uuid; - $array['menus'][0]['menu_name'] = $menu_name; - $array['menus'][0]['menu_language'] = $menu_language; - $array['menus'][0]['menu_description'] = $menu_description; - $database = new database; - $database->app_name = 'menu'; - $database->app_uuid = 'f4b3b3d2-6287-489c-2a00-64529e46f2d7'; - $database->save($array); - unset($array); - - //redirect the user back to the main menu - message::add($text['message-add']); - header("Location: menu.php"); - return; - } //if ($action == "add") - - if ($action == "update") { - //update the menu - $array['menus'][0]['menu_uuid'] = $menu_uuid; - $array['menus'][0]['menu_name'] = $menu_name; - $array['menus'][0]['menu_language'] = $menu_language; - $array['menus'][0]['menu_description'] = $menu_description; - $database = new database; - $database->app_name = 'menu'; - $database->app_uuid = 'f4b3b3d2-6287-489c-2a00-64529e46f2d7'; - $database->save($array); - unset($array); - - //redirect the user back to the main menu - message::add($text['message-update']); - header("Location: menu.php"); - return; - } - } - } - -//pre-populate the form - if (count($_GET) > 0 && is_uuid($_GET["id"]) && $_POST["persistformvar"] != "true") { - $menu_uuid = $_GET["id"]; - $sql = "select * from v_menus "; - $sql .= "where menu_uuid = :menu_uuid "; - $parameters['menu_uuid'] = $menu_uuid; - $database = new database; - $row = $database->select($sql, $parameters, 'row'); - if (is_array($row) && sizeof($row) != 0) { - $menu_uuid = $row["menu_uuid"]; - $menu_name = $row["menu_name"]; - $menu_language = $row["menu_language"]; - $menu_description = $row["menu_description"]; - } - unset($sql, $parameters, $row); - } - -//create token - $object = new token; - $token = $object->create($_SERVER['PHP_SELF']); - -//show the header - $document['title'] = $text['title-menu']; - require_once "resources/header.php"; - -//show the content - echo "
\n"; - - echo "
\n"; - echo "
".$text['header-menu']."
\n"; - echo "
\n"; - echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','collapse'=>'hide-xs','link'=>'menu.php']); - if (permission_exists('menu_restore') && $action == "update") { - echo button::create(['type'=>'button','label'=>$text['button-restore_default'],'icon'=>$_SESSION['theme']['button_icon_reload'],'collapse'=>'hide-xs','style'=>'margin-left: 15px;','link'=>'menu_restore_default.php?menu_uuid='.urlencode($menu_uuid).'&menu_language='.urlencode($menu_language)]); - } - echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','collapse'=>'hide-xs','style'=>'margin-left: 15px;']); - echo "
\n"; - echo "
\n"; - echo "
\n"; - - echo $text['description-menu']."\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-name']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo "\n"; - echo $text['description-name']."
\n"; - echo " ".$text['label-language']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-language']."\n"; - echo "
\n"; - echo " ".$text['label-description']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-description']."\n"; - echo "
"; - echo "

"; - - if ($action == "update") { - echo "\n"; - } - echo "\n"; - - echo "
"; - -//show the menu items - if ($action == "update") { - require_once "core/menu/menu_item_list.php"; - } - -//include the footer - require_once "resources/footer.php"; - + + Portions created by the Initial Developer are Copyright (C) 2008-2020 + 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('menu_add') || permission_exists('menu_edit')) { + //access granted + } + else { + echo "access denied"; + exit; + } + +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//action add or update + if (is_uuid($_REQUEST["id"])) { + $action = "update"; + $menu_uuid = $_REQUEST["id"]; + } + else { + $action = "add"; + } + +//get http post variables and set them to php variables + if (count($_POST) > 0) { + $menu_uuid = $_POST["menu_uuid"]; + $menu_name = $_POST["menu_name"]; + $menu_language = $_POST["menu_language"]; + $menu_description = $_POST["menu_description"]; + } + +//process the http post + if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { + + //validate the token + $token = new token; + if (!$token->validate($_SERVER['PHP_SELF'])) { + message::add($text['message-invalid_token'],'negative'); + header('Location: menu.php'); + exit; + } + + //check for all required data + $msg = ''; + //if (strlen($menu_name) == 0) { $msg .= $text['message-required'].$text['label-name']."
\n"; } + //if (strlen($menu_language) == 0) { $msg .= $text['message-required'].$text['label-language']."
\n"; } + //if (strlen($menu_description) == 0) { $msg .= $text['message-required'].$text['label-description']."
\n"; } + if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { + require_once "resources/header.php"; + require_once "resources/persist_form_var.php"; + echo "
\n"; + echo "
\n"; + echo $msg."
"; + echo "
\n"; + persistformvar($_POST); + echo "
\n"; + require_once "resources/footer.php"; + return; + } + + //add or update the database + if ($_POST["persistformvar"] != "true") { + if ($action == "add") { + //create a new unique id + $menu_uuid = uuid(); + + //start a new menu + $array['menus'][0]['menu_uuid'] = $menu_uuid; + $array['menus'][0]['menu_name'] = $menu_name; + $array['menus'][0]['menu_language'] = $menu_language; + $array['menus'][0]['menu_description'] = $menu_description; + $database = new database; + $database->app_name = 'menu'; + $database->app_uuid = 'f4b3b3d2-6287-489c-2a00-64529e46f2d7'; + $database->save($array); + unset($array); + + //redirect the user back to the main menu + message::add($text['message-add']); + header("Location: menu.php"); + return; + } //if ($action == "add") + + if ($action == "update") { + //update the menu + $array['menus'][0]['menu_uuid'] = $menu_uuid; + $array['menus'][0]['menu_name'] = $menu_name; + $array['menus'][0]['menu_language'] = $menu_language; + $array['menus'][0]['menu_description'] = $menu_description; + $database = new database; + $database->app_name = 'menu'; + $database->app_uuid = 'f4b3b3d2-6287-489c-2a00-64529e46f2d7'; + $database->save($array); + unset($array); + + //redirect the user back to the main menu + message::add($text['message-update']); + header("Location: menu.php"); + return; + } + } + } + +//pre-populate the form + if (count($_GET) > 0 && is_uuid($_GET["id"]) && $_POST["persistformvar"] != "true") { + $menu_uuid = $_GET["id"]; + $sql = "select * from v_menus "; + $sql .= "where menu_uuid = :menu_uuid "; + $parameters['menu_uuid'] = $menu_uuid; + $database = new database; + $row = $database->select($sql, $parameters, 'row'); + if (is_array($row) && sizeof($row) != 0) { + $menu_uuid = $row["menu_uuid"]; + $menu_name = $row["menu_name"]; + $menu_language = $row["menu_language"]; + $menu_description = $row["menu_description"]; + } + unset($sql, $parameters, $row); + } + +//create token + $object = new token; + $token = $object->create($_SERVER['PHP_SELF']); + +//show the header + $document['title'] = $text['title-menu']; + require_once "resources/header.php"; + +//show the content + echo "
\n"; + + echo "
\n"; + echo "
".$text['header-menu']."
\n"; + echo "
\n"; + echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','collapse'=>'hide-xs','link'=>'menu.php']); + echo button::create(['type'=>'button','label'=>$text['button-reload'],'icon'=>$_SESSION['theme']['button_icon_reload'],'collapse'=>'hide-xs','style'=>'margin-left: 15px;','link'=>'menu_reload.php?menu_uuid='.urlencode($menu_uuid).'&menu_language='.urlencode($menu_language)]); + if (permission_exists('menu_restore') && $action == "update") { + echo button::create(['type'=>'button','label'=>$text['button-restore_default'],'icon'=>'key','collapse'=>'hide-xs','link'=>'menu_restore_default.php?menu_uuid='.urlencode($menu_uuid).'&menu_language='.urlencode($menu_language)]); + } + echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','collapse'=>'hide-xs']); + echo "
\n"; + echo "
\n"; + echo "
\n"; + + echo $text['description-menu']."\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-name']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo "\n"; + echo $text['description-name']."
\n"; + echo " ".$text['label-language']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-language']."\n"; + echo "
\n"; + echo " ".$text['label-description']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-description']."\n"; + echo "
"; + echo "

"; + + if ($action == "update") { + echo "\n"; + } + echo "\n"; + + echo "
"; + +//show the menu items + if ($action == "update") { + require_once "core/menu/menu_item_list.php"; + } + +//include the footer + require_once "resources/footer.php"; + ?> \ No newline at end of file diff --git a/core/menu/menu_reload.php b/core/menu/menu_reload.php new file mode 100644 index 0000000000..62efbbd0ca --- /dev/null +++ b/core/menu/menu_reload.php @@ -0,0 +1,62 @@ + + Portions created by the Initial Developer are Copyright (C) 2020 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ + +//includes + include "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; + +//check permissions + if (permission_exists('menu_add') || permission_exists('menu_edit')) { + //access granted + } + else { + echo "access denied"; + return; + } + +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//get the http value and set as a php variable + $menu_uuid = $_REQUEST["menu_uuid"]; + +//unset the sesssion menu array + unset($_SESSION['menu']['array']); + +//get the menu array and save it to the session + $menu = new menu; + $menu->menu_uuid = $_SESSION['domain']['menu']['uuid']; + $_SESSION['menu']['array'] = $menu->menu_array(); + unset($menu); + +//redirect the user + message::add($text['message-reload']); + header("Location: ".PROJECT_PATH."/core/menu/menu_edit.php?id=".urlencode($menu_uuid)); + return; + +?> \ No newline at end of file diff --git a/core/software/app_defaults.php b/core/software/app_defaults.php index a24f6a06c6..103149fc8c 100644 --- a/core/software/app_defaults.php +++ b/core/software/app_defaults.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2019 + Portions created by the Initial Developer are Copyright (C) 2008-2020 the Initial Developer. All Rights Reserved. Contributor(s): @@ -45,12 +45,23 @@ if ($domains_processed == 1) { $array['software'][0]['software_uuid'] = '7de057e7-333b-4ebf-9466-315ae7d44efd'; $array['software'][0]['software_version'] = software::version(); } + + //add the temporary permission + $p = new permissions; + $p->add("software_add", 'temp'); + $p->add("software_edit", 'temp'); + + //save the data $database = new database; $database->app_name = 'software'; $database->app_uuid = 'b88c795f-7dea-4fc8-9ab7-edd555242cff'; $database->save($array); unset($array); + //remove the temporary permission + $p->delete("software_add", 'temp'); + $p->delete("software_edit", 'temp'); + } ?> diff --git a/core/software/resources/classes/software.php b/core/software/resources/classes/software.php index 5c12e37c6f..6a627941bc 100644 --- a/core/software/resources/classes/software.php +++ b/core/software/resources/classes/software.php @@ -12,14 +12,14 @@ if (!class_exists('software')) { * version */ public static function version() { - return '4.5.13'; + return '4.5.18'; } /** * numeric_version */ public static function numeric_version() { - $v = explode('.', $this->version()); + $v = explode('.', software::version()); $n = ($v[0] * 10000 + $v[1] * 100 + $v[2]); return $n; } diff --git a/core/upgrade/app_defaults.php b/core/upgrade/app_defaults.php index 3d9aa97e28..587e12d116 100644 --- a/core/upgrade/app_defaults.php +++ b/core/upgrade/app_defaults.php @@ -52,7 +52,7 @@ if ($domains_processed == 1) { $sql .= "'login', "; $sql .= "'message', "; $sql .= "'text', "; - $sql .= "':default_setting_value, "; + $sql .= ":default_setting_value, "; $sql .= "'true', "; $sql .= "'' "; $sql .= ")"; diff --git a/core/upgrade/index.php b/core/upgrade/index.php index 3cbc66113e..45ef27cafe 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -182,7 +182,7 @@ echo "\n"; echo "\n"; echo " \n"; echo "
\n"; - echo "
".$step++."
"; + echo "
".$step."
"; echo " ".$text['label-upgrade_schema']; echo "
\n"; @@ -195,6 +195,7 @@ echo "\n"; echo "\n"; echo " \n"; echo " \n"; $c = ($c) ? 0 : 1; - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - if ($fp) { - //switch version - $switch_version = event_socket_request($fp, 'api version'); - preg_match("/FreeSWITCH Version (\d+\.\d+\.\d+(?:\.\d+)?).*\(.*?(\d+\w+)\s*\)/", $switch_version, $matches); - $switch_version = $matches[1]; - $switch_bits = $matches[2]; - if ($switch_version != '' && $switch_bits != '') { - $hud[$n]['html'] .= "\n"; - $hud[$n]['html'] .= "\n"; - $hud[$n]['html'] .= "\n"; - $hud[$n]['html'] .= "\n"; - $c = ($c) ? 0 : 1; - } - - //switch uptime - $tmp = event_socket_request($fp, 'api status'); - $tmp = explode("\n", $tmp); - $tmp = $tmp[0]; - $tmp = explode(' ', $tmp); - $uptime = (($tmp[1]) ? $tmp[1].'y ' : null); - $uptime .= (($tmp[3]) ? $tmp[3].'d ' : null); - $uptime .= (($tmp[5]) ? $tmp[5].'h ' : null); - $uptime .= (($tmp[7]) ? $tmp[7].'m ' : null); - $uptime .= (($tmp[9]) ? $tmp[9].'s' : null); - if ($uptime != '') { - $hud[$n]['html'] .= "\n"; - $hud[$n]['html'] .= "\n"; - $hud[$n]['html'] .= "\n"; - $hud[$n]['html'] .= "\n"; - $c = ($c) ? 0 : 1; - } - } - //os uptime if (stristr(PHP_OS, 'Linux')) { unset($tmp); diff --git a/core/user_settings/user_setting_edit.php b/core/user_settings/user_setting_edit.php index 0bb9ca102b..cb57ebda9f 100644 --- a/core/user_settings/user_setting_edit.php +++ b/core/user_settings/user_setting_edit.php @@ -317,13 +317,14 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { } //pre-populate the form - if (is_uuid($_GET["id"]) && count($_GET)>0 && $_POST["persistformvar"] != "true") { + if (is_uuid($_GET["id"]) && count($_GET) > 0 && $_POST["persistformvar"] != "true") { $user_setting_uuid = $_GET["id"]; - $sql = "select * from v_user_settings "; - $sql .= "where user_uuid = :user_uuid "; - $sql .= "and user_setting_uuid = :user_setting_uuid "; - $parameters['user_uuid'] = $user_uuid; + $sql = "select user_setting_category, user_setting_subcategory, user_setting_name, user_setting_value, cast(user_setting_enabled as text), user_setting_description "; + $sql .= "from v_user_settings "; + $sql .= "where user_setting_uuid = :user_setting_uuid "; + $sql .= "and user_uuid = :user_uuid "; $parameters['user_setting_uuid'] = $user_setting_uuid; + $parameters['user_uuid'] = $user_uuid; $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && sizeof($row) != 0) { @@ -605,6 +606,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo " \n"; } @@ -628,6 +630,33 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo " \n"; echo " \n"; } + elseif ($user_setting_category == "theme" && $user_setting_subcategory == "menu_side_state" && $user_setting_name == "text" ) { + echo " \n"; + } + elseif ($user_setting_category == "theme" && $user_setting_subcategory == "menu_side_toggle" && $user_setting_name == "text" ) { + echo " \n"; + } + elseif ($user_setting_category == "theme" && $user_setting_subcategory == "menu_side_toggle_body_width" && $user_setting_name == "text" ) { + echo " \n"; + } + else if ($user_setting_category == "theme" && $user_setting_subcategory == "body_header_brand_type" && $user_setting_name == "text" ) { + echo " \n"; + } else { echo " \n"; } @@ -700,7 +729,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo " ".$text['label-description']."\n"; echo "\n"; echo "\n"; @@ -736,4 +765,4 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/core/user_settings/user_setting_set.php b/core/user_settings/user_setting_set.php new file mode 100644 index 0000000000..7fa78936cf --- /dev/null +++ b/core/user_settings/user_setting_set.php @@ -0,0 +1,160 @@ + +Portions created by the Initial Developer are Copyright (C) 2020 +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"; + +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//get http post variables and set them to php variables + if (is_array($_GET) && @sizeof($_GET) != 0) { + $user_setting_category = strtolower($_GET['category']); + $user_setting_subcategory = strtolower($_GET['subcategory']); + $user_setting_name = strtolower($_GET['name']); + $submitted_value = $_GET['value']; + //$submitted_order = is_numeric($_GET['order']) ? $_GET['order'] : null; + $submitted_enabled = strtolower($_GET['enabled']); + } + +//validate allowed user setting + switch ($user_setting_category) { + case 'theme': + switch ($user_setting_subcategory) { + case 'menu_side_state': + if ($submitted_value == 'delete') { + $user_setting_value = 'delete'; + $user_setting_enabled = 'delete'; + } + else if ($submitted_value == 'expanded' || $submitted_value == 'contracted') { + $user_setting_value = $submitted_value; + $user_setting_enabled = 'true'; + } + break 2; + default: + //setting not allowed + echo 'false'; + exit; + } + break; + default: + //setting not allowed + echo 'false'; + exit; + } + +//add/update user setting + if (isset($user_setting_value) && isset($user_setting_enabled)) { + + //get existing user setting uuid, if exists + $sql = "select user_setting_uuid from v_user_settings "; + $sql .= "where user_uuid = :user_uuid "; + $sql .= "and domain_uuid = :domain_uuid "; + $sql .= "and user_setting_category = :user_setting_category "; + $sql .= "and user_setting_subcategory = :user_setting_subcategory "; + $sql .= "and user_setting_name = :user_setting_name "; + $parameters['user_uuid'] = $_SESSION['user_uuid']; + $parameters['domain_uuid'] = $_SESSION['domain_uuid']; + $parameters['user_setting_category'] = $user_setting_category; + $parameters['user_setting_subcategory'] = $user_setting_subcategory; + $parameters['user_setting_name'] = $user_setting_name; + $database = new database; + $user_setting_uuid = $database->select($sql, $parameters, 'column'); + unset($sql, $parameters); + + //delete user setting + if ($user_setting_value == 'delete' && $user_setting_enabled == 'delete') { + if (is_uuid($user_setting_uuid)) { + //create data array + $array['user_settings'][0]['user_setting_uuid'] = $user_setting_uuid; + $array['user_settings'][0]['user_uuid'] = $_SESSION['user_uuid']; + $array['user_settings'][0]['domain_uuid'] = $_SESSION['domain_uuid']; + //grant temporary permissions + $p = new permissions; + $p->add('user_setting_delete', 'temp'); + //execute + $database = new database; + $database->app_name = 'user_settings'; + $database->app_uuid = '3a3337f7-78d1-23e3-0cfd-f14499b8ed97'; + $database->delete($array); + unset($array); + //revoke temporary permissions + $p->delete('user_setting_delete', 'temp'); + //reset session variables to default + require "resources/classes/domains.php"; + $domain = new domains(); + $domain->db = $db; + $domain->set(); + } + + //set response + echo 'deleted'; + + } + + //insert or update user setting + else { + + //create data array + $array['user_settings'][0]['user_setting_uuid'] = is_uuid($user_setting_uuid) ? $user_setting_uuid : uuid(); + $array['user_settings'][0]['user_uuid'] = $_SESSION['user_uuid']; + $array['user_settings'][0]['domain_uuid'] = $_SESSION['domain_uuid']; + $array['user_settings'][0]['user_setting_category'] = $user_setting_category; + $array['user_settings'][0]['user_setting_subcategory'] = $user_setting_subcategory; + $array['user_settings'][0]['user_setting_name'] = $user_setting_name; + $array['user_settings'][0]['user_setting_value'] = $user_setting_value; + //$array['user_settings'][0]['user_setting_order'] = $user_setting_order; + $array['user_settings'][0]['user_setting_enabled'] = $user_setting_enabled; + + //grant temporary permissions + $p = new permissions; + $p->add('user_setting_add', 'temp'); + $p->add('user_setting_edit', 'temp'); + + //execute + $database = new database; + $database->app_name = 'user_settings'; + $database->app_uuid = '3a3337f7-78d1-23e3-0cfd-f14499b8ed97'; + $database->save($array); + unset($array); + + //revoke temporary permissions + $p->delete('user_setting_add', 'temp'); + $p->delete('user_setting_edit', 'temp'); + + //update session variable + $_SESSION[$user_setting_category][$user_setting_subcategory][$user_setting_name] = $user_setting_value; + + //set response + echo 'true'; + + } + } + +?> \ No newline at end of file diff --git a/core/user_settings/user_settings.php b/core/user_settings/user_settings.php index 81a0dca8be..ad7421d20d 100644 --- a/core/user_settings/user_settings.php +++ b/core/user_settings/user_settings.php @@ -128,8 +128,10 @@ list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); $offset = $rows_per_page * $page; } + //get the list - $sql = "select * from v_user_settings "; + $sql = "select user_setting_uuid, user_uuid, user_setting_category, user_setting_subcategory, user_setting_name, user_setting_value, cast(user_setting_enabled as text), user_setting_description "; + $sql .= "from v_user_settings "; $sql .= $sql_where; if ($order_by == '') { $sql .= "order by user_setting_category, user_setting_subcategory, user_setting_order asc "; @@ -272,6 +274,7 @@ ( $category == "theme" && $subcategory == "menu_brand_type" && $name == "text" ) || ( $category == "theme" && $subcategory == "menu_style" && $name == "text" ) || ( $category == "theme" && $subcategory == "menu_position" && $name == "text" ) || + ( $category == "theme" && $subcategory == "body_header_brand_type" && $name == "text" ) || ( $category == "theme" && $subcategory == "logo_align" && $name == "text" ) ) { echo " ".$text['label-'.escape($row['user_setting_value'])]; @@ -280,14 +283,23 @@ echo " ".str_repeat('*', strlen(escape($row['user_setting_value']))); } else if ($category == 'theme' && $subcategory == 'button_icons' && $name == 'text') { - echo " ".$text['option-button_icons_'.$row['domain_setting_value']]."\n"; + echo " ".$text['option-button_icons_'.$row['user_setting_value']]."\n"; + } + else if ($category == 'theme' && $subcategory == 'menu_side_state' && $name == 'text') { + echo " ".$text['option-'.$row['user_setting_value']]."\n"; + } + else if ($category == 'theme' && $subcategory == 'menu_side_toggle' && $name == 'text') { + echo " ".$text['option-'.$row['user_setting_value']]."\n"; + } + else if ($category == 'theme' && $subcategory == 'menu_side_toggle_body_width' && $name == 'text') { + echo " ".$text['option-'.$row['user_setting_value']]."\n"; } else if ($category == "theme" && substr_count($subcategory, "_color") > 0 && ($name == "text" || $name == 'array')) { echo " ".(img_spacer('15px', '15px', 'background: '.escape($row['user_setting_value']).'; margin-right: 4px; vertical-align: middle; border: 1px solid '.(color_adjust($row['user_setting_value'], -0.18)).'; padding: -1px;')); echo "".escape($row['user_setting_value'])."\n"; } else if ($category == 'recordings' && $subcategory == 'storage_type' && $name == 'text') { - echo " ".$text['label-'.$row['domain_setting_value']]."\n"; + echo " ".$text['label-'.$row['user_setting_value']]."\n"; } else { echo " ".escape($row['user_setting_value'])."\n"; @@ -340,4 +352,4 @@ echo "\n"; -?> \ No newline at end of file +?> diff --git a/core/users/app_config.php b/core/users/app_config.php index 845d0cbd71..ffba651654 100644 --- a/core/users/app_config.php +++ b/core/users/app_config.php @@ -220,6 +220,7 @@ $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "user_enabled"; $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['toggle'] = ['true','false']; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "add_user"; @@ -346,7 +347,10 @@ $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "user_setting_enabled"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "boolean"; + $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['toggle'] = ['true','false']; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "user_setting_description"; diff --git a/core/users/app_languages.php b/core/users/app_languages.php index 163a9a27ce..cdfc4dc6c4 100644 --- a/core/users/app_languages.php +++ b/core/users/app_languages.php @@ -1263,16 +1263,16 @@ $text['label-company_name']['ru-ru'] = "Название компании"; $text['label-company_name']['sv-se'] = "Företags Namn"; $text['label-company_name']['uk-ua'] = "Назва компанії"; -$text['label-characters']['en-us'] = "Characters"; -$text['label-characters']['en-gb'] = "Characters"; +$text['label-characters']['en-us'] = "Invalid Password Length"; +$text['label-characters']['en-gb'] = "Invalid Password Length"; $text['label-characters']['ar-eg'] = "الشخصيات"; $text['label-characters']['de-at'] = "Zeichen"; //copied from de-de $text['label-characters']['de-ch'] = "Zeichen"; //copied from de-de $text['label-characters']['de-de'] = "Zeichen"; -$text['label-characters']['es-cl'] = "Caracteres"; -$text['label-characters']['es-mx'] = "Caracteres"; //copied from es-cl -$text['label-characters']['fr-ca'] = "Personnages"; //copied from fr-fr -$text['label-characters']['fr-fr'] = "Personnages"; +$text['label-characters']['es-cl'] = "Longitud de contraseña inválida"; +$text['label-characters']['es-mx'] = "Longitud de contraseña inválida"; //copied from es-cl +$text['label-characters']['fr-ca'] = "Longueur de mot de passe non valide"; //copied from fr-fr +$text['label-characters']['fr-fr'] = "Longueur de mot de passe non valide"; $text['label-characters']['he-il'] = "דמויות"; $text['label-characters']['it-it'] = "Caratteri"; $text['label-characters']['nl-nl'] = ""; @@ -2045,4 +2045,4 @@ $text['button-permissions']['ru-ru'] = "Права"; $text['button-permissions']['sv-se'] = "Rättigheter"; $text['button-permissions']['uk-ua'] = "Привілеї"; -?> \ No newline at end of file +?> diff --git a/core/users/user_edit.php b/core/users/user_edit.php index 98f3df7344..c0190fd82d 100644 --- a/core/users/user_edit.php +++ b/core/users/user_edit.php @@ -569,7 +569,9 @@ else { //populate the form with values from db if ($action == 'edit') { - $sql = "select * from v_users where user_uuid = :user_uuid "; + $sql = "select domain_uuid, user_uuid, username, user_email, api_key, user_enabled, contact_uuid, cast(user_enabled as text), user_status "; + $sql .= "from v_users "; + $sql .= "where user_uuid = :user_uuid "; if (!permission_exists('user_all')) { $sql .= "and domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $domain_uuid; diff --git a/core/users/user_imports.php b/core/users/user_imports.php index 486457b4c2..4cefe880e7 100644 --- a/core/users/user_imports.php +++ b/core/users/user_imports.php @@ -433,7 +433,7 @@ echo "\n"; echo "
\n"; + echo "
".$step++."B
"; echo " ".$text['label-upgrade_data_types']; echo "
\n"; diff --git a/core/user_settings/app_config.php b/core/user_settings/app_config.php index f7e3271343..fcb107229c 100644 --- a/core/user_settings/app_config.php +++ b/core/user_settings/app_config.php @@ -103,7 +103,10 @@ $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "user_setting_enabled"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "boolean"; + $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['toggle'] = ['true','false']; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = "user_setting_description"; diff --git a/core/user_settings/user_dashboard.php b/core/user_settings/user_dashboard.php index 92b9a3ac99..328094ab30 100644 --- a/core/user_settings/user_dashboard.php +++ b/core/user_settings/user_dashboard.php @@ -993,40 +993,6 @@ $hud[$n]['html'] .= "
\n"; - echo " \n"; + echo " \n"; echo "
\n"; echo $text['description-description']."\n"; echo "
\n"; echo "
\n"; @@ -262,6 +266,7 @@ ) { echo "

"; } + echo "\n"; echo ""; echo ""; echo ""; diff --git a/resources/paging.php b/resources/paging.php index 14cbdf871b..81a74ee4f2 100644 --- a/resources/paging.php +++ b/resources/paging.php @@ -77,7 +77,10 @@ function paging($num_rows, $param, $rows_per_page, $mini = false, $result_count if ($num_rows > 0) { $max_page = ceil($num_rows/$rows_per_page); } - + else { + $max_page = 1; + } + //add multi-lingual support $language = new text; $text = $language->get(); @@ -188,4 +191,4 @@ function paging($num_rows, $param, $rows_per_page, $mini = false, $result_count } -?> \ No newline at end of file +?> diff --git a/resources/php.php b/resources/php.php index 5f50843c5e..705fbd29f8 100644 --- a/resources/php.php +++ b/resources/php.php @@ -24,41 +24,23 @@ Mark J Crane */ - //session handling - //start the session - if (function_exists('session_start')) { - if (!isset($_SESSION)) { - session_start(); - } +//session handling + //start the session + if (function_exists('session_start')) { + if (!isset($_SESSION)) { + session_start(); } - //regenerate sessions to avoid session id attacks such as session fixation - if (array_key_exists('security',$_SESSION) && $_SESSION['security']['session_rotate']['boolean'] == "true") { - $_SESSION['session']['last_activity'] = time(); - if (!isset($_SESSION['session']['created'])) { - $_SESSION['session']['created'] = time(); - } else if (time() - $_SESSION['session']['created'] > 28800) { - // session started more than 8 hours ago - session_regenerate_id(true); // rotate the session id - $_SESSION['session']['created'] = time(); // update creation time - } + } + //regenerate sessions to avoid session id attacks such as session fixation + if (array_key_exists('security',$_SESSION) && $_SESSION['security']['session_rotate']['boolean'] == "true") { + $_SESSION['session']['last_activity'] = time(); + if (!isset($_SESSION['session']['created'])) { + $_SESSION['session']['created'] = time(); + } else if (time() - $_SESSION['session']['created'] > 28800) { + // session started more than 8 hours ago + session_regenerate_id(true); // rotate the session id + $_SESSION['session']['created'] = time(); // update creation time } - - //get the document_root parent directory - $document_root_parent = join(array_slice(explode("\\",realpath($_SERVER["DOCUMENT_ROOT"])),0,-1), '/'); - - //if magic quotes is enabled remove the slashes - if (get_magic_quotes_gpc()) { - $in = array(&$_GET, &$_POST, &$_REQUEST, &$_COOKIE); - while (list($k,$v) = each($in)) { - foreach ($v as $key => $val) { - if (!is_array($val)) { - $in[$k][$key] = stripslashes($val); - continue; - } - $in[] =& $in[$k][$key]; - } - } - unset($in); } ?> diff --git a/resources/phpmailer/class.phpmailer.php b/resources/phpmailer/class.phpmailer.php index bb58f80d33..0feaae9b4f 100644 --- a/resources/phpmailer/class.phpmailer.php +++ b/resources/phpmailer/class.phpmailer.php @@ -56,7 +56,7 @@ class PHPMailer { * Sets the CharSet of the message. * @var string */ - public $CharSet = 'iso-8859-1'; + public $CharSet = 'UTF-8'; /** * Sets the Content-type of the message. @@ -69,7 +69,7 @@ class PHPMailer { * "8bit", "7bit", "binary", "base64", and "quoted-printable". * @var string */ - public $Encoding = '8bit'; + public $Encoding = 'base64'; /** * Holds the most recent mailer error message. @@ -171,7 +171,7 @@ class PHPMailer { * @var boolean */ public $UseSendmailOptions = true; - + /** * Path to PHPMailer plugins. Useful if the SMTP class * is in a different directory than the PHP include path. @@ -264,7 +264,7 @@ class PHPMailer { * @var string */ public $AuthType = ''; - + /** * Sets SMTP realm. * @var string @@ -491,7 +491,7 @@ class PHPMailer { const STOP_CONTINUE = 1; // message?, likely ok to continue processing const STOP_CRITICAL = 2; // message, plus full stop, critical error reached const CRLF = "\r\n"; // SMTP RFC specified EOL - + ///////////////////////////////////////////////// // METHODS, VARIABLES ///////////////////////////////////////////////// @@ -1849,7 +1849,7 @@ class PHPMailer { if (version_compare(PHP_VERSION, '5.3.0', '<')) { set_magic_quotes_runtime(0); } else { - ini_set('magic_quotes_runtime', 0); + ini_set('magic_quotes_runtime', 0); } } $file_buffer = file_get_contents($path); @@ -1858,7 +1858,7 @@ class PHPMailer { if (version_compare(PHP_VERSION, '5.3.0', '<')) { set_magic_quotes_runtime($magic_quotes); } else { - ini_set('magic_quotes_runtime', $magic_quotes); + ini_set('magic_quotes_runtime', $magic_quotes); } } return $file_buffer; @@ -2135,13 +2135,13 @@ class PHPMailer { $pattern = '\075\000-\011\013\014\016-\037\077\137\177-\377' . $pattern; break; } - + if (preg_match_all("/[{$pattern}]/", $encoded, $matches)) { foreach (array_unique($matches[0]) as $char) { $encoded = str_replace($char, '=' . sprintf('%02X', ord($char)), $encoded); } } - + //Replace every spaces to _ (more readable than =20) return str_replace(' ', '_', $encoded); } @@ -2814,4 +2814,4 @@ class phpmailerException extends Exception { return $errorMsg; } } -?> \ No newline at end of file +?> diff --git a/resources/switch.php b/resources/switch.php index 89fd056db8..f83401c8f8 100644 --- a/resources/switch.php +++ b/resources/switch.php @@ -482,6 +482,7 @@ function outbound_route_to_bridge($domain_uuid, $destination_number, array $chan else { $condition_match[] = 'true'; $regex_match_1 = $matches[1][0]; + $regex_match_2 = $matches[2][0]; $regex_match_3 = $matches[3][0]; $regex_match_4 = $matches[4][0]; $regex_match_5 = $matches[5][0]; @@ -544,8 +545,8 @@ function extension_exists($extension) { $parameters['extension'] = $extension; $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); + unset($sql, $parameters); return $num_rows > 0 ? true : false; - unset($sql, $parameters, $num_rows); } function extension_presence_id($extension, $number_alias = false) { @@ -624,344 +625,6 @@ function dialplan_add($domain_uuid, $dialplan_uuid, $dialplan_name, $dialplan_or $p->delete('dialplan_add', 'temp'); } -function dialplan_detail_add($domain_uuid, $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data, $dialplan_detail_break = null, $dialplan_detail_inline = null) { - //build insert array - $dialplan_detail_uuid = uuid(); - $array['dialplan_details'][0]['dialplan_detail_uuid'] = $dialplan_detail_uuid; - $array['dialplan_details'][0]['domain_uuid'] = $domain_uuid; - $array['dialplan_details'][0]['dialplan_uuid'] = $dialplan_uuid; - $array['dialplan_details'][0]['dialplan_detail_tag'] = $dialplan_detail_tag; - $array['dialplan_details'][0]['dialplan_detail_group'] = strlen($dialplan_detail_group) != 0 ? $dialplan_detail_group : null; - $array['dialplan_details'][0]['dialplan_detail_order'] = $dialplan_detail_order; - $array['dialplan_details'][0]['dialplan_detail_type'] = $dialplan_detail_type; - $array['dialplan_details'][0]['dialplan_detail_data'] = $dialplan_detail_data; - $array['dialplan_details'][0]['dialplan_detail_break'] = strlen($dialplan_detail_break) != 0 ? $dialplan_detail_break : null; - $array['dialplan_details'][0]['dialplan_detail_inline'] = strlen($dialplan_detail_inline) != 0 ? $dialplan_detail_inline : null; - //grant temporary permissions - $p = new permissions; - $p->add('dialplan_detail_add', 'temp'); - //execute insert - $database = new database; - $database->app_name = 'switch-function-dialplan_detail_add'; - $database->app_uuid = '53ea51fc-a7ef-4726-9482-383984dc7747'; - $database->save($array); - unset($array); - //revoke temporary permissions - $p->delete('dialplan_detail_add', 'temp'); -} - -function save_dialplan_xml() { - global $domain_uuid; - - //get the database connection - require_once "resources/classes/database.php"; - $database = new database; - $database->connect(); - $db = $database->db; - - //get the context based from the domain_uuid - $user_context = $_SESSION['domains'][$domain_uuid]['domain_name']; - - //prepare for dialplan .xml files to be written. delete all dialplan files that are prefixed with dialplan_ and have a file extension of .xml - $dialplan_list = glob($_SESSION['switch']['dialplan']['dir'] . "/*/*v_dialplan*.xml"); - foreach($dialplan_list as $name => $value) { - unlink($value); - } - $dialplan_list = glob($_SESSION['switch']['dialplan']['dir'] . "/*/*_v_*.xml"); - foreach($dialplan_list as $name => $value) { - unlink($value); - } - $dialplan_list = glob($_SESSION['switch']['dialplan']['dir'] . "/*/*/*_v_*.xml"); - foreach($dialplan_list as $name => $value) { - unlink($value); - } - - //if dialplan dir exists then build and save the dialplan xml - if (is_dir($_SESSION['switch']['dialplan']['dir'])) { - $sql = "select * from v_dialplans "; - $sql .= "where dialplan_enabled = 'true' "; - $database = new database; - $result = $database->select($sql, null, 'all'); - if (is_array($result) && @sizeof($result) != 0) { - foreach ($result as &$row) { - $tmp = "\n"; - $first_action = true; - - $dialplan_continue = ''; - if ($row['dialplan_continue'] == "true") { - $dialplan_continue = "continue=\"true\""; - } - - $tmp = "\n"; - - $sql = "select * from v_dialplan_details "; - $sql .= "where dialplan_uuid = :dialplan_uuid "; - $sql .= "order by dialplan_detail_group asc, dialplan_detail_order asc "; - $parameters['dialplan_uuid'] = $row['dialplan_uuid']; - $database = new database; - $result_2 = $database->select($sql, $parameters, 'all'); - unset($sql, $parameters); - - if (sizeof($result_2) && @sizeof($result_2) != 0) { - //create a new array that is sorted into groups and put the tags in order conditions, actions, anti-actions - $details = array(); - $previous_tag = ''; - $details[$group]['condition_count'] = ''; - //conditions - $x = 0; - $y = 0; - foreach ($result_2 as $row_2) { - if ($row_2['dialplan_detail_tag'] == "condition") { - //get the group - $group = $row_2['dialplan_detail_group']; - //get the generic type - switch ($row_2['dialplan_detail_type']) { - case "hour": - case "minute": - case "minute-of-day": - case "time-of-day": - case "mday": - case "mweek": - case "mon": - case "yday": - case "year": - case "wday": - case "week": - $type = 'time'; - break; - default: - $type = 'default'; - } - - //add the conditions to the details array - $details[$group]['condition-'.$x]['dialplan_detail_tag'] = $row_2['dialplan_detail_tag']; - $details[$group]['condition-'.$x]['dialplan_detail_type'] = $row_2['dialplan_detail_type']; - $details[$group]['condition-'.$x]['dialplan_uuid'] = $row_2['dialplan_uuid']; - $details[$group]['condition-'.$x]['dialplan_detail_order'] = $row_2['dialplan_detail_order']; - $details[$group]['condition-'.$x]['field'][$y]['type'] = $row_2['dialplan_detail_type']; - $details[$group]['condition-'.$x]['field'][$y]['data'] = $row_2['dialplan_detail_data']; - $details[$group]['condition-'.$x]['dialplan_detail_break'] = $row_2['dialplan_detail_break']; - $details[$group]['condition-'.$x]['dialplan_detail_group'] = $row_2['dialplan_detail_group']; - $details[$group]['condition-'.$x]['dialplan_detail_inline'] = $row_2['dialplan_detail_inline']; - if ($type == "time") { - $y++; - } - } - if ($type == "default") { - $x++; - $y = 0; - } - } - - //actions - $x = 0; - foreach($result_2 as $row_2) { - if ($row_2['dialplan_detail_tag'] == "action") { - $group = $row_2['dialplan_detail_group']; - foreach ($row_2 as $key => $val) { - $details[$group]['action-'.$x][$key] = $val; - } - } - $x++; - } - - //anti-actions - $x = 0; - foreach($result_2 as $row_2) { - if ($row_2['dialplan_detail_tag'] == "anti-action") { - $group = $row_2['dialplan_detail_group']; - foreach ($row_2 as $key => $val) { - $details[$group]['anti-action-'.$x][$key] = $val; - } - } - $x++; - } - - unset($result_2, $row_2); - } - - if (is_array($details) && @sizeof($details) != 0) { - foreach ($details as $group) { - $current_count = 0; - $x = 0; - foreach($group as $ent) { - $close_condition_tag = true; - if (empty($ent)) { - $close_condition_tag = false; - } - $current_tag = $ent['dialplan_detail_tag']; - $c = 0; - if ($ent['dialplan_detail_tag'] == "condition") { - //get the generic type - switch ($ent['dialplan_detail_type']) { - case "hour": - case "minute": - case "minute-of-day": - case "time-of-day": - case "mday": - case "mweek": - case "mon": - case "yday": - case "year": - case "wday": - case "week": - $type = 'time'; - break; - default: - $type = 'default'; - } - - //set the attribute and expression - $condition_attribute = ''; - foreach($ent['field'] as $field) { - if ($type == "time") { - if (strlen($field['type']) > 0) { - $condition_attribute .= $field['type'].'="'.$field['data'].'" '; - } - $condition_expression = ''; - } - if ($type == "default") { - $condition_attribute = ''; - if (strlen($field['type']) > 0) { - $condition_attribute = 'field="'.$field['type'].'" '; - } - $condition_expression = ''; - if (strlen($field['data']) > 0) { - $condition_expression = 'expression="'.$field['data'].'" '; - } - } - } - - //get the condition break attribute - $condition_break = ''; - if (strlen($ent['dialplan_detail_break']) > 0) { - $condition_break = "break=\"".$ent['dialplan_detail_break']."\" "; - } - - //get the count - $count = 0; - foreach($details as $group_2) { - foreach($group_2 as $ent_2) { - if ($ent_2['dialplan_detail_group'] == $ent['dialplan_detail_group'] && $ent_2['dialplan_detail_tag'] == "condition") { - $count++; - } - } - } - unset($group_2, $ent_2); - - //use the correct type of dialplan_detail_tag open or self closed - if ($count == 1) { //single condition - //start dialplan_detail_tag - $tmp .= " \n"; - } - else { //more than one condition - $current_count++; - if ($current_count < $count) { - //all tags should be self-closing except the last one - $tmp .= " \n"; - } - else { - //for the last dialplan_detail_tag use the start dialplan_detail_tag - $tmp .= " \n"; - } - } - } - //actions - if ($ent['dialplan_detail_tag'] == "action") { - //set the domain info for the public context - if ($row['dialplan_context'] == "public") { - if ($first_action) { - $tmp .= " \n"; - $tmp .= " \n"; - $tmp .= " \n"; - $tmp .= " \n"; - $first_action = false; - } - } - //get the action inline attribute - $action_inline = ''; - if (strlen($ent['dialplan_detail_inline']) > 0) { - $action_inline = "inline=\"".$ent['dialplan_detail_inline']."\""; - } - if (strlen($ent['dialplan_detail_data']) > 0) { - $tmp .= " \n"; - } - else { - $tmp .= " \n"; - } - } - //anti-actions - if ($ent['dialplan_detail_tag'] == "anti-action") { - //get the action inline attribute - $anti_action_inline = ''; - if (strlen($ent['dialplan_detail_inline']) > 0) { - $anti_action_inline = "inline=\"".$ent['dialplan_detail_inline']."\""; - } - if (strlen($ent['dialplan_detail_data']) > 0) { - $tmp .= " \n"; - } - else { - $tmp .= " \n"; - } - } - //set the previous dialplan_detail_tag - $previous_tag = $ent['dialplan_detail_tag']; - - } - if ($close_condition_tag == true) { - $tmp .= " \n"; - } - $x++; - } - unset($sql, $result_2, $row_count2); - } - $tmp .= "\n"; - - $dialplan_order = $row['dialplan_order']; - if (strlen($dialplan_order) == 0) { $dialplan_order = "000".$dialplan_order; } - if (strlen($dialplan_order) == 1) { $dialplan_order = "00".$dialplan_order; } - if (strlen($dialplan_order) == 2) { $dialplan_order = "0".$dialplan_order; } - if (strlen($dialplan_order) == 4) { $dialplan_order = "999"; } - if (strlen($dialplan_order) == 5) { $dialplan_order = "999"; } - - //remove invalid characters from the file names - $dialplan_name = $row['dialplan_name']; - $dialplan_name = str_replace(" ", "_", $dialplan_name); - $dialplan_name = preg_replace("/[\*\:\\/\<\>\|\'\"\?]/", "", $dialplan_name); - - $dialplan_filename = $dialplan_order."_v_".$dialplan_name.".xml"; - if (strlen($row['dialplan_context']) > 0) { - if (!is_dir($_SESSION['switch']['dialplan']['dir']."/".$row['dialplan_context'])) { - event_socket_mkdir($_SESSION['switch']['dialplan']['dir']."/".$row['dialplan_context']); - } - if ($row['dialplan_context'] == "public") { - if (count($_SESSION['domains']) > 1 && strlen($row['domain_uuid']) > 0) { - if (!is_dir($_SESSION['switch']['dialplan']['dir']."/public/".$_SESSION['domains'][$row['domain_uuid']]['domain_name'])) { - event_socket_mkdir($_SESSION['switch']['dialplan']['dir']."/public/".$_SESSION['domains'][$row['domain_uuid']]['domain_name']); - } - file_put_contents($_SESSION['switch']['dialplan']['dir']."/public/".$_SESSION['domains'][$row['domain_uuid']]['domain_name']."/".$dialplan_filename, $tmp); - } - else { - file_put_contents($_SESSION['switch']['dialplan']['dir']."/public/".$dialplan_filename, $tmp); - } - } - else { - if (!is_dir($_SESSION['switch']['dialplan']['dir']."/".$row['dialplan_context'])) { - event_socket_mkdir($_SESSION['switch']['dialplan']['dir']."/".$row['dialplan_context']); - } - file_put_contents($_SESSION['switch']['dialplan']['dir']."/".$row['dialplan_context']."/".$dialplan_filename, $tmp); - } - } - unset($dialplan_filename); - unset($tmp); - } - - //apply settings - $_SESSION["reload_xml"] = true; - } - } -} - if (!function_exists('phone_letter_to_number')) { function phone_letter_to_number($tmp) { $tmp = strtolower($tmp); @@ -1193,9 +856,6 @@ if (!function_exists('save_call_center_xml')) { fwrite($fout, $file_contents); fclose($fout); - //save the dialplan xml files - save_dialplan_xml(); - //apply settings $_SESSION["reload_xml"] = true; @@ -1375,9 +1035,6 @@ if (!function_exists('save_sip_profile_xml')) { if (!function_exists('save_switch_xml')) { function save_switch_xml() { - if (is_readable($_SESSION['switch']['dialplan']['dir'])) { - save_dialplan_xml(); - } if (is_readable($_SESSION['switch']['extensions']['dir'])) { if (file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/extensions/resources/classes/extension.php")) { require_once $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."app/extensions/resources/classes/extension.php"; diff --git a/resources/templates/conf/autoload_configs/fax.conf.xml b/resources/templates/conf/autoload_configs/fax.conf.xml index c7d825665e..3d661fbeb0 100644 --- a/resources/templates/conf/autoload_configs/fax.conf.xml +++ b/resources/templates/conf/autoload_configs/fax.conf.xml @@ -2,7 +2,7 @@ - + diff --git a/resources/templates/conf/autoload_configs/fifo.conf.xml b/resources/templates/conf/autoload_configs/fifo.conf.xml index d7c65968c6..0ea2eebfdc 100644 --- a/resources/templates/conf/autoload_configs/fifo.conf.xml +++ b/resources/templates/conf/autoload_configs/fifo.conf.xml @@ -4,8 +4,10 @@ + + {member_wait=nowait}user/1005@$${domain} + --> diff --git a/resources/templates/conf/languages/ar/ar.xml b/resources/templates/conf/languages/ar/ar.xml index 0133450806..23f7ddacb8 100644 --- a/resources/templates/conf/languages/ar/ar.xml +++ b/resources/templates/conf/languages/ar/ar.xml @@ -1,10 +1,10 @@ - + - + diff --git a/resources/templates/conf/languages/ar/vm/voicemail.xml b/resources/templates/conf/languages/ar/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/ar/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/de/de.xml b/resources/templates/conf/languages/de/de.xml index 86e1f07019..5f024e79e8 100644 --- a/resources/templates/conf/languages/de/de.xml +++ b/resources/templates/conf/languages/de/de.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/de/vm/voicemail.xml b/resources/templates/conf/languages/de/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/de/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/en/en.xml b/resources/templates/conf/languages/en/en.xml index 0133450806..621abcfe5e 100644 --- a/resources/templates/conf/languages/en/en.xml +++ b/resources/templates/conf/languages/en/en.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/en/vm/voicemail.xml b/resources/templates/conf/languages/en/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/en/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/es/es.xml b/resources/templates/conf/languages/es/es.xml index c7dfd03cd2..228308ba8f 100644 --- a/resources/templates/conf/languages/es/es.xml +++ b/resources/templates/conf/languages/es/es.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/es/vm/voicemail.xml b/resources/templates/conf/languages/es/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/es/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/fr/fr.xml b/resources/templates/conf/languages/fr/fr.xml index 339e7ec939..4d8adc2ea2 100644 --- a/resources/templates/conf/languages/fr/fr.xml +++ b/resources/templates/conf/languages/fr/fr.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/fr/vm/voicemail.xml b/resources/templates/conf/languages/fr/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/fr/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/he/he.xml b/resources/templates/conf/languages/he/he.xml index fb0c48ed70..e5a5fe51e3 100644 --- a/resources/templates/conf/languages/he/he.xml +++ b/resources/templates/conf/languages/he/he.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/he/vm/voicemail.xml b/resources/templates/conf/languages/he/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/he/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/it/it.xml b/resources/templates/conf/languages/it/it.xml index 420e5ecca0..5745d7ba27 100644 --- a/resources/templates/conf/languages/it/it.xml +++ b/resources/templates/conf/languages/it/it.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/it/vm/voicemail.xml b/resources/templates/conf/languages/it/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/it/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/nl/nl.xml b/resources/templates/conf/languages/nl/nl.xml index a8b9e34dc9..ee04ecd119 100644 --- a/resources/templates/conf/languages/nl/nl.xml +++ b/resources/templates/conf/languages/nl/nl.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/nl/vm/voicemail.xml b/resources/templates/conf/languages/nl/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/nl/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/pt/pt.xml b/resources/templates/conf/languages/pt/pt.xml index efd9efd5eb..0005d507a2 100644 --- a/resources/templates/conf/languages/pt/pt.xml +++ b/resources/templates/conf/languages/pt/pt.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/pt/vm/voicemail.xml b/resources/templates/conf/languages/pt/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/pt/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/ro/ro.xml b/resources/templates/conf/languages/ro/ro.xml index 06ee6beaf0..a7a98280b7 100644 --- a/resources/templates/conf/languages/ro/ro.xml +++ b/resources/templates/conf/languages/ro/ro.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/ro/vm/voicemail.xml b/resources/templates/conf/languages/ro/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/ro/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/ru/ru.xml b/resources/templates/conf/languages/ru/ru.xml index a4c09f1bcf..40c1bfbbea 100644 --- a/resources/templates/conf/languages/ru/ru.xml +++ b/resources/templates/conf/languages/ru/ru.xml @@ -5,7 +5,7 @@ - + diff --git a/resources/templates/conf/languages/ru/vm/voicemail.xml b/resources/templates/conf/languages/ru/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/ru/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/sv/sv.xml b/resources/templates/conf/languages/sv/sv.xml index 7585eb7209..f3643289b8 100644 --- a/resources/templates/conf/languages/sv/sv.xml +++ b/resources/templates/conf/languages/sv/sv.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/sv/vm/voicemail.xml b/resources/templates/conf/languages/sv/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/sv/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/tr/tr.xml b/resources/templates/conf/languages/tr/tr.xml index affa2b63c9..7334d71996 100644 --- a/resources/templates/conf/languages/tr/tr.xml +++ b/resources/templates/conf/languages/tr/tr.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/tr/vm/voicemail.xml b/resources/templates/conf/languages/tr/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/tr/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/languages/uk/uk.xml b/resources/templates/conf/languages/uk/uk.xml index 9f405558d7..2225209b61 100644 --- a/resources/templates/conf/languages/uk/uk.xml +++ b/resources/templates/conf/languages/uk/uk.xml @@ -4,7 +4,7 @@ - + diff --git a/resources/templates/conf/languages/uk/vm/voicemail.xml b/resources/templates/conf/languages/uk/vm/voicemail.xml new file mode 100644 index 0000000000..a44695c05d --- /dev/null +++ b/resources/templates/conf/languages/uk/vm/voicemail.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/templates/conf/sip_profiles/external.xml.noload b/resources/templates/conf/sip_profiles/external.xml.noload index 0fc85450bc..23f80d382e 100644 --- a/resources/templates/conf/sip_profiles/external.xml.noload +++ b/resources/templates/conf/sip_profiles/external.xml.noload @@ -26,7 +26,7 @@ - + @@ -84,7 +84,7 @@ - + diff --git a/resources/templates/conf/sip_profiles/internal.xml.noload b/resources/templates/conf/sip_profiles/internal.xml.noload index 96b60b5538..560acc671d 100644 --- a/resources/templates/conf/sip_profiles/internal.xml.noload +++ b/resources/templates/conf/sip_profiles/internal.xml.noload @@ -79,7 +79,7 @@ - + @@ -176,7 +176,7 @@ - + diff --git a/resources/templates/provision/cisco/spa191/{$mac}.xml b/resources/templates/provision/cisco/spa191/{$mac}.xml new file mode 100644 index 0000000000..7638a0506f --- /dev/null +++ b/resources/templates/provision/cisco/spa191/{$mac}.xml @@ -0,0 +1,965 @@ + + + + + + + +3 + + +No + +Parametersfor ProvisioningTab + +Yes +Yes +2 + +0 +0 +30 +20 +Yes +Yes + + +Yes + +[--uid {$http_auth_username} --pwd {$http_auth_password}]http://{$domain_name}{$project_path}/app/provision/?mac=$MA +{else} +http://{$domain_name}{$project_path}/app/provision/?mac=$MA +{/if} + + + + +HTTP +$PN $MAC -- Requesting resync $SCHEME://$SERVIP:$PORT$PATH +$PN $MAC -- Successful resync $SCHEME://$SERVIP:$PORT$PATH +$PN $MAC -- Resync failed: $ERR + + + + +Yes +3600 + + +$PN $MAC -- Requesting upgrade $SCHEME://$SERVIP:$PORT$PATH +$PN $MAC -- Successful upgrade $SCHEME://$SERVIP:$PORT$PATH -- $ERR +$PN $MAC -- Upgrade failed: $ERR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +70 +5 +2 +$VERSION +$VERSION + + + +application/dtmf-relay +application/hook-flash +Yes +No +No +Yes +Yes +ptime +5060 +5090 +No +No +PAID-RPID-FROM + + +.5 +4 +5 +32 +16 +32 +32 +32 +240 +30 +1 +7200 +30 +1200 +0 +0 +0 + + + + + + + + + + +16384 +32768 +0.020 +Yes +0 +0 +No +Yes + + +100 +101 + +2 +112 +113 +G711u +NSE +telephone-event +PCMU +PCMA +G726-32 +G729a +encaprtp + + +No +No +No +No +No +No +No +No + + + +15 +No + + + +Yes + + +No +30 + + + +Yes +Yes +$NOTIFY +$PROXY + + +0x68 +3 +0xb8 +6 +high +Yes + + +UDP +5060 +No + +Yes + +Yes +No +0 +No +4 +0 +0 +No +No +No +No +Yes +No +No + + +No + +Yes + +3 +No + + +No + + +{$domain_name} +{$account.1.outbound_proxy_primary} +{if isset ($account.1.outbound_proxy_primary)}Yes{else}No{/if} +Yes + +Yes +No +{$account.1.register_expires} +No +Yes +Yes +3600 +Normal + + +No + + +{$account.1.display_name} +{$account.1.user_id} +{$account.1.password} +No + + + + + +{$spa_call_waiting} +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +No +Yes +Yes + + +G711u +Unspecified +Unspecified +Yes +Default +Yes +No +Yes +medium +Yes +Yes +Yes +G711u +Yes +Yes +ReINVITE +Yes +Yes +Auto +No +Strict +70 +Yes +None +1 +Yes +caller or callee +No +No +No +No + + +{$spa_dial_plan} + + +Forward +Forward +Forward + + + + +Yes + + +No +30 + + + +Yes +Yes +$NOTIFY +$PROXY + + +0x68 +3 +0xb8 +6 +high +Yes + + +UDP +5061 +No + +Yes + +Yes +No +0 +No +4 +0 +0 +No +No +No +No +Yes +No +No + + +No + +Yes + +3 +No + + +No + + +{$domain_name} +{$account.2.outbound_proxy_primary} +{if isset ($account.2.outbound_proxy_primary)}Yes{else}No{/if} +Yes + +Yes +No +{$account.2.register_expires} +No +Yes +Yes +3600 +Normal + + +No + + +{$account.2.display_name} +{$account.2.user_id} +{$account.2.password} +No + + + + + +{$spa_call_waiting} +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +No +Yes +Yes + + +G711u +Unspecified +Unspecified +Yes +Default +Yes +No +Yes +medium +Yes +Yes +Yes +G711u +Yes +Yes +ReINVITE +Yes +Yes +Auto +No +Strict +70 +Yes +None +1 +Yes +caller or callee +No +No +No +No + + +{$spa_dial_plan} + + +Forward +Forward +Forward + + + + + + + +20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Yes +No +No +No +Yes +Yes +Yes +No +No +automatic +source +media +Yes + + + + + + + + + + + + +1 +1 +8 +7 +0 +0 +New VM Available +0 +No + + + + + + +20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Yes +No +No +No +Yes +Yes +Yes +No +No +automatic +source +media +Yes + + + + + + + + + + + + +1 +1 +8 +7 +0 +0 +New VM Available +0 +No + + + +350@-19,440@-19;10(*/0/1+2) +420@-19,520@-19;10(*/0/1+2) +420@-16;10(*/0/1) +520@-19,620@-19;10(*/0/1+2) +480@-19,620@-19;10(.5/.5/1+2) +480@-19,620@-19;10(.25/.25/1+2) +480@-10,620@0;10(.125/.125/1+2) +440@-19,480@-19;*(2/4/1+2) +440@-19,480@-19;*(1/1/1+2) +600@-16;1(.25/.25/1) +985@-16,1428@-16,1777@-16;20(.380/0/1,.380/0/2,.380/0/3,0/4/0) +914@-16,1371@-16,1777@-16;20(.274/0/1,.274/0/2,.380/0/3,0/4/0) +914@-16,1371@-16,1777@-16;20(.380/0/1,.380/0/2,.380/0/3,0/4/0) +985@-16,1371@-16,1777@-16;20(.380/0/1,.274/0/2,.380/0/3,0/4/0) +350@-19,440@-19;2(.1/.1/1+2);10(*/0/1+2) +350@-19,440@-19;2(.2/.2/1+2);10(*/0/1+2) +600@-19;*(.1/.1/1,.1/.1/1,.1/9.5/1) +350@-19;20(.1/.1/1,.1/9.7/1) +397@-19,507@-19;15(0/2/0,.2/.1/1,.1/2.1/2) +350@-16;*(.1/.1/1) + + + +60(2/4) +60(.8/.4,.8/4) +60(.4/.2,.4/.2,.8/4) +60(.3/.2,1/.2,.3/4) +1(.5/.5) +60(.2/.4,.2/.4,.2/4) +60(.4/.2,.4/.2,.4/4) +60(0.25/9.75) + + +*(.3/9.7) +30(.1/.1,.1/9.7) +30(.1/.1,.1/.1,.1/9.7) +30(.1/.1,.3/.1,.1/9.3) +1(.5/.5) +30(.1/.1,.3/.2,.3/9.1) +30(.3/.1,.3/.1,.1/9.1) +2.3(.3/2) + + +Bellcore-r1 +Bellcore-r2 +Bellcore-r3 +Bellcore-r4 +Bellcore-r5 +Bellcore-r6 +Bellcore-r7 +Bellcore-r8 + + +Trapezoid +20 +85 +440@-10 +No + + +.1 +.9 +0 +5 +1800 +30 +.5 +0 +10 +3 +2 +.5 + + +*69 +*07 +*98 +*66 +*86 +*05 +*72 +*73 +*90 +*91 +*92 +*93 +*63 +*83 +*60 +*80 +*64 +*84 +*56 +*57 +*71 +*70 +*67 +*68 +*81 +*82 +*77 +*87 +*78 +*79 +*65 +*85 +*25 +*45 +*26 +*46 +*74 +*96 +*16 +*17 +*18 +*19 + + +*99 +#99 +*03 + + + + + + + + +*017110 +*027110 +*017111 +*027111 +*0172632 +*0272632 +*01729 +*02729 + + +600 +-3 +-3 +-16 +2 +.1 +Yes +Yes +Bellcore(N.Amer,China) +bell 202 +Default + + + + +No +2 + + +0 +0 +0 + + +dh +0 +0 +0.0.0.0:0.0.0.0:0.0.0.0 +0 +0 + + + +0:5:30 +0 +0 + + +1 +0 + +64 + + + +1 +auto + + +0 + + + +ATA192-MPP + +2 + +2 + + + + +1 +192.168.15.1 +255.255.255.0 + +0 +0.0.0.0 + + + +1 +192.168.15.100 +50 +0 +8.8.4.4 +192.168.15.1 + + + +0 +0 +2001:: + + +0 +3 + + +1 +1 +0 + + + + + + + + +0 +0.0.0.0/0.0.0.0 +:: +0 +public +private +0 +v3rwuser +MD5 + +DES + +192.168.15.100 +162 +v1 + + +{$spa_time_zone} +1 +auto +0.ca.pool.ntp.org +3600 +0 +1 + + + + +0 +0.0.0.0 + +1 + +1 +1 +1 +0 + +1 +1 +1 + + +1 +1 +0 +0 +0 +0 +1 +0.0.0.0 +80 + + +0 + + + + + + +86400 +1 +0 + + +0 +200 + + +514 + +514 +15 + +0 +0 + +admin + +cisco + + +0 + + + + + diff --git a/resources/templates/provision/cisco/spa192/{$mac}.xml b/resources/templates/provision/cisco/spa192/{$mac}.xml new file mode 100644 index 0000000000..7638a0506f --- /dev/null +++ b/resources/templates/provision/cisco/spa192/{$mac}.xml @@ -0,0 +1,965 @@ + + + + + + + +3 + + +No + +Parametersfor ProvisioningTab + +Yes +Yes +2 + +0 +0 +30 +20 +Yes +Yes + + +Yes + +[--uid {$http_auth_username} --pwd {$http_auth_password}]http://{$domain_name}{$project_path}/app/provision/?mac=$MA +{else} +http://{$domain_name}{$project_path}/app/provision/?mac=$MA +{/if} + + + + +HTTP +$PN $MAC -- Requesting resync $SCHEME://$SERVIP:$PORT$PATH +$PN $MAC -- Successful resync $SCHEME://$SERVIP:$PORT$PATH +$PN $MAC -- Resync failed: $ERR + + + + +Yes +3600 + + +$PN $MAC -- Requesting upgrade $SCHEME://$SERVIP:$PORT$PATH +$PN $MAC -- Successful upgrade $SCHEME://$SERVIP:$PORT$PATH -- $ERR +$PN $MAC -- Upgrade failed: $ERR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +70 +5 +2 +$VERSION +$VERSION + + + +application/dtmf-relay +application/hook-flash +Yes +No +No +Yes +Yes +ptime +5060 +5090 +No +No +PAID-RPID-FROM + + +.5 +4 +5 +32 +16 +32 +32 +32 +240 +30 +1 +7200 +30 +1200 +0 +0 +0 + + + + + + + + + + +16384 +32768 +0.020 +Yes +0 +0 +No +Yes + + +100 +101 + +2 +112 +113 +G711u +NSE +telephone-event +PCMU +PCMA +G726-32 +G729a +encaprtp + + +No +No +No +No +No +No +No +No + + + +15 +No + + + +Yes + + +No +30 + + + +Yes +Yes +$NOTIFY +$PROXY + + +0x68 +3 +0xb8 +6 +high +Yes + + +UDP +5060 +No + +Yes + +Yes +No +0 +No +4 +0 +0 +No +No +No +No +Yes +No +No + + +No + +Yes + +3 +No + + +No + + +{$domain_name} +{$account.1.outbound_proxy_primary} +{if isset ($account.1.outbound_proxy_primary)}Yes{else}No{/if} +Yes + +Yes +No +{$account.1.register_expires} +No +Yes +Yes +3600 +Normal + + +No + + +{$account.1.display_name} +{$account.1.user_id} +{$account.1.password} +No + + + + + +{$spa_call_waiting} +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +No +Yes +Yes + + +G711u +Unspecified +Unspecified +Yes +Default +Yes +No +Yes +medium +Yes +Yes +Yes +G711u +Yes +Yes +ReINVITE +Yes +Yes +Auto +No +Strict +70 +Yes +None +1 +Yes +caller or callee +No +No +No +No + + +{$spa_dial_plan} + + +Forward +Forward +Forward + + + + +Yes + + +No +30 + + + +Yes +Yes +$NOTIFY +$PROXY + + +0x68 +3 +0xb8 +6 +high +Yes + + +UDP +5061 +No + +Yes + +Yes +No +0 +No +4 +0 +0 +No +No +No +No +Yes +No +No + + +No + +Yes + +3 +No + + +No + + +{$domain_name} +{$account.2.outbound_proxy_primary} +{if isset ($account.2.outbound_proxy_primary)}Yes{else}No{/if} +Yes + +Yes +No +{$account.2.register_expires} +No +Yes +Yes +3600 +Normal + + +No + + +{$account.2.display_name} +{$account.2.user_id} +{$account.2.password} +No + + + + + +{$spa_call_waiting} +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +Yes +No +Yes +Yes + + +G711u +Unspecified +Unspecified +Yes +Default +Yes +No +Yes +medium +Yes +Yes +Yes +G711u +Yes +Yes +ReINVITE +Yes +Yes +Auto +No +Strict +70 +Yes +None +1 +Yes +caller or callee +No +No +No +No + + +{$spa_dial_plan} + + +Forward +Forward +Forward + + + + + + + +20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Yes +No +No +No +Yes +Yes +Yes +No +No +automatic +source +media +Yes + + + + + + + + + + + + +1 +1 +8 +7 +0 +0 +New VM Available +0 +No + + + + + + +20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Yes +No +No +No +Yes +Yes +Yes +No +No +automatic +source +media +Yes + + + + + + + + + + + + +1 +1 +8 +7 +0 +0 +New VM Available +0 +No + + + +350@-19,440@-19;10(*/0/1+2) +420@-19,520@-19;10(*/0/1+2) +420@-16;10(*/0/1) +520@-19,620@-19;10(*/0/1+2) +480@-19,620@-19;10(.5/.5/1+2) +480@-19,620@-19;10(.25/.25/1+2) +480@-10,620@0;10(.125/.125/1+2) +440@-19,480@-19;*(2/4/1+2) +440@-19,480@-19;*(1/1/1+2) +600@-16;1(.25/.25/1) +985@-16,1428@-16,1777@-16;20(.380/0/1,.380/0/2,.380/0/3,0/4/0) +914@-16,1371@-16,1777@-16;20(.274/0/1,.274/0/2,.380/0/3,0/4/0) +914@-16,1371@-16,1777@-16;20(.380/0/1,.380/0/2,.380/0/3,0/4/0) +985@-16,1371@-16,1777@-16;20(.380/0/1,.274/0/2,.380/0/3,0/4/0) +350@-19,440@-19;2(.1/.1/1+2);10(*/0/1+2) +350@-19,440@-19;2(.2/.2/1+2);10(*/0/1+2) +600@-19;*(.1/.1/1,.1/.1/1,.1/9.5/1) +350@-19;20(.1/.1/1,.1/9.7/1) +397@-19,507@-19;15(0/2/0,.2/.1/1,.1/2.1/2) +350@-16;*(.1/.1/1) + + + +60(2/4) +60(.8/.4,.8/4) +60(.4/.2,.4/.2,.8/4) +60(.3/.2,1/.2,.3/4) +1(.5/.5) +60(.2/.4,.2/.4,.2/4) +60(.4/.2,.4/.2,.4/4) +60(0.25/9.75) + + +*(.3/9.7) +30(.1/.1,.1/9.7) +30(.1/.1,.1/.1,.1/9.7) +30(.1/.1,.3/.1,.1/9.3) +1(.5/.5) +30(.1/.1,.3/.2,.3/9.1) +30(.3/.1,.3/.1,.1/9.1) +2.3(.3/2) + + +Bellcore-r1 +Bellcore-r2 +Bellcore-r3 +Bellcore-r4 +Bellcore-r5 +Bellcore-r6 +Bellcore-r7 +Bellcore-r8 + + +Trapezoid +20 +85 +440@-10 +No + + +.1 +.9 +0 +5 +1800 +30 +.5 +0 +10 +3 +2 +.5 + + +*69 +*07 +*98 +*66 +*86 +*05 +*72 +*73 +*90 +*91 +*92 +*93 +*63 +*83 +*60 +*80 +*64 +*84 +*56 +*57 +*71 +*70 +*67 +*68 +*81 +*82 +*77 +*87 +*78 +*79 +*65 +*85 +*25 +*45 +*26 +*46 +*74 +*96 +*16 +*17 +*18 +*19 + + +*99 +#99 +*03 + + + + + + + + +*017110 +*027110 +*017111 +*027111 +*0172632 +*0272632 +*01729 +*02729 + + +600 +-3 +-3 +-16 +2 +.1 +Yes +Yes +Bellcore(N.Amer,China) +bell 202 +Default + + + + +No +2 + + +0 +0 +0 + + +dh +0 +0 +0.0.0.0:0.0.0.0:0.0.0.0 +0 +0 + + + +0:5:30 +0 +0 + + +1 +0 + +64 + + + +1 +auto + + +0 + + + +ATA192-MPP + +2 + +2 + + + + +1 +192.168.15.1 +255.255.255.0 + +0 +0.0.0.0 + + + +1 +192.168.15.100 +50 +0 +8.8.4.4 +192.168.15.1 + + + +0 +0 +2001:: + + +0 +3 + + +1 +1 +0 + + + + + + + + +0 +0.0.0.0/0.0.0.0 +:: +0 +public +private +0 +v3rwuser +MD5 + +DES + +192.168.15.100 +162 +v1 + + +{$spa_time_zone} +1 +auto +0.ca.pool.ntp.org +3600 +0 +1 + + + + +0 +0.0.0.0 + +1 + +1 +1 +1 +0 + +1 +1 +1 + + +1 +1 +0 +0 +0 +0 +1 +0.0.0.0 +80 + + +0 + + + + + + +86400 +1 +0 + + +0 +200 + + +514 + +514 +15 + +0 +0 + +admin + +cisco + + +0 + + + + + diff --git a/resources/templates/provision/fanvil/h5/{$mac}.cfg b/resources/templates/provision/fanvil/h5/{$mac}.cfg new file mode 100644 index 0000000000..2a4d81a9c6 --- /dev/null +++ b/resources/templates/provision/fanvil/h5/{$mac}.cfg @@ -0,0 +1,1254 @@ + + +2.0002 + +DHCP + + + +{if isset($dns_server_primary)}{$dns_server_primary}{else}9.9.9.9{/if} +{if isset($dns_server_secondary)}{$dns_server_secondary}{else}8.8.8.8{/if} +1 +0 +Fanvil H5 +1 +0 +1 +2 +0 +10000 +200 +{$ntp_server_primary} +{$ntp_server_secondary} +1 +{$fanvil_time_zone} +{$fanvil_location} +{$fanvil_time_zone_name} +{$fanvil_enable_dst} + +2 +60 +60 +3 +5 +0 +2 +10 +5 +0 +2 +0 + +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{$fanvil_hotel_name} +{$fanvil_hotel_floor_number} +{$fanvil_hotel_room_number} +0 +{$fanvil_hotel_address} +2 +2 +{$fanvil_hotel_tel_number} +2 +2 +{$fanvil_hotel_first_text} +2 +{$fanvil_hotel_second_text} +2 +{$fanvil_hotel_third_text} +2 +{$fanvil_hotel_fourth_text} +2 +2 +1 + +0 + + +1 +1 +0 +1 +0 +0 +0 +11 +1 +5 +0 +. +0 + + +P1 +0 +0 +0 +0 +0 +1 +0 +0 +1 +1 +1 +1 +1 +0 +20 +0 + +0 +0 +1 +3 +1 +2 +3 +5 +0 +1 +0 +1 +1 +0 +10 +10 +0 +0 +1 +1 +0 +0 + +1 +1 +1 +0 + + + +0 +0 + + + + + + +0 + + +11 +1 +2 +120 +0 +1 +1 +0 +0 +0 +101 +0 +0 +3 +7 +3 +0 +0 +5000 + + +P1 +5 +3 +5 +0 +0 +5 +5 +5 +G722/8000 +PCMA/8000 +PCMU/8000 +G729/8000 + + + + + + +Alert1 + +1 + + +Alert2 + +2 + + +Alert3 + +3 + + +Alert4 + +4 + + +Alert5 + +5 + + +Alert6 + +6 + + +Alert7 + +7 + + +Alert8 + +8 + + +Alert9 + +9 + + +Alert10 + +1 + + + + +5060 + +3478 +50 +800 + +32 +0 +0 +0 +1 +1 +0 +0 +1 +1 +0 +0 +500 +4000 +5000 + + +SIP1 +{$account.1.user_id} +{$account.1.display_name} +{$fanvil_server_name} +{$account.1.server_address} +{$account.1.sip_port} +{$account.1.auth_id} +{$account.1.password} +{$account.1.register_expires} + + +5060 +0 +3600 +0 + +{if isset($account.1.password)}1{else}0{/if} + +{$account.1.outbound_proxy_primary} +{$account.1.sip_port} +{$account.1.auth_id} +{$account.1.password} +{$account.1.outbound_proxy_secondary} +{$account.1.sip_port} +1 +1 +1800 +0 +3 +0 +0 +0 + +0 +0 +0 + + + +5 +0 + +0 +0 + + +2 +30 +0 + +1 +0 +0 +0 +0 +3 +0 +0 +1 +1 +3600 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +5060 + +{if $account.1.sip_transport == 'udp'}0{/if} +{if $account.1.sip_transport == 'tcp'}1{/if} +{if $account.1.sip_transport == 'tls'}2{/if} +{if $account.1.sip_transport == 'dns srv'}1{/if} +{if $account.1.sip_transport == 'dns srv'}1{/if} + +1 +0 +0 +0 + +0 +0 +1 +0 + + + + +1 +0 +5 +1 +0 + + + + + + + + + + + + + + +G722,G711U,G711A,G729,G726-32,G723 + + +0 +0 +4 +0 +1 +0 +1 +0 +0 +0 +0 +0 + +0 +1 +0 +0 +0 +0 + + +1 +0 +0 +1 +0 + + +SIP2 +{$account.2.user_id} +{$account.2.display_name} +{$fanvil_server_name} +{$account.2.server_address} +{$account.2.sip_port} +{$account.2.auth_id} +{$account.2.password} +{$account.2.register_expires} + + +5060 +0 +3600 +0 + +{if isset($account.2.password)}1{else}0{/if} + +{$account.2.outbound_proxy_primary} +{$account.2.sip_port} +{$account.2.auth_id} +{$account.2.password} +{$account.2.outbound_proxy_secondary} +{$account.2.sip_port} +1 + +1 +1800 +0 +3 +0 +0 +0 + +0 +0 +0 + + + +5 +0 + +0 +0 + + +2 +30 +0 + +1 +0 +0 +0 +0 +3 +0 +0 +1 +0 +3600 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +5060 + +{if $account.2.sip_transport == 'udp'}0{/if} +{if $account.2.sip_transport == 'tcp'}1{/if} +{if $account.2.sip_transport == 'tls'}2{/if} +{if $account.2.sip_transport == 'dns srv'}1{/if} +{if $account.2.sip_transport == 'dns srv'}1{/if} + +1 +0 +0 +0 + +0 +0 +1 +0 + + + + +1 +0 +5 +1 +0 + + + + + + + + + + + + + + +G722,G711U,G711A,G729,G726-32,G723 + + +0 +0 +4 +0 +1 +0 +1 +0 +0 +0 +0 +0 + +0 +1 +0 +0 +0 +0 + + +1 +0 +0 +1 +0 + + + + +0 +0 +1 + + +MCAST1 +0 + + + + +MCAST2 +0 + + + + +MCAST3 +0 + + + + +MCAST4 +0 + + + + +MCAST5 +0 + + + + +MCAST6 +0 + + + + +MCAST7 +0 + + + + +MCAST8 +0 + + + + +MCAST9 +0 + + + + +MCAST10 +0 + + + + + + +user123 +password + + + + +80 +0 +443 +0 +0 +0 + + +Account1 +admin +admin +10 + + +Account2 +guest +guest +5 + + + + +0 +1 +1 +60 +1 +1 +60 +46 +46 +256 +0 +0 +0 +1 +1 +254 +132 + + +0 +0 +0 +1 +0 + + +0 +0.0.0.0 +514 + + +0 +0 + + +123 +123 + +0 +0 +{$fanvil_emergency_number} +{$fanvil_greeting} +5 +{$fanvil_hotel_lcd} +30 +0 +0 +0 +0 +3 +0 +0 +0 +1 +0 + +{if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} + +0 +H5 +1 +0 +0 +0 +1 +{$fanvil_date_display} +0 +0 +1 +1 +2 +1 +1 +0 +0 +0 +2 +0 +1 +0 +0 +1 +1 + + + +0 +0 + + + +BWCLog1 + + + + +0 + + +BWCLog2 + + + + +0 + + +BWCLog3 + + + + +0 + + + + +BWDir1 + + + + +0 + + +BWDir2 + + + + +0 + + +BWDir3 + + + + +0 + + +BWDir4 + + + + +0 + + +BWDir5 + + + + +0 + + +BWDir6 + + + + +0 + + + + +LDAP1 + + +389 +0 +3 +0 +0 +0 + + + +telephoneNumber +mobile +home +cn + + + + +LDAP2 + + +389 +0 +3 +0 +0 +0 + + + +telephoneNumber +mobile +home +cn + + + + +LDAP3 + + +389 +0 +3 +0 +0 +0 + + + +telephoneNumber +mobile +home +cn + + + + +LDAP4 + + +389 +0 +3 +0 +0 +0 + + + +telephoneNumber +mobile +home +cn + + + + + + +XML-PBook1 + + + +0 +0 +0 + + +XML-PBook2 + + + +0 +0 +0 + + +XML-PBook3 + + + +0 +0 +0 + + +XML-PBook4 + + + +0 +0 +0 + + +XML-PBook5 + + + +0 +0 +0 + + +XML-PBook6 + + + +0 +0 +0 + + +XML-PBook7 + + + +0 +0 +0 + + +XML-PBook8 + + + +0 +0 +0 + + + + + + +{foreach $keys["memory"] as $row} +{if $row.device_key_id <= 15} + + +Fkey{$row.device_key_id} +{if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} +{if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} +{$row.device_key_label} + + +{/if} +{/foreach} + + + +Fkey1 +1 + +Reception + + +Fkey2 +1 + +Service + + +Fkey3 +1 + +Cleaning + + +Fkey4 +1 + +WakeUp + + +Fkey5 +1 + +Emergency + + +Fkey6 +1 + +Manager + + + + + + +SoftFkey1 +0 + + + + +SoftFkey2 +0 + + + + +SoftFkey3 +0 + + + + +SoftFkey4 +0 + + + + +SoftFkey5 +0 + + + + +SoftFkey6 +0 + + + + +SoftFkey7 +0 + + + + +SoftFkey8 +0 + + + + +SoftFkey9 +0 + + + + +SoftFkey10 +0 + + + + +title:0xFFFFFF@ welcome:0x333333$0xFFFFFF@ soft:0xFFFFFF@ list:0x444343 + + +0x00$0xa9c1c9 + +0x00$0x786d7e + +0x00$0x808080 +0 +0 +0 +1 +0 +0 +1 + + + +1 + + +history;contact;dnd;menu; +hold;xfer;conf;end; +accept;none;cfwd;reject; +none;none;none;end; +xfer;none;none;end; +hold;none;split;end; +xfer;accept;reject;end; +repeat;none;none;end; +delete;save;send;exit; +delete;history;send;exit; +delete;xfer;send;exit; +delete;none;cfwd;exit; +history;status;paccout;naccout;menu; +pline;nline;none;none;none; +pcall;ncall;voldown;volup;none; +status;none;none;sdial;reset; +1 +1 + + +0 +1 +0 +224.0.2.0 +16360 +16360 +SIP Hotspot + + +HS1 +1 + + +HS2 +1 + + + + +{$http_auth_username} +{$http_auth_password} + +0 + + + +https://{$domain_name}/app/provision +5 +1 +1 +66 +0 +0 +1 +224.0.1.75 +5060 +0 +1 +1 +1 +1 +5 +720 +0 +0 +1 +0 +0 + + +24 + + +2 + + + +1 +0 +0.0.0.0 +80 +VPN +12345 + + +admin +admin +0 + +1 + + +1 +0.0.0.0 +admin +admin +dps +dps + + + + + +0 +0 +0 +0 +0 +0 +2 +3600 +020 +0 +0.0.0.0 +3478 +30000 +50 +3 + + diff --git a/resources/templates/provision/fanvil/x1sp/{$mac}.cfg b/resources/templates/provision/fanvil/x1sp/{$mac}.cfg new file mode 100644 index 0000000000..d8ec9fc4a7 --- /dev/null +++ b/resources/templates/provision/fanvil/x1sp/{$mac}.cfg @@ -0,0 +1,1273 @@ + + + 2.0000000000 + + 0 + 192.168.1.179 + 255.255.255.0 + 192.168.1.1 + + {if isset($dns_server_primary)}{$dns_server_primary}{else}9.9.9.9{/if} + {if isset($dns_server_secondary)}{$dns_server_secondary}{else}208.67.222.222{/if} + 1 + 1 + 1 + 1 + 0 + Fanvil X1S/X1SP + 0 + user123 + password + 2 + 1500 + + + + + + + 1 + 1 + 0 + 0 + Fanvil X1S/X1SP + + + + + + + + + + + + + + + + + + + + {if isset($fanvil_country_toneset)}{$fanvil_country_toneset}{else}11{/if} + + + + + + + + + + + + + + + + + + + + PCMU,PCMA,G726-16,G726-24,G726-32,G726-40,G729,iLBC,opus,G722 + + + + {$sip_port} + {$fanvil_stun_server} + {$fanvil_stun_port} + 50 + 800 + + 32 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + {$account.1.user_id} + {$account.1.display_name} + + {$account.1.server_address} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.register_expires} + + 5060 + 0 + 3600 + {if isset($account.1.password)}1{else}0{/if} + {$account.1.outbound_proxy_primary} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.outbound_proxy_secondary} + {$account.1.sip_port} + {if isset($account.1.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line1)}{$fanvil_ringtone_line1}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.1.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.1.sip_transport == 'udp'}0{/if} + {if $account.1.sip_transport == 'tcp'}1{/if} + {if $account.1.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + *97 + + + + + + 0 + 0 + 5 + 1 + + 1 + *78 + *79 + *72 + *73 + *72 + *73 + *72 + *73 + + + *67 + *67 + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 2 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + 0 + + + {$account.2.user_id} + {$account.2.display_name} + + {$account.2.server_address} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.register_expires} + + 5060 + 0 + 3600 + {if isset($account.2.password)}1{else}0{/if} + {$account.2.outbound_proxy_primary} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.outbound_proxy_secondary} + {$account.2.sip_port} + {if isset($account.2.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line2)}{$fanvil_ringtone_line2}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.2.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.2.sip_transport == 'udp'}0{/if} + {if $account.2.sip_transport == 'tcp'}1{/if} + {if $account.2.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + *97 + + + + + + 0 + 0 + 5 + 1 + + 1 + *78 + *79 + *72 + *73 + *72 + *73 + *72 + *73 + + + *67 + *67 + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 2 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + 0 + + + 0 + 30 + 1 + 0 + 0 + 0 + + + + + 1 + 1 + 0 + . + 1 + 0 + 0 + 1500 + 1730 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 3 + 1 + 0 + 1 + 0 + 0 + 0 + 30 + 5 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + + 1 + 1 + 0 + 0 + 0 + {$fanvil_default_answer_mode} + {$fanvil_default_dial_mode} + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 480 + 486 + 603 + 0 + 0 + + + 0 + + + + + 0 + + 0 + 120 + + + 1 + 0 + 0 + 0 + 0 + 0 + 11 + 1 + 10 + 0 + + + + -1 + {if isset($fanvil_default_ringtone_ext)}{$fanvil_default_ringtone_ext}{else}Type 1{/if} + + + + -1 + {if isset($fanvil_default_ringtone_ext2)}{$fanvil_default_ringtone_ext2}{else}Type 1{/if} + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + {if isset($fanvil_menu_password)}{$fanvil_menu_password}{else}123{/if} + 123 + + 0 + 0 + 0 + 110 + + 0 + 0 + 0 + 5 + 0 + 1 + 1 + $name@$protocol$instance + 0 + 0 + 1 + 1 + 30 + + 0 + + {$fanvil_greeting} + 5 + {if isset($fanvil_display_brightness_inactive)}{$fanvil_display_brightness_inactive}{else}4{/if} + {if isset($fanvil_display_brightness_active)}{$fanvil_display_brightness_active}{else}12{/if} + {if isset($fanvil_display_inactivity_time)}{$fanvil_display_inactivity_time}{else}45{/if} + 0 + + dvf97 + en + 0 + + + 0 + 3 + 0 + 2 + 0 + 0 + 3 + + + 0 + 1 + + + 0 + 1 + terminated + 1 + 2 + early + 1 + 0 + + 1 + 1 + confirmed + 1 + 0 + + 0 + 0 + failed + 0 + 3 + parked + + + + + + + + + + + {if isset($fanvil_default_ringtone)}{$fanvil_default_ringtone}{else}Type 1{/if} + + + {if isset($fanvil_enable_sntp)}{$fanvil_enable_sntp}{else}1{/if} + {$ntp_server_primary} + {$ntp_server_secondary} + {$fanvil_time_zone} + {$fanvil_time_zone_name} + {$fanvil_enable_dst} + {if isset($fanvil_dst_fixed_type)}{$fanvil_dst_fixed_type}{else}0{/if} + 60 + 1 + {if isset($fanvil_location)}{$fanvil_location}{else}4{/if} + 0 + {if isset($fanvil_dst_minute_offset)}{$fanvil_dst_minute_offset}{else}60{/if} + 3 + 5 + 0 + 2 + 10 + 5 + 0 + 2 + + + 0 + {if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} + {if isset($fanvil_date_display)}{$fanvil_date_display}{else}6{/if} + {if isset($fanvil_date_separator)}{$fanvil_date_separator}{else}0{/if} + + + 0 + {if isset($fanvil_softkey_exit)}{$fanvil_softkey_exit}{else}2{/if} + {if isset($fanvil_softkey_desktopsoftkey)}{$fanvil_softkey_desktopsoftkey}{else}history;contact;dnd;menu;{/if} + {if isset($fanvil_softkey_talkingsoftkey)}{$fanvil_softkey_talkingsoftkey}{else}hold;xfer;conf;end;{/if} + {if isset($fanvil_softkey_ringingsoftkey)}{$fanvil_softkey_ringingsoftkey}{else}accept;none;forward;reject;{/if} + end;none;none;none; + end;none;none;xfer; + hold;none;split;end; + xfer;accept;reject;end; + repeat;none;none;end; + send;2aB;delete;exit; + send;2aB;delete;exit; + delete;xfer;send;exit; + send;2aB;delete;exit; + {if isset($fanvil_softkey_desktopclick)}{$fanvil_softkey_desktopclick}{else}history;status;none;none;none;{/if} + pline;nline;none;none;none; + none;none;none;none;none; + none;none;none;none;none; + status;none;none;none;reset; + contact;clogs;redial;video;cancel; + + + + + + 0 + 0 + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + 120 + 0 + 2 + 6 + + + 1 + 1 + 60 + 40 + 25 + 150 + 200 + 1 + 1 + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0000000000000000 + + + 0 + 0 + 0 + 0 + 1 + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + 60 + + + + 0 + 3 + 1 + 1 + 0 + 0 + 0 + 16 + 360 + 1080 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + {foreach $keys["line"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/foreach} + + {foreach $keys["programmable"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + + {/foreach} + + + 0 + 80 + 443 + 1 + 0 + 0 + 0 + 23 + + 15 + + {if isset($admin_name)}{$admin_name}{else}admin{/if} + {if isset($admin_password)}{$admin_password}{else}admin{/if} + 10 + + + guest + guest + 5 + + + + ERROR + + {if $fanvil_syslog_enable == '1'},syslog{else}stdout{/if} + platform.log + 512KB + platform + {if isset($fanvil_syslog_server)}{$fanvil_syslog_server}{else}0.0.0.0{/if} + {if isset($fanvil_syslog_server_port)}{$fanvil_syslog_server_port}{else}514{/if} + + + 1 + 00100400FV02001000000c383e415bb3 + 1 + 0 + 0.0.0.0 + admin + + 0.0.0.0 + + + dps + dps + 3600 + 2 + 020 + 0 + {$fanvil_stun_server} + {$fanvil_stun_port} + 30000 + + + 0 + 1 + 0 + 224.0.2.0 + 16360 + SIP Hotspot + 0 + 1 + 0 + + 1 + + + + 1 + + + + + -1 + 0 + 0 + 0 + 0.0.0.0 + + + 1 + 0.0.0.0 + + + + + 0 + 0 + + + {$http_auth_username} + {$http_auth_password} + + + + 1 + 0 + 5 + {if isset($fanvil_provision_url)}{$fanvil_provision_url}{else}https://{$domain_name}/app/provision{/if} + {$fanvil_firmware_config} + 5 + 1 + 1 + 720 + 0 + + 1 + 224.0.1.75 + 5060 + 0 + 1 + + + 66 + 0 + 0 + + + + {if isset($fanvil_enable_auto_upgrade)}{$fanvil_enable_auto_upgrade}{else}0{/if} + {if isset($fanvil_firmware_upgrade_server_1)}{$fanvil_firmware_upgrade_server_1}{else}{/if} + {if isset($fanvil_firmware_upgrade_server_2)}{$fanvil_firmware_upgrade_server_2}{else}{/if} + {if isset($fanvil_firmware_upgrade_interval)}{$fanvil_firmware_upgrade_interval}{else}24{/if} + + + {if isset($fanvil_enable_vlan)}{$fanvil_enable_vlan}{else}0{/if} + {if isset($fanvil_lan_port_vlan)}{$fanvil_lan_port_vlan}{else}256{/if} + {if isset($fanvil_pc_port_vlan)}2{else}0{/if} + {if isset($fanvil_pc_port_vlan)}{$fanvil_pc_port_vlan}{else}254{/if} + {if isset($fanvil_qos_sip)}{$fanvil_qos_sip}{else}0{/if} + {if isset($fanvil_qos_rtp_voice)}{$fanvil_qos_rtp_voice}{else}0{/if} + {if isset($fanvil_qos_rtp_video)}{$fanvil_qos_rtp_video}{else}0{/if} + 0 + {if isset($fanvil_enable_diffserv)}{$fanvil_enable_diffserv}{else}0{/if} + {if isset($fanvil_dscp_sip)}{$fanvil_dscp_sip}{else}46{/if} + {if isset($fanvil_dscp_rtp_voice)}{$fanvil_dscp_rtp_voice}{else}46{/if} + {if isset($fanvil_dscp_rtp_video)}{$fanvil_dscp_rtp_video}{else}34{/if} + {if isset($fanvil_lldp_tx_enable)}{$fanvil_lldp_tx_enable}{else}0{/if} + {if isset($fanvil_lldp_refresh)}{$fanvil_lldp_refresh}{else}60{/if} + {if isset($fanvil_lldp_learn)}{$fanvil_lldp_learn}{else}0{/if} + 0 + 0 + 60 + 132 + + + + + + + 0 + 0 + 0 + 0 + + + + 1 + 0 + 0 + + + 1 + G729 + 0 + 8 + 0.0.0.0 + 10000 + + + 0 + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + diff --git a/resources/templates/provision/fanvil/x210/{$mac}.cfg b/resources/templates/provision/fanvil/x210/{$mac}.cfg index 09e144a75d..144202828e 100644 --- a/resources/templates/provision/fanvil/x210/{$mac}.cfg +++ b/resources/templates/provision/fanvil/x210/{$mac}.cfg @@ -14,7 +14,7 @@ 1 1 0 - Fanvil X6 + Fanvil X210 0 user123 password @@ -50,13 +50,14 @@ 0 117 0 - 16384 - 16384 - 0 + 10000 + 1000 + 1 {if isset($fanvil_country_toneset)}{$fanvil_country_toneset}{else}11{/if} 1 + 0 350+440/0 440+480/2000,0/4000 480+620/500,0/500 @@ -74,7 +75,7 @@ 440/500,0/5000 - PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,opus,G722 + PCMU,PCMA,G726-16,G726-24,G726-32,G726-40,G729,G723,iLBC {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}H264{/if} 25 2000000 @@ -127,6 +128,7 @@ 0 0 + 0 0 0 @@ -143,7 +145,7 @@ {if isset($fanvil_ringtone_line1)}{$fanvil_ringtone_line1}{else}default{/if} 2 - 60 + 30 0 0 @@ -162,8 +164,8 @@ 1 0 0 - - + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -172,55 +174,55 @@ 1 0 5060 - - {if $account.1.sip_transport == 'udp'}0{/if} {if $account.1.sip_transport == 'tcp'}1{/if} {if $account.1.sip_transport == 'tls'}2{/if} - {if $account.1.sip_transport == 'dns srv'}1{/if} - {if $account.1.sip_transport == 'dns srv'}1{/if} - 0 0 1 1 0 - *97 + + + + 0 0 5 1 + 1 - *78 - *79 - *72 - *73 - *72 - *73 - *72 - *73 + + + + + + + + - *67 - *67 + + - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB - + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} 0 0 4 0 + 1 0 0 - 0 + 1 1 0 0 @@ -243,8 +245,12 @@ 0 0 + 0 Record:on Record:off + 1 + 0 + 1 {$account.2.user_id} @@ -265,7 +271,7 @@ {$account.2.auth_id} {$account.2.password} {$account.2.outbound_proxy_secondary} - {$account.1.sip_port} + {$account.2.sip_port} {if isset($account.2.outbound_proxy_secondary)}1{else}0{/if} 1800 0 @@ -275,6 +281,7 @@ 0 0 + 0 0 0 @@ -310,7 +317,8 @@ 1 0 0 - + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -319,44 +327,43 @@ 1 0 5060 - - {if $account.2.sip_transport == 'udp'}0{/if} {if $account.2.sip_transport == 'tcp'}1{/if} {if $account.2.sip_transport == 'tls'}2{/if} - {if $account.2.sip_transport == 'dns srv'}1{/if} - {if $account.2.sip_transport == 'dns srv'}1{/if} - 0 0 1 1 0 - *97 + + + + 0 0 5 1 + 1 - *78 - *79 - *72 - *73 - *72 - *73 - *72 - *73 + + + + + + + + - *67 - *67 + + - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -364,10 +371,11 @@ 0 4 0 + 1 0 0 - 0 + 1 1 0 0 @@ -390,8 +398,12 @@ 0 0 + 0 Record:on Record:off + 1 + 0 + 1 {$account.3.user_id} @@ -422,6 +434,7 @@ 0 0 + 0 0 0 @@ -457,7 +470,8 @@ 1 0 0 - + {if $account.3.sip_transport == 'dns srv'}1{/if} + {if $account.3.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -466,46 +480,43 @@ 1 0 5060 - - {if $account.3.sip_transport == 'udp'}0{/if} {if $account.3.sip_transport == 'tcp'}1{/if} {if $account.3.sip_transport == 'tls'}2{/if} - {if $account.1.sip_transport == 'dns srv'}1{/if} - {if $account.1.sip_transport == 'dns srv'}1{/if} - 0 0 1 1 0 - *97 + + + + 0 0 5 1 + 1 - *78 - *79 - *72 - *73 - *72 - *73 - *72 - *73 + + + + + + + + - *67 - *67 - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -513,10 +524,11 @@ 0 4 0 + 1 0 0 - 0 + 1 1 0 0 @@ -539,8 +551,12 @@ 0 0 + 0 Record:on Record:off + 1 + 0 + 1 {$account.4.user_id} @@ -550,7 +566,7 @@ {$account.4.sip_port} {$account.4.auth_id} {$account.4.password} - {$account.1.register_expires} + {$account.4.register_expires} 5060 0 @@ -571,6 +587,7 @@ 0 0 + 0 0 0 @@ -606,7 +623,8 @@ 1 0 0 - + {if $account.4.sip_transport == 'dns srv'}1{/if} + {if $account.4.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -615,42 +633,43 @@ 1 0 5060 - {if $account.4.sip_transport == 'udp'}0{/if} {if $account.4.sip_transport == 'tcp'}1{/if} - {if $account.4.sip_transport == 'dns srv'}1{/if} - {if $account.4.sip_transport == 'dns srv'}1{/if} - + {if $account.4.sip_transport == 'tls'}2{/if} 0 0 1 1 0 - *97 + + + + 0 0 5 1 + 1 - *78 - *79 - *72 - *73 - *72 - *73 - *72 - *73 + + + + + + + + - *67 - *67 + + - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -658,10 +677,11 @@ 0 4 0 + 1 0 0 - 0 + 1 1 0 0 @@ -684,8 +704,12 @@ 0 0 + 0 Record:on Record:off + 1 + 0 + 1 {$account.5.user_id} @@ -716,6 +740,7 @@ 0 0 + 0 0 0 @@ -751,7 +776,8 @@ 1 0 0 - + {if $account.5.sip_transport == 'dns srv'}1{/if} + {if $account.5.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -760,44 +786,43 @@ 1 0 5060 - - {if $account.5.sip_transport == 'udp'}0{/if} {if $account.5.sip_transport == 'tcp'}1{/if} {if $account.5.sip_transport == 'tls'}2{/if} - {if $account.5.sip_transport == 'dns srv'}1{/if} - {if $account.5.sip_transport == 'dns srv'}1{/if} - 0 0 1 1 0 - *97 + + + + 0 0 5 1 + 1 - *78 - *79 - *72 - *73 - *72 - *73 - *72 - *73 + + + + + + + + - *67 - *67 + + - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -805,10 +830,11 @@ 0 4 0 + 1 0 0 - 0 + 1 1 0 0 @@ -831,8 +857,12 @@ 0 0 + 0 Record:on Record:off + 1 + 0 + 1 {$account.6.user_id} @@ -840,7 +870,7 @@ {$account.6.server_address} {$account.6.sip_port} - {$aaccount.6.uth_id} + {$account.6.auth_id} {$account.6.password} {$account.6.register_expires} @@ -863,6 +893,7 @@ 0 0 + 0 0 0 @@ -879,7 +910,7 @@ {if isset($fanvil_ringtone_line6)}{$fanvil_ringtone_line6}{else}default{/if} 2 - 60 + 30 0 0 @@ -898,7 +929,8 @@ 1 0 0 - + {if $account.6.sip_transport == 'dns srv'}1{/if} + {if $account.6.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -907,44 +939,43 @@ 1 0 5060 - - {if $account.6.sip_transport == 'udp'}0{/if} {if $account.6.sip_transport == 'tcp'}1{/if} {if $account.6.sip_transport == 'tls'}2{/if} - {if $account.6.sip_transport == 'dns srv'}1{/if} - {if $account.6.sip_transport == 'dns srv'}1{/if} - 0 0 1 1 0 - *97 + + + + 0 0 5 1 + 1 - *78 - *79 - *72 - *73 - *72 - *73 - *72 - *73 + + + + + + + + - *67 - *67 + + - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -952,10 +983,11 @@ 0 4 0 + 1 0 0 - 0 + 1 1 0 0 @@ -978,14 +1010,2164 @@ 0 0 + 0 Record:on Record:off + 1 + 0 + 1 + + + {$account.7.user_id} + {$account.7.display_name} + + {$account.7.server_address} + {$account.7.sip_port} + {$account.7.auth_id} + {$account.7.password} + {$account.7.register_expires} + + 5060 + 0 + 3600 + {if isset($account.7.password)}1{else}0{/if} + {$account.7.outbound_proxy_primary} + {$account.7.sip_port} + {$account.7.auth_id} + {$account.7.password} + {$account.7.outbound_proxy_secondary} + {$account.7.sip_port} + {if isset($account.7.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line7)}{$fanvil_ringtone_line7}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.7.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.7.sip_transport == 'dns srv'}1{/if} + {if $account.7.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.7.sip_transport == 'udp'}0{/if} + {if $account.7.sip_transport == 'tcp'}1{/if} + {if $account.7.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.8.user_id} + {$account.8.display_name} + + {$account.8.server_address} + {$account.8.sip_port} + {$account.8.auth_id} + {$account.8.password} + {$account.8.register_expires} + + 5060 + 0 + 3600 + {if isset($account.8.password)}1{else}0{/if} + {$account.8.outbound_proxy_primary} + {$account.8.sip_port} + {$account.8.auth_id} + {$account.8.password} + {$account.8.outbound_proxy_secondary} + {$account.8.sip_port} + {if isset($account.8.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line8)}{$fanvil_ringtone_line8}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.8.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.8.sip_transport == 'dns srv'}1{/if} + {if $account.8.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.8.sip_transport == 'udp'}0{/if} + {if $account.8.sip_transport == 'tcp'}1{/if} + {if $account.8.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.9.user_id} + {$account.9.display_name} + + {$account.9.server_address} + {$account.9.sip_port} + {$account.9.auth_id} + {$account.9.password} + {$account.9.register_expires} + + 5060 + 0 + 3600 + {if isset($account.9.password)}1{else}0{/if} + {$account.9.outbound_proxy_primary} + {$account.9.sip_port} + {$account.9.auth_id} + {$account.9.password} + {$account.9.outbound_proxy_secondary} + {$account.9.sip_port} + {if isset($account.9.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line9)}{$fanvil_ringtone_line9}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.9.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.9.sip_transport == 'dns srv'}1{/if} + {if $account.9.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.9.sip_transport == 'udp'}0{/if} + {if $account.9.sip_transport == 'tcp'}1{/if} + {if $account.9.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.10.user_id} + {$account.10.display_name} + + {$account.10.server_address} + {$account.10.sip_port} + {$account.10.auth_id} + {$account.10.password} + {$account.10.register_expires} + + 5060 + 0 + 3600 + {if isset($account.10.password)}1{else}0{/if} + {$account.10.outbound_proxy_primary} + {$account.10.sip_port} + {$account.10.auth_id} + {$account.10.password} + {$account.10.outbound_proxy_secondary} + {$account.10.sip_port} + {if isset($account.10.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line10)}{$fanvil_ringtone_line10}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.10.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.10.sip_transport == 'dns srv'}1{/if} + {if $account.10.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.10.sip_transport == 'udp'}0{/if} + {if $account.10.sip_transport == 'tcp'}1{/if} + {if $account.10.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.11.user_id} + {$account.11.display_name} + + {$account.11.server_address} + {$account.11.sip_port} + {$account.11.auth_id} + {$account.11.password} + {$account.11.register_expires} + + 5060 + 0 + 3600 + {if isset($account.11.password)}1{else}0{/if} + {$account.11.outbound_proxy_primary} + {$account.11.sip_port} + {$account.11.auth_id} + {$account.11.password} + {$account.11.outbound_proxy_secondary} + {$account.11.sip_port} + {if isset($account.11.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line11)}{$fanvil_ringtone_line11}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.11.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.11.sip_transport == 'dns srv'}1{/if} + {if $account.11.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.11.sip_transport == 'udp'}0{/if} + {if $account.11.sip_transport == 'tcp'}1{/if} + {if $account.11.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.12.user_id} + {$account.12.display_name} + + {$account.12.server_address} + {$account.12.sip_port} + {$account.12.auth_id} + {$account.12.password} + {$account.12.register_expires} + + 5060 + 0 + 3600 + {if isset($account.12.password)}1{else}0{/if} + {$account.12.outbound_proxy_primary} + {$account.12.sip_port} + {$account.12.auth_id} + {$account.12.password} + {$account.12.outbound_proxy_secondary} + {$account.12.sip_port} + {if isset($account.12.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line12)}{$fanvil_ringtone_line12}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.12.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.12.sip_transport == 'dns srv'}1{/if} + {if $account.12.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.12.sip_transport == 'udp'}0{/if} + {if $account.12.sip_transport == 'tcp'}1{/if} + {if $account.12.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.13.user_id} + {$account.13.display_name} + + {$account.13.server_address} + {$account.13.sip_port} + {$account.13.auth_id} + {$account.13.password} + {$account.13.register_expires} + + 5060 + 0 + 3600 + {if isset($account.13.password)}1{else}0{/if} + {$account.13.outbound_proxy_primary} + {$account.13.sip_port} + {$account.13.auth_id} + {$account.13.password} + {$account.13.outbound_proxy_secondary} + {$account.13.sip_port} + {if isset($account.13.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line13)}{$fanvil_ringtone_line13}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.13.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.13.sip_transport == 'dns srv'}1{/if} + {if $account.13.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.13.sip_transport == 'udp'}0{/if} + {if $account.13.sip_transport == 'tcp'}1{/if} + {if $account.13.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.14.user_id} + {$account.14.display_name} + + {$account.14.server_address} + {$account.14.sip_port} + {$account.14.auth_id} + {$account.14.password} + {$account.14.register_expires} + + 5060 + 0 + 3600 + {if isset($account.14.password)}1{else}0{/if} + {$account.14.outbound_proxy_primary} + {$account.14.sip_port} + {$account.14.auth_id} + {$account.14.password} + {$account.14.outbound_proxy_secondary} + {$account.14.sip_port} + {if isset($account.14.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line14)}{$fanvil_ringtone_line14}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.14.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.14.sip_transport == 'dns srv'}1{/if} + {if $account.14.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.14.sip_transport == 'udp'}0{/if} + {if $account.14.sip_transport == 'tcp'}1{/if} + {if $account.14.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.15.user_id} + {$account.15.display_name} + + {$account.15.server_address} + {$account.15.sip_port} + {$account.15.auth_id} + {$account.15.password} + {$account.15.register_expires} + + 5060 + 0 + 3600 + {if isset($account.15.password)}1{else}0{/if} + {$account.15.outbound_proxy_primary} + {$account.15.sip_port} + {$account.15.auth_id} + {$account.15.password} + {$account.15.outbound_proxy_secondary} + {$account.15.sip_port} + {if isset($account.15.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line15)}{$fanvil_ringtone_line15}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.15.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.15.sip_transport == 'dns srv'}1{/if} + {if $account.15.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.15.sip_transport == 'udp'}0{/if} + {if $account.15.sip_transport == 'tcp'}1{/if} + {if $account.15.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.16.user_id} + {$account.16.display_name} + + {$account.16.server_address} + {$account.16.sip_port} + {$account.16.auth_id} + {$account.16.password} + {$account.16.register_expires} + + 5060 + 0 + 3600 + {if isset($account.16.password)}1{else}0{/if} + {$account.16.outbound_proxy_primary} + {$account.16.sip_port} + {$account.16.auth_id} + {$account.16.password} + {$account.16.outbound_proxy_secondary} + {$account.16.sip_port} + {if isset($account.16.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line16)}{$fanvil_ringtone_line16}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.16.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.16.sip_transport == 'dns srv'}1{/if} + {if $account.16.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.16.sip_transport == 'udp'}0{/if} + {if $account.16.sip_transport == 'tcp'}1{/if} + {if $account.16.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.17.user_id} + {$account.17.display_name} + + {$account.17.server_address} + {$account.17.sip_port} + {$account.17.auth_id} + {$account.17.password} + {$account.17.register_expires} + + 5060 + 0 + 3600 + {if isset($account.17.password)}1{else}0{/if} + {$account.17.outbound_proxy_primary} + {$account.17.sip_port} + {$account.17.auth_id} + {$account.17.password} + {$account.17.outbound_proxy_secondary} + {$account.17.sip_port} + {if isset($account.17.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line17)}{$fanvil_ringtone_line17}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.17.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + {if $account.17.sip_transport == 'dns srv'}1{/if} + {if $account.17.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.17.sip_transport == 'udp'}0{/if} + {if $account.17.sip_transport == 'tcp'}1{/if} + {if $account.17.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.18.user_id} + {$account.18.display_name} + + {$account.18.server_address} + {$account.18.sip_port} + {$account.18.auth_id} + {$account.18.password} + {$account.18.register_expires} + + 5060 + 0 + 3600 + {if isset($account.18.password)}1{else}0{/if} + {$account.18.outbound_proxy_primary} + {$account.18.sip_port} + {$account.18.auth_id} + {$account.18.password} + {$account.18.outbound_proxy_secondary} + {$account.18.sip_port} + {if isset($account.18.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line18)}{$fanvil_ringtone_line18}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.18.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + {if $account.18.sip_transport == 'dns srv'}1{/if} + {if $account.18.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.18.sip_transport == 'udp'}0{/if} + {if $account.18.sip_transport == 'tcp'}1{/if} + {if $account.18.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.19.user_id} + {$account.19.display_name} + + {$account.19.server_address} + {$account.19.sip_port} + {$account.19.auth_id} + {$account.19.password} + {$account.19.register_expires} + + 5060 + 0 + 3600 + {if isset($account.19.password)}1{else}0{/if} + {$account.19.outbound_proxy_primary} + {$account.19.sip_port} + {$account.19.auth_id} + {$account.19.password} + {$account.19.outbound_proxy_secondary} + {$account.19.sip_port} + {if isset($account.19.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line19)}{$fanvil_ringtone_line19}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.19.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + {if $account.19.sip_transport == 'dns srv'}1{/if} + {if $account.19.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.19.sip_transport == 'udp'}0{/if} + {if $account.19.sip_transport == 'tcp'}1{/if} + {if $account.19.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.20.user_id} + {$account.20.display_name} + + {$account.20.server_address} + {$account.20.sip_port} + {$account.20.auth_id} + {$account.20.password} + {$account.20.register_expires} + + 5060 + 0 + 3600 + {if isset($account.20.password)}1{else}0{/if} + {$account.20.outbound_proxy_primary} + {$account.20.sip_port} + {$account.20.auth_id} + {$account.20.password} + {$account.20.outbound_proxy_secondary} + {$account.20.sip_port} + {if isset($account.20.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line20)}{$fanvil_ringtone_line20}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.20.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + {if $account.20.sip_transport == 'dns srv'}1{/if} + {if $account.20.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.20.sip_transport == 'udp'}0{/if} + {if $account.20.sip_transport == 'tcp'}1{/if} + {if $account.20.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 1 - 0 + 1 0 . 1 @@ -1030,7 +3212,7 @@ 1 0 0 - 0 + 1 {$fanvil_default_answer_mode} {$fanvil_default_dial_mode} 0 @@ -1052,6 +3234,8 @@ + 0 + 1 @@ -1118,16 +3302,16 @@ 0 0 0 - 0 + 5 0 1 1 - $name + $name@$protocol$instance 0 0 1 1 - 0 + 30 {$fanvil_greeting} 5 @@ -1149,6 +3333,22 @@ 0 3 + + 0 + 1 + + + 0 + 1 + 1 + 2 + 1 + 1 + 2 + 0 + 0 + 3 + 5 3 @@ -1161,14 +3361,14 @@ {if isset($fanvil_default_ringtone)}{$fanvil_default_ringtone}{else}Type 2{/if} - 1 + {if isset($fanvil_enable_sntp)}{$fanvil_enable_sntp}{else}1{/if} {$ntp_server_primary} {$ntp_server_secondary} {$fanvil_time_zone} {$fanvil_time_zone_name} 60 {$fanvil_enable_dst} - 2 + {if isset($fanvil_dst_fixed_type)}{$fanvil_dst_fixed_type}{else}0{/if} 60 1 {if isset($fanvil_location)}{$fanvil_location}{else}4{/if} @@ -1182,35 +3382,32 @@ 5 0 2 - 1 - 2 0 - {if isset($fanvil_time_display)}1{else}0{/if} + {if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} {if isset($fanvil_date_display)}{$fanvil_date_display}{else}6{/if} {if isset($fanvil_date_separator)}{$fanvil_date_separator}{else}0{/if} 0 - {if isset($fanvil_softkey_exit)}{$fanvil_softkey_exit}{else}1{/if} + {if isset($fanvil_softkey_exit)}{$fanvil_softkey_exit}{else}2{/if} {if isset($fanvil_softkey_desktopsoftkey)}{$fanvil_softkey_desktopsoftkey}{else}history;contact;dnd;menu;{/if} {if isset($fanvil_softkey_talkingsoftkey)}{$fanvil_softkey_talkingsoftkey}{else}hold;xfer;conf;end;{/if} {if isset($fanvil_softkey_ringingsoftkey)}{$fanvil_softkey_ringingsoftkey}{else}accept;none;forward;reject;{/if} end;none;none;none; - end;none;none;none; + end;none;none;xfer; hold;none;split;end; - hold;xfer;conf;end; - repeat;none;none;end; + xfer;accept;reject;end; + redial;none;none;end; send;2aB;delete;exit; - repeat;2aB;delete;exit; - repeat;2aB;delete;exit; - repeat;2aB;delete;exit; + send;2aB;delete;exit; + delete;xfer;send;exit; + send;2aB;delete;exit; {if isset($fanvil_softkey_desktopclick)}{$fanvil_softkey_desktopclick}{else}history;status;none;none;none;{/if} - none;none;none;none;none; + pline;nline;none;none;none; none;none;voldown;volup;none; status;none;none;none;reset; - 0 contact;clogs;redial;video;cancel; @@ -1220,6 +3417,7 @@ 0 0 + 0 @@ -1291,7 +3489,8 @@ 0 3 - 1 + -1 + -1 0 0 3 @@ -1314,7 +3513,8 @@ 0 3 - 1 + -1 + -1 0 0 3 @@ -1337,7 +3537,8 @@ 0 3 - 1 + -1 + -1 0 0 3 @@ -1360,7 +3561,8 @@ 0 3 - 1 + -1 + -1 0 0 3 @@ -1383,7 +3585,8 @@ 0 3 - 1 + -1 + -1 0 0 3 @@ -1404,52 +3607,56 @@ - 0 + -1 + -1 - 0 + -1 + -1 - 0 + -1 + -1 - 0 + -1 + -1 - 0 + -1 + -1 - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - 0 - 0 - 120 + + 1 + 1 + 60 + 40 + 25 + 150 + 200 + 1 + 1 + 1 1 @@ -1492,6 +3699,9 @@ + + 0000000000000000 + 0 0 @@ -1546,6 +3756,80 @@ 0 + + 0 + 3 + 3 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + {foreach $keys["line"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/foreach} + {strip}{*-- Each Internal Index contains 32 keys --*}{/strip} + + {foreach $keys["memory"] as $row} + {if $row.device_key_id <= 32} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 32 && $row.device_key_id <= 64} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 64 && $row.device_key_id <= 96} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + {foreach $keys["programmable"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + + {/foreach} + 0 80 @@ -1568,6 +3852,16 @@ 5 + + INFO + + stdout + platform.log + 512KB + platform + 0.0.0.0 + 514 + 1 @@ -1620,11 +3914,11 @@ 0 0 0 - + 0.0.0.0 1 - + 0.0.0.0 @@ -1639,10 +3933,10 @@ 1 - 0 - 1 - https://{$domain_name}/app/provision - + 1 + 5 + {if isset($fanvil_provision_url)}{$fanvil_provision_url}{else}https://{$domain_name}/app/provision{/if} + {$fanvil_firmware_config} 5 1 1 @@ -1661,10 +3955,6 @@ 0 - - - - {if isset($fanvil_enable_auto_upgrade)}{$fanvil_enable_auto_upgrade}{else}0{/if} {if isset($fanvil_firmware_upgrade_server_1)}{$fanvil_firmware_upgrade_server_1}{else}{/if} @@ -1690,34 +3980,8 @@ 1 0 60 - 0 + 132 - - INFO - - stdout{if $fanvil_syslog_enable == '1'},syslog{else}{/if} - platform.log - 512KB - platform - {if isset($fanvil_syslog_server)}{$fanvil_syslog_server}{else}0.0.0.0{/if} - {if isset($fanvil_syslog_server_port)}{$fanvil_syslog_server_port}{else}514{/if} - - - 1 - 0 - 0 - - - 1 - 1 - 60 - 40 - 25 - 150 - 200 - 1 - 1 - 0 admin @@ -1729,7 +3993,11 @@ 0 - + + 1 + 0 + 0 + 1 G729 @@ -1738,153 +4006,23 @@ 0.0.0.0 10000 - - 0000000000000000 - - - - - - - - - - - - - - - - + 0 + Fanvil X210 + 00:00:00:00:00:00 + 0 + 1 - - 0 - 3 - 5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - - - - - -{foreach $keys["line"] as $row} - - {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} - {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} - {$row.device_key_label} - {$row.device_key_icon} - -{/foreach} -{strip}{*-- Each Internal Index contains 32 keys --*}{/strip} - -{foreach $keys["memory"] as $row} -{if $row.device_key_id <= 32} - - {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} - {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} - {$row.device_key_label} - {$row.device_key_icon} - -{/if} -{/foreach} - - -{foreach $keys["memory"] as $row} -{if $row.device_key_id > 32 && $row.device_key_id <= 64} - - {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} - {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} - {$row.device_key_label} - {$row.device_key_icon} - -{/if} -{/foreach} - - -{foreach $keys["memory"] as $row} -{if $row.device_key_id > 64 && $row.device_key_id <= 96} - - {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} - {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} - {$row.device_key_label} - {$row.device_key_icon} - -{/if} -{/foreach} - -{foreach $keys["programmable"] as $row} - - 1 - {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} - {$row.device_key_label} - -{/foreach} -{strip}{*-- Each External Index contains 20 keys --*}{/strip} - -{foreach $keys["expansion"] as $row} -{if $row.device_key_id < 20} - - 0 - {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} - {$row.device_key_label} - -{/if} -{/foreach} - - -{foreach $keys["expansion"] as $row} -{if $row.device_key_id > 19 && $row.device_key_id < 40} - - 0 - {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} - {$row.device_key_label} - -{/if} -{/foreach} - - -{foreach $keys["expansion"] as $row} -{if $row.device_key_id > 39 && $row.device_key_id < 60} - - 0 - {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} - {$row.device_key_label} - -{/if} -{/foreach} - - -{foreach $keys["expansion"] as $row} -{if $row.device_key_id > 59 && $row.device_key_id < 80} - - 0 - {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} - {$row.device_key_label} - -{/if} -{/foreach} - - -{foreach $keys["expansion"] as $row} -{if $row.device_key_id > 79 && $row.device_key_id < 100} - - 0 - {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} - {$row.device_key_label} - -{/if} -{/foreach} - - + + 0 + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + diff --git a/resources/templates/provision/fanvil/x2p/{$mac}.cfg b/resources/templates/provision/fanvil/x2p/{$mac}.cfg index d08068e9e9..ee21cdd4fb 100644 --- a/resources/templates/provision/fanvil/x2p/{$mac}.cfg +++ b/resources/templates/provision/fanvil/x2p/{$mac}.cfg @@ -685,7 +685,7 @@ 0 0 -{if isset($fanvil_time_display)}1{else}0{/if} +{if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} X2 diff --git a/resources/templates/provision/fanvil/x3g/{$mac}.cfg b/resources/templates/provision/fanvil/x3g/{$mac}.cfg index 084518ea01..40b23b9a71 100644 --- a/resources/templates/provision/fanvil/x3g/{$mac}.cfg +++ b/resources/templates/provision/fanvil/x3g/{$mac}.cfg @@ -684,7 +684,7 @@ 0 0 -{if isset($fanvil_time_display)}1{else}0{/if} +{if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} X3S 1 diff --git a/resources/templates/provision/fanvil/x3sg/{$mac}.cfg b/resources/templates/provision/fanvil/x3sg/{$mac}.cfg new file mode 100644 index 0000000000..72daacdf3b --- /dev/null +++ b/resources/templates/provision/fanvil/x3sg/{$mac}.cfg @@ -0,0 +1,1603 @@ + + + 2.0000000000 + + 0 + 192.168.1.179 + 255.255.255.0 + 192.168.1.1 + + {if isset($dns_server_primary)}{$dns_server_primary}{else}9.9.9.9{/if} + {if isset($dns_server_secondary)}{$dns_server_secondary}{else}208.67.222.222{/if} + 1 + 1 + 1 + 1 + 0 + Fanvil X3SG + 0 + user123 + password + 2 + 1500 + + + + + + + 1 + 1 + 0 + 0 + Fanvil X3SG + + + + + + + + + + + + + + + + + + + + {if isset($fanvil_country_toneset)}{$fanvil_country_toneset}{else}11{/if} + + + + + + + + + + + + + + + + + + + + PCMU,PCMA,G726-16,G726-24,G726-32,G726-40,G729,iLBC,opus,G722 + + + + {$sip_port} + {$fanvil_stun_server} + {$fanvil_stun_port} + 50 + 800 + + 32 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + {$account.1.user_id} + {$account.1.display_name} + + {$account.1.server_address} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.register_expires} + + 5060 + 0 + 3600 + {if isset($account.1.password)}1{else}0{/if} + {$account.1.outbound_proxy_primary} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.outbound_proxy_secondary} + {$account.1.sip_port} + {if isset($account.1.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line1)}{$fanvil_ringtone_line1}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.1.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.1.sip_transport == 'udp'}0{/if} + {if $account.1.sip_transport == 'tcp'}1{/if} + {if $account.1.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 2 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + 0 + + + {$account.2.user_id} + {$account.2.display_name} + + {$account.2.server_address} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.register_expires} + + 5060 + 0 + 3600 + {if isset($account.2.password)}1{else}0{/if} + {$account.2.outbound_proxy_primary} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.outbound_proxy_secondary} + {$account.2.sip_port} + {if isset($account.2.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line2)}{$fanvil_ringtone_line2}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.2.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.2.sip_transport == 'udp'}0{/if} + {if $account.2.sip_transport == 'tcp'}1{/if} + {if $account.2.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 2 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + 0 + + + {$account.3.user_id} + {$account.3.display_name} + + {$account.3.server_address} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.register_expires} + + 5060 + 0 + 3600 + {if isset($account.3.password)}1{else}0{/if} + {$account.3.outbound_proxy_primary} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.outbound_proxy_secondary} + {$account.3.sip_port} + {if isset($account.3.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line3)}{$fanvil_ringtone_line3}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.3.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.3.sip_transport == 'dns srv'}1{/if} + {if $account.3.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.3.sip_transport == 'udp'}0{/if} + {if $account.3.sip_transport == 'tcp'}1{/if} + {if $account.3.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 2 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + 0 + + + {$account.4.user_id} + {$account.4.display_name} + + {$account.4.server_address} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.register_expires} + + 5060 + 0 + 3600 + {if isset($account.4.password)}1{else}0{/if} + {$account.4.outbound_proxy_primary} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.outbound_proxy_secondary} + {$account.4.sip_port} + {if isset($account.4.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line4)}{$fanvil_ringtone_line4}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.4.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.4.sip_transport == 'dns srv'}1{/if} + {if $account.4.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.4.sip_transport == 'udp'}0{/if} + {if $account.4.sip_transport == 'tcp'}1{/if} + {if $account.4.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 2 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + 0 + + + 0 + 30 + 1 + 0 + 0 + 0 + + + + + 1 + 1 + 0 + . + 1 + 0 + 0 + 1500 + 1730 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 3 + 1 + 0 + 1 + 0 + 0 + 0 + 30 + 5 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + + 1 + 1 + 0 + 0 + 0 + {$fanvil_default_answer_mode} + {$fanvil_default_dial_mode} + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 480 + 486 + 603 + 0 + 0 + + + 0 + + + + + 0 + + 0 + 120 + + + 1 + 0 + 0 + 0 + 0 + 0 + 11 + 1 + 10 + 0 + + + + -1 + {if isset($fanvil_default_ringtone_ext)}{$fanvil_default_ringtone_ext}{else}Type 1{/if} + + + + -1 + {if isset($fanvil_default_ringtone_ext2)}{$fanvil_default_ringtone_ext2}{else}Type 1{/if} + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + {if isset($fanvil_menu_password)}{$fanvil_menu_password}{else}123{/if} + 123 + + 0 + 0 + 0 + 110 + + 0 + 0 + 0 + 5 + 0 + 1 + 1 + $name@$protocol$instance + 0 + 0 + 1 + 1 + 30 + + 0 + 0 + 0 + + + {$fanvil_greeting} + 5 + {if isset($fanvil_display_brightness_inactive)}{$fanvil_display_brightness_inactive}{else}4{/if} + {if isset($fanvil_display_brightness_active)}{$fanvil_display_brightness_active}{else}12{/if} + {if isset($fanvil_display_inactivity_time)}{$fanvil_display_inactivity_time}{else}45{/if} + 0 + + dvf97 + en + 0 + + + 0 + 3 + 0 + 2 + 0 + 0 + 3 + + + 0 + 1 + + + 0 + 1 + terminated + 1 + 2 + early + 1 + 0 + + 1 + 1 + confirmed + 1 + 0 + + 0 + 0 + failed + 0 + 3 + parked + + + + + + + + + + + {if isset($fanvil_default_ringtone)}{$fanvil_default_ringtone}{else}Type 1{/if} + + + {if isset($fanvil_enable_sntp)}{$fanvil_enable_sntp}{else}1{/if} + {$ntp_server_primary} + {$ntp_server_secondary} + {$fanvil_time_zone} + {$fanvil_time_zone_name} + {$fanvil_enable_dst} + {if isset($fanvil_dst_fixed_type)}{$fanvil_dst_fixed_type}{else}0{/if} + 60 + 1 + {if isset($fanvil_location)}{$fanvil_location}{else}4{/if} + 0 + {if isset($fanvil_dst_minute_offset)}{$fanvil_dst_minute_offset}{else}60{/if} + 3 + 5 + 0 + 2 + 10 + 5 + 0 + 2 + + + 0 + {if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} + {if isset($fanvil_date_display)}{$fanvil_date_display}{else}6{/if} + {if isset($fanvil_date_separator)}{$fanvil_date_separator}{else}0{/if} + + + 0 + {if isset($fanvil_softkey_exit)}{$fanvil_softkey_exit}{else}2{/if} + {if isset($fanvil_softkey_desktopsoftkey)}{$fanvil_softkey_desktopsoftkey}{else}history;contact;dnd;menu;{/if} + {if isset($fanvil_softkey_talkingsoftkey)}{$fanvil_softkey_talkingsoftkey}{else}hold;xfer;conf;end;{/if} + {if isset($fanvil_softkey_ringingsoftkey)}{$fanvil_softkey_ringingsoftkey}{else}accept;none;forward;reject;{/if} + end;none;none;none; + end;none;none;xfer; + hold;none;split;end; + xfer;accept;reject;end; + repeat;none;none;end; + send;2aB;delete;exit; + send;2aB;delete;exit; + delete;xfer;send;exit; + send;2aB;delete;exit; + {if isset($fanvil_softkey_desktopclick)}{$fanvil_softkey_desktopclick}{else}history;status;none;none;none;{/if} + pline;nline;none;none;none; + none;none;none;none;none; + none;none;none;none;none; + status;none;none;none;reset; + contact;clogs;redial;video;cancel; + + + + + + 0 + 0 + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + 120 + 0 + 2 + 6 + + + 1 + 1 + 60 + 40 + 25 + 150 + 200 + 1 + 1 + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0000000000000000 + + + 0 + 0 + 0 + 0 + 1 + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + 60 + + + + 0 + 3 + 1 + 1 + 0 + 0 + 0 + 16 + 360 + 1080 + 1 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + {foreach $keys["line"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/foreach} + + {foreach $keys["programmable"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + + {/foreach} + + + 0 + 80 + 443 + 1 + 0 + 0 + 0 + 23 + + 15 + + {if isset($admin_name)}{$admin_name}{else}admin{/if} + {if isset($admin_password)}{$admin_password}{else}admin{/if} + 10 + + + guest + guest + 5 + + + + ERROR + + {if $fanvil_syslog_enable == '1'},syslog{else}stdout{/if} + platform.log + 512KB + platform + {if isset($fanvil_syslog_server)}{$fanvil_syslog_server}{else}0.0.0.0{/if} + {if isset($fanvil_syslog_server_port)}{$fanvil_syslog_server_port}{else}514{/if} + + + 1 + + 1 + 0 + 0.0.0.0 + admin + + 0.0.0.0 + + + dps + dps + 3600 + 2 + 020 + 0 + {$fanvil_stun_server} + {$fanvil_stun_port} + 30000 + + + 0 + 1 + 0 + 224.0.2.0 + 16360 + SIP Hotspot + 0 + 0 + 0 + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + + -1 + 0 + 0 + 0 + 0.0.0.0 + + + 1 + 0.0.0.0 + + + + + 0 + 0 + + + {$http_auth_username} + {$http_auth_password} + + + + 1 + 0 + 5 + {if isset($fanvil_provision_url)}{$fanvil_provision_url}{else}https://{$domain_name}/app/provision{/if} + {$fanvil_firmware_config} + 5 + 1 + 1 + 720 + 0 + + 1 + 224.0.1.75 + 5060 + 0 + 1 + + + 66 + 0 + 0 + + + + {if isset($fanvil_enable_auto_upgrade)}{$fanvil_enable_auto_upgrade}{else}0{/if} + {if isset($fanvil_firmware_upgrade_server_1)}{$fanvil_firmware_upgrade_server_1}{else}{/if} + {if isset($fanvil_firmware_upgrade_server_2)}{$fanvil_firmware_upgrade_server_2}{else}{/if} + {if isset($fanvil_firmware_upgrade_interval)}{$fanvil_firmware_upgrade_interval}{else}24{/if} + + + {if isset($fanvil_enable_vlan)}{$fanvil_enable_vlan}{else}0{/if} + {if isset($fanvil_lan_port_vlan)}{$fanvil_lan_port_vlan}{else}256{/if} + {if isset($fanvil_pc_port_vlan)}2{else}0{/if} + {if isset($fanvil_pc_port_vlan)}{$fanvil_pc_port_vlan}{else}254{/if} + {if isset($fanvil_qos_sip)}{$fanvil_qos_sip}{else}0{/if} + {if isset($fanvil_qos_rtp_voice)}{$fanvil_qos_rtp_voice}{else}0{/if} + {if isset($fanvil_qos_rtp_video)}{$fanvil_qos_rtp_video}{else}0{/if} + 0 + {if isset($fanvil_enable_diffserv)}{$fanvil_enable_diffserv}{else}0{/if} + {if isset($fanvil_dscp_sip)}{$fanvil_dscp_sip}{else}46{/if} + {if isset($fanvil_dscp_rtp_voice)}{$fanvil_dscp_rtp_voice}{else}46{/if} + {if isset($fanvil_dscp_rtp_video)}{$fanvil_dscp_rtp_video}{else}34{/if} + {if isset($fanvil_lldp_tx_enable)}{$fanvil_lldp_tx_enable}{else}0{/if} + {if isset($fanvil_lldp_refresh)}{$fanvil_lldp_refresh}{else}60{/if} + {if isset($fanvil_lldp_learn)}{$fanvil_lldp_learn}{else}0{/if} + 0 + 0 + 60 + 132 + + + + + + + 0 + 0 + 0 + 0 + + + + 1 + 0 + 0 + + + 1 + G729 + 0 + 8 + 0.0.0.0 + 10000 + + + + 0 + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 1,1,1,1 + 2 + + diff --git a/resources/templates/provision/fanvil/x3sp/{$mac}.cfg b/resources/templates/provision/fanvil/x3sp/{$mac}.cfg index 092433be86..fb22314b28 100644 --- a/resources/templates/provision/fanvil/x3sp/{$mac}.cfg +++ b/resources/templates/provision/fanvil/x3sp/{$mac}.cfg @@ -684,7 +684,7 @@ 0 0 -{if isset($fanvil_time_display)}1{else}0{/if} +{if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} X3S 1 diff --git a/resources/templates/provision/fanvil/x3u/{$mac}.cfg b/resources/templates/provision/fanvil/x3u/{$mac}.cfg new file mode 100644 index 0000000000..0689edb733 --- /dev/null +++ b/resources/templates/provision/fanvil/x3u/{$mac}.cfg @@ -0,0 +1,1882 @@ + + + 2.0000000000 + + 0 + + + + + {if isset($dns_server_primary)}{$dns_server_primary}{else}9.9.9.9{/if} + {if isset($dns_server_secondary)}{$dns_server_secondary}{else}208.67.222.222{/if} + 1 + 1 + 1 + 1 + 0 + Fanvil X3U + 0 + user123 + password + 2 + 1500 + + + + + + + 1 + 1 + 0 + 0 + Fanvil X3U + + + + + + + + + + + + + + + + + + + + {if isset($fanvil_country_toneset)}{$fanvil_country_toneset}{else}11{/if} + + + + + + + + + + + + + + + + + + + + PCMU,PCMA,G726-16,G726-24,G726-32,G726-40,G729,iLBC,opus,G722 + + + + {$sip_port} + {$fanvil_stun_server} + {$fanvil_stun_port} + 50 + 800 + + 32 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + {$account.1.user_id} + {$account.1.display_name} + + {$account.1.server_address} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.register_expires} + + 5060 + 0 + 3600 + {if isset($account.1.password)}1{else}0{/if} + {$account.1.outbound_proxy_primary} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.outbound_proxy_secondary} + {$account.1.sip_port} + {if isset($account.1.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line1)}{$fanvil_ringtone_line1}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.1.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.1.sip_transport == 'udp'}0{/if} + {if $account.1.sip_transport == 'tcp'}1{/if} + {if $account.1.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.2.user_id} + {$account.2.display_name} + + {$account.2.server_address} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.register_expires} + + 5060 + 0 + 3600 + {if isset($account.2.password)}1{else}0{/if} + {$account.2.outbound_proxy_primary} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.outbound_proxy_secondary} + {$account.2.sip_port} + {if isset($account.2.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line2)}{$fanvil_ringtone_line2}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.2.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.2.sip_transport == 'udp'}0{/if} + {if $account.2.sip_transport == 'tcp'}1{/if} + {if $account.2.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.3.user_id} + {$account.3.display_name} + + {$account.3.server_address} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.register_expires} + + 5060 + 0 + 3600 + {if isset($account.3.password)}1{else}0{/if} + {$account.3.outbound_proxy_primary} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.outbound_proxy_secondary} + {$account.3.sip_port} + {if isset($account.3.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line3)}{$fanvil_ringtone_line3}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.3.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.3.sip_transport == 'dns srv'}1{/if} + {if $account.3.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.3.sip_transport == 'udp'}0{/if} + {if $account.3.sip_transport == 'tcp'}1{/if} + {if $account.3.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.4.user_id} + {$account.4.display_name} + + {$account.4.server_address} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.register_expires} + + 5060 + 0 + 3600 + {if isset($account.4.password)}1{else}0{/if} + {$account.4.outbound_proxy_primary} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.outbound_proxy_secondary} + {$account.4.sip_port} + {if isset($account.4.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line4)}{$fanvil_ringtone_line4}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.4.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.4.sip_transport == 'dns srv'}1{/if} + {if $account.4.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.4.sip_transport == 'udp'}0{/if} + {if $account.4.sip_transport == 'tcp'}1{/if} + {if $account.4.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.5.user_id} + {$account.5.display_name} + + {$account.5.server_address} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.register_expires} + + 5060 + 0 + 3600 + {if isset($account.5.password)}1{else}0{/if} + {$account.5.outbound_proxy_primary} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.outbound_proxy_secondary} + {$account.5.sip_port} + {if isset($account.5.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line5)}{$fanvil_ringtone_line5}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.5.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.5.sip_transport == 'udp'}0{/if} + {if $account.5.sip_transport == 'tcp'}1{/if} + {if $account.5.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.6.user_id} + {$account.6.display_name} + + {$account.6.server_address} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.register_expires} + + 5060 + 0 + 3600 + {if isset($account.6.password)}1{else}0{/if} + {$account.6.outbound_proxy_primary} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.outbound_proxy_secondary} + {$account.6.sip_port} + {if isset($account.6.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line6)}{$fanvil_ringtone_line6}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.6.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.6.sip_transport == 'udp'}0{/if} + {if $account.6.sip_transport == 'tcp'}1{/if} + {if $account.6.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + 0 + 30 + 1 + 0 + + + + + + 0 + 0 + . + 1 + 0 + 0 + 1500 + 1730 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 3 + 1 + 0 + 1 + 1 + 0 + 0 + 30 + 5 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + + 1 + 1 + 0 + 0 + 0 + {$fanvil_default_answer_mode} + {$fanvil_default_dial_mode} + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 480 + 486 + 603 + 0 + 0 + + + 0 + + + + + 0 + + + + 1 + 0 + 0 + 0 + 0 + 0 + 11 + 1 + 10 + 0 + + + + -1 + {if isset($fanvil_default_ringtone_ext)}{$fanvil_default_ringtone_ext}{else}Type 1{/if} + + + + -1 + {if isset($fanvil_default_ringtone_ext2)}{$fanvil_default_ringtone_ext2}{else}Type 1{/if} + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + {if isset($fanvil_menu_password)}{$fanvil_menu_password}{else}123{/if} + 123 + + 0 + 0 + 0 + 110 + + 0 + 0 + 0 + 5 + 0 + 1 + 1 + $name@$protocol$instance + 0 + 0 + 1 + 1 + 30 + + + {$fanvil_greeting} + 5 + {if isset($fanvil_display_brightness_inactive)}{$fanvil_display_brightness_inactive}{else}4{/if} + {if isset($fanvil_display_brightness_active)}{$fanvil_display_brightness_active}{else}12{/if} + {if isset($fanvil_display_inactivity_time)}{$fanvil_display_inactivity_time}{else}45{/if} + 0 + + dvf97 + en + 0 + + + 0 + 3 + 0 + 2 + 0 + 0 + 3 + + + 0 + 1 + + + 0 + 1 + 1 + 2 + 1 + 1 + 0 + 0 + 0 + 3 + + + + + + + + + + + {if isset($fanvil_default_ringtone)}{$fanvil_default_ringtone}{else}Type 1{/if} + + + {if isset($fanvil_enable_sntp)}{$fanvil_enable_sntp}{else}1{/if} + {$ntp_server_primary} + {$ntp_server_secondary} + {$fanvil_time_zone} + {$fanvil_time_zone_name} + {$fanvil_enable_dst} + {if isset($fanvil_dst_fixed_type)}{$fanvil_dst_fixed_type}{else}0{/if} + 60 + 1 + {if isset($fanvil_location)}{$fanvil_location}{else}4{/if} + 0 + {if isset($fanvil_dst_minute_offset)}{$fanvil_dst_minute_offset}{else}60{/if} + 3 + 5 + 0 + 2 + 10 + 5 + 0 + 2 + + + 0 + {if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} + {if isset($fanvil_date_display)}{$fanvil_date_display}{else}6{/if} + {if isset($fanvil_date_separator)}{$fanvil_date_separator}{else}0{/if} + + + 0 + {if isset($fanvil_softkey_exit)}{$fanvil_softkey_exit}{else}2{/if} + {if isset($fanvil_softkey_desktopsoftkey)}{$fanvil_softkey_desktopsoftkey}{else}history;contact;dnd;menu;{/if} + {if isset($fanvil_softkey_talkingsoftkey)}{$fanvil_softkey_talkingsoftkey}{else}hold;xfer;conf;end;{/if} + {if isset($fanvil_softkey_ringingsoftkey)}{$fanvil_softkey_ringingsoftkey}{else}accept;none;forward;reject;{/if} + end;none;none;none; + end;none;none;xfer; + hold;none;split;end; + xfer;accept;reject;end; + repeat;none;none;end; + send;2aB;delete;exit; + send;2aB;delete;exit; + delete;xfer;send;exit; + send;2aB;delete;exit; + {if isset($fanvil_softkey_desktopclick)}{$fanvil_softkey_desktopclick}{else}history;status;none;none;none;{/if} + pline;nline;none;none;none; + none;none;none;none;none; + status;none;none;none;reset; + contact;clogs;redial;video;cancel; + + + + + + 0 + 0 + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + 120 + 0 + + + 1 + 1 + 60 + 40 + 25 + 150 + 200 + 1 + 1 + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0000000000000000 + + + 0 + 0 + 0 + 0 + 1 + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + 0 + 3 + 1 + 1 + 0 + 0 + 16 + 360 + 1080 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + {foreach $keys["line"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/foreach} + {foreach $keys["programmable"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + + {/foreach} + + + 0 + 80 + 443 + 1 + 0 + 0 + 0 + 23 + + 15 + + {if isset($admin_name)}{$admin_name}{else}admin{/if} + {if isset($admin_password)}{$admin_password}{else}admin{/if} + 10 + + + guest + guest + 5 + + + + ERROR + + {if $fanvil_syslog_enable == '1'},syslog{else}stdout{/if} + platform.log + 512KB + platform + {if isset($fanvil_syslog_server)}{$fanvil_syslog_server}{else}0.0.0.0{/if} + {if isset($fanvil_syslog_server_port)}{$fanvil_syslog_server_port}{else}514{/if} + + + 1 + 00100400FV02001000000c383e3aaf78 + 1 + 0 + 0.0.0.0 + admin + + 0.0.0.0 + + + dps + dps + 3600 + 2 + 020 + 0 + {$fanvil_stun_server} + {$fanvil_stun_port} + 30000 + + + 0 + 1 + 0 + 224.0.2.0 + 16360 + SIP Hotspot + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + + -1 + 0 + 0 + 0 + 0.0.0.0 + + + 1 + 0.0.0.0 + + + + + 0 + 0 + + + {$http_auth_username} + {$http_auth_password} + + + + 1 + 0 + 5 + {if isset($fanvil_provision_url)}{$fanvil_provision_url}{else}https://{$domain_name}/app/provision{/if} + {$fanvil_firmware_config} + 5 + 1 + 1 + 720 + 0 + + 1 + 224.0.1.75 + 5060 + 0 + 1 + + + 66 + 0 + 0 + + + + {if isset($fanvil_enable_auto_upgrade)}{$fanvil_enable_auto_upgrade}{else}0{/if} + {if isset($fanvil_firmware_upgrade_server_1)}{$fanvil_firmware_upgrade_server_1}{else}{/if} + {if isset($fanvil_firmware_upgrade_server_2)}{$fanvil_firmware_upgrade_server_2}{else}{/if} + {if isset($fanvil_firmware_upgrade_interval)}{$fanvil_firmware_upgrade_interval}{else}24{/if} + + + {if isset($fanvil_enable_vlan)}{$fanvil_enable_vlan}{else}0{/if} + {if isset($fanvil_lan_port_vlan)}{$fanvil_lan_port_vlan}{else}256{/if} + {if isset($fanvil_pc_port_vlan)}2{else}0{/if} + {if isset($fanvil_pc_port_vlan)}{$fanvil_pc_port_vlan}{else}254{/if} + {if isset($fanvil_qos_sip)}{$fanvil_qos_sip}{else}0{/if} + {if isset($fanvil_qos_rtp_voice)}{$fanvil_qos_rtp_voice}{else}0{/if} + {if isset($fanvil_qos_rtp_video)}{$fanvil_qos_rtp_video}{else}0{/if} + 0 + {if isset($fanvil_enable_diffserv)}{$fanvil_enable_diffserv}{else}0{/if} + {if isset($fanvil_dscp_sip)}{$fanvil_dscp_sip}{else}46{/if} + {if isset($fanvil_dscp_rtp_voice)}{$fanvil_dscp_rtp_voice}{else}46{/if} + {if isset($fanvil_dscp_rtp_video)}{$fanvil_dscp_rtp_video}{else}34{/if} + {if isset($fanvil_lldp_tx_enable)}{$fanvil_lldp_tx_enable}{else}0{/if} + {if isset($fanvil_lldp_refresh)}{$fanvil_lldp_refresh}{else}60{/if} + {if isset($fanvil_lldp_learn)}{$fanvil_lldp_learn}{else}0{/if} + 0 + 0 + 60 + 132 + + + + + + + 0 + 0 + 0 + 0 + + + + 1 + 0 + 0 + + + 1 + G729 + 0 + 8 + 0.0.0.0 + 10000 + + + 0 + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + diff --git a/resources/templates/provision/fanvil/x4/{$mac}.cfg b/resources/templates/provision/fanvil/x4/{$mac}.cfg index de44b2cdb8..f09275417e 100644 --- a/resources/templates/provision/fanvil/x4/{$mac}.cfg +++ b/resources/templates/provision/fanvil/x4/{$mac}.cfg @@ -958,7 +958,7 @@ 0 {if isset({$fanvil_time_display}) } -1 +{$fanvil_time_display} {else} 0 {/if} diff --git a/resources/templates/provision/fanvil/x4g/{$mac}.cfg b/resources/templates/provision/fanvil/x4g/{$mac}.cfg index eb8aded124..0cf57057e4 100644 --- a/resources/templates/provision/fanvil/x4g/{$mac}.cfg +++ b/resources/templates/provision/fanvil/x4g/{$mac}.cfg @@ -958,7 +958,7 @@ 0 {if isset({$fanvil_time_display}) } -1 +{$fanvil_time_display} {else} 0 {/if} diff --git a/resources/templates/provision/fanvil/x4sg/{$mac}.cfg b/resources/templates/provision/fanvil/x4sg/{$mac}.cfg new file mode 100644 index 0000000000..615c3f5a4e --- /dev/null +++ b/resources/templates/provision/fanvil/x4sg/{$mac}.cfg @@ -0,0 +1,1943 @@ + + + 2.0000000000 + + 0 + + + + + {if isset($dns_server_primary)}{$dns_server_primary}{else}9.9.9.9{/if} + {if isset($dns_server_secondary)}{$dns_server_secondary}{else}208.67.222.222{/if} + 1 + 1 + 1 + 1 + 0 + Fanvil X4SG + 0 + user123 + password + 2 + 1500 + + + + + + + 1 + 1 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCMU,PCMA,G726-16,G726-24,G726-32,G726-40,G729,iLBC,opus,G722 + + + + {$sip_port} + {$fanvil_stun_server} + {$fanvil_stun_port} + 50 + 800 + + 32 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + {$account.1.user_id} + {$account.1.display_name} + + {$account.1.server_address} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.register_expires} + + 5060 + 0 + 3600 + {if isset($account.1.password)}1{else}0{/if} + {$account.1.outbound_proxy_primary} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.outbound_proxy_secondary} + {$account.1.sip_port} + {if isset($account.1.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line1)}{$fanvil_ringtone_line1}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.1.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.1.sip_transport == 'udp'}0{/if} + {if $account.1.sip_transport == 'tcp'}1{/if} + {if $account.1.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.2.user_id} + {$account.2.display_name} + + {$account.2.server_address} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.register_expires} + + 5060 + 0 + 3600 + {if isset($account.2.password)}1{else}0{/if} + {$account.2.outbound_proxy_primary} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.outbound_proxy_secondary} + {$account.2.sip_port} + {if isset($account.2.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line2)}{$fanvil_ringtone_line2}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.2.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.2.sip_transport == 'udp'}0{/if} + {if $account.2.sip_transport == 'tcp'}1{/if} + {if $account.2.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.3.user_id} + {$account.3.display_name} + + {$account.3.server_address} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.register_expires} + + 5060 + 0 + 3600 + {if isset($account.3.password)}1{else}0{/if} + {$account.3.outbound_proxy_primary} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.outbound_proxy_secondary} + {$account.3.sip_port} + {if isset($account.3.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line3)}{$fanvil_ringtone_line3}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.3.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.3.sip_transport == 'dns srv'}1{/if} + {if $account.3.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.3.sip_transport == 'udp'}0{/if} + {if $account.3.sip_transport == 'tcp'}1{/if} + {if $account.3.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.4.user_id} + {$account.4.display_name} + + {$account.4.server_address} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.register_expires} + + 5060 + 0 + 3600 + {if isset($account.4.password)}1{else}0{/if} + {$account.4.outbound_proxy_primary} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.outbound_proxy_secondary} + {$account.4.sip_port} + {if isset($account.4.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line4)}{$fanvil_ringtone_line4}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.4.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.4.sip_transport == 'dns srv'}1{/if} + {if $account.4.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.4.sip_transport == 'udp'}0{/if} + {if $account.4.sip_transport == 'tcp'}1{/if} + {if $account.4.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.5.user_id} + {$account.5.display_name} + + {$account.5.server_address} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.register_expires} + + 5060 + 0 + 3600 + {if isset($account.5.password)}1{else}0{/if} + {$account.5.outbound_proxy_primary} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.outbound_proxy_secondary} + {$account.5.sip_port} + {if isset($account.5.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line5)}{$fanvil_ringtone_line5}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.5.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.5.sip_transport == 'udp'}0{/if} + {if $account.5.sip_transport == 'tcp'}1{/if} + {if $account.5.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.6.user_id} + {$account.6.display_name} + + {$account.6.server_address} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.register_expires} + + 5060 + 0 + 3600 + {if isset($account.6.password)}1{else}0{/if} + {$account.6.outbound_proxy_primary} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.outbound_proxy_secondary} + {$account.6.sip_port} + {if isset($account.6.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line6)}{$fanvil_ringtone_line6}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.6.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.6.sip_transport == 'udp'}0{/if} + {if $account.6.sip_transport == 'tcp'}1{/if} + {if $account.6.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + 0 + 30 + 1 + 0 + + + + + + 0 + 0 + . + 1 + 0 + 0 + 1500 + 1730 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 3 + 1 + 0 + 1 + 1 + 0 + 0 + 30 + 5 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 480 + 486 + 603 + 0 + 0 + + + 0 + + + + + 0 + + + + 1 + 0 + 0 + 0 + 0 + 0 + 11 + 1 + 10 + 0 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + 123 + 123 + + 0 + 0 + 0 + 110 + + 0 + 0 + 0 + 5 + 0 + 1 + 1 + $name@$protocol$instance + 0 + 0 + 1 + 1 + 30 + + + VOIP PHONE + 5 + 4 + 12 + 45 + 0 + + dvf97 + en + 0 + + + 0 + 3 + 0 + 2 + 0 + 0 + 3 + + + 0 + 1 + + + 0 + 1 + 1 + 2 + 1 + 1 + 0 + 0 + 0 + 3 + + + + + + + + + + + + + + {if isset($fanvil_enable_sntp)}{$fanvil_enable_sntp}{else}1{/if} + {$ntp_server_primary} + {$ntp_server_secondary} + {$fanvil_time_zone} + {$fanvil_time_zone_name} + {$fanvil_enable_dst} + {if isset($fanvil_dst_fixed_type)}{$fanvil_dst_fixed_type}{else}0{/if} + 60 + 1 + {if isset($fanvil_location)}{$fanvil_location}{else}4{/if} + 0 + {if isset($fanvil_dst_minute_offset)}{$fanvil_dst_minute_offset}{else}60{/if} + 3 + 5 + 0 + 2 + 10 + 5 + 0 + 2 + + + 0 + 0 + 0 + 0 + + + 0 + 2 + history;contact;dnd;menu; + hold;xfer;conf;end; + accept;none;forward;reject; + end;none;none;none; + end;none;none;xfer; + hold;none;split;end; + xfer;accept;reject;end; + repeat;none;none;end; + send;2aB;delete;exit; + send;2aB;delete;exit; + delete;xfer;send;exit; + send;2aB;delete;exit; + history;status;none;none;none; + pline;nline;none;none;none; + none;none;none;none;none; + status;none;none;none;reset; + contact;clogs;redial;video;cancel; + + + + + + 0 + 0 + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + 120 + 0 + + + 1 + 1 + 60 + 40 + 25 + 150 + 200 + 1 + 1 + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0000000000000000 + + + 0 + 0 + 0 + 0 + 1 + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + 0 + 3 + 5 + 1 + 0 + 0 + 16 + 360 + 1080 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + {foreach $keys["line"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/foreach} + {strip}{*-- Each Internal Index contains 6 keys --*}{/strip} + + {foreach $keys["memory"] as $row} + {if $row.device_key_id <= 6} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 6 && $row.device_key_id <= 12} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 12 && $row.device_key_id <= 18} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 18 && $row.device_key_id <= 24} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 24 && $row.device_key_id <= 30} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + {foreach $keys["programmable"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + + {/foreach} + + + 0 + 80 + 443 + 1 + 0 + 0 + 0 + 23 + + 15 + + + admin + 10 + + + + guest + 5 + + + + ERROR + + + platform.log + 512KB + platform + 0.0.0.0 + 514 + + + 1 + 00100400FV02001000000c383e456dfa + 1 + 0 + 0.0.0.0 + admin + + 0.0.0.0 + + + dps + dps + 3600 + 0 + 020 + 0 + + 3478 + 30000 + + + 0 + 1 + 0 + 224.0.2.0 + 16360 + SIP Hotspot + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + + -1 + 0 + 0 + 0 + 0.0.0.0 + + + 1 + 0.0.0.0 + + + + + 0 + 0 + + + + + + + + 1 + 0 + 5 + + + 2 + 0 + 1 + 720 + 0 + + 1 + 224.0.1.75 + 5060 + 0 + 1 + + + 66 + 0 + 0 + + + + 0 + + + 24 + + + 0 + 256 + 0 + 254 + 0 + 0 + 0 + 0 + 0 + 46 + 46 + 46 + 1 + 60 + 1 + 0 + 0 + 60 + 132 + + + + + + + 0 + 0 + 0 + 0 + + + + 1 + 0 + 0 + + + 1 + G729 + 0 + 8 + 0.0.0.0 + 10000 + + + 0 + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + diff --git a/resources/templates/provision/fanvil/x4u/{$mac}.cfg b/resources/templates/provision/fanvil/x4u/{$mac}.cfg new file mode 100644 index 0000000000..7cdcc915a6 --- /dev/null +++ b/resources/templates/provision/fanvil/x4u/{$mac}.cfg @@ -0,0 +1,2933 @@ + + + 2.0000000000 + + 0 + + + + + {if isset($dns_server_primary)}{$dns_server_primary}{else}9.9.9.9{/if} + {if isset($dns_server_secondary)}{$dns_server_secondary}{else}208.67.222.222{/if} + 1 + 1 + 1 + 1 + 0 + Fanvil X4U + 0 + user123 + password + 2 + 1500 + + + + + + + 1 + 1 + 0 + 0 + Fanvil X4U + + {$fanvil_wifi_enable} + + + + 1 + 97 + 20 + 108 + 109 + 103 + 104 + 102 + 105 + 101 + 107 + 0 + 0 + 117 + 0 + 10000 + 1000 + 1 + + + {if isset($fanvil_country_toneset)}{$fanvil_country_toneset}{else}11{/if} + 1 + 0 + 350+440/0 + 440+480/2000,0/4000 + 480+620/500,0/500 + + 440/300,0/10000,440/300,0/10000,0/0 + + + + + 350+440/100,0/100,350+440/100,0/100,350+440/100,0/100,350+440/0 + + + 400/500,0/6000 + 1400/500,0/0 + 440/500,0/5000 + + + PCMU,PCMA,G726-16,G726-24,G726-32,G726-40,G729,G723,iLBC + + + + {$sip_port} + {$fanvil_stun_server} + {$fanvil_stun_port} + 50 + 800 + + 32 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + {$account.1.user_id} + {$account.1.display_name} + + {$account.1.server_address} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.register_expires} + + 5060 + 0 + 3600 + {if isset($account.1.password)}1{else}0{/if} + {$account.1.outbound_proxy_primary} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.outbound_proxy_secondary} + {$account.1.sip_port} + {if isset($account.1.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line1)}{$fanvil_ringtone_line1}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.1.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.1.sip_transport == 'udp'}0{/if} + {if $account.1.sip_transport == 'tcp'}1{/if} + {if $account.1.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.2.user_id} + {$account.2.display_name} + + {$account.2.server_address} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.register_expires} + + 5060 + 0 + 3600 + {if isset($account.2.password)}1{else}0{/if} + {$account.2.outbound_proxy_primary} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.outbound_proxy_secondary} + {$account.2.sip_port} + {if isset($account.2.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line2)}{$fanvil_ringtone_line2}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.2.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.2.sip_transport == 'udp'}0{/if} + {if $account.2.sip_transport == 'tcp'}1{/if} + {if $account.2.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.3.user_id} + {$account.3.display_name} + + {$account.3.server_address} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.register_expires} + + 5060 + 0 + 3600 + {if isset($account.3.password)}1{else}0{/if} + {$account.3.outbound_proxy_primary} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.outbound_proxy_secondary} + {$account.3.sip_port} + {if isset($account.3.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line3)}{$fanvil_ringtone_line3}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.3.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.3.sip_transport == 'dns srv'}1{/if} + {if $account.3.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.3.sip_transport == 'udp'}0{/if} + {if $account.3.sip_transport == 'tcp'}1{/if} + {if $account.3.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.4.user_id} + {$account.4.display_name} + + {$account.4.server_address} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.register_expires} + + 5060 + 0 + 3600 + {if isset($account.4.password)}1{else}0{/if} + {$account.4.outbound_proxy_primary} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.outbound_proxy_secondary} + {$account.4.sip_port} + {if isset($account.4.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line4)}{$fanvil_ringtone_line4}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.4.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.4.sip_transport == 'dns srv'}1{/if} + {if $account.4.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.4.sip_transport == 'udp'}0{/if} + {if $account.4.sip_transport == 'tcp'}1{/if} + {if $account.4.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.5.user_id} + {$account.5.display_name} + + {$account.5.server_address} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.register_expires} + + 5060 + 0 + 3600 + {if isset($account.5.password)}1{else}0{/if} + {$account.5.outbound_proxy_primary} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.outbound_proxy_secondary} + {$account.5.sip_port} + {if isset($account.5.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line5)}{$fanvil_ringtone_line5}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.5.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.5.sip_transport == 'udp'}0{/if} + {if $account.5.sip_transport == 'tcp'}1{/if} + {if $account.5.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.6.user_id} + {$account.6.display_name} + + {$account.6.server_address} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.register_expires} + + 5060 + 0 + 3600 + {if isset($account.6.password)}1{else}0{/if} + {$account.6.outbound_proxy_primary} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.outbound_proxy_secondary} + {$account.6.sip_port} + {if isset($account.6.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line)}{$fanvil_ringtone_line6}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.6.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.6.sip_transport == 'dns srv'}1{/if} + {if $account.6.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.6.sip_transport == 'udp'}0{/if} + {if $account.6.sip_transport == 'tcp'}1{/if} + {if $account.6.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.7.user_id} + {$account.7.display_name} + + {$account.7.server_address} + {$account.7.sip_port} + {$account.7.auth_id} + {$account.7.password} + {$account.7.register_expires} + + 5060 + 0 + 3600 + {if isset($account.7.password)}1{else}0{/if} + {$account.7.outbound_proxy_primary} + {$account.7.sip_port} + {$account.7.auth_id} + {$account.7.password} + {$account.7.outbound_proxy_secondary} + {$account.7.sip_port} + {if isset($account.7.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line7)}{$fanvil_ringtone_line7}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.7.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.7.sip_transport == 'dns srv'}1{/if} + {if $account.7.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.7.sip_transport == 'udp'}0{/if} + {if $account.7.sip_transport == 'tcp'}1{/if} + {if $account.7.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.8.user_id} + {$account.8.display_name} + + {$account.8.server_address} + {$account.8.sip_port} + {$account.8.auth_id} + {$account.8.password} + {$account.8.register_expires} + + 5060 + 0 + 3600 + {if isset($account.8.password)}1{else}0{/if} + {$account.8.outbound_proxy_primary} + {$account.8.sip_port} + {$account.8.auth_id} + {$account.8.password} + {$account.8.outbound_proxy_secondary} + {$account.8.sip_port} + {if isset($account.8.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line8)}{$fanvil_ringtone_line8}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.8.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.8.sip_transport == 'dns srv'}1{/if} + {if $account.8.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.8.sip_transport == 'udp'}0{/if} + {if $account.8.sip_transport == 'tcp'}1{/if} + {if $account.8.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.9.user_id} + {$account.9.display_name} + + {$account.9.server_address} + {$account.9.sip_port} + {$account.9.auth_id} + {$account.9.password} + {$account.9.register_expires} + + 5060 + 0 + 3600 + {if isset($account.9.password)}1{else}0{/if} + {$account.9.outbound_proxy_primary} + {$account.9.sip_port} + {$account.9.auth_id} + {$account.9.password} + {$account.9.outbound_proxy_secondary} + {$account.9.sip_port} + {if isset($account.9.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line9)}{$fanvil_ringtone_line9}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.9.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.9.sip_transport == 'dns srv'}1{/if} + {if $account.9.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.9.sip_transport == 'udp'}0{/if} + {if $account.9.sip_transport == 'tcp'}1{/if} + {if $account.9.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.10.user_id} + {$account.10.display_name} + + {$account.10.server_address} + {$account.10.sip_port} + {$account.10.auth_id} + {$account.10.password} + {$account.10.register_expires} + + 5060 + 0 + 3600 + {if isset($account.10.password)}1{else}0{/if} + {$account.10.outbound_proxy_primary} + {$account.10.sip_port} + {$account.10.auth_id} + {$account.10.password} + {$account.10.outbound_proxy_secondary} + {$account.10.sip_port} + {if isset($account.10.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line10)}{$fanvil_ringtone_line10}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.10.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.10.sip_transport == 'dns srv'}1{/if} + {if $account.10.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.10.sip_transport == 'udp'}0{/if} + {if $account.10.sip_transport == 'tcp'}1{/if} + {if $account.10.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.11.user_id} + {$account.11.display_name} + + {$account.11.server_address} + {$account.11.sip_port} + {$account.11.auth_id} + {$account.11.password} + {$account.11.register_expires} + + 5060 + 0 + 3600 + {if isset($account.11.password)}1{else}0{/if} + {$account.11.outbound_proxy_primary} + {$account.11.sip_port} + {$account.11.auth_id} + {$account.11.password} + {$account.11.outbound_proxy_secondary} + {$account.11.sip_port} + {if isset($account.11.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line11)}{$fanvil_ringtone_line11}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.11.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.11.sip_transport == 'dns srv'}1{/if} + {if $account.11.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.11.sip_transport == 'udp'}0{/if} + {if $account.11.sip_transport == 'tcp'}1{/if} + {if $account.11.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.12.user_id} + {$account.12.display_name} + + {$account.12.server_address} + {$account.12.sip_port} + {$account.12.auth_id} + {$account.12.password} + {$account.12.register_expires} + + 5060 + 0 + 3600 + {if isset($account.12.password)}1{else}0{/if} + {$account.12.outbound_proxy_primary} + {$account.12.sip_port} + {$account.12.auth_id} + {$account.12.password} + {$account.12.outbound_proxy_secondary} + {$account.12.sip_port} + {if isset($account.12.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line12)}{$fanvil_ringtone_line12}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.12.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.12.sip_transport == 'dns srv'}1{/if} + {if $account.12.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.12.sip_transport == 'udp'}0{/if} + {if $account.12.sip_transport == 'tcp'}1{/if} + {if $account.12.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + 0 + 30 + 1 + 0 + + + + + 1 + 1 + 0 + . + 1 + 0 + 0 + 1500 + 1730 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 3 + 1 + 0 + 1 + 1 + 0 + 0 + 30 + 5 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + + 1 + 1 + 0 + 0 + 0 + {$fanvil_default_answer_mode} + {$fanvil_default_dial_mode} + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 480 + 486 + 603 + 0 + 0 + + + 0 + + + + + 0 + + + + 1 + 0 + 0 + 0 + 0 + 0 + 11 + 1 + 10 + 0 + + + + -1 + {if isset($fanvil_default_ringtone_ext)}{$fanvil_default_ringtone_ext}{else}Type 1{/if} + + + + -1 + {if isset($fanvil_default_ringtone_ext2)}{$fanvil_default_ringtone_ext2}{else}Type 1{/if} + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + {if isset($fanvil_menu_password)}{$fanvil_menu_password}{else}123{/if} + 123 + + 0 + 0 + 0 + 110 + + 0 + 0 + 0 + 5 + 0 + 1 + 1 + $name@$protocol$instance + 0 + 0 + 1 + 1 + 30 + + + {$fanvil_greeting} + 5 + {if isset($fanvil_display_brightness_inactive)}{$fanvil_display_brightness_inactive}{else}4{/if} + {if isset($fanvil_display_brightness_active)}{$fanvil_display_brightness_active}{else}12{/if} + {if isset($fanvil_display_inactivity_time)}{$fanvil_display_inactivity_time}{else}45{/if} + 0 + + bcm911188sv + en + 0 + + + 0 + 3 + 0 + 2 + 0 + 0 + 3 + + + 0 + 1 + + + 0 + 1 + 1 + 2 + 1 + 1 + 2 + 0 + 0 + 3 + + + + + + + + + + + {if isset($fanvil_default_ringtone)}{$fanvil_default_ringtone}{else}Type 1{/if} + + + {if isset($fanvil_enable_sntp)}{$fanvil_enable_sntp}{else}1{/if} + {$ntp_server_primary} + {$ntp_server_secondary} + {$fanvil_time_zone} + {$fanvil_time_zone_name} + {$fanvil_enable_dst} + {if isset($fanvil_dst_fixed_type)}{$fanvil_dst_fixed_type}{else}0{/if} + 60 + 1 + {if isset($fanvil_location)}{$fanvil_location}{else}4{/if} + 0 + {if isset($fanvil_dst_minute_offset)}{$fanvil_dst_minute_offset}{else}60{/if} + 3 + 5 + 0 + 2 + 10 + 5 + 0 + 2 + + + 0 + {if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} + {if isset($fanvil_date_display)}{$fanvil_date_display}{else}6{/if} + {if isset($fanvil_date_separator)}{$fanvil_date_separator}{else}0{/if} + + + 0 + {if isset($fanvil_softkey_exit)}{$fanvil_softkey_exit}{else}2{/if} + {if isset($fanvil_softkey_desktopsoftkey)}{$fanvil_softkey_desktopsoftkey}{else}history;contact;dnd;menu;{/if} + {if isset($fanvil_softkey_talkingsoftkey)}{$fanvil_softkey_talkingsoftkey}{else}hold;xfer;conf;end;{/if} + {if isset($fanvil_softkey_ringingsoftkey)}{$fanvil_softkey_ringingsoftkey}{else}accept;none;forward;reject;{/if} + end;none;none;none; + end;none;none;xfer; + hold;none;split;end; + xfer;accept;reject;end; + redial;none;none;end; + send;2aB;delete;exit; + send;2aB;delete;exit; + delete;xfer;send;exit; + send;2aB;delete;exit; + history;status;none;none;none; + pline;nline;none;none;none; + none;none;voldown;volup;none; + status;none;none;none;reset; + contact;clogs;redial;video;cancel; + + + + + + 0 + 0 + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + 120 + 0 + + + 1 + 1 + 60 + 40 + 25 + 150 + 200 + 1 + 1 + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0000000000000000 + + + 0 + 0 + 0 + 0 + 1 + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + 0 + 3 + 5 + 1 + 0 + 0 + 16 + 360 + 1080 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + {foreach $keys["line"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/foreach} + + + {strip}{*-- Each Internal Index contains 6 keys --*}{/strip} + + {foreach $keys["memory"] as $row} + {if $row.device_key_id <= 6} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 6 && $row.device_key_id <= 12} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 12 && $row.device_key_id <= 18} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 18 && $row.device_key_id <= 24} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 24 && $row.device_key_id <= 30} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + {foreach $keys["programmable"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + + {/foreach} + + + 0 + 80 + 443 + 1 + 0 + 0 + 0 + 23 + + 15 + + {if isset($admin_name)}{$admin_name}{else}admin{/if} + {if isset($admin_password)}{$admin_password}{else}admin{/if} + 10 + + + guest + guest + 5 + + + + INFO + + {if $fanvil_syslog_enable == '1'},syslog{else}stdout{/if} + platform.log + 512KB + platform + {if isset($fanvil_syslog_server)}{$fanvil_syslog_server}{else}0.0.0.0{/if} + {if isset($fanvil_syslog_server_port)}{$fanvil_syslog_server_port}{else}514{/if} + + + 1 + 00100400FV02001000000c383e42691d + 1 + 0 + 0.0.0.0 + admin + + 0.0.0.0 + + + dps + dps + 3600 + 2 + 020 + 0 + {$fanvil_stun_server} + {$fanvil_stun_port} + 30000 + + + 0 + 1 + 0 + 224.0.2.0 + 16360 + SIP Hotspot + 0 + 1 + 0 + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + + -1 + 0 + 0 + 0 + 0.0.0.0 + + + 1 + 0.0.0.0 + + + + + 0 + 0 + + + {$http_auth_username} + {$http_auth_password} + + + + 1 + 1 + 5 + {if isset($fanvil_provision_url)}{$fanvil_provision_url}{else}https://{$domain_name}/app/provision{/if} + {$fanvil_firmware_config} + 5 + 1 + 1 + 720 + 0 + + 1 + 224.0.1.75 + 5060 + 0 + 1 + + + 66 + 0 + 0 + + + + {if isset($fanvil_enable_auto_upgrade)}{$fanvil_enable_auto_upgrade}{else}0{/if} + {if isset($fanvil_firmware_upgrade_server_1)}{$fanvil_firmware_upgrade_server_1}{else}{/if} + {if isset($fanvil_firmware_upgrade_server_2)}{$fanvil_firmware_upgrade_server_2}{else}{/if} + {if isset($fanvil_firmware_upgrade_interval)}{$fanvil_firmware_upgrade_interval}{else}24{/if} + + + {if isset($fanvil_enable_vlan)}{$fanvil_enable_vlan}{else}0{/if} + {if isset($fanvil_lan_port_vlan)}{$fanvil_lan_port_vlan}{else}256{/if} + {if isset($fanvil_pc_port_vlan)}2{else}1{/if} + {if isset($fanvil_pc_port_vlan)}{$fanvil_pc_port_vlan}{else}254{/if} + {if isset($fanvil_qos_sip)}{$fanvil_qos_sip}{else}0{/if} + {if isset($fanvil_qos_rtp_voice)}{$fanvil_qos_rtp_voice}{else}0{/if} + {if isset($fanvil_qos_rtp_video)}{$fanvil_qos_rtp_video}{else}0{/if} + 0 + {if isset($fanvil_enable_diffserv)}{$fanvil_enable_diffserv}{else}0{/if} + {if isset($fanvil_dscp_sip)}{$fanvil_dscp_sip}{else}46{/if} + {if isset($fanvil_dscp_rtp_voice)}{$fanvil_dscp_rtp_voice}{else}46{/if} + {if isset($fanvil_dscp_rtp_video)}{$fanvil_dscp_rtp_video}{else}46{/if} + {if isset($fanvil_lldp_tx_enable)}{$fanvil_lldp_tx_enable}{else}1{/if} + {if isset($fanvil_lldp_refresh)}{$fanvil_lldp_refresh}{else}60{/if} + {if isset($fanvil_lldp_learn)}{$fanvil_lldp_learn}{else}1{/if} + 0 + 1 + 60 + 132 + + + + + + + 0 + 0 + 0 + 0 + + + + 1 + 0 + 0 + + + 1 + G729 + 0 + 8 + 0.0.0.0 + 10000 + + + 0 + Fanvil X4U + 1 + + + 0 + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + diff --git a/resources/templates/provision/fanvil/x5s/{$mac}.cfg b/resources/templates/provision/fanvil/x5s/{$mac}.cfg index 9875636784..8883212536 100644 --- a/resources/templates/provision/fanvil/x5s/{$mac}.cfg +++ b/resources/templates/provision/fanvil/x5s/{$mac}.cfg @@ -540,7 +540,7 @@ {$account.4.sip_port} {$account.4.auth_id} {$account.4.password} - {$account.1.register_expires} + {$account.4.register_expires} 5060 0 @@ -1176,7 +1176,7 @@ 0 - {if isset($fanvil_time_display)}1{else}0{/if} + {if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} {if isset($fanvil_date_display)}{$fanvil_date_display}{else}6{/if} {if isset($fanvil_date_separator)}{$fanvil_date_separator}{else}0{/if} @@ -1738,194 +1738,198 @@ 0 0 0 -{strip}{*-- Each Internal Index contains 8 keys --*}{/strip} + {strip}{*-- Each Internal Index contains 8 keys --*}{/strip} -{foreach $keys["line"] as $row} -{if $row.device_key_id <= 8} + {foreach $keys["line"] as $row} + {if $row.device_key_id <= 8} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["line"] as $row} -{if $row.device_key_id > 8 && $row.device_key_id <= 16} + {foreach $keys["line"] as $row} + {if $row.device_key_id > 8 && $row.device_key_id <= 16} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["line"] as $row} -{if $row.device_key_id > 16 && $row.device_key_id <= 24} + {foreach $keys["line"] as $row} + {if $row.device_key_id > 16 && $row.device_key_id <= 24} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["line"] as $row} -{if $row.device_key_id > 24 && $row.device_key_id <= 32} + {foreach $keys["line"] as $row} + {if $row.device_key_id > 24 && $row.device_key_id <= 32} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["line"] as $row} -{if $row.device_key_id > 32 && $row.device_key_id <= 40} + {foreach $keys["line"] as $row} + {if $row.device_key_id > 32 && $row.device_key_id <= 40} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["memory"] as $row} -{if $row.device_key_id <= 8} + {foreach $keys["memory"] as $row} + {if $row.device_key_id <= 8} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["memory"] as $row} -{if $row.device_key_id > 8 && $row.device_key_id <= 16} + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 8 && $row.device_key_id <= 16} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["memory"] as $row} -{if $row.device_key_id > 16 && $row.device_key_id <= 24} + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 16 && $row.device_key_id <= 24} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["memory"] as $row} -{if $row.device_key_id > 24 && $row.device_key_id <= 32} + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 24 && $row.device_key_id <= 32} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["memory"] as $row} -{if $row.device_key_id > 32 && $row.device_key_id <= 40} + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 32 && $row.device_key_id <= 40} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} - - -{foreach $keys["programmable"] as $row} + {foreach $keys["programmable"] as $row} {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} {$row.device_key_label} + {$row.device_key_icon} -{/foreach} -{strip}{*-- Each External Index contains 20 keys --*}{/strip} + {/foreach} + {strip}{*-- Each External Index contains 20 keys --*}{/strip} -{foreach $keys["expansion"] as $row} -{if $row.device_key_id < 20} + {foreach $keys["expansion"] as $row} + {if $row.device_key_id < 20} 0 {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} {$row.device_key_label} + {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["expansion"] as $row} -{if $row.device_key_id > 19 && $row.device_key_id < 40} + {foreach $keys["expansion"] as $row} + {if $row.device_key_id > 19 && $row.device_key_id < 40} 0 {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} {$row.device_key_label} + {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["expansion"] as $row} -{if $row.device_key_id > 39 && $row.device_key_id < 60} + {foreach $keys["expansion"] as $row} + {if $row.device_key_id > 39 && $row.device_key_id < 60} 0 {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} {$row.device_key_label} + {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["expansion"] as $row} -{if $row.device_key_id > 59 && $row.device_key_id < 80} + {foreach $keys["expansion"] as $row} + {if $row.device_key_id > 59 && $row.device_key_id < 80} 0 {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} {$row.device_key_label} + {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} -{foreach $keys["expansion"] as $row} -{if $row.device_key_id > 79 && $row.device_key_id < 100} + {foreach $keys["expansion"] as $row} + {if $row.device_key_id > 79 && $row.device_key_id < 100} 0 {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type} {$row.device_key_label} + {$row.device_key_icon} -{/if} -{/foreach} + {/if} + {/foreach} diff --git a/resources/templates/provision/fanvil/x5u/{$mac}.cfg b/resources/templates/provision/fanvil/x5u/{$mac}.cfg new file mode 100644 index 0000000000..38439e2e30 --- /dev/null +++ b/resources/templates/provision/fanvil/x5u/{$mac}.cfg @@ -0,0 +1,3575 @@ + + + 2.0000000000 + + 0 + + + + + {if isset($dns_server_primary)}{$dns_server_primary}{else}9.9.9.9{/if} + {if isset($dns_server_secondary)}{$dns_server_secondary}{else}208.67.222.222{/if} + 1 + 1 + 1 + 1 + 0 + Fanvil X5U + 0 + user123 + password + 2 + 1500 + + + + + + + 1 + 1 + 0 + 0 + Fanvil X5U + + {$fanvil_wifi_enable} + + + + 1 + 97 + 20 + 108 + 109 + 103 + 104 + 102 + 105 + 101 + 107 + 0 + 0 + 117 + 0 + 10000 + 1000 + 1 + + + {if isset($fanvil_country_toneset)}{$fanvil_country_toneset}{else}11{/if} + 1 + 0 + 350+440/0 + 440+480/2000,0/4000 + 480+620/500,0/500 + + 440/300,0/10000,440/300,0/10000,0/0 + + + + + 350+440/100,0/100,350+440/100,0/100,350+440/100,0/100,350+440/0 + + + 400/500,0/6000 + 1400/500,0/0 + 440/500,0/5000 + + + PCMU,PCMA,G726-16,G726-24,G726-32,G726-40,G729,G723,iLBC + + + + {$sip_port} + {$fanvil_stun_server} + {$fanvil_stun_port} + 50 + 800 + + 32 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + {$account.1.user_id} + {$account.1.display_name} + + {$account.1.server_address} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.register_expires} + + 5060 + 0 + 3600 + {if isset($account.1.password)}1{else}0{/if} + {$account.1.outbound_proxy_primary} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.outbound_proxy_secondary} + {$account.1.sip_port} + {if isset($account.1.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line1)}{$fanvil_ringtone_line1}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.1.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.1.sip_transport == 'udp'}0{/if} + {if $account.1.sip_transport == 'tcp'}1{/if} + {if $account.1.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.2.user_id} + {$account.2.display_name} + + {$account.2.server_address} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.register_expires} + + 5060 + 0 + 3600 + {if isset($account.2.password)}1{else}0{/if} + {$account.2.outbound_proxy_primary} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.outbound_proxy_secondary} + {$account.2.sip_port} + {if isset($account.2.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line2)}{$fanvil_ringtone_line2}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.2.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.2.sip_transport == 'udp'}0{/if} + {if $account.2.sip_transport == 'tcp'}1{/if} + {if $account.2.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.3.user_id} + {$account.3.display_name} + + {$account.3.server_address} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.register_expires} + + 5060 + 0 + 3600 + {if isset($account.3.password)}1{else}0{/if} + {$account.3.outbound_proxy_primary} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.outbound_proxy_secondary} + {$account.3.sip_port} + {if isset($account.3.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line3)}{$fanvil_ringtone_line3}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.3.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.3.sip_transport == 'dns srv'}1{/if} + {if $account.3.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.3.sip_transport == 'udp'}0{/if} + {if $account.3.sip_transport == 'tcp'}1{/if} + {if $account.3.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.4.user_id} + {$account.4.display_name} + + {$account.4.server_address} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.register_expires} + + 5060 + 0 + 3600 + {if isset($account.4.password)}1{else}0{/if} + {$account.4.outbound_proxy_primary} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.outbound_proxy_secondary} + {$account.4.sip_port} + {if isset($account.4.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line4)}{$fanvil_ringtone_line4}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.4.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.4.sip_transport == 'dns srv'}1{/if} + {if $account.4.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.4.sip_transport == 'udp'}0{/if} + {if $account.4.sip_transport == 'tcp'}1{/if} + {if $account.4.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.5.user_id} + {$account.5.display_name} + + {$account.5.server_address} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.register_expires} + + 5060 + 0 + 3600 + {if isset($account.5.password)}1{else}0{/if} + {$account.5.outbound_proxy_primary} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.outbound_proxy_secondary} + {$account.5.sip_port} + {if isset($account.5.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line5)}{$fanvil_ringtone_line5}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.5.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.5.sip_transport == 'dns srv'}1{/if} + {if $account.5.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.5.sip_transport == 'udp'}0{/if} + {if $account.5.sip_transport == 'tcp'}1{/if} + {if $account.5.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.6.user_id} + {$account.6.display_name} + + {$account.6.server_address} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.register_expires} + + 5060 + 0 + 3600 + {if isset($account.6.password)}1{else}0{/if} + {$account.6.outbound_proxy_primary} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.outbound_proxy_secondary} + {$account.6.sip_port} + {if isset($account.6.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line6)}{$fanvil_ringtone_line6}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.6.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.6.sip_transport == 'dns srv'}1{/if} + {if $account.6.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.6.sip_transport == 'udp'}0{/if} + {if $account.6.sip_transport == 'tcp'}1{/if} + {if $account.6.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.7.user_id} + {$account.7.display_name} + + {$account.7.server_address} + {$account.7.sip_port} + {$account.7.auth_id} + {$account.7.password} + {$account.7.register_expires} + + 5060 + 0 + 3600 + {if isset($account.7.password)}1{else}0{/if} + {$account.7.outbound_proxy_primary} + {$account.7.sip_port} + {$account.7.auth_id} + {$account.7.password} + {$account.7.outbound_proxy_secondary} + {$account.7.sip_port} + {if isset($account.7.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line7)}{$fanvil_ringtone_line7}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.7.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.7.sip_transport == 'dns srv'}1{/if} + {if $account.7.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.7.sip_transport == 'udp'}0{/if} + {if $account.7.sip_transport == 'tcp'}1{/if} + {if $account.7.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.8.user_id} + {$account.8.display_name} + + {$account.8.server_address} + {$account.8.sip_port} + {$account.8.auth_id} + {$account.8.password} + {$account.8.register_expires} + + 5060 + 0 + 3600 + {if isset($account.8.password)}1{else}0{/if} + {$account.8.outbound_proxy_primary} + {$account.8.sip_port} + {$account.8.auth_id} + {$account.8.password} + {$account.8.outbound_proxy_secondary} + {$account.8.sip_port} + {if isset($account.8.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line8)}{$fanvil_ringtone_line8}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.8.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.8.sip_transport == 'dns srv'}1{/if} + {if $account.8.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.8.sip_transport == 'udp'}0{/if} + {if $account.8.sip_transport == 'tcp'}1{/if} + {if $account.8.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.9.user_id} + {$account.9.display_name} + + {$account.9.server_address} + {$account.9.sip_port} + {$account.9.auth_id} + {$account.9.password} + {$account.9.register_expires} + + 5060 + 0 + 3600 + {if isset($account.9.password)}1{else}0{/if} + {$account.9.outbound_proxy_primary} + {$account.9.sip_port} + {$account.9.auth_id} + {$account.9.password} + {$account.9.outbound_proxy_secondary} + {$account.9.sip_port} + {if isset($account.9.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line9)}{$fanvil_ringtone_line9}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.9.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.9.sip_transport == 'dns srv'}1{/if} + {if $account.9.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.9.sip_transport == 'udp'}0{/if} + {if $account.9.sip_transport == 'tcp'}1{/if} + {if $account.9.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.10.user_id} + {$account.10.display_name} + + {$account.10.server_address} + {$account.10.sip_port} + {$account.10.auth_id} + {$account.10.password} + {$account.10.register_expires} + + 5060 + 0 + 3600 + {if isset($account.10.password)}1{else}0{/if} + {$account.10.outbound_proxy_primary} + {$account.10.sip_port} + {$account.10.auth_id} + {$account.10.password} + {$account.10.outbound_proxy_secondary} + {$account.10.sip_port} + {if isset($account.10.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line10)}{$fanvil_ringtone_line10}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.10.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.10.sip_transport == 'dns srv'}1{/if} + {if $account.10.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.10.sip_transport == 'udp'}0{/if} + {if $account.10.sip_transport == 'tcp'}1{/if} + {if $account.10.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.11.user_id} + {$account.11.display_name} + + {$account.11.server_address} + {$account.11.sip_port} + {$account.11.auth_id} + {$account.11.password} + {$account.11.register_expires} + + 5060 + 0 + 3600 + {if isset($account.11.password)}1{else}0{/if} + {$account.11.outbound_proxy_primary} + {$account.11.sip_port} + {$account.11.auth_id} + {$account.11.password} + {$account.11.outbound_proxy_secondary} + {$account.11.sip_port} + {if isset($account.11.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line11)}{$fanvil_ringtone_line11}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.11.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.11.sip_transport == 'dns srv'}1{/if} + {if $account.11.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.11.sip_transport == 'udp'}0{/if} + {if $account.11.sip_transport == 'tcp'}1{/if} + {if $account.11.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.12.user_id} + {$account.12.display_name} + + {$account.12.server_address} + {$account.12.sip_port} + {$account.12.auth_id} + {$account.12.password} + {$account.12.register_expires} + + 5060 + 0 + 3600 + {if isset($account.12.password)}1{else}0{/if} + {$account.12.outbound_proxy_primary} + {$account.12.sip_port} + {$account.12.auth_id} + {$account.12.password} + {$account.12.outbound_proxy_secondary} + {$account.12.sip_port} + {if isset($account.12.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line12)}{$fanvil_ringtone_line12}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.12.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.12.sip_transport == 'dns srv'}1{/if} + {if $account.12.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.12.sip_transport == 'udp'}0{/if} + {if $account.12.sip_transport == 'tcp'}1{/if} + {if $account.12.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.13.user_id} + {$account.13.display_name} + + {$account.13.server_address} + {$account.13.sip_port} + {$account.13.auth_id} + {$account.13.password} + {$account.13.register_expires} + + 5060 + 0 + 3600 + {if isset($account.13.password)}1{else}0{/if} + {$account.13.outbound_proxy_primary} + {$account.13.sip_port} + {$account.13.auth_id} + {$account.13.password} + {$account.13.outbound_proxy_secondary} + {$account.13.sip_port} + {if isset($account.13.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line13)}{$fanvil_ringtone_line13}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.13.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.13.sip_transport == 'dns srv'}1{/if} + {if $account.13.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.13.sip_transport == 'udp'}0{/if} + {if $account.13.sip_transport == 'tcp'}1{/if} + {if $account.13.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.14.user_id} + {$account.14.display_name} + + {$account.14.server_address} + {$account.14.sip_port} + {$account.14.auth_id} + {$account.14.password} + {$account.14.register_expires} + + 5060 + 0 + 3600 + {if isset($account.14.password)}1{else}0{/if} + {$account.14.outbound_proxy_primary} + {$account.14.sip_port} + {$account.14.auth_id} + {$account.14.password} + {$account.14.outbound_proxy_secondary} + {$account.14.sip_port} + {if isset($account.14.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line14)}{$fanvil_ringtone_line14}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.14.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.14.sip_transport == 'dns srv'}1{/if} + {if $account.14.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.14.sip_transport == 'udp'}0{/if} + {if $account.14.sip_transport == 'tcp'}1{/if} + {if $account.14.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.15.user_id} + {$account.15.display_name} + + {$account.15.server_address} + {$account.15.sip_port} + {$account.15.auth_id} + {$account.15.password} + {$account.15.register_expires} + + 5060 + 0 + 3600 + {if isset($account.15.password)}1{else}0{/if} + {$account.15.outbound_proxy_primary} + {$account.15.sip_port} + {$account.15.auth_id} + {$account.15.password} + {$account.15.outbound_proxy_secondary} + {$account.15.sip_port} + {if isset($account.15.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line15)}{$fanvil_ringtone_line15}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.15.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.15.sip_transport == 'dns srv'}1{/if} + {if $account.15.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.15.sip_transport == 'udp'}0{/if} + {if $account.15.sip_transport == 'tcp'}1{/if} + {if $account.15.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.16.user_id} + {$account.16.display_name} + + {$account.16.server_address} + {$account.16.sip_port} + {$account.16.auth_id} + {$account.16.password} + {$account.16.register_expires} + + 5060 + 0 + 3600 + {if isset($account.16.password)}1{else}0{/if} + {$account.16.outbound_proxy_primary} + {$account.16.sip_port} + {$account.16.auth_id} + {$account.16.password} + {$account.16.outbound_proxy_secondary} + {$account.16.sip_port} + {if isset($account.16.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line16)}{$fanvil_ringtone_line16}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.16.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.16.sip_transport == 'dns srv'}1{/if} + {if $account.16.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.16.sip_transport == 'udp'}0{/if} + {if $account.16.sip_transport == 'tcp'}1{/if} + {if $account.16.sip_transport == 'tls'}2{/if} + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + 0 + 30 + 1 + 0 + + + + + 1 + 1 + 0 + . + 1 + 0 + 0 + 1500 + 1730 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 3 + 1 + 0 + 1 + 1 + 0 + 0 + 30 + 5 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + + 1 + 1 + 0 + 0 + 0 + {$fanvil_default_answer_mode} + {$fanvil_default_dial_mode} + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 480 + 486 + 603 + 0 + 0 + + + 0 + + + + + 0 + + + + 1 + 0 + 0 + 0 + 0 + 0 + 11 + 1 + 10 + 0 + + + + -1 + {if isset($fanvil_default_ringtone_ext)}{$fanvil_default_ringtone_ext}{else}Type 1{/if} + + + + -1 + {if isset($fanvil_default_ringtone_ext2)}{$fanvil_default_ringtone_ext2}{else}Type 1{/if} + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + {if isset($fanvil_menu_password)}{$fanvil_menu_password}{else}123{/if} + 123 + + 0 + 0 + 0 + 110 + + 0 + 0 + 0 + 5 + 0 + 1 + 1 + $name@$protocol$instance + 0 + 0 + 1 + 1 + 30 + + + {$fanvil_greeting} + 5 + {if isset($fanvil_display_brightness_inactive)}{$fanvil_display_brightness_inactive}{else}4{/if} + {if isset($fanvil_display_brightness_active)}{$fanvil_display_brightness_active}{else}12{/if} + {if isset($fanvil_display_inactivity_time)}{$fanvil_display_inactivity_time}{else}45{/if} + 0 + + bcm911188sv + en + 0 + + + 0 + 3 + 0 + 2 + 0 + 0 + 3 + + + 0 + 1 + + + 0 + 1 + 1 + 2 + 1 + 1 + 2 + 0 + 0 + 3 + + + + + + + + + + + {if isset($fanvil_default_ringtone)}{$fanvil_default_ringtone}{else}Type 1{/if} + + + {if isset($fanvil_enable_sntp)}{$fanvil_enable_sntp}{else}1{/if} + {$ntp_server_primary} + {$ntp_server_secondary} + {$fanvil_time_zone} + {$fanvil_time_zone_name} + {$fanvil_enable_dst} + {if isset($fanvil_dst_fixed_type)}{$fanvil_dst_fixed_type}{else}0{/if} + 60 + 1 + {if isset($fanvil_location)}{$fanvil_location}{else}4{/if} + 0 + {if isset($fanvil_dst_minute_offset)}{$fanvil_dst_minute_offset}{else}60{/if} + 3 + 5 + 0 + 2 + 10 + 5 + 0 + 2 + + + 0 + {if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} + {if isset($fanvil_date_display)}{$fanvil_date_display}{else}6{/if} + {if isset($fanvil_date_separator)}{$fanvil_date_separator}{else}0{/if} + + + 0 + {if isset($fanvil_softkey_exit)}{$fanvil_softkey_exit}{else}2{/if} + {if isset($fanvil_softkey_desktopsoftkey)}{$fanvil_softkey_desktopsoftkey}{else}history;contact;dnd;menu;{/if} + {if isset($fanvil_softkey_talkingsoftkey)}{$fanvil_softkey_talkingsoftkey}{else}hold;xfer;conf;end;{/if} + {if isset($fanvil_softkey_ringingsoftkey)}{$fanvil_softkey_ringingsoftkey}{else}accept;none;forward;reject;{/if} + end;none;none;none; + end;none;none;xfer; + hold;none;split;end; + xfer;accept;reject;end; + redial;none;none;end; + send;save;delete;exit; + send;2aB;delete;exit; + delete;xfer;send;exit; + send;2aB;delete;exit; + {if isset($fanvil_softkey_desktopclick)}{$fanvil_softkey_desktopclick}{else}history;status;none;none;none;{/if} + pline;nline;none;none;none; + none;none;voldown;volup;none; + status;none;none;none;reset; + contact;clogs;redial;video;cancel; + + + + + + 0 + 0 + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + 120 + 0 + + + 1 + 1 + 60 + 40 + 25 + 150 + 200 + 1 + 1 + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0000000000000000 + + + 0 + 0 + 0 + 0 + 1 + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + 0 + 3 + 5 + 1 + 0 + 0 + 16 + 360 + 1080 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + {foreach $keys["line"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/foreach} + + {strip}{*-- Each Internal Index contains 6 keys --*}{/strip} + + {foreach $keys["memory"] as $row} + {if $row.device_key_id <= 6} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 6 && $row.device_key_id <= 12} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 12 && $row.device_key_id <= 18} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 18 && $row.device_key_id <= 24} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 24 && $row.device_key_id <= 30} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + {foreach $keys["programmable"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + + {/foreach} + + + 0 + 80 + 443 + 1 + 0 + 0 + 0 + 23 + + 15 + + {if isset($admin_name)}{$admin_name}{else}admin{/if} + {if isset($admin_password)}{$admin_password}{else}admin{/if} + 10 + + + guest + guest + 5 + + + + INFO + + {if $fanvil_syslog_enable == '1'},syslog{else}stdout{/if} + platform.log + 512KB + platform + {if isset($fanvil_syslog_server)}{$fanvil_syslog_server}{else}0.0.0.0{/if} + {if isset($fanvil_syslog_server_port)}{$fanvil_syslog_server_port}{else}514{/if} + + + 1 + 00100400FV02001000000c383e43ed5d + 1 + 0 + 0.0.0.0 + admin + + 0.0.0.0 + + + dps + dps + 3600 + 0 + 020 + 0 + {$fanvil_stun_server} + {$fanvil_stun_port} + 30000 + + + 0 + 1 + 0 + 224.0.2.0 + 16360 + SIP Hotspot + 0 + 1 + 0 + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + + -1 + 0 + 0 + 0 + 0.0.0.0 + + + 1 + 0.0.0.0 + + + + + 0 + 0 + + + {$http_auth_username} + {$http_auth_password} + + + + 1 + 1 + 5 + {if isset($fanvil_provision_url)}{$fanvil_provision_url}{else}https://{$domain_name}/app/provision{/if} + {$fanvil_firmware_config} + 5 + 1 + 1 + 720 + 0 + + 1 + 224.0.1.75 + 5060 + 0 + 1 + + + 66 + 0 + 0 + + + + {if isset($fanvil_enable_auto_upgrade)}{$fanvil_enable_auto_upgrade}{else}0{/if} + {if isset($fanvil_firmware_upgrade_server_1)}{$fanvil_firmware_upgrade_server_1}{else}{/if} + {if isset($fanvil_firmware_upgrade_server_2)}{$fanvil_firmware_upgrade_server_2}{else}{/if} + {if isset($fanvil_firmware_upgrade_interval)}{$fanvil_firmware_upgrade_interval}{else}24{/if} + + + {if isset($fanvil_enable_vlan)}{$fanvil_enable_vlan}{else}0{/if} + {if isset($fanvil_lan_port_vlan)}{$fanvil_lan_port_vlan}{else}256{/if} + {if isset($fanvil_pc_port_vlan)}2{else}1{/if} + {if isset($fanvil_pc_port_vlan)}{$fanvil_pc_port_vlan}{else}254{/if} + {if isset($fanvil_qos_sip)}{$fanvil_qos_sip}{else}0{/if} + {if isset($fanvil_qos_rtp_voice)}{$fanvil_qos_rtp_voice}{else}0{/if} + {if isset($fanvil_qos_rtp_video)}{$fanvil_qos_rtp_video}{else}0{/if} + 0 + {if isset($fanvil_enable_diffserv)}{$fanvil_enable_diffserv}{else}0{/if} + {if isset($fanvil_dscp_sip)}{$fanvil_dscp_sip}{else}46{/if} + {if isset($fanvil_dscp_rtp_voice)}{$fanvil_dscp_rtp_voice}{else}46{/if} + {if isset($fanvil_dscp_rtp_video)}{$fanvil_dscp_rtp_video}{else}46{/if} + {if isset($fanvil_lldp_tx_enable)}{$fanvil_lldp_tx_enable}{else}1{/if} + {if isset($fanvil_lldp_refresh)}{$fanvil_lldp_refresh}{else}60{/if} + {if isset($fanvil_lldp_learn)}{$fanvil_lldp_learn}{else}1{/if} + 0 + 1 + 60 + 132 + + + + + + + 0 + 0 + 0 + 0 + + + + 1 + 0 + 0 + + + 1 + G729 + 0 + 8 + 0.0.0.0 + 10000 + + + 0 + Fanvil X5U + 1 + + + 0 + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + diff --git a/resources/templates/provision/fanvil/x6/{$mac}.cfg b/resources/templates/provision/fanvil/x6/{$mac}.cfg index 1bd368a520..b2edecc1fa 100644 --- a/resources/templates/provision/fanvil/x6/{$mac}.cfg +++ b/resources/templates/provision/fanvil/x6/{$mac}.cfg @@ -162,6 +162,8 @@ 1 0 0 + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -170,13 +172,9 @@ 1 0 5060 - {if $account.1.sip_transport == 'udp'}0{/if} {if $account.1.sip_transport == 'tcp'}1{/if} {if $account.1.sip_transport == 'tls'}2{/if} - {if $account.1.sip_transport == 'dns srv'}1{/if} - {if $account.1.sip_transport == 'dns srv'}1{/if} - 0 0 @@ -206,7 +204,7 @@ *67 - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -307,7 +305,8 @@ 1 0 0 - + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -316,13 +315,9 @@ 1 0 5060 - {if $account.2.sip_transport == 'udp'}0{/if} {if $account.2.sip_transport == 'tcp'}1{/if} {if $account.2.sip_transport == 'tls'}2{/if} - {if $account.2.sip_transport == 'dns srv'}1{/if} - {if $account.2.sip_transport == 'dns srv'}1{/if} - 0 0 @@ -352,7 +347,7 @@ *67 - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -453,7 +448,8 @@ 1 0 0 - + {if $account.3.sip_transport == 'dns srv'}1{/if} + {if $account.3.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -462,13 +458,9 @@ 1 0 5060 - {if $account.3.sip_transport == 'udp'}0{/if} {if $account.3.sip_transport == 'tcp'}1{/if} {if $account.3.sip_transport == 'tls'}2{/if} - {if $account.3.sip_transport == 'dns srv'}1{/if} - {if $account.3.sip_transport == 'dns srv'}1{/if} - 0 0 @@ -500,7 +492,7 @@ - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -545,7 +537,7 @@ {$account.4.sip_port} {$account.4.auth_id} {$account.4.password} - {$account.1.register_expires} + {$account.4.register_expires} 5060 0 @@ -601,7 +593,8 @@ 1 0 0 - + {if $account.4.sip_transport == 'dns srv'}1{/if} + {if $account.4.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -610,13 +603,9 @@ 1 0 5060 - {if $account.4.sip_transport == 'udp'}0{/if} {if $account.4.sip_transport == 'tcp'}1{/if} {if $account.4.sip_transport == 'tls'}2{/if} - {if $account.4.sip_transport == 'dns srv'}1{/if} - {if $account.4.sip_transport == 'dns srv'}1{/if} - 0 0 @@ -646,7 +635,7 @@ *67 - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -747,7 +736,8 @@ 1 0 0 - + {if $account.5.sip_transport == 'dns srv'}1{/if} + {if $account.5.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -756,13 +746,9 @@ 1 0 5060 - {if $account.5.sip_transport == 'udp'}0{/if} {if $account.5.sip_transport == 'tcp'}1{/if} {if $account.5.sip_transport == 'tls'}2{/if} - {if $account.5.sip_transport == 'dns srv'}1{/if} - {if $account.5.sip_transport == 'dns srv'}1{/if} - 0 0 @@ -792,7 +778,7 @@ *67 - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -893,7 +879,8 @@ 1 0 0 - + {if $account.6.sip_transport == 'dns srv'}1{/if} + {if $account.6.sip_transport == 'dns srv'}1{/if} 0 0 0 @@ -902,13 +889,9 @@ 1 0 5060 - {if $account.6.sip_transport == 'udp'}0{/if} {if $account.6.sip_transport == 'tcp'}1{/if} {if $account.6.sip_transport == 'tls'}2{/if} - {if $account.6.sip_transport == 'dns srv'}1{/if} - {if $account.6.sip_transport == 'dns srv'}1{/if} - 0 0 @@ -938,7 +921,7 @@ *67 - opus,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} @@ -1176,12 +1159,10 @@ 5 0 2 - 1 - 2 0 - {if isset($fanvil_time_display)}1{else}0{/if} + {if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} {if isset($fanvil_date_display)}{$fanvil_date_display}{else}6{/if} {if isset($fanvil_date_separator)}{$fanvil_date_separator}{else}0{/if} diff --git a/resources/templates/provision/fanvil/x6u/{$mac}.cfg b/resources/templates/provision/fanvil/x6u/{$mac}.cfg new file mode 100644 index 0000000000..9e2fdfac51 --- /dev/null +++ b/resources/templates/provision/fanvil/x6u/{$mac}.cfg @@ -0,0 +1,4228 @@ + + + 2.0000000000 + + 0 + + + + + {if isset($dns_server_primary)}{$dns_server_primary}{else}9.9.9.9{/if} + {if isset($dns_server_secondary)}{$dns_server_secondary}{else}208.67.222.222{/if} + 1 + 1 + 1 + 1 + 0 + Fanvil X6U + 0 + user123 + password + 2 + 1500 + + + + + + + 1 + 1 + 0 + 0 + Fanvil X6U + + {$fanvil_wifi_enable} + + + + 1 + 97 + 20 + 108 + 109 + 103 + 104 + 102 + 105 + 101 + 107 + 0 + 0 + 117 + 0 + 10000 + 1000 + 1 + + + {if isset($fanvil_country_toneset)}{$fanvil_country_toneset}{else}11{/if} + 1 + 0 + 350+440/0 + 440+480/2000,0/4000 + 480+620/500,0/500 + + 440/300,0/10000,440/300,0/10000,0/0 + + + + + 350+440/100,0/100,350+440/100,0/100,350+440/100,0/100,350+440/0 + + + 400/500,0/6000 + 1400/500,0/0 + 440/500,0/5000 + + + PCMU,PCMA,G726-16,G726-24,G726-32,G726-40,G729,G723,iLBC + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}H264{/if} + 25 + 2000000 + 4 + 2 + + + + {$sip_port} + {$fanvil_stun_server} + {$fanvil_stun_port} + 50 + 800 + + 32 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + {$account.1.user_id} + {$account.1.display_name} + + {$account.1.server_address} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.register_expires} + + 5060 + 0 + 3600 + {if isset($account.1.password)}1{else}0{/if} + {$account.1.outbound_proxy_primary} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.outbound_proxy_secondary} + {$account.1.sip_port} + {if isset($account.1.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line1)}{$fanvil_ringtone_line1}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.1.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.1.sip_transport == 'udp'}0{/if} + {if $account.1.sip_transport == 'tcp'}1{/if} + {if $account.1.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.2.user_id} + {$account.2.display_name} + + {$account.2.server_address} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.register_expires} + + 5060 + 0 + 3600 + {if isset($account.2.password)}1{else}0{/if} + {$account.2.outbound_proxy_primary} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.outbound_proxy_secondary} + {$account.2.sip_port} + {if isset($account.2.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line2)}{$fanvil_ringtone_line2}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.2.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.2.sip_transport == 'udp'}0{/if} + {if $account.2.sip_transport == 'tcp'}1{/if} + {if $account.2.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.3.user_id} + {$account.3.display_name} + + {$account.3.server_address} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.register_expires} + + 5060 + 0 + 3600 + {if isset($account.3.password)}1{else}0{/if} + {$account.3.outbound_proxy_primary} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.outbound_proxy_secondary} + {$account.3.sip_port} + {if isset($account.3.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line3)}{$fanvil_ringtone_line3}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.3.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.3.sip_transport == 'dns srv'}1{/if} + {if $account.3.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.3.sip_transport == 'udp'}0{/if} + {if $account.3.sip_transport == 'tcp'}1{/if} + {if $account.3.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.4.user_id} + {$account.4.display_name} + + {$account.4.server_address} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.register_expires} + + 5060 + 0 + 3600 + {if isset($account.4.password)}1{else}0{/if} + {$account.4.outbound_proxy_primary} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.outbound_proxy_secondary} + {$account.4.sip_port} + {if isset($account.4.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line4)}{$fanvil_ringtone_line4}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.4.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.4.sip_transport == 'dns srv'}1{/if} + {if $account.4.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.4.sip_transport == 'udp'}0{/if} + {if $account.4.sip_transport == 'tcp'}1{/if} + {if $account.4.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,iLBC,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.5.user_id} + {$account.5.display_name} + + {$account.5.server_address} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.register_expires} + + 5060 + 0 + 3600 + {if isset($account.5.password)}1{else}0{/if} + {$account.5.outbound_proxy_primary} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.outbound_proxy_secondary} + {$account.5.sip_port} + {if isset($account.5.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line5)}{$fanvil_ringtone_line5}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.5.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.5.sip_transport == 'dns srv'}1{/if} + {if $account.5.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.5.sip_transport == 'udp'}0{/if} + {if $account.5.sip_transport == 'tcp'}1{/if} + {if $account.5.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.6.user_id} + {$account.6.display_name} + + {$account.6.server_address} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.register_expires} + + 5060 + 0 + 3600 + {if isset($account.6.password)}1{else}0{/if} + {$account.6.outbound_proxy_primary} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.outbound_proxy_secondary} + {$account.6.sip_port} + {if isset($account.6.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line6)}{$fanvil_ringtone_line6}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.6.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.6.sip_transport == 'dns srv'}1{/if} + {if $account.6.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.6.sip_transport == 'udp'}0{/if} + {if $account.6.sip_transport == 'tcp'}1{/if} + {if $account.6.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.7.user_id} + {$account.7.display_name} + + {$account.7.server_address} + {$account.7.sip_port} + {$account.7.auth_id} + {$account.7.password} + {$account.7.register_expires} + + 5060 + 0 + 3600 + {if isset($account.7.password)}1{else}0{/if} + {$account.7.outbound_proxy_primary} + {$account.7.sip_port} + {$account.7.auth_id} + {$account.7.password} + {$account.7.outbound_proxy_secondary} + {$account.7.sip_port} + {if isset($account.7.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line7)}{$fanvil_ringtone_line7}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.7.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.7.sip_transport == 'dns srv'}1{/if} + {if $account.7.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.7.sip_transport == 'udp'}0{/if} + {if $account.7.sip_transport == 'tcp'}1{/if} + {if $account.7.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.8.user_id} + {$account.8.display_name} + + {$account.8.server_address} + {$account.8.sip_port} + {$account.8.auth_id} + {$account.8.password} + {$account.8.register_expires} + + 5060 + 0 + 3600 + {if isset($account.8.password)}1{else}0{/if} + {$account.8.outbound_proxy_primary} + {$account.8.sip_port} + {$account.8.auth_id} + {$account.8.password} + {$account.8.outbound_proxy_secondary} + {$account.8.sip_port} + {if isset($account.8.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line8)}{$fanvil_ringtone_line8}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.8.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.8.sip_transport == 'dns srv'}1{/if} + {if $account.8.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.8.sip_transport == 'udp'}0{/if} + {if $account.8.sip_transport == 'tcp'}1{/if} + {if $account.8.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.9.user_id} + {$account.9.display_name} + + {$account.9.server_address} + {$account.9.sip_port} + {$account.9.auth_id} + {$account.9.password} + {$account.9.register_expires} + + 5060 + 0 + 3600 + {if isset($account.9.password)}1{else}0{/if} + {$account.9.outbound_proxy_primary} + {$account.9.sip_port} + {$account.9.auth_id} + {$account.9.password} + {$account.9.outbound_proxy_secondary} + {$account.9.sip_port} + {if isset($account.9.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line9)}{$fanvil_ringtone_line9}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.9.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.9.sip_transport == 'dns srv'}1{/if} + {if $account.9.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.9.sip_transport == 'udp'}0{/if} + {if $account.9.sip_transport == 'tcp'}1{/if} + {if $account.9.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.10.user_id} + {$account.10.display_name} + + {$account.10.server_address} + {$account.10.sip_port} + {$account.10.auth_id} + {$account.10.password} + {$account.10.register_expires} + + 5060 + 0 + 3600 + {if isset($account.10.password)}1{else}0{/if} + {$account.10.outbound_proxy_primary} + {$account.10.sip_port} + {$account.10.auth_id} + {$account.10.password} + {$account.10.outbound_proxy_secondary} + {$account.10.sip_port} + {if isset($account.10.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line10)}{$fanvil_ringtone_line10}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.10.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.10.sip_transport == 'dns srv'}1{/if} + {if $account.10.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.10.sip_transport == 'udp'}0{/if} + {if $account.10.sip_transport == 'tcp'}1{/if} + {if $account.10.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.11.user_id} + {$account.11.display_name} + + {$account.11.server_address} + {$account.11.sip_port} + {$account.11.auth_id} + {$account.11.password} + {$account.11.register_expires} + + 5060 + 0 + 3600 + {if isset($account.11.password)}1{else}0{/if} + {$account.11.outbound_proxy_primary} + {$account.11.sip_port} + {$account.11.auth_id} + {$account.11.password} + {$account.11.outbound_proxy_secondary} + {$account.11.sip_port} + {if isset($account.11.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line11)}{$fanvil_ringtone_line11}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.11.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.11.sip_transport == 'dns srv'}1{/if} + {if $account.11.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.11.sip_transport == 'udp'}0{/if} + {if $account.11.sip_transport == 'tcp'}1{/if} + {if $account.11.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.12.user_id} + {$account.12.display_name} + + {$account.12.server_address} + {$account.12.sip_port} + {$account.12.auth_id} + {$account.12.password} + {$account.12.register_expires} + + 5060 + 0 + 3600 + {if isset($account.12.password)}1{else}0{/if} + {$account.12.outbound_proxy_primary} + {$account.12.sip_port} + {$account.12.auth_id} + {$account.12.password} + {$account.12.outbound_proxy_secondary} + {$account.12.sip_port} + {if isset($account.12.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line12)}{$fanvil_ringtone_line12}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.12.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.12.sip_transport == 'dns srv'}1{/if} + {if $account.12.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.12.sip_transport == 'udp'}0{/if} + {if $account.12.sip_transport == 'tcp'}1{/if} + {if $account.12.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.13.user_id} + {$account.13.display_name} + + {$account.13.server_address} + {$account.13.sip_port} + {$account.13.auth_id} + {$account.13.password} + {$account.13.register_expires} + + 5060 + 0 + 3600 + {if isset($account.13.password)}1{else}0{/if} + {$account.13.outbound_proxy_primary} + {$account.13.sip_port} + {$account.13.auth_id} + {$account.13.password} + {$account.13.outbound_proxy_secondary} + {$account.13.sip_port} + {if isset($account.13.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line13)}{$fanvil_ringtone_line13}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.13.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.13.sip_transport == 'dns srv'}1{/if} + {if $account.13.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.13.sip_transport == 'udp'}0{/if} + {if $account.13.sip_transport == 'tcp'}1{/if} + {if $account.13.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.14.user_id} + {$account.14.display_name} + + {$account.14.server_address} + {$account.14.sip_port} + {$account.14.auth_id} + {$account.14.password} + {$account.14.register_expires} + + 5060 + 0 + 3600 + {if isset($account.14.password)}1{else}0{/if} + {$account.14.outbound_proxy_primary} + {$account.14.sip_port} + {$account.14.auth_id} + {$account.14.password} + {$account.14.outbound_proxy_secondary} + {$account.14.sip_port} + {if isset($account.14.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line14)}{$fanvil_ringtone_line14}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.14.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.14.sip_transport == 'dns srv'}1{/if} + {if $account.14.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.14.sip_transport == 'udp'}0{/if} + {if $account.14.sip_transport == 'tcp'}1{/if} + {if $account.14.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.15.user_id} + {$account.15.display_name} + + {$account.15.server_address} + {$account.15.sip_port} + {$account.15.auth_id} + {$account.15.password} + {$account.15.register_expires} + + 5060 + 0 + 3600 + {if isset($account.15.password)}1{else}0{/if} + {$account.15.outbound_proxy_primary} + {$account.15.sip_port} + {$account.15.auth_id} + {$account.15.password} + {$account.15.outbound_proxy_secondary} + {$account.15.sip_port} + {if isset($account.15.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line15)}{$fanvil_ringtone_line15}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.15.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.15.sip_transport == 'dns srv'}1{/if} + {if $account.15.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.15.sip_transport == 'udp'}0{/if} + {if $account.15.sip_transport == 'tcp'}1{/if} + {if $account.15.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.16.user_id} + {$account.16.display_name} + + {$account.16.server_address} + {$account.16.sip_port} + {$account.16.auth_id} + {$account.16.password} + {$account.16.register_expires} + + 5060 + 0 + 3600 + {if isset($account.16.password)}1{else}0{/if} + {$account.16.outbound_proxy_primary} + {$account.16.sip_port} + {$account.16.auth_id} + {$account.16.password} + {$account.16.outbound_proxy_secondary} + {$account.16.sip_port} + {if isset($account.16.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line16)}{$fanvil_ringtone_line16}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.16.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.16.sip_transport == 'dns srv'}1{/if} + {if $account.16.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.16.sip_transport == 'udp'}0{/if} + {if $account.16.sip_transport == 'tcp'}1{/if} + {if $account.16.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.17.user_id} + {$account.17.display_name} + + {$account.17.server_address} + {$account.17.sip_port} + {$account.17.auth_id} + {$account.17.password} + {$account.17.register_expires} + + 5060 + 0 + 3600 + {if isset($account.17.password)}1{else}0{/if} + {$account.17.outbound_proxy_primary} + {$account.17.sip_port} + {$account.17.auth_id} + {$account.17.password} + {$account.17.outbound_proxy_secondary} + {$account.17.sip_port} + {if isset($account.17.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line17)}{$fanvil_ringtone_line17}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.17.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + {if $account.17.sip_transport == 'dns srv'}1{/if} + {if $account.17.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.17.sip_transport == 'udp'}0{/if} + {if $account.17.sip_transport == 'tcp'}1{/if} + {if $account.17.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.18.user_id} + {$account.18.display_name} + + {$account.18.server_address} + {$account.18.sip_port} + {$account.18.auth_id} + {$account.18.password} + {$account.18.register_expires} + + 5060 + 0 + 3600 + {if isset($account.18.password)}1{else}0{/if} + {$account.18.outbound_proxy_primary} + {$account.18.sip_port} + {$account.18.auth_id} + {$account.18.password} + {$account.18.outbound_proxy_secondary} + {$account.18.sip_port} + {if isset($account.18.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line18)}{$fanvil_ringtone_line18}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.18.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + {if $account.18.sip_transport == 'dns srv'}1{/if} + {if $account.18.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.18.sip_transport == 'udp'}0{/if} + {if $account.18.sip_transport == 'tcp'}1{/if} + {if $account.18.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.19.user_id} + {$account.19.display_name} + + {$account.19.server_address} + {$account.19.sip_port} + {$account.19.auth_id} + {$account.19.password} + {$account.19.register_expires} + + 5060 + 0 + 3600 + {if isset($account.19.password)}1{else}0{/if} + {$account.19.outbound_proxy_primary} + {$account.19.sip_port} + {$account.19.auth_id} + {$account.19.password} + {$account.19.outbound_proxy_secondary} + {$account.19.sip_port} + {if isset($account.19.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line19)}{$fanvil_ringtone_line19}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.19.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + {if $account.19.sip_transport == 'dns srv'}1{/if} + {if $account.19.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.19.sip_transport == 'udp'}0{/if} + {if $account.19.sip_transport == 'tcp'}1{/if} + {if $account.19.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + {$account.20.user_id} + {$account.20.display_name} + + {$account.20.server_address} + {$account.20.sip_port} + {$account.20.auth_id} + {$account.20.password} + {$account.20.register_expires} + + 5060 + 0 + 3600 + {if isset($account.20.password)}1{else}0{/if} + {$account.20.outbound_proxy_primary} + {$account.20.sip_port} + {$account.20.auth_id} + {$account.20.password} + {$account.20.outbound_proxy_secondary} + {$account.20.sip_port} + {if isset($account.20.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line20)}{$fanvil_ringtone_line20}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.20.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + {if $account.20.sip_transport == 'dns srv'}1{/if} + {if $account.20.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.20.sip_transport == 'udp'}0{/if} + {if $account.20.sip_transport == 'tcp'}1{/if} + {if $account.20.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 1 + + + + + + + + + + + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + 0 + 500 + 4000 + 5000 + + + 0 + 30 + 1 + 0 + + + + + 1 + 1 + 0 + . + 1 + 0 + 0 + 1500 + 1730 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 3 + 1 + 0 + 1 + 1 + 0 + 0 + 30 + 5 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + + 1 + 1 + 0 + 0 + 1 + {$fanvil_default_answer_mode} + {$fanvil_default_dial_mode} + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 480 + 486 + 603 + 0 + 0 + + + 0 + + + + + 0 + + + + 1 + 0 + 0 + 0 + 0 + 0 + 11 + 1 + 10 + 0 + + + + -1 + {if isset($fanvil_default_ringtone_ext)}{$fanvil_default_ringtone_ext}{else}Type 1{/if} + + + + -1 + {if isset($fanvil_default_ringtone_ext2)}{$fanvil_default_ringtone_ext2}{else}Type 4{/if} + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + -1 + Type 1 + + + + {if isset($fanvil_menu_password)}{$fanvil_menu_password}{else}123{/if} + 123 + + 0 + 0 + 0 + 110 + + 0 + 0 + 0 + 5 + 0 + 1 + 1 + $name@$protocol$instance + 0 + 0 + 1 + 1 + 30 + + + {$fanvil_greeting} + 5 + {if isset($fanvil_display_brightness_inactive)}{$fanvil_display_brightness_inactive}{else}4{/if} + {if isset($fanvil_display_brightness_active)}{$fanvil_display_brightness_active}{else}12{/if} + {if isset($fanvil_display_inactivity_time)}{$fanvil_display_inactivity_time}{else}45{/if} + 0 + + bcm911188sv + en + 0 + + + 0 + 3 + 0 + 2 + 0 + 0 + 3 + + + 0 + 1 + + + 0 + 1 + 1 + 2 + 1 + 1 + 2 + 0 + 0 + 3 + + + + + + + + + + + {if isset($fanvil_default_ringtone)}{$fanvil_default_ringtone}{else}Type 2{/if} + + + {if isset($fanvil_enable_sntp)}{$fanvil_enable_sntp}{else}1{/if} + {$ntp_server_primary} + {$ntp_server_secondary} + {$fanvil_time_zone} + {$fanvil_time_zone_name} + {$fanvil_enable_dst} + {if isset($fanvil_dst_fixed_type)}{$fanvil_dst_fixed_type}{else}0{/if} + 60 + 1 + {if isset($fanvil_location)}{$fanvil_location}{else}4{/if} + 0 + {if isset($fanvil_dst_minute_offset)}{$fanvil_dst_minute_offset}{else}60{/if} + 3 + 5 + 0 + 2 + 10 + 5 + 0 + 2 + + + 0 + {if isset($fanvil_time_display)}{$fanvil_time_display}{else}0{/if} + {if isset($fanvil_date_display)}{$fanvil_date_display}{else}6{/if} + {if isset($fanvil_date_separator)}{$fanvil_date_separator}{else}0{/if} + + + 0 + {if isset($fanvil_softkey_exit)}{$fanvil_softkey_exit}{else}2{/if} + {if isset($fanvil_softkey_desktopsoftkey)}{$fanvil_softkey_desktopsoftkey}{else}history;contact;dnd;menu;{/if} + {if isset($fanvil_softkey_talkingsoftkey)}{$fanvil_softkey_talkingsoftkey}{else}hold;xfer;conf;end;{/if} + {if isset($fanvil_softkey_ringingsoftkey)}{$fanvil_softkey_ringingsoftkey}{else}accept;none;forward;reject;{/if} + end;none;none;none; + end;none;none;xfer; + hold;none;split;end; + xfer;accept;reject;end; + redial;none;none;end; + send;save;delete;exit; + send;2aB;delete;exit; + delete;xfer;send;exit; + send;2aB;delete;exit; + {if isset($fanvil_softkey_desktopclick)}{$fanvil_softkey_desktopclick}{else}history;status;none;none;none;{/if} + pline;nline;none;none;none; + none;none;voldown;volup;none; + status;none;none;none;reset; + contact;clogs;redial;video;cancel; + + + + + + 0 + 0 + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + 120 + 0 + + + 1 + 1 + 60 + 40 + 25 + 150 + 200 + 1 + 1 + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0000000000000000 + + + 0 + 0 + 0 + 0 + 1 + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + 0 + 3 + 5 + 1 + 0 + 0 + 16 + 360 + 1080 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + {foreach $keys["line"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/foreach} + + {strip}{*-- Each Internal Index contains 12 keys --*}{/strip} + + {foreach $keys["memory"] as $row} + {if $row.device_key_id <= 12} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 12 && $row.device_key_id <= 24} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 24 && $row.device_key_id <= 36} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 36 && $row.device_key_id <= 48} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + + {foreach $keys["memory"] as $row} + {if $row.device_key_id > 48 && $row.device_key_id <= 60} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + {$row.device_key_icon} + + {/if} + {/foreach} + + {foreach $keys["programmable"] as $row} + + {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if} + {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if} + {$row.device_key_label} + + {/foreach} + + + 0 + 80 + 443 + 1 + 0 + 0 + 0 + 23 + + 15 + + {if isset($admin_name)}{$admin_name}{else}admin{/if} + {if isset($admin_password)}{$admin_password}{else}admin{/if} + 10 + + + guest + guest + 5 + + + + INFO + + {if $fanvil_syslog_enable == '1'},syslog{else}stdout{/if} + platform.log + 512KB + platform + {if isset($fanvil_syslog_server)}{$fanvil_syslog_server}{else}0.0.0.0{/if} + {if isset($fanvil_syslog_server_port)}{$fanvil_syslog_server_port}{else}514{/if} + + + 1 + 00100400FV02001000000c383e3dc493 + 1 + 0 + 0.0.0.0 + admin + + 0.0.0.0 + + + dps + dps + 3600 + 0 + 020 + 0 + {$fanvil_stun_server} + {$fanvil_stun_port} + 30000 + + + 0 + 1 + 0 + 224.0.2.0 + 16360 + SIP Hotspot + 0 + 1 + 0 + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + + -1 + 0 + 0 + 0 + 0.0.0.0 + + + 1 + 0.0.0.0 + + + + + 0 + 0 + + + {$http_auth_username} + {$http_auth_password} + + + + 1 + 1 + 5 + {if isset($fanvil_provision_url)}{$fanvil_provision_url}{else}https://{$domain_name}/app/provision{/if} + {$fanvil_firmware_config} + 5 + 1 + 1 + 720 + 0 + + 1 + 224.0.1.75 + 5060 + 0 + 1 + + + 66 + 0 + 0 + + + + {if isset($fanvil_enable_auto_upgrade)}{$fanvil_enable_auto_upgrade}{else}0{/if} + {if isset($fanvil_firmware_upgrade_server_1)}{$fanvil_firmware_upgrade_server_1}{else}{/if} + {if isset($fanvil_firmware_upgrade_server_2)}{$fanvil_firmware_upgrade_server_2}{else}{/if} + {if isset($fanvil_firmware_upgrade_interval)}{$fanvil_firmware_upgrade_interval}{else}24{/if} + + + {if isset($fanvil_enable_vlan)}{$fanvil_enable_vlan}{else}0{/if} + {if isset($fanvil_lan_port_vlan)}{$fanvil_lan_port_vlan}{else}256{/if} + {if isset($fanvil_pc_port_vlan)}2{else}0{/if} + {if isset($fanvil_pc_port_vlan)}{$fanvil_pc_port_vlan}{else}254{/if} + {if isset($fanvil_qos_sip)}{$fanvil_qos_sip}{else}0{/if} + {if isset($fanvil_qos_rtp_voice)}{$fanvil_qos_rtp_voice}{else}0{/if} + {if isset($fanvil_qos_rtp_video)}{$fanvil_qos_rtp_video}{else}0{/if} + 0 + {if isset($fanvil_enable_diffserv)}{$fanvil_enable_diffserv}{else}0{/if} + {if isset($fanvil_dscp_sip)}{$fanvil_dscp_sip}{else}46{/if} + {if isset($fanvil_dscp_rtp_voice)}{$fanvil_dscp_rtp_voice}{else}46{/if} + {if isset($fanvil_dscp_rtp_video)}{$fanvil_dscp_rtp_video}{else}34{/if} + {if isset($fanvil_lldp_tx_enable)}{$fanvil_lldp_tx_enable}{else}0{/if} + {if isset($fanvil_lldp_refresh)}{$fanvil_lldp_refresh}{else}60{/if} + {if isset($fanvil_lldp_learn)}{$fanvil_lldp_learn}{else}0{/if} + 0 + 1 + 60 + 132 + + + + + + + 0 + 0 + 0 + 0 + + + + 1 + 0 + 0 + + + 1 + G729 + 0 + 8 + 0.0.0.0 + 10000 + + + 0 + Fanvil X6U + 1 + + + 0 + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + diff --git a/resources/templates/provision/fanvil/x7/{$mac}.cfg b/resources/templates/provision/fanvil/x7/{$mac}.cfg new file mode 100644 index 0000000000..a3b3f5f6ff --- /dev/null +++ b/resources/templates/provision/fanvil/x7/{$mac}.cfg @@ -0,0 +1,5383 @@ + + + 2.0000000000 + + 0 + + + + + {if isset($dns_server_primary)}{$dns_server_primary}{else}9.9.9.9{/if} + {if isset($dns_server_secondary)}{$dns_server_secondary}{else}208.67.222.222{/if} + 1 + 1 + 1 + 1 + 0 + Fanvil X7 + 0 + user123 + password + 2 + + + + + + + 1 + 1 + 0 + 0 + Fanvil X7 + + {$fanvil_wifi_enable} + + + + 1 + 97 + 20 + 108 + 109 + 103 + 104 + 102 + 105 + 101 + 107 + 0 + 0 + 117 + 0 + 16384 + 16384 + 1 + + + 11 + 1 + 0 + 350+440/0 + 440+480/2000,0/4000 + 480+620/500,0/500 + + 440/300,0/10000,440/300,0/10000,0/0 + + + + + 350+440/100,0/100,350+440/100,0/100,350+440/100,0/100,350+440/0 + + + 400/500,0/6000 + 1400/500,0/0 + 440/500,0/5000 + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,opus,G722 + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}H264{/if} + 25 + 2000000 + 4 + 2 + + + + {$sip_port} + {$fanvil_stun_server} + {$fanvil_stun_port} + 50 + 800 + + 32 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + {$account.1.user_id} + {$account.1.display_name} + + {$account.1.server_address} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.register_expires} + + 5060 + 0 + 3600 + {if isset($account.1.password)}1{else}0{/if} + {$account.1.outbound_proxy_primary} + {$account.1.sip_port} + {$account.1.auth_id} + {$account.1.password} + {$account.1.outbound_proxy_secondary} + {$account.1.sip_port} + {if isset($account.1.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line1)}{$fanvil_ringtone_line1}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.1.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.1.sip_transport == 'dns srv'}1{/if} + {if $account.1.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.1.sip_transport == 'udp'}0{/if} + {if $account.1.sip_transport == 'tcp'}1{/if} + {if $account.1.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + *97 + + + + + + 0 + 0 + 5 + 1 + + 1 + *78 + *79 + *72 + *73 + *72 + *73 + *72 + *73 + + + *67 + *67 + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.2.user_id} + {$account.2.display_name} + + {$account.2.server_address} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.register_expires} + + 5060 + 0 + 3600 + {if isset($account.2.password)}1{else}0{/if} + {$account.2.outbound_proxy_primary} + {$account.2.sip_port} + {$account.2.auth_id} + {$account.2.password} + {$account.2.outbound_proxy_secondary} + {$account.2.sip_port} + {if isset($account.2.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line2)}{$fanvil_ringtone_line2}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.2.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.2.sip_transport == 'dns srv'}1{/if} + {if $account.2.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.2.sip_transport == 'udp'}0{/if} + {if $account.2.sip_transport == 'tcp'}1{/if} + {if $account.2.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + *97 + + + + + + 0 + 0 + 5 + 1 + + 1 + *78 + *79 + *72 + *73 + *72 + *73 + *72 + *73 + + + *67 + *67 + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.3.user_id} + {$account.3.display_name} + + {$account.3.server_address} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.register_expires} + + 5060 + 0 + 3600 + {if isset($account.3.password)}1{else}0{/if} + {$account.3.outbound_proxy_primary} + {$account.3.sip_port} + {$account.3.auth_id} + {$account.3.password} + {$account.3.outbound_proxy_secondary} + {$account.3.sip_port} + {if isset($account.3.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line3)}{$fanvil_ringtone_line3}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.3.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.3.sip_transport == 'dns srv'}1{/if} + {if $account.3.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.3.sip_transport == 'udp'}0{/if} + {if $account.3.sip_transport == 'tcp'}1{/if} + {if $account.3.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + *97 + + + + + + 0 + 0 + 5 + 1 + + 1 + *78 + *79 + *72 + *73 + *72 + *73 + *72 + *73 + + + *67 + *67 + + + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.4.user_id} + {$account.4.display_name} + + {$account.4.server_address} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.register_expires} + + 5060 + 0 + 3600 + {if isset($account.4.password)}1{else}0{/if} + {$account.4.outbound_proxy_primary} + {$account.4.sip_port} + {$account.4.auth_id} + {$account.4.password} + {$account.4.outbound_proxy_secondary} + {$account.4.sip_port} + {if isset($account.4.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line4)}{$fanvil_ringtone_line4}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.4.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.4.sip_transport == 'dns srv'}1{/if} + {if $account.4.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.4.sip_transport == 'udp'}0{/if} + {if $account.4.sip_transport == 'tcp'}1{/if} + {if $account.4.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + *97 + + + + + + 0 + 0 + 5 + 1 + + 1 + *78 + *79 + *72 + *73 + *72 + *73 + *72 + *73 + + + *67 + *67 + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.5.user_id} + {$account.5.display_name} + + {$account.5.server_address} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.register_expires} + + 5060 + 0 + 3600 + {if isset($account.5.password)}1{else}0{/if} + {$account.5.outbound_proxy_primary} + {$account.5.sip_port} + {$account.5.auth_id} + {$account.5.password} + {$account.5.outbound_proxy_secondary} + {$account.5.sip_port} + {if isset($account.5.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line5)}{$fanvil_ringtone_line5}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.5.register_expires} + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.5.sip_transport == 'udp'}0{/if} + {if $account.5.sip_transport == 'tcp'}1{/if} + {if $account.5.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + *97 + + + + + + 0 + 0 + 5 + 1 + + 1 + *78 + *79 + *72 + *73 + *72 + *73 + *72 + *73 + + + *67 + *67 + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + {$account.6.user_id} + {$account.6.display_name} + + {$account.6.server_address} + {$account.6.sip_port} + {$aaccount.6.uth_id} + {$account.6.password} + {$account.6.register_expires} + + 5060 + 0 + 3600 + {if isset($account.6.password)}1{else}0{/if} + {$account.6.outbound_proxy_primary} + {$account.6.sip_port} + {$account.6.auth_id} + {$account.6.password} + {$account.6.outbound_proxy_secondary} + {$account.6.sip_port} + {if isset($account.6.outbound_proxy_secondary)}1{else}0{/if} + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + {if isset($fanvil_ringtone_line6)}{$fanvil_ringtone_line6}{else}default{/if} + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + {$account.6.register_expires} + 0 + 0 + 1 + 0 + 0 + {if $account.6.sip_transport == 'dns srv'}1{/if} + {if $account.6.sip_transport == 'dns srv'}1{/if} + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + {if $account.6.sip_transport == 'udp'}0{/if} + {if $account.6.sip_transport == 'tcp'}1{/if} + {if $account.6.sip_transport == 'tls'}2{/if} + 0 + + 0 + 1 + 1 + 0 + + *97 + + + + + + 0 + 0 + 5 + 1 + + 1 + *78 + *79 + *72 + *73 + *72 + *73 + *72 + *73 + + + *67 + *67 + + + OPUS,PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + {if isset($fanvil_video_codec)}{$fanvil_video_codec}{else}{/if} + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + + + 5060 + + + 3600 + + 5060 + 0 + 3600 + 0 + + 5060 + + + + 5060 + 1 + 1800 + 0 + 3 + 0 + + 0 + + 0 + 0 + + 0 + 0 + 0 + + + + 5 + + 0 + 0 + + + + default + 2 + 30 + 0 + + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 3600 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 5060 + 0 + 0 + + 0 + 0 + 1 + 0 + + + + + + + + 0 + 0 + 5 + 1 + + 0 + + + + + + + + + + + + + + + PCMU,PCMA,G726-32,G729,G723,iLBC,AMR,G722,AMR-WB + + + + 0 + 0 + 4 + 0 + + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 35 + 0 + 0 + 1 + 0 + + 0 + + + 5060 + + 0 + + + 0 + 0 + 0 + Record:on + Record:off + 1 + 0 + 1 + + + + + 1 + 1 + 0 + . + 1 + 0 + 0 + 1500 + 1730 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 3 + 1 + 0 + 1 + 1 + 0 + 0 + 30 + 5 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + + 1 + 1 + 0 + 0 + 1 + 2 + 2 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 480 + 486 + 603 + 0 + 0 + + + 0 + + + + + 0 + + + + 1 + 0 + 0 + 0 + 0 + 0 + 11 + 1 + 10 + 0 + + + + Type 1 + + + + Type 1 + + + + Type 1 + + + + Type 1 + + + + Type 1 + + + + Type 1 + + + + Type 1 + + + + Type 1 + + + + Type 1 + + + + Type 1 + + + + 123 + 123 + + 0 + 0 + 0 + 110 + + 0 + 0 + 0 + 5 + 0 + 1 + 1 + $name@$protocol$instance + 0 + 0 + 1 + 1 + 30 + + VOIP PHONE + 5 + 4 + 12 + 45 + 0 + + bcm911188sv + en + 0 + + + 0 + 3 + 0 + 2 + 0 + 0 + 3 + + + 0 + 1 + + + 0 + 1 + 1 + 2 + 1 + 1 + 2 + 0 + 0 + 3 + + + + + + + + + + + + + + 1 + 0.pool.ntp.org + time.nist.gov + 32 + UTC+8 + 60 + 0 + 0 + 0 + 60 + 3 + 5 + 0 + 2 + 10 + 5 + 0 + 2 + + + 0 + 0 + 0 + 0 + + + 0 + 2 + history;contact;dnd;menu; + hold;xfer;conf;end; + accept;none;forward;reject; + end;none;none;none; + end;none;none;xfer; + hold;none;split;end; + xfer;accept;reject;end; + redial;none;none;end; + send;2aB;delete;exit; + send;2aB;delete;exit; + delete;xfer;send;exit; + send;2aB;delete;exit; + history;status;none;none;none; + pline;nline;none;none;none; + none;none;voldown;volup;none; + status;none;none;none;reset; + contact;clogs;redial;video;cancel; + + + + + + 0 + 0 + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + 389 + + 0 + 3 + -1 + -1 + 0 + 0 + 3 + + + telephoneNumber + mobile + other + cn sn ou + cn + cn + (|(telephoneNumber=%)(mobile=%)(other=%)) + (|(cn=%)(sn=%)) + 50 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + + + + -1 + -1 + + + + 120 + + + 1 + 1 + 60 + 40 + 25 + 150 + 200 + 1 + 1 + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0000000000000000 + + + 0 + 0 + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + 0 + 3 + 4 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + 2 + SIP1 + + Green + + + 2 + SIP2 + + Green + + + 2 + SIP3 + + Green + + + 2 + SIP4 + + Green + + + 2 + SIP5 + + Green + + + 2 + SIP6 + + Green + + + 3 + F_MWI + + Green + + + 3 + F_HEADSET + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + 0 + + + Green + + + + + 0 + 80 + 443 + 1 + 0 + 0 + 0 + 23 + + 15 + + admin + admin + 10 + + + guest + guest + 5 + + + + INFO + + stdout + platform.log + 512KB + platform + 0.0.0.0 + 514 + + + 1 + 00100400FV02001000000c383e30234d + 1 + 0 + 0.0.0.0 + admin + + 0.0.0.0 + + + dps + dps + 3600 + 0 + 020 + 0 + + 3478 + 30000 + + + 0 + 1 + 0 + 224.0.2.0 + 16360 + SIP Hotspot + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + + -1 + 0 + 0 + 0 + 0.0.0.0 + + + 1 + 0.0.0.0 + + + + + 0 + 0 + + + + + + + + 1 + 0 + 5 + + + 2 + 0 + 1 + 720 + 0 + + 1 + 224.0.1.75 + 5060 + 0 + 1 + + + 66 + 0 + 0 + + + + 0 + + + 24 + + + 0 + 256 + 0 + 254 + 0 + 0 + 0 + 0 + 0 + 46 + 46 + 46 + 1 + 60 + 1 + 0 + 1 + 60 + 132 + + + + + + + 0 + 0 + 0 + 0 + + + + 1 + 0 + 0 + + + 1 + G729 + 0 + 8 + 0.0.0.0 + 10000 + + + 0 + Fanvil X7 + 00:00:00:00:00:00 + 0 + 1 + + + 0 + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + diff --git a/resources/templates/provision/grandstream/grp2612/phonebook.xml b/resources/templates/provision/grandstream/grp2612/phonebook.xml new file mode 100644 index 0000000000..deb211d001 --- /dev/null +++ b/resources/templates/provision/grandstream/grp2612/phonebook.xml @@ -0,0 +1,151 @@ + + + + + + 1 + Users + default ringtone + + + 2 + Groups + default ringtone + + + 3 + Extensions + system + + + {$start_id=0} + {foreach $contacts as $row} + {if $row.category == "users"} + + {$start_id++} + {if $row.contact_name_given != ""} + {if $row.contact_organization != ""} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_organization} + {else} + {$row.contact_name_given} + {$row.contact_name_family} + {/if} + {else} + {$row.effective_caller_id_name} + {/if} + + 0 + {foreach $row.numbers as $number} + {if $number.phone_number != ""} + {if $number.phone_label == "work"} + + {$number.phone_number} + 0 + + {/if} + {if $number.phone_label == "home"} + + {$number.phone_number} + 0 + + {/if} + {if $number.phone_label == "mobile"} + + {$number.phone_number} + 0 + + {/if} + {/if} + {/foreach} + 1 + 0 + + + + + {elseif $row.category == "groups"} + + {$start_id++} + {if $row.contact_name_given != ""} + {if $row.contact_organization != ""} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_organization} + {else} + {$row.contact_name_given} + {$row.contact_name_family} + {/if} + {else} + {$row.effective_caller_id_name} + {/if} + + + 0 + {foreach $row.numbers as $number} + {if $number.phone_number != ""} + {if $number.phone_label == "work"} + + {$number.phone_number} + 0 + + {/if} + {if $number.phone_label == "home"} + + {$number.phone_number} + 0 + + {/if} + {if $number.phone_label == "mobile"} + + {$number.phone_number} + 0 + + {/if} + {/if} + {/foreach} + 2 + 0 + + + + + {elseif $row.category == "extensions"} + + {$start_id++} + {if $row.contact_name_given != ""} + {if $row.contact_organization != ""} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_organization} + {else} + {$row.contact_name_given} + {$row.contact_name_family} + {/if} + {else} + {$row.effective_caller_id_name} + {/if} + + 0 + {if $row.phone_number != ""} + + {$row.phone_number} + 0 + + {else} + + {$row.phone_extension} + 0 + + {/if} + 3 + 0 + + + + + {/if} + {/foreach} + + diff --git a/resources/templates/provision/grandstream/grp2612/{$mac}.xml b/resources/templates/provision/grandstream/grp2612/{$mac}.xml new file mode 100644 index 0000000000..9a9f476388 --- /dev/null +++ b/resources/templates/provision/grandstream/grp2612/{$mac}.xml @@ -0,0 +1,4600 @@ + + + +{$mac|replace:'-':''} + + + + + + + + + + + + + + + + + + 1 + + + + {$account.1.display_name} + + + + {$account.1.server_address}:{$account.1.sip_port} + + + + +{if isset($account.1.server_address_secondary)} + {$account.1.server_address_secondary}:{$account.1.sip_port} +{else} + {$account.1.server_address_secondary} +{/if} + + + + +{if isset($account.1.outbound_proxy_primary)} + {$account.1.outbound_proxy_primary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_primary} +{/if} + + + + +{if isset($account.1.outbound_proxy_secondary)} + {$account.1.outbound_proxy_secondary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.1.user_id} + + + + {$account.1.auth_id} + + + + {$account.1.password} + + + + {$account.1.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.1.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5060 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + + +{$tp=0} +{if $account.1.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.1.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.1.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.1.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + {$grandstream_dial_prefix} + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk,contact,incoming,outgoing + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + +{if isset($grandstream_account_ring_tone_1)} + {$grandstream_account_ring_tone_1} +{/if} + + + + ring1 + + + + + + 5 + + + + ring2 + + + + + + 2 + + + + ring3 + + + + + + 3 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + + +{if isset($account.2.password)} + 1 +{else} + 0 +{/if} + + + + {$account.2.display_name} + + + + {$account.2.server_address}:{$account.2.sip_port} + + + + +{if isset($account.2.server_address_secondary)} + {$account.2.server_address_secondary}:{$account.2.sip_port} +{else} + {$account.2.server_address_secondary} +{/if} + + + + +{if isset($account.2.outbound_proxy_primary)} + {$account.2.outbound_proxy_primary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_primary} +{/if} + + + + +{if isset($account.2.outbound_proxy_secondary)} + {$account.2.outbound_proxy_secondary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.2.user_id} + + + + {$account.2.auth_id} + + + + {$account.2.password} + + + + {$account.2.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.2.register_expires} + + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 6051 + + + + + 20 + + + + + + 100 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.2.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.2.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.2.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.2.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_2)} + {$grandstream_account_ring_tone_2} +{/if} + + + + ring1 + + + + + + 0 + + + + ring2 + + + + + + 0 + + + + ring3 + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + 0 + + + + + + phone-{$mac|replace:'-':''} + + + + GrandstreamGRP2612 + + + + + + + + + + + + + + + + + + + + + + + 192 + + + 168 + + + 1 + + + 102 + + + + 255 + + + 255 + + + 0 + + + 0 + + + + 192 + + + 168 + + + 2 + + + 1 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 26 + + + + + 46 + + + + + 1 + + + + + 1 + + + + +{if isset($grandstream_lan_port_vlan) } + {$grandstream_lan_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_pc_port_vlan) } + {$grandstream_pc_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 30 + + + + + 1500 + + + + + + + + 1 + + + + + 1 + + + + + + + + + 0 + + + + + + + + 0 + + + + + + + + + 1194 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + 0 + + + + + 3 + + + + + 161 + + + + + + + + 162 + + + + 5 + + + + 1 + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + {$user_password} + + + +{if isset($admin_password)} + {$admin_password} +{else} + {$mac|replace:'-':''} +{/if} + + + + + + + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + 0 + + + + + 10080 + + + + + 1 + + + + 0 + + + + 2 + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 2 + + + +{if $grandstream_config_server_path=="none"} + +{elseif isset($grandstream_config_server_path)} + {$grandstream_config_server_path} +{else} + {$domain_name}{$project_path}/app/provision +{/if} + + + +{$http_auth_username} + + + +{$http_auth_password} + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 1 + + + +{if isset($grandstream_firmware_path) && isset($firmware_version)} + {$grandstream_firmware_path}/{$firmware_version} +{elseif isset($grandstream_firmware_path)} + {$grandstream_firmware_path} +{else} + {$domain_name}{$project_path}/app/provision/resources/firmware/ +{/if} + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + {$grandstream_syslog_server} + + + + +{if isset($grandstream_syslog_level)} + {$grandstream_syslog_level} +{else} + 0 +{/if} + + + + + + + + +{if isset($grandstream_send_sip_log)} + {$grandstream_send_sip_log} +{else} + 0 +{/if} + + + + + 1 + + + + + 1 + + + + + + + + https://acs.gdms.cloud + + + + + + + + + + + + + + + 0 + + + + 86400 + + + + {$mac|replace:'-':''} + + + + + + + + 7547 + + + + + + + + + + + + + 0 + + + + + + + + 2 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + + 80 + + + + + 443 + + + + 1 + + + + 5 + + + + 20 + + + + 3 + + + + + + + 2 + + + + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + 911,922,611,8328442900 + + + + + + + + + 0 + + + + + + + + + {$grandstream_phonebook_download} + + + + {$http_auth_username} + + + + {$http_auth_password} + + + + + +{if isset($grandstream_phonebook_download)} + {$grandstream_phonebook_xml_server_path}/{$mac}/ +{elseif isset($grandstream_phonebook_xml_server_path)} + {$grandstream_phonebook_xml_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_phonebook_download_interval)} + {$grandstream_phonebook_download_interval} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 0 + + + + {$grandstream_ldap_server} + + + + 389 + + + + + + {$grandstream_ldap_base_dn} + + + + {$grandstream_ldap_username} + + + + {$grandstream_ldap_password} + + + + + {$grandstream_ldap_number_filter} + + + + + {$grandstream_ldap_name_filter} + + + + + 3 + + + + + {$grandstream_ldap_name_attr} + + + + + {$grandstream_ldap_number_attr} + + + + {$grandstream_ldap_display_name} + + + + + + 50 + + + + + + 30 + + + + + 0 + + + + 0 + + + 0 + + + + givenName sn title + + + + 0 + + + + + + + + 5004 + + + + + 200 + + + + + 1 + + + + + 20 + + + + + + + + + + + + +{if isset($public_mode) } +{if $public_mode|strtolower == 'true'} + 1 +{elseif $public_mode|strtolower == 'yes'} + 1 +{elseif $public_mode == '1'} + 1 +{else} + 0 +{/if} +{else} + 0 +{/if} + + + + + + 1 + + + + + + + + + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 4320 + + + + 100 + + + + 100 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + + + + + + + 5222 + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + CallHistory,LocalPhonebook,RemotePhonebook,FeatureCode + + + + + 1 + + + + + + + + 0 + + + + + 30 + + + + + 0 + + + + + 5 + + + + + 0 + + + + + 10 + + + + + 20 + + + + + 1 + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 1{/if} +{if $grandstream_call_waiting == "2"} 0{/if} +{/if} + + + + +{if isset($grandstream_call_waiting_ring)} +{if $grandstream_call_waiting_ring == "0"} 0{/if} +{if $grandstream_call_waiting_ring == "1"} 1{/if} +{else} +1 +{/if} + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 0 + + + + +{if isset($dnd)} + {$dnd} +{else} + 1 +{/if} + + + + 2 + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_auto_attended_transfer)} + {$grandstream_auto_attended_transfer} +{else} + 1 +{/if} + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 1 + + + + + 1 + + + + + 10 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + + + + 0 + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + 0 + + + + {$account.1.display_name} + + + + + + 224.0.1.117:5003 + + + + Page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} + 0 +{/if} + + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} + 0 +{/if} + + + + + + +{if isset($ntp_server_primary)} + {$ntp_server_primary} +{else} + pool.ntp.org +{/if} + + + +{if isset($ntp_server_secondary)} + {$ntp_server_secondary} +{else} + 2.us.pool.ntp.org +{/if} + + + + + 1440 + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_timezone) } + {$grandstream_timezone} +{elseif isset($grandstream_gxp_time_zone) } + {$grandstream_gxp_time_zone} +{else} + auto +{/if} + + + + + + 1 + + + + + MTZ+6MDT+5,M4.1.0,M11.1.0 + + + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + Auto + + + + 0 + + + + + 0 + + + + + + + + + {$grandstream_lcd_brightness} + + + + + {$grandstream_lcd_brightness_idle} + + + + + {$grandstream_active_backlight_timeout} + + + + + 1 + + + + + + + + + +{if isset($grandstream_wallpaper_url)} + 1 + {$grandstream_wallpaper_url} +{else} + 0 + +{/if} + + + + #000000 + + + + +{if isset($grandstream_screensaver)} + {$grandstream_screensaver} +{else} + 2 +{/if} + + + + +{if isset($grandstream_screensaver_source)} + {$grandstream_screensaver_source} +{else} + 0 +{/if} + + + + + +{if isset($grandstream_screensaver_show_date_time)} + {$grandstream_screensaver_show_date_time} +{else} + 1 +{/if} + + + + +{if isset($grandstream_screensaver_timeout)} + {$grandstream_screensaver_timeout} +{else} + 3 +{/if} + + + +{if isset($grandstream_screensaver_server_path)} + {$grandstream_screensaver_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_screensaver_xml_download_interval)} + {$grandstream_screensaver_xml_download_interval} +{else} + 0 +{/if} + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + f1=500,f2=540,c=20/20-80/400; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440,c=10/10; + + + + + f1=440,f2=480,c=200/400; + + + + + f1=440,f2=440,c=25/525; + + + + + 0 + + + + + f1=480,f2=620,c=50/50; + + + + + f1=480,f2=620,c=25/25; + + + + + 5 + + + + + 5 + + + + + 0 + + + + +{if isset($grandstream_default_ringtone)} + {$grandstream_default_ringtone} +{/if} + + + + + + + + + + + 1 + + + + + + + + + + + XMLApp + + + + + + + + + 0 + + + + + + + + + + + 0 + + + + + + 1 + + + + + 0 + + + + + {$grandstream_blind_xfer_blf} + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {$fixed_keys=4} + + +{$start_id=1363} +{assign var=key_types value=["none"=>-1,"line"=>31,"shared line"=>32,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} + +{for $line=1 to 6} +{$pid=$line*2-2} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +0 +{$line-1} + + +{else} +-1 +{/if} +{/if} + +{/for} + + +{$start_id=23800} +{for $line=7 to 40} +{$pid=($line-6)*4-4} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +-1 +0 + + +{else} +-1 +{/if} +{/if} + +{/for} + + + + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + 0 + + + + + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,Redial,Dial,Backspace,PickUp,Target + + + + BTPhonebook,DirectIP,Onhook,Cancel,Dial,Backspace,Target + + + + Answer,Reject,Forward,ReConf + + + + BTOnOff,EndCall,ReConf,ConfRoom,ConfCall + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,ConfCall,Cancel,NewCall,Swap,Transfer,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,UCallPark,PrivateHold,CallPark + + + + BTOnOff,EndCall,Kick,NewCall,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,ConfRoom,Add + + + + ReConf,Resume,HoldTrnf,ConfCall,Add + + + + EndCall,ReConf,ConfRoom + + + + BTOnOff,Cancel,BlindTrnf,AttTrnf,Backspace,Target + + + + BTOnOff,Cancel,Dial,Backspace,Target + + + + + + + + + + + +{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>27]} +{$start_id=2987} +{for $prog=1 to 3} +{$pid=$prog*4-4} +{if isset($keys.programmable.$prog.device_key_category) && isset($keys.programmable.$prog.device_key_type) && $keys.programmable.$prog.device_key_type|in_array:$key_types} +{$key_types[$keys.programmable.$prog.device_key_type]} +{$keys.programmable.$prog.device_key_line} +{$keys.programmable.$prog.device_key_label} +{$keys.programmable.$prog.device_key_value} +{else} +0 +0 + + +{/if} + +{/for} + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + diff --git a/resources/templates/provision/grandstream/grp2612w/phonebook.xml b/resources/templates/provision/grandstream/grp2612w/phonebook.xml new file mode 100644 index 0000000000..a99be683a3 --- /dev/null +++ b/resources/templates/provision/grandstream/grp2612w/phonebook.xml @@ -0,0 +1,151 @@ + + + + + + 1 + Users + default ringtone + + + 2 + Groups + default ringtone + + + 3 + Extensions + system + + + {$start_id=0} + {foreach $contacts as $row} + {if $row.category == "users"} + + {$start_id++} + {if $row.contact_name_given != ""} + {if $row.contact_organization != ""} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_organization} + {else} + {$row.contact_name_given} + {$row.contact_name_family} + {/if} + {else} + {$row.effective_caller_id_name} + {/if} + + 0 + {foreach $row.numbers as $number} + {if $number.phone_number != ""} + {if $number.phone_label == "work"} + + {$number.phone_number} + 0 + + {/if} + {if $number.phone_label == "home"} + + {$number.phone_number} + 0 + + {/if} + {if $number.phone_label == "mobile"} + + {$number.phone_number} + 0 + + {/if} + {/if} + {/foreach} + 1 + 0 + + + + + {elseif $row.category == "groups"} + + {$start_id++} + {if $row.contact_name_given != ""} + {if $row.contact_organization != ""} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_organization} + {else} + {$row.contact_name_given} + {$row.contact_name_family} + {/if} + {else} + {$row.effective_caller_id_name} + {/if} + + + 0 + {foreach $row.numbers as $number} + {if $number.phone_number != ""} + {if $number.phone_label == "work"} + + {$number.phone_number} + 0 + + {/if} + {if $number.phone_label == "home"} + + {$number.phone_number} + 0 + + {/if} + {if $number.phone_label == "mobile"} + + {$number.phone_number} + 0 + + {/if} + {/if} + {/foreach} + 2 + 0 + + + + + {elseif $row.category == "extensions"} + + {$start_id++} + {if $row.contact_name_given != ""} + {if $row.contact_organization != ""} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_name_given} {$row.contact_name_family} + {$row.contact_organization} + {else} + {$row.contact_name_given} + {$row.contact_name_family} + {/if} + {else} + {$row.effective_caller_id_name} + {/if} + + 0 + {if $row.phone_number != ""} + + {$row.phone_number} + 0 + + {else} + + {$row.phone_extension} + 0 + + {/if} + 3 + 0 + + + + + {/if} + {/foreach} + + diff --git a/resources/templates/provision/grandstream/grp2612w/{$mac}.xml b/resources/templates/provision/grandstream/grp2612w/{$mac}.xml new file mode 100644 index 0000000000..6be679650c --- /dev/null +++ b/resources/templates/provision/grandstream/grp2612w/{$mac}.xml @@ -0,0 +1,4695 @@ + + + +{$mac|replace:'-':''} + + + + + + + + + + + + + + + + + + 1 + + + + {$account.1.display_name} + + + + {$account.1.server_address}:{$account.1.sip_port} + + + + +{if isset($account.1.server_address_secondary)} + {$account.1.server_address_secondary}:{$account.1.sip_port} +{else} + {$account.1.server_address_secondary} +{/if} + + + + +{if isset($account.1.outbound_proxy_primary)} + {$account.1.outbound_proxy_primary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_primary} +{/if} + + + + +{if isset($account.1.outbound_proxy_secondary)} + {$account.1.outbound_proxy_secondary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.1.user_id} + + + + {$account.1.auth_id} + + + + {$account.1.password} + + + + {$account.1.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.1.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5060 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + + +{$tp=0} +{if $account.1.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.1.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.1.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.1.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + {$grandstream_dial_prefix} + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk,contact,incoming,outgoing + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + +{if isset($grandstream_account_ring_tone_1)} + {$grandstream_account_ring_tone_1} +{/if} + + + + ring1 + + + + + + 5 + + + + ring2 + + + + + + 2 + + + + ring3 + + + + + + 3 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + + +{if isset($account.2.password)} + 1 +{else} + 0 +{/if} + + + + {$account.2.display_name} + + + + {$account.2.server_address}:{$account.2.sip_port} + + + + +{if isset($account.2.server_address_secondary)} + {$account.2.server_address_secondary}:{$account.2.sip_port} +{else} + {$account.2.server_address_secondary} +{/if} + + + + +{if isset($account.2.outbound_proxy_primary)} + {$account.2.outbound_proxy_primary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_primary} +{/if} + + + + +{if isset($account.2.outbound_proxy_secondary)} + {$account.2.outbound_proxy_secondary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.2.user_id} + + + + {$account.2.auth_id} + + + + {$account.2.password} + + + + {$account.2.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.2.register_expires} + + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 6051 + + + + + 20 + + + + + + 100 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.2.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.2.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.2.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.2.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_2)} + {$grandstream_account_ring_tone_2} +{/if} + + + + ring1 + + + + + + 0 + + + + ring2 + + + + + + 0 + + + + ring3 + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + 0 + + + + + + phone-{$mac|replace:'-':''} + + + + GrandstreamGRP2612 + + + + + + + + + + + + + + + + + + + + + + + 192 + + + 168 + + + 1 + + + 102 + + + + 255 + + + 255 + + + 0 + + + 0 + + + + 192 + + + 168 + + + 2 + + + 1 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 26 + + + + + 46 + + + + + 1 + + + + + 1 + + + + +{if isset($grandstream_lan_port_vlan) } + {$grandstream_lan_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_pc_port_vlan) } + {$grandstream_pc_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 30 + + + + + 1500 + + + + + + + + 1 + + + + + 1 + + + + + + + + + 0 + + + + + + + + 0 + + + + + + + + + 1194 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + 0 + + + + + 3 + + + + + 161 + + + + + + + + 162 + + + + 5 + + + + 1 + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + {if isset($grandstream_wifi_enable)} + {$grandstream_wifi_enable} + {/if} + + + + + {if isset($grandstream_wifi_ssid_1)} + {$grandstream_wifi_ssid_1} + {/if} + + + + + {if isset($grandstream_wifi_password_1)} + {$grandstream_wifi_password_1} + {/if} + + + + + {if isset($grandstream_wifi_security_1)} + {$grandstream_wifi_security_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_method_1)} + {$grandstream_wifi_eap_method_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_identity_1)} + {$grandstream_wifi_eap_identity_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_password_1)} + {$grandstream_wifi_eap_password_1} + {/if} + + + + + {if isset($grandstream_wifi_ssid_10)} + {$grandstream_wifi_ssid_10} + {/if} + + + + + {if isset($grandstream_wifi_password_10)} + {$grandstream_wifi_password_10} + {/if} + + + + + {if isset($grandstream_wifi_security_10)} + {$grandstream_wifi_security_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_method_10)} + {$grandstream_wifi_eap_method_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_identity_10)} + {$grandstream_wifi_eap_identity_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_password_10)} + {$grandstream_wifi_eap_password_10} + {/if} + + + + + + + + + {$user_password} + + + +{if isset($admin_password)} + {$admin_password} +{else} + {$mac|replace:'-':''} +{/if} + + + + + + + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + 0 + + + + + 10080 + + + + + 1 + + + + 0 + + + + 2 + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 2 + + + +{if $grandstream_config_server_path=="none"} + +{elseif isset($grandstream_config_server_path)} + {$grandstream_config_server_path} +{else} + {$domain_name}{$project_path}/app/provision +{/if} + + + +{$http_auth_username} + + + +{$http_auth_password} + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 1 + + + +{if isset($grandstream_firmware_path) && isset($firmware_version)} + {$grandstream_firmware_path}/{$firmware_version} +{elseif isset($grandstream_firmware_path)} + {$grandstream_firmware_path} +{else} + {$domain_name}{$project_path}/app/provision/resources/firmware/ +{/if} + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + {$grandstream_syslog_server} + + + + +{if isset($grandstream_syslog_level)} + {$grandstream_syslog_level} +{else} + 0 +{/if} + + + + + + + + +{if isset($grandstream_send_sip_log)} + {$grandstream_send_sip_log} +{else} + 0 +{/if} + + + + + 1 + + + + + 1 + + + + + + + + https://acs.gdms.cloud + + + + + + + + + + + + + + + 0 + + + + 86400 + + + + {$mac|replace:'-':''} + + + + + + + + 7547 + + + + + + + + + + + + + 0 + + + + + + + + 2 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + + 80 + + + + + 443 + + + + 1 + + + + 5 + + + + 20 + + + + 3 + + + + + + + 2 + + + + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + 911,922,611,8328442900 + + + + + + + + + 0 + + + + + + + + + {$grandstream_phonebook_download} + + + + {$http_auth_username} + + + + {$http_auth_password} + + + + + +{if isset($grandstream_phonebook_download)} + {$grandstream_phonebook_xml_server_path}/{$mac}/ +{elseif isset($grandstream_phonebook_xml_server_path)} + {$grandstream_phonebook_xml_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_phonebook_download_interval)} + {$grandstream_phonebook_download_interval} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 0 + + + + {$grandstream_ldap_server} + + + + 389 + + + + + + {$grandstream_ldap_base_dn} + + + + {$grandstream_ldap_username} + + + + {$grandstream_ldap_password} + + + + + {$grandstream_ldap_number_filter} + + + + + {$grandstream_ldap_name_filter} + + + + + 3 + + + + + {$grandstream_ldap_name_attr} + + + + + {$grandstream_ldap_number_attr} + + + + {$grandstream_ldap_display_name} + + + + + + 50 + + + + + + 30 + + + + + 0 + + + + 0 + + + 0 + + + + givenName sn title + + + + 0 + + + + + + + + 5004 + + + + + 200 + + + + + 1 + + + + + 20 + + + + + + + + + + + + +{if isset($public_mode) } +{if $public_mode|strtolower == 'true'} + 1 +{elseif $public_mode|strtolower == 'yes'} + 1 +{elseif $public_mode == '1'} + 1 +{else} + 0 +{/if} +{else} + 0 +{/if} + + + + + + 1 + + + + + + + + + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 4320 + + + + 100 + + + + 100 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + + + + + + + 5222 + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + CallHistory,LocalPhonebook,RemotePhonebook,FeatureCode + + + + + 1 + + + + + + + + 0 + + + + + 30 + + + + + 0 + + + + + 5 + + + + + 0 + + + + + 10 + + + + + 20 + + + + + 1 + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 1{/if} +{if $grandstream_call_waiting == "2"} 0{/if} +{/if} + + + + +{if isset($grandstream_call_waiting_ring)} +{if $grandstream_call_waiting_ring == "0"} 0{/if} +{if $grandstream_call_waiting_ring == "1"} 1{/if} +{else} +1 +{/if} + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 0 + + + + +{if isset($dnd)} + {$dnd} +{else} + 1 +{/if} + + + + + 2 + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_auto_attended_transfer)} + {$grandstream_auto_attended_transfer} +{else} + 1 +{/if} + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 1 + + + + + 1 + + + + + 10 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + + + + 0 + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + 0 + + + + {$account.1.display_name} + + + + + + 224.0.1.117:5003 + + + + Page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} + 0 +{/if} + + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} + 0 +{/if} + + + + + + +{if isset($ntp_server_primary)} + {$ntp_server_primary} +{else} + pool.ntp.org +{/if} + + + +{if isset($ntp_server_secondary)} + {$ntp_server_secondary} +{else} + 2.us.pool.ntp.org +{/if} + + + + + 1440 + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_timezone) } + {$grandstream_timezone} +{elseif isset($grandstream_gxp_time_zone) } + {$grandstream_gxp_time_zone} +{else} + auto +{/if} + + + + + + 1 + + + + + MTZ+6MDT+5,M4.1.0,M11.1.0 + + + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + Auto + + + + 0 + + + + + 0 + + + + + + + + + {$grandstream_lcd_brightness} + + + + + {$grandstream_lcd_brightness_idle} + + + + + {$grandstream_active_backlight_timeout} + + + + + 1 + + + + + + + + + +{if isset($grandstream_wallpaper_url)} + 1 + {$grandstream_wallpaper_url} +{else} + 0 + +{/if} + + + + #000000 + + + + +{if isset($grandstream_screensaver)} + {$grandstream_screensaver} +{else} + 2 +{/if} + + + + +{if isset($grandstream_screensaver_source)} + {$grandstream_screensaver_source} +{else} + 0 +{/if} + + + + + +{if isset($grandstream_screensaver_show_date_time)} + {$grandstream_screensaver_show_date_time} +{else} + 1 +{/if} + + + + +{if isset($grandstream_screensaver_timeout)} + {$grandstream_screensaver_timeout} +{else} + 3 +{/if} + + + +{if isset($grandstream_screensaver_server_path)} + {$grandstream_screensaver_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_screensaver_xml_download_interval)} + {$grandstream_screensaver_xml_download_interval} +{else} + 0 +{/if} + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + f1=500,f2=540,c=20/20-80/400; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440,c=10/10; + + + + + f1=440,f2=480,c=200/400; + + + + + f1=440,f2=440,c=25/525; + + + + + 0 + + + + + f1=480,f2=620,c=50/50; + + + + + f1=480,f2=620,c=25/25; + + + + + 5 + + + + + 5 + + + + + 0 + + + + +{if isset($grandstream_default_ringtone)} + {$grandstream_default_ringtone} +{/if} + + + + + + + + + + + 1 + + + + + + + + + + + XMLApp + + + + + + + + + 0 + + + + + + + + + + + 0 + + + + + + 1 + + + + + 0 + + + + + {$grandstream_blind_xfer_blf} + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {$fixed_keys=4} + + +{$start_id=1363} +{assign var=key_types value=["none"=>-1,"line"=>31,"shared line"=>32,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} + +{for $line=1 to 6} +{$pid=$line*2-2} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +0 +{$line-1} + + +{else} +-1 +{/if} +{/if} + +{/for} + + +{$start_id=23800} +{for $line=7 to 40} +{$pid=($line-6)*4-4} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +-1 +0 + + +{else} +-1 +{/if} +{/if} + +{/for} + + + + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + 0 + + + + + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,Redial,Dial,Backspace,PickUp,Target + + + + BTPhonebook,DirectIP,Onhook,Cancel,Dial,Backspace,Target + + + + Answer,Reject,Forward,ReConf + + + + BTOnOff,EndCall,ReConf,ConfRoom,ConfCall + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,ConfCall,Cancel,NewCall,Swap,Transfer,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,UCallPark,PrivateHold,CallPark + + + + BTOnOff,EndCall,Kick,NewCall,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,ConfRoom,Add + + + + ReConf,Resume,HoldTrnf,ConfCall,Add + + + + EndCall,ReConf,ConfRoom + + + + BTOnOff,Cancel,BlindTrnf,AttTrnf,Backspace,Target + + + + BTOnOff,Cancel,Dial,Backspace,Target + + + + + + + + + + + +{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>27]} +{$start_id=2987} +{for $prog=1 to 3} +{$pid=$prog*4-4} +{if isset($keys.programmable.$prog.device_key_category) && isset($keys.programmable.$prog.device_key_type) && $keys.programmable.$prog.device_key_type|in_array:$key_types} +{$key_types[$keys.programmable.$prog.device_key_type]} +{$keys.programmable.$prog.device_key_line} +{$keys.programmable.$prog.device_key_label} +{$keys.programmable.$prog.device_key_value} +{else} +0 +0 + + +{/if} + +{/for} + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + diff --git a/resources/templates/provision/grandstream/grp2613/phonebook.xml b/resources/templates/provision/grandstream/grp2613/phonebook.xml new file mode 100644 index 0000000000..62c745db9f --- /dev/null +++ b/resources/templates/provision/grandstream/grp2613/phonebook.xml @@ -0,0 +1,49 @@ + + +1 +{foreach $contacts as $contact} +{if $contact.contact_type == "group"} + +{$contact.id} +{$contact.group_description|truncate:10} + +{/if} +{/foreach} +{$i=0} +{foreach $contacts as $contact} +{if $contact.contact_name_given != "" && $contact.contact_type == "contact"} + +{$contact.contact_name_given} +{$contact.contact_name_family} +{if $contact.contact_role != "" } +{$contact.contact_role} +{/if} +{if $contact.contact_category != "" } +{$contact.contact_category} +{/if} + +{$contact.contact_work} +1 + +{if $contact.contact_home != "" } + +{$contact.contact_home} +1 + +{/if} +{if $contact.contact_cell != "" } + +{$contact.contact_cell} +1 + +{/if} +{if $contact.contact_organization != "" } +{$contact.contact_organization} +{/if} +{foreach $contact.groups as $group} +{$group} +{/foreach} + +{/if} +{/foreach} + diff --git a/resources/templates/provision/grandstream/grp2613/{$mac}.xml b/resources/templates/provision/grandstream/grp2613/{$mac}.xml new file mode 100644 index 0000000000..74ee123c09 --- /dev/null +++ b/resources/templates/provision/grandstream/grp2613/{$mac}.xml @@ -0,0 +1,5466 @@ + + + +{$mac|replace:'-':''} + + + + + + + + + + + + + + + + + + 1 + + + + {$account.1.display_name} + + + + {$account.1.server_address}:{$account.1.sip_port} + + + + +{if isset($account.1.server_address_secondary)} + {$account.1.server_address_secondary}:{$account.1.sip_port} +{else} + {$account.1.server_address_secondary} +{/if} + + + + +{if isset($account.1.outbound_proxy_primary)} + {$account.1.outbound_proxy_primary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_primary} +{/if} + + + + +{if isset($account.1.outbound_proxy_secondary)} + {$account.1.outbound_proxy_secondary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.1.user_id} + + + + {$account.1.auth_id} + + + + {$account.1.password} + + + + {$account.1.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.1.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5060 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + + +{$tp=0} +{if $account.1.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.1.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.1.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.1.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + {$grandstream_dial_prefix} + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk,incoming,outgoing,contact + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + +{if isset($grandstream_account_ring_tone_1)} + {$grandstream_account_ring_tone_1} +{/if} + + + + ring1 + + + + + + 5 + + + + ring2 + + + + + + 2 + + + + ring3 + + + + + + 3 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + + +{if isset($account.2.password)} + 1 +{else} + 0 +{/if} + + + + {$account.2.display_name} + + + + {$account.2.server_address}:{$account.2.sip_port} + + + + +{if isset($account.2.server_address_secondary)} + {$account.2.server_address_secondary}:{$account.2.sip_port} +{else} + {$account.2.server_address_secondary} +{/if} + + + + +{if isset($account.2.outbound_proxy_primary)} + {$account.2.outbound_proxy_primary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_primary} +{/if} + + + + +{if isset($account.2.outbound_proxy_secondary)} + {$account.2.outbound_proxy_secondary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.2.user_id} + + + + {$account.2.auth_id} + + + + {$account.2.password} + + + + {$account.2.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.2.register_expires} + + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 6051 + + + + + 20 + + + + + + 100 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.2.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.2.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.2.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.2.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_2)} + {$grandstream_account_ring_tone_2} +{/if} + + + + ring1 + + + + + + 0 + + + + ring2 + + + + + + 0 + + + + ring3 + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.3.password)} + 1 +{else} + 0 +{/if} + + + + {$account.3.display_name} + + + + {$account.3.server_address}:{$account.3.sip_port} + + + + +{if isset($account.3.server_address_secondary)} + {$account.3.server_address_secondary}:{$account.3.sip_port} +{else} + {$account.3.server_address_secondary} +{/if} + + + + +{if isset($account.3.outbound_proxy_primary)} + {$account.3.outbound_proxy_primary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_primary} +{/if} + + + + +{if isset($account.3.outbound_proxy_secondary)} + {$account.3.outbound_proxy_secondary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.3.user_id} + + + + {$account.3.auth_id} + + + + {$account.3.password} + + + + {$account.3.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.3.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5064 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.3.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.3.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.3.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.3.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_3)} + {$grandstream_account_ring_tone_3} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + phone-{$mac|replace:'-':''} + + + + GrandstreamGRP2613 + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 26 + + + + + 46 + + + + + 1 + + + + + 1 + + + + +{if isset($grandstream_lan_port_vlan) } + {$grandstream_lan_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_pc_port_vlan) } + {$grandstream_pc_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 30 + + + + + 1500 + + + + + 0 + + + + + + + + 1 + + + + + 1 + + + + + + + + + 0 + + + + + + + + 0 + + + + + + + + + 1194 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + 0 + + + + + 3 + + + + + 161 + + + + + + + + 162 + + + + 5 + + + + 1 + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + {$user_password} + + + +{if isset($admin_password)} + {$admin_password} +{else} + {$mac|replace:'-':''} +{/if} + + + + + + + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + 0 + + + + + 10080 + + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 2 + + + +{if $grandstream_config_server_path=="none"} + +{elseif isset($grandstream_config_server_path)} + {$grandstream_config_server_path} +{else} + {$domain_name}{$project_path}/app/provision +{/if} + + + +{$http_auth_username} + + + +{$http_auth_password} + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 1 + + + +{if isset($grandstream_firmware_path) && isset($firmware_version)} + {$grandstream_firmware_path}/{$firmware_version} +{elseif isset($grandstream_firmware_path)} + {$grandstream_firmware_path} +{else} + {$domain_name}{$project_path}/app/provision/resources/firmware/ +{/if} + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + {$grandstream_syslog_server} + + + + +{if isset($grandstream_syslog_level)} + {$grandstream_syslog_level} +{else} + 0 +{/if} + + + + + + + + +{if isset($grandstream_send_sip_log)} + {$grandstream_send_sip_log} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + + + + + + + + + + + + Auto + + + + 0 + + + + + 0 + + + + + + + + https://acs.gdms.cloud + + + + + + + + + + + + + + + 0 + + + + 86400 + + + + {$mac|replace:'-':''} + + + + + + + + 7547 + + + + + + + + + + + + + 0 + + + + + + + + 2 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + + 80 + + + + + 443 + + + + 1 + + + + 5 + + + + 20 + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + {$grandstream_phonebook_download} + + + + {$http_auth_username} + + + + {$http_auth_password} + + + + + +{if isset($grandstream_phonebook_download)} + {$grandstream_phonebook_xml_server_path}{$mac}/ +{elseif isset($grandstream_phonebook_xml_server_path)} + {$grandstream_phonebook_xml_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_phonebook_download_interval)} + {$grandstream_phonebook_download_interval} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 0 + + + + {$grandstream_ldap_server} + + + + 389 + + + + + + {$grandstream_ldap_base_dn} + + + + {$grandstream_ldap_username} + + + + {$grandstream_ldap_password} + + + + + {$grandstream_ldap_number_filter} + + + + + {$grandstream_ldap_name_filter} + + + + + 3 + + + + + {$grandstream_ldap_name_attr} + + + + + {$grandstream_ldap_number_attr} + + + + {$grandstream_ldap_display_name} + + + + + + 50 + + + + + + 30 + + + + + 0 + + + + 0 + + + 0 + + + + givenName sn title + + + + 0 + + + + + + + + 5004 + + + + + 200 + + + + + 1 + + + + + 20 + + + + + + + + + + + + +{if isset($public_mode) } +{if $public_mode|strtolower == 'true'} + 1 +{elseif $public_mode|strtolower == 'yes'} + 1 +{elseif $public_mode == '1'} + 1 +{else} + 0 +{/if} +{else} + 0 +{/if} + + + + + + 0 + + + + + + + + + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 4320 + + + + 100 + + + + 100 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + CallHistory,LocalPhonebook,RemotePhonebook,FeatureCode + + + + + 1 + + + + + + + + 0 + + + + + 30 + + + + + 0 + + + + + 5 + + + + + 0 + + + + + 10 + + + + + 20 + + + + + 0 + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($dnd)} + {$dnd} +{else} + 1 +{/if} + + + + + 2 + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_auto_attended_transfer)} + {$grandstream_auto_attended_transfer} +{else} + 1 +{/if} + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + 1 + + + + + 10 + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 1 + + + + + + + + 0 + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + 0 + + + + {$account.1.display_name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + {if isset ($grandstream_EHS)} + {$grandstream_EHS} + {$grandstream_EHS} + {else} + + + + 0 + + + + + 0 + {/if} + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} + 0 +{/if} + + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} + 0 +{/if} + + + + + 0 + + + + + + +{if isset($ntp_server_primary)} + {$ntp_server_primary} +{else} + pool.ntp.org +{/if} + + + +{if isset($ntp_server_secondary)} + {$ntp_server_secondary} +{else} + 2.us.pool.ntp.org +{/if} + + + + + 1440 + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_timezone) } + {$grandstream_timezone} +{elseif isset($grandstream_gxp_time_zone) } + {$grandstream_gxp_time_zone} +{else} + auto +{/if} + + + + + + 1 + + + + + MTZ+6MDT+5,M4.1.0,M11.1.0 + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + {$grandstream_lcd_brightness} + + + + + {$grandstream_lcd_brightness_idle} + + + + + {$grandstream_active_backlight_timeout} + + + + + 1 + + + + + + + + + +{if isset($grandstream2135_wallpaper_url)} + 1 + {$grandstream2135_wallpaper_url} +{else} + 0 + +{/if} + + + + #000000 + + + + +{if isset($grandstream_screensaver)} + {$grandstream_screensaver} +{else} + 1 +{/if} + + + + +{if isset($grandstream_screensaver_source)} + {$grandstream_screensaver_source} +{else} + 0 +{/if} + + + + + +{if isset($grandstream_screensaver_show_date_time)} + {$grandstream_screensaver_show_date_time} +{else} + 1 +{/if} + + + + +{if isset($grandstream_screensaver_timeout)} + {$grandstream_screensaver_timeout} +{else} + 3 +{/if} + + + +{if isset($grandstream_screensaver_server_path)} + {$grandstream_screensaver_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_screensaver_xml_download_interval)} + {$grandstream_screensaver_xml_download_interval} +{else} + 0 +{/if} + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + f1=500,f2=540,c=20/20-80/400; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440,c=10/10; + + + + + f1=440,f2=480,c=200/400; + + + + + f1=440,f2=440,c=25/525; + + + + + 0 + + + + + f1=480,f2=620,c=50/50; + + + + + f1=480,f2=620,c=25/25; + + + + + 5 + + + + + 5 + + + + + 0 + + + + +{if isset($grandstream_default_ringtone)} + {$grandstream_default_ringtone} +{/if} + + + + + + + + + + 1 + + + + + + + + + + + XMLApp + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + 1 + + + + + 0 + + + + + {$grandstream_blind_xfer_blf} + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{$fixed_keys=3} + + + +{$start_id=1363} +{assign var=key_types value=["none"=>-1,"line"=>31,"shared line"=>32,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} + +{for $line=1 to 6} +{$pid=$line*2-2} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +0 +{$line-1} + + +{else} +-1 +{/if} +{/if} + +{/for} + + +{$start_id=23800} +{for $line=7 to 16} +{$pid=($line-6)*4-4} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +-1 +0 + + +{else} +-1 +{/if} +{/if} + +{/for} + + + + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + 0 + + + + + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,Redial,Dial,Backspace,PickUp,Target + + + + BTPhonebook,DirectIP,Onhook,Cancel,Dial,Backspace,Target + + + + Answer,Reject,Forward,ReConf + + + + BTOnOff,EndCall,ReConf,ConfRoom,ConfCall + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,ConfCall,Cancel,NewCall,Swap,Transfer,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,UCallPark,PrivateHold,CallPark + + + + BTOnOff,EndCall,Kick,NewCall,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,ConfRoom,Add + + + + ReConf,Resume,HoldTrnf,ConfCall,Add + + + + EndCall,ReConf,ConfRoom + + + + BTOnOff,Cancel,BlindTrnf,AttTrnf,Backspace,Target + + + + BTOnOff,Cancel,Dial,Backspace,Target + + + + + + + + + + + +{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>27]} +{$start_id=2987} +{for $prog=1 to 3} +{$pid=$prog*4-4} +{if isset($keys.programmable.$prog.device_key_category) && isset($keys.programmable.$prog.device_key_type) && $keys.programmable.$prog.device_key_type|in_array:$key_types} +{$key_types[$keys.programmable.$prog.device_key_type]} +{$keys.programmable.$prog.device_key_line} +{$keys.programmable.$prog.device_key_label} +{$keys.programmable.$prog.device_key_value} +{else} +0 +0 + + +{/if} + +{/for} + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + diff --git a/resources/templates/provision/grandstream/grp2614/phonebook.xml b/resources/templates/provision/grandstream/grp2614/phonebook.xml new file mode 100644 index 0000000000..62c745db9f --- /dev/null +++ b/resources/templates/provision/grandstream/grp2614/phonebook.xml @@ -0,0 +1,49 @@ + + +1 +{foreach $contacts as $contact} +{if $contact.contact_type == "group"} + +{$contact.id} +{$contact.group_description|truncate:10} + +{/if} +{/foreach} +{$i=0} +{foreach $contacts as $contact} +{if $contact.contact_name_given != "" && $contact.contact_type == "contact"} + +{$contact.contact_name_given} +{$contact.contact_name_family} +{if $contact.contact_role != "" } +{$contact.contact_role} +{/if} +{if $contact.contact_category != "" } +{$contact.contact_category} +{/if} + +{$contact.contact_work} +1 + +{if $contact.contact_home != "" } + +{$contact.contact_home} +1 + +{/if} +{if $contact.contact_cell != "" } + +{$contact.contact_cell} +1 + +{/if} +{if $contact.contact_organization != "" } +{$contact.contact_organization} +{/if} +{foreach $contact.groups as $group} +{$group} +{/foreach} + +{/if} +{/foreach} + diff --git a/resources/templates/provision/grandstream/grp2614/{$mac}.xml b/resources/templates/provision/grandstream/grp2614/{$mac}.xml new file mode 100644 index 0000000000..53e722a66d --- /dev/null +++ b/resources/templates/provision/grandstream/grp2614/{$mac}.xml @@ -0,0 +1,6961 @@ + + + +{$mac|replace:'-':''} + + + + + + + + + + + + + + + + + + 1 + + + + {$account.1.display_name} + + + + {$account.1.server_address}:{$account.1.sip_port} + + + + +{if isset($account.1.server_address_secondary)} + {$account.1.server_address_secondary}:{$account.1.sip_port} +{else} + {$account.1.server_address_secondary} +{/if} + + + + +{if isset($account.1.outbound_proxy_primary)} + {$account.1.outbound_proxy_primary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_primary} +{/if} + + + + +{if isset($account.1.outbound_proxy_secondary)} + {$account.1.outbound_proxy_secondary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.1.user_id} + + + + {$account.1.auth_id} + + + + {$account.1.password} + + + + {$account.1.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.1.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5060 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + + +{$tp=0} +{if $account.1.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.1.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.1.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.1.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + {$grandstream_dial_prefix} + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk,contact,incoming,outgoing + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + +{if isset($grandstream_account_ring_tone_1)} + {$grandstream_account_ring_tone_1} +{/if} + + + + ring1 + + + + + + 5 + + + + ring2 + + + + + + 2 + + + + ring3 + + + + + + 3 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + + +{if isset($account.2.password)} + 1 +{else} + 0 +{/if} + + + + {$account.2.display_name} + + + + {$account.2.server_address}:{$account.2.sip_port} + + + + +{if isset($account.2.server_address_secondary)} + {$account.2.server_address_secondary}:{$account.2.sip_port} +{else} + {$account.2.server_address_secondary} +{/if} + + + + +{if isset($account.2.outbound_proxy_primary)} + {$account.2.outbound_proxy_primary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_primary} +{/if} + + + + +{if isset($account.2.outbound_proxy_secondary)} + {$account.2.outbound_proxy_secondary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.2.user_id} + + + + {$account.2.auth_id} + + + + {$account.2.password} + + + + {$account.2.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.2.register_expires} + + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 6051 + + + + + 20 + + + + + + 100 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.2.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.2.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.2.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.2.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_2)} + {$grandstream_account_ring_tone_2} +{/if} + + + + ring1 + + + + + + 0 + + + + ring2 + + + + + + 0 + + + + ring3 + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.3.password)} + 1 +{else} + 0 +{/if} + + + + {$account.3.display_name} + + + + {$account.3.server_address}:{$account.3.sip_port} + + + + +{if isset($account.3.server_address_secondary)} + {$account.3.server_address_secondary}:{$account.3.sip_port} +{else} + {$account.3.server_address_secondary} +{/if} + + + + +{if isset($account.3.outbound_proxy_primary)} + {$account.3.outbound_proxy_primary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_primary} +{/if} + + + + +{if isset($account.3.outbound_proxy_secondary)} + {$account.3.outbound_proxy_secondary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.3.user_id} + + + + {$account.3.auth_id} + + + + {$account.3.password} + + + + {$account.3.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.3.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5064 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.3.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.3.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.3.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.3.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_3)} + {$grandstream_account_ring_tone_3} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.4.password)} + 1 +{else} + 0 +{/if} + + + + {$account.4.display_name} + + + + {$account.4.server_address}:{$account.4.sip_port} + + + + +{if isset($account.4.server_address_secondary)} + {$account.4.server_address_secondary}:{$account.4.sip_port} +{else} + {$account.4.server_address_secondary} +{/if} + + + + +{if isset($account.4.outbound_proxy_primary)} + {$account.4.outbound_proxy_primary}:{$account.4.sip_port} +{else} + {$account.4.outbound_proxy_primary} +{/if} + + + + +{if isset($account.4.outbound_proxy_secondary)} + {$account.4.outbound_proxy_secondary}:{$account.4.sip_port} +{else} + {$account.4.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.4.user_id} + + + + {$account.4.auth_id} + + + + {$account.4.password} + + + + {$account.4.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.4.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5066 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + + 0 + + + + +{$tp=0} +{if $account.4.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.4.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.4.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.4.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_4)} + {$grandstream_account_ring_tone_4} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + phone-{$mac|replace:'-':''} + + + + GrandstreamGRP2614 + + + + + + + + + + + + + + + + + + + + + + + 192 + + + 168 + + + 1 + + + 102 + + + + 255 + + + 255 + + + 0 + + + 0 + + + + 192 + + + 168 + + + 2 + + + 1 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 26 + + + + + 46 + + + + + 1 + + + + + 1 + + + + +{if isset($grandstream_lan_port_vlan) } + {$grandstream_lan_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_pc_port_vlan) } + {$grandstream_pc_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 30 + + + + + 1500 + + + + + 0 + + + + + + + + 1 + + + + + 1 + + + + + + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_bluetooth_power)} + {$grandstream_bluetooth_power} +{/if} + + + + +{if isset($grandstream_bluetooth_handsfree)} + {$grandstream_bluetooth_handsfree} +{/if} + + + + + + + + + + + + 0 + + + + + + + + + 1194 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + 0 + + + + + 3 + + + + + 161 + + + + + + + + 162 + + + + 5 + + + + 1 + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + {if isset($grandstream_wifi_enable)} + {$grandstream_wifi_enable} + {/if} + + + + + {if isset($grandstream_wifi_ssid_1)} + {$grandstream_wifi_ssid_1} + {/if} + + + + + {if isset($grandstream_wifi_password_1)} + {$grandstream_wifi_password_1} + {/if} + + + + + {if isset($grandstream_wifi_security_1)} + {$grandstream_wifi_security_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_method_1)} + {$grandstream_wifi_eap_method_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_identity_1)} + {$grandstream_wifi_eap_identity_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_password_1)} + {$grandstream_wifi_eap_password_1} + {/if} + + + + + {if isset($grandstream_wifi_ssid_10)} + {$grandstream_wifi_ssid_10} + {/if} + + + + + {if isset($grandstream_wifi_password_10)} + {$grandstream_wifi_password_10} + {/if} + + + + + {if isset($grandstream_wifi_security_10)} + {$grandstream_wifi_security_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_method_10)} + {$grandstream_wifi_eap_method_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_identity_10)} + {$grandstream_wifi_eap_identity_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_password_10)} + {$grandstream_wifi_eap_password_10} + {/if} + + + + + + + + + {$user_password} + + + +{if isset($admin_password)} + {$admin_password} +{else} + {$mac|replace:'-':''} +{/if} + + + + + + + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + 0 + + + + + 10080 + + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 2 + + + +{if $grandstream_config_server_path=="none"} + +{elseif isset($grandstream_config_server_path)} + {$grandstream_config_server_path} +{else} + {$domain_name}{$project_path}/app/provision +{/if} + + + +{$http_auth_username} + + + +{$http_auth_password} + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 1 + + + +{if isset($grandstream_firmware_path) && isset($firmware_version)} + {$grandstream_firmware_path}/{$firmware_version} +{elseif isset($grandstream_firmware_path)} + {$grandstream_firmware_path} +{else} + {$domain_name}{$project_path}/app/provision/resources/firmware/ +{/if} + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + {$grandstream_syslog_server} + + + + +{if isset($grandstream_syslog_level)} + {$grandstream_syslog_level} +{else} + 0 +{/if} + + + + + + + + +{if isset($grandstream_send_sip_log)} + {$grandstream_send_sip_log} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + + + + + + + + + + + + Auto + + + + 0 + + + + + 0 + + + + + + + + https://acs.gdms.cloud + + + + + + + + + + + + + + + 0 + + + + 86400 + + + + {$mac|replace:'-':''} + + + + + + + + 7547 + + + + + + + + + + + + + 0 + + + + + + + + 2 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + + 80 + + + + + 443 + + + + 1 + + + + 5 + + + + 20 + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + {$grandstream_phonebook_download} + + + + {$http_auth_username} + + + + {$http_auth_password} + + + + + +{if isset($grandstream_phonebook_download)} + {$grandstream_phonebook_xml_server_path}{$mac}/ +{elseif isset($grandstream_phonebook_xml_server_path)} + {$grandstream_phonebook_xml_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_phonebook_download_interval)} + {$grandstream_phonebook_download_interval} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($contact_groups) || isset($contact_users) || isset($contact_extensions)} + 2 +{else} + 0 +{/if} + + + + 0 + + + + + + + + 0 + + + + {$grandstream_ldap_server} + + + + 389 + + + + + + {$grandstream_ldap_base_dn} + + + + {$grandstream_ldap_username} + + + + {$grandstream_ldap_password} + + + + + {$grandstream_ldap_number_filter} + + + + + {$grandstream_ldap_name_filter} + + + + + 3 + + + + + {$grandstream_ldap_name_attr} + + + + + {$grandstream_ldap_number_attr} + + + + {$grandstream_ldap_display_name} + + + + + + 50 + + + + + + 30 + + + + + 0 + + + + 0 + + + 0 + + + + givenName sn title + + + + 0 + + + + + + + + 5004 + + + + + 200 + + + + + 1 + + + + + 20 + + + + + + + + + + + + +{if isset($public_mode) } +{if $public_mode|strtolower == 'true'} + 1 +{elseif $public_mode|strtolower == 'yes'} + 1 +{elseif $public_mode == '1'} + 1 +{else} + 0 +{/if} +{else} + 0 +{/if} + + + + + + 0 + + + + + + + + + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 4320 + + + + 100 + + + + 100 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + + + + + + + 5222 + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + CallHistory,LocalPhonebook,RemotePhonebook,FeatureCode + + + + + 1 + + + + + + + + 0 + + + + + 30 + + + + + 0 + + + + + 5 + + + + + 0 + + + + + 10 + + + + + 20 + + + + + 0 + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 1{/if} +{if $grandstream_call_waiting == "2"} 0{/if} +{/if} + + + + +{if isset($grandstream_call_waiting_ring)} +{if $grandstream_call_waiting_ring == "0"} 0{/if} +{if $grandstream_call_waiting_ring == "1"} 1{/if} +{else} +1 +{/if} + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + +{if isset($dnd)} + {$dnd} +{else} + 1 +{/if} + + + + + 2 + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_auto_attended_transfer)} + {$grandstream_auto_attended_transfer} +{else} + 1 +{/if} + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 1 + + + + + 1 + + + + + 10 + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + 0 + + + + {$account.1.display_name} + + + + + + 224.0.1.117:5003 + + + + Page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} + 0 +{/if} + + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} + 0 +{/if} + + + + + 0 + + + + + + +{if isset($ntp_server_primary)} + {$ntp_server_primary} +{else} + pool.ntp.org +{/if} + + + +{if isset($ntp_server_secondary)} + {$ntp_server_secondary} +{else} + 2.us.pool.ntp.org +{/if} + + + + + 1440 + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_timezone) } + {$grandstream_timezone} +{elseif isset($grandstream_gxp_time_zone) } + {$grandstream_gxp_time_zone} +{else} + auto +{/if} + + + + + + 1 + + + + + MTZ+6MDT+5,M4.1.0,M11.1.0 + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + {$grandstream_lcd_brightness} + + + + + {$grandstream_lcd_brightness_idle} + + + + + {$grandstream_active_backlight_timeout} + + + + + 1 + + + + + + + + + +{if isset($grandstream_wallpaper_url)} + 1 + {$grandstream_wallpaper_url} +{else} + 0 + +{/if} + + + + #000000 + + + + +{if isset($grandstream_screensaver)} + {$grandstream_screensaver} +{else} + 2 +{/if} + + + + +{if isset($grandstream_screensaver_source)} + {$grandstream_screensaver_source} +{else} + 0 +{/if} + + + + + +{if isset($grandstream_screensaver_show_date_time)} + {$grandstream_screensaver_show_date_time} +{else} + 1 +{/if} + + + + +{if isset($grandstream_screensaver_timeout)} + {$grandstream_screensaver_timeout} +{else} + 3 +{/if} + + + +{if isset($grandstream_screensaver_server_path)} + {$grandstream_screensaver_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_screensaver_xml_download_interval)} + {$grandstream_screensaver_xml_download_interval} +{else} + 0 +{/if} + + + + + + 0 + + + + 0 + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + f1=500,f2=540,c=20/20-80/400; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440,c=10/10; + + + + + f1=440,f2=480,c=200/400; + + + + + f1=440,f2=440,c=25/525; + + + + + 0 + + + + + f1=480,f2=620,c=50/50; + + + + + f1=480,f2=620,c=25/25; + + + + + 5 + + + + + 5 + + + + + 0 + + + + +{if isset($grandstream_default_ringtone)} + {$grandstream_default_ringtone} +{/if} + + + + + + + + + + + 1 + + + + + + + + + + + XMLApp + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + 1 + + + + + + 1 + + + + + 0 + + + + + {$grandstream_blind_xfer_blf} + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{$fixed_keys=6} + + +{$start_id=1363} +{assign var=key_types value=["none"=>-1,"phonebook"=>30,"line"=>31,"shared line"=>32,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} + +{for $line=1 to 6} +{$pid=$line*2-2} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +0 +{$line-1} + + +{else} +-1 +{/if} +{/if} + +{/for} + + +{$start_id=23800} +{for $line=7 to 40} +{$pid=($line-6)*4-4} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +-1 +0 + + +{else} +-1 +{/if} +{/if} + +{/for} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"conference"=>12,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} +{$start_id=323} +{for $mem=1 to 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} + + + + + + + +{$key_types[$keys.memory.$mem.device_key_type]} + + +{$keys.memory.$mem.device_key_line} + + +{$keys.memory.$mem.device_key_label} + + +{$keys.memory.$mem.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} + +{$start_id=353} +{for $mem=8 to 18} +{$pid=($mem-7)*4-4} +{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types} +{$key_types[$keys.memory.$mem.device_key_type]} +{$keys.memory.$mem.device_key_line} +{$keys.memory.$mem.device_key_label} +{$keys.memory.$mem.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} + + +{$start_id=1440} +{for $mem=19 to 24} +{$pid=($mem-18)*4-4} +{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types} +{$key_types[$keys.memory.$mem.device_key_type]} +{$keys.memory.$mem.device_key_line} +{$keys.memory.$mem.device_key_label} +{$keys.memory.$mem.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} + + + + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + 0 + + + + + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,Redial,Dial,Backspace,PickUp,Target + + + + BTPhonebook,DirectIP,Onhook,Cancel,Dial,Backspace,Target + + + + Answer,Reject,Forward,ReConf + + + + BTOnOff,EndCall,ReConf,ConfRoom,ConfCall + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,ConfCall,Cancel,NewCall,Swap,Transfer,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,UCallPark,PrivateHold,CallPark + + + + BTOnOff,EndCall,Kick,NewCall,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,ConfRoom,Add + + + + ReConf,Resume,HoldTrnf,ConfCall,Add + + + + EndCall,ReConf,ConfRoom + + + + BTOnOff,Cancel,BlindTrnf,AttTrnf,Backspace,Target + + + + BTOnOff,Cancel,Dial,Backspace,Target + + + + + + + + + + + +{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>27]} +{$start_id=2987} +{for $prog=1 to 3} +{$pid=$prog*4-4} +{if isset($keys.programmable.$prog.device_key_category) && isset($keys.programmable.$prog.device_key_type) && $keys.programmable.$prog.device_key_type|in_array:$key_types} +{$key_types[$keys.programmable.$prog.device_key_type]} +{$keys.programmable.$prog.device_key_line} +{$keys.programmable.$prog.device_key_label} +{$keys.programmable.$prog.device_key_value} +{else} +0 +0 + + +{/if} + +{/for} + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_ext_1page)} + {$grandstream_ext_1page} +{else} + 1 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} +{$start_id=23000} +{for $exp=1 to 160} +{$pid=$exp*5-5} +{if isset($keys.expansion.$exp.device_key_category) && isset($keys.expansion.$exp.device_key_type) && $keys.expansion.$exp.device_key_type|in_array:$key_types} +{$key_types[$keys.expansion.$exp.device_key_type]} +{$keys.expansion.$exp.device_key_line} +{$keys.expansion.$exp.device_key_label} +{$keys.expansion.$exp.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} +{ + + + diff --git a/resources/templates/provision/grandstream/grp2615/phonebook.xml b/resources/templates/provision/grandstream/grp2615/phonebook.xml new file mode 100644 index 0000000000..62c745db9f --- /dev/null +++ b/resources/templates/provision/grandstream/grp2615/phonebook.xml @@ -0,0 +1,49 @@ + + +1 +{foreach $contacts as $contact} +{if $contact.contact_type == "group"} + +{$contact.id} +{$contact.group_description|truncate:10} + +{/if} +{/foreach} +{$i=0} +{foreach $contacts as $contact} +{if $contact.contact_name_given != "" && $contact.contact_type == "contact"} + +{$contact.contact_name_given} +{$contact.contact_name_family} +{if $contact.contact_role != "" } +{$contact.contact_role} +{/if} +{if $contact.contact_category != "" } +{$contact.contact_category} +{/if} + +{$contact.contact_work} +1 + +{if $contact.contact_home != "" } + +{$contact.contact_home} +1 + +{/if} +{if $contact.contact_cell != "" } + +{$contact.contact_cell} +1 + +{/if} +{if $contact.contact_organization != "" } +{$contact.contact_organization} +{/if} +{foreach $contact.groups as $group} +{$group} +{/foreach} + +{/if} +{/foreach} + diff --git a/resources/templates/provision/grandstream/grp2615/{$mac}.xml b/resources/templates/provision/grandstream/grp2615/{$mac}.xml new file mode 100644 index 0000000000..85b569de3d --- /dev/null +++ b/resources/templates/provision/grandstream/grp2615/{$mac}.xml @@ -0,0 +1,7825 @@ + + + +{$mac|replace:'-':''} + + + + + + + + + + + + + + + + + + 1 + + + + {$account.1.display_name} + + + + {$account.1.server_address}:{$account.1.sip_port} + + + + +{if isset($account.1.server_address_secondary)} + {$account.1.server_address_secondary}:{$account.1.sip_port} +{else} + {$account.1.server_address_secondary} +{/if} + + + + +{if isset($account.1.outbound_proxy_primary)} + {$account.1.outbound_proxy_primary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_primary} +{/if} + + + + +{if isset($account.1.outbound_proxy_secondary)} + {$account.1.outbound_proxy_secondary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.1.user_id} + + + + {$account.1.auth_id} + + + + {$account.1.password} + + + + {$account.1.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.1.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5060 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + + +{$tp=0} +{if $account.1.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.1.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.1.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.1.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + {$grandstream_dial_prefix} + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk,contact,incoming,outgoing + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + +{if isset($grandstream_account_ring_tone_1)} + {$grandstream_account_ring_tone_1} +{/if} + + + + ring1 + + + + + + 5 + + + + ring2 + + + + + + 2 + + + + ring3 + + + + + + 3 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + + +{if isset($account.2.password)} + 1 +{else} + 0 +{/if} + + + + {$account.2.display_name} + + + + {$account.2.server_address}:{$account.2.sip_port} + + + + +{if isset($account.2.server_address_secondary)} + {$account.2.server_address_secondary}:{$account.2.sip_port} +{else} + {$account.2.server_address_secondary} +{/if} + + + + +{if isset($account.2.outbound_proxy_primary)} + {$account.2.outbound_proxy_primary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_primary} +{/if} + + + + +{if isset($account.2.outbound_proxy_secondary)} + {$account.2.outbound_proxy_secondary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.2.user_id} + + + + {$account.2.auth_id} + + + + {$account.2.password} + + + + {$account.2.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.2.register_expires} + + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 6051 + + + + + 20 + + + + + + 100 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.2.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.2.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.2.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.2.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_2)} + {$grandstream_account_ring_tone_2} +{/if} + + + + ring1 + + + + + + 0 + + + + ring2 + + + + + + 0 + + + + ring3 + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.3.password)} + 1 +{else} + 0 +{/if} + + + + {$account.3.display_name} + + + + {$account.3.server_address}:{$account.3.sip_port} + + + + +{if isset($account.3.server_address_secondary)} + {$account.3.server_address_secondary}:{$account.3.sip_port} +{else} + {$account.3.server_address_secondary} +{/if} + + + + +{if isset($account.3.outbound_proxy_primary)} + {$account.3.outbound_proxy_primary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_primary} +{/if} + + + + +{if isset($account.3.outbound_proxy_secondary)} + {$account.3.outbound_proxy_secondary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.3.user_id} + + + + {$account.3.auth_id} + + + + {$account.3.password} + + + + {$account.3.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.3.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5064 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.3.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.3.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.3.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.3.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_3)} + {$grandstream_account_ring_tone_3} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.4.password)} + 1 +{else} + 0 +{/if} + + + + {$account.4.display_name} + + + + {$account.4.server_address}:{$account.4.sip_port} + + + + +{if isset($account.4.server_address_secondary)} + {$account.4.server_address_secondary}:{$account.4.sip_port} +{else} + {$account.4.server_address_secondary} +{/if} + + + + +{if isset($account.4.outbound_proxy_primary)} + {$account.4.outbound_proxy_primary}:{$account.4.sip_port} +{else} + {$account.4.outbound_proxy_primary} +{/if} + + + + +{if isset($account.4.outbound_proxy_secondary)} + {$account.4.outbound_proxy_secondary}:{$account.4.sip_port} +{else} + {$account.4.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.4.user_id} + + + + {$account.4.auth_id} + + + + {$account.4.password} + + + + {$account.4.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.4.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5066 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + + 0 + + + + +{$tp=0} +{if $account.4.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.4.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.4.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.4.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_4)} + {$grandstream_account_ring_tone_4} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.5.password)} + 1 +{else} + 0 +{/if} + + + + {$account.5.display_name} + + + + {$account.5.server_address}:{$account.5.sip_port} + + + + +{if isset($account.5.server_address_secondary)} + {$account.5.server_address_secondary}:{$account.5.sip_port} +{else} + {$account.5.server_address_secondary} +{/if} + + + + +{if isset($account.5.outbound_proxy_primary)} + {$account.5.outbound_proxy_primary}:{$account.5.sip_port} +{else} + {$account.5.outbound_proxy_primary} +{/if} + + + + +{if isset($account.5.outbound_proxy_secondary)} + {$account.5.outbound_proxy_secondary}:{$account.5.sip_port} +{else} + {$account.5.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.5.user_id} + + + + {$account.5.auth_id} + + + + {$account.5.password} + + + + {$account.5.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.5.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5068 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.5.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.5.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.5.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.5.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_5)} + {$grandstream_account_ring_tone_5} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + phone-{$mac|replace:'-':''} + + + + GrandstreamGRP2615 + + + + + + + + + + + + + + + + + + + + + + 192 + + + 168 + + + 1 + + + 102 + + + + 255 + + + 255 + + + 0 + + + 0 + + + + 192 + + + 168 + + + 2 + + + 1 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 26 + + + + + 46 + + + + + 1 + + + + + 1 + + + + +{if isset($grandstream_lan_port_vlan) } + {$grandstream_lan_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_pc_port_vlan) } + {$grandstream_pc_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 30 + + + + + 1500 + + + + + 0 + + + + + + + + 1 + + + + + 1 + + + + + + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_bluetooth_power)} + {$grandstream_bluetooth_power} +{/if} + + + + +{if isset($grandstream_bluetooth_handsfree)} + {$grandstream_bluetooth_handsfree} +{/if} + + + + + + + + + + + + 0 + + + + + + + + + 1194 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + 0 + + + + + 3 + + + + + 161 + + + + + + + + 162 + + + + 5 + + + + 1 + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + {if isset($grandstream_wifi_enable)} + {$grandstream_wifi_enable} + {/if} + + + + + {if isset($grandstream_wifi_ssid_1)} + {$grandstream_wifi_ssid_1} + {/if} + + + + + {if isset($grandstream_wifi_password_1)} + {$grandstream_wifi_password_1} + {/if} + + + + + {if isset($grandstream_wifi_security_1)} + {$grandstream_wifi_security_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_method_1)} + {$grandstream_wifi_eap_method_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_identity_1)} + {$grandstream_wifi_eap_identity_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_password_1)} + {$grandstream_wifi_eap_password_1} + {/if} + + + + + {if isset($grandstream_wifi_ssid_10)} + {$grandstream_wifi_ssid_10} + {/if} + + + + + {if isset($grandstream_wifi_password_10)} + {$grandstream_wifi_password_10} + {/if} + + + + + {if isset($grandstream_wifi_security_10)} + {$grandstream_wifi_security_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_method_10)} + {$grandstream_wifi_eap_method_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_identity_10)} + {$grandstream_wifi_eap_identity_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_password_10)} + {$grandstream_wifi_eap_password_10} + {/if} + + + + + + + + {$user_password} + + + +{if isset($admin_password)} + {$admin_password} +{else} + {$mac|replace:'-':''} +{/if} + + + + + + + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + 0 + + + + + 10080 + + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 2 + + + +{if $grandstream_config_server_path=="none"} + +{elseif isset($grandstream_config_server_path)} + {$grandstream_config_server_path} +{else} + {$domain_name}{$project_path}/app/provision +{/if} + + + +{$http_auth_username} + + + +{$http_auth_password} + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 1 + + + +{if isset($grandstream_firmware_path) && isset($firmware_version)} + {$grandstream_firmware_path}/{$firmware_version} +{elseif isset($grandstream_firmware_path)} + {$grandstream_firmware_path} +{else} + {$domain_name}{$project_path}/app/provision/resources/firmware/ +{/if} + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + {$grandstream_syslog_server} + + + + +{if isset($grandstream_syslog_level)} + {$grandstream_syslog_level} +{else} + 0 +{/if} + + + + + + + + +{if isset($grandstream_send_sip_log)} + {$grandstream_send_sip_log} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + + + + + + + + + + + + Auto + + + + 0 + + + + + 0 + + + + + + + + https://acs.gdms.cloud + + + + + + + + + + + + + + + 0 + + + + 86400 + + + + {$mac|replace:'-':''} + + + + + + + + 7547 + + + + + + + + + + + + + 0 + + + + + + + + 2 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + + 80 + + + + + 443 + + + + 1 + + + + 5 + + + + 20 + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + {$grandstream_phonebook_download} + + + + {$http_auth_username} + + + + {$http_auth_password} + + + + + +{if isset($grandstream_phonebook_download)} + {$grandstream_phonebook_xml_server_path}{$mac}/ +{elseif isset($grandstream_phonebook_xml_server_path)} + {$grandstream_phonebook_xml_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_phonebook_download_interval)} + {$grandstream_phonebook_download_interval} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 0 + + + + {$grandstream_ldap_server} + + + + 389 + + + + + + {$grandstream_ldap_base_dn} + + + + {$grandstream_ldap_username} + + + + {$grandstream_ldap_password} + + + + + {$grandstream_ldap_number_filter} + + + + + {$grandstream_ldap_name_filter} + + + + + 3 + + + + + {$grandstream_ldap_name_attr} + + + + + {$grandstream_ldap_number_attr} + + + + {$grandstream_ldap_display_name} + + + + + + 50 + + + + + + 30 + + + + + 0 + + + + 0 + + + 0 + + + + givenName sn title + + + + 0 + + + + + + + + 5004 + + + + + 200 + + + + + 1 + + + + + 20 + + + + + + + + + + + + +{if isset($public_mode) } +{if $public_mode|strtolower == 'true'} + 1 +{elseif $public_mode|strtolower == 'yes'} + 1 +{elseif $public_mode == '1'} + 1 +{else} + 0 +{/if} +{else} + 0 +{/if} + + + + + + 0 + + + + + + + + + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 4320 + + + + 100 + + + + 100 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + + + + + + + 5222 + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + CallHistory,LocalPhonebook,RemotePhonebook,FeatureCode + + + + + 1 + + + + + + + + 0 + + + + + 30 + + + + + 0 + + + + + 5 + + + + + 0 + + + + + 10 + + + + + 20 + + + + + 0 + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 1{/if} +{if $grandstream_call_waiting == "2"} 0{/if} +{/if} + + + + +{if isset($grandstream_call_waiting_ring)} +{if $grandstream_call_waiting_ring == "0"} 0{/if} +{if $grandstream_call_waiting_ring == "1"} 1{/if} +{else} +1 +{/if} + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + +{if isset($dnd)} + {$dnd} +{else} + 1 +{/if} + + + + + 2 + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_auto_attended_transfer)} + {$grandstream_auto_attended_transfer} +{else} + 1 +{/if} + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 1 + + + + + 1 + + + + + 10 + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + 0 + + + + {$account.1.display_name} + + + + + + 224.0.1.117:5003 + + + + Page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} + 0 +{/if} + + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} + 0 +{/if} + + + + 0 + + + + + + +{if isset($ntp_server_primary)} + {$ntp_server_primary} +{else} + pool.ntp.org +{/if} + + + +{if isset($ntp_server_secondary)} + {$ntp_server_secondary} +{else} + 2.us.pool.ntp.org +{/if} + + + + + 1440 + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_timezone) } + {$grandstream_timezone} +{elseif isset($grandstream_gxp_time_zone) } + {$grandstream_gxp_time_zone} +{else} + auto +{/if} + + + + + + 1 + + + + + MTZ+6MDT+5,M4.1.0,M11.1.0 + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + {$grandstream_lcd_brightness} + + + + + {$grandstream_lcd_brightness_idle} + + + + + {$grandstream_active_backlight_timeout} + + + + + 1 + + + + + + + + + +{if isset($grandstream_wallpaper_url)} + 1 + {$grandstream_wallpaper_url} +{else} + 0 + +{/if} + + + + #000000 + + + + +{if isset($grandstream_screensaver)} + {$grandstream_screensaver} +{else} + 2 +{/if} + + + + +{if isset($grandstream_screensaver_source)} + {$grandstream_screensaver_source} +{else} + 0 +{/if} + + + + + +{if isset($grandstream_screensaver_show_date_time)} + {$grandstream_screensaver_show_date_time} +{else} + 1 +{/if} + + + + +{if isset($grandstream_screensaver_timeout)} + {$grandstream_screensaver_timeout} +{else} + 3 +{/if} + + + +{if isset($grandstream_screensaver_server_path)} + {$grandstream_screensaver_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_screensaver_xml_download_interval)} + {$grandstream_screensaver_xml_download_interval} +{else} + 0 +{/if} + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + f1=500,f2=540,c=20/20-80/400; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440,c=10/10; + + + + + f1=440,f2=480,c=200/400; + + + + + f1=440,f2=440,c=25/525; + + + + + 0 + + + + + f1=480,f2=620,c=50/50; + + + + + f1=480,f2=620,c=25/25; + + + + + 5 + + + + + 5 + + + + + 0 + + + + +{if isset($grandstream_default_ringtone)} + {$grandstream_default_ringtone} +{/if} + + + + + + + + + + + 1 + + + + + + + + + + + XMLApp + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + 1 + + + + + + 1 + + + + + 0 + + + + + {$grandstream_blind_xfer_blf} + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{$fixed_keys=10} + + +{$start_id=1363} +{assign var=key_types value=["none"=>-1,"line"=>31,"shared line"=>32,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} + +{for $line=1 to 6} +{$pid=$line*2-2} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +0 +{$line-1} + + +{else} +-1 +{/if} +{/if} + +{/for} + + +{$start_id=23800} +{for $line=7 to 40} +{$pid=($line-6)*4-4} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +-1 +0 + + +{else} +-1 +{/if} +{/if} + +{/for} + + + + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + 0 + + + + + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,Redial,Dial,Backspace,PickUp,Target + + + + BTPhonebook,DirectIP,Onhook,Cancel,Dial,Backspace,Target + + + + Answer,Reject,Forward,ReConf + + + + BTOnOff,EndCall,ReConf,ConfRoom,ConfCall + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,ConfCall,Cancel,NewCall,Swap,Transfer,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,UCallPark,PrivateHold,CallPark + + + + BTOnOff,EndCall,Kick,NewCall,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,ConfRoom,Add + + + + ReConf,Resume,HoldTrnf,ConfCall,Add + + + + EndCall,ReConf,ConfRoom + + + + BTOnOff,Cancel,BlindTrnf,AttTrnf,Backspace,Target + + + + BTOnOff,Cancel,Dial,Backspace,Target + + + + + + + + + + + +{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>27]} +{$start_id=2987} +{for $prog=1 to 3} +{$pid=$prog*4-4} +{if isset($keys.programmable.$prog.device_key_category) && isset($keys.programmable.$prog.device_key_type) && $keys.programmable.$prog.device_key_type|in_array:$key_types} +{$key_types[$keys.programmable.$prog.device_key_type]} +{$keys.programmable.$prog.device_key_line} +{$keys.programmable.$prog.device_key_label} +{$keys.programmable.$prog.device_key_value} +{else} +0 +0 + + +{/if} + +{/for} + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_ext_1page)} + {$grandstream_ext_1page} +{else} + 1 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + +{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} +{$start_id=23000} +{for $exp=1 to 160} +{$pid=$exp*5-5} +{if isset($keys.expansion.$exp.device_key_category) && isset($keys.expansion.$exp.device_key_type) && $keys.expansion.$exp.device_key_type|in_array:$key_types} +{$key_types[$keys.expansion.$exp.device_key_type]} +{$keys.expansion.$exp.device_key_line} +{$keys.expansion.$exp.device_key_label} +{$keys.expansion.$exp.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} + + + diff --git a/resources/templates/provision/grandstream/grp2616/phonebook.xml b/resources/templates/provision/grandstream/grp2616/phonebook.xml new file mode 100644 index 0000000000..62c745db9f --- /dev/null +++ b/resources/templates/provision/grandstream/grp2616/phonebook.xml @@ -0,0 +1,49 @@ + + +1 +{foreach $contacts as $contact} +{if $contact.contact_type == "group"} + +{$contact.id} +{$contact.group_description|truncate:10} + +{/if} +{/foreach} +{$i=0} +{foreach $contacts as $contact} +{if $contact.contact_name_given != "" && $contact.contact_type == "contact"} + +{$contact.contact_name_given} +{$contact.contact_name_family} +{if $contact.contact_role != "" } +{$contact.contact_role} +{/if} +{if $contact.contact_category != "" } +{$contact.contact_category} +{/if} + +{$contact.contact_work} +1 + +{if $contact.contact_home != "" } + +{$contact.contact_home} +1 + +{/if} +{if $contact.contact_cell != "" } + +{$contact.contact_cell} +1 + +{/if} +{if $contact.contact_organization != "" } +{$contact.contact_organization} +{/if} +{foreach $contact.groups as $group} +{$group} +{/foreach} + +{/if} +{/foreach} + diff --git a/resources/templates/provision/grandstream/grp2616/{$mac}.xml b/resources/templates/provision/grandstream/grp2616/{$mac}.xml new file mode 100644 index 0000000000..ec271a349c --- /dev/null +++ b/resources/templates/provision/grandstream/grp2616/{$mac}.xml @@ -0,0 +1,8901 @@ + + + +{$mac|replace:'-':''} + + + + + + + + + + + + + + + + + + 1 + + + + {$account.1.display_name} + + + + {$account.1.server_address}:{$account.1.sip_port} + + + + +{if isset($account.1.server_address_secondary)} + {$account.1.server_address_secondary}:{$account.1.sip_port} +{else} + {$account.1.server_address_secondary} +{/if} + + + + +{if isset($account.1.outbound_proxy_primary)} + {$account.1.outbound_proxy_primary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_primary} +{/if} + + + + +{if isset($account.1.outbound_proxy_secondary)} + {$account.1.outbound_proxy_secondary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.1.user_id} + + + + {$account.1.auth_id} + + + + {$account.1.password} + + + + {$account.1.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.1.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5060 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + + +{$tp=0} +{if $account.1.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.1.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.1.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.1.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + {$grandstream_dial_prefix} + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk,contact,incoming,outgoing + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + +{if isset($grandstream_account_ring_tone_1)} + {$grandstream_account_ring_tone_1} +{/if} + + + + ring1 + + + + + + 5 + + + + ring2 + + + + + + 2 + + + + ring3 + + + + + + 3 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + + +{if isset($account.2.password)} + 1 +{else} + 0 +{/if} + + + + {$account.2.display_name} + + + + {$account.2.server_address}:{$account.2.sip_port} + + + + +{if isset($account.2.server_address_secondary)} + {$account.2.server_address_secondary}:{$account.2.sip_port} +{else} + {$account.2.server_address_secondary} +{/if} + + + + +{if isset($account.2.outbound_proxy_primary)} + {$account.2.outbound_proxy_primary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_primary} +{/if} + + + + +{if isset($account.2.outbound_proxy_secondary)} + {$account.2.outbound_proxy_secondary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.2.user_id} + + + + {$account.2.auth_id} + + + + {$account.2.password} + + + + {$account.2.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.2.register_expires} + + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 6051 + + + + + 20 + + + + + + 100 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.2.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.2.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.2.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.2.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_2)} + {$grandstream_account_ring_tone_2} +{/if} + + + + ring1 + + + + + + 0 + + + + ring2 + + + + + + 0 + + + + ring3 + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.3.password)} + 1 +{else} + 0 +{/if} + + + + {$account.3.display_name} + + + + {$account.3.server_address}:{$account.3.sip_port} + + + + +{if isset($account.3.server_address_secondary)} + {$account.3.server_address_secondary}:{$account.3.sip_port} +{else} + {$account.3.server_address_secondary} +{/if} + + + + +{if isset($account.3.outbound_proxy_primary)} + {$account.3.outbound_proxy_primary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_primary} +{/if} + + + + +{if isset($account.3.outbound_proxy_secondary)} + {$account.3.outbound_proxy_secondary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.3.user_id} + + + + {$account.3.auth_id} + + + + {$account.3.password} + + + + {$account.3.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.3.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5064 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.3.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.3.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.3.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.3.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_3)} + {$grandstream_account_ring_tone_3} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.4.password)} + 1 +{else} + 0 +{/if} + + + + {$account.4.display_name} + + + + {$account.4.server_address}:{$account.4.sip_port} + + + + +{if isset($account.4.server_address_secondary)} + {$account.4.server_address_secondary}:{$account.4.sip_port} +{else} + {$account.4.server_address_secondary} +{/if} + + + + +{if isset($account.4.outbound_proxy_primary)} + {$account.4.outbound_proxy_primary}:{$account.4.sip_port} +{else} + {$account.4.outbound_proxy_primary} +{/if} + + + + +{if isset($account.4.outbound_proxy_secondary)} + {$account.4.outbound_proxy_secondary}:{$account.4.sip_port} +{else} + {$account.4.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.4.user_id} + + + + {$account.4.auth_id} + + + + {$account.4.password} + + + + {$account.4.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.4.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5066 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + + 0 + + + + +{$tp=0} +{if $account.4.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.4.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.4.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.4.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_4)} + {$grandstream_account_ring_tone_4} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.5.password)} + 1 +{else} + 0 +{/if} + + + + {$account.5.display_name} + + + + {$account.5.server_address}:{$account.5.sip_port} + + + + +{if isset($account.5.server_address_secondary)} + {$account.5.server_address_secondary}:{$account.5.sip_port} +{else} + {$account.5.server_address_secondary} +{/if} + + + + +{if isset($account.5.outbound_proxy_primary)} + {$account.5.outbound_proxy_primary}:{$account.5.sip_port} +{else} + {$account.5.outbound_proxy_primary} +{/if} + + + + +{if isset($account.5.outbound_proxy_secondary)} + {$account.5.outbound_proxy_secondary}:{$account.5.sip_port} +{else} + {$account.5.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.5.user_id} + + + + {$account.5.auth_id} + + + + {$account.5.password} + + + + {$account.5.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.5.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5068 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.5.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.5.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.5.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.5.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_5)} + {$grandstream_account_ring_tone_5} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.6.password)} + 1 +{else} + 0 +{/if} + + + + {$account.6.display_name} + + + + {$account.6.server_address}:{$account.6.sip_port} + + + + +{if isset($account.6.server_address_secondary)} + {$account.6.server_address_secondary}:{$account.6.sip_port} +{else} + {$account.6.server_address_secondary} +{/if} + + + + +{if isset($account.6.outbound_proxy_primary)} + {$account.6.outbound_proxy_primary}:{$account.6.sip_port} +{else} + {$account.6.outbound_proxy_primary} +{/if} + + + + +{if isset($account.6.outbound_proxy_secondary)} + {$account.5.outbound_proxy_secondary}:{$account.6.sip_port} +{else} + {$account.6.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.6.user_id} + + + + {$account.6.auth_id} + + + + {$account.6.password} + + + + {$account.6.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 2 +{/if} + + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.6.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5070 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + + 0 + + + + +{$tp=0} +{if $account.6.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.6.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.6.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.6.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 123 + + + + + 101 + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 1 + + + + + 2 + + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + +{if isset($grandstream_account_ring_tone_6)} + {$grandstream_account_ring_tone_6} +{/if} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + phone-{$mac|replace:'-':''} + + + + GrandstreamGRP2616 + + + + + + + + + + + + + + + + + + + + + + + 192 + + + 168 + + + 1 + + + 102 + + + + 255 + + + 255 + + + 0 + + + 0 + + + + 192 + + + 168 + + + 2 + + + 1 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 26 + + + + + 46 + + + + + 1 + + + + + 1 + + + + +{if isset($grandstream_lan_port_vlan) } + {$grandstream_lan_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_pc_port_vlan) } + {$grandstream_pc_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 30 + + + + + 1500 + + + + + 0 + + + + + + + + 1 + + + + + 1 + + + + + + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_bluetooth_power)} + {$grandstream_bluetooth_power} +{/if} + + + + +{if isset($grandstream_bluetooth_handsfree)} + {$grandstream_bluetooth_handsfree} +{/if} + + + + + + + + + + + + 0 + + + + + + + + + 1194 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + 0 + + + + + 3 + + + + + 161 + + + + + + + + 162 + + + + 5 + + + + 1 + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + {if isset($grandstream_wifi_enable)} + {$grandstream_wifi_enable} + {/if} + + + + + {if isset($grandstream_wifi_ssid_1)} + {$grandstream_wifi_ssid_1} + {/if} + + + + + {if isset($grandstream_wifi_password_1)} + {$grandstream_wifi_password_1} + {/if} + + + + + {if isset($grandstream_wifi_security_1)} + {$grandstream_wifi_security_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_method_1)} + {$grandstream_wifi_eap_method_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_identity_1)} + {$grandstream_wifi_eap_identity_1} + {/if} + + + + + {if isset($grandstream_wifi_eap_password_1)} + {$grandstream_wifi_eap_password_1} + {/if} + + + + + {if isset($grandstream_wifi_ssid_10)} + {$grandstream_wifi_ssid_10} + {/if} + + + + + {if isset($grandstream_wifi_password_10)} + {$grandstream_wifi_password_10} + {/if} + + + + + {if isset($grandstream_wifi_security_10)} + {$grandstream_wifi_security_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_method_10)} + {$grandstream_wifi_eap_method_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_identity_10)} + {$grandstream_wifi_eap_identity_10} + {/if} + + + + + {if isset($grandstream_wifi_eap_password_10)} + {$grandstream_wifi_eap_password_10} + {/if} + + + + + + + + + {$user_password} + + + +{if isset($admin_password)} + {$admin_password} +{else} + {$mac|replace:'-':''} +{/if} + + + + + + + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + + + + + + 0 + + + + + 10080 + + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 2 + + + +{if $grandstream_config_server_path=="none"} + +{elseif isset($grandstream_config_server_path)} + {$grandstream_config_server_path} +{else} + {$domain_name}{$project_path}/app/provision +{/if} + + + +{$http_auth_username} + + + +{$http_auth_password} + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 1 + + + +{if isset($grandstream_firmware_path) && isset($firmware_version)} + {$grandstream_firmware_path}/{$firmware_version} +{elseif isset($grandstream_firmware_path)} + {$grandstream_firmware_path} +{else} + {$domain_name}{$project_path}/app/provision/resources/firmware/ +{/if} + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + {$grandstream_syslog_server} + + + + +{if isset($grandstream_syslog_level)} + {$grandstream_syslog_level} +{else} + 0 +{/if} + + + + + + + + +{if isset($grandstream_send_sip_log)} + {$grandstream_send_sip_log} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + + + + + + + + + + + + Auto + + + + 0 + + + + + 0 + + + + + + + + https://acs.gdms.cloud + + + + + + + + + + + + + + + 0 + + + + 86400 + + + + {$mac|replace:'-':''} + + + + + + + + 7547 + + + + + + + + + + + + + 0 + + + + + + + + 2 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + + 80 + + + + + 443 + + + + 1 + + + + 5 + + + + 20 + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + + + {$grandstream_phonebook_download} + + + + {$http_auth_username} + + + + {$http_auth_password} + + + + + +{if isset($grandstream_phonebook_download)} + {$grandstream_phonebook_xml_server_path}{$mac}/ +{elseif isset($grandstream_phonebook_xml_server_path)} + {$grandstream_phonebook_xml_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_phonebook_download_interval)} + {$grandstream_phonebook_download_interval} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($contact_groups) || isset($contact_users) || isset($contact_extensions)} + 2 +{else} + 0 +{/if} + + + + + 0 + + + + + + + + 0 + + + + {$grandstream_ldap_server} + + + + 389 + + + + + + {$grandstream_ldap_base_dn} + + + + {$grandstream_ldap_username} + + + + {$grandstream_ldap_password} + + + + + {$grandstream_ldap_number_filter} + + + + + {$grandstream_ldap_name_filter} + + + + + 3 + + + + + {$grandstream_ldap_name_attr} + + + + + {$grandstream_ldap_number_attr} + + + + {$grandstream_ldap_display_name} + + + + + + 50 + + + + + + 30 + + + + + 0 + + + + 0 + + + 0 + + + + givenName sn title + + + + 0 + + + + + + + + 5004 + + + + + 200 + + + + + 1 + + + + + 20 + + + + + + + + + + + + +{if isset($public_mode) } +{if $public_mode|strtolower == 'true'} + 1 +{elseif $public_mode|strtolower == 'yes'} + 1 +{elseif $public_mode == '1'} + 1 +{else} + 0 +{/if} +{else} + 0 +{/if} + + + + + + 0 + + + + + + + + + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 4320 + + + + 100 + + + + 100 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + + + + + + + 5222 + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + CallHistory,LocalPhonebook,RemotePhonebook,FeatureCode + + + + + 1 + + + + + + + + 0 + + + + + 30 + + + + + 0 + + + + + 5 + + + + + 0 + + + + + 10 + + + + + 20 + + + + + 0 + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "0"} 0{/if} +{if $grandstream_call_waiting == "1"} 1{/if} +{if $grandstream_call_waiting == "2"} 0{/if} +{/if} + + + + +{if isset($grandstream_call_waiting_ring)} +{if $grandstream_call_waiting_ring == "0"} 0{/if} +{if $grandstream_call_waiting_ring == "1"} 1{/if} +{else} +1 +{/if} + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + +{if isset($dnd)} + {$dnd} +{else} + 1 +{/if} + + + + + 2 + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_auto_attended_transfer)} + {$grandstream_auto_attended_transfer} +{else} + 1 +{/if} + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 1 + + + + + 1 + + + + + 10 + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + 0 + + + + {$account.1.display_name} + + + + + + 224.0.1.117:5003 + + + + Page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} + 0 +{/if} + + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} + 0 +{/if} + + + + + 0 + + + + + + +{if isset($ntp_server_primary)} + {$ntp_server_primary} +{else} + pool.ntp.org +{/if} + + + +{if isset($ntp_server_secondary)} + {$ntp_server_secondary} +{else} + 2.us.pool.ntp.org +{/if} + + + + + 1440 + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_timezone) } + {$grandstream_timezone} +{elseif isset($grandstream_gxp_time_zone) } + {$grandstream_gxp_time_zone} +{else} + auto +{/if} + + + + + + 1 + + + + + MTZ+6MDT+5,M4.1.0,M11.1.0 + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + {$grandstream_lcd_brightness} + + + + + {$grandstream_lcd_brightness_idle} + + + + + {$grandstream_active_backlight_timeout} + + + + + 1 + + + + + + + + + +{if isset($grandstream_wallpaper_url)} + 1 + {$grandstream_wallpaper_url} +{else} + 0 + +{/if} + + + + #000000 + + + + +{if isset($grandstream_screensaver)} + {$grandstream_screensaver} +{else} + 2 +{/if} + + + + +{if isset($grandstream_screensaver_source)} + {$grandstream_screensaver_source} +{else} + 0 +{/if} + + + + + +{if isset($grandstream_screensaver_show_date_time)} + {$grandstream_screensaver_show_date_time} +{else} + 1 +{/if} + + + + +{if isset($grandstream_screensaver_timeout)} + {$grandstream_screensaver_timeout} +{else} + 3 +{/if} + + + +{if isset($grandstream_screensaver_server_path)} + {$grandstream_screensaver_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_screensaver_xml_download_interval)} + {$grandstream_screensaver_xml_download_interval} +{else} + 0 +{/if} + + + + + + 0 + + + + 0 + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + f1=500,f2=540,c=20/20-80/400; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440,c=10/10; + + + + + f1=440,f2=480,c=200/400; + + + + + f1=440,f2=440,c=25/525; + + + + + 0 + + + + + f1=480,f2=620,c=50/50; + + + + + f1=480,f2=620,c=25/25; + + + + + 5 + + + + + 5 + + + + + 0 + + + + +{if isset($grandstream_default_ringtone)} + {$grandstream_default_ringtone} +{/if} + + + + + + + + + + + 1 + + + + + + + + + + + XMLApp + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + 1 + + + + + + 1 + + + + + 0 + + + + + {$grandstream_blind_xfer_blf} + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{$fixed_keys=6} + + +{$start_id=1363} +{assign var=key_types value=["none"=>-1,"line"=>31,"shared line"=>32,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} + +{for $line=1 to 6} +{$pid=$line*2-2} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +0 +{$line-1} + + +{else} +-1 +{/if} +{/if} + +{/for} + + +{$start_id=23800} +{for $line=7 to 40} +{$pid=($line-6)*4-4} +{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} +{if $line <= $fixed_keys} +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +-1 +0 + + +{else} +-1 +{/if} +{/if} + +{/for} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"conference"=>12,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} +{$start_id=323} +{for $mem=1 to 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} + + + + + + + +{$key_types[$keys.memory.$mem.device_key_type]} + + +{$keys.memory.$mem.device_key_line} + + +{$keys.memory.$mem.device_key_label} + + +{$keys.memory.$mem.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} + +{$start_id=353} +{for $mem=8 to 18} +{$pid=($mem-7)*4-4} +{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types} +{$key_types[$keys.memory.$mem.device_key_type]} +{$keys.memory.$mem.device_key_line} +{$keys.memory.$mem.device_key_label} +{$keys.memory.$mem.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} + + +{$start_id=1440} +{for $mem=19 to 24} +{$pid=($mem-18)*4-4} +{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types} +{$key_types[$keys.memory.$mem.device_key_type]} +{$keys.memory.$mem.device_key_line} +{$keys.memory.$mem.device_key_label} +{$keys.memory.$mem.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} + + + + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + 0 + + + + + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,Redial,Dial,Backspace,PickUp,Target + + + + BTPhonebook,DirectIP,Onhook,Cancel,Dial,Backspace,Target + + + + Answer,Reject,Forward,ReConf + + + + BTOnOff,EndCall,ReConf,ConfRoom,ConfCall + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,ConfCall,Cancel,NewCall,Swap,Transfer,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,UCallPark,PrivateHold,CallPark + + + + BTOnOff,EndCall,Kick,NewCall,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,ConfRoom,Add + + + + ReConf,Resume,HoldTrnf,ConfCall,Add + + + + EndCall,ReConf,ConfRoom + + + + BTOnOff,Cancel,BlindTrnf,AttTrnf,Backspace,Target + + + + BTOnOff,Cancel,Dial,Backspace,Target + + + + + + + + + + + +{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>27]} +{$start_id=2987} +{for $prog=1 to 3} +{$pid=$prog*4-4} +{if isset($keys.programmable.$prog.device_key_category) && isset($keys.programmable.$prog.device_key_type) && $keys.programmable.$prog.device_key_type|in_array:$key_types} +{$key_types[$keys.programmable.$prog.device_key_type]} +{$keys.programmable.$prog.device_key_line} +{$keys.programmable.$prog.device_key_label} +{$keys.programmable.$prog.device_key_value} +{else} +0 +0 + + +{/if} + +{/for} + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_ext_1page)} + {$grandstream_ext_1page} +{else} + 1 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} +{$start_id=23000} +{for $exp=1 to 160} +{$pid=$exp*5-5} +{if isset($keys.expansion.$exp.device_key_category) && isset($keys.expansion.$exp.device_key_type) && $keys.expansion.$exp.device_key_type|in_array:$key_types} +{$key_types[$keys.expansion.$exp.device_key_type]} +{$keys.expansion.$exp.device_key_line} +{$keys.expansion.$exp.device_key_label} +{$keys.expansion.$exp.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} +{ + + + diff --git a/resources/templates/provision/grandstream/grp26xx/{$mac}.xml b/resources/templates/provision/grandstream/grp26xx/{$mac}.xml index ee045de470..e233d17ed9 100644 --- a/resources/templates/provision/grandstream/grp26xx/{$mac}.xml +++ b/resources/templates/provision/grandstream/grp26xx/{$mac}.xml @@ -1,9814 +1,8315 @@ - + + - - - - - - - - - - - - - - - - - - - - Yes - - - {$account.1.display_name} - - - {$account.1.server_address}:{$account.1.sip_port} - - - - {if isset($account.1.server_address_secondary)} - {$account.1.server_address_secondary}:{$account.1.sip_port} - {else} - {$account.1.server_address_secondary} - {/if} - - - - {if isset($account.1.outbound_proxy_primary)} - {$account.1.outbound_proxy_primary}:{$account.1.sip_port} - {else} - {$account.1.outbound_proxy_primary} - {/if} - - - - {if isset($account.1.outbound_proxy_secondary)} - {$account.1.outbound_proxy_secondary}:{$account.1.sip_port} - {else} - {$account.1.outbound_proxy_secondary} - {/if} - - - - - - {$account.1.user_id} - - - {$account.1.auth_id} - - - {$account.1.password} - - - {$account.1.display_name} - - - *97 - - - - {$account.1.user_id} - - - - - - - {if $grandstream_dns_mode == '0'}ARecord{/if} - {if $grandstream_dns_mode == '1'}SRV{/if} - {if $grandstream_dns_mode == '2'}NaptrOrSrv{/if} - {if $grandstream_dns_mode == '3'}UseConfiguredIP{/if} - - - - - Default - - - - - - - - - - - - - - {if $grandstream_nat_traversal == ''}Auto{/if} - {if $grandstream_nat_traversal == '0'}No{/if} - {if $grandstream_nat_traversal == '1'}STUN{/if} - {if $grandstream_nat_traversal == '2'}KeepAlive{/if} - {if $grandstream_nat_traversal == '3'}UPnP{/if} - {if $grandstream_nat_traversal == '4'}Auto{/if} - {if $grandstream_nat_traversal == '5'}VPN{/if} - - - - - - - No - - - - - - Disabled - - - - Yes - - - - Yes - - - - {$account.1.register_expires} - - - - 60 - - - - 0 - - - - Yes - - - 30 - - - 3 - - - 5060 - - - 20 - - - - 0.5sec - - - - 4sec - - - - - {$tp=0} - {if $account.1.sip_transport == 'udp'}{$tp=UDP}{/if} - {if $account.1.sip_transport == 'tcp'}{$tp=TCP}{/if} - {if $account.1.sip_transport == 'tls'}{$tp=TlsOrTcp}{/if} - {if $account.1.sip_transport == 'dns srv'}{$tp=TCP}{/if} - {$tp} - - - - TransportOnly - - - - sips - - - - No - - - - InRoute - - - - Yes - - - - - {if isset($subscribe_mwi)} - Yes - {else} - No - {/if} - - - - No - - - - No - - - - Auto - - - - Header - - - - No - - - - No - - - - No - - - - - - - Default - - - - Default - - - - Yes - - - - Yes - - - - Yes - - - - Yes - - - - - - 15 - - - - - - - - - - Disabled - - - - - - - - - - - {if $grandstream_blf_call_pickup == '0'}Auto{/if} - {if $grandstream_blf_call_pickup == '1'}Force{/if} - {if $grandstream_blf_call_pickup == '2'}Disabled{/if} - - {$grandstream_blf_call_pickup} - - - ** - - - - - - - No - - - - No - - - - Disabled - - - - Standard - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - - 5060 - - - - - - No - - - - 180 - - - 90 - - - - No - - - - No - - - - No - - - - UAC - - - - 1 - - - - No - - - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - PCMU - PCMA - G.723.1 - G.729A/B - G.722 - iLBC - G.726-32 - OPUS - - - - No - - - - Callee - - - - No - - - - No - - - - - {if $grandstream_srtp == '0'}Disabled{/if} - {if $grandstream_srtp == '1'}EnabledButNotForced{/if} - {if $grandstream_srtp == '2'}EnabledAndForced{/if} - {if $grandstream_srtp == '3'}Optional{/if} - - - - AES128And256Bit - - - - Yes - - - - No - - - - No - - - - Adaptive - - - - 300ms - - - - 2 - - - - 5.3kbpsEncodingRate - - - - ITU - - - - 30ms - - - 97 - - - 123 - - - 101 - - - - No - Yes - No - - - - 250 - - - - - No - - - - - - - {if isset($grandstream_dial_plan) } - {$grandstream_dial_plan} - {else} - {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} - {/if} - - - - Mpk - - - - All - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - 30 - - - - 4 - - - - Pound - - - - Yes - - - - No - - - - - - - 0 - - - - - {if $grandstream_call_waiting == '2'}Default{/if} - {if $grandstream_call_waiting == '1'}Yes{/if} - {if $grandstream_call_waiting == '0'}No{/if} - - - - - {if isset($grandstream_account_ring_tone_1)} - {$grandstream_account_ring_tone_1} - {/if} - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - 60 - - - - - - - - Yes - - - - No - - - - No - - - - Yes - - - - - - - - - - - - Yes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12 - - Yes - - - {$account.2.display_name} - - - {$account.2.server_address}:{$account.2.sip_port} - - - - {if isset($account.2.server_address_secondary)} - {$account.2.server_address_secondary}:{$account.2.sip_port} - {else} - {$account.2.server_address_secondary} - {/if} - - - - {if isset($account.2.outbound_proxy_primary)} - {$account.2.outbound_proxy_primary}:{$account.2.sip_port} - {else} - {$account.2.outbound_proxy_primary} - {/if} - - - - {if isset($account.2.outbound_proxy_secondary)} - {$account.2.outbound_proxy_secondary}:{$account.2.sip_port} - {else} - {$account.2.outbound_proxy_secondary} - {/if} - - - - - - {$account.2.user_id} - - - {$account.2.auth_id} - - - {$account.2.password} - - - {$account.2.display_name} - - - *97 - - - - {$account.2.user_id} - - - - - - - - - - {if $grandstream_dns_mode == '0'}ARecord{/if} - {if $grandstream_dns_mode == '1'}SRV{/if} - {if $grandstream_dns_mode == '2'}NaptrOrSrv{/if} - {if $grandstream_dns_mode == '3'}UseConfiguredIP{/if} - - - - - Default - - - - - - - - - - - - - - {if $grandstream_nat_traversal == ''}Auto{/if} - {if $grandstream_nat_traversal == '0'}No{/if} - {if $grandstream_nat_traversal == '1'}STUN{/if} - {if $grandstream_nat_traversal == '2'}KeepAlive{/if} - {if $grandstream_nat_traversal == '3'}UPnP{/if} - {if $grandstream_nat_traversal == '4'}Auto{/if} - {if $grandstream_nat_traversal == '5'}VPN{/if} - - - - - - - No - - - - - - - Disabled - - - - Yes - - - - Yes - - - - {$account.2.register_expires} - - - - 60 - - - - 0 - - - - Yes - - - 30 - - - 3 - - - 5062 - - - 20 - - - - 0.5sec - - - - 4sec - - - - - {$tp=0} - {if $account.2.sip_transport == 'udp'}{$tp=UDP}{/if} - {if $account.2.sip_transport == 'tcp'}{$tp=TCP}{/if} - {if $account.2.sip_transport == 'tls'}{$tp=TlsOrTcp}{/if} - {if $account.2.sip_transport == 'dns srv'}{$tp=TCP}{/if} - {$tp} - - - - TransportOnly - - - - sips - - - - No - - - - InRoute - - - - Yes - - - - - {if isset($subscribe_mwi)} - Yes - {else} - No - {/if} - - - - No - - - - No - - - - Auto - - - - Header - - - - No - - - - No - - - - No - - - - - - - - Default - - - - Default - - - - Yes - - - - Yes - - - - Yes - - - - Yes - - - - - - - 15 - - - - - - - - - - Disabled - - - - - - - - - - - {if $grandstream_blf_call_pickup == '0'}Auto{/if} - {if $grandstream_blf_call_pickup == '1'}Force{/if} - {if $grandstream_blf_call_pickup == '2'}Disabled{/if} - - {$grandstream_blf_call_pickup} - - - ** - - - - - - - No - - - - No - - - - Disabled - - - - Standard - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - - 5060 - - - - - - - - No - - - - 180 - - - 90 - - - - No - - - - No - - - - No - - - - UAC - - - - 1 - - - - No - - - - - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - PCMU - PCMA - G723.1 - G.729A/B - G.722 - iLBC - G.726-32 - OPUS - - - - No - - - - Callee - - - - No - - - - No - - - - - {if $grandstream_srtp == '0'}Disabled{/if} - {if $grandstream_srtp == '1'}EnabledButNotForced{/if} - {if $grandstream_srtp == '2'}EnabledAndForced{/if} - {if $grandstream_srtp == '3'}Optional{/if} - - - - AES128And256Bit - - - - Yes - - - - No - - - - No - - - - Adaptive - - - - 300ms - - - - 2 - - - - 5.3kbpsEncodingRate - - - - ITU - - - - 30ms - - - 97 - - - 123 - - - 101 - - - - No - Yes - No - - - - 250 - - - - - No - - - - - - - {if isset($grandstream_dial_plan) } - {$grandstream_dial_plan} - {else} - {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} - {/if} - - - - Mpk - - - - All - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - 30 - - - - 4 - - - - Pound - - - - Yes - - - - No - - - - - - - 0 - - - - - {if $grandstream_call_waiting == '2'}Default{/if} - {if $grandstream_call_waiting == '1'}Yes{/if} - {if $grandstream_call_waiting == '0'}No{/if} - - - - - {if isset($grandstream_account_ring_tone_1)} - {$grandstream_account_ring_tone_1} - {/if} - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - 60 - - - - - - - - Yes - - - - No - - - - No - - - - Yes - - - - - - - - - - - - Yes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12 - - - - - - - - - - Yes - - - {$account.3.display_name} - - - {$account.3.server_address}:{$account.3.sip_port} - - - - {if isset($account.3.server_address_secondary)} - {$account.3.server_address_secondary}:{$account.3.sip_port} - {else} - {$account.3.server_address_secondary} - {/if} - - - - {if isset($account.3.outbound_proxy_primary)} - {$account.3.outbound_proxy_primary}:{$account.3.sip_port} - {else} - {$account.3.outbound_proxy_primary} - {/if} - - - - {if isset($account.3.outbound_proxy_secondary)} - {$account.3.outbound_proxy_secondary}:{$account.3.sip_port} - {else} - {$account.3.outbound_proxy_secondary} - {/if} - - - - - - {$account.3.user_id} - - - {$account.3.auth_id} - - - {$account.3.password} - - - {$account.3.display_name} - - - *97 - - - - {$account.3.user_id} - - - - - - - {if $grandstream_dns_mode == '0'}ARecord{/if} - {if $grandstream_dns_mode == '1'}SRV{/if} - {if $grandstream_dns_mode == '2'}NaptrOrSrv{/if} - {if $grandstream_dns_mode == '3'}UseConfiguredIP{/if} - - - - - Default - - - - - - - - - - - - - - {if $grandstream_nat_traversal == ''}Auto{/if} - {if $grandstream_nat_traversal == '0'}No{/if} - {if $grandstream_nat_traversal == '1'}STUN{/if} - {if $grandstream_nat_traversal == '2'}KeepAlive{/if} - {if $grandstream_nat_traversal == '3'}UPnP{/if} - {if $grandstream_nat_traversal == '4'}Auto{/if} - {if $grandstream_nat_traversal == '5'}VPN{/if} - - - - - - - No - - - - - - Disabled - - - - Yes - - - - Yes - - - - {$account.3.register_expires} - - - - 60 - - - - 0 - - - - Yes - - - 30 - - - 3 - - - 5064 - - - 20 - - - - 0.5sec - - - - 4sec - - - - - {$tp=0} - {if $account.3.sip_transport == 'udp'}{$tp=UDP}{/if} - {if $account.3.sip_transport == 'tcp'}{$tp=TCP}{/if} - {if $account.3.sip_transport == 'tls'}{$tp=TlsOrTcp}{/if} - {if $account.3.sip_transport == 'dns srv'}{$tp=TCP}{/if} - {$tp} - - - - TransportOnly - - - - sips - - - - No - - - - InRoute - - - - Yes - - - - - {if isset($subscribe_mwi)} - Yes - {else} - No - {/if} - - - - No - - - - No - - - - Auto - - - - Header - - - - No - - - - No - - - - No - - - - - - - Default - - - - Default - - - - Yes - - - - Yes - - - - Yes - - - - Yes - - - - - - 15 - - - - - - - - - - Disabled - - - - - - - - - - - {if $grandstream_blf_call_pickup == '0'}Auto{/if} - {if $grandstream_blf_call_pickup == '1'}Force{/if} - {if $grandstream_blf_call_pickup == '2'}Disabled{/if} - - {$grandstream_blf_call_pickup} - - - ** - - - - - - - No - - - - No - - - - Disabled - - - - Standard - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - - 5060 - - - - - - No - - - - 180 - - - 90 - - - - No - - - - No - - - - No - - - - UAC - - - - 1 - - - - No - - - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - PCMU - PCMA - G.723.1 - G.729A/B - G.722 - iLBC - G.726-32 - OPUS - - - - No - - - - Callee - - - - No - - - - No - - - - - {if $grandstream_srtp == '0'}Disabled{/if} - {if $grandstream_srtp == '1'}EnabledButNotForced{/if} - {if $grandstream_srtp == '2'}EnabledAndForced{/if} - {if $grandstream_srtp == '3'}Optional{/if} - - - - AES128And256Bit - - - - Yes - - - - No - - - - No - - - - Adaptive - - - - 300ms - - - - 2 - - - - 5.3kbpsEncodingRate - - - - ITU - - - - 30ms - - - 97 - - - 123 - - - 101 - - - - No - Yes - No - - - - 250 - - - - - No - - - - - - - {if isset($grandstream_dial_plan) } - {$grandstream_dial_plan} - {else} - {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} - {/if} - - - - Mpk - - - - All - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - 30 - - - - 4 - - - - Pound - - - - Yes - - - - No - - - - - - - 0 - - - - - {if $grandstream_call_waiting == '2'}Default{/if} - {if $grandstream_call_waiting == '1'}Yes{/if} - {if $grandstream_call_waiting == '0'}No{/if} - - - - - {if isset($grandstream_account_ring_tone_1)} - {$grandstream_account_ring_tone_1} - {/if} - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - 60 - - - - - - - - Yes - - - - No - - - - No - - - - Yes - - - - - - - - - - - - Yes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12 - - - - - - - - - - - Yes - - - {$account.4.display_name} - - - {$account.4.server_address}:{$account.4.sip_port} - - - - {if isset($account.4.server_address_secondary)} - {$account.4.server_address_secondary}:{$account.4.sip_port} - {else} - {$account.4.server_address_secondary} - {/if} - - - - {if isset($account.4.outbound_proxy_primary)} - {$account.4.outbound_proxy_primary}:{$account.4.sip_port} - {else} - {$account.4.outbound_proxy_primary} - {/if} - - - - {if isset($account.4.outbound_proxy_secondary)} - {$account.4.outbound_proxy_secondary}:{$account.4.sip_port} - {else} - {$account.4.outbound_proxy_secondary} - {/if} - - - - - - {$account.4.user_id} - - - {$account.4.auth_id} - - - {$account.4.password} - - - {$account.4.display_name} - - - *97 - - - - {$account.4.user_id} - - - - - - - {if $grandstream_dns_mode == '0'}ARecord{/if} - {if $grandstream_dns_mode == '1'}SRV{/if} - {if $grandstream_dns_mode == '2'}NaptrOrSrv{/if} - {if $grandstream_dns_mode == '3'}UseConfiguredIP{/if} - - - - - Default - - - - - - - - - - - - - - {if $grandstream_nat_traversal == ''}Auto{/if} - {if $grandstream_nat_traversal == '0'}No{/if} - {if $grandstream_nat_traversal == '1'}STUN{/if} - {if $grandstream_nat_traversal == '2'}KeepAlive{/if} - {if $grandstream_nat_traversal == '3'}UPnP{/if} - {if $grandstream_nat_traversal == '4'}Auto{/if} - {if $grandstream_nat_traversal == '5'}VPN{/if} - - - - - - - No - - - - - - Disabled - - - - Yes - - - - Yes - - - - {$account.4.register_expires} - - - - 60 - - - - 0 - - - - Yes - - - 30 - - - 3 - - - 5060 - - - 20 - - - - 0.5sec - - - - 4sec - - - - - {$tp=0} - {if $account.4.sip_transport == 'udp'}{$tp=UDP}{/if} - {if $account.4.sip_transport == 'tcp'}{$tp=TCP}{/if} - {if $account.4.sip_transport == 'tls'}{$tp=TlsOrTcp}{/if} - {if $account.4.sip_transport == 'dns srv'}{$tp=TCP}{/if} - {$tp} - - - - TransportOnly - - - - sips - - - - No - - - - InRoute - - - - Yes - - - - - {if isset($subscribe_mwi)} - Yes - {else} - No - {/if} - - - - No - - - - No - - - - Auto - - - - Header - - - - No - - - - No - - - - No - - - - - - - Default - - - - Default - - - - Yes - - - - Yes - - - - Yes - - - - Yes - - - - - - 15 - - - - - - - - - - Disabled - - - - - - - - - - - {if $grandstream_blf_call_pickup == '0'}Auto{/if} - {if $grandstream_blf_call_pickup == '1'}Force{/if} - {if $grandstream_blf_call_pickup == '2'}Disabled{/if} - - {$grandstream_blf_call_pickup} - - - ** - - - - - - - No - - - - No - - - - Disabled - - - - Standard - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - - 5060 - - - - - - No - - - - 180 - - - 90 - - - - No - - - - No - - - - No - - - - UAC - - - - 1 - - - - No - - - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - PCMU - PCMA - G.723.1 - G.729A/B - G.722 - iLBC - G.726-32 - OPUS - - - - No - - - - Callee - - - - No - - - - No - - - - - {if $grandstream_srtp == '0'}Disabled{/if} - {if $grandstream_srtp == '1'}EnabledButNotForced{/if} - {if $grandstream_srtp == '2'}EnabledAndForced{/if} - {if $grandstream_srtp == '3'}Optional{/if} - - - - AES128And256Bit - - - - Yes - - - - No - - - - No - - - - Adaptive - - - - 300ms - - - - 2 - - - - 5.3kbpsEncodingRate - - - - ITU - - - - 30ms - - - 97 - - - 123 - - - 101 - - - - No - Yes - No - - - - 250 - - - - - No - - - - - - - {if isset($grandstream_dial_plan) } - {$grandstream_dial_plan} - {else} - {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} - {/if} - - - - Mpk - - - - All - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - 30 - - - - 4 - - - - Pound - - - - Yes - - - - No - - - - - - - 0 - - - - - {if $grandstream_call_waiting == '2'}Default{/if} - {if $grandstream_call_waiting == '1'}Yes{/if} - {if $grandstream_call_waiting == '0'}No{/if} - - - - - {if isset($grandstream_account_ring_tone_1)} - {$grandstream_account_ring_tone_1} - {/if} - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - 60 - - - - - - - - Yes - - - - No - - - - No - - - - Yes - - - - - - - - - - - - Yes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12 - - - - - - - - - - Yes - - - {$account.5.display_name} - - - {$account.5.server_address}:{$account.5.sip_port} - - - - {if isset($account.5.server_address_secondary)} - {$account.5.server_address_secondary}:{$account.5.sip_port} - {else} - {$account.5.server_address_secondary} - {/if} - - - - {if isset($account.5.outbound_proxy_primary)} - {$account.5.outbound_proxy_primary}:{$account.5.sip_port} - {else} - {$account.5.outbound_proxy_primary} - {/if} - - - - {if isset($account.5.outbound_proxy_secondary)} - {$account.5.outbound_proxy_secondary}:{$account.5.sip_port} - {else} - {$account.5.outbound_proxy_secondary} - {/if} - - - - - - {$account.5.user_id} - - - {$account.5.auth_id} - - - {$account.5.password} - - - {$account.5.display_name} - - - *97 - - - - {$account.5.user_id} - - - - - - - {if $grandstream_dns_mode == '0'}ARecord{/if} - {if $grandstream_dns_mode == '1'}SRV{/if} - {if $grandstream_dns_mode == '2'}NaptrOrSrv{/if} - {if $grandstream_dns_mode == '3'}UseConfiguredIP{/if} - - - - - Default - - - - - - - - - - - - - - {if $grandstream_nat_traversal == ''}Auto{/if} - {if $grandstream_nat_traversal == '0'}No{/if} - {if $grandstream_nat_traversal == '1'}STUN{/if} - {if $grandstream_nat_traversal == '2'}KeepAlive{/if} - {if $grandstream_nat_traversal == '3'}UPnP{/if} - {if $grandstream_nat_traversal == '4'}Auto{/if} - {if $grandstream_nat_traversal == '5'}VPN{/if} - - - - - - - No - - - - - - Disabled - - - - Yes - - - - Yes - - - - {$account.5.register_expires} - - - - 60 - - - - 0 - - - - Yes - - - 30 - - - 3 - - - 5060 - - - 20 - - - - 0.5sec - - - - 4sec - - - - - {$tp=0} - {if $account.5.sip_transport == 'udp'}{$tp=UDP}{/if} - {if $account.5.sip_transport == 'tcp'}{$tp=TCP}{/if} - {if $account.5.sip_transport == 'tls'}{$tp=TlsOrTcp}{/if} - {if $account.5.sip_transport == 'dns srv'}{$tp=TCP}{/if} - {$tp} - - - - TransportOnly - - - - sips - - - - No - - - - InRoute - - - - Yes - - - - - {if isset($subscribe_mwi)} - Yes - {else} - No - {/if} - - - - No - - - - No - - - - Auto - - - - Header - - - - No - - - - No - - - - No - - - - - - - Default - - - - Default - - - - Yes - - - - Yes - - - - Yes - - - - Yes - - - - - - 15 - - - - - - - - - - Disabled - - - - - - - - - - - {if $grandstream_blf_call_pickup == '0'}Auto{/if} - {if $grandstream_blf_call_pickup == '1'}Force{/if} - {if $grandstream_blf_call_pickup == '2'}Disabled{/if} - - {$grandstream_blf_call_pickup} - - - ** - - - - - - - No - - - - No - - - - Disabled - - - - Standard - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - - 5060 - - - - - - No - - - - 180 - - - 90 - - - - No - - - - No - - - - No - - - - UAC - - - - 1 - - - - No - - - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - PCMU - PCMA - G.723.1 - G.729A/B - G.722 - iLBC - G.726-32 - OPUS - - - - No - - - - Callee - - - - No - - - - No - - - - - {if $grandstream_srtp == '0'}Disabled{/if} - {if $grandstream_srtp == '1'}EnabledButNotForced{/if} - {if $grandstream_srtp == '2'}EnabledAndForced{/if} - {if $grandstream_srtp == '3'}Optional{/if} - - - - AES128And256Bit - - - - Yes - - - - No - - - - No - - - - Adaptive - - - - 300ms - - - - 2 - - - - 5.3kbpsEncodingRate - - - - ITU - - - - 30ms - - - 97 - - - 123 - - - 101 - - - - No - Yes - No - - - - 250 - - - - - No - - - - - - - {if isset($grandstream_dial_plan) } - {$grandstream_dial_plan} - {else} - {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} - {/if} - - - - Mpk - - - - All - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - 30 - - - - 4 - - - - Pound - - - - Yes - - - - No - - - - - - - 0 - - - - - {if $grandstream_call_waiting == '2'}Default{/if} - {if $grandstream_call_waiting == '1'}Yes{/if} - {if $grandstream_call_waiting == '0'}No{/if} - - - - - {if isset($grandstream_account_ring_tone_1)} - {$grandstream_account_ring_tone_1} - {/if} - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - 60 - - - - - - - - Yes - - - - No - - - - No - - - - Yes - - - - - - - - - - - - Yes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12 - - - - - - - - - - Yes - - - {$account.6.display_name} - - - {$account.6.server_address}:{$account.6.sip_port} - - - - {if isset($account.6.server_address_secondary)} - {$account.6.server_address_secondary}:{$account.6.sip_port} - {else} - {$account.6.server_address_secondary} - {/if} - - - - {if isset($account.6.outbound_proxy_primary)} - {$account.6.outbound_proxy_primary}:{$account.6.sip_port} - {else} - {$account.6.outbound_proxy_primary} - {/if} - - - - {if isset($account.6.outbound_proxy_secondary)} - {$account.6.outbound_proxy_secondary}:{$account.6.sip_port} - {else} - {$account.6.outbound_proxy_secondary} - {/if} - - - - - - {$account.6.user_id} - - - {$account.6.auth_id} - - - {$account.6.password} - - - {$account.6.display_name} - - - *97 - - - - {$account.6.user_id} - - - - - - - {if $grandstream_dns_mode == '0'}ARecord{/if} - {if $grandstream_dns_mode == '1'}SRV{/if} - {if $grandstream_dns_mode == '2'}NaptrOrSrv{/if} - {if $grandstream_dns_mode == '3'}UseConfiguredIP{/if} - - - - - Default - - - - - - - - - - - - - - {if $grandstream_nat_traversal == ''}Auto{/if} - {if $grandstream_nat_traversal == '0'}No{/if} - {if $grandstream_nat_traversal == '1'}STUN{/if} - {if $grandstream_nat_traversal == '2'}KeepAlive{/if} - {if $grandstream_nat_traversal == '3'}UPnP{/if} - {if $grandstream_nat_traversal == '4'}Auto{/if} - {if $grandstream_nat_traversal == '5'}VPN{/if} - - - - - - - No - - - - - - Disabled - - - - Yes - - - - Yes - - - - {$account.6.register_expires} - - - - 60 - - - - 0 - - - - Yes - - - 30 - - - 3 - - - 5060 - - - 20 - - - - 0.5sec - - - - 4sec - - - - - {$tp=0} - {if $account.6.sip_transport == 'udp'}{$tp=UDP}{/if} - {if $account.6.sip_transport == 'tcp'}{$tp=TCP}{/if} - {if $account.6.sip_transport == 'tls'}{$tp=TlsOrTcp}{/if} - {if $account.6.sip_transport == 'dns srv'}{$tp=TCP}{/if} - {$tp} - - - - TransportOnly - - - - sips - - - - No - - - - InRoute - - - - Yes - - - - - {if isset($subscribe_mwi)} - Yes - {else} - No - {/if} - - - - No - - - - No - - - - Auto - - - - Header - - - - No - - - - No - - - - No - - - - - - - Default - - - - Default - - - - Yes - - - - Yes - - - - Yes - - - - Yes - - - - - - 15 - - - - - - - - - - Disabled - - - - - - - - - - - {if $grandstream_blf_call_pickup == '0'}Auto{/if} - {if $grandstream_blf_call_pickup == '1'}Force{/if} - {if $grandstream_blf_call_pickup == '2'}Disabled{/if} - - {$grandstream_blf_call_pickup} - - - ** - - - - - - - No - - - - No - - - - Disabled - - - - Standard - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - - 5060 - - - - - - No - - - - 180 - - - 90 - - - - No - - - - No - - - - No - - - - UAC - - - - 1 - - - - No - - - - - - No - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - PCMU - PCMA - G.723.1 - G.729A/B - G.722 - iLBC - G.726-32 - OPUS - - - - No - - - - Callee - - - - No - - - - No - - - - - {if $grandstream_srtp == '0'}Disabled{/if} - {if $grandstream_srtp == '1'}EnabledButNotForced{/if} - {if $grandstream_srtp == '2'}EnabledAndForced{/if} - {if $grandstream_srtp == '3'}Optional{/if} - - - - AES128And256Bit - - - - Yes - - - - No - - - - No - - - - Adaptive - - - - 300ms - - - - 2 - - - - 5.3kbpsEncodingRate - - - - ITU - - - - 30ms - - - 97 - - - 123 - - - 101 - - - - No - Yes - No - - - - 250 - - - - - No - - - - - - - {if isset($grandstream_dial_plan) } - {$grandstream_dial_plan} - {else} - {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} - {/if} - - - - Mpk - - - - All - - - - No - - - - No - - - - No - - - - No - - - - No - - - - - - - - 30 - - - - 4 - - - - Pound - - - - Yes - - - - No - - - - - - - 0 - - - - - {if $grandstream_call_waiting == '2'}Default{/if} - {if $grandstream_call_waiting == '1'}Yes{/if} - {if $grandstream_call_waiting == '0'}No{/if} - - - - - {if isset($grandstream_account_ring_tone_1)} - {$grandstream_account_ring_tone_1} - {/if} - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - - - 5 - - - - 60 - - - - - - - - Yes - - - - No - - - - No - - - - Yes - - - - - - - - - - - - Yes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12 - - - - - - - - IPv4Only - - - - DHCP - - - - - - phone-{$mac|replace:'-':''} - - - - - - - - - - - - - - - - - - - - - - - - - - 192 - - 168 - - 0 - - 160 - - - - - 255 - - 255 - - 0 - - 0 - - - - 0 - - 0 - - 0 - - 0 - - - - 0 - - 0 - - 0 - - 0 - - - - 0 - - 0 - - 0 - - 0 - - - - 0 - - 0 - - 0 - - 0 - - - - - - - AutoConfigured - - - - - - - - - - - - - - - - - - - - - - - - - - Disable - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 26 - - - - - 46 - - - - No - - - - Yes - - - - - - {if isset($grandstream_lan_port_vlan) } - {$grandstream_lan_port_vlan} - {else} - 0 - {/if} - - - - 0 - - - - Enabled - - - - - {if isset($grandstream_pc_port_vlan) } - {$grandstream_pc_port_vlan} - {else} - 0 - {/if} - - - 0 - - - - Yes - - - - Yes - - - 60 - - - - 1500 - - - - - - Yes - - - Yes - - - - - - - No - - - - - - No - - - 0 - - - - - - - - - {if $grandstream_bluetooth_power == ''}Off{/if} - {if $grandstream_bluetooth_power == '0'}Off{/if} - {if $grandstream_bluetooth_power == '1'}On{/if} - {if $grandstream_bluetooth_power == '2'}OffAndHideMenuFromLCD{/if} - - - - - {if $grandstream_bluetooth_handsfree == '0'}Off{/if} - {if $grandstream_bluetooth_handsfree == '1'}On{/if} - - - - 0 - - - - {$grandstream_bluetooth_name} - - - - - - - - No - - - - - - 1194 - - - - UDP - - - - Blowfish - - - - - - - - - - - - - - - - - No - - - Version3 - - - - 161 - - - - - - - - Version2 - - - - - - - - 162 - - - - 5 - - - - - - - - - - - - 0 - - - - None - - - - None - - - - - - - - - - - - - - - - 0 - - - - None - - - - None - - - - - - - - - - - - - - - Off - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - WPA_PSK - - - - - None - - - - - - - - - - - - - - - - - - {$user_password} - - - - - - {if isset($admin_password)} - {$admin_password} - {else} - {$mac|replace:'-':''} - {/if} - - - - - - - - AlwaysCheck - - - No - - - No - - - - - - Yes - - - - - - - No - - - No - - - - - No - - - - 10080 - - - No - - - 1 - - - - - - 1 - - - - Yes - - - Yes - - - - HTTPS - - - {if $grandstream_config_server_path=="none"} - - {elseif isset($grandstream_config_server_path)} - {$grandstream_config_server_path} - {else} - {$domain_name}{$project_path}/app/provision - {/if} - - - {$http_auth_username} - - {$http_auth_password} - - - - - - - - - - No - - - No - - - No - - - - - HTTPS - - - {if isset($grandstream_firmware_path) && isset($firmware_version)} - {$grandstream_firmware_path}/{$firmware_version} - {elseif isset($grandstream_firmware_path)} - {$grandstream_firmware_path} - {else} - {$domain_name}{$project_path}/app/provision/resources/firmware/ - {/if} - - - - - - - - - - - - - - - - - UDP - - {$grandstream_syslog_server} - - - - - {if $grandstream_syslog_level == '0'}None{/if} - {if $grandstream_syslog_level == '1'}Debug{/if} - {if $grandstream_syslog_level == '2'}Info{/if} - {if $grandstream_syslog_level == '2'}Warning{/if} - {if $grandstream_syslog_level == '2'}Error{/if} - - - - - - {if $grandstream_send_sip_log == '0'}No{/if} - {if $grandstream_send_sip_log == '1'}Yes{/if} - - - No - - - Yes - - - No - - - - - - https://acs.gdms.cloud - - - - - - - Yes - - 86400 - - - - - - 7547 - - - - - - No - - - - - - - Unrestricted - - - Yes - - - No - - - - - - - - - - - HTTP - - - Yes - - - 80 - - - 443 - - - - - Yes - - - - 5 - - - - 10 - - - - 5 - - - - - - Default Certificates - - - - - - No - - - - 0 - - - - - - - - - - - - 112,911,110 - - - - - - InternalStorage - - - No - - - - - - - - - - - EnabledUseHTTPS - - - {$http_auth_username} - - - {$http_auth_password} - - - - - {if isset($grandstream_phonebook_download)} - {$grandstream_phonebook_xml_server_path}{$mac}/ - {elseif isset($grandstream_phonebook_xml_server_path)} - {$grandstream_phonebook_xml_server_path} - {else} - - {/if} - - - - - - {if isset($grandstream_phonebook_download_interval)} - {$grandstream_phonebook_download_interval} - {else} - 0 - {/if} - - - Yes - - - Replace - - - - - LastName - - - - LocalPhonebook - - - - QuickMatch - - - - - - - - LDAP - - - {$grandstream_ldap_server} - - - - 389 - - - - - {$grandstream_ldap_base_dn} - - - {$grandstream_ldap_username} - - - {$grandstream_ldap_password} - - - {$grandstream_ldap_number_filter} - - - {$grandstream_ldap_name_filter} - - - - version3 - - - - - {$grandstream_ldap_name_attr} - - - - - {$grandstream_ldap_number_attr} - - - - {$grandstream_ldap_display_name} - - - 50 - - - - - 30 - - - - No - - - - No - - - - No - - - - - - - - - - - - 5004 - - - - 200 - - - - Yes - - - - 20 - - - - - - - - - - - 0 - - - - No - - - No - - - No - - - - - - - - - - - No - - - TFTP - - - - - - - - - - - - - - - Yes - - - - - - - - - - - - - - - - - - - - - - - 360 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5222 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - Account1 - - - Yes - - - - CallHistory,LocalPhonebook,RemotePhonebook,FeatureCode - - - Yes - - - - - - - - 4 - - - 30 - - - No - - - - 5 - - - - No - - - No - - - 10 - - - 10 - - - - - - - - {if isset($grandstream_call_waiting)} - {if $grandstream_call_waiting == "0"}No{/if} - {if $grandstream_call_waiting == "1"}Yes{/if} - {/if} - - - - - - {if isset($grandstream_call_waiting)} - {if $grandstream_call_waiting == "0"}No{/if} - {if $grandstream_call_waiting == "1"}Yes{/if} - {/if} - - - - - - {if isset($grandstream_call_waiting)} - {if $grandstream_call_waiting == "0"}No{/if} - {if $grandstream_call_waiting == "1"}Yes{/if} - {/if} - - - - - - - Yes - - - No - - - - Yes - - - - Yes - - - No +{$mac|replace:'-':''} + + + + + + + + + + + + + + + + + + 1 + + + + {$account.1.display_name} + + + + {$account.1.server_address}:{$account.1.sip_port} + + + + +{if isset($account.1.server_address_secondary)} + {$account.1.server_address_secondary}:{$account.1.sip_port} +{else} + {$account.1.server_address_secondary} +{/if} + + + + +{if isset($account.1.outbound_proxy_primary)} + {$account.1.outbound_proxy_primary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_primary} +{/if} + + + + +{if isset($account.1.outbound_proxy_secondary)} + {$account.1.outbound_proxy_secondary}:{$account.1.sip_port} +{else} + {$account.1.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.1.user_id} + + + + {$account.1.auth_id} + + + + {$account.1.password} + + + + {$account.1.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 0 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.1.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5060 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + +{$tp=0} +{if $account.1.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.1.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.1.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.1.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 5060 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + {$grandstream_dial_prefix} + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + {$grandstream_account_ring_tone_1} + + + + ring1 + + + + + + 5 + + + + ring2 + + + + + + 2 + + + + ring3 + + + + + + 3 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + + +{if isset($account.2.password)} + 1 +{else} + 0 +{/if} + + + + {$account.2.display_name} + + + + {$account.2.server_address}:{$account.2.sip_port} + + + + +{if isset($account.2.server_address_secondary)} + {$account.2.server_address_secondary}:{$account.2.sip_port} +{else} + {$account.2.server_address_secondary} +{/if} + + + + +{if isset($account.2.outbound_proxy_primary)} + {$account.2.outbound_proxy_primary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_primary} +{/if} + + + + +{if isset($account.2.outbound_proxy_secondary)} + {$account.2.outbound_proxy_secondary}:{$account.2.sip_port} +{else} + {$account.2.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.2.user_id} + + + + {$account.2.auth_id} + + + + {$account.2.password} + + + + {$account.2.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 0 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.2.register_expires} + + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5060 + + + + + 20 + + + + + + 100 + + + + + + 400 + + + + +{$tp=0} +{if $account.2.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.2.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.2.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.2.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 5060 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + + {$grandstream_account_ring_tone_2} + + + + + + + + + + 0 + + + + ring2 + + + + + + 0 + + + + ring3 + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 12 + + + + + + + + + + +{if isset($account.3.password)} + 1 +{else} + 0 +{/if} + + + + {$account.3.display_name} + + + + {$account.3.server_address}:{$account.3.sip_port} + + + + +{if isset($account.3.server_address_secondary)} + {$account.3.server_address_secondary}:{$account.3.sip_port} +{else} + {$account.3.server_address_secondary} +{/if} + + + + +{if isset($account.3.outbound_proxy_primary)} + {$account.3.outbound_proxy_primary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_primary} +{/if} + + + + +{if isset($account.3.outbound_proxy_secondary)} + {$account.3.outbound_proxy_secondary}:{$account.3.sip_port} +{else} + {$account.3.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.3.user_id} + + + + {$account.3.auth_id} + + + + {$account.3.password} + + + + {$account.3.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 0 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.3.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5064 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + +{$tp=0} +{if $account.3.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.3.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.3.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.3.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 5060 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + {$grandstream_account_ring_tone_3} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($account.4.password)} + 1 +{else} + 0 +{/if} + + + + {$account.4.display_name} + + + + {$account.4.server_address}:{$account.4.sip_port} + + + + +{if isset($account.4.server_address_secondary)} + {$account.4.server_address_secondary}:{$account.4.sip_port} +{else} + {$account.4.server_address_secondary} +{/if} + + + + +{if isset($account.4.outbound_proxy_primary)} + {$account.4.outbound_proxy_primary}:{$account.4.sip_port} +{else} + {$account.4.outbound_proxy_primary} +{/if} + + + + +{if isset($account.4.outbound_proxy_secondary)} + {$account.4.outbound_proxy_secondary}:{$account.4.sip_port} +{else} + {$account.4.outbound_proxy_secondary} +{/if} + + + + + + + + {$account.4.user_id} + + + + {$account.4.auth_id} + + + + {$account.4.password} + + + + {$account.4.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 0 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.4.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5066 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + +{$tp=0} +{if $account.4.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.4.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.4.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.4.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + {$grandstream_blf_call_pickup} + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 5060 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 0 + + + + + {$grandstream_account_ring_tone_4} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 12 + + + + + + + + + + +{if isset($account.5.password)} + 1 +{else} + 0 +{/if} + + + + {$account.5.display_name} + + + + {$account.5.server_address}:{$account.5.sip_port} + + + + +{if isset($account.5.server_address_secondary)} + {$account.5.server_address_secondary}:{$account.5.sip_port} +{else} + {$account.5.server_address_secondary} +{/if} + + + + +{if isset($account.5.outbound_proxy_primary)} + {$account.5.outbound_proxy_primary}:{$account.5.sip_port} +{else} + {$account.5.outbound_proxy_primary} +{/if} + + + + +{if isset($account.5.outbound_proxy_secondary)} + {$account.5.outbound_proxy_secondary}:{$account.5.sip_port} +{else} + {$account.5.outbound_proxy_secondary} +{/if} + + + + + + + + + + + + {$account.5.user_id} + + + + {$account.5.password} + + + + {$account.5.display_name} + + + + *97 + + + + + 0 + + + + + + + +{if isset($grandstream_dns_mode)} + {$grandstream_dns_mode} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + + + + + +{if isset($grandstream_nat_traversal)} + {$grandstream_nat_traversal} +{else} + 0 +{/if} + + + + + + + + + 0 + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + {$account.5.register_expires} + + + + + 60 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 30 + + + + + 5066 + + + + + 20 + + + + + + 50 + + + + + + 400 + + + + +{$tp=0} +{if $account.5.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.5.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.5.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.5.sip_transport == 'dns srv'}{$tp=1}{/if} + {$tp} + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + +{if isset($subscribe_mwi)} + 1 +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 2 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + 15 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + ** + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + 100 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + 5060 + + + + + + + + 1 + + + + + 180 + + + + + 90 + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + 8 + + + + + 4 + + + + + 18 + + + + + 9 + + + + + 98 + + + + + 2 + + + + + 123 + + + + + 0 + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + +{if isset($grandstream_srtp)} + {$grandstream_srtp} +{else} + 0 +{/if} + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + 2 + + + + + 2 + + + + + 1 + + + + + 0 + + + + + 1 + + + + + 97 + + + + + 123 + + + + + 101 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 250 + + + + + + + + 0 + + + + + + + + +{if isset($grandstream_dial_plan) } + {$grandstream_dial_plan} +{else} + {literal}{x+|*x+|*++|\p\a\r\k\+*x+| \f\l\o\w\+*x+}{/literal} +{/if} + + + + mpk + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 30 + + + + + 4 + + + + + 1 + + + + + 1 + + + + + 0 + + + + + + + + + + 0 + + + + + {$grandstream_call_waiting} + + + + + {$grandstream_account_ring_tone_5} + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + + + + + + 5 + + + + + 60 + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 12 + + + + + + + + 2 + + + + + + + + + + + + phone-{$mac|replace:'-':''} + + + + + + + + + + + + + + + + + + + + + + + + + + - - No + + + - - Yes + + + + + + 192 - - - - - Yes + + 168 - - + + 0 - - - No + + 160 - - - + + + 255 - - Dynamic - - {if $grandstream_auto_attended_transfer == '0'}Static{/if} - {if $grandstream_auto_attended_transfer == '1'}Dynamic{/if} + + 255 - - - + + 0 - - Yes + + 0 - - Yes + + + 0 - - No + + 0 - - No + + 0 - - Default + + 0 - - - Busy + + + 0 - - - TemporarilyUnavailable + + 0 - - No + + 0 - - No - - - - - - - - - - No - - - InternalStorage - - - No - - - Yes - - - - 10 - - - - - - 0 - - - - - - - - VPK - - - - - - Yes - - - Yes - - - - - - Yes - - - Yes - - - - 0 - - - - - - - - - - - - - - - - - - - Yes - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DefaultMode - - - Normal - - - Normal - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - - - - {if isset($ntp_server_primary)} - {$ntp_server_primary} - {else} - pool.ntp.org - {/if} - - - - - - {if isset($ntp_server_secondary)} - {$ntp_server_secondary} - {else} - 2.us.pool.ntp.org - {/if} - - - - - 1440 - - - - No - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {$grandstream_gxp_time_zone} - - - Yes - - - - - MTZ+6MDT+5,M4.1.0,M11.1.0 - - - - - - - - yyyy-mm-dd - - - - 12Hour - - - - - - - - - - - - - - - - - - Automatic - - - - - - - - - - - - - - - {$grandstream_lcd_brightness} - - - - {$grandstream_lcd_brightness_idle} - - - - {$grandstream_active_backlight_timeout} - - - - 1 - - - - Default - - - - - - {if isset($grandstream_wallpaper_url)} - Download - {$grandstream_wallpaper_url} - {else} - Default - - {/if} - - - - - #000000 - - - - - {if $grandstream_screensaver == '0'}No{/if} - {if $grandstream_screensaver == '1'}Yes{/if} - {if $grandstream_screensaver == '2'}OnIfNoVPKIsActive{/if} - - - - - {if $grandstream_screensaver_source == '0'}Default{/if} - {if $grandstream_screensaver_source == '1'}USB{/if} - {if $grandstream_screensaver_source == '2'}Download{/if} - - - - - {if $grandstream_screensaver_source == '0'}No{/if} - {if $grandstream_screensaver_source == '1'}Yes{/if} - - - - - - {if isset($grandstream_screensaver_timeout)} - {$grandstream_screensaver_timeout} - {else} - 3 - {/if} - - - - - - {if isset($grandstream_screensaver_server_path)} - {$grandstream_screensaver_server_path} - {else} - - {/if} - - - - - - {if isset($grandstream_screensaver_xml_download_interval)} - {$grandstream_screensaver_xml_download_interval} - {else} - 0 - {/if} - - - - - - Sequential - - - No - - - Default - - - - - - 0 - - - - Yes - - - - - - - - - f1=440,f2=480,c=200/400; - - - - - f1=350,f2=440; - - - - - f1=350,f2=440; - - - - - f1=350,f2=440,c=10/10; - - - - - f1=440,f2=480,c=200/400; - - - - - f1=440,f2=440,c=25/525; - - - - Low - - - - - f1=480,f2=620,c=50/50; - - - - - f1=480,f2=620,c=25/25; - - - - - 5 - - - - - 5 - - - No - - - - - {if isset($grandstream_default_ringtone)} - {$grandstream_default_ringtone} - {else} - 0 - {/if} - - - - - - - Yes - - - - - - - - - - - XMLApp - - - - - - - - - - - - - No - - - No - - - 20 - - - 0 - - - 0 - - - 0 - - - 0 - - - No - - - No - - - - StartTime,StopTime,LocalUser,RemoteUser,LocalIP,RemoteIP,LocalCodec,RemoteCodec,Jitter,JitterBufferMax,PacketLost,PacketLostRate,MosLQ,MosCQ,RoundTripDelay,EndSysDelay,SymmOneWayDelay - - - - - - - - - - Yes - - - - AccountMode - - - - - - No - - - Show - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{$fixed_keys=12} + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 26 + + + + + 46 + + + + + 0 + + + + + 1 + + + + +{if isset($grandstream_lan_port_vlan) } + {$grandstream_lan_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_pc_port_vlan) } + {$grandstream_pc_port_vlan} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 30 + + + + + 1500 + + + + + + + + 1 + + + + + 1 + + + + + + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_bluetooth_power)} + {$grandstream_bluetooth_power} +{/if} + + + + +{if isset($grandstream_bluetooth_handsfree)} + {$grandstream_bluetooth_handsfree} +{/if} + + + + + + + + + + + + + + 0 + + + + + + + + + 1194 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + + + + 0 + + + + + 3 + + + + + 161 + + + + + + + + 2 + + + + + + + + 162 + + + + 5 + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + 4 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + {$user_password} + + + + +{if isset($admin_password)} + {$admin_password} +{else} + {$mac|replace:'-':''} +{/if} + + + + + + + + + + + + 0 + + + + + 0 + + + + 0 + + + + + + 1 + + + + + 0 + + + + + + 0 + + + + + 1 + + + + + + + + + + 0 + + + + + 10080 + + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + + 0 + + + + + 1 + + + + + + 2 + + + +{if $grandstream_config_server_path=="none"} + +{elseif isset($grandstream_config_server_path)} + {$grandstream_config_server_path} +{else} + {$domain_name}{$project_path}/app/provision +{/if} + + + + {$http_auth_username} + + + + {$http_auth_password} + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + 1 + + + +{if isset($grandstream_firmware_path) && isset($firmware_version)} + {$grandstream_firmware_path}/{$firmware_version} +{elseif isset($grandstream_firmware_path)} + {$grandstream_firmware_path} +{else} + {$domain_name}{$project_path}/app/provision/resources/firmware/ +{/if} + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + {$grandstream_syslog_server} + + + + +{if isset($grandstream_syslog_level)} + {$grandstream_syslog_level} +{else} + 0 +{/if} + + + + + + + + +{if isset($grandstream_send_sip_log)} + {$grandstream_send_sip_log} +{else} + 0 +{/if} + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + 0 + + + + 86400 + + + + + + + + + + + + 7547 + + + + + + + + + + + + + 0 + + + + + + + + 0 + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + 1 + + + + + 1 + + + + + 80 + + + + + 443 + + + + 1 + + + + 5 + + + + 20 + + + + 10 + + + + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + {$grandstream_phonebook_download} + + + + + + + + + + + + + +{if isset($grandstream_phonebook_download)} + {$grandstream_phonebook_xml_server_path}{$mac}/ +{elseif isset($grandstream_phonebook_xml_server_path)} + {$grandstream_phonebook_xml_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_phonebook_download_interval)} + {$grandstream_phonebook_download_interval} +{else} + 0 +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + +{if isset($contact_grandstream)} + 2 +{else} + 0 +{/if} + + + + + 0 + + + + + + + + 0 + + + + + + + + 389 + + + + + + {$grandstream_ldap_base_dn} + + + + {$grandstream_ldap_username} + + + + {$grandstream_ldap_password} + + + + + {$grandstream_ldap_number_filter} + + + + + {$grandstream_ldap_name_filter} + + + + + 3 + + + + + {$grandstream_ldap_name_attr} + + + + + {$grandstream_ldap_number_attr} + + + + {$grandstream_ldap_display_name} + + + + + + 50 + + + + + + 30 + + + + + 0 + + + + 0 + + + 0 + + + + givenName sn title + + + + + + + + + 5004 + + + + + 200 + + + + + 1 + + + + + 20 + + + + + + + + + + + + + 0 + + + + 0 + + + + +{if isset($public_mode) } +{if $public_mode|strtolower == 'true'} + 1 +{elseif $public_mode|strtolower == 'yes'} + 1 +{elseif $public_mode == '1'} + 1 +{else} + 0 +{/if} +{else} + 0 +{/if} + + + + + 0 + + + + + + + + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + 360 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + + + + + + + + + + + 5222 + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + -1 + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + CallHistory,LocalPhonebook,RemotePhonebook,FeatureCode + + + + + 1 + + + + + + + + 4 + + + + + 30 + + + + + 0 + + + + + 5 + + + + 0 + + + + + 0 + + + + + 10 + + + + + 10 + + + + + 0 + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + +{if isset($grandstream_call_waiting)} +{if $grandstream_call_waiting == "1"} 0{/if} +{if $grandstream_call_waiting == "2"} 1{/if} +{/if} + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($dnd)} + {$dnd} +{else} + 1 +{/if} + + + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + + + + + + +{if isset($grandstream_auto_attended_transfer)} + {$grandstream_auto_attended_transfer} +{else} + 1 +{/if} + + + + 0 + + + + 1 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 10 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 1 + + + + 0 + + + + + + + + 0 + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} + 0 +{/if} + + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} + 0 +{/if} + + + + + + +{if isset($ntp_server_primary)} + {$ntp_server_primary} +{else} + pool.ntp.org +{/if} + + + +{if isset($ntp_server_secondary)} + {$ntp_server_secondary} +{else} + 2.us.pool.ntp.org +{/if} + + + + + 1440 + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if isset($grandstream_timezone) } + {$grandstream_timezone} +{elseif isset($grandstream_gxp_time_zone) } + {$grandstream_gxp_time_zone} +{else} + auto +{/if} + + + + 1 + + + + + MTZ+6MDT+5,M4.1.0,M11.1.0 + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + + + + + + + + auto + + + + 0 + + + + + 0 + + + + + + + + + {$grandstream_lcd_brightness} + + + + + {$grandstream_lcd_brightness_idle} + + + + + {$grandstream_active_backlight_timeout} + + + + + 0 + + + + + + 0 + + + +{if isset($grandstream_wallpaper_url)} + 1 + {$grandstream_wallpaper_url} +{else} + 0 + +{/if} + + + + #000000 + + + + +{if isset($grandstream_screensaver)} + {$grandstream_screensaver} +{else} + 1 +{/if} + + + + +{if isset($grandstream_screensaver_source)} + {$grandstream_screensaver_source} +{else} + 0 +{/if} + + + + + +{if isset($grandstream_screensaver_show_date_time)} + {$grandstream_screensaver_show_date_time} +{else} + 1 +{/if} + + + + +{if isset($grandstream_screensaver_timeout)} + {$grandstream_screensaver_timeout} +{else} + 3 +{/if} + + + +{if isset($grandstream_screensaver_server_path)} + {$grandstream_screensaver_server_path} +{else} + +{/if} + + + + +{if isset($grandstream_screensaver_xml_download_interval)} + {$grandstream_screensaver_xml_download_interval} +{else} + 0 +{/if} + + + + + + + 0 + + + + 0 + + + + 0 + + + + + + + + 0 + + + + + 0 + + + + + + + + + + + + + f1=440,f2=480,c=200/400; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440; + + + + + f1=350,f2=440,c=10/10; + + + + + f1=440,f2=480,c=200/400; + + + + + f1=440,f2=440,c=25/525; + + + + + 0 + + + + + f1=480,f2=620,c=50/50; + + + + + f1=480,f2=620,c=25/25; + + + + + 5 + + + + + 5 + + + + + 0 + + + + +{if isset($grandstream_default_ringtone)} + {$grandstream_default_ringtone} +{/if} + + + + + + + + + + + 1 + + + + + + + + + + + XMLApp + + + + + + + + + 0 + + + + + + + 0 + + + + 0 + + + + 4 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + StartTime,StopTime,LocalUser,RemoteUser,LocalIP,RemoteIP,LocalCodec,RemoteCodec,Jitter,JitterBufferMax,PacketLost,PacketLostRate,MosLQ,MosCQ,RoundTripDelay,EndSysDelay,SymmOneWayDelay + + + + + + + + + + + 1 + + + + + + 2 + + + + + + + + + + {$grandstream_blind_xfer_blf} + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{$fixed_keys=10} {if $template == "grandstream/grp2612"}{$fixed_keys=3}{/if} {if $template == "grandstream/grp2613"}{$fixed_keys=4}{/if} {if $template == "grandstream/grp2614"}{$fixed_keys=6}{/if} -{if $template == "grandstream/grp2615"}{$fixed_keys=12}{/if} +{if $template == "grandstream/grp2615"}{$fixed_keys=10}{/if} -{$start_id=1} +{$start_id=1363} {assign var=key_types value=["none"=>-1,"line"=>31,"sharedline"=>32,"speeddial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17,"dnd"=>22]} {for $line=1 to 6} {$pid=$line*2-2} {if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} {if $line <= $fixed_keys} - - - {$key_types[$keys.line.$line.device_key_type]} - - - - - Account{$keys.line.$line.device_key_line} - - - - {$keys.line.$line.device_key_label} - - - - {$keys.line.$line.device_key_value} - - - {if $line == '-1'}uncheck{else}check{/if} - - +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]-10} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +0 +{$line-1} + + +{else} +-1 {/if} {/if} {/for} - - - - -{$start_id=7} + +{$start_id=23800} {for $line=7 to 48} {$pid=($line-6)*4-4} {if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])} {if $line <= $fixed_keys} - - - {$key_types[$keys.line.$line.device_key_type]} - - - - - Account{$keys.line.$line.device_key_line} - - - - {$keys.line.$line.device_key_label} - - - - {$keys.line.$line.device_key_value} - - - {if $line == '-1'}uncheck{else}check{/if} - +{$key_types[$keys.line.$line.device_key_type]} +{else} +{$key_types[$keys.line.$line.device_key_type]-10} +{/if} +{$keys.line.$line.device_key_line} +{$keys.line.$line.device_key_label} +{$keys.line.$line.device_key_value} +{else} +{if $line <= $fixed_keys} +-1 +0 + + +{else} +-1 {/if} {/if} {/for} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{assign var=key_types value=[""=>None,"0"=>SpeedDial, "blf"=>BLF, "2"=>PresenceWatcher, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"conference"=>12,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} - -{$start_id=1} -{for $mem=1 to 40} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"conference"=>12,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]} +{$start_id=323} +{for $mem=1 to 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} - - - - {else}Account{$keys.memory.$mem.device_key_line+1}{/if} + + + + + + + - - {$keys.memory.$mem.device_key_label} - - - - {$keys.memory.$mem.device_key_value} - - - {$key_types[$keys.memory.$mem.device_key_type]} +{$key_types[$keys.memory.$mem.device_key_type]} + + + + +{$keys.memory.$mem.device_key_line} + + + + +{$keys.memory.$mem.device_key_label} + + + + +{$keys.memory.$mem.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} + +{$start_id=353} +{for $mem=8 to 18} +{$pid=($mem-7)*4-4} +{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types} +{$key_types[$keys.memory.$mem.device_key_type]} +{$keys.memory.$mem.device_key_line} +{$keys.memory.$mem.device_key_label} +{$keys.memory.$mem.device_key_value} +{else} +-1 +0 + + +{/if} + +{/for} + + +{$start_id=1440} +{for $mem=19 to 24} +{$pid=($mem-18)*4-4} +{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types} +{$key_types[$keys.memory.$mem.device_key_type]} +{$keys.memory.$mem.device_key_line} +{$keys.memory.$mem.device_key_label} +{$keys.memory.$mem.device_key_value} +{else} +-1 +0 + + +{/if} {/for} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + 0 + + + + + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,Redial,Dial,Backspace,PickUp,Target + + + + BTPhonebook,DirectIP,Onhook,Cancel,Dial,Backspace,Target + + + + Answer,Reject,Forward,ReConf + + + + BTOnOff,Cancel,EndCall,ReConf,ConfRoom,ConfCall + + + + + BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,ConfCall,Cancel,NewCall,Swap,Transfer,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,UCallPark,PrivateHold,CallPark + + + + BTOnOff,EndCall,Kick,NewCall,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,ConfRoom,Add + + + + ReConf,Resume,HoldTrnf,ConfCall,Add + + + + EndCall,ReConf,ConfRoom + + + + BTOnOff,Cancel,BlindTrnf,AttTrnf,Backspace,Target + + + + BTOnOff,Cancel,Dial,Backspace,Target + + + + + + + + + + +{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>27]} +{$start_id=2987} +{for $prog=1 to 3} +{$pid=$prog*4-4} +{if isset($keys.programmable.$prog.device_key_category) && isset($keys.programmable.$prog.device_key_type) && $keys.programmable.$prog.device_key_type|in_array:$key_types} +{$key_types[$keys.programmable.$prog.device_key_type]} +{$keys.programmable.$prog.device_key_line} +{$keys.programmable.$prog.device_key_label} +{$keys.programmable.$prog.device_key_value} +{else} +0 +0 + + +{/if} + +{/for} - - - - - - - - Menu + + + + + - - - Yes + + + - - - No + + + - - No + + + + + + + + + + - - - + + + + - - - - BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,Redial,Dial,Backspace,PickUp,Target + + + - - - BTPhonebook,DirectIP,Onhook,Cancel,Dial,Backspace,Target + + + - - - Answer,Reject,Forward,ReConf + + + + + + + + + + + + + -1 - - - BTOnOff,Cancel,EndCall,ReConf,ConfRoom,ConfCall + + + - - - - BTPhonebook,BTOnOff,EndCall,ReConf,ConfRoom,ConfCall,Cancel,NewCall,Swap,Transfer,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,UCallPark,PrivateHold,CallPark + + + - - - BTOnOff,EndCall,Kick,NewCall,Trnf>VM,DialDTMF,BSCCenter,URecord,Record,ConfRoom,Add + + + + + + + + + + -1 - - - ReConf,Resume,Transfer,ConfCall,Add + + + - - - EndCall,ReConf,ConfRoom + + + - - - BTOnOff,Cancel,BlindTrnf,AttTrnf,Backspace,Target + + + + + + + + + + -1 - - - BTOnOff,Cancel,Dial,Backspace,Target - - - - - - - - - - Default + + + - - + + + - - - - - - - - - - - - - - - Default - - - - - - - - - - - - - - - - - - - Default - - - - - - - - - - - - - - - - - - - - - - Default - - - - - - - - - - - - - - - - - Default - - - - - - - - - - - - - - - - - Default - - - - - - - - - - + diff --git a/resources/templates/provision/grandstream/gxp116x/{$mac}.xml b/resources/templates/provision/grandstream/gxp116x/{$mac}.xml index 2a40351ea9..a563803545 100644 --- a/resources/templates/provision/grandstream/gxp116x/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp116x/{$mac}.xml @@ -1294,12 +1294,20 @@ +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp140x/{$mac}.xml b/resources/templates/provision/grandstream/gxp140x/{$mac}.xml index c88f3bd122..9a9b3c0acb 100644 --- a/resources/templates/provision/grandstream/gxp140x/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp140x/{$mac}.xml @@ -1556,11 +1556,19 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 - - - +{/if} + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp140xbk/{$mac}.xml b/resources/templates/provision/grandstream/gxp140xbk/{$mac}.xml index 2644d5efe8..b2073dec5f 100644 --- a/resources/templates/provision/grandstream/gxp140xbk/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp140xbk/{$mac}.xml @@ -1556,11 +1556,19 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 - - - +{/if} + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp1450/{$mac}.xml b/resources/templates/provision/grandstream/gxp1450/{$mac}.xml index 7ab759d0d6..d9a5c8c87d 100644 --- a/resources/templates/provision/grandstream/gxp1450/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp1450/{$mac}.xml @@ -2065,12 +2065,20 @@ +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} - - - + + + +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp1450bk/{$mac}.xml b/resources/templates/provision/grandstream/gxp1450bk/{$mac}.xml index ce86875608..d222f2762c 100644 --- a/resources/templates/provision/grandstream/gxp1450bk/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp1450bk/{$mac}.xml @@ -1872,12 +1872,20 @@ +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} - - - + + + +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp16xx/{$mac}.xml b/resources/templates/provision/grandstream/gxp16xx/{$mac}.xml index aede89f47a..a33b9bbca9 100644 --- a/resources/templates/provision/grandstream/gxp16xx/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp16xx/{$mac}.xml @@ -2161,7 +2161,11 @@ +{if isset($grandstream_display_language) } +{$grandstream_display_language} +{else} auto +{/if} @@ -2706,11 +2710,19 @@ +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp17xx/{$mac}.xml b/resources/templates/provision/grandstream/gxp17xx/{$mac}.xml index 49d1539d4a..fe878be725 100644 --- a/resources/templates/provision/grandstream/gxp17xx/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp17xx/{$mac}.xml @@ -3778,12 +3778,20 @@ +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp20xx/{$mac}.xml b/resources/templates/provision/grandstream/gxp20xx/{$mac}.xml index 9dacce64b9..7574d645a2 100644 --- a/resources/templates/provision/grandstream/gxp20xx/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp20xx/{$mac}.xml @@ -315,10 +315,18 @@ 0 +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} 0 diff --git a/resources/templates/provision/grandstream/gxp2100/{$mac}.xml b/resources/templates/provision/grandstream/gxp2100/{$mac}.xml index 3ef6254975..2751136ec3 100644 --- a/resources/templates/provision/grandstream/gxp2100/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp2100/{$mac}.xml @@ -3480,12 +3480,20 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 +{/if} - - - + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp2124/{$mac}.xml b/resources/templates/provision/grandstream/gxp2124/{$mac}.xml index 577392e170..353fbb0256 100644 --- a/resources/templates/provision/grandstream/gxp2124/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp2124/{$mac}.xml @@ -2295,11 +2295,19 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 - - - +{/if} + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp2130/{$mac}.xml b/resources/templates/provision/grandstream/gxp2130/{$mac}.xml index 234acc5394..7562136f62 100644 --- a/resources/templates/provision/grandstream/gxp2130/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp2130/{$mac}.xml @@ -686,7 +686,7 @@ - + {$grandstream_dial_prefix} @@ -5720,6 +5720,7 @@ + {$grandstream_ip_address_mode} @@ -6678,7 +6679,11 @@ +{if isset($grandstream_sort_phonebook_by)} + {$grandstream_sort_phonebook_by} +{else} 0 +{/if} @@ -6692,7 +6697,11 @@ +{if isset($grandstream_phonebook_search_mode)} + {$grandstream_phonebook_search_mode} +{else} 0 +{/if} @@ -7329,7 +7338,9 @@ - 1 + {if isset($grandstream_onhook_dial_barging)} + {$grandstream_onhook_dial_barging} + {/if} @@ -7372,7 +7383,9 @@ - 0 + {if isset($grandstream_history_dialplan_bypass)} + {$grandstream_history_dialplan_bypass} + {/if} @@ -7446,7 +7459,11 @@ +{if isset($dnd)} + {$dnd} +{else} 1 +{/if} @@ -7924,12 +7941,20 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} @@ -8098,7 +8123,7 @@ - {$grandstream_wallpaper_source} + diff --git a/resources/templates/provision/grandstream/gxp2135/{$mac}.xml b/resources/templates/provision/grandstream/gxp2135/{$mac}.xml index c143cabeaa..37d347d391 100644 --- a/resources/templates/provision/grandstream/gxp2135/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp2135/{$mac}.xml @@ -686,7 +686,7 @@ - + {$grandstream_dial_prefix} @@ -5720,6 +5720,7 @@ + {$grandstream_ip_address_mode} @@ -6438,7 +6439,7 @@ - Auto + {$grandstream_display_language} @@ -7329,7 +7330,9 @@ - 1 + {if isset($grandstream_onhook_dial_barging)} + {$grandstream_onhook_dial_barging} + {/if} @@ -7372,7 +7375,9 @@ - 0 + {if isset($grandstream_history_dialplan_bypass)} + {$grandstream_history_dialplan_bypass} + {/if} @@ -7446,7 +7451,11 @@ +{if isset($dnd)} + {$dnd} +{else} 1 +{/if} @@ -7924,12 +7933,20 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} @@ -8098,7 +8115,8 @@ - 0 + + diff --git a/resources/templates/provision/grandstream/gxp2140/{$mac}.xml b/resources/templates/provision/grandstream/gxp2140/{$mac}.xml index 4f7dd6803c..37d347d391 100644 --- a/resources/templates/provision/grandstream/gxp2140/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp2140/{$mac}.xml @@ -686,7 +686,7 @@ - + {$grandstream_dial_prefix} @@ -5720,6 +5720,7 @@ + {$grandstream_ip_address_mode} @@ -7329,7 +7330,9 @@ - 1 + {if isset($grandstream_onhook_dial_barging)} + {$grandstream_onhook_dial_barging} + {/if} @@ -7372,7 +7375,9 @@ - 0 + {if isset($grandstream_history_dialplan_bypass)} + {$grandstream_history_dialplan_bypass} + {/if} @@ -7446,7 +7451,11 @@ +{if isset($dnd)} + {$dnd} +{else} 1 +{/if} @@ -7924,12 +7933,20 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} @@ -8098,7 +8115,8 @@ - 0 + + diff --git a/resources/templates/provision/grandstream/gxp2160/{$mac}.xml b/resources/templates/provision/grandstream/gxp2160/{$mac}.xml index c143cabeaa..b374ee697d 100644 --- a/resources/templates/provision/grandstream/gxp2160/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp2160/{$mac}.xml @@ -686,7 +686,7 @@ - + {$grandstream_dial_prefix} @@ -5720,6 +5720,7 @@ + {$grandstream_ip_address_mode} @@ -6438,7 +6439,11 @@ +{if isset($grandstream_display_language)} + {$grandstream_display_language} +{else} Auto +{/if} @@ -6678,7 +6683,11 @@ +{if isset($grandstream_sort_phonebook_by)} + {$grandstream_sort_phonebook_by} +{else} 0 +{/if} @@ -6692,7 +6701,11 @@ +{if isset($grandstream_phonebook_search_mode)} + {$grandstream_phonebook_search_mode} +{else} 0 +{/if} @@ -7329,7 +7342,9 @@ - 1 + {if isset($grandstream_onhook_dial_barging)} + {$grandstream_onhook_dial_barging} + {/if} @@ -7372,7 +7387,9 @@ - 0 + {if isset($grandstream_history_dialplan_bypass)} + {$grandstream_history_dialplan_bypass} + {/if} @@ -7446,7 +7463,11 @@ +{if isset($dnd)} + {$dnd} +{else} 1 +{/if} @@ -7924,12 +7945,20 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} @@ -8098,7 +8127,8 @@ - 0 + + diff --git a/resources/templates/provision/grandstream/gxp2170/{$mac}.xml b/resources/templates/provision/grandstream/gxp2170/{$mac}.xml index 7bd317a45b..9af6a9d66f 100644 --- a/resources/templates/provision/grandstream/gxp2170/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp2170/{$mac}.xml @@ -686,7 +686,7 @@ - + {$grandstream_dial_prefix} @@ -5720,6 +5720,7 @@ + {$grandstream_ip_address_mode} @@ -7329,7 +7330,9 @@ - 1 + {if isset($grandstream_onhook_dial_barging)} + {$grandstream_onhook_dial_barging} + {/if} @@ -7372,7 +7375,9 @@ - 0 + {if isset($grandstream_history_dialplan_bypass)} + {$grandstream_history_dialplan_bypass} + {/if} @@ -7446,7 +7451,11 @@ +{if isset($dnd)} + {$dnd} +{else} 1 +{/if} @@ -7924,12 +7933,20 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} @@ -8098,7 +8115,8 @@ - 0 + + diff --git a/resources/templates/provision/grandstream/gxp21xx/{$mac}.xml b/resources/templates/provision/grandstream/gxp21xx/{$mac}.xml index 933c5788df..41ed4aeb41 100644 --- a/resources/templates/provision/grandstream/gxp21xx/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp21xx/{$mac}.xml @@ -2959,7 +2959,11 @@ Outgoing calls. 0 - No, 1 - Yes. Default is 0 --> + {if isset($grandstream_stun_server)} + {$grandstream_stun_server} + {else} + {/if} @@ -3064,11 +3068,19 @@ Outgoing calls. 0 - No, 1 - Yes. Default is 0 --> +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 - - - +{/if} + + + +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp21xxbk/{$mac}.xml b/resources/templates/provision/grandstream/gxp21xxbk/{$mac}.xml index c16de358c1..c706818fd9 100644 --- a/resources/templates/provision/grandstream/gxp21xxbk/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp21xxbk/{$mac}.xml @@ -3782,12 +3782,20 @@ Outgoing calls. 0 - No, 1 - Yes. Default is 0 --> +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} - - - + + + +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp2200/{$mac}.xml b/resources/templates/provision/grandstream/gxp2200/{$mac}.xml index d1cb119427..6c0051972a 100644 --- a/resources/templates/provision/grandstream/gxp2200/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp2200/{$mac}.xml @@ -3323,11 +3323,19 @@ Account 5 Codec Settings +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxp3240/{$mac}.xml b/resources/templates/provision/grandstream/gxp3240/{$mac}.xml index 64a59d5d63..71dd325f17 100644 --- a/resources/templates/provision/grandstream/gxp3240/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxp3240/{$mac}.xml @@ -3533,11 +3533,19 @@ Account 5 Codec Settings +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxv3140/{$mac}.xml b/resources/templates/provision/grandstream/gxv3140/{$mac}.xml index dafabbf3c5..01a3cc3cfe 100644 --- a/resources/templates/provision/grandstream/gxv3140/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxv3140/{$mac}.xml @@ -1501,10 +1501,18 @@ +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxv3175/{$mac}.xml b/resources/templates/provision/grandstream/gxv3175/{$mac}.xml index 57f0596ff5..6da83e7eb9 100644 --- a/resources/templates/provision/grandstream/gxv3175/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxv3175/{$mac}.xml @@ -1389,10 +1389,18 @@ -0 +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} + 0 +{/if} -0 +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} + 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxv3175v2/{$mac}.xml b/resources/templates/provision/grandstream/gxv3175v2/{$mac}.xml index 80e94779f0..331264c920 100644 --- a/resources/templates/provision/grandstream/gxv3175v2/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxv3175v2/{$mac}.xml @@ -865,10 +865,17 @@ +{if isset($grandstream_headset_tx_gain)} + {$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} + {$grandstream_headset_rx_gain} +{else} 0 - +{/if} 0 12 diff --git a/resources/templates/provision/grandstream/gxv3240/{$mac}.xml b/resources/templates/provision/grandstream/gxv3240/{$mac}.xml index f2c92825ce..158da35e69 100644 --- a/resources/templates/provision/grandstream/gxv3240/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxv3240/{$mac}.xml @@ -5391,11 +5391,19 @@ +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxv3275/{$mac}.xml b/resources/templates/provision/grandstream/gxv3275/{$mac}.xml index 05054468f5..16a159f70e 100644 --- a/resources/templates/provision/grandstream/gxv3275/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxv3275/{$mac}.xml @@ -3532,11 +3532,19 @@ Account 5 Codec Settings +{if isset($grandstream_headset_tx_gain)} +{$grandstream_headset_tx_gain} +{else} 0 +{/if} +{if isset($grandstream_headset_rx_gain)} +{$grandstream_headset_rx_gain} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/gxw42xx/{$mac}.xml b/resources/templates/provision/grandstream/gxw42xx/{$mac}.xml index 737a938698..e2b556976a 100644 --- a/resources/templates/provision/grandstream/gxw42xx/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxw42xx/{$mac}.xml @@ -4,19 +4,7 @@ - - - - - - - - - - - - @@ -528,7 +516,7 @@ -{$account.1.server_address} +{$account.1.server_address}:{$account.1.sip_port} @@ -541,7 +529,12 @@ - + +{if isset($account.1.outbound_proxy_primary)} + {$account.1.outbound_proxy_primary}:{$account.1.sip_port} +{else} +{$account.1.outbound_proxy_primary} +{/if} @@ -550,7 +543,12 @@ + +{if isset($grandstream_dns_mode)} +{$grandstream_dns_mode} +{else} 0 +{/if} @@ -567,7 +565,12 @@ + +{if isset($grandstream_nat_traversal)} +{$grandstream_nat_traversal} +{else} 0 +{/if} @@ -586,7 +589,13 @@ -0 + +{$tp=0} +{if $account.1.sip_transport == 'udp'}{$tp=0}{/if} +{if $account.1.sip_transport == 'tcp'}{$tp=1}{/if} +{if $account.1.sip_transport == 'tls'}{$tp=2}{/if} +{if $account.1.sip_transport == 'dns srv'}{$tp=1}{/if} +{$tp} @@ -596,7 +605,7 @@ -0 +1 @@ -882,7 +891,12 @@ + +{if isset($grandstream_srtp)} +{$grandstream_srtp} +{else} 0 +{/if} diff --git a/resources/templates/provision/grandstream/ht802/{$mac}.xml b/resources/templates/provision/grandstream/ht802/{$mac}.xml index 523606e3bc..1478b0aedc 100644 --- a/resources/templates/provision/grandstream/ht802/{$mac}.xml +++ b/resources/templates/provision/grandstream/ht802/{$mac}.xml @@ -24,7 +24,7 @@ - 0 + {$grandstream_lan_port_vlan} diff --git a/resources/templates/provision/grandstream/ht818/{$mac}.xml b/resources/templates/provision/grandstream/ht818/{$mac}.xml index 071d038cdf..aef0fff087 100644 --- a/resources/templates/provision/grandstream/ht818/{$mac}.xml +++ b/resources/templates/provision/grandstream/ht818/{$mac}.xml @@ -1378,7 +1378,7 @@ 0 - + @@ -1663,16 +1663,16 @@ - {$account.4.user_id} + {$account.8.user_id} - {$account.4.user_id} + {$account.8.user_id} - {$account.4.password} + {$account.8.password} - {$account.4.display_name} + {$account.8.display_name} diff --git a/resources/templates/provision/htek/uc926/{$mac}.cfg b/resources/templates/provision/htek/uc926/{$mac}.cfg index 4f6597b335..9935d1a9b1 100644 --- a/resources/templates/provision/htek/uc926/{$mac}.cfg +++ b/resources/templates/provision/htek/uc926/{$mac}.cfg @@ -2311,7 +2311,7 @@ 0 {$htek_dststarttime-month} {$htek_dststarttime-day} - {$$htek_dststarttime-hour} + {$htek_dststarttime-hour} {$htek_dstendttime-month} {$htek_dstsendtime-day} {$htek_dstsendtime-hour} diff --git a/resources/templates/provision/linksys/spa921/{$mac}.xml b/resources/templates/provision/linksys/spa921/{$mac}.xml index 96ad90c5e2..0ec683b886 100644 --- a/resources/templates/provision/linksys/spa921/{$mac}.xml +++ b/resources/templates/provision/linksys/spa921/{$mac}.xml @@ -32,4 +32,5 @@ 6 {$spa_time_format} {$spa_date_format} +0 diff --git a/resources/templates/provision/linksys/spa941/{$mac}.xml b/resources/templates/provision/linksys/spa941/{$mac}.xml index 1acbc2fc2d..c63d48b92e 100644 --- a/resources/templates/provision/linksys/spa941/{$mac}.xml +++ b/resources/templates/provision/linksys/spa941/{$mac}.xml @@ -729,6 +729,5 @@ 8 12 10 -8 -10 s +0 diff --git a/resources/templates/provision/linksys/spa942/{$mac}.xml b/resources/templates/provision/linksys/spa942/{$mac}.xml index 6879642915..0d1cbb5c66 100644 --- a/resources/templates/provision/linksys/spa942/{$mac}.xml +++ b/resources/templates/provision/linksys/spa942/{$mac}.xml @@ -729,6 +729,5 @@ 8 12 10 -8 -10 s +0 diff --git a/resources/templates/provision/polycom/4.x/{$mac}.cfg b/resources/templates/provision/polycom/4.x/{$mac}.cfg index 24f3f476eb..aa328ea3ff 100644 --- a/resources/templates/provision/polycom/4.x/{$mac}.cfg +++ b/resources/templates/provision/polycom/4.x/{$mac}.cfg @@ -3,7 +3,7 @@ {$snom_time_zone} GBR none -http://{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} +http://{$domain_name}{$project_path}/app/provision/{literal}{mac}{/literal}.xml off Ringer6 off diff --git a/resources/templates/provision/snom/320/{$mac}.xml b/resources/templates/provision/snom/320/{$mac}.xml index 379ed05fc7..273a63d5c6 100644 --- a/resources/templates/provision/snom/320/{$mac}.xml +++ b/resources/templates/provision/snom/320/{$mac}.xml @@ -9,7 +9,7 @@ on auto_update http://{$domain_name}{$project_path}/app/provision/?mac={$mac}&filename_firmware-{$mac}.xml -http://{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} +http://{$domain_name}{$project_path}/app/provision/{literal}{mac}{/literal}.xml off on off diff --git a/resources/templates/provision/snom/360/{$mac}.xml b/resources/templates/provision/snom/360/{$mac}.xml index 7117bd4b0e..4fbfe55c9f 100644 --- a/resources/templates/provision/snom/360/{$mac}.xml +++ b/resources/templates/provision/snom/360/{$mac}.xml @@ -3,7 +3,7 @@ English auto_update -http://{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} +http://{$domain_name}{$project_path}/app/provision/{literal}{mac}{/literal}.xml on http://provisioning.snom.com:80/download/fw/snom360-8.7.3.19-SIP-f.bin on diff --git a/resources/templates/provision/snom/3xx/{$mac}.xml b/resources/templates/provision/snom/3xx/{$mac}.xml index 4aedcd388b..fe2671a686 100644 --- a/resources/templates/provision/snom/3xx/{$mac}.xml +++ b/resources/templates/provision/snom/3xx/{$mac}.xml @@ -3,8 +3,10 @@ English auto_update -http://{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} +http://{$domain_name}{$project_path}/app/provision/{literal}{mac}{/literal}.xml on +{$ntp_server_primary} +3600 {$snom_time_zone} http://{$domain_name}{$project_path}/app/provision/firmware.xml {if isset($admin_password) } @@ -36,25 +38,25 @@ {$user.1.display_name} {$user.1.user_id} {$user.1.user_password} -{$user.1.server_address} +{$user.1.server_address}:{$user.1.sip_port};transport={$user.1.sip_transport} Default off *97 -{$user.2.display_name} +{$user.2.display_name}:{$user.2.sip_port};transport={$user.2.sip_transport} {$user.2.user_id} {$user.2.user_password} {$user.2.server_address} Default off *97 -{$user.3.display_name} +{$user.3.display_name}:{$user.3.sip_port};transport={$user.3.sip_transport} {$user.3.user_id} {$user.3.user_password} {$user.3.server_address} Default off *97 -{$user.4.display_name} +{$user.4.display_name}:{$user.4.sip_port};transport={$user.4.sip_transport} {$user.4.user_id} {$user.4.user_password} {$user.4.server_address} diff --git a/resources/templates/provision/snom/720/{$mac}.xml b/resources/templates/provision/snom/720/{$mac}.xml index e61d19dec9..c725ff1c0c 100644 --- a/resources/templates/provision/snom/720/{$mac}.xml +++ b/resources/templates/provision/snom/720/{$mac}.xml @@ -16,7 +16,7 @@ snom720 160 -http://{$domain_name}/app/provision/index.php?mac={$mac} +http://{$domain_name}/app/provision/{literal}{mac}{/literal}.xml on 3600 03.05.07 02:00:00 10.05.07 03:00:00 {$snom_time_zone} diff --git a/resources/templates/provision/snom/7xx/{$mac}.xml b/resources/templates/provision/snom/7xx/{$mac}.xml index 4236d26815..028deafd62 100644 --- a/resources/templates/provision/snom/7xx/{$mac}.xml +++ b/resources/templates/provision/snom/7xx/{$mac}.xml @@ -3,8 +3,10 @@ English auto_update -https://{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} +https://{$domain_name}{$project_path}/app/provision/{literal}{mac}{/literal}.xml on +{$ntp_server_primary} +3600 {$snom_time_zone} https://{$domain_name}{$project_path}/app/provision/firmware.xml {if isset($admin_password) } @@ -36,7 +38,7 @@ {$user.1.display_name} {$user.1.user_id} {$user.1.password} -{$user.1.server_address}:{$user.1.sip_port} +{$user.1.server_address}:{$user.1.sip_port};transport={$user.1.sip_transport} {$user.1.register_expires} Default off @@ -44,7 +46,7 @@ {$user.2.display_name} {$user.2.user_id} {$user.2.password} -{$user.2.server_address}:{$sip_port} +{$user.2.server_address}:{$sip_port};transport={$user.2.sip_transport} {$user.2.register_expires} Default off @@ -52,7 +54,7 @@ {$user.3.display_name} {$user.3.user_id} {$user.3.password} -{$user.3.server_address}:{$user.3.sip_port} +{$user.3.server_address}:{$user.3.sip_port};transport={$user.3.sip_transport} {$user.3.register_expires} Default off @@ -60,7 +62,7 @@ {$user.4.display_name} {$user.4.user_id} {$user.4.password} -{$user.4.server_address}:{$user.4.sip_port} +{$user.4.server_address}:{$user.4.sip_port};transport={$user.4.sip_transport} {$user.4.register_expires} Default off @@ -68,7 +70,7 @@ {$user.5.display_name} {$user.5.user_id} {$user.5.password} -{$user.5.server_address}:{$user.5.sip_port} +{$user.5.server_address}:{$user.5.sip_port};transport={$user.5.sip_transport} {$user.5.register_expires} Default off diff --git a/resources/templates/provision/snom/820/{$mac}.xml b/resources/templates/provision/snom/820/{$mac}.xml index aed4c06f80..e64690fe58 100644 --- a/resources/templates/provision/snom/820/{$mac}.xml +++ b/resources/templates/provision/snom/820/{$mac}.xml @@ -1,7 +1,7 @@ auto_update -http://{$domain_name}{$project_path}/app/provision/?mac={$v_mac}&filename_firmware-{$v_mac}.xml +http://{$domain_name}{$project_path}/app/provision/?mac={$mac}&filename_firmware-{$mac}.xml off on off diff --git a/resources/templates/provision/snom/8xx/{$mac}.xml b/resources/templates/provision/snom/8xx/{$mac}.xml index 4e407ac5a3..86aa425b4c 100644 --- a/resources/templates/provision/snom/8xx/{$mac}.xml +++ b/resources/templates/provision/snom/8xx/{$mac}.xml @@ -3,7 +3,7 @@ English auto_update -http://{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} +http://{$domain_name}{$project_path}/app/provision/{literal}{mac}{/literal}.xml on {$snom_time_zone} http://{$domain_name}{$project_path}/app/provision/firmware.xml diff --git a/resources/templates/provision/snom/D120/{$mac}.xml b/resources/templates/provision/snom/D120/{$mac}.xml index a0ad9b0b1b..b6a96fcd5c 100644 --- a/resources/templates/provision/snom/D120/{$mac}.xml +++ b/resources/templates/provision/snom/D120/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D315/{$mac}.xml b/resources/templates/provision/snom/D315/{$mac}.xml index fc570965fc..fbe295ec2c 100644 --- a/resources/templates/provision/snom/D315/{$mac}.xml +++ b/resources/templates/provision/snom/D315/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D345/{$mac}.xml b/resources/templates/provision/snom/D345/{$mac}.xml index cc998abee2..3b01f765c2 100644 --- a/resources/templates/provision/snom/D345/{$mac}.xml +++ b/resources/templates/provision/snom/D345/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D375/{$mac}.xml b/resources/templates/provision/snom/D375/{$mac}.xml index ff4c61c4f6..df832d5200 100644 --- a/resources/templates/provision/snom/D375/{$mac}.xml +++ b/resources/templates/provision/snom/D375/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D385/{$mac}.xml b/resources/templates/provision/snom/D385/{$mac}.xml index c9383be1c5..7c448d6e73 100644 --- a/resources/templates/provision/snom/D385/{$mac}.xml +++ b/resources/templates/provision/snom/D385/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D712/{$mac}.xml b/resources/templates/provision/snom/D712/{$mac}.xml index c35e72b97e..950ed41fa5 100644 --- a/resources/templates/provision/snom/D712/{$mac}.xml +++ b/resources/templates/provision/snom/D712/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D715/{$mac}.xml b/resources/templates/provision/snom/D715/{$mac}.xml index a763b740fc..8aa9dfa2af 100644 --- a/resources/templates/provision/snom/D715/{$mac}.xml +++ b/resources/templates/provision/snom/D715/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D717/{$mac}.xml b/resources/templates/provision/snom/D717/{$mac}.xml index 40c64e9843..91b319665e 100644 --- a/resources/templates/provision/snom/D717/{$mac}.xml +++ b/resources/templates/provision/snom/D717/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D725/{$mac}.xml b/resources/templates/provision/snom/D725/{$mac}.xml index e063268694..5052b3db0c 100644 --- a/resources/templates/provision/snom/D725/{$mac}.xml +++ b/resources/templates/provision/snom/D725/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D735/{$mac}.xml b/resources/templates/provision/snom/D735/{$mac}.xml index 72b1541242..eff3b6154d 100644 --- a/resources/templates/provision/snom/D735/{$mac}.xml +++ b/resources/templates/provision/snom/D735/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D745/{$mac}.xml b/resources/templates/provision/snom/D745/{$mac}.xml index e7a742af71..67399e7219 100644 --- a/resources/templates/provision/snom/D745/{$mac}.xml +++ b/resources/templates/provision/snom/D745/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D765/{$mac}.xml b/resources/templates/provision/snom/D765/{$mac}.xml index 01c8037dc8..909c13d220 100644 --- a/resources/templates/provision/snom/D765/{$mac}.xml +++ b/resources/templates/provision/snom/D765/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/D785/{$mac}.xml b/resources/templates/provision/snom/D785/{$mac}.xml index cc9c5c7df5..2e25bf392c 100644 --- a/resources/templates/provision/snom/D785/{$mac}.xml +++ b/resources/templates/provision/snom/D785/{$mac}.xml @@ -29,6 +29,8 @@ stutter on off + blind + F_HOLD F_TRANSFER F_CONFERENCE auto_update https://{if isset($http_auth_enabled) && $http_auth_enabled == true}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}{$project_path}/app/provision/index.php?mac={$mac} diff --git a/resources/templates/provision/snom/m3/{$mac}.cfg b/resources/templates/provision/snom/m3/{$mac}.cfg index 3cbfdd57b1..0dadeb6fa8 100644 --- a/resources/templates/provision/snom/m3/{$mac}.cfg +++ b/resources/templates/provision/snom/m3/{$mac}.cfg @@ -183,3 +183,4 @@ //%EMERGENCY_PRIMARY_PORT%:1 //1-VOIP1 .. 8-VOIP8 +END_OF_FILE diff --git a/resources/templates/provision/yealink/cp860/y000000000037.cfg b/resources/templates/provision/yealink/cp860/y000000000037.cfg index 1b01b4a4e1..0ffcc89df9 100644 --- a/resources/templates/provision/yealink/cp860/y000000000037.cfg +++ b/resources/templates/provision/yealink/cp860/y000000000037.cfg @@ -484,7 +484,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1547,7 +1547,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/cp920/y000000000000.cfg b/resources/templates/provision/yealink/cp920/y000000000000.cfg index 8f059d6908..a746c06f71 100644 --- a/resources/templates/provision/yealink/cp920/y000000000000.cfg +++ b/resources/templates/provision/yealink/cp920/y000000000000.cfg @@ -483,7 +483,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1546,7 +1546,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/cp960/y000000000000.cfg b/resources/templates/provision/yealink/cp960/y000000000000.cfg index 2f2b4f9a0a..09b73e62f4 100644 --- a/resources/templates/provision/yealink/cp960/y000000000000.cfg +++ b/resources/templates/provision/yealink/cp960/y000000000000.cfg @@ -483,7 +483,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1546,7 +1546,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t19p/y000000000053.cfg b/resources/templates/provision/yealink/t19p/y000000000053.cfg index 07c45148a4..055eb6b5f2 100644 --- a/resources/templates/provision/yealink/t19p/y000000000053.cfg +++ b/resources/templates/provision/yealink/t19p/y000000000053.cfg @@ -716,7 +716,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1259,7 +1259,7 @@ server_certificates.delete = ## Local Contact/DST Time/Dialnow Rule/Replace Rule ## ####################################################################################### local_contact.data.url = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_dialnow.url = dialplan_replace_rule.url = diff --git a/resources/templates/provision/yealink/t20p/y000000000007.cfg b/resources/templates/provision/yealink/t20p/y000000000007.cfg index ba95e6ab42..6588b61c52 100644 --- a/resources/templates/provision/yealink/t20p/y000000000007.cfg +++ b/resources/templates/provision/yealink/t20p/y000000000007.cfg @@ -716,7 +716,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1259,7 +1259,7 @@ server_certificates.delete = ## Local Contact/DST Time/Dialnow Rule/Replace Rule ## ####################################################################################### local_contact.data.url = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_dialnow.url = dialplan_replace_rule.url = diff --git a/resources/templates/provision/yealink/t21p/y000000000052.cfg b/resources/templates/provision/yealink/t21p/y000000000052.cfg index d9da0759ef..749f5f4701 100644 --- a/resources/templates/provision/yealink/t21p/y000000000052.cfg +++ b/resources/templates/provision/yealink/t21p/y000000000052.cfg @@ -425,7 +425,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1542,7 +1542,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t22p/y000000000005.cfg b/resources/templates/provision/yealink/t22p/y000000000005.cfg index 702b3f5b90..6152713777 100644 --- a/resources/templates/provision/yealink/t22p/y000000000005.cfg +++ b/resources/templates/provision/yealink/t22p/y000000000005.cfg @@ -716,7 +716,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1259,7 +1259,7 @@ server_certificates.delete = ## Local Contact/DST Time/Dialnow Rule/Replace Rule ## ####################################################################################### local_contact.data.url = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_dialnow.url = dialplan_replace_rule.url = diff --git a/resources/templates/provision/yealink/t23g/y000000000044.cfg b/resources/templates/provision/yealink/t23g/y000000000044.cfg index 2bdac60f29..6d72471634 100644 --- a/resources/templates/provision/yealink/t23g/y000000000044.cfg +++ b/resources/templates/provision/yealink/t23g/y000000000044.cfg @@ -465,7 +465,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1582,7 +1582,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t23p/y000000000044.cfg b/resources/templates/provision/yealink/t23p/y000000000044.cfg index d45e2c45f5..adf39cd5de 100644 --- a/resources/templates/provision/yealink/t23p/y000000000044.cfg +++ b/resources/templates/provision/yealink/t23p/y000000000044.cfg @@ -465,7 +465,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1582,7 +1582,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t26p/y000000000004.cfg b/resources/templates/provision/yealink/t26p/y000000000004.cfg index 80192d7efb..4417f41e8f 100644 --- a/resources/templates/provision/yealink/t26p/y000000000004.cfg +++ b/resources/templates/provision/yealink/t26p/y000000000004.cfg @@ -716,7 +716,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1259,7 +1259,7 @@ server_certificates.delete = ## Local Contact/DST Time/Dialnow Rule/Replace Rule ## ####################################################################################### local_contact.data.url = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_dialnow.url = dialplan_replace_rule.url = diff --git a/resources/templates/provision/yealink/t27g/y000000000069.cfg b/resources/templates/provision/yealink/t27g/y000000000069.cfg index 70c52dccf7..6d95c2f5f9 100644 --- a/resources/templates/provision/yealink/t27g/y000000000069.cfg +++ b/resources/templates/provision/yealink/t27g/y000000000069.cfg @@ -464,7 +464,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1582,7 +1582,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t27p/y000000000045.cfg b/resources/templates/provision/yealink/t27p/y000000000045.cfg index 7b7f267b9f..defe312497 100644 --- a/resources/templates/provision/yealink/t27p/y000000000045.cfg +++ b/resources/templates/provision/yealink/t27p/y000000000045.cfg @@ -465,7 +465,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1583,7 +1583,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t28p/y000000000000.cfg b/resources/templates/provision/yealink/t28p/y000000000000.cfg index fe6cc3a3bd..6c15005011 100644 --- a/resources/templates/provision/yealink/t28p/y000000000000.cfg +++ b/resources/templates/provision/yealink/t28p/y000000000000.cfg @@ -716,7 +716,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1241,7 +1241,7 @@ server_certificates.delete = ## Local Contact/DST Time/Dialnow Rule/Replace Rule ## ####################################################################################### local_contact.data.url = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_dialnow.url = dialplan_replace_rule.url = diff --git a/resources/templates/provision/yealink/t29g/y000000000046.cfg b/resources/templates/provision/yealink/t29g/y000000000046.cfg index ef1d097282..1342a76869 100644 --- a/resources/templates/provision/yealink/t29g/y000000000046.cfg +++ b/resources/templates/provision/yealink/t29g/y000000000046.cfg @@ -466,7 +466,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1583,7 +1583,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t2x/directory.xml b/resources/templates/provision/yealink/t2x/directory.xml new file mode 100644 index 0000000000..3e319dfb50 --- /dev/null +++ b/resources/templates/provision/yealink/t2x/directory.xml @@ -0,0 +1,83 @@ + +{foreach $contacts as $row} +{if $smarty.get.contacts == "users" && $row.category == "users"} + +{if $row.contact_name_given != ""} +{if $row.contact_organization != ""} + {$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.contact_name_given} {$row.contact_name_family} +{/if} +{else} +{$row.effective_caller_id_name} +{/if} +{foreach $row.numbers as $number} +{if $number.phone_number != ""} + {$number.phone_number} +{else} + {$number.phone_extension} +{/if} +{/foreach} + +{elseif $smarty.get.contacts == "groups" && $row.category == "groups"} + +{if $row.contact_name_given != ""} +{if $row.contact_organization != ""} + {$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.contact_name_given} {$row.contact_name_family} +{/if} +{else} + {$row.effective_caller_id_name} +{/if} +{foreach $row.numbers as $number} +{if $number.phone_number != ""} + {$number.phone_number} +{else} + {$number.phone_extension} +{/if} +{/foreach} + +{elseif $smarty.get.contacts == "extensions" && $row.category == "extensions"} + +{if $row.contact_name_given != ""} + {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.effective_caller_id_name} +{/if} +{if $row.phone_number != ""} + {$row.phone_number} +{else} + {$row.phone_extension} +{/if} + +{elseif $smarty.get.contacts == "all"} + +{if $row.contact_name_given != ""} +{if $row.contact_organization != ""} + {$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.contact_name_given} {$row.contact_name_family} +{/if} +{else} + {$row.effective_caller_id_name} +{/if} +{if $row.category == "extensions"} +{if $row.phone_number != ""} + {$row.phone_number} +{else} + {$row.phone_extension} +{/if} +{else} +{foreach $row.numbers as $number} +{if $number.phone_number != ""} + {$number.phone_number} +{else} + {$number.phone_extension} +{/if} +{/foreach} +{/if} + +{/if} +{/foreach} + diff --git a/resources/templates/provision/yealink/t2x/favorite_setting.xml b/resources/templates/provision/yealink/t2x/favorite_setting.xml new file mode 100644 index 0000000000..b4cc2caca2 --- /dev/null +++ b/resources/templates/provision/yealink/t2x/favorite_setting.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/resources/templates/provision/yealink/t2x/y000000000000.boot b/resources/templates/provision/yealink/t2x/y000000000000.boot new file mode 100644 index 0000000000..9e6f5c5a56 --- /dev/null +++ b/resources/templates/provision/yealink/t2x/y000000000000.boot @@ -0,0 +1,12 @@ +#!version:1.0.0.1 +## The header above must appear as-is in the first line + +[T19P_E2]include:config "y000000000053.cfg" +[T21P_E2]include:config "y000000000052.cfg" +[T23P]include:config "y000000000044.cfg" +[T23G]include:config "y000000000044.cfg" +[T27G]include:config "y000000000069.cfg" +[T29G]include:config "y000000000046.cfg" +include:config "{$mac}.cfg" + +overwrite_mode = {$yealink_overwrite_mode} diff --git a/resources/templates/provision/yealink/t2x/y000000000044.cfg b/resources/templates/provision/yealink/t2x/y000000000044.cfg new file mode 100644 index 0000000000..cf48317e75 --- /dev/null +++ b/resources/templates/provision/yealink/t2x/y000000000044.cfg @@ -0,0 +1,1666 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Hostname ## +####################################################################################### +network.dhcp_host_name = + +#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, submask, gateway and DNS server. +#Require reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns = {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +####################################################################################### +## PPPOE ## +####################################################################################### +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +network.internet_port.speed_duplex = +network.pc_port.speed_duplex = + +network.pc_port.dhcp_server = 1 +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + +####################################################################################### +## VLAN ## +####################################################################################### +{if isset($yealink_vlan_enable)}network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}network.vlan.internet_port_enable = 0{/if} + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = {$yealink_vlan_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = {$yealink_vlan_cos} + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default); +#Require reboot; +network.vlan.dhcp_enable = + +#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255. +#Multiple options separated by a comma. It supports up to 5 options in all. +#Require reboot; +network.vlan.dhcp_option = + +####################################################################################### +## WEB Port ## +####################################################################################### +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +####################################################################################### +## QOS ## +####################################################################################### +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26. +#Require reboot; +network.qos.signaltos = + +####################################################################################### +## 802.1X ## +####################################################################################### +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2, 4:EAP-TTLS/EAP-MSCHAPv2; +#Require reboot; +network.802_1x.mode = +network.802_1x.identity = +network.802_1x.md5_password = +network.802_1x.root_cert_url = +network.802_1x.client_cert_url = + +####################################################################################### +## VPN ## +####################################################################################### +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +####################################################################################### +## LLDP ## +####################################################################################### +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +#Require reboot; +network.lldp.packet_interval = + +####################################################################################### +## SNMP ## +####################################################################################### +#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.snmp.enable = +network.snmp.port = + +#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space. +#Require reboot; +network.snmp.trust_ip = + +####################################################################################### +## Span to PC ## +####################################################################################### +#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.span_to_pc_port = + +####################################################################################### +## RTP Port ## +####################################################################################### +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +####################################################################################### +## SYSLOG ## +####################################################################################### +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## Redirect ## +####################################################################################### +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +####################################################################################### +## TR069 ## +####################################################################################### +#The TR069 feature is only applicable to some designated firmware version. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = +managementserver.username = +managementserver.password = +managementserver.url = +managementserver.connection_request_username = +managementserver.connection_request_password = +managementserver.periodic_inform_enable = 0 +managementserver.periodic_inform_interval = 60 + +####################################################################################### +## Autop Mode ## +####################################################################################### +#Configure the auto provision mode; +#0-Disabled , 1-Power on (default); +auto_provision.mode = + +####################################################################################### +## Autop PNP ## +####################################################################################### +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +####################################################################################### +## Autop DHCP ## +####################################################################################### +#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +####################################################################################### +## Autop Repeat ## +####################################################################################### +auto_provision.repeat.enable = 0 + +#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440. +#It is only applicable to "Repeatedly". +auto_provision.repeat.minutes = + +####################################################################################### +## Autop Weekly ## +####################################################################################### +auto_provision.weekly.enable = 0 + +#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456. +#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday; +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired week is Monday, Tuesday and Wednesday, the value format is 012. +auto_provision.weekly.mask = + +#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired start time of the day is seven forty-five a.m., the value format is 07:45. +auto_provision.weekly.begin_time = + +#Configure the end time of the day for the phone to check new configuration files. The default time is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired end time of the day is seven forty-five p.m., the value format is 19:45. +auto_provision.weekly.end_time = + +####################################################################################### +## Autop URL ## +####################################################################################### +auto_provision.server.url = {$yealink_provision_url} +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +####################################################################################### +## Autop Aes Key ## +####################################################################################### +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +custom_mac_cfg.url = + +#Configure the value (manufacturer of the device) of DHCP option 60. The default is yealink +auto_provision.dhcp_option.option60_value = + +####################################################################################### +## Autop Code ## +####################################################################################### +#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +autoprovision.X.name = + + +#Configure the auto provisioning code; +#The valid value is a string, the maximum length is 100. +autoprovision.X.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 511. +autoprovision.X.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +autoprovision.X.user = +autoprovision.X.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +autoprovision.X.com_aes = +autoprovision.X.mac_aes = + +####################################################################################### +## Watch Dog ## +####################################################################################### +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +####################################################################################### +## SIP Advanced ## +####################################################################################### +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = {$yealink_rfc2543_hold} + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +#Configures the local SIP port. Integer from 1024 to 65535 +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP; +voice.call_preview_mode= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +####################################################################################### +## Tones ## +####################################################################################### +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = {$yealink_voice_tone_country} +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +####################################################################################### +## Volume ## +####################################################################################### +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handfree.tone_vol = +voice.handset.spk_vol = +voice.handset.tone_vol = +voice.headset.spk_vol = +voice.headset.tone_vol = +voice.ring_vol= + +####################################################################################### +## WEB HTTP(S) ## +####################################################################################### +wui.https_enable = +wui.http_enable = + +####################################################################################### +## Transfer ## +####################################################################################### +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = + +#Enable or disable the conference initiator to transfer the call when hanging up. +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +####################################################################################### +## Web Language ## +####################################################################################### +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = {$yealink_time_update} + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = {$yealink_dst_type} + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = 0 + +####################################################################################### +## Auto Redial ## +####################################################################################### +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the auto redial times. It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling= + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify= + +####################################################################################### +## Dial Plan ## +####################################################################################### +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by a comma. +#e.g. dialplan.area_code.line_id = 1,2,3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3. +#dialplan.block_out.line_id.X = 1,2,3 +dialplan.block_out.line_id.1 = + +# X ranges from 1 to 100. +#dialplan.dialnow.rule.X = +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.dialnow.line_id.X = + +# X ranges from 1 to 100. +dialplan.replace.prefix.X = +dialplan.replace.replace.X = +dialplan.replace.line_id.X = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialnow.item.X = Dial-now rule,Line ID +#Dial-now rule: Specify the numbers that need replacing; +#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma; +dialnow.item.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.item.X = Enabled,Prefix,Replaced,LineID +#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; +#Replaced: Specify the alternate numbers; +#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma; +dialplan.item.1 = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.X.url = +#remote_phonebook.data.X.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## Network Directory ## +####################################################################################### +directory.update_time_interval = +directory.incoming_call_match_enable = 1 +bw.directory_enable = 0 + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Features ## +####################################################################################### +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1. +features.auto_answer_delay = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default); +features.allow_mute = + +features.group_listen_in_talking_enable = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +sip.trust_ctrl = {$yealink_trust_ctrl} + +#It enables or disables the IP phone to display the feature name instead of the feature access code when dialing and in talk;(0-Disabled;1-Enabled) +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} + +#Configure the power Indicator LED to turn on or turn off; 0-On (default), 1-Off; +features.power_led_on = 1 + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset, 2- Use Headset& Speaker; +features.ringer_device.is_use_headset = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = 1 + +features.idle_talk_power_led_flash_enable = + +#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled; +features.auto_release_bla_line = + +#It enables or disables the IP phone to display the pop-up message box when it receives a new voice mail. +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} + +#It enables or disables the IP phone to display the pop-up message box when it misses a call. +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} + + +####################################################################################### +## Features FWD ## +####################################################################################### +#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode. +features.fwd_mode = + +#0-Disabled , 1-Enabled (default) +features.fwd_diversion_enable = + +####################################################################################### +## Features DND ## +####################################################################################### +#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. +features.dnd_mode = +features.dnd.on_code = *78 +features.dnd.off_code = *79 +features.dnd.emergency_enable = 1 +features.dnd.emergency_authorized_number = + +####################################################################################### +## Features BLF ## +####################################################################################### +#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1. +features.blf_led_mode = {$yealink_blf_led_mode} + +features.blf_list_version = 0 +features.blf_and_callpark_idle_led_enable = 0 + +####################################################################################### +## Features Intercom ## +####################################################################################### +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.barge = + +####################################################################################### +## Features Hotline ## +####################################################################################### +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4. +features.hotline_number = +features.hotline_delay = + +####################################################################################### +## Features DTMF ## +####################################################################################### +#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled; +features.dtmf.hide = {$yealink_dtmf_hide} + +#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled; +features.dtmf.hide_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #. +features.dtmf.transfer = + +#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled; +features.dtmf.replace_tran = + +####################################################################################### +## Features Audio Settings ## +####################################################################################### +#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled; +features.headset_prior = + +#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled; +features.headset_training = + +features.alert_info_tone = + +#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default). +features.voice_mail_tone_enable = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key; +features.send_pound_key = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default); +features.play_hold_tone.enable = + +#Configure the interval of playing a warning tone. The default value is 30s. +features.play_hold_tone.delay = + +features.redial_tone = + +#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled; +features.partition_tone = + +#Configure the delay time (in milliseconds) before transfering a call. The default value is 0. +features.hold_trans_delay = + +#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); +features.play_local_dtmf_tone_enable= + +####################################################################################### +## Features Remote Phonebook ## +####################################################################################### +#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +####################################################################################### +## Features Action ## +####################################################################################### +#Specific the address(es) or enters 'any' from which Action URI will be accepted. +#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30 +#For continuous IP addresses, the format likes *.*.*.* and the '*' stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255. +#If left blank, the IP phone cannot receive or handle any HTTP GET request. +#If set to 'any', the IP phone accepts and handles HTTP GET requests from any IP address. +features.action_uri_limit_ip = + +features.action_uri_reboot_now = 0 + +####################################################################################### +## Features Prefix ## +####################################################################################### +#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled; +features.password_dial.enable = + +#Configure the prefix numbers displayed before the encrypted digits. +features.password_dial.prefix = + +#Configure the length of encrypted digits. +features.password_dial.length = + +####################################################################################### +## Features History ## +####################################################################################### +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +####################################################################################### +## Features Pickup ## +####################################################################################### +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +####################################################################################### +## Phone Setting ## +####################################################################################### +#Enable or disable the photo display on handset 0 = disable, 1= enable +phone_setting.contact_photo_display.enable = 0 + +#Enable or disable the called party information display 0 = disable 1 = enable +phone_setting.called_party_info_display.enable = 1 + +#Configure the call information display method 0 = Name + Number, 1 = Number + Name, 2 = Name, 3 = Number, 4 = Full contact info +phone_setting.call_info_display_method = 0 + +#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Resource:Ring2.wav +#phone_setting.ring_type = Resource:Ring1.wav +phone_setting.ring_type = {$yealink_ring_type} +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = +phone_setting.show_code403 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Configure the emergency number, each separated by a comma. The default value is 112,911,110. +phone_setting.emergency.number = {$yealink_emergency_number} + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.page_tip = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = 1 + +#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.headsetkey_mode = + +#Enable or disabled mail power led flash. 0-Disabled, 1-Enabled. +phone_setting.mail_power_led_flash_enable = 1 + +#It enables or disables the power indicator LED to flash when the IP phone misses a call. +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + +####################################################################################### +## Phone Setting UI ## +####################################################################################### +#Configure the active backlight level. It ranges from 1 to 3, the default value is 2. +#The same level for different phones may result in different backlight intensities. +phone_setting.active_backlight_level = +phone_setting.inactive_backlight_level = 1 + +####################################################################################### +## Phone Setting BLF ## +####################################################################################### +phone_setting.blf_list_enable = 1 +phone_setting.auto_blf_list_enable = 1 + +#Specify the prior of the line keys and EXP keys when automatically configure the blf list 0-Configure the line keys first, 1-Configure the EXP keys first; +phone_setting.blf_list_sequence_type = + +####################################################################################### +## Key Lock ## +####################################################################################### + +#Configure the keypad lock type; 0-Disabled (default), 1-Enable +phone_setting.lock = {$yealink_lock_enable} + +#Configure the unlock password for the phone. The default value is 123. +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} + +#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0. +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + +#Configure the keypad lock type;0-All Keys(default), 1-Function Key, 2-Menu Key +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} + +#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s. +phone_setting.backlight_time = {$yealink_backlight_time} + +####################################################################################### +## Wallpaper ## +####################################################################################### + +wallpaper_upload.url = {$yealink_t23g_wallpaper} +{if isset($yealink_t23g_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t23g_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t23g_wallpaper.png +{/if} + +####################################################################################### +## Multicast ## +####################################################################################### +#Configure the codec of multicast paging. +multicast.codec = + +#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default); +#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority. +multicast.receive_priority.enable = + +#Configure the priority of multicast paging calls. It ranges from 0 to 10. +multicast.receive_priority.priority = + +#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10. +multicast.listen_address.X.label = + +#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10. +multicast.listen_address.X.ip_address = + +####################################################################################### +## Super Search ## +####################################################################################### +super_search.recent_call = 1 + +####################################################################################### +## Broadsoft Phonebook ## +####################################################################################### +bw_phonebook.group_enable = 1 +bw_phonebook.personal_enable = 1 +bw_phonebook.group_common_enable = 0 +bw_phonebook.group_common_displayname = +bw_phonebook.enterprise_enable = 0 +bw_phonebook.enterprise_common_enable = 0 +bw_phonebook.enterprise_common_displayname = +bw_phonebook.call_log_enable = 1 +bw_phonebook.server_search_enable = 1 +bw_phonebook.group_displayname = +bw_phonebook.enterprise_displayname = +bw_phonebook.common_displayname = +bw_phonebook.personal_displayname = + +####################################################################################### +## Broadsoft ## +####################################################################################### +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + +####################################################################################### +## Security ## +####################################################################################### +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1. +#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd. + +#The following examples change the user's username to "user23" and the user's password to "user23pwd". +#security.user_name.user = user23 +#security.user_password = user23:user23pwd +#The following examples change the var's username to "var55" and the var's password to "var55pwd". +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Linekey ## +####################################################################################### +#The x of the parameter "linekey.x.line" ranges from 1 to 27. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.extension = +linekey.1.type = +linekey.1.label = +linekey.1.xml_phonebook = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.extension = +linekey.2.type = +linekey.2.label = +linekey.2.xml_phonebook = + +linekey.3.line = +linekey.3.value = +linekey.3.extension = +linekey.3.type = +linekey.3.label = +linekey.3.xml_phonebook = + +linekey.4.line = +linekey.4.value = +linekey.4.extension = +linekey.4.type = +linekey.4.label = +linekey.4.xml_phonebook = + +linekey.5.line = +linekey.5.value = +linekey.5.extension = +linekey.5.type = +linekey.5.label = +linekey.5.xml_phonebook = + +linekey.6.line = +linekey.6.value = +linekey.6.extension = +linekey.6.type = +linekey.6.label = +linekey.6.xml_phonebook = + +linekey.7.line = +linekey.7.value = +linekey.7.extension = +linekey.7.type = +linekey.7.label = +linekey.7.xml_phonebook = + +linekey.8.line = +linekey.8.value = +linekey.8.extension = +linekey.8.type = +linekey.8.label = +linekey.8.xml_phonebook = + +linekey.9.line = +linekey.9.value = +linekey.9.extension = +linekey.9.type = +linekey.9.label = +linekey.9.xml_phonebook = + +linekey.10.line = +linekey.10.value = +linekey.10.extension = +linekey.10.type = +linekey.10.label = +linekey.10.xml_phonebook = + +linekey.11.line = +linekey.11.value = +linekey.11.extension = +linekey.11.type = +linekey.11.label = +linekey.11.xml_phonebook = + +linekey.12.line = +linekey.12.value = +linekey.12.extension = +linekey.12.type = +linekey.12.label = +linekey.12.xml_phonebook = + +linekey.13.line = +linekey.13.value = +linekey.13.extension = +linekey.13.type = +linekey.13.label = +linekey.13.xml_phonebook = + +linekey.14.line = +linekey.14.value = +linekey.14.extension = +linekey.14.type = +linekey.14.label = +linekey.14.xml_phonebook = + +linekey.15.line = +linekey.15.value = +linekey.15.extension = +linekey.15.type = +linekey.15.xml_phonebook = +linekey.15.label = + +linekey.16.line = +linekey.16.value = +linekey.16.extension = +linekey.16.type = +linekey.16.xml_phonebook = +linekey.16.label = + +linekey.17.line = +linekey.17.value = +linekey.17.extension = +linekey.17.type = +linekey.17.xml_phonebook = +linekey.17.label = + +linekey.18.line = +linekey.18.value = +linekey.18.extension = +linekey.18.type = +linekey.18.xml_phonebook = +linekey.18.label = + +linekey.19.line = +linekey.19.value = +linekey.19.extension = +linekey.19.type = +linekey.19.xml_phonebook = +linekey.19.label = + +linekey.20.line = +linekey.20.value = +linekey.20.extension = +linekey.20.type = +linekey.20.xml_phonebook = +linekey.20.label = + +linekey.21.line = +linekey.21.value = +linekey.21.extension = +linekey.21.type = +linekey.21.xml_phonebook = +linekey.21.label = + +linekey.22.line = +linekey.22.value = +linekey.22.extension = +linekey.22.type = +linekey.22.xml_phonebook = +linekey.22.label = + +linekey.23.line = +linekey.23.value = +linekey.23.extension = +linekey.23.type = +linekey.23.xml_phonebook = +linekey.23.label = + +linekey.24.line = +linekey.24.value = +linekey.24.extension = +linekey.24.type = +linekey.24.xml_phonebook = +linekey.24.label = + +linekey.25.line = +linekey.25.value = +linekey.25.extension = +linekey.25.type = +linekey.25.xml_phonebook = +linekey.25.label = + +linekey.26.line = +linekey.26.value = +linekey.26.extension = +linekey.26.type = +linekey.26.xml_phonebook = +linekey.26.label = + +linekey.27.line = +linekey.27.value = +linekey.27.extension = +linekey.27.type = +linekey.27.xml_phonebook = +linekey.27.label = +####################################################################################### +## Programable key ## +####################################################################################### +#X ranges from 1 to 13. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Direct Pickup 13-Spead Dial +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 31-Switch Account 32-New SMS +#33-Status 40-PTT 43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 50-Keypad Lock +#PTT-add a specified prefix number before the dialed number. +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +########################################################################################## +## Expansion Key ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = +#expansion_module.X.key.Y.xml_phonebook = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Forward Always ## +####################################################################################### +#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled; +forward.always.enable = +forward.always.target = +forward.always.on_code = +forward.always.off_code = + +####################################################################################### +## Forward Busy ## +####################################################################################### +#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled; +forward.busy.enable = +forward.busy.target = +forward.busy.on_code = +forward.busy.off_code = + +####################################################################################### +## Forward No Answer ## +####################################################################################### +#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +forward.no_answer.enable = +forward.no_answer.target = +forward.no_answer.timeout = +forward.no_answer.on_code = +forward.no_answer.off_code = + +####################################################################################### +## Forward International ## +####################################################################################### +#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled; +forward.international.enable = + +####################################################################################### +## ACD ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = +acd.bw = + +####################################################################################### +## Hotdesking Startup ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 1 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 0 (default) +#hotdesking.startup_sip_server_enable = 0 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +####################################################################################### +## Hotdesking Dsskey ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 1 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 0 (default) +#hotdesking.dsskey_sip_server_enable = 0 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Alert Info ## +####################################################################################### +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Call Waiting ## +####################################################################################### +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +call_waiting.on_code = +call_waiting.off_code = + +####################################################################################### +## Call Park ## +####################################################################################### +call_park.enable = 0 +call_park.group_enable = 0 +call_park.park_ring = +call_park.park_visual_notify_enable = + +####################################################################################### +## Action URL ## +####################################################################################### +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.ip_change = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Ringtone ## +####################################################################################### +#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## UI Language ## +####################################################################################### +#Before using this parameter, you should store the desired language pack to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +gui_lang.url = + +#gui_lang.delete = http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +####################################################################################### +## Server Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Contact ## +####################################################################################### +#Before using these parameters, you should store the desired resource files to the provisioning server. +#For more information, refer to Yealink SIP-T23g IP Phone Family Administrator Guide. +local_contact.data.url = + +####################################################################################### +## Auto DST ## +####################################################################################### +auto_dst.url = {$yealink_auto_dst_url} + +####################################################################################### +## Dialplan Now ## +####################################################################################### +dialplan_dialnow.url = + +####################################################################################### +## Dialplan Replace ## +####################################################################################### +dialplan_replace_rule.url = + +####################################################################################### +## Custom Factory Configuration ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +#Before using this parameter, you should store the desired factory configuration file to the provisioning server. +custom_factory_configuration.url = + +####################################################################################### +## Custom Configuration ## +####################################################################################### +#Configure the access URL for downloading the configurations. +#Before using this parameter, you should store the desired configuration file to the provisioning server. +configuration.url = + +####################################################################################### +## Custom Softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +#Before using these parameters, you should store the desired XML files to the provisioning server. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Local Contact Photo ## +####################################################################################### +local_contact.data_photo_tar.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Before using this parameter, you should store the desired call list file to the provisioning server. +#Require reboot +call_list.url = + +####################################################################################### +## Open VPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +#Before using this parameter, you should store the desired VPN file to the provisioning server +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Level ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Before using this parameter, you should store the desired files to the provisioning server. +#Require reboot +web_item_level.url = + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = http://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +#Before using this parameter, you should store the desired firmware (x.71.x.x.rom) to the provisioning server. +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t23g} diff --git a/resources/templates/provision/yealink/t2x/y000000000052.cfg b/resources/templates/provision/yealink/t2x/y000000000052.cfg new file mode 100644 index 0000000000..b7dbf147df --- /dev/null +++ b/resources/templates/provision/yealink/t2x/y000000000052.cfg @@ -0,0 +1,1626 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Hostname ## +####################################################################################### +network.dhcp_host_name = + +#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, submask, gateway and DNS server. +#Require reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns = {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +####################################################################################### +## PPPOE ## +####################################################################################### +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + +####################################################################################### +## Network Advanced ## +####################################################################################### +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +network.internet_port.speed_duplex = +network.pc_port.speed_duplex = + +network.pc_port.dhcp_server = 1 +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + +####################################################################################### +## VLAN ## +####################################################################################### +{if isset($yealink_vlan_enable)}network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}network.vlan.internet_port_enable = 0{/if} + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = {$yealink_vlan_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = {$yealink_vlan_cos} + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default); +#Require reboot; +network.vlan.dhcp_enable = + +#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255. +#Multiple options separated by a comma. It supports up to 5 options in all. +#Require reboot; +network.vlan.dhcp_option = + +####################################################################################### +## WEB Port ## +####################################################################################### +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +####################################################################################### +## QOS ## +####################################################################################### +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26. +#Require reboot; +network.qos.signaltos = + +####################################################################################### +## 802.1X ## +####################################################################################### +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2, 4:EAP-TTLS/EAP-MSCHAPv2; +#Require reboot; +network.802_1x.mode = +network.802_1x.identity = +network.802_1x.md5_password = +network.802_1x.root_cert_url = +network.802_1x.client_cert_url = + +####################################################################################### +## VPN ## +####################################################################################### +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +####################################################################################### +## LLDP ## +####################################################################################### +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +#Require reboot; +network.lldp.packet_interval = + +####################################################################################### +## SNMP ## +####################################################################################### +#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.snmp.enable = +network.snmp.port = + +#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space. +#Require reboot; +network.snmp.trust_ip = + +####################################################################################### +## Span to PC ## +####################################################################################### +#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.span_to_pc_port = + +####################################################################################### +## RTP Port ## +####################################################################################### +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +####################################################################################### +## SYSLOG ## +####################################################################################### +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## Redirect ## +####################################################################################### +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +####################################################################################### +## TR069 ## +####################################################################################### +#The TR069 feature is only applicable to some designated firmware version. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = +managementserver.username = +managementserver.password = +managementserver.url = +managementserver.connection_request_username = +managementserver.connection_request_password = +managementserver.periodic_inform_enable = 0 +managementserver.periodic_inform_interval = 60 + +####################################################################################### +## Autop Mode ## +####################################################################################### +#Configure the auto provision mode; +#0-Disabled , 1-Power on (default); +auto_provision.mode = + +####################################################################################### +## Autop PNP ## +####################################################################################### +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +####################################################################################### +## Autop DHCP ## +####################################################################################### +#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +####################################################################################### +## Autop Repeat ## +####################################################################################### +auto_provision.repeat.enable = 0 + +#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440. +#It is only applicable to "Repeatedly". +auto_provision.repeat.minutes = + +####################################################################################### +## Autop Weekly ## +####################################################################################### +auto_provision.weekly.enable = 0 + +#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456. +#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday; +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired week is Monday, Tuesday and Wednesday, the value format is 012. +auto_provision.weekly.mask = + +#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired start time of the day is seven forty-five a.m., the value format is 07:45. +auto_provision.weekly.begin_time = + +#Configure the end time of the day for the phone to check new configuration files. The default time is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired end time of the day is seven forty-five p.m., the value format is 19:45. +auto_provision.weekly.end_time = + +####################################################################################### +## Autop URL ## +####################################################################################### +auto_provision.server.url = {$yealink_provision_url} +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +####################################################################################### +## Autop Aes Key ## +####################################################################################### +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +custom_mac_cfg.url = + +#Configure the value (manufacturer of the device) of DHCP option 60. The default is yealink +auto_provision.dhcp_option.option60_value = + +####################################################################################### +## Autop Code ## +####################################################################################### +#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +autoprovision.X.name = + + +#Configure the auto provisioning code; +#The valid value is a string, the maximum length is 100. +autoprovision.X.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 511. +autoprovision.X.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +autoprovision.X.user = +autoprovision.X.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +autoprovision.X.com_aes = +autoprovision.X.mac_aes = + +####################################################################################### +## Watch Dog ## +####################################################################################### +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +####################################################################################### +## SIP Advanced ## +####################################################################################### +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = {$yealink_rfc2543_hold} + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +#Configures the local SIP port. Integer from 1024 to 65535 +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP; +voice.call_preview_mode= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +####################################################################################### +## Tones ## +####################################################################################### +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +####################################################################################### +## Volume ## +####################################################################################### +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handfree.tone_vol = +voice.handset.spk_vol = +voice.handset.tone_vol = +voice.headset.spk_vol = +voice.headset.tone_vol = +voice.ring_vol= + +####################################################################################### +## WEB HTTP(S) ## +####################################################################################### +wui.https_enable = +wui.http_enable = + +####################################################################################### +## Transfer ## +####################################################################################### +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = + +#Enable or disable the conference initiator to transfer the call when hanging up. +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +####################################################################################### +## Web Language ## +####################################################################################### +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = {$yealink_time_update} + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = {$yealink_dst_type} + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = 0 + +####################################################################################### +## Auto Redial ## +####################################################################################### +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the auto redial times. It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling= + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify= + +####################################################################################### +## Dial Plan ## +####################################################################################### +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by a comma. +#e.g. dialplan.area_code.line_id = 1,2,3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3. +#dialplan.block_out.line_id.X = 1,2,3 +dialplan.block_out.line_id.1 = + +# X ranges from 1 to 100. +#dialplan.dialnow.rule.X = +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.dialnow.line_id.X = + +# X ranges from 1 to 100. +dialplan.replace.prefix.X = +dialplan.replace.replace.X = +dialplan.replace.line_id.X = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialnow.item.X = Dial-now rule,Line ID +#Dial-now rule: Specify the numbers that need replacing; +#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma; +dialnow.item.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.item.X = Enabled,Prefix,Replaced,LineID +#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; +#Replaced: Specify the alternate numbers; +#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma; +dialplan.item.1 = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.X.url = +#remote_phonebook.data.X.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## Network Directory ## +####################################################################################### +directory.update_time_interval = +directory.incoming_call_match_enable = 1 +bw.directory_enable = 0 + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Features ## +####################################################################################### +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1. +features.auto_answer_delay = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default); +features.allow_mute = + +features.group_listen_in_talking_enable = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +sip.trust_ctrl = {$yealink_trust_ctrl} + +#It enables or disables the IP phone to display the feature name instead of the feature access code when dialing and in talk;(0-Disabled;1-Enabled) +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} + +#Configure the power Indicator LED to turn on or turn off; 0-On (default), 1-Off; +features.power_led_on = 1 + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset, 2- Use Headset& Speaker; +features.ringer_device.is_use_headset = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = 1 + +features.idle_talk_power_led_flash_enable = + +#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled; +features.auto_release_bla_line = + +#It enables or disables the IP phone to display the pop-up message box when it receives a new voice mail. +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} + +#It enables or disables the IP phone to display the pop-up message box when it misses a call. +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} + + +####################################################################################### +## Features FWD ## +####################################################################################### +#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode. +features.fwd_mode = + +#0-Disabled , 1-Enabled (default) +features.fwd_diversion_enable = + +####################################################################################### +## Features DND ## +####################################################################################### +#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. +features.dnd_mode = +features.dnd.on_code = *78 +features.dnd.off_code = *79 +features.dnd.emergency_enable = 1 +features.dnd.emergency_authorized_number = + +####################################################################################### +## Features BLF ## +####################################################################################### +#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1. +features.blf_led_mode = {$yealink_blf_led_mode} + +features.blf_list_version = 0 +features.blf_and_callpark_idle_led_enable = 0 + +####################################################################################### +## Features Intercom ## +####################################################################################### +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.barge = + +####################################################################################### +## Features Hotline ## +####################################################################################### +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4. +features.hotline_number = +features.hotline_delay = + +####################################################################################### +## Features DTMF ## +####################################################################################### +#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled; +features.dtmf.hide ={$yealink_dtmf_hide} + +#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled; +features.dtmf.hide_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #. +features.dtmf.transfer = + +#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled; +features.dtmf.replace_tran = + +####################################################################################### +## Features Audio Settings ## +####################################################################################### +#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled; +features.headset_prior = + +#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled; +features.headset_training = + +features.alert_info_tone = + +#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default). +features.voice_mail_tone_enable = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key; +features.send_pound_key = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default); +features.play_hold_tone.enable = + +#Configure the interval of playing a warning tone. The default value is 30s. +features.play_hold_tone.delay = + +features.redial_tone = + +#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled; +features.partition_tone = + +#Configure the delay time (in milliseconds) before transfering a call. The default value is 0. +features.hold_trans_delay = + +#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); +features.play_local_dtmf_tone_enable= + +####################################################################################### +## Features Remote Phonebook ## +####################################################################################### +#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +####################################################################################### +## Features Action ## +####################################################################################### +#Specific the address(es) or enters 'any' from which Action URI will be accepted. +#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30 +#For continuous IP addresses, the format likes *.*.*.* and the '*' stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255. +#If left blank, the IP phone cannot receive or handle any HTTP GET request. +#If set to 'any', the IP phone accepts and handles HTTP GET requests from any IP address. +features.action_uri_limit_ip = + +features.action_uri_reboot_now = 0 + +####################################################################################### +## Features Prefix ## +####################################################################################### +#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled; +features.password_dial.enable = + +#Configure the prefix numbers displayed before the encrypted digits. +features.password_dial.prefix = + +#Configure the length of encrypted digits. +features.password_dial.length = + +####################################################################################### +## Features History ## +####################################################################################### +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +####################################################################################### +## Features Pickup ## +####################################################################################### +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +####################################################################################### +## Phone Setting ## +####################################################################################### +#Enable or disable the photo display on handset 0 = disable, 1= enable +phone_setting.contact_photo_display.enable = 0 + +#Enable or disable the called party information display 0 = disable 1 = enable +phone_setting.called_party_info_display.enable = 1 + +#Configure the call information display method 0 = Name + Number, 1 = Number + Name, 2 = Name, 3 = Number, 4 = Full contact info +phone_setting.call_info_display_method = 0 + +#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Resource:Ring2.wav +#phone_setting.ring_type = Resource:Ring1.wav +phone_setting.ring_type = {$yealink_ring_type} +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = +phone_setting.show_code403 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Configure the emergency number, each separated by a comma. The default value is 112,911,110. +phone_setting.emergency.number = {$yealink_emergency_number} + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.page_tip = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = 1 + +#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.headsetkey_mode = + +#Enable or disabled mail power led flash. 0-Disabled, 1-Enabled. +phone_setting.mail_power_led_flash_enable = 1 + +#It enables or disables the power indicator LED to flash when the IP phone misses a call. +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + +####################################################################################### +## Phone Setting UI ## +####################################################################################### +#Configure the active backlight level. It ranges from 1 to 3, the default value is 2. +#The same level for different phones may result in different backlight intensities. +phone_setting.active_backlight_level = +phone_setting.inactive_backlight_level = 1 + +####################################################################################### +## Phone Setting BLF ## +####################################################################################### +phone_setting.blf_list_enable = 1 +phone_setting.auto_blf_list_enable = 1 + +#Specify the prior of the line keys and EXP keys when automatically configure the blf list 0-Configure the line keys first, 1-Configure the EXP keys first; +phone_setting.blf_list_sequence_type = + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + +####################################################################################### +## Key Lock ## +####################################################################################### + +#Configure the keypad lock type; 0-Disabled (default), 1-Enable +phone_setting.lock = {$yealink_lock_enable} + +#Configure the unlock password for the phone. The default value is 123. +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} + +#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0. +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + +#Configure the keypad lock type;0-All Keys(default), 1-Function Key, 2-Menu Key +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} + +#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s. +phone_setting.backlight_time = {$yealink_backlight_time} + +####################################################################################### +## Wallpaper ## +####################################################################################### + +wallpaper_upload.url = {$yealink_t21p_wallpaper} +{if isset($yealink_t21p_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t21p_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t21p_wallpaper.png +{/if} + +####################################################################################### +## Multicast ## +####################################################################################### +#Configure the codec of multicast paging. +multicast.codec = + +#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default); +#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority. +multicast.receive_priority.enable = + +#Configure the priority of multicast paging calls. It ranges from 0 to 10. +multicast.receive_priority.priority = + +#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10. +multicast.listen_address.X.label = + +#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10. +multicast.listen_address.X.ip_address = + +####################################################################################### +## Super Search ## +####################################################################################### +super_search.recent_call = 1 + +####################################################################################### +## Broadsoft Phonebook ## +####################################################################################### +bw_phonebook.group_enable = 1 +bw_phonebook.personal_enable = 1 +bw_phonebook.group_common_enable = 0 +bw_phonebook.group_common_displayname = +bw_phonebook.enterprise_enable = 0 +bw_phonebook.enterprise_common_enable = 0 +bw_phonebook.enterprise_common_displayname = +bw_phonebook.call_log_enable = 1 +bw_phonebook.server_search_enable = 1 +bw_phonebook.group_displayname = +bw_phonebook.enterprise_displayname = +bw_phonebook.common_displayname = +bw_phonebook.personal_displayname = + +####################################################################################### +## Broadsoft ## +####################################################################################### +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Security ## +####################################################################################### +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1. +#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd. + +#The following examples change the user's username to "user23" and the user's password to "user23pwd". +#security.user_name.user = user23 +#security.user_password = user23:user23pwd +#The following examples change the var's username to "var55" and the var's password to "var55pwd". +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Linekey ## +####################################################################################### +#The x of the parameter "linekey.x.line" ranges from 1 to 27. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.extension = +linekey.1.type = +linekey.1.label = +linekey.1.xml_phonebook = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.extension = +linekey.2.type = +linekey.2.label = +linekey.2.xml_phonebook = + +linekey.3.line = +linekey.3.value = +linekey.3.extension = +linekey.3.type = +linekey.3.label = +linekey.3.xml_phonebook = + +linekey.4.line = +linekey.4.value = +linekey.4.extension = +linekey.4.type = +linekey.4.label = +linekey.4.xml_phonebook = + +linekey.5.line = +linekey.5.value = +linekey.5.extension = +linekey.5.type = +linekey.5.label = +linekey.5.xml_phonebook = + +linekey.6.line = +linekey.6.value = +linekey.6.extension = +linekey.6.type = +linekey.6.label = +linekey.6.xml_phonebook = + +linekey.7.line = +linekey.7.value = +linekey.7.extension = +linekey.7.type = +linekey.7.label = +linekey.7.xml_phonebook = + +linekey.8.line = +linekey.8.value = +linekey.8.extension = +linekey.8.type = +linekey.8.label = +linekey.8.xml_phonebook = + +linekey.9.line = +linekey.9.value = +linekey.9.extension = +linekey.9.type = +linekey.9.label = +linekey.9.xml_phonebook = + +linekey.10.line = +linekey.10.value = +linekey.10.extension = +linekey.10.type = +linekey.10.label = +linekey.10.xml_phonebook = + +linekey.11.line = +linekey.11.value = +linekey.11.extension = +linekey.11.type = +linekey.11.label = +linekey.11.xml_phonebook = + +linekey.12.line = +linekey.12.value = +linekey.12.extension = +linekey.12.type = +linekey.12.label = +linekey.12.xml_phonebook = + +linekey.13.line = +linekey.13.value = +linekey.13.extension = +linekey.13.type = +linekey.13.label = +linekey.13.xml_phonebook = + +linekey.14.line = +linekey.14.value = +linekey.14.extension = +linekey.14.type = +linekey.14.label = +linekey.14.xml_phonebook = + +linekey.15.line = +linekey.15.value = +linekey.15.extension = +linekey.15.type = +linekey.15.xml_phonebook = +linekey.15.label = + +linekey.16.line = +linekey.16.value = +linekey.16.extension = +linekey.16.type = +linekey.16.xml_phonebook = +linekey.16.label = + +linekey.17.line = +linekey.17.value = +linekey.17.extension = +linekey.17.type = +linekey.17.xml_phonebook = +linekey.17.label = + +linekey.18.line = +linekey.18.value = +linekey.18.extension = +linekey.18.type = +linekey.18.xml_phonebook = +linekey.18.label = + +linekey.19.line = +linekey.19.value = +linekey.19.extension = +linekey.19.type = +linekey.19.xml_phonebook = +linekey.19.label = + +linekey.20.line = +linekey.20.value = +linekey.20.extension = +linekey.20.type = +linekey.20.xml_phonebook = +linekey.20.label = + +linekey.21.line = +linekey.21.value = +linekey.21.extension = +linekey.21.type = +linekey.21.xml_phonebook = +linekey.21.label = + +linekey.22.line = +linekey.22.value = +linekey.22.extension = +linekey.22.type = +linekey.22.xml_phonebook = +linekey.22.label = + +linekey.23.line = +linekey.23.value = +linekey.23.extension = +linekey.23.type = +linekey.23.xml_phonebook = +linekey.23.label = + +linekey.24.line = +linekey.24.value = +linekey.24.extension = +linekey.24.type = +linekey.24.xml_phonebook = +linekey.24.label = + +linekey.25.line = +linekey.25.value = +linekey.25.extension = +linekey.25.type = +linekey.25.xml_phonebook = +linekey.25.label = + +linekey.26.line = +linekey.26.value = +linekey.26.extension = +linekey.26.type = +linekey.26.xml_phonebook = +linekey.26.label = + +linekey.27.line = +linekey.27.value = +linekey.27.extension = +linekey.27.type = +linekey.27.xml_phonebook = +linekey.27.label = +####################################################################################### +## Programable key ## +####################################################################################### +#X ranges from 1 to 13. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Direct Pickup 13-Spead Dial +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 31-Switch Account 32-New SMS +#33-Status 40-PTT 43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 50-Keypad Lock +#PTT-add a specified prefix number before the dialed number. +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +########################################################################################## +## Expansion Key ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = +#expansion_module.X.key.Y.xml_phonebook = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Forward Always ## +####################################################################################### +#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled; +forward.always.enable = +forward.always.target = +forward.always.on_code = +forward.always.off_code = + +####################################################################################### +## Forward Busy ## +####################################################################################### +#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled; +forward.busy.enable = +forward.busy.target = +forward.busy.on_code = +forward.busy.off_code = + +####################################################################################### +## Forward No Answer ## +####################################################################################### +#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +forward.no_answer.enable = +forward.no_answer.target = +forward.no_answer.timeout = +forward.no_answer.on_code = +forward.no_answer.off_code = + +####################################################################################### +## Forward International ## +####################################################################################### +#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled; +forward.international.enable = + +####################################################################################### +## ACD ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = +acd.bw = + +####################################################################################### +## Hotdesking Startup ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 1 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 0 (default) +#hotdesking.startup_sip_server_enable = 0 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +####################################################################################### +## Hotdesking Dsskey ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 1 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 0 (default) +#hotdesking.dsskey_sip_server_enable = 0 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Alert Info ## +####################################################################################### +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Call Waiting ## +####################################################################################### +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +call_waiting.on_code = +call_waiting.off_code = + +####################################################################################### +## Call Park ## +####################################################################################### +call_park.enable = 0 +call_park.group_enable = 0 +call_park.park_ring = +call_park.park_visual_notify_enable = + +####################################################################################### +## Action URL ## +####################################################################################### +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.ip_change = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Ringtone ## +####################################################################################### +#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## UI Language ## +####################################################################################### +#Before using this parameter, you should store the desired language pack to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +gui_lang.url = + +#gui_lang.delete = http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +####################################################################################### +## Server Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Contact ## +####################################################################################### +#Before using these parameters, you should store the desired resource files to the provisioning server. +#For more information, refer to Yealink SIP-T21p IP Phone Family Administrator Guide. +local_contact.data.url = + +####################################################################################### +## Auto DST ## +####################################################################################### +auto_dst.url = {$yealink_auto_dst_url} + +####################################################################################### +## Dialplan Now ## +####################################################################################### +dialplan_dialnow.url = + +####################################################################################### +## Dialplan Replace ## +####################################################################################### +dialplan_replace_rule.url = + +####################################################################################### +## Custom Factory Configuration ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +#Before using this parameter, you should store the desired factory configuration file to the provisioning server. +custom_factory_configuration.url = + +####################################################################################### +## Custom Configuration ## +####################################################################################### +#Configure the access URL for downloading the configurations. +#Before using this parameter, you should store the desired configuration file to the provisioning server. +configuration.url = + +####################################################################################### +## Custom Softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +#Before using these parameters, you should store the desired XML files to the provisioning server. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Local Contact Photo ## +####################################################################################### +local_contact.data_photo_tar.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Before using this parameter, you should store the desired call list file to the provisioning server. +#Require reboot +call_list.url = + +####################################################################################### +## Open VPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +#Before using this parameter, you should store the desired VPN file to the provisioning server +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Level ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Before using this parameter, you should store the desired files to the provisioning server. +#Require reboot +web_item_level.url = + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +#Before using this parameter, you should store the desired firmware (x.71.x.x.rom) to the provisioning server. +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t21p} diff --git a/resources/templates/provision/yealink/t2x/y000000000053.cfg b/resources/templates/provision/yealink/t2x/y000000000053.cfg new file mode 100644 index 0000000000..c04f28cf02 --- /dev/null +++ b/resources/templates/provision/yealink/t2x/y000000000053.cfg @@ -0,0 +1,1334 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted.## + +####################################################################################### +## Network ## +####################################################################################### + +#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, subnet mask, gateway and DNS server. +#Require Reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns= {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + +#Configure the PC port type; 0-Router, 1-Bridge (default); +#Require reboot; +network.bridge_mode = + +#Configure the IP address and mask when the PC port is configured as Router. +#Require reboot; +network.pc_port.ip = +network.pc_port.mask = + +#Enable or disable the DHCP server when the PC port is configured as Router; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.pc_port.dhcp_server = + +#Define the DHCP IP address range. The default is from 10.0.0.10 to 10.0.0.100. +network.dhcp.start_ip = +network.dhcp.end_ip = + +#Enable or disable the VLAN of WAN port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.internet_port_enable = + +#Configure the VLAN ID, it ranges from 0 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 0 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Configure the access type of the web server; 0-Disabled, 1-HTTP & HTTPS (default), 2-HTTP Only, 3-HTTPS Only; +#Require reboot; +network.web_server_type = + +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.signaltos = + +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2; +#Require reboot; +network.802_1x.mode = + +#Configure the username and password for 802.1x authentication. +#Require reboot; +network.802_1x.identity = +network.802_1x.md5_password = + +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval (in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 120. +#Require reboot; +network.lldp.packet_interval = + +#Enable or disable the phone to obtain DNS from DHCP; 0-Disabled, 1-Enabled (default); +#Require reboot; +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + +####################################################################################### +## Syslog Server ## +####################################################################################### + +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## TR069 ## +####################################################################################### + +#The TR069 feature is only applicable to some designated firmware versions. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = + +#Configure the username and password for the phone to authenticate with the ACS. +managementserver.username = +managementserver.password = + +#Configure the access URL of the ACS. +managementserver.url = + +#Configure the username and password for the phone to authenticate the connection requests. +managementserver.connection_request_username = +managementserver.connection_request_password = + +#Enable or disable the phone to inform the ACS of its configuration; 0-Disabled (default), 1-Enabled; +managementserver.periodic_inform_enable = + +#Configure the interval (in seconds) the phone to inform the ACS of its configuration. The default value is 60. +managementserver.periodic_inform_interval = + +####################################################################################### +## Auto Provisioning ## +####################################################################################### + +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +#Enable or disable the phone to check new configuration when powered on; 0-Disabled, 1-Enabled (default); +auto_provision.mode = + +#Enable or disable the phone to check the new configuration repeatedly; 0-Disabled (default), 1-Enabled; +auto_provision.repeat.enable = + +#Configure the interval (in minutes) the phone repeatedly checks the new configuration. The default is 1440. +auto_provision.repeat.minutes = + +#Enable or disable the phone to check the new configuration weekly; 0-Disabled (default), 1-Enabled; +auto_provision.weekly.enable = + +#Configure the week time the phone checks the new configuration. Applicable when the auto provisioning mode is configured as weekly or power on + weekly; +#auto_provision.weekly.mask = 0123456 +#auto_provision.weekly.begin_time = 00:00 +#auto_provision.weekly.end_time = 00:00 + +auto_provision.weekly.mask = +auto_provision.weekly.begin_time = +auto_provision.weekly.end_time = + +#Configure the URL of the auto provisioning server. +auto_provision.server.url = {$yealink_provision_url} + +#Configure the domain name of the PNP server. +auto_provision.pnp_domain_name = + +#Configure the PNP vendor information. +auto_provision.pnp_event_vendor = + +#Configure the name of the Common configuration file. +auto_provision.common_file_name = + +#Configure the username and password for downloading. +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +#Enable or disable the DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the value (manufacturer of the device) of DHCP option 60. +auto_provision.dhcp_option.option60_value = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +####################################################################################### +## Auto Provisioning Code ## +####################################################################################### + +#This feature allows user to trigger the auto provisioning by dialing a predefined string on the phone, when there is no available accounts. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +#autoprovision.x.name = + +#Configure the auto provisioning code. +#The valid value is a string, the maximum length is 100. +#autoprovision.x.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 256. +#autoprovision.x.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +#autoprovision.x.user = +#autoprovision.x.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +#autoprovision.x.com_aes = +#autoprovision.x.mac_aes = + +autoprovision.1.name = +autoprovision.1.code = +autoprovision.1.url = +autoprovision.1.user = +autoprovision.1.password = +autoprovision.1.com_aes = +autoprovision.1.mac_aes = + +autoprovision.2.name = +autoprovision.2.code = +autoprovision.2.url = +autoprovision.2.user = +autoprovision.2.password = +autoprovision.2.com_aes = +autoprovision.2.mac_aes = + +####################################################################################### +## Phone Features ## +####################################################################################### + +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +sip.check_autop_result_before_register = + +sip.send_response_by_request = + +#Enable or disable the phone to reboot when receiving SIP notify messages; 0-Disabled, 1-Enabled (default); +sip.notify_reboot_enable = + +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +#Enable or disable the conference initiator to transfer the call when hanging up; +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +####################################################################################### +## Voice ## +####################################################################################### + +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#Configure the sending volume of Speaker, Handset and Headset. It ranges from 1 to 53, the default values are 25, 35, 29. +#Require reboot; +voice.handfree_send = +voice.handset_send = +voice.headset_send = + +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = + +#Customize the tone when the "voice.tone.country" is configured as Custom. +#The value format: Frequency/Duration. +#Frequency ranges from 200 to 7000. When 0 is used to define the frequency, it means a pause between tones. +#A tone can be composited at most four different frequencies (the value format is: F1+F2+F3+F4). +#Duration is the time duration (in milliseconds) of ringing the tone. It ranges from 0 to 30000ms. +#At most eight tones can be configured for dial, ring, busy and so on, each tone is separated by comma. +#For example, voice.tone.dial = 100/200,200/150,300+400+500+1200/1000,0/1200,500+900/800,5000+2000+3000/6000,0/1500,3600/1800 +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handset.spk_vol = +voice.headset.spk_vol = + +#Configure the dial tone volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.tone_vol = +voice.handset.tone_vol = +voice.headset.tone_vol = + +#Configure the ring volume. It ranges from 0 to 15, the default value is 8. +voice.ring_vol= + +#Configure the Speaker volume when in the group listening mode. It ranges from 0 to 15, the default value is 8. +voice.group_spk_vol = + +####################################################################################### +## Security Settings ## +####################################################################################### + +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If your username is defined as: security.user_name.admin = adminuser. +#and your password must like this: security.user_password = adminuser:adminpassword. +#adminuser is the value of "security.user_name.admin"; adminpassword is the password you want to set. +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Customize the softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Memory Key (For T38G only) ## +####################################################################################### +#X ranges from 1 to 10; +#memorykey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "memorykey.x.line" stands for Auto, it means the first available line. +#But, when the DSS key is configured as BLF, BLF List, Shared Line, Call Park, Pick Up, ACD or Voice Mail feature, the value 0 stands for line 1. +#memorykey.x.value--Enter the value of some features. E.g. When configuring the DSS key to be BLF, enter the number of the monitored user. +#memorykey.x.pickup_value--Enter the pickup code, this parameter is only appilicable to BLF. +#memorykey.x.type--Assign the desired feature to the memory key. +#Valid types are: 0-N/A(default for memory key) 1-Conference 2-Forward 3-Transfer 4-Hold 5-DND 6-Redial 7-Call Return 8-SMS +# 9-Call Pickup 10-Call Park 11-DTMF 12-Voicemail 13-SpeedDial 14-Intercom 15-Line(default for line key) 16-BLF 17-URL +# 18-Group Listening 19-Public Hold 20-Private 21-Shared Line 22-XML Group 23-Group Pickup 24-Paging 25-Record 27-XML Browser +# 34-Hot Desking 35-URL Record 38-LDAP 39-BLF List 40-Prefix 41-Zero-Sp-Touch 42-ACD 45-Local Group 46-Broadsoft Group +#memorykey.x.xml_phonebook--Specify the desired remote phonebook/local group/BSFT phonebook for the DSS key. This parameter is only appilicable to the feature XML Group/Local Group/Broadsoft Group. +#memorykey.x.sub_type = + +# Configure Memory Key1 +memorykey.1.line = +memorykey.1.value = +memorykey.1.pickup_value = +memorykey.1.type = +memorykey.1.xml_phonebook = +memorykey.1.sub_type = + +# Configure Memory Key2 +memorykey.2.line = +memorykey.2.value = +memorykey.2.pickup_value = +memorykey.2.type = +memorykey.2.xml_phonebook = +memorykey.2.sub_type = + +# Configure Memory Key3 +memorykey.3.line = +memorykey.3.value = +memorykey.3.pickup_value = +memorykey.3.type = +memorykey.3.xml_phonebook = +memorykey.3.sub_type = + +# Configure DSS Key4 +memorykey.4.line = +memorykey.4.value = +memorykey.4.pickup_value = +memorykey.4.type = +memorykey.4.xml_phonebook = +memorykey.4.sub_type = + +# Configure Memory Key5 +memorykey.5.line = +memorykey.5.value = +memorykey.5.pickup_value = +memorykey.5.type = +memorykey.5.xml_phonebook = +memorykey.5.sub_type = + +# Configure Memory Key6 +memorykey.6.line = +memorykey.6.value = +memorykey.6.pickup_value = +memorykey.6.type = +memorykey.6.xml_phonebook = +memorykey.6.sub_type = + +# Configure Memory Key7 +memorykey.7.line = +memorykey.7.value = +memorykey.7.pickup_value = +memorykey.7.type = +memorykey.7.xml_phonebook = +memorykey.7.sub_type = + +# Configure Memory Key8 +memorykey.8.line = +memorykey.8.value = +memorykey.8.pickup_value = +memorykey.8.type = +memorykey.8.xml_phonebook = +memorykey.8.sub_type = + +# Configure Memory Key9 +memorykey.9.line = +memorykey.9.value = +memorykey.9.pickup_value = +memorykey.9.type = +memorykey.9.xml_phonebook = +memorykey.9.sub_type = + +# Configure Memory Key10 +memorykey.10.line = +memorykey.10.value = +memorykey.10.pickup_value = +memorykey.10.type = +memorykey.10.xml_phonebook = +memorykey.10.sub_type = + +####################################################################################### +## Line Key ## +####################################################################################### + +#The x of the parameter "linekey.x.line" ranges from 1 to 6. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.pickup_value = +linekey.1.type = +linekey.1.xml_phonebook = +linekey.1.label = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.pickup_value = +linekey.2.type = +linekey.2.xml_phonebook = +linekey.2.label = + +#Configure Line Key3 +linekey.3.line = +linekey.3.value = +linekey.3.pickup_value = +linekey.3.type = +linekey.3.xml_phonebook = +linekey.3.label = + +#Configure Line Key4 (for T38G only) +linekey.4.line = +linekey.4.value = +linekey.4.pickup_value = +linekey.4.type = +linekey.4.xml_phonebook = +linekey.4.label = + +#Configure Line Key5 (for T38G only) +linekey.5.line = +linekey.5.value = +linekey.5.pickup_value = +linekey.5.type = +linekey.5.xml_phonebook = +linekey.5.label = + +#Configure Line Key6 (for T38G only) +linekey.6.line = +linekey.6.value = +linekey.6.pickup_value = +linekey.6.type = +linekey.6.xml_phonebook = +linekey.6.label = + +########################################################################################## +## Programmable Key (For T38G only) ## +########################################################################################## +#X ranges from 1 to 15. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Call Pickup 13-Spead Dial 14-Intercom +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 32-New SMS 33-Status 43-Local Phonebook +#44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 48-Switch Account Up 49-Switch Account Down 50-Keypad Lock +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +########################################################################################## +## Expansion Key For T38G only ## +########################################################################################## +#X ranges from 1 to 6, Y ranges from 1 to 39. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Automatic Call Distribute ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = + +####################################################################################### +# Action URL Settings ## +####################################################################################### + +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Language Settings ## +####################################################################################### + +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +#lang.gui = English +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = + +####################################################################################### +## Hot Desking ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 0 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 1 (default) +#hotdesking.startup_sip_server_enable = 1 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 0 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 1 (default) +#hotdesking.dsskey_sip_server_enable = 1 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Distinctive Ring Tones ## +####################################################################################### + +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Auto Redial ## +####################################################################################### + +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the times of auto redialing . It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the zero-sp-touch; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the zero-sp-touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### + +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling = + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify = + +####################################################################################### +## Dial Plan ## +####################################################################################### + +#Configure the area code. +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by comma. +#e.g. dialplan.area_code.line_id = 1, 2, 3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = + +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, each line ID separated by comma. E.g. 1,2,3. +#dialplan.block_out.line_id.x = +dialplan.block_out.line_id.1 = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialplan.dialnow.rule.x = +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +#dialplan.dialnow.line_id.x = + +dialplan.dialnow.rule.1 = +dialplan.dialnow.line_id.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.replace.prefix.x = +#dialplan.replace.replace.x = +#dialplan.replace.line_id.x = + +dialplan.replace.prefix.1 = +dialplan.replace.replace.1 = +dialplan.replace.line_id.1 = + +####################################################################################### +## BSFT Phonebook ## +####################################################################################### + +#Configuration of BW phonebook. X ranges from 1 to 6. +#bw_phonebook.data.x.server = +#bw_phonebook.data.x.port = +#bw_phonebook.data.x.username = +#bw_phonebook.data.x.password = +#bw_phonebook.data.x.name = + +bw_phonebook.data.1.server = +bw_phonebook.data.1.port = +bw_phonebook.data.1.username = +bw_phonebook.data.1.password = +bw_phonebook.data.1.name = + +####################################################################################### +## BSFT Call Log ## +####################################################################################### + +#Configuration of the BW call log. X ranges from 1 to 3. +#bw_call_log.data.x.server = +#bw_call_log.data.x.port = +#bw_call_log.data.x.username = +#bw_call_log.data.x.password = +#bw_call_log.data.x.name = + +bw_call_log.data.1.server = +bw_call_log.data.1.port = +bw_call_log.data.1.username = +bw_call_log.data.1.password = +bw_call_log.data.1.name = + +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Specify whether to display the BSFT call log on the web user interface; 0-Disabled, 1-Enabled (default); +#Require reboot; +bw.behave_calllog = + +#Specify whether to display the BSFT directory on the web user interface; 0-Disabled, 1-Enable (default); +#Require reboot; +bw.behave_bw_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + +####################################################################################### +## Remote phonebook ## +####################################################################################### + +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.x.url = +#remote_phonebook.data.x.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Phone Features ## +####################################################################################### + +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +features.dnd.on_code = +features.dnd.off_code = + +#Enable or disable the phone to receive the emergency call when in the DND mode; 0-Disabled, 1-Enabled (default); +features.dnd.emergency_enable = + +#Specify the emergency number, multiple numbers (at most three) are separated by comma. +features.dnd.emergency_authorized_number = + +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} + +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled, 1-Enabled (default); +features.intercom.barge = + +#Specify whether to display the contact name in the remote phonebook; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) the phone updates the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value of delay time is 2. +features.hotline_number = +features.hotline_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +features.redial_tone = + +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +#Configure the phone to receive the action URI request from the specified IP address(es) or any IP address; +#Enter multiple IP addresses (separated by comma) or "any"(stands for any IP address); +features.action_uri_limit_ip = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +#Require reboot; +features.direct_ip_call_enable = 0 +sip.trust_ctrl=1 + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset; +features.ringer_device.is_use_headset = + +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +#Configure the group pickup code. +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +#Configure the directed pickup code. +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +#Enable or disable the phone to turn off the indicator LEDs of BLF and Call Park keys when the monitored states is idle. +#0-Disabled (default), 1-Enabled; +features.blf_and_callpark_idle_led_enable = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = + +#Configure the time (in seconds) the phone automatically dial out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the flash hook time (in milliseconds). It ranges from 0 to 799, the default value is 1. +phone_setting.flash_hook_timer = + +#Configure the keypad lock type; 0-Disabled (default), 1-Menu Key, 2-Function Key, 3-All Keys, 4-Lock&Answer; +phone_setting.lock = + +#Set the unlock password and expiry time (in seconds) of phone lock. It ranges from 0 to 3600, the default value of expiry time is 10. +phone_setting.phone_lock.unlock_pin = +phone_setting.phone_lock.lock_time_out = + +#Configure the ring tone for the phone. System ring tones are: Ring1.wav (default), Ring2.wav - Ring8.wav. +#You can configure the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Busy.wav +phone_setting.ring_type = {$yealink_ring_type} + +#Configure the active backlight level. It ranges from 1 to 10, the default value is 2. +#The same level for different phones may result in different backlight intensities. +#The backlight level of T2xP ranges from 1 to 3. +phone_setting.active_backlight_level = + +#Configure the inactive backlight level. It ranges from 1 to 10, the default value is 1. +phone_setting.inactive_backlight_level = + +#Configure the backlight time (in seconds). The valid values are: 1-Always on, 60 (default), 120, 300, 600, 1800. +phone_setting.backlight_time = + +#Configure the screen saver time (in seconds). The valid values are 1, 60 (default), 120, 300, 600, 1800. +phone_setting.screen_saver_time = + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#phone_setting.ring_for_tranfailed = Ring1.wav +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = 1 + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Enable or disable the user to customize the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the phone theme; 0-Theme1 (default), 1-Theme2, 2-Theme3, 3-Theme4; +phone_setting.theme = + +#Configure the emergency number, each separated by comma. The default value is 112,911,110. +phone_setting.emergency.number = + +#Enable or disable the phone to display the short message automatically; 0-Disabled, 1-Enabled (default); +phone_setting.sms_popup_enable = + +#Enable or disable the phone to turn off the power LED when it is idle; 0-Disabled (default), 1-Enabled; +phone_setting.common_power_led_enable = + +#Enable or disable the phone to flash the power LED when receiving new voice mail or message; 0-Disabled (default), 1-Enabled; +phone_setting.mail_power_led_flash_enable = + +#Enable or disable the phone to flash the power LED when muting a call; 0-Disabled (default), 1-Enabled; +phone_setting.mute_power_led_flash_enable = + +#Enable or disable the phone to flash the power LED when placing a calll on hold; 0-Disabled (default), 1-Enabled; +phone_setting.hold_power_led_flash_enable = + +#Disable missed call power led flash 0-Disabled, 1-Enabled +phone_setting.missed_call_power_led_flash.enable = 0 + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t19p} + +####################################################################################### +## Configure the access URL of the customized ringtones ## +####################################################################################### +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## Configure the access URL of language file ## +####################################################################################### +gui_lang.url = + +#gui_lang.delete =http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Certificates ## +####################################################################################### +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Local Contact/DST Time/Dialnow Rule/Replace Rule ## +####################################################################################### +local_contact.data.url = +auto_dst.url = {$yealink_auto_dst_url} +dialplan_dialnow.url = +dialplan_replace_rule.url = + +####################################################################################### +## Customized Factory Configurations ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +custom_factory_configuration.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Require reboot +call_list.url = + +####################################################################################### +## OpenVPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of the Wallpaper ## +####################################################################################### + +wallpaper_upload.url = {$yealink_t19p_wallpaper} +{if isset($yealink_t19p_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t19p_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t19p_wallpaper.png +{/if} + +#Configure the phone background. +#If you set the custom image (new.png) as phone backgroup, the value is: phone_setting.backgrounds = Config:new.png +#If you set the system image (pictures(01).png) as phone backgroup, the value is: phone_setting.backgrounds = Resource:pictures(01).png +#phone_setting.backgrounds = Config:yealink_t20p.png + +####################################################################################### +## Configure the access URL of the Screensaver ## +####################################################################################### +#Configure the access URL for downloading the customized wallpaper. +screen_saver.pic.url = {$yealink_t20p_screen_saver} + +####################################################################################### +## Configuration files for Var ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Require reboot +web_item_level.url = + +####################################################################################### +## SIP Advanced ## +####################################################################################### + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + diff --git a/resources/templates/provision/yealink/t2x/y000000000069.cfg b/resources/templates/provision/yealink/t2x/y000000000069.cfg new file mode 100644 index 0000000000..f9408d464c --- /dev/null +++ b/resources/templates/provision/yealink/t2x/y000000000069.cfg @@ -0,0 +1,1666 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Hostname ## +####################################################################################### +network.dhcp_host_name = + +#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, submask, gateway and DNS server. +#Require reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns = {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +####################################################################################### +## PPPOE ## +####################################################################################### +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +network.internet_port.speed_duplex = +network.pc_port.speed_duplex = + +network.pc_port.dhcp_server = 1 +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + +####################################################################################### +## VLAN ## +####################################################################################### +{if isset($yealink_vlan_enable)}network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}network.vlan.internet_port_enable = 0{/if} + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = {$yealink_vlan_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = {$yealink_vlan_cos} + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default); +#Require reboot; +network.vlan.dhcp_enable = + +#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255. +#Multiple options separated by a comma. It supports up to 5 options in all. +#Require reboot; +network.vlan.dhcp_option = + +####################################################################################### +## WEB Port ## +####################################################################################### +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +####################################################################################### +## QOS ## +####################################################################################### +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26. +#Require reboot; +network.qos.signaltos = + +####################################################################################### +## 802.1X ## +####################################################################################### +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2, 4:EAP-TTLS/EAP-MSCHAPv2; +#Require reboot; +network.802_1x.mode = +network.802_1x.identity = +network.802_1x.md5_password = +network.802_1x.root_cert_url = +network.802_1x.client_cert_url = + +####################################################################################### +## VPN ## +####################################################################################### +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +####################################################################################### +## LLDP ## +####################################################################################### +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +#Require reboot; +network.lldp.packet_interval = + +####################################################################################### +## SNMP ## +####################################################################################### +#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.snmp.enable = +network.snmp.port = + +#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space. +#Require reboot; +network.snmp.trust_ip = + +####################################################################################### +## Span to PC ## +####################################################################################### +#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.span_to_pc_port = + +####################################################################################### +## RTP Port ## +####################################################################################### +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +####################################################################################### +## SYSLOG ## +####################################################################################### +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## Redirect ## +####################################################################################### +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +####################################################################################### +## TR069 ## +####################################################################################### +#The TR069 feature is only applicable to some designated firmware version. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = +managementserver.username = +managementserver.password = +managementserver.url = +managementserver.connection_request_username = +managementserver.connection_request_password = +managementserver.periodic_inform_enable = 0 +managementserver.periodic_inform_interval = 60 + +####################################################################################### +## Autop Mode ## +####################################################################################### +#Configure the auto provision mode; +#0-Disabled , 1-Power on (default); +auto_provision.mode = + +####################################################################################### +## Autop PNP ## +####################################################################################### +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +####################################################################################### +## Autop DHCP ## +####################################################################################### +#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +####################################################################################### +## Autop Repeat ## +####################################################################################### +auto_provision.repeat.enable = 0 + +#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440. +#It is only applicable to "Repeatedly". +auto_provision.repeat.minutes = + +####################################################################################### +## Autop Weekly ## +####################################################################################### +auto_provision.weekly.enable = 0 + +#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456. +#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday; +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired week is Monday, Tuesday and Wednesday, the value format is 012. +auto_provision.weekly.mask = + +#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired start time of the day is seven forty-five a.m., the value format is 07:45. +auto_provision.weekly.begin_time = + +#Configure the end time of the day for the phone to check new configuration files. The default time is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired end time of the day is seven forty-five p.m., the value format is 19:45. +auto_provision.weekly.end_time = + +####################################################################################### +## Autop URL ## +####################################################################################### +auto_provision.server.url = {$yealink_provision_url} +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +####################################################################################### +## Autop Aes Key ## +####################################################################################### +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +custom_mac_cfg.url = + +#Configure the value (manufacturer of the device) of DHCP option 60. The default is yealink +auto_provision.dhcp_option.option60_value = + +####################################################################################### +## Autop Code ## +####################################################################################### +#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +autoprovision.X.name = + + +#Configure the auto provisioning code; +#The valid value is a string, the maximum length is 100. +autoprovision.X.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 511. +autoprovision.X.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +autoprovision.X.user = +autoprovision.X.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +autoprovision.X.com_aes = +autoprovision.X.mac_aes = + +####################################################################################### +## Watch Dog ## +####################################################################################### +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +####################################################################################### +## SIP Advanced ## +####################################################################################### +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = {$yealink_rfc2543_hold} + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +#Configures the local SIP port. Integer from 1024 to 65535 +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP; +voice.call_preview_mode= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +####################################################################################### +## Tones ## +####################################################################################### +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +####################################################################################### +## Volume ## +####################################################################################### +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handfree.tone_vol = +voice.handset.spk_vol = +voice.handset.tone_vol = +voice.headset.spk_vol = +voice.headset.tone_vol = +voice.ring_vol= + +####################################################################################### +## WEB HTTP(S) ## +####################################################################################### +wui.https_enable = +wui.http_enable = + +####################################################################################### +## Transfer ## +####################################################################################### +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = + +#Enable or disable the conference initiator to transfer the call when hanging up. +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +####################################################################################### +## Web Language ## +####################################################################################### +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = {$yealink_time_update} + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = {$yealink_dst_type} + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = 0 + +####################################################################################### +## Auto Redial ## +####################################################################################### +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the auto redial times. It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling= + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify= + +####################################################################################### +## Dial Plan ## +####################################################################################### +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by a comma. +#e.g. dialplan.area_code.line_id = 1,2,3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3. +#dialplan.block_out.line_id.X = 1,2,3 +dialplan.block_out.line_id.1 = + +# X ranges from 1 to 100. +#dialplan.dialnow.rule.X = +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.dialnow.line_id.X = + +# X ranges from 1 to 100. +dialplan.replace.prefix.X = +dialplan.replace.replace.X = +dialplan.replace.line_id.X = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialnow.item.X = Dial-now rule,Line ID +#Dial-now rule: Specify the numbers that need replacing; +#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma; +dialnow.item.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.item.X = Enabled,Prefix,Replaced,LineID +#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; +#Replaced: Specify the alternate numbers; +#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma; +dialplan.item.1 = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.X.url = +#remote_phonebook.data.X.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## Network Directory ## +####################################################################################### +directory.update_time_interval = +directory.incoming_call_match_enable = 1 +bw.directory_enable = 0 + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Features ## +####################################################################################### +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1. +features.auto_answer_delay = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default); +features.allow_mute = + +features.group_listen_in_talking_enable = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +sip.trust_ctrl = {$yealink_trust_ctrl} + +#It enables or disables the IP phone to display the feature name instead of the feature access code when dialing and in talk;(0-Disabled;1-Enabled) +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} + +#Configure the power Indicator LED to turn on or turn off; 0-On (default), 1-Off; +features.power_led_on = 1 + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset, 2- Use Headset& Speaker; +features.ringer_device.is_use_headset = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = 1 + +features.idle_talk_power_led_flash_enable = + +#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled; +features.auto_release_bla_line = + +#It enables or disables the IP phone to display the pop-up message box when it receives a new voice mail. +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} + +#It enables or disables the IP phone to display the pop-up message box when it misses a call. +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} + + +####################################################################################### +## Features FWD ## +####################################################################################### +#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode. +features.fwd_mode = + +#0-Disabled , 1-Enabled (default) +features.fwd_diversion_enable = + +####################################################################################### +## Features DND ## +####################################################################################### +#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. +features.dnd_mode = +features.dnd.on_code = *78 +features.dnd.off_code = *79 +features.dnd.emergency_enable = 1 +features.dnd.emergency_authorized_number = + +####################################################################################### +## Features BLF ## +####################################################################################### +#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1. +features.blf_led_mode = {$yealink_blf_led_mode} + +features.blf_list_version = 0 +features.blf_and_callpark_idle_led_enable = 0 + +####################################################################################### +## Features Intercom ## +####################################################################################### +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.barge = + +####################################################################################### +## Features Hotline ## +####################################################################################### +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4. +features.hotline_number = +features.hotline_delay = + +####################################################################################### +## Features DTMF ## +####################################################################################### +#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled; +features.dtmf.hide = {$yealink_dtmf_hide} + +#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled; +features.dtmf.hide_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #. +features.dtmf.transfer = + +#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled; +features.dtmf.replace_tran = + +####################################################################################### +## Features Audio Settings ## +####################################################################################### +#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled; +features.headset_prior = + +#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled; +features.headset_training = + +features.alert_info_tone = + +#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default). +features.voice_mail_tone_enable = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key; +features.send_pound_key = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default); +features.play_hold_tone.enable = + +#Configure the interval of playing a warning tone. The default value is 30s. +features.play_hold_tone.delay = + +features.redial_tone = + +#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled; +features.partition_tone = + +#Configure the delay time (in milliseconds) before transfering a call. The default value is 0. +features.hold_trans_delay = + +#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); +features.play_local_dtmf_tone_enable= + +####################################################################################### +## Features Remote Phonebook ## +####################################################################################### +#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +####################################################################################### +## Features Action ## +####################################################################################### +#Specific the address(es) or enters 'any' from which Action URI will be accepted. +#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30 +#For continuous IP addresses, the format likes *.*.*.* and the '*' stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255. +#If left blank, the IP phone cannot receive or handle any HTTP GET request. +#If set to 'any', the IP phone accepts and handles HTTP GET requests from any IP address. +features.action_uri_limit_ip = + +features.action_uri_reboot_now = 0 + +####################################################################################### +## Features Prefix ## +####################################################################################### +#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled; +features.password_dial.enable = + +#Configure the prefix numbers displayed before the encrypted digits. +features.password_dial.prefix = + +#Configure the length of encrypted digits. +features.password_dial.length = + +####################################################################################### +## Features History ## +####################################################################################### +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +####################################################################################### +## Features Pickup ## +####################################################################################### +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +####################################################################################### +## Phone Setting ## +####################################################################################### +#Enable or disable the photo display on handset 0 = disable, 1= enable +phone_setting.contact_photo_display.enable = 0 + +#Enable or disable the called party information display 0 = disable 1 = enable +phone_setting.called_party_info_display.enable = 1 + +#Configure the call information display method 0 = Name + Number, 1 = Number + Name, 2 = Name, 3 = Number, 4 = Full contact info +phone_setting.call_info_display_method = 0 + +#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Resource:Ring2.wav +#phone_setting.ring_type = Resource:Ring1.wav +phone_setting.ring_type = {$yealink_ring_type} +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = +phone_setting.show_code403 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Configure the emergency number, each separated by a comma. The default value is 112,911,110. +phone_setting.emergency.number = {$yealink_emergency_number} + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.page_tip = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = 1 + +#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.headsetkey_mode = + +#Enable or disabled mail power led flash. 0-Disabled, 1-Enabled. +phone_setting.mail_power_led_flash_enable = 1 + +#It enables or disables the power indicator LED to flash when the IP phone misses a call. +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + +####################################################################################### +## Phone Setting UI ## +####################################################################################### +#Configure the active backlight level. It ranges from 1 to 3, the default value is 2. +#The same level for different phones may result in different backlight intensities. +phone_setting.active_backlight_level = +phone_setting.inactive_backlight_level = 1 + +####################################################################################### +## Phone Setting BLF ## +####################################################################################### +phone_setting.blf_list_enable = 1 +phone_setting.auto_blf_list_enable = 1 + +#Specify the prior of the line keys and EXP keys when automatically configure the blf list 0-Configure the line keys first, 1-Configure the EXP keys first; +phone_setting.blf_list_sequence_type = + +####################################################################################### +## Key Lock ## +####################################################################################### + +#Configure the keypad lock type; 0-Disabled (default), 1-Enable +phone_setting.lock = {$yealink_lock_enable} + +#Configure the unlock password for the phone. The default value is 123. +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} + +#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0. +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + +#Configure the keypad lock type;0-All Keys(default), 1-Function Key, 2-Menu Key +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} + +#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s. +phone_setting.backlight_time = {$yealink_backlight_time} + +####################################################################################### +## Wallpaper ## +####################################################################################### + +wallpaper_upload.url = {$yealink_t27g_wallpaper} +{if isset($yealink_t27g_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t27g_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t27g_wallpaper.png +{/if} + +####################################################################################### +## Multicast ## +####################################################################################### +#Configure the codec of multicast paging. +multicast.codec = + +#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default); +#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority. +multicast.receive_priority.enable = + +#Configure the priority of multicast paging calls. It ranges from 0 to 10. +multicast.receive_priority.priority = + +#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10. +multicast.listen_address.X.label = + +#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10. +multicast.listen_address.X.ip_address = + +####################################################################################### +## Super Search ## +####################################################################################### +super_search.recent_call = 1 + +####################################################################################### +## Broadsoft Phonebook ## +####################################################################################### +bw_phonebook.group_enable = 1 +bw_phonebook.personal_enable = 1 +bw_phonebook.group_common_enable = 0 +bw_phonebook.group_common_displayname = +bw_phonebook.enterprise_enable = 0 +bw_phonebook.enterprise_common_enable = 0 +bw_phonebook.enterprise_common_displayname = +bw_phonebook.call_log_enable = 1 +bw_phonebook.server_search_enable = 1 +bw_phonebook.group_displayname = +bw_phonebook.enterprise_displayname = +bw_phonebook.common_displayname = +bw_phonebook.personal_displayname = + +####################################################################################### +## Broadsoft ## +####################################################################################### +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + +####################################################################################### +## Security ## +####################################################################################### +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1. +#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd. + +#The following examples change the user's username to "user23" and the user's password to "user23pwd". +#security.user_name.user = user23 +#security.user_password = user23:user23pwd +#The following examples change the var's username to "var55" and the var's password to "var55pwd". +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Linekey ## +####################################################################################### +#The x of the parameter "linekey.x.line" ranges from 1 to 27. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.extension = +linekey.1.type = +linekey.1.label = +linekey.1.xml_phonebook = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.extension = +linekey.2.type = +linekey.2.label = +linekey.2.xml_phonebook = + +linekey.3.line = +linekey.3.value = +linekey.3.extension = +linekey.3.type = +linekey.3.label = +linekey.3.xml_phonebook = + +linekey.4.line = +linekey.4.value = +linekey.4.extension = +linekey.4.type = +linekey.4.label = +linekey.4.xml_phonebook = + +linekey.5.line = +linekey.5.value = +linekey.5.extension = +linekey.5.type = +linekey.5.label = +linekey.5.xml_phonebook = + +linekey.6.line = +linekey.6.value = +linekey.6.extension = +linekey.6.type = +linekey.6.label = +linekey.6.xml_phonebook = + +linekey.7.line = +linekey.7.value = +linekey.7.extension = +linekey.7.type = +linekey.7.label = +linekey.7.xml_phonebook = + +linekey.8.line = +linekey.8.value = +linekey.8.extension = +linekey.8.type = +linekey.8.label = +linekey.8.xml_phonebook = + +linekey.9.line = +linekey.9.value = +linekey.9.extension = +linekey.9.type = +linekey.9.label = +linekey.9.xml_phonebook = + +linekey.10.line = +linekey.10.value = +linekey.10.extension = +linekey.10.type = +linekey.10.label = +linekey.10.xml_phonebook = + +linekey.11.line = +linekey.11.value = +linekey.11.extension = +linekey.11.type = +linekey.11.label = +linekey.11.xml_phonebook = + +linekey.12.line = +linekey.12.value = +linekey.12.extension = +linekey.12.type = +linekey.12.label = +linekey.12.xml_phonebook = + +linekey.13.line = +linekey.13.value = +linekey.13.extension = +linekey.13.type = +linekey.13.label = +linekey.13.xml_phonebook = + +linekey.14.line = +linekey.14.value = +linekey.14.extension = +linekey.14.type = +linekey.14.label = +linekey.14.xml_phonebook = + +linekey.15.line = +linekey.15.value = +linekey.15.extension = +linekey.15.type = +linekey.15.xml_phonebook = +linekey.15.label = + +linekey.16.line = +linekey.16.value = +linekey.16.extension = +linekey.16.type = +linekey.16.xml_phonebook = +linekey.16.label = + +linekey.17.line = +linekey.17.value = +linekey.17.extension = +linekey.17.type = +linekey.17.xml_phonebook = +linekey.17.label = + +linekey.18.line = +linekey.18.value = +linekey.18.extension = +linekey.18.type = +linekey.18.xml_phonebook = +linekey.18.label = + +linekey.19.line = +linekey.19.value = +linekey.19.extension = +linekey.19.type = +linekey.19.xml_phonebook = +linekey.19.label = + +linekey.20.line = +linekey.20.value = +linekey.20.extension = +linekey.20.type = +linekey.20.xml_phonebook = +linekey.20.label = + +linekey.21.line = +linekey.21.value = +linekey.21.extension = +linekey.21.type = +linekey.21.xml_phonebook = +linekey.21.label = + +linekey.22.line = +linekey.22.value = +linekey.22.extension = +linekey.22.type = +linekey.22.xml_phonebook = +linekey.22.label = + +linekey.23.line = +linekey.23.value = +linekey.23.extension = +linekey.23.type = +linekey.23.xml_phonebook = +linekey.23.label = + +linekey.24.line = +linekey.24.value = +linekey.24.extension = +linekey.24.type = +linekey.24.xml_phonebook = +linekey.24.label = + +linekey.25.line = +linekey.25.value = +linekey.25.extension = +linekey.25.type = +linekey.25.xml_phonebook = +linekey.25.label = + +linekey.26.line = +linekey.26.value = +linekey.26.extension = +linekey.26.type = +linekey.26.xml_phonebook = +linekey.26.label = + +linekey.27.line = +linekey.27.value = +linekey.27.extension = +linekey.27.type = +linekey.27.xml_phonebook = +linekey.27.label = +####################################################################################### +## Programable key ## +####################################################################################### +#X ranges from 1 to 13. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Direct Pickup 13-Spead Dial +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 31-Switch Account 32-New SMS +#33-Status 40-PTT 43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 50-Keypad Lock +#PTT-add a specified prefix number before the dialed number. +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + + +########################################################################################## +## Expansion Key ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = +#expansion_module.X.key.Y.xml_phonebook = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Forward Always ## +####################################################################################### +#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled; +forward.always.enable = +forward.always.target = +forward.always.on_code = +forward.always.off_code = + +####################################################################################### +## Forward Busy ## +####################################################################################### +#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled; +forward.busy.enable = +forward.busy.target = +forward.busy.on_code = +forward.busy.off_code = + +####################################################################################### +## Forward No Answer ## +####################################################################################### +#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +forward.no_answer.enable = +forward.no_answer.target = +forward.no_answer.timeout = +forward.no_answer.on_code = +forward.no_answer.off_code = + +####################################################################################### +## Forward International ## +####################################################################################### +#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled; +forward.international.enable = + +####################################################################################### +## ACD ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = +acd.bw = + +####################################################################################### +## Hotdesking Startup ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 1 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 0 (default) +#hotdesking.startup_sip_server_enable = 0 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +####################################################################################### +## Hotdesking Dsskey ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 1 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 0 (default) +#hotdesking.dsskey_sip_server_enable = 0 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Alert Info ## +####################################################################################### +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Call Waiting ## +####################################################################################### +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +call_waiting.on_code = +call_waiting.off_code = + +####################################################################################### +## Call Park ## +####################################################################################### +call_park.enable = 0 +call_park.group_enable = 0 +call_park.park_ring = +call_park.park_visual_notify_enable = + +####################################################################################### +## Action URL ## +####################################################################################### +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.ip_change = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Ringtone ## +####################################################################################### +#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## UI Language ## +####################################################################################### +#Before using this parameter, you should store the desired language pack to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +gui_lang.url = + +#gui_lang.delete = http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +####################################################################################### +## Server Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Contact ## +####################################################################################### +#Before using these parameters, you should store the desired resource files to the provisioning server. +#For more information, refer to Yealink SIP-T27g IP Phone Family Administrator Guide. +local_contact.data.url = + +####################################################################################### +## Auto DST ## +####################################################################################### +auto_dst.url = {$yealink_auto_dst_url} + +####################################################################################### +## Dialplan Now ## +####################################################################################### +dialplan_dialnow.url = + +####################################################################################### +## Dialplan Replace ## +####################################################################################### +dialplan_replace_rule.url = + +####################################################################################### +## Custom Factory Configuration ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +#Before using this parameter, you should store the desired factory configuration file to the provisioning server. +custom_factory_configuration.url = + +####################################################################################### +## Custom Configuration ## +####################################################################################### +#Configure the access URL for downloading the configurations. +#Before using this parameter, you should store the desired configuration file to the provisioning server. +configuration.url = + +####################################################################################### +## Custom Softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +#Before using these parameters, you should store the desired XML files to the provisioning server. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Local Contact Photo ## +####################################################################################### +local_contact.data_photo_tar.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Before using this parameter, you should store the desired call list file to the provisioning server. +#Require reboot +call_list.url = + +####################################################################################### +## Open VPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +#Before using this parameter, you should store the desired VPN file to the provisioning server +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Level ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Before using this parameter, you should store the desired files to the provisioning server. +#Require reboot +web_item_level.url = + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +#Before using this parameter, you should store the desired firmware (x.71.x.x.rom) to the provisioning server. +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t27g} diff --git a/resources/templates/provision/yealink/t2x/{$mac}.boot b/resources/templates/provision/yealink/t2x/{$mac}.boot new file mode 100644 index 0000000000..697511f2a0 --- /dev/null +++ b/resources/templates/provision/yealink/t2x/{$mac}.boot @@ -0,0 +1,12 @@ +#!version:1.0.0.1 +## The header above must appear as-is in the first line + +[T19P_E2]include:config "y000000000053.cfg" +[T21P_E2]include:config "y000000000052.cfg" +[T23P]include:config "y000000000044.cfg" +[T23G]include:config "y000000000044.cfg" +[T27G]include:config "y000000000069.cfg" +[T29G]include:config "y000000000046.cfg" +include:config "{$mac}.cfg" + +overwrite_mode = {$yealink_overwrite_mode} diff --git a/resources/templates/provision/yealink/t2x/{$mac}.cfg b/resources/templates/provision/yealink/t2x/{$mac}.cfg new file mode 100644 index 0000000000..f4734a28d1 --- /dev/null +++ b/resources/templates/provision/yealink/t2x/{$mac}.cfg @@ -0,0 +1,588 @@ +#!version:1.0.0.1 +#{$microtime} + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +{foreach $lines as $row} +####################################################################################### +## Account {$row.line_number} Basic Settings ## +####################################################################################### +## ranges from 1 to 12 +{if isset($account.{$row.line_number}.password) } +account.{$row.line_number}.enable = 1 +{else} +account.{$row.line_number}.enable = 0 +{/if} +account.{$row.line_number}.label = {$account.{$row.line_number}.display_name} +account.{$row.line_number}.display_name = {$account.{$row.line_number}.display_name} +account.{$row.line_number}.auth_name = {$account.{$row.line_number}.auth_id} +account.{$row.line_number}.password = {$account.{$row.line_number}.password} +{if isset($account.{$row.line_number}.server.1.address)} +account.{$row.line_number}.user_name = {$account.{$row.line_number}.user_id}@{$account.{$row.line_number}.server_address} +{else} +account.{$row.line_number}.user_name = {$account.{$row.line_number}.user_id} +{/if} +account.{$row.line_number}.sip_server_host = {$account.{$row.line_number}.server_address} +account.{$row.line_number}.sip_server_port = {$account.{$row.line_number}.sip_port} +account.{$row.line_number}.outbound_host = {$account.{$row.line_number}.outbound_proxy} +account.{$row.line_number}.outbound_port = {$account.{$row.line_number}.sip_port} +{if isset($yealink_sip_listen_port)}account.{$row.line_number}.sip_listen_port = {$yealink_sip_listen_port}{else}account.{$row.line_number}.sip_listen_port = 5060{/if} + +#Configure the transport type 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV +{if $account.{$row.line_number}.sip_transport == 'udp'}account.{$row.line_number}.transport = 0{/if} +{if $account.{$row.line_number}.sip_transport == 'tcp'}account.{$row.line_number}.transport = 1{/if} +{if $account.{$row.line_number}.sip_transport == 'tls'}account.{$row.line_number}.transport = 2{/if} +{if $account.{$row.line_number}.sip_transport == 'dns srv'}account.{$row.line_number}.transport = 3{/if} + +account.{$row.line_number}.outbound_proxy.1.address = {$account.{$row.line_number}.outbound_proxy_primary} +account.{$row.line_number}.outbound_proxy.2.address = {$account.{$row.line_number}.outbound_proxy_secondary} +account.{$row.line_number}.outbound_proxy_enable = {if isset($account.{$row.line_number}.outbound_proxy_primary)}1{else}0{/if} + +{if isset($outbound_proxy_1_port)} +account.{$row.line_number}.outbound_proxy.1.port = {$outbound_proxy_1_port} +{else} +account.{$row.line_number}.outbound_proxy.1.port = {$account.{$row.line_number}.sip_port} +{/if} +{if isset($outbound_proxy_1_port)} +account.{$row.line_number}.outbound_proxy.2.port = {$outbound_proxy_2_port} +{else} +account.{$row.line_number}.outbound_proxy.2.port = {$account.{$row.line_number}.sip_port} +{/if} + +####################################################################################### +## Failback ## +####################################################################################### +## ranges from 1 to 12 + +account.{$row.line_number}.reregister_enable = 0 +account.{$row.line_number}.retry_counts = +account.{$row.line_number}.failback_mode = 0 +account.{$row.line_number}.failback_timeout = 3600 +account.{$row.line_number}.naptr_build = 0 +account.{$row.line_number}.fallback.redundancy_type = 0 +account.{$row.line_number}.fallback.timeout = {$yealink_outbound_proxy_fallback_interval} +account.{$row.line_number}.sip_server.1.address = {$account.{$row.line_number}.server.1.address} +account.{$row.line_number}.sip_server.1.port = {$account.{$row.line_number}.sip_port} + +#Configure the transport type 0-UDP (default), 1-TCP, 2-TLS, 3-DNS-NAPTR +{if $account.{$row.line_number}.sip_transport == 'udp'}account.{$row.line_number}.sip_server.1.transport_type = 0{/if} +{if $account.{$row.line_number}.sip_transport == 'tcp'}account.{$row.line_number}.sip_server.1.transport_type = 1{/if} +{if $account.{$row.line_number}.sip_transport == 'tls'}account.{$row.line_number}.sip_server.1.transport_type = 2{/if} +{if $account.{$row.line_number}.sip_transport == 'dns srv'}account.{$row.line_number}.sip_server.1.transport_type = 3{/if} + +#Configure the register expiry time (in seconds), the default value is 3600. +account.{$row.line_number}.sip_server.1.expires = {$account.{$row.line_number}.register_expires} +account.{$row.line_number}.sip_server.1.retry_counts = 3 +account.{$row.line_number}.sip_server.1.failback_mode = 0 +account.{$row.line_number}.sip_server.1.failback_timeout = 3600 +account.{$row.line_number}.sip_server.1.register_on_enable = 0 +account.{$row.line_number}.sip_server.2.address = {$account.{$row.line_number}.server.2.address} +account.{$row.line_number}.sip_server.2.port = {$account.{$row.line_number}.sip_port} + +#Configure the transport type 0-UDP (default), 1-TCP, 2-TLS, 3-DNS-NAPTR +{if $account.{$row.line_number}.sip_transport == 'udp'}account.{$row.line_number}.sip_server.2.transport_type = 0{/if} +{if $account.{$row.line_number}.sip_transport == 'tcp'}account.{$row.line_number}.sip_server.2.transport_type = 1{/if} +{if $account.{$row.line_number}.sip_transport == 'tls'}account.{$row.line_number}.sip_server.2.transport_type = 2{/if} +{if $account.{$row.line_number}.sip_transport == 'dns srv'}account.{$row.line_number}.sip_server.2.transport_type = 3{/if} + +account.{$row.line_number}.sip_server.2.expires = {$account.{$row.line_number}.register_expires} +account.{$row.line_number}.sip_server.2.retry_counts = 3 +account.{$row.line_number}.sip_server.2.failback_mode = 0 +account.{$row.line_number}.sip_server.2.failback_timeout = 3600 +account.{$row.line_number}.sip_server.2.register_on_enable = 0 + +account.{$row.line_number}.dns_cache_type = 1 +account.{$row.line_number}.dns_cache_a.1.name = +account.{$row.line_number}.dns_cache_a.1.ip = +account.{$row.line_number}.dns_cache_a.1.ttl = 300 +account.{$row.line_number}.dns_cache_srv.1.name = +account.{$row.line_number}.dns_cache_srv.1.port = 0 +account.{$row.line_number}.dns_cache_srv.1.priority = 0 +account.{$row.line_number}.dns_cache_srv.1.target = +account.{$row.line_number}.dns_cache_srv.1.weight = 0 +account.{$row.line_number}.dns_cache_srv.1.ttl = 300 +account.{$row.line_number}.dns_cache_naptr.1.name = +account.{$row.line_number}.dns_cache_naptr.1.flags = +account.{$row.line_number}.dns_cache_naptr.1.order = 0 +account.{$row.line_number}.dns_cache_naptr.1.preference = 0 +account.{$row.line_number}.dns_cache_naptr.1.replace = +account.{$row.line_number}.dns_cache_naptr.1.service = +account.{$row.line_number}.dns_cache_naptr.1.ttl = 300 + +account.{$row.line_number}.static_cache_pri = 0 + +####################################################################################### +## Register Advanced ## +####################################################################################### +## ranges from 1 to 12 + +#Configure the SIP server type 0-Default (default), 2-BroadSoft, 4-Cosmocom +account.{$row.line_number}.sip_server_type = +#Enable or disable the phone to send the account log-off message first and then send account register message when rebooting the phone 0-Disabled (default), 1-Enabled +account.{$row.line_number}.unregister_on_reboot = + +#Enable or disable the phone to only accept the message from the server 0-Disabled (default), 1-Enabled +account.{$row.line_number}.sip_trust_ctrl = 1 + +#Configure the timeout (in seconds) for DNS query, the value ranges from 1 to 9, the default value is 8. +account.{$row.line_number}.dns_query_timeout= + +#Enable or disable the timer to periodically refresh the DNS-SRV query result 0-Disabled (default), 1-Enabled +account.{$row.line_number}.srv_ttl_timer_enable = +account.{$row.line_number}.proxy_require = + + +#Enable or disable the phone to send the MAC address and line number in the Register message 0-Disabled (default), 1-Enabled +account.{$row.line_number}.register_mac = +account.{$row.line_number}.register_line = + +#Configure the interval (in seconds) the phone retries to register when account1 fails to register. It ranges from 0 to 1800, the default value is 30. +account.{$row.line_number}.reg_fail_retry_interval = + +######################################################################### +## NAT Settings ## +######################################################################### + +#Enable or disable the NAT traversal 0-Disabled (default), 1-STUN +account.{$row.line_number}.nat.nat_traversal = {if isset($stun_server)}1{else}0{/if} + +#Configure the STUN server address. +account.{$row.line_number}.nat.stun_server = {$stun_server} + +#Configure the STUN server port, the default value is 3478. +account.{$row.line_number}.nat.stun_port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + +#Enable or disable the NAT keep-alive 0-Disabled, 1-Default (default), 2-Option, 3-Notify +account.{$row.line_number}.nat.udp_update_enable = 3 + +#Specify the keep-alive interval (in seconds), the default value is 30. +account.{$row.line_number}.nat.udp_update_time = 30 + +#Enable or disable the NAT Rport 0-Disabled (default), 1-Enabled +account.{$row.line_number}.nat.rport = {$yealink_rport} + +####################################################################################### +## Account {$row.line_number} Advance Settings ## +####################################################################################### +## ranges from 1 to 12 + +#Configure the session timer (in seconds), the default value of T1, T2, T3 is 0.5, 4, 5. +account.{$row.line_number}.advanced.timer_t1 = +account.{$row.line_number}.advanced.timer_t2 = +account.{$row.line_number}.advanced.timer_t4 = + +voice_mail.number.{$row.line_number} = {$voicemail_number} + +####################################################################################### +## Subscribe ## +####################################################################################### +## ranges from 1 to 12 + +account.{$row.line_number}.subscribe_mwi = 1 +account.{$row.line_number}.subscribe_mwi_expires = 3600 + +#Enable or disable the phone to subscribe to the voicemail through the message waiting indicator 0-Disabled (default), 1-Enabled +account.{$row.line_number}.subscribe_mwi_to_vm = {$yealink_subscribe_mwi_to_vm} +account.{$row.line_number}.subscribe_acd_expires= 3600 + +####################################################################################### +## BLF List ## +####################################################################################### +## ranges from 1 to 12 + +#Configure the BLF list URI (a SIP URI, or use part of the SIP URI). For example, "2300_blflist@domain.com" or "2300_blflist". +account.{$row.line_number}.blf.blf_list_uri = +account.{$row.line_number}.blf_list_code = +account.{$row.line_number}.blf_list_barge_in_code = +account.{$row.line_number}.blf.subscribe_period = 1800 +account.{$row.line_number}.blf.subscribe_event = +account.{$row.line_number}.out_dialog_blf_enable = 0 + +####################################################################################### +## BLA/SCA ## +####################################################################################### +## ranges from 1 to 12 + +#Assign account1 as shared line 0-Disabled (default), 1-Broadsoft SCA, 2-BLA +{if isset($account.{$row.line_number}.shared_line) } +account.{$row.line_number}.shared_line = {$account.{$row.line_number}.shared_line} +{else} +account.{$row.line_number}.shared_line = 0 +{/if} + +#Configure BLA number for account1 and the subscribe period (in seconds). It ranges from 60 to 7200, the default value is 300. +account.{$row.line_number}.bla_number = +account.{$row.line_number}.bla_subscribe_period = 300 + +####################################################################################### +## Audio Codec ## +####################################################################################### +#Audio codecs for account1 (Y ranges from 1 to 11). + +account.{$row.line_number}.codec.1.enable = {if isset($yealink_codec_pcmu_enable)}1{else}0{/if} +account.{$row.line_number}.codec.1.payload_type = PCMU +account.{$row.line_number}.codec.1.priority = {if isset($yealink_codec_pcmu_priority)}{$yealink_codec_pcmu_priority}{else}0{/if} +account.{$row.line_number}.codec.1.rtpmap = 0 + +account.{$row.line_number}.codec.2.enable = {if isset($yealink_codec_pcma_enable)}1{else}0{/if} +account.{$row.line_number}.codec.2.payload_type = PCMA +account.{$row.line_number}.codec.2.priority = {if isset($yealink_codec_pcma_priority)}{$yealink_codec_pcma_priority}{else}0{/if} +account.{$row.line_number}.codec.2.rtpmap = 8 + +account.{$row.line_number}.codec.3.enable = {if isset($yealink_codec_g723_53_enable)}1{else}0{/if} +account.{$row.line_number}.codec.3.payload_type = G723_53 +account.{$row.line_number}.codec.3.priority ={if isset($yealink_codec_g723_53_priority)}{$yealink_codec_g723_53_priority}{else}0{/if} +account.{$row.line_number}.codec.3.rtpmap = 4 + +account.{$row.line_number}.codec.4.enable = {if isset($yealink_codec_g723_63_enable)}1{else}0{/if} +account.{$row.line_number}.codec.4.payload_type = G723_63 +account.{$row.line_number}.codec.4.priority = {if isset($yealink_codec_g723_63_priority)}{$yealink_codec_g723_63_priority}{else}0{/if} +account.{$row.line_number}.codec.4.rtpmap = 4 + +account.{$row.line_number}.codec.5.enable = {if isset($yealink_codec_g729_enable)}1{else}0{/if} +account.{$row.line_number}.codec.5.payload_type = G729 +account.{$row.line_number}.codec.5.priority = {if isset($yealink_codec_g729_priority)}{$yealink_codec_g729_priority}{else}0{/if} +account.{$row.line_number}.codec.5.rtpmap = 18 + +account.{$row.line_number}.codec.6.enable = {if isset($yealink_codec_g722_enable)}1{else}0{/if} +account.{$row.line_number}.codec.6.payload_type = G722 +account.{$row.line_number}.codec.6.priority = {if isset($yealink_codec_g722_priority)}{$yealink_codec_g722_priority}{else}0{/if} +account.{$row.line_number}.codec.6.rtpmap = 9 + +account.{$row.line_number}.codec.7.enable = {if isset($yealink_codec_iLBC_enable)}1{else}0{/if} +account.{$row.line_number}.codec.7.payload_type = iLBC +account.{$row.line_number}.codec.7.priority = {if isset($yealink_codec_iLBC_priority)}{$yealink_codec_iLBC_priority}{else}0{/if} +account.{$row.line_number}.codec.7.rtpmap = 106 + +account.{$row.line_number}.codec.8.enable = {if isset($yealink_codec_g726_16_enable)}1{else}0{/if} +account.{$row.line_number}.codec.8.payload_type = G726-16 +account.{$row.line_number}.codec.8.priority = {if isset($yealink_codec_g726_16_priority)}{$yealink_codec_g726_16_priority}{else}0{/if} +account.{$row.line_number}.codec.8.rtpmap = 103 + +account.{$row.line_number}.codec.9.enable = {if isset($yealink_codec_g726_24_enable)}1{else}0{/if} +account.{$row.line_number}.codec.9.payload_type = G726-24 +account.{$row.line_number}.codec.9.priority = {if isset($yealink_codec_g726_24_priority)}{$yealink_codec_g726_24_priority}{else}0{/if} +account.{$row.line_number}.codec.9.rtpmap = 104 + +account.{$row.line_number}.codec.10.enable = {if isset($yealink_codec_g726_32_enable)}1{else}0{/if} +account.{$row.line_number}.codec.10.payload_type = G726-32 +account.{$row.line_number}.codec.10.priority = {if isset($yealink_codec_g726_32_priority)}{$yealink_codec_g726_32_priority}{else}0{/if} +account.{$row.line_number}.codec.10.rtpmap = 102 + +account.{$row.line_number}.codec.11.enable = {if isset($yealink_codec_g726_40_enable)}1{else}0{/if} +account.{$row.line_number}.codec.11.payload_type = G726-40 +account.{$row.line_number}.codec.11.priority = {if isset($yealink_codec_g726_40_priority)}{$yealink_codec_g726_40_priority}{else}0{/if} +account.{$row.line_number}.codec.11.rtpmap = 105 + +account.{$row.line_number}.codec.12.enable = {if isset($yealink_codec_gsm_enable)}1{else}0{/if} +account.{$row.line_number}.codec.12.payload_type = GSM +account.{$row.line_number}.codec.12.priority = {if isset($yealink_codec_gsm_priority)}{$yealink_codec_gsm_priority}{else}0{/if} +account.{$row.line_number}.codec.12.rtpmap = 3 + +{if {$row.line_number} <= 3 } +account.{$row.line_number}.codec.13.enable = {if isset($yealink_codec_opus_enable)}1{else}0{/if} +account.{$row.line_number}.codec.13.payload_type = opus +account.{$row.line_number}.codec.13.priority = {if isset($yealink_codec_opus_priority)}{$yealink_codec_opus_priority}{else}0{/if} +account.{$row.line_number}.codec.13.rtpmap = 106 +{/if} + +####################################################################################### +## Audio Advanced ## +####################################################################################### +#Specify whether to encrypt the SIP messages 0-Disabled (default), 1-Forced, 2-Negotiated +account.{$row.line_number}.srtp_encryption = {$yealink_srtp_encryption} + +#Configure the RTP packet time. The valid values are 0 (Disabled), 10, 20 (default), 30, 40, 50, 60. +account.{$row.line_number}.ptime = + +####################################################################################### +## Anonymous Call ## +####################################################################################### +account.{$row.line_number}.anonymous_call = 0 +account.{$row.line_number}.anonymous_call_oncode = +account.{$row.line_number}.anonymous_call_offcode = +account.{$row.line_number}.reject_anonymous_call = +account.{$row.line_number}.anonymous_reject_oncode = +account.{$row.line_number}.anonymous_reject_offcode = + +####################################################################################### +## Pickup Code ## +####################################################################################### +account.{$row.line_number}.dialoginfo_callpickup = 0 + +#Configure the directed and group pickup codes for account 1, the settings on a per-account basis take precedence over the settings on the phone. +account.{$row.line_number}.group_pickup_code = +account.{$row.line_number}.direct_pickup_code = + +####################################################################################### +## DTMF ## +####################################################################################### +#Configure the DTMF type 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO +account.{$row.line_number}.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.{$row.line_number}.dtmf.info_type = + +#Configure the RFC2833 payload. It ranges from 96 to 255, the default value is 101. +account.{$row.line_number}.dtmf.dtmf_payload = + +####################################################################################### +## Alert info ## +####################################################################################### +#Enable or disable to use the Distinctive Ring Tones 0-Disabled , 1-Enabled(default) +account.{$row.line_number}.alert_info_url_enable = + +#Assign a ringtone for account1. The system ring tones are: common (default), Ring1.wav - Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: account.{$row.line_number}.ringtone.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: account.{$row.line_number}.ringtone.ring_type = Resource:Ring2.wav +account.{$row.line_number}.ringtone.ring_type = +account.{$row.line_number}.picture_info_enable = 1 + +####################################################################################### +## Conference ## +####################################################################################### +#Configure the conference type 0-Local (default), 2-Network Conference +account.{$row.line_number}.conf_type = + +#Configure the conference URI (a SIP URI, or use part of the SIP URI). For example, "conference@domain.com" or "conference". +account.{$row.line_number}.conf_uri = + +####################################################################################### +## cid_source ## +####################################################################################### +#Configure 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 +account.{$row.line_number}.cid_source = {$yealink_cid_source} + +account.{$row.line_number}.cid_source_privacy = 1 +account.{$row.line_number}.cid_source_ppi = 1 + +#Configure the presentation of the callee ID 0-PAI-PRID, 1-DIALED DIGITS (default), 2-RFC4916 +account.{$row.line_number}.cp_source = 2 + +####################################################################################### +## Session Timer ## +####################################################################################### +#Enable or disable the session timer, 0-Disabled (default), 1-Enabled +account.{$row.line_number}.session_timer.enable = {$yealink_session_timer} + +#Configure the refresh session timer interval (in seconds). It ranges from 1 to 9999. +account.{$row.line_number}.session_timer.expires = + +#Configure the session timer refresher 0-Uac (default), 1-Uas +account.{$row.line_number}.session_timer.refresher = + +####################################################################################### +## Music on Hold ## +####################################################################################### +#Configure the type of Music on Hold 0-Send the INVITE request to Music on Hold Server then hold the call 1-Hold the call then send the INVITE request to Music on Hold Server +#Require reboot +account.{$row.line_number}.music_on_hold_type = +account.{$row.line_number}.music_server_uri = + +####################################################################################### +## Advanced ## +####################################################################################### +#Enable or disable the auto answer feature 0-Disabled (default), 1-Enabled +account.{$row.line_number}.auto_answer = + +#Enable or disable the phone to record the missed call 0-Disabled, 1-Enabled (default) +account.{$row.line_number}.missed_calllog = + +#Enable or disable the 100 reliable retransmission 0-Disabled (default), 1-Enabled +account.{$row.line_number}.100rel_enable = {$yealink_retransmission} + +#Enable or disable the "user=phone" 0-Disabled (default), 1-Enabled +account.{$row.line_number}.enable_user_equal_phone = + +#Enable or disable the simplified header field feature 0-Disabled, 1-Enabled (default) +account.{$row.line_number}.compact_header_enable = + +####################################################################################### +## DND ## +####################################################################################### +account.{$row.line_number}.dnd.enable = +account.{$row.line_number}.dnd.on_code = +account.{$row.line_number}.dnd.off_code = + +####################################################################################### +## Call Forward ## +####################################################################################### + +account.{$row.line_number}.always_fwd.enable = +account.{$row.line_number}.always_fwd.target = +account.{$row.line_number}.always_fwd.off_code = +account.{$row.line_number}.always_fwd.on_code = +account.{$row.line_number}.busy_fwd.enable = +account.{$row.line_number}.busy_fwd.target = +account.{$row.line_number}.busy_fwd.off_code = +account.{$row.line_number}.busy_fwd.on_code = + +#Enable or disable the no answer forward feature for account1 0-Disabled (default), 1-Enabled +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +account.{$row.line_number}.timeout_fwd.enable = +account.{$row.line_number}.timeout_fwd.target = +account.{$row.line_number}.timeout_fwd.timeout = +account.{$row.line_number}.timeout_fwd.off_code = +account.{$row.line_number}.timeout_fwd.on_code = + +####################################################################################### +## Broadsoft Hoteling ## +####################################################################################### +account.{$row.line_number}.hoteling.enable = 0 +account.{$row.line_number}.hoteling.user_id = 0 +account.{$row.line_number}.hoteling.password = 0 +account.{$row.line_number}.hoteling.auto_login_enable = 0 + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +account.{$row.line_number}.acd.enable = 0 +account.{$row.line_number}.acd.unavailable_reason_enable = 0 +account.{$row.line_number}.acd.available = 0 +account.{$row.line_number}.acd.initial_state = 1 + +####################################################################################### +## Broadsoft ACD Call Center ## +####################################################################################### +#Configure the ACD reason code of Broadsoft.(The valus of Y must be consecutive numbers.) +#account.{$row.line_number}.bw_acd_reason_code.Y = 500(lunch time) +account.{$row.line_number}.bw_acd_reason_code.1 = +account.{$row.line_number}.reason_code.1 = +account.{$row.line_number}.reason_code_name.1 = 0 +account.{$row.line_number}.bw_disp_code.1 = +account.{$row.line_number}.bw_disp_code_name.1 = +account.{$row.line_number}.supervisor_info_code.1 = +account.{$row.line_number}.supervisor_info_code_name.1 = + +####################################################################################### +## Broadsoft Call Center ## +####################################################################################### +account.{$row.line_number}.call_center.call_info_enable = 0 +account.{$row.line_number}.call_center.show_call_info_time = 30 +account.{$row.line_number}.call_center.disp_code_enable = 0 +account.{$row.line_number}.call_center.trace_enable = 0 +account.{$row.line_number}.call_center.emergency_enable = 0 +account.{$row.line_number}.call_center.queue_status_enable = 0 +account.{$row.line_number}.call_center.queue_status_light_enable = 0 + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +account.{$row.line_number}.xsi.user = +account.{$row.line_number}.xsi.password = +account.{$row.line_number}.xsi.host = +account.{$row.line_number}.xsi.server_type = +account.{$row.line_number}.xsi.port = +{/foreach} + +####################################################################################### +## Line Key ## +####################################################################################### + +#The x of the parameter "linekey.x.line" ranges from 1 to 6. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. Meet-Me Conference "1" or BLF "16" require pick_value. + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} +{/foreach} + +{foreach $keys["memory"] as $row} +#Expansion Memory Key {$row.device_key_id} +memorykey.{$row.device_key_id}.type = {$row.device_key_type} +memorykey.{$row.device_key_id}.line = {$row.device_key_line} +memorykey.{$row.device_key_id}.value = {$row.device_key_value} +memorykey.{$row.device_key_id}.extension = {$row.device_key_extension} +memorykey.{$row.device_key_id}.label = {$row.device_key_label} +memorykey.{$row.device_key_id}.xml_phonebook = +memorykey.{$row.device_key_id}.sub_type = +{/foreach} + +########################################################################################## +## Expansion Module 1 ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. + +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 2 ## +########################################################################################## + +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 3 ## +########################################################################################## + +{foreach $keys["expansion-3"] as $row} +expansion_module.3.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.3.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.3.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.3.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.3.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.3.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 4 ## +########################################################################################## + +{foreach $keys["expansion-4"] as $row} +expansion_module.4.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.4.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.4.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.4.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.4.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.4.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 5 ## +########################################################################################## + +{foreach $keys["expansion-5"] as $row} +expansion_module.5.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.5.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.5.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.5.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.5.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.5.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 6 ## +########################################################################################## + +{foreach $keys["expansion-6"] as $row} +expansion_module.6.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.6.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.6.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.6.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.6.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.6.key.{$row.device_key_id}.xml_phonebook = +{/foreach} diff --git a/resources/templates/provision/yealink/t32g/y000000000032.cfg b/resources/templates/provision/yealink/t32g/y000000000032.cfg index 6c1e42e8c2..383557dd2d 100644 --- a/resources/templates/provision/yealink/t32g/y000000000032.cfg +++ b/resources/templates/provision/yealink/t32g/y000000000032.cfg @@ -716,7 +716,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1256,7 +1256,7 @@ server_certificates.delete = ## Local Contact/DST Time/Dialnow Rule/Replace Rule ## ####################################################################################### local_contact.data.url = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_dialnow.url = dialplan_replace_rule.url = diff --git a/resources/templates/provision/yealink/t38g/y000000000038.cfg b/resources/templates/provision/yealink/t38g/y000000000038.cfg index 52e93c203b..da0d703da3 100644 --- a/resources/templates/provision/yealink/t38g/y000000000038.cfg +++ b/resources/templates/provision/yealink/t38g/y000000000038.cfg @@ -716,7 +716,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1259,7 +1259,7 @@ server_certificates.delete = ## Local Contact/DST Time/Dialnow Rule/Replace Rule ## ####################################################################################### local_contact.data.url = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_dialnow.url = dialplan_replace_rule.url = diff --git a/resources/templates/provision/yealink/t40g/y000000000076.cfg b/resources/templates/provision/yealink/t40g/y000000000076.cfg index 5458d9d639..d97c2c17dc 100644 --- a/resources/templates/provision/yealink/t40g/y000000000076.cfg +++ b/resources/templates/provision/yealink/t40g/y000000000076.cfg @@ -466,7 +466,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -733,6 +733,7 @@ features.fwd_diversion_enable = ####################################################################################### #Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. features.dnd_mode = +features.dnd.allow = {$yealink_dnd_allow} features.dnd.on_code = *78 features.dnd.off_code = *79 features.dnd.emergency_enable = 1 @@ -1583,7 +1584,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t40p/y000000000054.cfg b/resources/templates/provision/yealink/t40p/y000000000054.cfg index ab23eb4adf..468ad62189 100644 --- a/resources/templates/provision/yealink/t40p/y000000000054.cfg +++ b/resources/templates/provision/yealink/t40p/y000000000054.cfg @@ -466,7 +466,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1565,7 +1565,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t41p/y000000000036.cfg b/resources/templates/provision/yealink/t41p/y000000000036.cfg index ff575187eb..9a6f03b6cf 100644 --- a/resources/templates/provision/yealink/t41p/y000000000036.cfg +++ b/resources/templates/provision/yealink/t41p/y000000000036.cfg @@ -466,7 +466,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1583,7 +1583,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t41s/y000000000068.cfg b/resources/templates/provision/yealink/t41s/y000000000068.cfg index ad51fb962f..d25710239b 100644 --- a/resources/templates/provision/yealink/t41s/y000000000068.cfg +++ b/resources/templates/provision/yealink/t41s/y000000000068.cfg @@ -336,18 +336,19 @@ wui.quick_login = ####################################################################################### static.phone_setting.reserve_certs_enable = features.relog_offtime = -static.security.default_ssl_method = +static.security.default_ssl_method = {$yealink_security_default_ssl_method} static.security.cn_validation = static.security.dev_cert = static.security.ca_cert = static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + static.security.user_password = {$var_name}:{$var_password} static.security.user_password = {$admin_name}:{$admin_password} static.security.user_password = {$user_name}:{$user_password} static.security.user_name.var = {$var_name} static.security.user_name.admin = {$admin_name} static.security.user_name.user = {$user_name} -security.tls_cipher_list = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} ####################################################################################### @@ -1206,14 +1207,14 @@ phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_l ## Time&Date ## ####################################################################################### lcl.datetime.date.format = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} local_time.manual_time_enable = local_time.manual_ntp_srv_prior = local_time.time_format = {$yealink_time_format} local_time.date_format = {$yealink_date_format} local_time.dhcp_time = {$yealink_dhcp_time} -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} local_time.dst_time_type = {$yealink_dst_type} local_time.start_time = {$yealink_time_zone_start_time} local_time.end_time = {$yealink_time_zone_end_time} diff --git a/resources/templates/provision/yealink/t42g/y000000000029.cfg b/resources/templates/provision/yealink/t42g/y000000000029.cfg index 1eb5e75039..a3c29dacd2 100644 --- a/resources/templates/provision/yealink/t42g/y000000000029.cfg +++ b/resources/templates/provision/yealink/t42g/y000000000029.cfg @@ -466,7 +466,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1564,7 +1564,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t42s/y000000000067.cfg b/resources/templates/provision/yealink/t42s/y000000000067.cfg index 2834b6b2de..d708d44d73 100644 --- a/resources/templates/provision/yealink/t42s/y000000000067.cfg +++ b/resources/templates/provision/yealink/t42s/y000000000067.cfg @@ -53,17 +53,18 @@ static.wifi.show_scan_prompt = ####################################################################################### ## Network Internet ## ####################################################################################### -static.network.ip_address_mode = +static.network.ip_address_mode = {$yealink_ip_address_mode} static.network.span_to_pc_port = static.network.vlan.pc_port_mode = static.network.static_dns_enable = static.network.pc_port.enable = -static.network.primary_dns = {$dns_server_primary} -static.network.secondary_dns = {$dns_server_secondary} static.network.internet_port.gateway = static.network.internet_port.mask = static.network.internet_port.ip = static.network.internet_port.type = +{if isset($dns_server_primary)}network.primary_dns = {$dns_server_primary}{/if} + +{if isset($dns_server_secondary)}network.secondary_dns = {$dns_server_secondary}{/if} ####################################################################################### @@ -89,7 +90,7 @@ static.network.internet_port.speed_duplex = ####################################################################################### ## Network LLDP ## ####################################################################################### -static.network.lldp.enable = +static.network.lldp.enable = {$yealink_lldp_enable} static.network.lldp.packet_interval = @@ -336,18 +337,19 @@ wui.quick_login = ####################################################################################### static.phone_setting.reserve_certs_enable = features.relog_offtime = -static.security.default_ssl_method = +static.security.default_ssl_method = {$yealink_security_default_ssl_method} static.security.cn_validation = static.security.dev_cert = static.security.ca_cert = static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + static.security.user_password = {$var_name}:{$var_password} static.security.user_password = {$admin_name}:{$admin_password} static.security.user_password = {$user_name}:{$user_password} static.security.user_name.var = {$var_name} static.security.user_name.admin = {$admin_name} static.security.user_name.user = {$user_name} -security.tls_cipher_list = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} ####################################################################################### @@ -1204,14 +1206,14 @@ phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_l ## Time&Date ## ####################################################################################### lcl.datetime.date.format = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} local_time.manual_time_enable = local_time.manual_ntp_srv_prior = local_time.time_format = {$yealink_time_format} local_time.date_format = {$yealink_date_format} local_time.dhcp_time = {$yealink_dhcp_time} -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} local_time.dst_time_type = {$yealink_dst_type} local_time.start_time = {$yealink_time_zone_start_time} local_time.end_time = {$yealink_time_zone_end_time} diff --git a/resources/templates/provision/yealink/t42s/{$mac}.cfg b/resources/templates/provision/yealink/t42s/{$mac}.cfg index 5d4c4b88bb..11cd1df6a1 100644 --- a/resources/templates/provision/yealink/t42s/{$mac}.cfg +++ b/resources/templates/provision/yealink/t42s/{$mac}.cfg @@ -1016,39 +1016,6 @@ local_time.time_zone = {$yealink_time_zone} local_time.time_zone_name = {$yealink_time_zone_name} -####################################################################################### -## NETWORK ## -####################################################################################### -##0-ipv4, 1-ipv6, 2-ipv4&ipv6 -network.ip_address_mode = 2 - -network.ipv6_prefix = 64 -network.ipv6_internet_port.type = -network.ipv6_internet_port.ip = -network.ipv6_internet_port.gateway = -network.ipv6_primary_dns = -network.ipv6_secondary_dns = -network.ipv6_icmp_v6.enable = - -#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address; -#Require reboot; -network.internet_port.type = - -#Configure the static IP address, subnet mask, gateway and DNS server; -#Require Reboot; -network.internet_port.ip = -network.internet_port.mask = -network.internet_port.gateway = -{if isset($dns_server_primary)} -network.primary_dns = {$dns_server_primary} -{/if} -{if isset($dns_server_secondary)} -network.secondary_dns = {$dns_server_secondary} -{/if} -{if isset($dns_server_primary)} -network.static_dns_enable = 1 -{else}network.static_dns_enable = 0 -{/if} ####################################################################################### ## Account 3 Basic Settings ## @@ -1526,34 +1493,6 @@ account.3.xsi.host = account.3.xsi.server_type = account.3.xsi.port = - -####################################################################################### -## NETWORK ## -####################################################################################### -##0-ipv4, 1-ipv6, 2-ipv4&ipv6 -network.ip_address_mode = 2 - -network.ipv6_prefix = 64 -network.ipv6_internet_port.type = -network.ipv6_internet_port.ip = -network.ipv6_internet_port.gateway = -network.ipv6_primary_dns = -network.ipv6_secondary_dns = -network.ipv6_icmp_v6.enable = - -#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address; -#Require reboot; -network.internet_port.type = - -#Configure the static IP address, subnet mask, gateway and DNS server; -#Require Reboot; -network.internet_port.ip = -network.internet_port.mask = -network.internet_port.gateway = -{if isset($dns_server_primary)}network.primary_dns = {$dns_server_primary}{/if} - -{if isset($dns_server_secondary)}network.secondary_dns = {$dns_server_secondary}{/if} - ####################################################################################### ## Account 4 Basic Settings ## ####################################################################################### @@ -2025,34 +1964,6 @@ account.4.xsi.host = account.4.xsi.server_type = account.4.xsi.port = - -####################################################################################### -## NETWORK ## -####################################################################################### -##0-ipv4, 1-ipv6, 2-ipv4&ipv6 -network.ip_address_mode = 2 - -network.ipv6_prefix = 64 -network.ipv6_internet_port.type = -network.ipv6_internet_port.ip = -network.ipv6_internet_port.gateway = -network.ipv6_primary_dns = -network.ipv6_secondary_dns = -network.ipv6_icmp_v6.enable = - -#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address; -#Require reboot; -network.internet_port.type = - -#Configure the static IP address, subnet mask, gateway and DNS server; -#Require Reboot; -network.internet_port.ip = -network.internet_port.mask = -network.internet_port.gateway = -{if isset($dns_server_primary)}network.primary_dns = {$dns_server_primary}{/if} - -{if isset($dns_server_secondary)}network.secondary_dns = {$dns_server_secondary}{/if} - ####################################################################################### ## Account 5 Basic Settings ## ####################################################################################### @@ -2524,34 +2435,6 @@ account.5.xsi.host = account.5.xsi.server_type = account.5.xsi.port = - -####################################################################################### -## NETWORK ## -####################################################################################### -##0-ipv4, 1-ipv6, 2-ipv4&ipv6 -network.ip_address_mode = 2 - -network.ipv6_prefix = 64 -network.ipv6_internet_port.type = -network.ipv6_internet_port.ip = -network.ipv6_internet_port.gateway = -network.ipv6_primary_dns = -network.ipv6_secondary_dns = -network.ipv6_icmp_v6.enable = - -#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address; -#Require reboot; -network.internet_port.type = - -#Configure the static IP address, subnet mask, gateway and DNS server; -#Require Reboot; -network.internet_port.ip = -network.internet_port.mask = -network.internet_port.gateway = -{if isset($dns_server_primary)}network.primary_dns = {$dns_server_primary}{/if} - -{if isset($dns_server_secondary)}network.secondary_dns = {$dns_server_secondary}{/if} - ####################################################################################### ## Account 6 Basic Settings ## ####################################################################################### @@ -3023,35 +2906,6 @@ account.6.xsi.server_type = account.6.xsi.port = -####################################################################################### -## NETWORK ## -####################################################################################### -##0-ipv4, 1-ipv6, 2-ipv4&ipv6 -network.ip_address_mode = 2 - -network.ipv6_prefix = 64 -network.ipv6_internet_port.type = -network.ipv6_internet_port.ip = -network.ipv6_internet_port.gateway = -network.ipv6_primary_dns = -network.ipv6_secondary_dns = -network.ipv6_icmp_v6.enable = - -#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address; -#Require reboot; -network.internet_port.type = - -#Configure the static IP address, subnet mask, gateway and DNS server; -#Require Reboot; -network.internet_port.ip = -network.internet_port.mask = -network.internet_port.gateway = -{if isset($dns_server_primary)}network.primary_dns = {$dns_server_primary}{/if} - -{if isset($dns_server_secondary)}network.secondary_dns = {$dns_server_secondary}{/if} - -{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} - ####################################################################################### ## Line Key ## ####################################################################################### diff --git a/resources/templates/provision/yealink/t46g/y000000000028.cfg b/resources/templates/provision/yealink/t46g/y000000000028.cfg index 7b9bb75d18..2a4430c558 100644 --- a/resources/templates/provision/yealink/t46g/y000000000028.cfg +++ b/resources/templates/provision/yealink/t46g/y000000000028.cfg @@ -466,7 +466,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -732,6 +732,7 @@ features.fwd_diversion_enable = ####################################################################################### #Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. features.dnd_mode = +features.dnd.allow = {$yealink_dnd_allow} features.dnd.on_code = *78 features.dnd.off_code = *79 features.dnd.emergency_enable = 1 @@ -1581,7 +1582,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t46s/y000000000066.cfg b/resources/templates/provision/yealink/t46s/y000000000066.cfg index 9c4974b97e..d1652f69b1 100644 --- a/resources/templates/provision/yealink/t46s/y000000000066.cfg +++ b/resources/templates/provision/yealink/t46s/y000000000066.cfg @@ -53,7 +53,7 @@ static.wifi.show_scan_prompt = ####################################################################################### ## Network Internet ## ####################################################################################### -static.network.ip_address_mode = +static.network.ip_address_mode = {$yealink_ip_address_mode} static.network.span_to_pc_port = static.network.vlan.pc_port_mode = static.network.static_dns_enable = @@ -102,7 +102,8 @@ static.network.vlan.vlan_change.enable = static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} -static.network.vlan.pc_port_enable = + +{if isset($yealink_vlan_enable)}static.network.vlan.pc_port_enable = {$yealink_vlan_pc_enable}{else}static.network.vlan.pc_port_enable = 0{/if} static.network.vlan.internet_port_priority = {$yealink_vlan_cos} static.network.vlan.internet_port_vid = {$yealink_vlan_id} @@ -336,18 +337,19 @@ wui.quick_login = ####################################################################################### static.phone_setting.reserve_certs_enable = features.relog_offtime = -static.security.default_ssl_method = +static.security.default_ssl_method = {$yealink_security_default_ssl_method} static.security.cn_validation = static.security.dev_cert = static.security.ca_cert = static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + static.security.user_password = {$var_name}:{$var_password} static.security.user_password = {$admin_name}:{$admin_password} static.security.user_password = {$user_name}:{$user_password} static.security.user_name.var = {$var_name} static.security.user_name.admin = {$admin_name} static.security.user_name.user = {$user_name} -security.tls_cipher_list = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} ####################################################################################### @@ -1002,6 +1004,7 @@ features.forward_call_popup.enable= ####################################################################################### features.dnd.allow= features.dnd_mode= +features.dnd.allow = {$yealink_dnd_allow} features.dnd.enable= features.dnd.off_code = *79 @@ -1205,14 +1208,14 @@ phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_l ## Time&Date ## ####################################################################################### lcl.datetime.date.format = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} local_time.manual_time_enable = local_time.manual_ntp_srv_prior = local_time.time_format = {$yealink_time_format} local_time.date_format = {$yealink_date_format} local_time.dhcp_time = {$yealink_dhcp_time} -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} local_time.dst_time_type = {$yealink_dst_type} local_time.start_time = {$yealink_time_zone_start_time} local_time.end_time = {$yealink_time_zone_end_time} diff --git a/resources/templates/provision/yealink/t48g/y000000000035.cfg b/resources/templates/provision/yealink/t48g/y000000000035.cfg index 50bfcc89cc..2ff25a4395 100644 --- a/resources/templates/provision/yealink/t48g/y000000000035.cfg +++ b/resources/templates/provision/yealink/t48g/y000000000035.cfg @@ -466,7 +466,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1563,7 +1563,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t48s/y000000000065.cfg b/resources/templates/provision/yealink/t48s/y000000000065.cfg index 94ff2c00f4..30a55e4775 100644 --- a/resources/templates/provision/yealink/t48s/y000000000065.cfg +++ b/resources/templates/provision/yealink/t48s/y000000000065.cfg @@ -377,18 +377,19 @@ wui.quick_login = ####################################################################################### static.phone_setting.reserve_certs_enable = features.relog_offtime = -static.security.default_ssl_method = +static.security.default_ssl_method = {$yealink_security_default_ssl_method} static.security.cn_validation = static.security.dev_cert = static.security.ca_cert = static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + static.security.user_password = {$var_name}:{$var_password} static.security.user_password = {$admin_name}:{$admin_password} static.security.user_password = {$user_name}:{$user_password} static.security.user_name.var = {$var_name} static.security.user_name.admin = {$admin_name} static.security.user_name.user = {$user_name} -security.tls_cipher_list = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} ####################################################################################### @@ -1255,14 +1256,14 @@ phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_l ## Time&Date ## ####################################################################################### lcl.datetime.date.format = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} local_time.manual_time_enable = local_time.manual_ntp_srv_prior = local_time.time_format = {$yealink_time_format} local_time.date_format = {$yealink_date_format} local_time.dhcp_time = {$yealink_dhcp_time} -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} local_time.dst_time_type = {$yealink_dst_type} local_time.start_time = {$yealink_time_zone_start_time} local_time.end_time = {$yealink_time_zone_end_time} diff --git a/resources/templates/provision/yealink/t49g/y000000000051.cfg b/resources/templates/provision/yealink/t49g/y000000000051.cfg index 1829c9e556..724e46f934 100644 --- a/resources/templates/provision/yealink/t49g/y000000000051.cfg +++ b/resources/templates/provision/yealink/t49g/y000000000051.cfg @@ -425,7 +425,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = {$yealink_time_update} #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = {$yealink_dst_type} @@ -1523,7 +1523,7 @@ local_contact.data.url = ####################################################################################### ## Auto DST ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### ## Dialplan Now ## diff --git a/resources/templates/provision/yealink/t4x/directory.xml b/resources/templates/provision/yealink/t4x/directory.xml new file mode 100644 index 0000000000..297b9e4108 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/directory.xml @@ -0,0 +1,83 @@ + +{foreach $contacts as $row} +{if $smarty.get.contacts == "users" && $row.category == "users"} + +{if $row.contact_name_given != ""} +{if $row.contact_organization != ""} + {$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.contact_name_given} {$row.contact_name_family} +{/if} +{else} +{$row.effective_caller_id_name} +{/if} +{foreach $row.numbers as $number} +{if $number.phone_number != ""} + {$number.phone_number} +{else} + {$number.phone_extension} +{/if} +{/foreach} + +{elseif $smarty.get.contacts == "groups" && $row.category == "groups"} + +{if $row.contact_name_given != ""} +{if $row.contact_organization != ""} + {$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.contact_name_given} {$row.contact_name_family} +{/if} +{else} + {$row.effective_caller_id_name} +{/if} +{foreach $row.numbers as $number} +{if $number.phone_number != ""} + {$number.phone_number} +{else} + {$number.phone_extension} +{/if} +{/foreach} + +{elseif $smarty.get.contacts == "extensions" && $row.category == "extensions"} + +{if $row.contact_name_given != ""} + {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.effective_caller_id_name} +{/if} +{if $row.phone_number != ""} + {$row.phone_number} +{else} + {$row.phone_extension} +{/if} + +{elseif $smarty.get.contacts == "all"} + +{if $row.contact_name_given != ""} +{if $row.contact_organization != ""} + {$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.contact_name_given} {$row.contact_name_family} +{/if} +{else} + {$row.effective_caller_id_name} +{/if} +{if $row.category == "extensions"} +{if $row.phone_number != ""} + {$row.phone_number} +{else} + {$row.phone_extension} +{/if} +{else} +{foreach $row.numbers as $number} +{if $number.phone_number != ""} + {$number.phone_number} +{else} + {$number.phone_extension} +{/if} +{/foreach} +{/if} + +{/if} +{/foreach} + diff --git a/resources/templates/provision/yealink/t4x/favorite_setting.xml b/resources/templates/provision/yealink/t4x/favorite_setting.xml new file mode 100644 index 0000000000..ba7275358e --- /dev/null +++ b/resources/templates/provision/yealink/t4x/favorite_setting.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/resources/templates/provision/yealink/t4x/y000000000000.boot b/resources/templates/provision/yealink/t4x/y000000000000.boot new file mode 100644 index 0000000000..b140785ac4 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000000.boot @@ -0,0 +1,20 @@ +#!version:1.0.0.1 +## The header above must appear as-is in the first line + +[T40G]include:config "y000000000076.cfg" +[T40P]include:config "y000000000054.cfg" +[T41S]include:config "y000000000068.cfg" +[T41P]include:config "y000000000036.cfg" +[T42U]include:config "y000000000116.cfg" +[T42S]include:config "y000000000067.cfg" +[T42G]include:config "y000000000029.cfg" +[T43U]include:config "y000000000107.cfg" +[T46S]include:config "y000000000066.cfg" +[T46G]include:config "y000000000028.cfg" +[T46U]include:config "y000000000108.cfg" +[T48S]include:config "y000000000065.cfg" +[T48G]include:config "y000000000035.cfg" +[T48U]include:config "y000000000109.cfg" +include:config "{$mac}.cfg" + +overwrite_mode = {$yealink_overwrite_mode} diff --git a/resources/templates/provision/yealink/t4x/y000000000028.cfg b/resources/templates/provision/yealink/t4x/y000000000028.cfg new file mode 100644 index 0000000000..98f22aaefd --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000028.cfg @@ -0,0 +1,1666 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Hostname ## +####################################################################################### +network.dhcp_host_name = + +#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, submask, gateway and DNS server. +#Require reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns = {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +####################################################################################### +## PPPOE ## +####################################################################################### +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + + +####################################################################################### +## Network ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +network.internet_port.speed_duplex = +network.pc_port.speed_duplex = + +network.pc_port.dhcp_server = 1 +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + + +####################################################################################### +## VLAN ## +####################################################################################### +{if isset($yealink_vlan_enable)}network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}network.vlan.internet_port_enable = 0{/if} + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = {$yealink_vlan_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = {$yealink_vlan_cos} + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default); +#Require reboot; +network.vlan.dhcp_enable = + +#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255. +#Multiple options separated by a comma. It supports up to 5 options in all. +#Require reboot; +network.vlan.dhcp_option = + +####################################################################################### +## WEB Port ## +####################################################################################### +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +####################################################################################### +## QOS ## +####################################################################################### +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26. +#Require reboot; +network.qos.signaltos = + +####################################################################################### +## 802.1X ## +####################################################################################### +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2, 4:EAP-TTLS/EAP-MSCHAPv2; +#Require reboot; +network.802_1x.mode = +network.802_1x.identity = +network.802_1x.md5_password = +network.802_1x.root_cert_url = +network.802_1x.client_cert_url = + +####################################################################################### +## VPN ## +####################################################################################### +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +####################################################################################### +## LLDP ## +####################################################################################### +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +#Require reboot; +network.lldp.packet_interval = + +####################################################################################### +## SNMP ## +####################################################################################### +#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.snmp.enable = +network.snmp.port = + +#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space. +#Require reboot; +network.snmp.trust_ip = + +####################################################################################### +## Span to PC ## +####################################################################################### +#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.span_to_pc_port = + +####################################################################################### +## RTP Port ## +####################################################################################### +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +####################################################################################### +## SYSLOG ## +####################################################################################### +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## Redirect ## +####################################################################################### +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +####################################################################################### +## TR069 ## +####################################################################################### +#The TR069 feature is only applicable to some designated firmware version. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = +managementserver.username = +managementserver.password = +managementserver.url = +managementserver.connection_request_username = +managementserver.connection_request_password = +managementserver.periodic_inform_enable = 0 +managementserver.periodic_inform_interval = 60 + +####################################################################################### +## Autop Mode ## +####################################################################################### +#Configure the auto provision mode; +#0-Disabled , 1-Power on (default); +auto_provision.mode = + +####################################################################################### +## Autop PNP ## +####################################################################################### +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +####################################################################################### +## Autop DHCP ## +####################################################################################### +#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +####################################################################################### +## Autop Repeat ## +####################################################################################### +auto_provision.repeat.enable = 0 + +#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440. +#It is only applicable to "Repeatedly". +auto_provision.repeat.minutes = + +####################################################################################### +## Autop Weekly ## +####################################################################################### +auto_provision.weekly.enable = 0 + +#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456. +#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday; +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired week is Monday, Tuesday and Wednesday, the value format is 012. +auto_provision.weekly.mask = + +#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired start time of the day is seven forty-five a.m., the value format is 07:45. +auto_provision.weekly.begin_time = + +#Configure the end time of the day for the phone to check new configuration files. The default time is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired end time of the day is seven forty-five p.m., the value format is 19:45. +auto_provision.weekly.end_time = + +####################################################################################### +## Autop URL ## +####################################################################################### +auto_provision.server.url = {$yealink_provision_url} +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +####################################################################################### +## Autop Aes Key ## +####################################################################################### +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +custom_mac_cfg.url = + +#Configure the value (manufacturer of the device) of DHCP option 60. The default is yealink +auto_provision.dhcp_option.option60_value = + +####################################################################################### +## Autop Code ## +####################################################################################### +#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +autoprovision.X.name = + + +#Configure the auto provisioning code; +#The valid value is a string, the maximum length is 100. +autoprovision.X.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 511. +autoprovision.X.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +autoprovision.X.user = +autoprovision.X.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +autoprovision.X.com_aes = +autoprovision.X.mac_aes = + +####################################################################################### +## Watch Dog ## +####################################################################################### +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +####################################################################################### +## SIP Advanced ## +####################################################################################### +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = {$yealink_rfc2543_hold} + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +#Configures the local SIP port. Integer from 1024 to 65535 +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP; +voice.call_preview_mode= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +####################################################################################### +## Tones ## +####################################################################################### +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +####################################################################################### +## Volume ## +####################################################################################### +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handfree.tone_vol = +voice.handset.spk_vol = +voice.handset.tone_vol = +voice.headset.spk_vol = +voice.headset.tone_vol = +voice.ring_vol= + +####################################################################################### +## WEB HTTP(S) ## +####################################################################################### +wui.https_enable = +wui.http_enable = + +####################################################################################### +## Transfer ## +####################################################################################### +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = + +#Enable or disable the conference initiator to transfer the call when hanging up. +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +####################################################################################### +## Web Language ## +####################################################################################### +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = {$yealink_time_update} + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = {$yealink_dst_type} + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = 0 + +####################################################################################### +## Auto Redial ## +####################################################################################### +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the auto redial times. It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling= + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify= + +####################################################################################### +## Dial Plan ## +####################################################################################### +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by a comma. +#e.g. dialplan.area_code.line_id = 1,2,3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3. +#dialplan.block_out.line_id.X = 1,2,3 +dialplan.block_out.line_id.1 = + +# X ranges from 1 to 100. +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.dialnow.line_id.X = + +# X ranges from 1 to 100. +dialplan.replace.prefix.X = +dialplan.replace.replace.X = +dialplan.replace.line_id.X = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialnow.item.X = Dial-now rule,Line ID +#Dial-now rule: Specify the numbers that need replacing; +#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma; +dialnow.item.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.item.X = Enabled,Prefix,Replaced,LineID +#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; +#Replaced: Specify the alternate numbers; +#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma; +dialplan.item.1 = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.X.url = +#remote_phonebook.data.X.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## Network Directory ## +####################################################################################### +directory.update_time_interval = +directory.incoming_call_match_enable = 1 +bw.directory_enable = 0 + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Features ## +####################################################################################### +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1. +features.auto_answer_delay = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default); +features.allow_mute = + +features.group_listen_in_talking_enable = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +sip.trust_ctrl = {$yealink_trust_ctrl} + +#It enables or disables the IP phone to display the feature name instead of the feature access code when dialing and in talk;(0-Disabled;1-Enabled) +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} + +#Configure the power Indicator LED to turn on or turn off; 0-On (default), 1-Off; +features.power_led_on = 1 + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset, 2- Use Headset& Speaker; +features.ringer_device.is_use_headset = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = 1 + +features.idle_talk_power_led_flash_enable = + +#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled; +features.auto_release_bla_line = + +#It enables or disables the IP phone to display the pop-up message box when it receives a new voice mail. +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} + +#It enables or disables the IP phone to display the pop-up message box when it misses a call. +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} + + +####################################################################################### +## Features FWD ## +####################################################################################### +#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode. +features.fwd_mode = + +#0-Disabled , 1-Enabled (default) +features.fwd_diversion_enable = + +####################################################################################### +## Features DND ## +####################################################################################### +#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. +features.dnd_mode = +features.dnd.on_code = *78 +features.dnd.off_code = *79 +features.dnd.emergency_enable = 1 +features.dnd.emergency_authorized_number = + +####################################################################################### +## Features BLF ## +####################################################################################### +#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1. +features.blf_led_mode = {$yealink_blf_led_mode} + +features.blf_list_version = 0 +features.blf_and_callpark_idle_led_enable = 0 + +####################################################################################### +## Features Intercom ## +####################################################################################### +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.barge = + +####################################################################################### +## Features Hotline ## +####################################################################################### +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4. +features.hotline_number = +features.hotline_delay = + +####################################################################################### +## Features DTMF ## +####################################################################################### +#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled; +features.dtmf.hide = {$yealink_dtmf_hide} + +#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled; +features.dtmf.hide_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #. +features.dtmf.transfer = + +#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled; +features.dtmf.replace_tran = + +####################################################################################### +## Features Audio Settings ## +####################################################################################### +#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled; +features.headset_prior = + +#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled; +features.headset_training = + +features.alert_info_tone = + +#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default). +features.voice_mail_tone_enable = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key; +features.send_pound_key = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default); +features.play_hold_tone.enable = + +#Configure the interval of playing a warning tone. The default value is 30s. +features.play_hold_tone.delay = + +features.redial_tone = + +#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled; +features.partition_tone = + +#Configure the delay time (in milliseconds) before transfering a call. The default value is 0. +features.hold_trans_delay = + +#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); +features.play_local_dtmf_tone_enable = + +####################################################################################### +## Features Remote Phonebook ## +####################################################################################### +#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +####################################################################################### +## Features Action ## +####################################################################################### +#Specific the address(es) or enters 'any' from which Action URI will be accepted. +#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30 +#For continuous IP addresses, the format likes *.*.*.* and the '*' stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255. +#If left blank, the IP phone cannot receive or handle any HTTP GET request. +#If set to 'any', the IP phone accepts and handles HTTP GET requests from any IP address. +features.action_uri_limit_ip = + +features.action_uri_reboot_now = 0 + +####################################################################################### +## Features Prefix ## +####################################################################################### +#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled; +features.password_dial.enable = + +#Configure the prefix numbers displayed before the encrypted digits. +features.password_dial.prefix = + +#Configure the length of encrypted digits. +features.password_dial.length = + +####################################################################################### +## Features History ## +####################################################################################### +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +####################################################################################### +## Features Pickup ## +####################################################################################### +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +####################################################################################### +## Phone Setting ## +####################################################################################### +#Enable or disable the photo display on handset 0 = disable, 1 = enable +phone_setting.contact_photo_display.enable = 0 + +#Enable or disable the called party information display 0 = disable 1 = enable +phone_setting.called_party_info_display.enable = 1 + +#Configure the call information display method 0 = Name + Number, 1 = Number + Name, 2 = Name, 3 = Number, 4 = Full contact info +phone_setting.call_info_display_method = 0 + +#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Resource:Ring2.wav +#phone_setting.ring_type = Resource:Ring1.wav +phone_setting.ring_type = {$yealink_ring_type} +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = +phone_setting.show_code403 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Configure the emergency number, each separated by a comma. The default value is 112,911,110. +phone_setting.emergency.number = {$yealink_emergency_number} + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.page_tip = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = {$yealink_predial_autodial} + +#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.headsetkey_mode = + +#Enable or disabled mail power led flash. 0-Disabled, 1-Enabled. +phone_setting.mail_power_led_flash_enable = 1 + +#It enables or disables the power indicator LED to flash when the IP phone misses a call. +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + +####################################################################################### +## Phone Setting UI ## +####################################################################################### +#Configure the active backlight level. It ranges from 1 to 3, the default value is 2. +#The same level for different phones may result in different backlight intensities. +phone_setting.active_backlight_level = +phone_setting.inactive_backlight_level = 1 + +####################################################################################### +## Phone Setting BLF ## +####################################################################################### +phone_setting.blf_list_enable = 1 +phone_setting.auto_blf_list_enable = 1 + +#Specify the prior of the line keys and EXP keys when automatically configure the blf list 0-Configure the line keys first, 1-Configure the EXP keys first; +phone_setting.blf_list_sequence_type = + +####################################################################################### +## Key Lock ## +####################################################################################### + +#Configure the keypad lock type; 0-Disabled (default), 1-Enable +phone_setting.lock = {$yealink_lock_enable} + +#Configure the unlock password for the phone. The default value is 123. +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} + +#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0. +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + +#Configure the keypad lock type;0-All Keys(default), 1-Function Key, 2-Menu Key +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} + +#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s. +phone_setting.backlight_time = {$yealink_backlight_time} + +####################################################################################### +## Wallpaper ## +####################################################################################### +wallpaper_upload.url = {$yealink_t46g_wallpaper} +{if isset($yealink_t46g_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t46g_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t46g_wallpaper.png +{/if} + +####################################################################################### +## Multicast ## +####################################################################################### +#Configure the codec of multicast paging. +multicast.codec = + +#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default); +#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority. +multicast.receive_priority.enable = + +#Configure the priority of multicast paging calls. It ranges from 0 to 10. +multicast.receive_priority.priority = + +#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10. +multicast.listen_address.X.label = + +#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10. +multicast.listen_address.X.ip_address = + +####################################################################################### +## Super Search ## +####################################################################################### +super_search.recent_call = 1 + +####################################################################################### +## Broadsoft Phonebook ## +####################################################################################### +bw_phonebook.group_enable = 1 +bw_phonebook.personal_enable = 1 +bw_phonebook.group_common_enable = 0 +bw_phonebook.group_common_displayname = +bw_phonebook.enterprise_enable = 0 +bw_phonebook.enterprise_common_enable = 0 +bw_phonebook.enterprise_common_displayname = +bw_phonebook.call_log_enable = 1 +bw_phonebook.server_search_enable = 1 +bw_phonebook.group_displayname = +bw_phonebook.enterprise_displayname = +bw_phonebook.common_displayname = +bw_phonebook.personal_displayname = + +####################################################################################### +## Broadsoft ## +####################################################################################### +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Security ## +####################################################################################### +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1. +#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd. + +#The following examples change the user's username to "user23" and the user's password to "user23pwd". +#security.user_name.user = user23 +#security.user_password = user23:user23pwd +#The following examples change the var's username to "var55" and the var's password to "var55pwd". +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Linekey ## +####################################################################################### +#The x of the parameter "linekey.x.line" ranges from 1 to 27. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.extension = +linekey.1.type = +linekey.1.label = +linekey.1.xml_phonebook = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.extension = +linekey.2.type = +linekey.2.label = +linekey.2.xml_phonebook = + +linekey.3.line = +linekey.3.value = +linekey.3.extension = +linekey.3.type = +linekey.3.label = +linekey.3.xml_phonebook = + +linekey.4.line = +linekey.4.value = +linekey.4.extension = +linekey.4.type = +linekey.4.label = +linekey.4.xml_phonebook = + +linekey.5.line = +linekey.5.value = +linekey.5.extension = +linekey.5.type = +linekey.5.label = +linekey.5.xml_phonebook = + +linekey.6.line = +linekey.6.value = +linekey.6.extension = +linekey.6.type = +linekey.6.label = +linekey.6.xml_phonebook = + +linekey.7.line = +linekey.7.value = +linekey.7.extension = +linekey.7.type = +linekey.7.label = +linekey.7.xml_phonebook = + +linekey.8.line = +linekey.8.value = +linekey.8.extension = +linekey.8.type = +linekey.8.label = +linekey.8.xml_phonebook = + +linekey.9.line = +linekey.9.value = +linekey.9.extension = +linekey.9.type = +linekey.9.label = +linekey.9.xml_phonebook = + +linekey.10.line = +linekey.10.value = +linekey.10.extension = +linekey.10.type = +linekey.10.label = +linekey.10.xml_phonebook = + +linekey.11.line = +linekey.11.value = +linekey.11.extension = +linekey.11.type = +linekey.11.label = +linekey.11.xml_phonebook = + +linekey.12.line = +linekey.12.value = +linekey.12.extension = +linekey.12.type = +linekey.12.label = +linekey.12.xml_phonebook = + +linekey.13.line = +linekey.13.value = +linekey.13.extension = +linekey.13.type = +linekey.13.label = +linekey.13.xml_phonebook = + +linekey.14.line = +linekey.14.value = +linekey.14.extension = +linekey.14.type = +linekey.14.label = +linekey.14.xml_phonebook = + +linekey.15.line = +linekey.15.value = +linekey.15.extension = +linekey.15.type = +linekey.15.xml_phonebook = +linekey.15.label = + +linekey.16.line = +linekey.16.value = +linekey.16.extension = +linekey.16.type = +linekey.16.xml_phonebook = +linekey.16.label = + +linekey.17.line = +linekey.17.value = +linekey.17.extension = +linekey.17.type = +linekey.17.xml_phonebook = +linekey.17.label = + +linekey.18.line = +linekey.18.value = +linekey.18.extension = +linekey.18.type = +linekey.18.xml_phonebook = +linekey.18.label = + +linekey.19.line = +linekey.19.value = +linekey.19.extension = +linekey.19.type = +linekey.19.xml_phonebook = +linekey.19.label = + +linekey.20.line = +linekey.20.value = +linekey.20.extension = +linekey.20.type = +linekey.20.xml_phonebook = +linekey.20.label = + +linekey.21.line = +linekey.21.value = +linekey.21.extension = +linekey.21.type = +linekey.21.xml_phonebook = +linekey.21.label = + +linekey.22.line = +linekey.22.value = +linekey.22.extension = +linekey.22.type = +linekey.22.xml_phonebook = +linekey.22.label = + +linekey.23.line = +linekey.23.value = +linekey.23.extension = +linekey.23.type = +linekey.23.xml_phonebook = +linekey.23.label = + +linekey.24.line = +linekey.24.value = +linekey.24.extension = +linekey.24.type = +linekey.24.xml_phonebook = +linekey.24.label = + +linekey.25.line = +linekey.25.value = +linekey.25.extension = +linekey.25.type = +linekey.25.xml_phonebook = +linekey.25.label = + +linekey.26.line = +linekey.26.value = +linekey.26.extension = +linekey.26.type = +linekey.26.xml_phonebook = +linekey.26.label = + +linekey.27.line = +linekey.27.value = +linekey.27.extension = +linekey.27.type = +linekey.27.xml_phonebook = +linekey.27.label = +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + +####################################################################################### +## Programmable key ## +####################################################################################### +#X ranges from 1 to 13. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Direct Pickup 13-Spead Dial +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 31-Switch Account 32-New SMS +#33-Status 40-PTT 43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 50-Keypad Lock +#PTT-add a specified prefix number before the dialed number. +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +########################################################################################## +## Expansion Key ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = +#expansion_module.X.key.Y.xml_phonebook = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Forward Always ## +####################################################################################### +#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled; +forward.always.enable = +forward.always.target = +forward.always.on_code = +forward.always.off_code = + +####################################################################################### +## Forward Busy ## +####################################################################################### +#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled; +forward.busy.enable = +forward.busy.target = +forward.busy.on_code = +forward.busy.off_code = + +####################################################################################### +## Forward No Answer ## +####################################################################################### +#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +forward.no_answer.enable = +forward.no_answer.target = +forward.no_answer.timeout = +forward.no_answer.on_code = +forward.no_answer.off_code = + +####################################################################################### +## Forward International ## +####################################################################################### +#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled; +forward.international.enable = + +####################################################################################### +## ACD ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = +acd.bw = + +####################################################################################### +## Hotdesking Startup ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 1 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 0 (default) +#hotdesking.startup_sip_server_enable = 0 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +####################################################################################### +## Hotdesking Dsskey ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 1 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 0 (default) +#hotdesking.dsskey_sip_server_enable = 0 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Alert Info ## +####################################################################################### +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Call Waiting ## +####################################################################################### +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +call_waiting.on_code = +call_waiting.off_code = + +####################################################################################### +## Call Park ## +####################################################################################### +call_park.enable = 0 +call_park.group_enable = 0 +call_park.park_ring = +call_park.park_visual_notify_enable = + +####################################################################################### +## Action URL ## +####################################################################################### +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.ip_change = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Ringtone ## +####################################################################################### +#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## UI Language ## +####################################################################################### +#Before using this parameter, you should store the desired language pack to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +gui_lang.url = + +#gui_lang.delete = http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +####################################################################################### +## Server Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Contact ## +####################################################################################### +#Before using these parameters, you should store the desired resource files to the provisioning server. +#For more information, refer to Yealink SIP-T46G IP Phone Family Administrator Guide. +local_contact.data.url = + +####################################################################################### +## Auto DST ## +####################################################################################### +auto_dst.url = {$yealink_auto_dst_url} + +####################################################################################### +## Dialplan Now ## +####################################################################################### +dialplan_dialnow.url = + +####################################################################################### +## Dialplan Replace ## +####################################################################################### +dialplan_replace_rule.url = + +####################################################################################### +## Custom Factory Configuration ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +#Before using this parameter, you should store the desired factory configuration file to the provisioning server. +custom_factory_configuration.url = + +####################################################################################### +## Custom Configuration ## +####################################################################################### +#Configure the access URL for downloading the configurations. +#Before using this parameter, you should store the desired configuration file to the provisioning server. +configuration.url = + +####################################################################################### +## Custom Softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +#Before using these parameters, you should store the desired XML files to the provisioning server. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Local Contact Photo ## +####################################################################################### +local_contact.data_photo_tar.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Before using this parameter, you should store the desired call list file to the provisioning server. +#Require reboot +call_list.url = + +####################################################################################### +## Open VPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +#Before using this parameter, you should store the desired VPN file to the provisioning server +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Level ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Before using this parameter, you should store the desired files to the provisioning server. +#Require reboot +web_item_level.url = + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +#Before using this parameter, you should store the desired firmware (x.71.x.x.rom) to the provisioning server. +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t46g} + diff --git a/resources/templates/provision/yealink/t4x/y000000000029.cfg b/resources/templates/provision/yealink/t4x/y000000000029.cfg new file mode 100644 index 0000000000..9293f3bca3 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000029.cfg @@ -0,0 +1,1649 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Hostname ## +####################################################################################### +network.dhcp_host_name = + +#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, submask, gateway and DNS server. +#Require reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns = {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +####################################################################################### +## PPPOE ## +####################################################################################### +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + + +####################################################################################### +## Network ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +network.internet_port.speed_duplex = +network.pc_port.speed_duplex = + +network.pc_port.dhcp_server = 1 +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + + +####################################################################################### +## VLAN ## +####################################################################################### +{if isset($yealink_vlan_enable)}network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}network.vlan.internet_port_enable = 0{/if} + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = {$yealink_vlan_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = {$yealink_vlan_cos} + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default); +#Require reboot; +network.vlan.dhcp_enable = + +#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255. +#Multiple options separated by a comma. It supports up to 5 options in all. +#Require reboot; +network.vlan.dhcp_option = + +####################################################################################### +## WEB Port ## +####################################################################################### +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +####################################################################################### +## QOS ## +####################################################################################### +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26. +#Require reboot; +network.qos.signaltos = + +####################################################################################### +## 802.1X ## +####################################################################################### +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2, 4:EAP-TTLS/EAP-MSCHAPv2; +#Require reboot; +network.802_1x.mode = +network.802_1x.identity = +network.802_1x.md5_password = +network.802_1x.root_cert_url = +network.802_1x.client_cert_url = + +####################################################################################### +## VPN ## +####################################################################################### +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +####################################################################################### +## LLDP ## +####################################################################################### +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +#Require reboot; +network.lldp.packet_interval = + +####################################################################################### +## SNMP ## +####################################################################################### +#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.snmp.enable = +network.snmp.port = + +#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space. +#Require reboot; +network.snmp.trust_ip = + +####################################################################################### +## Span to PC ## +####################################################################################### +#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.span_to_pc_port = + +####################################################################################### +## RTP Port ## +####################################################################################### +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +####################################################################################### +## SYSLOG ## +####################################################################################### +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## Redirect ## +####################################################################################### +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +####################################################################################### +## TR069 ## +####################################################################################### +#The TR069 feature is only applicable to some designated firmware version. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = +managementserver.username = +managementserver.password = +managementserver.url = +managementserver.connection_request_username = +managementserver.connection_request_password = +managementserver.periodic_inform_enable = 0 +managementserver.periodic_inform_interval = 60 + +####################################################################################### +## Autop Mode ## +####################################################################################### +#Configure the auto provision mode; +#0-Disabled , 1-Power on (default); +auto_provision.mode = + +####################################################################################### +## Autop PNP ## +####################################################################################### +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +####################################################################################### +## Autop DHCP ## +####################################################################################### +#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +####################################################################################### +## Autop Repeat ## +####################################################################################### +auto_provision.repeat.enable = 0 + +#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440. +#It is only applicable to "Repeatedly". +auto_provision.repeat.minutes = + +####################################################################################### +## Autop Weekly ## +####################################################################################### +auto_provision.weekly.enable = 0 + +#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456. +#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday; +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired week is Monday, Tuesday and Wednesday, the value format is 012. +auto_provision.weekly.mask = + +#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired start time of the day is seven forty-five a.m., the value format is 07:45. +auto_provision.weekly.begin_time = + +#Configure the end time of the day for the phone to check new configuration files. The default time is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired end time of the day is seven forty-five p.m., the value format is 19:45. +auto_provision.weekly.end_time = + +####################################################################################### +## Autop URL ## +####################################################################################### +auto_provision.server.url = {$yealink_provision_url} +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +####################################################################################### +## Autop Aes Key ## +####################################################################################### +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +custom_mac_cfg.url = + +#Configure the value (manufacturer of the device) of DHCP option 60. The default is yealink +auto_provision.dhcp_option.option60_value = + +####################################################################################### +## Autop Code ## +####################################################################################### +#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +autoprovision.X.name = + + +#Configure the auto provisioning code; +#The valid value is a string, the maximum length is 100. +autoprovision.X.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 511. +autoprovision.X.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +autoprovision.X.user = +autoprovision.X.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +autoprovision.X.com_aes = +autoprovision.X.mac_aes = + +####################################################################################### +## Watch Dog ## +####################################################################################### +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +####################################################################################### +## SIP Advanced ## +####################################################################################### +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = {$yealink_rfc2543_hold} + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +#Configures the local SIP port. Integer from 1024 to 65535 +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP; +voice.call_preview_mode= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +####################################################################################### +## Tones ## +####################################################################################### +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +####################################################################################### +## Volume ## +####################################################################################### +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handfree.tone_vol = +voice.handset.spk_vol = +voice.handset.tone_vol = +voice.headset.spk_vol = +voice.headset.tone_vol = +voice.ring_vol= + +####################################################################################### +## WEB HTTP(S) ## +####################################################################################### +wui.https_enable = +wui.http_enable = + +####################################################################################### +## Transfer ## +####################################################################################### +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = + +#Enable or disable the conference initiator to transfer the call when hanging up. +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +####################################################################################### +## Web Language ## +####################################################################################### +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = {$yealink_time_update} + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = {$yealink_dst_type} + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = 0 + +####################################################################################### +## Auto Redial ## +####################################################################################### +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the auto redial times. It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling= + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify= + +####################################################################################### +## Dial Plan ## +####################################################################################### +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by a comma. +#e.g. dialplan.area_code.line_id = 1,2,3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3. +#dialplan.block_out.line_id.X = 1,2,3 +dialplan.block_out.line_id.1 = + +# X ranges from 1 to 100. +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.dialnow.line_id.X = + +# X ranges from 1 to 100. +dialplan.replace.prefix.X = +dialplan.replace.replace.X = +dialplan.replace.line_id.X = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialnow.item.X = Dial-now rule,Line ID +#Dial-now rule: Specify the numbers that need replacing; +#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma; +dialnow.item.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.item.X = Enabled,Prefix,Replaced,LineID +#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; +#Replaced: Specify the alternate numbers; +#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma; +dialplan.item.1 = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.X.url = +#remote_phonebook.data.X.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## Network Directory ## +####################################################################################### +directory.update_time_interval = +directory.incoming_call_match_enable = 1 +bw.directory_enable = 0 + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Features ## +####################################################################################### +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1. +features.auto_answer_delay = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default); +features.allow_mute = + +features.group_listen_in_talking_enable = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +sip.trust_ctrl = {$yealink_trust_ctrl} + +#It enables or disables the IP phone to display the feature name instead of the feature access code when dialing and in talk;(0-Disabled;1-Enabled) +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} + +#Configure the power Indicator LED to turn on or turn off; 0-On (default), 1-Off; +features.power_led_on = 1 + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset, 2- Use Headset& Speaker; +features.ringer_device.is_use_headset = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = 1 + +features.idle_talk_power_led_flash_enable = + +#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled; +features.auto_release_bla_line = + +#It enables or disables the IP phone to display the pop-up message box when it receives a new voice mail. +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} + +#It enables or disables the IP phone to display the pop-up message box when it misses a call. +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} + + +####################################################################################### +## Features FWD ## +####################################################################################### +#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode. +features.fwd_mode = + +#0-Disabled , 1-Enabled (default) +features.fwd_diversion_enable = + +####################################################################################### +## Features DND ## +####################################################################################### +#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. +features.dnd_mode = +features.dnd.on_code = *78 +features.dnd.off_code = *79 +features.dnd.emergency_enable = 1 +features.dnd.emergency_authorized_number = + +####################################################################################### +## Features BLF ## +####################################################################################### +#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1. +features.blf_led_mode = {$yealink_blf_led_mode} + +features.blf_list_version = 0 +features.blf_and_callpark_idle_led_enable = 0 + +####################################################################################### +## Features Intercom ## +####################################################################################### +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.barge = + +####################################################################################### +## Features Hotline ## +####################################################################################### +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4. +features.hotline_number = +features.hotline_delay = + +####################################################################################### +## Features DTMF ## +####################################################################################### +#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled; +features.dtmf.hide = {$yealink_dtmf_hide} + +#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled; +features.dtmf.hide_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #. +features.dtmf.transfer = + +#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled; +features.dtmf.replace_tran = + +####################################################################################### +## Features Audio Settings ## +####################################################################################### +#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled; +features.headset_prior = + +#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled; +features.headset_training = + +features.alert_info_tone = + +#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default). +features.voice_mail_tone_enable = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key; +features.send_pound_key = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default); +features.play_hold_tone.enable = + +#Configure the interval of playing a warning tone. The default value is 30s. +features.play_hold_tone.delay = + +features.redial_tone = + +#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled; +features.partition_tone = + +#Configure the delay time (in milliseconds) before transfering a call. The default value is 0. +features.hold_trans_delay = + +#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); +features.play_local_dtmf_tone_enable= + +####################################################################################### +## Features Remote Phonebook ## +####################################################################################### +#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +####################################################################################### +## Features Action ## +####################################################################################### +#Specific the address(es) or enters 'any' from which Action URI will be accepted. +#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30 +#For continuous IP addresses, the format likes *.*.*.* and the '*' stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255. +#If left blank, the IP phone cannot receive or handle any HTTP GET request. +#If set to 'any', the IP phone accepts and handles HTTP GET requests from any IP address. +features.action_uri_limit_ip = + +features.action_uri_reboot_now = 0 + +####################################################################################### +## Features Prefix ## +####################################################################################### +#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled; +features.password_dial.enable = + +#Configure the prefix numbers displayed before the encrypted digits. +features.password_dial.prefix = + +#Configure the length of encrypted digits. +features.password_dial.length = + +####################################################################################### +## Features History ## +####################################################################################### +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +####################################################################################### +## Features Pickup ## +####################################################################################### +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +####################################################################################### +## Phone Setting ## +####################################################################################### +#Enable or disable the photo display on handset 0 = disable, 1 = enable +phone_setting.contact_photo_display.enable = 0 + +#Enable or disable the called party information display 0 = disable 1 = enable +phone_setting.called_party_info_display.enable = 1 + +#Configure the call information display method 0 = Name + Number, 1 = Number + Name, 2 = Name, 3 = Number, 4 = Full contact info +phone_setting.call_info_display_method = 0 + +#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Resource:Ring2.wav +#phone_setting.ring_type = Resource:Ring1.wav +phone_setting.ring_type = {$yealink_ring_type} +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = +phone_setting.show_code403 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Configure the emergency number, each separated by a comma. The default value is 112,911,110. +phone_setting.emergency.number = {$yealink_emergency_number} + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.page_tip = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = 1 + +#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.headsetkey_mode = + +#Enable or disabled mail power led flash. 0-Disabled, 1-Enabled. +phone_setting.mail_power_led_flash_enable = 1 + +#It enables or disables the power indicator LED to flash when the IP phone misses a call. +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + +####################################################################################### +## Phone Setting UI ## +####################################################################################### +#Configure the active backlight level. It ranges from 1 to 3, the default value is 2. +#The same level for different phones may result in different backlight intensities. +phone_setting.active_backlight_level = +phone_setting.inactive_backlight_level = 1 + +####################################################################################### +## Phone Setting BLF ## +####################################################################################### +phone_setting.blf_list_enable = 1 +phone_setting.auto_blf_list_enable = 1 + +#Specify the prior of the line keys and EXP keys when automatically configure the blf list 0-Configure the line keys first, 1-Configure the EXP keys first; +phone_setting.blf_list_sequence_type = + +####################################################################################### +## Key Lock ## +####################################################################################### + +#Configure the keypad lock type; 0-Disabled (default), 1-Enable +phone_setting.lock = {$yealink_lock_enable} + +#Configure the unlock password for the phone. The default value is 123. +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} + +#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0. +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + +#Configure the keypad lock type;0-All Keys(default), 1-Function Key, 2-Menu Key +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} + +#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s. +phone_setting.backlight_time = {$yealink_backlight_time} + +####################################################################################### +## Wallpaper ## +####################################################################################### + +wallpaper_upload.url = {$yealink_t42g_wallpaper} +{if isset($yealink_t42g_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t42g_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t42g_wallpaper.png +{/if} + +####################################################################################### +## Multicast ## +####################################################################################### +#Configure the codec of multicast paging. +multicast.codec = + +#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default); +#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority. +multicast.receive_priority.enable = + +#Configure the priority of multicast paging calls. It ranges from 0 to 10. +multicast.receive_priority.priority = + +#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10. +multicast.listen_address.X.label = + +#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10. +multicast.listen_address.X.ip_address = + +####################################################################################### +## Super Search ## +####################################################################################### +super_search.recent_call = 1 + +####################################################################################### +## Broadsoft Phonebook ## +####################################################################################### +bw_phonebook.group_enable = 1 +bw_phonebook.personal_enable = 1 +bw_phonebook.group_common_enable = 0 +bw_phonebook.group_common_displayname = +bw_phonebook.enterprise_enable = 0 +bw_phonebook.enterprise_common_enable = 0 +bw_phonebook.enterprise_common_displayname = +bw_phonebook.call_log_enable = 1 +bw_phonebook.server_search_enable = 1 +bw_phonebook.group_displayname = +bw_phonebook.enterprise_displayname = +bw_phonebook.common_displayname = +bw_phonebook.personal_displayname = + +####################################################################################### +## Broadsoft ## +####################################################################################### +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Security ## +####################################################################################### +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1. +#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd. + +#The following examples change the user's username to "user23" and the user's password to "user23pwd". +#security.user_name.user = user23 +#security.user_password = user23:user23pwd +#The following examples change the var's username to "var55" and the var's password to "var55pwd". +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Linekey ## +####################################################################################### +#The x of the parameter "linekey.x.line" ranges from 1 to 27. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.extension = +linekey.1.type = +linekey.1.label = +linekey.1.xml_phonebook = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.extension = +linekey.2.type = +linekey.2.label = +linekey.2.xml_phonebook = + +linekey.3.line = +linekey.3.value = +linekey.3.extension = +linekey.3.type = +linekey.3.label = +linekey.3.xml_phonebook = + +linekey.4.line = +linekey.4.value = +linekey.4.extension = +linekey.4.type = +linekey.4.label = +linekey.4.xml_phonebook = + +linekey.5.line = +linekey.5.value = +linekey.5.extension = +linekey.5.type = +linekey.5.label = +linekey.5.xml_phonebook = + +linekey.6.line = +linekey.6.value = +linekey.6.extension = +linekey.6.type = +linekey.6.label = +linekey.6.xml_phonebook = + +linekey.7.line = +linekey.7.value = +linekey.7.extension = +linekey.7.type = +linekey.7.label = +linekey.7.xml_phonebook = + +linekey.8.line = +linekey.8.value = +linekey.8.extension = +linekey.8.type = +linekey.8.label = +linekey.8.xml_phonebook = + +linekey.9.line = +linekey.9.value = +linekey.9.extension = +linekey.9.type = +linekey.9.label = +linekey.9.xml_phonebook = + +linekey.10.line = +linekey.10.value = +linekey.10.extension = +linekey.10.type = +linekey.10.label = +linekey.10.xml_phonebook = + +linekey.11.line = +linekey.11.value = +linekey.11.extension = +linekey.11.type = +linekey.11.label = +linekey.11.xml_phonebook = + +linekey.12.line = +linekey.12.value = +linekey.12.extension = +linekey.12.type = +linekey.12.label = +linekey.12.xml_phonebook = + +linekey.13.line = +linekey.13.value = +linekey.13.extension = +linekey.13.type = +linekey.13.label = +linekey.13.xml_phonebook = + +linekey.14.line = +linekey.14.value = +linekey.14.extension = +linekey.14.type = +linekey.14.label = +linekey.14.xml_phonebook = + +linekey.15.line = +linekey.15.value = +linekey.15.extension = +linekey.15.type = +linekey.15.xml_phonebook = +linekey.15.label = + +linekey.16.line = +linekey.16.value = +linekey.16.extension = +linekey.16.type = +linekey.16.xml_phonebook = +linekey.16.label = + +linekey.17.line = +linekey.17.value = +linekey.17.extension = +linekey.17.type = +linekey.17.xml_phonebook = +linekey.17.label = + +linekey.18.line = +linekey.18.value = +linekey.18.extension = +linekey.18.type = +linekey.18.xml_phonebook = +linekey.18.label = + +linekey.19.line = +linekey.19.value = +linekey.19.extension = +linekey.19.type = +linekey.19.xml_phonebook = +linekey.19.label = + +linekey.20.line = +linekey.20.value = +linekey.20.extension = +linekey.20.type = +linekey.20.xml_phonebook = +linekey.20.label = + +linekey.21.line = +linekey.21.value = +linekey.21.extension = +linekey.21.type = +linekey.21.xml_phonebook = +linekey.21.label = + +linekey.22.line = +linekey.22.value = +linekey.22.extension = +linekey.22.type = +linekey.22.xml_phonebook = +linekey.22.label = + +linekey.23.line = +linekey.23.value = +linekey.23.extension = +linekey.23.type = +linekey.23.xml_phonebook = +linekey.23.label = + +linekey.24.line = +linekey.24.value = +linekey.24.extension = +linekey.24.type = +linekey.24.xml_phonebook = +linekey.24.label = + +linekey.25.line = +linekey.25.value = +linekey.25.extension = +linekey.25.type = +linekey.25.xml_phonebook = +linekey.25.label = + +linekey.26.line = +linekey.26.value = +linekey.26.extension = +linekey.26.type = +linekey.26.xml_phonebook = +linekey.26.label = + +linekey.27.line = +linekey.27.value = +linekey.27.extension = +linekey.27.type = +linekey.27.xml_phonebook = +linekey.27.label = +####################################################################################### +## Programmable key ## +####################################################################################### +#X ranges from 1 to 13. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Direct Pickup 13-Spead Dial +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 31-Switch Account 32-New SMS +#33-Status 40-PTT 43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 50-Keypad Lock +#PTT-add a specified prefix number before the dialed number. +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +########################################################################################## +## Expansion Key ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = +#expansion_module.X.key.Y.xml_phonebook = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Forward Always ## +####################################################################################### +#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled; +forward.always.enable = +forward.always.target = +forward.always.on_code = +forward.always.off_code = + +####################################################################################### +## Forward Busy ## +####################################################################################### +#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled; +forward.busy.enable = +forward.busy.target = +forward.busy.on_code = +forward.busy.off_code = + +####################################################################################### +## Forward No Answer ## +####################################################################################### +#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +forward.no_answer.enable = +forward.no_answer.target = +forward.no_answer.timeout = +forward.no_answer.on_code = +forward.no_answer.off_code = + +####################################################################################### +## Forward International ## +####################################################################################### +#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled; +forward.international.enable = + +####################################################################################### +## ACD ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = +acd.bw = + +####################################################################################### +## Hotdesking Startup ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 1 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 0 (default) +#hotdesking.startup_sip_server_enable = 0 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +####################################################################################### +## Hotdesking Dsskey ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 1 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 0 (default) +#hotdesking.dsskey_sip_server_enable = 0 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Alert Info ## +####################################################################################### +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Call Waiting ## +####################################################################################### +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +call_waiting.on_code = +call_waiting.off_code = + +####################################################################################### +## Call Park ## +####################################################################################### +call_park.enable = 0 +call_park.group_enable = 0 +call_park.park_ring = +call_park.park_visual_notify_enable = + +####################################################################################### +## Action URL ## +####################################################################################### +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.ip_change = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Ringtone ## +####################################################################################### +#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## UI Language ## +####################################################################################### +#Before using this parameter, you should store the desired language pack to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +gui_lang.url = + +#gui_lang.delete = http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +####################################################################################### +## Server Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Contact ## +####################################################################################### +#Before using these parameters, you should store the desired resource files to the provisioning server. +#For more information, refer to Yealink SIP-T42G IP Phone Family Administrator Guide. +local_contact.data.url = + +####################################################################################### +## Auto DST ## +####################################################################################### +auto_dst.url = {$yealink_auto_dst_url} + +####################################################################################### +## Dialplan Now ## +####################################################################################### +dialplan_dialnow.url = + +####################################################################################### +## Dialplan Replace ## +####################################################################################### +dialplan_replace_rule.url = + +####################################################################################### +## Custom Factory Configuration ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +#Before using this parameter, you should store the desired factory configuration file to the provisioning server. +custom_factory_configuration.url = + +####################################################################################### +## Custom Configuration ## +####################################################################################### +#Configure the access URL for downloading the configurations. +#Before using this parameter, you should store the desired configuration file to the provisioning server. +configuration.url = + +####################################################################################### +## Custom Softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +#Before using these parameters, you should store the desired XML files to the provisioning server. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Local Contact Photo ## +####################################################################################### +local_contact.data_photo_tar.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Before using this parameter, you should store the desired call list file to the provisioning server. +#Require reboot +call_list.url = + +####################################################################################### +## Open VPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +#Before using this parameter, you should store the desired VPN file to the provisioning server +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Level ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Before using this parameter, you should store the desired files to the provisioning server. +#Require reboot +web_item_level.url = + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +#Before using this parameter, you should store the desired firmware (x.71.x.x.rom) to the provisioning server. +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t42g} + diff --git a/resources/templates/provision/yealink/t4x/y000000000035.cfg b/resources/templates/provision/yealink/t4x/y000000000035.cfg new file mode 100644 index 0000000000..cff8c9b0e9 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000035.cfg @@ -0,0 +1,1647 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Hostname ## +####################################################################################### +network.dhcp_host_name = + +#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, submask, gateway and DNS server. +#Require reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns = {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +####################################################################################### +## PPPOE ## +####################################################################################### +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + + +####################################################################################### +## Network ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +network.internet_port.speed_duplex = +network.pc_port.speed_duplex = + +network.pc_port.dhcp_server = 1 +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + + +####################################################################################### +## VLAN ## +####################################################################################### +{if isset($yealink_vlan_enable)}network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}network.vlan.internet_port_enable = 0{/if} + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = {$yealink_vlan_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = {$yealink_vlan_cos} + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default); +#Require reboot; +network.vlan.dhcp_enable = + +#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255. +#Multiple options separated by a comma. It supports up to 5 options in all. +#Require reboot; +network.vlan.dhcp_option = + +####################################################################################### +## WEB Port ## +####################################################################################### +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +####################################################################################### +## QOS ## +####################################################################################### +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26. +#Require reboot; +network.qos.signaltos = + +####################################################################################### +## 802.1X ## +####################################################################################### +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2, 4:EAP-TTLS/EAP-MSCHAPv2; +#Require reboot; +network.802_1x.mode = +network.802_1x.identity = +network.802_1x.md5_password = +network.802_1x.root_cert_url = +network.802_1x.client_cert_url = + +####################################################################################### +## VPN ## +####################################################################################### +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +####################################################################################### +## LLDP ## +####################################################################################### +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +#Require reboot; +network.lldp.packet_interval = + +####################################################################################### +## SNMP ## +####################################################################################### +#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.snmp.enable = +network.snmp.port = + +#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space. +#Require reboot; +network.snmp.trust_ip = + +####################################################################################### +## Span to PC ## +####################################################################################### +#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.span_to_pc_port = + +####################################################################################### +## RTP Port ## +####################################################################################### +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +####################################################################################### +## SYSLOG ## +####################################################################################### +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## Redirect ## +####################################################################################### +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +####################################################################################### +## TR069 ## +####################################################################################### +#The TR069 feature is only applicable to some designated firmware version. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = +managementserver.username = +managementserver.password = +managementserver.url = +managementserver.connection_request_username = +managementserver.connection_request_password = +managementserver.periodic_inform_enable = 0 +managementserver.periodic_inform_interval = 60 + +####################################################################################### +## Autop Mode ## +####################################################################################### +#Configure the auto provision mode; +#0-Disabled , 1-Power on (default); +auto_provision.mode = + +####################################################################################### +## Autop PNP ## +####################################################################################### +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +####################################################################################### +## Autop DHCP ## +####################################################################################### +#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +####################################################################################### +## Autop Repeat ## +####################################################################################### +auto_provision.repeat.enable = 0 + +#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440. +#It is only applicable to "Repeatedly". +auto_provision.repeat.minutes = + +####################################################################################### +## Autop Weekly ## +####################################################################################### +auto_provision.weekly.enable = 0 + +#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456. +#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday; +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired week is Monday, Tuesday and Wednesday, the value format is 012. +auto_provision.weekly.mask = + +#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired start time of the day is seven forty-five a.m., the value format is 07:45. +auto_provision.weekly.begin_time = + +#Configure the end time of the day for the phone to check new configuration files. The default time is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired end time of the day is seven forty-five p.m., the value format is 19:45. +auto_provision.weekly.end_time = + +####################################################################################### +## Autop URL ## +####################################################################################### +auto_provision.server.url = {$yealink_provision_url} +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +####################################################################################### +## Autop Aes Key ## +####################################################################################### +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +custom_mac_cfg.url = + +#Configure the value (manufacturer of the device) of DHCP option 60. The default is yealink +auto_provision.dhcp_option.option60_value = + +####################################################################################### +## Autop Code ## +####################################################################################### +#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +autoprovision.X.name = + + +#Configure the auto provisioning code; +#The valid value is a string, the maximum length is 100. +autoprovision.X.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 511. +autoprovision.X.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +autoprovision.X.user = +autoprovision.X.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +autoprovision.X.com_aes = +autoprovision.X.mac_aes = + +####################################################################################### +## Watch Dog ## +####################################################################################### +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +####################################################################################### +## SIP Advanced ## +####################################################################################### +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = {$yealink_rfc2543_hold} + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +#Configures the local SIP port. Integer from 1024 to 65535 +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP; +voice.call_preview_mode= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +####################################################################################### +## Tones ## +####################################################################################### +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +####################################################################################### +## Volume ## +####################################################################################### +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handfree.tone_vol = +voice.handset.spk_vol = +voice.handset.tone_vol = +voice.headset.spk_vol = +voice.headset.tone_vol = +voice.ring_vol= + +####################################################################################### +## WEB HTTP(S) ## +####################################################################################### +wui.https_enable = +wui.http_enable = + +####################################################################################### +## Transfer ## +####################################################################################### +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = + +#Enable or disable the conference initiator to transfer the call when hanging up. +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +####################################################################################### +## Web Language ## +####################################################################################### +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = {$yealink_time_update} + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = {$yealink_dst_type} + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = 0 + +####################################################################################### +## Auto Redial ## +####################################################################################### +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the auto redial times. It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling= + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify= + +####################################################################################### +## Dial Plan ## +####################################################################################### +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by a comma. +#e.g. dialplan.area_code.line_id = 1,2,3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3. +#dialplan.block_out.line_id.X = 1,2,3 +dialplan.block_out.line_id.1 = + +# X ranges from 1 to 100. +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.dialnow.line_id.X = + +# X ranges from 1 to 100. +dialplan.replace.prefix.X = +dialplan.replace.replace.X = +dialplan.replace.line_id.X = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialnow.item.X = Dial-now rule,Line ID +#Dial-now rule: Specify the numbers that need replacing; +#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma; +dialnow.item.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.item.X = Enabled,Prefix,Replaced,LineID +#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; +#Replaced: Specify the alternate numbers; +#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma; +dialplan.item.1 = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.X.url = +#remote_phonebook.data.X.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## Network Directory ## +####################################################################################### +directory.update_time_interval = +directory.incoming_call_match_enable = 1 +bw.directory_enable = 0 + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Features ## +####################################################################################### +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1. +features.auto_answer_delay = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default); +features.allow_mute = + +features.group_listen_in_talking_enable = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +sip.trust_ctrl = {$yealink_trust_ctrl} + +#It enables or disables the IP phone to display the feature name instead of the feature access code when dialing and in talk;(0-Disabled;1-Enabled) +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} + +#Configure the power Indicator LED to turn on or turn off; 0-On (default), 1-Off; +features.power_led_on = 1 + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset, 2- Use Headset& Speaker; +features.ringer_device.is_use_headset = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = 1 + +features.idle_talk_power_led_flash_enable = + +#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled; +features.auto_release_bla_line = + +#It enables or disables the IP phone to display the pop-up message box when it receives a new voice mail. +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} + +#It enables or disables the IP phone to display the pop-up message box when it misses a call. +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} + + +####################################################################################### +## Features FWD ## +####################################################################################### +#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode. +features.fwd_mode = + +#0-Disabled , 1-Enabled (default) +features.fwd_diversion_enable = + +####################################################################################### +## Features DND ## +####################################################################################### +#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. +features.dnd_mode = +features.dnd.on_code = *78 +features.dnd.off_code = *79 +features.dnd.emergency_enable = 1 +features.dnd.emergency_authorized_number = + +####################################################################################### +## Features BLF ## +####################################################################################### +#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1. +features.blf_led_mode = {$yealink_blf_led_mode} + +features.blf_list_version = 0 +features.blf_and_callpark_idle_led_enable = 0 + +####################################################################################### +## Features Intercom ## +####################################################################################### +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.barge = + +####################################################################################### +## Features Hotline ## +####################################################################################### +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4. +features.hotline_number = +features.hotline_delay = + +####################################################################################### +## Features DTMF ## +####################################################################################### +#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled; +features.dtmf.hide = {$yealink_dtmf_hide} + +#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled; +features.dtmf.hide_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #. +features.dtmf.transfer = + +#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled; +features.dtmf.replace_tran = + +####################################################################################### +## Features Audio Settings ## +####################################################################################### +#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled; +features.headset_prior = + +#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled; +features.headset_training = + +features.alert_info_tone = + +#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default). +features.voice_mail_tone_enable = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key; +features.send_pound_key = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default); +features.play_hold_tone.enable = + +#Configure the interval of playing a warning tone. The default value is 30s. +features.play_hold_tone.delay = + +features.redial_tone = + +#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled; +features.partition_tone = + +#Configure the delay time (in milliseconds) before transfering a call. The default value is 0. +features.hold_trans_delay = + +#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); +features.play_local_dtmf_tone_enable= + +####################################################################################### +## Features Remote Phonebook ## +####################################################################################### +#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +####################################################################################### +## Features Action ## +####################################################################################### +#Specific the address(es) or enters 'any' from which Action URI will be accepted. +#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30 +#For continuous IP addresses, the format likes *.*.*.* and the '*' stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255. +#If left blank, the IP phone cannot receive or handle any HTTP GET request. +#If set to 'any', the IP phone accepts and handles HTTP GET requests from any IP address. +features.action_uri_limit_ip = + +features.action_uri_reboot_now = 0 + +####################################################################################### +## Features Prefix ## +####################################################################################### +#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled; +features.password_dial.enable = + +#Configure the prefix numbers displayed before the encrypted digits. +features.password_dial.prefix = + +#Configure the length of encrypted digits. +features.password_dial.length = + +####################################################################################### +## Features History ## +####################################################################################### +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +####################################################################################### +## Features Pickup ## +####################################################################################### +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +####################################################################################### +## Phone Setting ## +####################################################################################### +#Enable or disable the photo display on handset 0 = disable, 1 = enable +phone_setting.contact_photo_display.enable = 0 + +#Enable or disable the called party information display 0 = disable 1 = enable +phone_setting.called_party_info_display.enable = 1 + +#Configure the call information display method 0 = Name + Number, 1 = Number + Name, 2 = Name, 3 = Number, 4 = Full contact info +phone_setting.call_info_display_method = 0 + +#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Resource:Ring2.wav +#phone_setting.ring_type = Resource:Ring1.wav +phone_setting.ring_type = {$yealink_ring_type} +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = +phone_setting.show_code403 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Configure the emergency number, each separated by a comma. The default value is 112,911,110. +phone_setting.emergency.number = {$yealink_emergency_number} + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.page_tip = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = 1 + +#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.headsetkey_mode = + +#Enable or disabled mail power led flash. 0-Disabled, 1-Enabled. +phone_setting.mail_power_led_flash_enable = 1 + +#It enables or disables the power indicator LED to flash when the IP phone misses a call. +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + +####################################################################################### +## Phone Setting UI ## +####################################################################################### +#Configure the active backlight level. It ranges from 1 to 3, the default value is 2. +#The same level for different phones may result in different backlight intensities. +phone_setting.active_backlight_level = +phone_setting.inactive_backlight_level = 1 + +####################################################################################### +## Phone Setting BLF ## +####################################################################################### +phone_setting.blf_list_enable = 1 +phone_setting.auto_blf_list_enable = 1 + +#Specify the prior of the line keys and EXP keys when automatically configure the blf list 0-Configure the line keys first, 1-Configure the EXP keys first; +phone_setting.blf_list_sequence_type = + +####################################################################################### +## Key Lock ## +####################################################################################### + +#Configure the keypad lock type; 0-Disabled (default), 1-Enable +phone_setting.lock = {$yealink_lock_enable} + +#Configure the unlock password for the phone. The default value is 123. +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} + +#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0. +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + +#Configure the keypad lock type;0-All Keys(default), 1-Function Key, 2-Menu Key +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} + +#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s. +phone_setting.backlight_time = {$yealink_backlight_time} + +####################################################################################### +## Wallpaper ## +####################################################################################### +wallpaper_upload.url = {$yealink_t48g_wallpaper} +{if isset($yealink_t48_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t48g_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t48g_wallpaper.png +{/if} + +####################################################################################### +## Multicast ## +####################################################################################### +#Configure the codec of multicast paging. +multicast.codec = + +#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default); +#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority. +multicast.receive_priority.enable = + +#Configure the priority of multicast paging calls. It ranges from 0 to 10. +multicast.receive_priority.priority = + +#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10. +multicast.listen_address.X.label = + +#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10. +multicast.listen_address.X.ip_address = + +####################################################################################### +## Super Search ## +####################################################################################### +super_search.recent_call = 1 + +####################################################################################### +## Broadsoft Phonebook ## +####################################################################################### +bw_phonebook.group_enable = 1 +bw_phonebook.personal_enable = 1 +bw_phonebook.group_common_enable = 0 +bw_phonebook.group_common_displayname = +bw_phonebook.enterprise_enable = 0 +bw_phonebook.enterprise_common_enable = 0 +bw_phonebook.enterprise_common_displayname = +bw_phonebook.call_log_enable = 1 +bw_phonebook.server_search_enable = 1 +bw_phonebook.group_displayname = +bw_phonebook.enterprise_displayname = +bw_phonebook.common_displayname = +bw_phonebook.personal_displayname = + +####################################################################################### +## Broadsoft ## +####################################################################################### +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Security ## +####################################################################################### +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1. +#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd. + +#The following examples change the user's username to "user23" and the user's password to "user23pwd". +#security.user_name.user = user23 +#security.user_password = user23:user23pwd +#The following examples change the var's username to "var55" and the var's password to "var55pwd". +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Linekey ## +####################################################################################### +#The x of the parameter "linekey.x.line" ranges from 1 to 27. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.extension = +linekey.1.type = +linekey.1.label = +linekey.1.xml_phonebook = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.extension = +linekey.2.type = +linekey.2.label = +linekey.2.xml_phonebook = + +linekey.3.line = +linekey.3.value = +linekey.3.extension = +linekey.3.type = +linekey.3.label = +linekey.3.xml_phonebook = + +linekey.4.line = +linekey.4.value = +linekey.4.extension = +linekey.4.type = +linekey.4.label = +linekey.4.xml_phonebook = + +linekey.5.line = +linekey.5.value = +linekey.5.extension = +linekey.5.type = +linekey.5.label = +linekey.5.xml_phonebook = + +linekey.6.line = +linekey.6.value = +linekey.6.extension = +linekey.6.type = +linekey.6.label = +linekey.6.xml_phonebook = + +linekey.7.line = +linekey.7.value = +linekey.7.extension = +linekey.7.type = +linekey.7.label = +linekey.7.xml_phonebook = + +linekey.8.line = +linekey.8.value = +linekey.8.extension = +linekey.8.type = +linekey.8.label = +linekey.8.xml_phonebook = + +linekey.9.line = +linekey.9.value = +linekey.9.extension = +linekey.9.type = +linekey.9.label = +linekey.9.xml_phonebook = + +linekey.10.line = +linekey.10.value = +linekey.10.extension = +linekey.10.type = +linekey.10.label = +linekey.10.xml_phonebook = + +linekey.11.line = +linekey.11.value = +linekey.11.extension = +linekey.11.type = +linekey.11.label = +linekey.11.xml_phonebook = + +linekey.12.line = +linekey.12.value = +linekey.12.extension = +linekey.12.type = +linekey.12.label = +linekey.12.xml_phonebook = + +linekey.13.line = +linekey.13.value = +linekey.13.extension = +linekey.13.type = +linekey.13.label = +linekey.13.xml_phonebook = + +linekey.14.line = +linekey.14.value = +linekey.14.extension = +linekey.14.type = +linekey.14.label = +linekey.14.xml_phonebook = + +linekey.15.line = +linekey.15.value = +linekey.15.extension = +linekey.15.type = +linekey.15.xml_phonebook = +linekey.15.label = + +linekey.16.line = +linekey.16.value = +linekey.16.extension = +linekey.16.type = +linekey.16.xml_phonebook = +linekey.16.label = + +linekey.17.line = +linekey.17.value = +linekey.17.extension = +linekey.17.type = +linekey.17.xml_phonebook = +linekey.17.label = + +linekey.18.line = +linekey.18.value = +linekey.18.extension = +linekey.18.type = +linekey.18.xml_phonebook = +linekey.18.label = + +linekey.19.line = +linekey.19.value = +linekey.19.extension = +linekey.19.type = +linekey.19.xml_phonebook = +linekey.19.label = + +linekey.20.line = +linekey.20.value = +linekey.20.extension = +linekey.20.type = +linekey.20.xml_phonebook = +linekey.20.label = + +linekey.21.line = +linekey.21.value = +linekey.21.extension = +linekey.21.type = +linekey.21.xml_phonebook = +linekey.21.label = + +linekey.22.line = +linekey.22.value = +linekey.22.extension = +linekey.22.type = +linekey.22.xml_phonebook = +linekey.22.label = + +linekey.23.line = +linekey.23.value = +linekey.23.extension = +linekey.23.type = +linekey.23.xml_phonebook = +linekey.23.label = + +linekey.24.line = +linekey.24.value = +linekey.24.extension = +linekey.24.type = +linekey.24.xml_phonebook = +linekey.24.label = + +linekey.25.line = +linekey.25.value = +linekey.25.extension = +linekey.25.type = +linekey.25.xml_phonebook = +linekey.25.label = + +linekey.26.line = +linekey.26.value = +linekey.26.extension = +linekey.26.type = +linekey.26.xml_phonebook = +linekey.26.label = + +linekey.27.line = +linekey.27.value = +linekey.27.extension = +linekey.27.type = +linekey.27.xml_phonebook = +linekey.27.label = +####################################################################################### +## Programmable key ## +####################################################################################### +#X ranges from 1 to 13. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Direct Pickup 13-Spead Dial +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 31-Switch Account 32-New SMS +#33-Status 40-PTT 43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 50-Keypad Lock +#PTT-add a specified prefix number before the dialed number. +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +########################################################################################## +## Expansion Key ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = +#expansion_module.X.key.Y.xml_phonebook = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Forward Always ## +####################################################################################### +#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled; +forward.always.enable = +forward.always.target = +forward.always.on_code = +forward.always.off_code = + +####################################################################################### +## Forward Busy ## +####################################################################################### +#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled; +forward.busy.enable = +forward.busy.target = +forward.busy.on_code = +forward.busy.off_code = + +####################################################################################### +## Forward No Answer ## +####################################################################################### +#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +forward.no_answer.enable = +forward.no_answer.target = +forward.no_answer.timeout = +forward.no_answer.on_code = +forward.no_answer.off_code = + +####################################################################################### +## Forward International ## +####################################################################################### +#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled; +forward.international.enable = + +####################################################################################### +## ACD ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = +acd.bw = + +####################################################################################### +## Hotdesking Startup ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 1 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 0 (default) +#hotdesking.startup_sip_server_enable = 0 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +####################################################################################### +## Hotdesking Dsskey ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 1 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 0 (default) +#hotdesking.dsskey_sip_server_enable = 0 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Alert Info ## +####################################################################################### +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Call Waiting ## +####################################################################################### +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +call_waiting.on_code = +call_waiting.off_code = + +####################################################################################### +## Call Park ## +####################################################################################### +call_park.enable = 0 +call_park.group_enable = 0 +call_park.park_ring = +call_park.park_visual_notify_enable = + +####################################################################################### +## Action URL ## +####################################################################################### +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.ip_change = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Ringtone ## +####################################################################################### +#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## UI Language ## +####################################################################################### +#Before using this parameter, you should store the desired language pack to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +gui_lang.url = + +#gui_lang.delete = http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +####################################################################################### +## Server Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Contact ## +####################################################################################### +#Before using these parameters, you should store the desired resource files to the provisioning server. +#For more information, refer to Yealink SIP-T46G IP Phone Family Administrator Guide. +local_contact.data.url = + +####################################################################################### +## Auto DST ## +####################################################################################### +auto_dst.url = {$yealink_auto_dst_url} + +####################################################################################### +## Dialplan Now ## +####################################################################################### +dialplan_dialnow.url = + +####################################################################################### +## Dialplan Replace ## +####################################################################################### +dialplan_replace_rule.url = + +####################################################################################### +## Custom Factory Configuration ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +#Before using this parameter, you should store the desired factory configuration file to the provisioning server. +custom_factory_configuration.url = + +####################################################################################### +## Custom Configuration ## +####################################################################################### +#Configure the access URL for downloading the configurations. +#Before using this parameter, you should store the desired configuration file to the provisioning server. +configuration.url = + +####################################################################################### +## Custom Softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +#Before using these parameters, you should store the desired XML files to the provisioning server. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Local Contact Photo ## +####################################################################################### +local_contact.data_photo_tar.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Before using this parameter, you should store the desired call list file to the provisioning server. +#Require reboot +call_list.url = + +####################################################################################### +## Open VPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +#Before using this parameter, you should store the desired VPN file to the provisioning server +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Level ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Before using this parameter, you should store the desired files to the provisioning server. +#Require reboot +web_item_level.url = + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +#Before using this parameter, you should store the desired firmware (x.71.x.x.rom) to the provisioning server. +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t48g} diff --git a/resources/templates/provision/yealink/t4x/y000000000036.cfg b/resources/templates/provision/yealink/t4x/y000000000036.cfg new file mode 100644 index 0000000000..dff9ca83df --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000036.cfg @@ -0,0 +1,1668 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Hostname ## +####################################################################################### +network.dhcp_host_name = + +#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, submask, gateway and DNS server. +#Require reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns = {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +####################################################################################### +## PPPOE ## +####################################################################################### +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + + +####################################################################################### +## Network ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +network.internet_port.speed_duplex = +network.pc_port.speed_duplex = + +network.pc_port.dhcp_server = 1 +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + + +####################################################################################### +## VLAN ## +####################################################################################### +{if isset($yealink_vlan_enable)}network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}network.vlan.internet_port_enable = 0{/if} + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = {$yealink_vlan_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = {$yealink_vlan_cos} + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default); +#Require reboot; +network.vlan.dhcp_enable = + +#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255. +#Multiple options separated by a comma. It supports up to 5 options in all. +#Require reboot; +network.vlan.dhcp_option = + +####################################################################################### +## WEB Port ## +####################################################################################### +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +####################################################################################### +## QOS ## +####################################################################################### +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26. +#Require reboot; +network.qos.signaltos = + +####################################################################################### +## 802.1X ## +####################################################################################### +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2, 4:EAP-TTLS/EAP-MSCHAPv2; +#Require reboot; +network.802_1x.mode = +network.802_1x.identity = +network.802_1x.md5_password = +network.802_1x.root_cert_url = +network.802_1x.client_cert_url = + +####################################################################################### +## VPN ## +####################################################################################### +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +####################################################################################### +## LLDP ## +####################################################################################### +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +#Require reboot; +network.lldp.packet_interval = + +####################################################################################### +## SNMP ## +####################################################################################### +#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.snmp.enable = +network.snmp.port = + +#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space. +#Require reboot; +network.snmp.trust_ip = + +####################################################################################### +## Span to PC ## +####################################################################################### +#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.span_to_pc_port = + +####################################################################################### +## RTP Port ## +####################################################################################### +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +####################################################################################### +## SYSLOG ## +####################################################################################### +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## Redirect ## +####################################################################################### +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +####################################################################################### +## TR069 ## +####################################################################################### +#The TR069 feature is only applicable to some designated firmware version. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = +managementserver.username = +managementserver.password = +managementserver.url = +managementserver.connection_request_username = +managementserver.connection_request_password = +managementserver.periodic_inform_enable = 0 +managementserver.periodic_inform_interval = 60 + +####################################################################################### +## Autop Mode ## +####################################################################################### +#Configure the auto provision mode; +#0-Disabled , 1-Power on (default); +auto_provision.mode = + +####################################################################################### +## Autop PNP ## +####################################################################################### +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +####################################################################################### +## Autop DHCP ## +####################################################################################### +#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +####################################################################################### +## Autop Repeat ## +####################################################################################### +auto_provision.repeat.enable = 0 + +#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440. +#It is only applicable to "Repeatedly". +auto_provision.repeat.minutes = + +####################################################################################### +## Autop Weekly ## +####################################################################################### +auto_provision.weekly.enable = 0 + +#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456. +#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday; +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired week is Monday, Tuesday and Wednesday, the value format is 012. +auto_provision.weekly.mask = + +#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired start time of the day is seven forty-five a.m., the value format is 07:45. +auto_provision.weekly.begin_time = + +#Configure the end time of the day for the phone to check new configuration files. The default time is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired end time of the day is seven forty-five p.m., the value format is 19:45. +auto_provision.weekly.end_time = + +####################################################################################### +## Autop URL ## +####################################################################################### +auto_provision.server.url = {$yealink_provision_url} +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +####################################################################################### +## Autop Aes Key ## +####################################################################################### +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +custom_mac_cfg.url = + +#Configure the value (manufacturer of the device) of DHCP option 60. The default is yealink +auto_provision.dhcp_option.option60_value = + +####################################################################################### +## Autop Code ## +####################################################################################### +#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +autoprovision.X.name = + + +#Configure the auto provisioning code; +#The valid value is a string, the maximum length is 100. +autoprovision.X.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 511. +autoprovision.X.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +autoprovision.X.user = +autoprovision.X.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +autoprovision.X.com_aes = +autoprovision.X.mac_aes = + +####################################################################################### +## Watch Dog ## +####################################################################################### +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +####################################################################################### +## SIP Advanced ## +####################################################################################### +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = {$yealink_rfc2543_hold} + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +#Configures the local SIP port. Integer from 1024 to 65535 +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP; +voice.call_preview_mode= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +####################################################################################### +## Tones ## +####################################################################################### +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +####################################################################################### +## Volume ## +####################################################################################### +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handfree.tone_vol = +voice.handset.spk_vol = +voice.handset.tone_vol = +voice.headset.spk_vol = +voice.headset.tone_vol = +voice.ring_vol= + +####################################################################################### +## WEB HTTP(S) ## +####################################################################################### +wui.https_enable = +wui.http_enable = + +####################################################################################### +## Transfer ## +####################################################################################### +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = + +#Enable or disable the conference initiator to transfer the call when hanging up. +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +####################################################################################### +## Web Language ## +####################################################################################### +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = {$yealink_time_update} + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = {$yealink_dst_type} + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = 0 + +####################################################################################### +## Auto Redial ## +####################################################################################### +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the auto redial times. It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling= + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify= + +####################################################################################### +## Dial Plan ## +####################################################################################### +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by a comma. +#e.g. dialplan.area_code.line_id = 1,2,3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3. +#dialplan.block_out.line_id.X = 1,2,3 +dialplan.block_out.line_id.1 = + +# X ranges from 1 to 100. +#dialplan.dialnow.rule.X = +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.dialnow.line_id.X = + +# X ranges from 1 to 100. +dialplan.replace.prefix.X = +dialplan.replace.replace.X = +dialplan.replace.line_id.X = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialnow.item.X = Dial-now rule,Line ID +#Dial-now rule: Specify the numbers that need replacing; +#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma; +dialnow.item.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.item.X = Enabled,Prefix,Replaced,LineID +#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; +#Replaced: Specify the alternate numbers; +#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma; +dialplan.item.1 = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.X.url = +#remote_phonebook.data.X.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## Network Directory ## +####################################################################################### +directory.update_time_interval = +directory.incoming_call_match_enable = 1 +bw.directory_enable = 0 + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Features ## +####################################################################################### +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1. +features.auto_answer_delay = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default); +features.allow_mute = + +features.group_listen_in_talking_enable = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +sip.trust_ctrl = {$yealink_trust_ctrl} + +#It enables or disables the IP phone to display the feature name instead of the feature access code when dialing and in talk;(0-Disabled;1-Enabled) +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} + +#Configure the power Indicator LED to turn on or turn off; 0-On (default), 1-Off; +features.power_led_on = 1 + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset, 2- Use Headset& Speaker; +features.ringer_device.is_use_headset = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = 1 + +features.idle_talk_power_led_flash_enable = + +#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled; +features.auto_release_bla_line = + +#It enables or disables the IP phone to display the pop-up message box when it receives a new voice mail. +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} + +#It enables or disables the IP phone to display the pop-up message box when it misses a call. +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} + + +####################################################################################### +## Features FWD ## +####################################################################################### +#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode. +features.fwd_mode = + +#0-Disabled , 1-Enabled (default) +features.fwd_diversion_enable = + +####################################################################################### +## Features DND ## +####################################################################################### +#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. +features.dnd_mode = +features.dnd.on_code = *78 +features.dnd.off_code = *79 +features.dnd.emergency_enable = 1 +features.dnd.emergency_authorized_number = + +####################################################################################### +## Features BLF ## +####################################################################################### +#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1. +features.blf_led_mode = {$yealink_blf_led_mode} + +features.blf_list_version = 0 +features.blf_and_callpark_idle_led_enable = 0 + +####################################################################################### +## Features Intercom ## +####################################################################################### +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.barge = + +####################################################################################### +## Features Hotline ## +####################################################################################### +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4. +features.hotline_number = +features.hotline_delay = + +####################################################################################### +## Features DTMF ## +####################################################################################### +#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled; +features.dtmf.hide = {$yealink_dtmf_hide} + +#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled; +features.dtmf.hide_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #. +features.dtmf.transfer = + +#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled; +features.dtmf.replace_tran = + +####################################################################################### +## Features Audio Settings ## +####################################################################################### +#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled; +features.headset_prior = + +#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled; +features.headset_training = + +features.alert_info_tone = + +#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default). +features.voice_mail_tone_enable = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key; +features.send_pound_key = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default); +features.play_hold_tone.enable = + +#Configure the interval of playing a warning tone. The default value is 30s. +features.play_hold_tone.delay = + +features.redial_tone = + +#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled; +features.partition_tone = + +#Configure the delay time (in milliseconds) before transfering a call. The default value is 0. +features.hold_trans_delay = + +#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); +features.play_local_dtmf_tone_enable= + +####################################################################################### +## Features Remote Phonebook ## +####################################################################################### +#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +####################################################################################### +## Features Action ## +####################################################################################### +#Specific the address(es) or enters 'any' from which Action URI will be accepted. +#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30 +#For continuous IP addresses, the format likes *.*.*.* and the '*' stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255. +#If left blank, the IP phone cannot receive or handle any HTTP GET request. +#If set to 'any', the IP phone accepts and handles HTTP GET requests from any IP address. +features.action_uri_limit_ip = + +features.action_uri_reboot_now = 0 + +####################################################################################### +## Features Prefix ## +####################################################################################### +#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled; +features.password_dial.enable = + +#Configure the prefix numbers displayed before the encrypted digits. +features.password_dial.prefix = + +#Configure the length of encrypted digits. +features.password_dial.length = + +####################################################################################### +## Features History ## +####################################################################################### +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +####################################################################################### +## Features Pickup ## +####################################################################################### +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +####################################################################################### +## Phone Setting ## +####################################################################################### +#Enable or disable the photo display on handset 0 = disable, 1= enable +phone_setting.contact_photo_display.enable = 0 + +#Enable or disable the called party information display 0 = disable 1 = enable +phone_setting.called_party_info_display.enable = 1 + +#Configure the call information display method 0 = Name + Number, 1 = Number + Name, 2 = Name, 3 = Number, 4 = Full contact info +phone_setting.call_info_display_method = 0 + +#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Resource:Ring2.wav +#phone_setting.ring_type = Resource:Ring1.wav +phone_setting.ring_type = {$yealink_ring_type} +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = +phone_setting.show_code403 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Configure the emergency number, each separated by a comma. The default value is 112,911,110. +phone_setting.emergency.number = {$yealink_emergency_number} + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.page_tip = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = 1 + +#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.headsetkey_mode = + +#Enable or disabled mail power led flash. 0-Disabled, 1-Enabled. +phone_setting.mail_power_led_flash_enable = 1 + +#It enables or disables the power indicator LED to flash when the IP phone misses a call. +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + +####################################################################################### +## Phone Setting UI ## +####################################################################################### +#Configure the active backlight level. It ranges from 1 to 3, the default value is 2. +#The same level for different phones may result in different backlight intensities. +phone_setting.active_backlight_level = +phone_setting.inactive_backlight_level = 1 + +####################################################################################### +## Phone Setting BLF ## +####################################################################################### +phone_setting.blf_list_enable = 1 +phone_setting.auto_blf_list_enable = 1 + +#Specify the prior of the line keys and EXP keys when automatically configure the blf list 0-Configure the line keys first, 1-Configure the EXP keys first; +phone_setting.blf_list_sequence_type = + +####################################################################################### +## Key Lock ## +####################################################################################### + +#Configure the keypad lock type; 0-Disabled (default), 1-Enable +phone_setting.lock = {$yealink_lock_enable} + +#Configure the unlock password for the phone. The default value is 123. +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} + +#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0. +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + +#Configure the keypad lock type;0-All Keys(default), 1-Function Key, 2-Menu Key +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} + +#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s. +phone_setting.backlight_time = {$yealink_backlight_time} + +####################################################################################### +## Wallpaper ## +####################################################################################### + +wallpaper_upload.url = {$yealink_t41p_wallpaper} +{if isset($yealink_t41p_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t41p_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t41p_wallpaper.png +{/if} + +####################################################################################### +## Multicast ## +####################################################################################### +#Configure the codec of multicast paging. +multicast.codec = + +#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default); +#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority. +multicast.receive_priority.enable = + +#Configure the priority of multicast paging calls. It ranges from 0 to 10. +multicast.receive_priority.priority = + +#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10. +multicast.listen_address.X.label = + +#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10. +multicast.listen_address.X.ip_address = + +####################################################################################### +## Super Search ## +####################################################################################### +super_search.recent_call = 1 + +####################################################################################### +## Broadsoft Phonebook ## +####################################################################################### +bw_phonebook.group_enable = 1 +bw_phonebook.personal_enable = 1 +bw_phonebook.group_common_enable = 0 +bw_phonebook.group_common_displayname = +bw_phonebook.enterprise_enable = 0 +bw_phonebook.enterprise_common_enable = 0 +bw_phonebook.enterprise_common_displayname = +bw_phonebook.call_log_enable = 1 +bw_phonebook.server_search_enable = 1 +bw_phonebook.group_displayname = +bw_phonebook.enterprise_displayname = +bw_phonebook.common_displayname = +bw_phonebook.personal_displayname = + +####################################################################################### +## Broadsoft ## +####################################################################################### +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + +####################################################################################### +## Security ## +####################################################################################### +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1. +#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd. + +#The following examples change the user's username to "user23" and the user's password to "user23pwd". +#security.user_name.user = user23 +#security.user_password = user23:user23pwd +#The following examples change the var's username to "var55" and the var's password to "var55pwd". +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Linekey ## +####################################################################################### +#The x of the parameter "linekey.x.line" ranges from 1 to 27. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.extension = +linekey.1.type = +linekey.1.label = +linekey.1.xml_phonebook = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.extension = +linekey.2.type = +linekey.2.label = +linekey.2.xml_phonebook = + +linekey.3.line = +linekey.3.value = +linekey.3.extension = +linekey.3.type = +linekey.3.label = +linekey.3.xml_phonebook = + +linekey.4.line = +linekey.4.value = +linekey.4.extension = +linekey.4.type = +linekey.4.label = +linekey.4.xml_phonebook = + +linekey.5.line = +linekey.5.value = +linekey.5.extension = +linekey.5.type = +linekey.5.label = +linekey.5.xml_phonebook = + +linekey.6.line = +linekey.6.value = +linekey.6.extension = +linekey.6.type = +linekey.6.label = +linekey.6.xml_phonebook = + +linekey.7.line = +linekey.7.value = +linekey.7.extension = +linekey.7.type = +linekey.7.label = +linekey.7.xml_phonebook = + +linekey.8.line = +linekey.8.value = +linekey.8.extension = +linekey.8.type = +linekey.8.label = +linekey.8.xml_phonebook = + +linekey.9.line = +linekey.9.value = +linekey.9.extension = +linekey.9.type = +linekey.9.label = +linekey.9.xml_phonebook = + +linekey.10.line = +linekey.10.value = +linekey.10.extension = +linekey.10.type = +linekey.10.label = +linekey.10.xml_phonebook = + +linekey.11.line = +linekey.11.value = +linekey.11.extension = +linekey.11.type = +linekey.11.label = +linekey.11.xml_phonebook = + +linekey.12.line = +linekey.12.value = +linekey.12.extension = +linekey.12.type = +linekey.12.label = +linekey.12.xml_phonebook = + +linekey.13.line = +linekey.13.value = +linekey.13.extension = +linekey.13.type = +linekey.13.label = +linekey.13.xml_phonebook = + +linekey.14.line = +linekey.14.value = +linekey.14.extension = +linekey.14.type = +linekey.14.label = +linekey.14.xml_phonebook = + +linekey.15.line = +linekey.15.value = +linekey.15.extension = +linekey.15.type = +linekey.15.xml_phonebook = +linekey.15.label = + +linekey.16.line = +linekey.16.value = +linekey.16.extension = +linekey.16.type = +linekey.16.xml_phonebook = +linekey.16.label = + +linekey.17.line = +linekey.17.value = +linekey.17.extension = +linekey.17.type = +linekey.17.xml_phonebook = +linekey.17.label = + +linekey.18.line = +linekey.18.value = +linekey.18.extension = +linekey.18.type = +linekey.18.xml_phonebook = +linekey.18.label = + +linekey.19.line = +linekey.19.value = +linekey.19.extension = +linekey.19.type = +linekey.19.xml_phonebook = +linekey.19.label = + +linekey.20.line = +linekey.20.value = +linekey.20.extension = +linekey.20.type = +linekey.20.xml_phonebook = +linekey.20.label = + +linekey.21.line = +linekey.21.value = +linekey.21.extension = +linekey.21.type = +linekey.21.xml_phonebook = +linekey.21.label = + +linekey.22.line = +linekey.22.value = +linekey.22.extension = +linekey.22.type = +linekey.22.xml_phonebook = +linekey.22.label = + +linekey.23.line = +linekey.23.value = +linekey.23.extension = +linekey.23.type = +linekey.23.xml_phonebook = +linekey.23.label = + +linekey.24.line = +linekey.24.value = +linekey.24.extension = +linekey.24.type = +linekey.24.xml_phonebook = +linekey.24.label = + +linekey.25.line = +linekey.25.value = +linekey.25.extension = +linekey.25.type = +linekey.25.xml_phonebook = +linekey.25.label = + +linekey.26.line = +linekey.26.value = +linekey.26.extension = +linekey.26.type = +linekey.26.xml_phonebook = +linekey.26.label = + +linekey.27.line = +linekey.27.value = +linekey.27.extension = +linekey.27.type = +linekey.27.xml_phonebook = +linekey.27.label = +####################################################################################### +## Programable key ## +####################################################################################### +#X ranges from 1 to 13. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Direct Pickup 13-Spead Dial +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 31-Switch Account 32-New SMS +#33-Status 40-PTT 43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 50-Keypad Lock +#PTT-add a specified prefix number before the dialed number. +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +########################################################################################## +## Expansion Key ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = +#expansion_module.X.key.Y.xml_phonebook = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Forward Always ## +####################################################################################### +#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled; +forward.always.enable = +forward.always.target = +forward.always.on_code = +forward.always.off_code = + +####################################################################################### +## Forward Busy ## +####################################################################################### +#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled; +forward.busy.enable = +forward.busy.target = +forward.busy.on_code = +forward.busy.off_code = + +####################################################################################### +## Forward No Answer ## +####################################################################################### +#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +forward.no_answer.enable = +forward.no_answer.target = +forward.no_answer.timeout = +forward.no_answer.on_code = +forward.no_answer.off_code = + +####################################################################################### +## Forward International ## +####################################################################################### +#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled; +forward.international.enable = + +####################################################################################### +## ACD ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = +acd.bw = + +####################################################################################### +## Hotdesking Startup ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 1 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 0 (default) +#hotdesking.startup_sip_server_enable = 0 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +####################################################################################### +## Hotdesking Dsskey ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 1 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 0 (default) +#hotdesking.dsskey_sip_server_enable = 0 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Alert Info ## +####################################################################################### +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Call Waiting ## +####################################################################################### +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +call_waiting.on_code = +call_waiting.off_code = + +####################################################################################### +## Call Park ## +####################################################################################### +call_park.enable = 0 +call_park.group_enable = 0 +call_park.park_ring = +call_park.park_visual_notify_enable = + +####################################################################################### +## Action URL ## +####################################################################################### +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.ip_change = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Ringtone ## +####################################################################################### +#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## UI Language ## +####################################################################################### +#Before using this parameter, you should store the desired language pack to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +gui_lang.url = + +#gui_lang.delete = http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +####################################################################################### +## Server Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Contact ## +####################################################################################### +#Before using these parameters, you should store the desired resource files to the provisioning server. +#For more information, refer to Yealink SIP-T41p IP Phone Family Administrator Guide. +local_contact.data.url = + +####################################################################################### +## Auto DST ## +####################################################################################### +auto_dst.url = {$yealink_auto_dst_url} + +####################################################################################### +## Dialplan Now ## +####################################################################################### +dialplan_dialnow.url = + +####################################################################################### +## Dialplan Replace ## +####################################################################################### +dialplan_replace_rule.url = + +####################################################################################### +## Custom Factory Configuration ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +#Before using this parameter, you should store the desired factory configuration file to the provisioning server. +custom_factory_configuration.url = + +####################################################################################### +## Custom Configuration ## +####################################################################################### +#Configure the access URL for downloading the configurations. +#Before using this parameter, you should store the desired configuration file to the provisioning server. +configuration.url = + +####################################################################################### +## Custom Softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +#Before using these parameters, you should store the desired XML files to the provisioning server. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Local Contact Photo ## +####################################################################################### +local_contact.data_photo_tar.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Before using this parameter, you should store the desired call list file to the provisioning server. +#Require reboot +call_list.url = + +####################################################################################### +## Open VPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +#Before using this parameter, you should store the desired VPN file to the provisioning server +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Level ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Before using this parameter, you should store the desired files to the provisioning server. +#Require reboot +web_item_level.url = + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +#Before using this parameter, you should store the desired firmware (x.71.x.x.rom) to the provisioning server. +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t41p} + diff --git a/resources/templates/provision/yealink/t4x/y000000000054.cfg b/resources/templates/provision/yealink/t4x/y000000000054.cfg new file mode 100644 index 0000000000..d07147017e --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000054.cfg @@ -0,0 +1,1650 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Hostname ## +####################################################################################### +network.dhcp_host_name = + +#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, submask, gateway and DNS server. +#Require reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns = {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +####################################################################################### +## PPPOE ## +####################################################################################### +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + + +####################################################################################### +## Network ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +network.internet_port.speed_duplex = +network.pc_port.speed_duplex = + +network.pc_port.dhcp_server = 1 +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + + +####################################################################################### +## VLAN ## +####################################################################################### +{if isset($yealink_vlan_enable)}network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}network.vlan.internet_port_enable = 0{/if} + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = {$yealink_vlan_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = {$yealink_vlan_cos} + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default); +#Require reboot; +network.vlan.dhcp_enable = + +#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255. +#Multiple options separated by a comma. It supports up to 5 options in all. +#Require reboot; +network.vlan.dhcp_option = + +####################################################################################### +## WEB Port ## +####################################################################################### +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +####################################################################################### +## QOS ## +####################################################################################### +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26. +#Require reboot; +network.qos.signaltos = + +####################################################################################### +## 802.1X ## +####################################################################################### +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2, 4:EAP-TTLS/EAP-MSCHAPv2; +#Require reboot; +network.802_1x.mode = +network.802_1x.identity = +network.802_1x.md5_password = +network.802_1x.root_cert_url = +network.802_1x.client_cert_url = + +####################################################################################### +## VPN ## +####################################################################################### +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +####################################################################################### +## LLDP ## +####################################################################################### +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +#Require reboot; +network.lldp.packet_interval = + +####################################################################################### +## SNMP ## +####################################################################################### +#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.snmp.enable = +network.snmp.port = + +#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space. +#Require reboot; +network.snmp.trust_ip = + +####################################################################################### +## Span to PC ## +####################################################################################### +#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.span_to_pc_port = + +####################################################################################### +## RTP Port ## +####################################################################################### +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +####################################################################################### +## SYSLOG ## +####################################################################################### +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## Redirect ## +####################################################################################### +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +####################################################################################### +## TR069 ## +####################################################################################### +#The TR069 feature is only applicable to some designated firmware version. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = +managementserver.username = +managementserver.password = +managementserver.url = +managementserver.connection_request_username = +managementserver.connection_request_password = +managementserver.periodic_inform_enable = 0 +managementserver.periodic_inform_interval = 60 + +####################################################################################### +## Autop Mode ## +####################################################################################### +#Configure the auto provision mode; +#0-Disabled , 1-Power on (default); +auto_provision.mode = + +####################################################################################### +## Autop PNP ## +####################################################################################### +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +####################################################################################### +## Autop DHCP ## +####################################################################################### +#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +####################################################################################### +## Autop Repeat ## +####################################################################################### +auto_provision.repeat.enable = 0 + +#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440. +#It is only applicable to "Repeatedly". +auto_provision.repeat.minutes = + +####################################################################################### +## Autop Weekly ## +####################################################################################### +auto_provision.weekly.enable = 0 + +#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456. +#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday; +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired week is Monday, Tuesday and Wednesday, the value format is 012. +auto_provision.weekly.mask = + +#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired start time of the day is seven forty-five a.m., the value format is 07:45. +auto_provision.weekly.begin_time = + +#Configure the end time of the day for the phone to check new configuration files. The default time is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired end time of the day is seven forty-five p.m., the value format is 19:45. +auto_provision.weekly.end_time = + +####################################################################################### +## Autop URL ## +####################################################################################### +auto_provision.server.url = {$yealink_provision_url} +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +####################################################################################### +## Autop Aes Key ## +####################################################################################### +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +custom_mac_cfg.url = + +#Configure the value (manufacturer of the device) of DHCP option 60. The default is yealink +auto_provision.dhcp_option.option60_value = + +####################################################################################### +## Autop Code ## +####################################################################################### +#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +autoprovision.X.name = + + +#Configure the auto provisioning code; +#The valid value is a string, the maximum length is 100. +autoprovision.X.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 511. +autoprovision.X.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +autoprovision.X.user = +autoprovision.X.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +autoprovision.X.com_aes = +autoprovision.X.mac_aes = + +####################################################################################### +## Watch Dog ## +####################################################################################### +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +####################################################################################### +## SIP Advanced ## +####################################################################################### +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = {$yealink_rfc2543_hold} + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +#Configures the local SIP port. Integer from 1024 to 65535 +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP; +voice.call_preview_mode= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +####################################################################################### +## Tones ## +####################################################################################### +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +####################################################################################### +## Volume ## +####################################################################################### +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handfree.tone_vol = +voice.handset.spk_vol = +voice.handset.tone_vol = +voice.headset.spk_vol = +voice.headset.tone_vol = +voice.ring_vol= + +####################################################################################### +## WEB HTTP(S) ## +####################################################################################### +wui.https_enable = +wui.http_enable = + +####################################################################################### +## Transfer ## +####################################################################################### +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = + +#Enable or disable the conference initiator to transfer the call when hanging up. +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +####################################################################################### +## Web Language ## +####################################################################################### +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = {$yealink_time_update} + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = {$yealink_dst_type} + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = 0 + +####################################################################################### +## Auto Redial ## +####################################################################################### +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the auto redial times. It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling= + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify= + +####################################################################################### +## Dial Plan ## +####################################################################################### +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by a comma. +#e.g. dialplan.area_code.line_id = 1,2,3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3. +#dialplan.block_out.line_id.X = 1,2,3 +dialplan.block_out.line_id.1 = + +# X ranges from 1 to 100. +#dialplan.dialnow.rule.X = +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.dialnow.line_id.X = + +# X ranges from 1 to 100. +dialplan.replace.prefix.X = +dialplan.replace.replace.X = +dialplan.replace.line_id.X = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialnow.item.X = Dial-now rule,Line ID +#Dial-now rule: Specify the numbers that need replacing; +#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma; +dialnow.item.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.item.X = Enabled,Prefix,Replaced,LineID +#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; +#Replaced: Specify the alternate numbers; +#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma; +dialplan.item.1 = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.X.url = +#remote_phonebook.data.X.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## Network Directory ## +####################################################################################### +directory.update_time_interval = +directory.incoming_call_match_enable = 1 +bw.directory_enable = 0 + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Features ## +####################################################################################### +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1. +features.auto_answer_delay = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default); +features.allow_mute = + +features.group_listen_in_talking_enable = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +sip.trust_ctrl = {$yealink_trust_ctrl} + +#It enables or disables the IP phone to display the feature name instead of the feature access code when dialing and in talk;(0-Disabled;1-Enabled) +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} + +#Configure the power Indicator LED to turn on or turn off; 0-On (default), 1-Off; +features.power_led_on = 1 + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset, 2- Use Headset& Speaker; +features.ringer_device.is_use_headset = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = 1 + +features.idle_talk_power_led_flash_enable = + +#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled; +features.auto_release_bla_line = + +#It enables or disables the IP phone to display the pop-up message box when it receives a new voice mail. +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} + +#It enables or disables the IP phone to display the pop-up message box when it misses a call. +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} + + +####################################################################################### +## Features FWD ## +####################################################################################### +#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode. +features.fwd_mode = + +#0-Disabled , 1-Enabled (default) +features.fwd_diversion_enable = + +####################################################################################### +## Features DND ## +####################################################################################### +#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. +features.dnd_mode = +features.dnd.on_code = *78 +features.dnd.off_code = *79 +features.dnd.emergency_enable = 1 +features.dnd.emergency_authorized_number = + +####################################################################################### +## Features BLF ## +####################################################################################### +#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1. +features.blf_led_mode = {$yealink_blf_led_mode} + +features.blf_list_version = 0 +features.blf_and_callpark_idle_led_enable = 0 + +####################################################################################### +## Features Intercom ## +####################################################################################### +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.barge = + +####################################################################################### +## Features Hotline ## +####################################################################################### +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4. +features.hotline_number = +features.hotline_delay = + +####################################################################################### +## Features DTMF ## +####################################################################################### +#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled; +features.dtmf.hide = {$yealink_dtmf_hide} + +#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled; +features.dtmf.hide_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #. +features.dtmf.transfer = + +#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled; +features.dtmf.replace_tran = + +####################################################################################### +## Features Audio Settings ## +####################################################################################### +#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled; +features.headset_prior = + +#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled; +features.headset_training = + +features.alert_info_tone = + +#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default). +features.voice_mail_tone_enable = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key; +features.send_pound_key = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default); +features.play_hold_tone.enable = + +#Configure the interval of playing a warning tone. The default value is 30s. +features.play_hold_tone.delay = + +features.redial_tone = + +#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled; +features.partition_tone = + +#Configure the delay time (in milliseconds) before transfering a call. The default value is 0. +features.hold_trans_delay = + +#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); +features.play_local_dtmf_tone_enable= + +####################################################################################### +## Features Remote Phonebook ## +####################################################################################### +#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +####################################################################################### +## Features Action ## +####################################################################################### +#Specific the address(es) or enters 'any' from which Action URI will be accepted. +#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30 +#For continuous IP addresses, the format likes *.*.*.* and the '*' stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255. +#If left blank, the IP phone cannot receive or handle any HTTP GET request. +#If set to 'any', the IP phone accepts and handles HTTP GET requests from any IP address. +features.action_uri_limit_ip = + +features.action_uri_reboot_now = 0 + +####################################################################################### +## Features Prefix ## +####################################################################################### +#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled; +features.password_dial.enable = + +#Configure the prefix numbers displayed before the encrypted digits. +features.password_dial.prefix = + +#Configure the length of encrypted digits. +features.password_dial.length = + +####################################################################################### +## Features History ## +####################################################################################### +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +####################################################################################### +## Features Pickup ## +####################################################################################### +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +####################################################################################### +## Phone Setting ## +####################################################################################### +#Enable or disable the photo display on handset 0 = disable, 1 = enable +phone_setting.contact_photo_display.enable = 0 + +#Enable or disable the called party information display 0 = disable 1 = enable +phone_setting.called_party_info_display.enable = 1 + +#Configure the call information display method 0 = Name + Number, 1 = Number + Name, 2 = Name, 3 = Number, 4 = Full contact info +phone_setting.call_info_display_method = 0 + +#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Resource:Ring2.wav +#phone_setting.ring_type = Resource:Ring1.wav +phone_setting.ring_type = {$yealink_ring_type} +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = +phone_setting.show_code403 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Configure the emergency number, each separated by a comma. The default value is 112,911,110. +phone_setting.emergency.number = {$yealink_emergency_number} + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.page_tip = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = 1 + +#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.headsetkey_mode = + +#Enable or disabled mail power led flash. 0-Disabled, 1-Enabled. +phone_setting.mail_power_led_flash_enable = 1 + +#It enables or disables the power indicator LED to flash when the IP phone misses a call. +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + +####################################################################################### +## Phone Setting UI ## +####################################################################################### +#Configure the active backlight level. It ranges from 1 to 3, the default value is 2. +#The same level for different phones may result in different backlight intensities. +phone_setting.active_backlight_level = +phone_setting.inactive_backlight_level = 1 + +####################################################################################### +## Phone Setting BLF ## +####################################################################################### +phone_setting.blf_list_enable = 1 +phone_setting.auto_blf_list_enable = 1 + +#Specify the prior of the line keys and EXP keys when automatically configure the blf list 0-Configure the line keys first, 1-Configure the EXP keys first; +phone_setting.blf_list_sequence_type = + +####################################################################################### +## Key Lock ## +####################################################################################### + +#Configure the keypad lock type; 0-Disabled (default), 1-Enable +phone_setting.lock = {$yealink_lock_enable} + +#Configure the unlock password for the phone. The default value is 123. +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} + +#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0. +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + +#Configure the keypad lock type;0-All Keys(default), 1-Function Key, 2-Menu Key +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} + +#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s. +phone_setting.backlight_time = {$yealink_backlight_time} + +####################################################################################### +## Wallpaper ## +####################################################################################### + +wallpaper_upload.url = {$yealink_t40p_wallpaper} +{if isset($yealink_t40p_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t40p_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t40p_wallpaper.png +{/if} + +####################################################################################### +## Multicast ## +####################################################################################### +#Configure the codec of multicast paging. +multicast.codec = + +#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default); +#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority. +multicast.receive_priority.enable = + +#Configure the priority of multicast paging calls. It ranges from 0 to 10. +multicast.receive_priority.priority = + +#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10. +multicast.listen_address.X.label = + +#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10. +multicast.listen_address.X.ip_address = + +####################################################################################### +## Super Search ## +####################################################################################### +super_search.recent_call = 1 + +####################################################################################### +## Broadsoft Phonebook ## +####################################################################################### +bw_phonebook.group_enable = 1 +bw_phonebook.personal_enable = 1 +bw_phonebook.group_common_enable = 0 +bw_phonebook.group_common_displayname = +bw_phonebook.enterprise_enable = 0 +bw_phonebook.enterprise_common_enable = 0 +bw_phonebook.enterprise_common_displayname = +bw_phonebook.call_log_enable = 1 +bw_phonebook.server_search_enable = 1 +bw_phonebook.group_displayname = +bw_phonebook.enterprise_displayname = +bw_phonebook.common_displayname = +bw_phonebook.personal_displayname = + +####################################################################################### +## Broadsoft ## +####################################################################################### +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Security ## +####################################################################################### +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1. +#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd. + +#The following examples change the user's username to "user23" and the user's password to "user23pwd". +#security.user_name.user = user23 +#security.user_password = user23:user23pwd +#The following examples change the var's username to "var55" and the var's password to "var55pwd". +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Linekey ## +####################################################################################### +#The x of the parameter "linekey.x.line" ranges from 1 to 27. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.extension = +linekey.1.type = +linekey.1.label = +linekey.1.xml_phonebook = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.extension = +linekey.2.type = +linekey.2.label = +linekey.2.xml_phonebook = + +linekey.3.line = +linekey.3.value = +linekey.3.extension = +linekey.3.type = +linekey.3.label = +linekey.3.xml_phonebook = + +linekey.4.line = +linekey.4.value = +linekey.4.extension = +linekey.4.type = +linekey.4.label = +linekey.4.xml_phonebook = + +linekey.5.line = +linekey.5.value = +linekey.5.extension = +linekey.5.type = +linekey.5.label = +linekey.5.xml_phonebook = + +linekey.6.line = +linekey.6.value = +linekey.6.extension = +linekey.6.type = +linekey.6.label = +linekey.6.xml_phonebook = + +linekey.7.line = +linekey.7.value = +linekey.7.extension = +linekey.7.type = +linekey.7.label = +linekey.7.xml_phonebook = + +linekey.8.line = +linekey.8.value = +linekey.8.extension = +linekey.8.type = +linekey.8.label = +linekey.8.xml_phonebook = + +linekey.9.line = +linekey.9.value = +linekey.9.extension = +linekey.9.type = +linekey.9.label = +linekey.9.xml_phonebook = + +linekey.10.line = +linekey.10.value = +linekey.10.extension = +linekey.10.type = +linekey.10.label = +linekey.10.xml_phonebook = + +linekey.11.line = +linekey.11.value = +linekey.11.extension = +linekey.11.type = +linekey.11.label = +linekey.11.xml_phonebook = + +linekey.12.line = +linekey.12.value = +linekey.12.extension = +linekey.12.type = +linekey.12.label = +linekey.12.xml_phonebook = + +linekey.13.line = +linekey.13.value = +linekey.13.extension = +linekey.13.type = +linekey.13.label = +linekey.13.xml_phonebook = + +linekey.14.line = +linekey.14.value = +linekey.14.extension = +linekey.14.type = +linekey.14.label = +linekey.14.xml_phonebook = + +linekey.15.line = +linekey.15.value = +linekey.15.extension = +linekey.15.type = +linekey.15.xml_phonebook = +linekey.15.label = + +linekey.16.line = +linekey.16.value = +linekey.16.extension = +linekey.16.type = +linekey.16.xml_phonebook = +linekey.16.label = + +linekey.17.line = +linekey.17.value = +linekey.17.extension = +linekey.17.type = +linekey.17.xml_phonebook = +linekey.17.label = + +linekey.18.line = +linekey.18.value = +linekey.18.extension = +linekey.18.type = +linekey.18.xml_phonebook = +linekey.18.label = + +linekey.19.line = +linekey.19.value = +linekey.19.extension = +linekey.19.type = +linekey.19.xml_phonebook = +linekey.19.label = + +linekey.20.line = +linekey.20.value = +linekey.20.extension = +linekey.20.type = +linekey.20.xml_phonebook = +linekey.20.label = + +linekey.21.line = +linekey.21.value = +linekey.21.extension = +linekey.21.type = +linekey.21.xml_phonebook = +linekey.21.label = + +linekey.22.line = +linekey.22.value = +linekey.22.extension = +linekey.22.type = +linekey.22.xml_phonebook = +linekey.22.label = + +linekey.23.line = +linekey.23.value = +linekey.23.extension = +linekey.23.type = +linekey.23.xml_phonebook = +linekey.23.label = + +linekey.24.line = +linekey.24.value = +linekey.24.extension = +linekey.24.type = +linekey.24.xml_phonebook = +linekey.24.label = + +linekey.25.line = +linekey.25.value = +linekey.25.extension = +linekey.25.type = +linekey.25.xml_phonebook = +linekey.25.label = + +linekey.26.line = +linekey.26.value = +linekey.26.extension = +linekey.26.type = +linekey.26.xml_phonebook = +linekey.26.label = + +linekey.27.line = +linekey.27.value = +linekey.27.extension = +linekey.27.type = +linekey.27.xml_phonebook = +linekey.27.label = +####################################################################################### +## Programable key ## +####################################################################################### +#X ranges from 1 to 13. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Direct Pickup 13-Spead Dial +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 31-Switch Account 32-New SMS +#33-Status 40-PTT 43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 50-Keypad Lock +#PTT-add a specified prefix number before the dialed number. +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +########################################################################################## +## Expansion Key ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = +#expansion_module.X.key.Y.xml_phonebook = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Forward Always ## +####################################################################################### +#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled; +forward.always.enable = +forward.always.target = +forward.always.on_code = +forward.always.off_code = + +####################################################################################### +## Forward Busy ## +####################################################################################### +#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled; +forward.busy.enable = +forward.busy.target = +forward.busy.on_code = +forward.busy.off_code = + +####################################################################################### +## Forward No Answer ## +####################################################################################### +#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +forward.no_answer.enable = +forward.no_answer.target = +forward.no_answer.timeout = +forward.no_answer.on_code = +forward.no_answer.off_code = + +####################################################################################### +## Forward International ## +####################################################################################### +#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled; +forward.international.enable = + +####################################################################################### +## ACD ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = +acd.bw = + +####################################################################################### +## Hotdesking Startup ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 1 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 0 (default) +#hotdesking.startup_sip_server_enable = 0 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +####################################################################################### +## Hotdesking Dsskey ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 1 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 0 (default) +#hotdesking.dsskey_sip_server_enable = 0 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Alert Info ## +####################################################################################### +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Call Waiting ## +####################################################################################### +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +call_waiting.on_code = +call_waiting.off_code = + +####################################################################################### +## Call Park ## +####################################################################################### +call_park.enable = 0 +call_park.group_enable = 0 +call_park.park_ring = +call_park.park_visual_notify_enable = + +####################################################################################### +## Action URL ## +####################################################################################### +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.ip_change = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Ringtone ## +####################################################################################### +#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## UI Language ## +####################################################################################### +#Before using this parameter, you should store the desired language pack to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +gui_lang.url = + +#gui_lang.delete = http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +####################################################################################### +## Server Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Contact ## +####################################################################################### +#Before using these parameters, you should store the desired resource files to the provisioning server. +#For more information, refer to Yealink SIP-T40p IP Phone Family Administrator Guide. +local_contact.data.url = + +####################################################################################### +## Auto DST ## +####################################################################################### +auto_dst.url = {$yealink_auto_dst_url} + +####################################################################################### +## Dialplan Now ## +####################################################################################### +dialplan_dialnow.url = + +####################################################################################### +## Dialplan Replace ## +####################################################################################### +dialplan_replace_rule.url = + +####################################################################################### +## Custom Factory Configuration ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +#Before using this parameter, you should store the desired factory configuration file to the provisioning server. +custom_factory_configuration.url = + +####################################################################################### +## Custom Configuration ## +####################################################################################### +#Configure the access URL for downloading the configurations. +#Before using this parameter, you should store the desired configuration file to the provisioning server. +configuration.url = + +####################################################################################### +## Custom Softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +#Before using these parameters, you should store the desired XML files to the provisioning server. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Local Contact Photo ## +####################################################################################### +local_contact.data_photo_tar.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Before using this parameter, you should store the desired call list file to the provisioning server. +#Require reboot +call_list.url = + +####################################################################################### +## Open VPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +#Before using this parameter, you should store the desired VPN file to the provisioning server +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Level ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Before using this parameter, you should store the desired files to the provisioning server. +#Require reboot +web_item_level.url = + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +#Before using this parameter, you should store the desired firmware (x.71.x.x.rom) to the provisioning server. +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t40p} + diff --git a/resources/templates/provision/yealink/t4x/y000000000065.cfg b/resources/templates/provision/yealink/t4x/y000000000065.cfg new file mode 100644 index 0000000000..1f4bb7a0e5 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000065.cfg @@ -0,0 +1,1754 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = +static.wifi.1.label = +static.wifi.1.ssid = +static.wifi.1.priority = +static.wifi.1.security_mode = +static.wifi.1.cipher_type = +static.wifi.1.password = +static.wifi.1.eap_type = +static.wifi.1.eap_user_name = +static.wifi.1.eap_password = +static.wifi.show_scan_prompt = + + +####################################################################################### +## NETWORK ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +network.ipv6_prefix = 64 +network.ipv6_internet_port.type = +network.ipv6_internet_port.ip = +network.ipv6_internet_port.gateway = +network.ipv6_primary_dns = +network.ipv6_secondary_dns = +network.ipv6_icmp_v6.enable = + +#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, subnet mask, gateway and DNS server; +#Require Reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +{if isset($dns_server_primary)}network.primary_dns = {$dns_server_primary}{/if} + +{if isset($dns_server_secondary)}network.secondary_dns = {$dns_server_secondary}{/if} + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = + +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + +static.network.pc_port.enable = +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = {$yealink_lldp_enable} +static.network.lldp.packet_interval = + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} + +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = +static.zero_touch.wait_time = +static.features.hide_zero_touch_url.enable = +static.zero_touch.network_fail_delay_times = +static.zero_touch.network_fail_wait_times = + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = +static.auto_provision.weekly.dayofweek = +static.auto_provision.weekly.end_time = +static.auto_provision.weekly.begin_time = +static.auto_provision.weekly_upgrade_interval = + + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = +static.auto_provision.repeat.minutes = + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = 0 +static.managementserver.periodic_inform_interval = 60 +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + +####################################################################################### +## Redirect ## +####################################################################################### +static.redirect.user_name = +static.redirect.password = + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t48s} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.factory_reset_option = +features.reset_by_long_press_enable = +features.factory_pwd_enable = +features.export_cfg_erase_pwd = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = +static.syslog.bootlog_upload_wait_time = +static.syslog.ftp.append_limit_mode = +static.syslog.ftp.max_logfile = +static.syslog.ftp.post_mode = +static.syslog.log_upload_period = +static.syslog.log_level = +static.network.promisc_mode.enable = + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +static.security.user_password = {$var_name}:{$var_password} +static.security.user_password = {$admin_name}:{$admin_password} +static.security.user_password = {$user_name}:{$user_password} +static.security.user_name.var = {$var_name} +static.security.user_name.admin = {$admin_name} +static.security.user_name.user = {$user_name} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + +####################################################################################### +## Transfer ## +####################################################################################### +features.transfer_type= +dialplan.transfer.mode = +transfer.on_hook_trans_enable = +transfer.tran_others_after_conf_enable = +transfer.blind_tran_on_hook_enable = +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method = 0 +phone_setting.called_party_info_display.enable = 1 +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= +features.hold_trans_delay= +transfer.multi_call_trans_enable = +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= +features.bluetooth_adapter_name= + + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= + + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= +voice.jib.max = +voice.jib.min = +voice.jib.adaptive = + +voice.jib.wifi.normal= +voice.jib.wifi.max= +voice.jib.wifi.min= +voice.jib.wifi.adaptive= + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = +voice.cng = +voice.vad = + + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = + +sip.dns_transport_type= +sip.skip_redundant_failover_addr= +sip.switch_server_on_503_response= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.listen_in_peer_localip.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= + +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable = 0 +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.flags = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= +voice.rtcp_cname= +voice.rtcp_xr.enable= +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= +phone_setting.vq_rtcpxr_display_moscq.enable= +phone_setting.vq_rtcpxr_display_moslq.enable = +phone_setting.vq_rtcpxr_display_packets_lost.enable= +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= +phone_setting.vq_rtcpxr_display_jitter.enable= +phone_setting.vq_rtcpxr_display_remote_codec.enable= +phone_setting.vq_rtcpxr_display_local_codec.enable= +phone_setting.vq_rtcpxr_display_remote_call_id.enable= +phone_setting.vq_rtcpxr_display_local_call_id.enable= +phone_setting.vq_rtcpxr_display_stop_time.enable= +phone_setting.vq_rtcpxr_display_start_time.enable= +phone_setting.vq_rtcpxr_interval_period= +phone_setting.vq_rtcpxr_delay_threshold_critical= +phone_setting.vq_rtcpxr_delay_threshold_warning= +phone_setting.vq_rtcpxr_moslq_threshold_critical= +phone_setting.vq_rtcpxr_moslq_threshold_warning= +phone_setting.vq_rtcpxr.interval_report.enable= +phone_setting.vq_rtcpxr.states_show_on_gui.enable= +phone_setting.vq_rtcpxr.states_show_on_web.enable= +phone_setting.vq_rtcpxr.session_report.enable= + + +####################################################################################### +## Contact ## +####################################################################################### + +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable = 0 + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +directory_setting.history.enable= +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.pickup_value +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.pickup_value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +#linekey.1.label = +#linekey.1.line = +#linekey.1.value = +#linekey.1.pickup_value = +#linekey.1.extension = +#linekey.1.type = +#linekey.1.xml_phonebook = + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} + +{/foreach} + + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.pickup_value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code = *79 +features.dnd.on_code = *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable = 1 +features.dnd.large_icon.enable= + + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + +####################################################################################### +## UME ## +####################################################################################### +action_url.is_ume= + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= +phone_setting.lcd_logo.mode= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialnow.item.1= +dialplan.dialnow.line_id.1= +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = 15 +dialplan.area_code.min_len = 1 +dialplan.area_code.code= + + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +static.lang.gui = {$yealink_language_gui} +static.lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= +screensaver.delete= +screensaver.upload_url= +features.blf_active_backlight.enable= +screensaver.display_clock.enable= +screensaver.clock_move_interval= +screensaver.picture_change_interval= +screensaver.wait_time= +screensaver.xml_browser.url= + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t48s_wallpaper} +{if isset($yealink_t48s_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t48s_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t48s_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable = 1 +phone_setting.blf_list_sequence_type = 1 + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.parked.action = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.parked.action = +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.parked.action = +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.parked.action = +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable = 0 +blf.enhanced.idle.led= +blf.enhanced.idle.parked.action= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version = 0 +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = diff --git a/resources/templates/provision/yealink/t4x/y000000000066.cfg b/resources/templates/provision/yealink/t4x/y000000000066.cfg new file mode 100644 index 0000000000..c6edb16fbc --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000066.cfg @@ -0,0 +1,1704 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +static.network.cdp.enable = +static.network.cdp.packet_interval = + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = +static.wifi.1.label = +static.wifi.1.ssid = +static.wifi.1.priority = +static.wifi.1.security_mode = +static.wifi.1.cipher_type = +static.wifi.1.password = +static.wifi.1.eap_type = +static.wifi.1.eap_user_name = +static.wifi.1.eap_password = +static.wifi.show_scan_prompt = + + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = +static.network.static_dns_enable = +static.network.pc_port.enable = +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = +static.network.lldp.packet_interval = + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} + +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = +static.zero_touch.wait_time = +static.features.hide_zero_touch_url.enable = +static.zero_touch.network_fail_delay_times = +static.zero_touch.network_fail_wait_times = + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = +static.auto_provision.weekly.dayofweek = +static.auto_provision.weekly.end_time = +static.auto_provision.weekly.begin_time = +static.auto_provision.weekly_upgrade_interval = + + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = +static.auto_provision.repeat.minutes = + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = 0 +static.managementserver.periodic_inform_interval = 60 +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + +####################################################################################### +## Redirect ## +####################################################################################### +static.redirect.user_name = +static.redirect.password = + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t46s} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.factory_reset_option = +features.reset_by_long_press_enable = +features.factory_pwd_enable = +features.export_cfg_erase_pwd = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = +static.syslog.bootlog_upload_wait_time = +static.syslog.ftp.append_limit_mode = +static.syslog.ftp.max_logfile = +static.syslog.ftp.post_mode = +static.syslog.log_upload_period = +static.syslog.log_level = +static.network.promisc_mode.enable = + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +static.security.user_password = {$var_name}:{$var_password} +static.security.user_password = {$admin_name}:{$admin_password} +static.security.user_password = {$user_name}:{$user_password} +static.security.user_name.var = {$var_name} +static.security.user_name.admin = {$admin_name} +static.security.user_name.user = {$user_name} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + +####################################################################################### +## Transfer ## +####################################################################################### +features.transfer_type= +dialplan.transfer.mode = +transfer.on_hook_trans_enable = +transfer.tran_others_after_conf_enable = +transfer.blind_tran_on_hook_enable = +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method = 0 +phone_setting.called_party_info_display.enable = 1 +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= +features.hold_trans_delay= +transfer.multi_call_trans_enable = +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= +features.bluetooth_adapter_name= + + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= + + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= +voice.jib.max = +voice.jib.min = +voice.jib.adaptive = + +voice.jib.wifi.normal= +voice.jib.wifi.max= +voice.jib.wifi.min= +voice.jib.wifi.adaptive= + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = +voice.cng = +voice.vad = + + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = + +sip.dns_transport_type= +sip.skip_redundant_failover_addr= +sip.switch_server_on_503_response= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.listen_in_peer_localip.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= + +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable = 0 +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.flags = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= +voice.rtcp_cname= +voice.rtcp_xr.enable= +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= +phone_setting.vq_rtcpxr_display_moscq.enable= +phone_setting.vq_rtcpxr_display_moslq.enable = +phone_setting.vq_rtcpxr_display_packets_lost.enable= +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= +phone_setting.vq_rtcpxr_display_jitter.enable= +phone_setting.vq_rtcpxr_display_remote_codec.enable= +phone_setting.vq_rtcpxr_display_local_codec.enable= +phone_setting.vq_rtcpxr_display_remote_call_id.enable= +phone_setting.vq_rtcpxr_display_local_call_id.enable= +phone_setting.vq_rtcpxr_display_stop_time.enable= +phone_setting.vq_rtcpxr_display_start_time.enable= +phone_setting.vq_rtcpxr_interval_period= +phone_setting.vq_rtcpxr_delay_threshold_critical= +phone_setting.vq_rtcpxr_delay_threshold_warning= +phone_setting.vq_rtcpxr_moslq_threshold_critical= +phone_setting.vq_rtcpxr_moslq_threshold_warning= +phone_setting.vq_rtcpxr.interval_report.enable= +phone_setting.vq_rtcpxr.states_show_on_gui.enable= +phone_setting.vq_rtcpxr.states_show_on_web.enable= +phone_setting.vq_rtcpxr.session_report.enable= + + +####################################################################################### +## Contact ## +####################################################################################### + +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable = 0 + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +directory_setting.history.enable= +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.pickup_value +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.pickup_value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} + +{/foreach} + + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.pickup_value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code = *79 +features.dnd.on_code = *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable = 1 +features.dnd.large_icon.enable= + + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + +####################################################################################### +## UME ## +####################################################################################### +action_url.is_ume= + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= +phone_setting.lcd_logo.mode= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialnow.item.1= +dialplan.dialnow.line_id.1= +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = 15 +dialplan.area_code.min_len = 1 +dialplan.area_code.code= + + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +lang.gui = {$yealink_language_gui} +static.lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= +screensaver.delete= +screensaver.upload_url= +features.blf_active_backlight.enable= +screensaver.display_clock.enable= +screensaver.clock_move_interval= +screensaver.picture_change_interval= +screensaver.wait_time= +screensaver.xml_browser.url= + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t46s_wallpaper} +{if isset($yealink_t46s_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t46s_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t46s_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable = 1 +phone_setting.blf_list_sequence_type = 1 + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.parked.action = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.parked.action = +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.parked.action = +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.parked.action = +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable = 0 +blf.enhanced.idle.led= +blf.enhanced.idle.parked.action= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version = 0 +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = + diff --git a/resources/templates/provision/yealink/t4x/y000000000067.cfg b/resources/templates/provision/yealink/t4x/y000000000067.cfg new file mode 100644 index 0000000000..7a4b7da648 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000067.cfg @@ -0,0 +1,1704 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +static.network.cdp.enable = +static.network.cdp.packet_interval = + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = +static.wifi.1.label = +static.wifi.1.ssid = +static.wifi.1.priority = +static.wifi.1.security_mode = +static.wifi.1.cipher_type = +static.wifi.1.password = +static.wifi.1.eap_type = +static.wifi.1.eap_user_name = +static.wifi.1.eap_password = +static.wifi.show_scan_prompt = + + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = +static.network.static_dns_enable = +static.network.pc_port.enable = +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = +static.network.lldp.packet_interval = + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} + +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = +static.zero_touch.wait_time = +static.features.hide_zero_touch_url.enable = +static.zero_touch.network_fail_delay_times = +static.zero_touch.network_fail_wait_times = + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = +static.auto_provision.weekly.dayofweek = +static.auto_provision.weekly.end_time = +static.auto_provision.weekly.begin_time = +static.auto_provision.weekly_upgrade_interval = + + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = +static.auto_provision.repeat.minutes = + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = 0 +static.managementserver.periodic_inform_interval = 60 +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + +####################################################################################### +## Redirect ## +####################################################################################### +static.redirect.user_name = +static.redirect.password = + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t42s} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.factory_reset_option = +features.reset_by_long_press_enable = +features.factory_pwd_enable = +features.export_cfg_erase_pwd = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = +static.syslog.bootlog_upload_wait_time = +static.syslog.ftp.append_limit_mode = +static.syslog.ftp.max_logfile = +static.syslog.ftp.post_mode = +static.syslog.log_upload_period = +static.syslog.log_level = +static.network.promisc_mode.enable = + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +static.security.user_password = {$var_name}:{$var_password} +static.security.user_password = {$admin_name}:{$admin_password} +static.security.user_password = {$user_name}:{$user_password} +static.security.user_name.var = {$var_name} +static.security.user_name.admin = {$admin_name} +static.security.user_name.user = {$user_name} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + +####################################################################################### +## Transfer ## +####################################################################################### +features.transfer_type= {$yealink_transfer_type} +dialplan.transfer.mode = {$yealink_transfer_mode} +transfer.on_hook_trans_enable = {$yealink_transfer_onhook} +transfer.tran_others_after_conf_enable = {$yealink_transfer_after_conf} +transfer.blind_tran_on_hook_enable = {$yealink_transfer_blind_on_hook} +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= {$yealink_transfer_via_new_linekey} + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method = 0 +phone_setting.called_party_info_display.enable = 1 +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= +features.hold_trans_delay= +transfer.multi_call_trans_enable = +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= +features.bluetooth_adapter_name= + + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= + + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= +voice.jib.max = +voice.jib.min = +voice.jib.adaptive = + +voice.jib.wifi.normal= +voice.jib.wifi.max= +voice.jib.wifi.min= +voice.jib.wifi.adaptive= + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = +voice.cng = +voice.vad = + + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = + +sip.dns_transport_type= +sip.skip_redundant_failover_addr= +sip.switch_server_on_503_response= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.listen_in_peer_localip.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= + +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable = 0 +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.flags = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= +voice.rtcp_cname= +voice.rtcp_xr.enable= +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= +phone_setting.vq_rtcpxr_display_moscq.enable= +phone_setting.vq_rtcpxr_display_moslq.enable = +phone_setting.vq_rtcpxr_display_packets_lost.enable= +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= +phone_setting.vq_rtcpxr_display_jitter.enable= +phone_setting.vq_rtcpxr_display_remote_codec.enable= +phone_setting.vq_rtcpxr_display_local_codec.enable= +phone_setting.vq_rtcpxr_display_remote_call_id.enable= +phone_setting.vq_rtcpxr_display_local_call_id.enable= +phone_setting.vq_rtcpxr_display_stop_time.enable= +phone_setting.vq_rtcpxr_display_start_time.enable= +phone_setting.vq_rtcpxr_interval_period= +phone_setting.vq_rtcpxr_delay_threshold_critical= +phone_setting.vq_rtcpxr_delay_threshold_warning= +phone_setting.vq_rtcpxr_moslq_threshold_critical= +phone_setting.vq_rtcpxr_moslq_threshold_warning= +phone_setting.vq_rtcpxr.interval_report.enable= +phone_setting.vq_rtcpxr.states_show_on_gui.enable= +phone_setting.vq_rtcpxr.states_show_on_web.enable= +phone_setting.vq_rtcpxr.session_report.enable= + + +####################################################################################### +## Contact ## +####################################################################################### + +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable = 0 + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +directory_setting.history.enable= +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.pickup_value +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.pickup_value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} + +{/foreach} + + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.pickup_value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code = *79 +features.dnd.on_code = *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable = 1 +features.dnd.large_icon.enable= + + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + +####################################################################################### +## UME ## +####################################################################################### +action_url.is_ume= + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= +phone_setting.lcd_logo.mode= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialnow.item.1= +dialplan.dialnow.line_id.1= +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = 15 +dialplan.area_code.min_len = 1 +dialplan.area_code.code= + + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +static.lang.gui = {$yealink_language_gui} +static.lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= +screensaver.delete= +screensaver.upload_url= +features.blf_active_backlight.enable= +screensaver.display_clock.enable= +screensaver.clock_move_interval= +screensaver.picture_change_interval= +screensaver.wait_time= +screensaver.xml_browser.url= + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t42s_wallpaper} +{if isset($yealink_t42s_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t42s_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t42s_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable = 1 +phone_setting.blf_list_sequence_type = 1 + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.parked.action = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.parked.action = +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.parked.action = +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.parked.action = +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable = 0 +blf.enhanced.idle.led= +blf.enhanced.idle.parked.action= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version = 0 +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = + diff --git a/resources/templates/provision/yealink/t4x/y000000000068.cfg b/resources/templates/provision/yealink/t4x/y000000000068.cfg new file mode 100644 index 0000000000..5a91a12b24 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000068.cfg @@ -0,0 +1,1708 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +static.network.cdp.enable = +static.network.cdp.packet_interval = + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = +static.wifi.1.label = +static.wifi.1.ssid = +static.wifi.1.priority = +static.wifi.1.security_mode = +static.wifi.1.cipher_type = +static.wifi.1.password = +static.wifi.1.eap_type = +static.wifi.1.eap_user_name = +static.wifi.1.eap_password = +static.wifi.show_scan_prompt = + + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = +static.network.static_dns_enable = +static.network.pc_port.enable = +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = +static.network.lldp.packet_interval = + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} + +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = +static.zero_touch.wait_time = +static.features.hide_zero_touch_url.enable = +static.zero_touch.network_fail_delay_times = +static.zero_touch.network_fail_wait_times = + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = +static.auto_provision.weekly.dayofweek = +static.auto_provision.weekly.end_time = +static.auto_provision.weekly.begin_time = +static.auto_provision.weekly_upgrade_interval = + + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = +static.auto_provision.repeat.minutes = + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = 0 +static.managementserver.periodic_inform_interval = 60 +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + +####################################################################################### +## Redirect ## +####################################################################################### +static.redirect.user_name = +static.redirect.password = + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t41s} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.factory_reset_option = +features.reset_by_long_press_enable = +features.factory_pwd_enable = +features.export_cfg_erase_pwd = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = +static.syslog.bootlog_upload_wait_time = +static.syslog.ftp.append_limit_mode = +static.syslog.ftp.max_logfile = +static.syslog.ftp.post_mode = +static.syslog.log_upload_period = +static.syslog.log_level = +static.network.promisc_mode.enable = + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +static.security.user_password = {$var_name}:{$var_password} +static.security.user_password = {$admin_name}:{$admin_password} +static.security.user_password = {$user_name}:{$user_password} +static.security.user_name.var = {$var_name} +static.security.user_name.admin = {$admin_name} +static.security.user_name.user = {$user_name} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + +####################################################################################### +## Transfer ## +####################################################################################### +features.transfer_type= {$yealink_transfer_type} +dialplan.transfer.mode = {$yealink_transfer_mode} +transfer.on_hook_trans_enable = {$yealink_transfer_onhook} +transfer.tran_others_after_conf_enable = {$yealink_transfer_after_conf} +transfer.blind_tran_on_hook_enable = {$yealink_transfer_blind_on_hook} +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= {$yealink_transfer_via_new_linekey} + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method = 0 +phone_setting.called_party_info_display.enable = 1 +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= +features.hold_trans_delay= +transfer.multi_call_trans_enable = +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= +features.bluetooth_adapter_name= + + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= + + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= +voice.jib.max = +voice.jib.min = +voice.jib.adaptive = + +voice.jib.wifi.normal= +voice.jib.wifi.max= +voice.jib.wifi.min= +voice.jib.wifi.adaptive= + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = +voice.cng = +voice.vad = + + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = + +sip.dns_transport_type= +sip.skip_redundant_failover_addr= +sip.switch_server_on_503_response= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.listen_in_peer_localip.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= + +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable = 0 +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.flags = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= +voice.rtcp_cname= +voice.rtcp_xr.enable= +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= +phone_setting.vq_rtcpxr_display_moscq.enable= +phone_setting.vq_rtcpxr_display_moslq.enable = +phone_setting.vq_rtcpxr_display_packets_lost.enable= +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= +phone_setting.vq_rtcpxr_display_jitter.enable= +phone_setting.vq_rtcpxr_display_remote_codec.enable= +phone_setting.vq_rtcpxr_display_local_codec.enable= +phone_setting.vq_rtcpxr_display_remote_call_id.enable= +phone_setting.vq_rtcpxr_display_local_call_id.enable= +phone_setting.vq_rtcpxr_display_stop_time.enable= +phone_setting.vq_rtcpxr_display_start_time.enable= +phone_setting.vq_rtcpxr_interval_period= +phone_setting.vq_rtcpxr_delay_threshold_critical= +phone_setting.vq_rtcpxr_delay_threshold_warning= +phone_setting.vq_rtcpxr_moslq_threshold_critical= +phone_setting.vq_rtcpxr_moslq_threshold_warning= +phone_setting.vq_rtcpxr.interval_report.enable= +phone_setting.vq_rtcpxr.states_show_on_gui.enable= +phone_setting.vq_rtcpxr.states_show_on_web.enable= +phone_setting.vq_rtcpxr.session_report.enable= + + +####################################################################################### +## Contact ## +####################################################################################### + +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable = 0 + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +directory_setting.history.enable= +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.pickup_value +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.pickup_value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} + +{/foreach} + + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.pickup_value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code = *79 +features.dnd.on_code = *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable = 1 +features.dnd.large_icon.enable= + + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + +####################################################################################### +## UME ## +####################################################################################### +action_url.is_ume= + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= +phone_setting.lcd_logo.mode= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialnow.item.1= +dialplan.dialnow.line_id.1= + +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} + +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = 15 +dialplan.area_code.min_len = 1 +dialplan.area_code.code= + + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +static.lang.gui = {$yealink_language_gui} +static.lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= +screensaver.delete= +screensaver.upload_url= +features.blf_active_backlight.enable= +screensaver.display_clock.enable= +screensaver.clock_move_interval= +screensaver.picture_change_interval= +screensaver.wait_time= +screensaver.xml_browser.url= + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t41s_wallpaper} +{if isset($yealink_t41s_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t41s_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t41s_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable = 1 +phone_setting.blf_list_sequence_type = 1 + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.parked.action = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.parked.action = +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.parked.action = +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.parked.action = +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable = 0 +blf.enhanced.idle.led= +blf.enhanced.idle.parked.action= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version = 0 +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = ** +features.pickup.direct_pickup_code = +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = + diff --git a/resources/templates/provision/yealink/t4x/y000000000076.cfg b/resources/templates/provision/yealink/t4x/y000000000076.cfg new file mode 100644 index 0000000000..8ea3e5446e --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000076.cfg @@ -0,0 +1,1668 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Hostname ## +####################################################################################### +network.dhcp_host_name = + +#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, submask, gateway and DNS server. +#Require reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +network.primary_dns = {$dns_server_primary} +network.secondary_dns = {$dns_server_secondary} + +####################################################################################### +## PPPOE ## +####################################################################################### +#Configure the username and password for PPPOE connection. +#Require reboot; +network.pppoe.user = +network.pppoe.password = + + +####################################################################################### +## Network ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +network.internet_port.speed_duplex = +network.pc_port.speed_duplex = + +network.pc_port.dhcp_server = 1 +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + + +####################################################################################### +## VLAN ## +####################################################################################### +{if isset($yealink_vlan_enable)}network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}network.vlan.internet_port_enable = 0{/if} + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.internet_port_vid = {$yealink_vlan_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.internet_port_priority = {$yealink_vlan_cos} + +#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vlan.pc_port_enable = + +#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. +#Require reboot; +network.vlan.pc_port_vid = {$yealink_vlan_pc_id} + +#Configure the VLAN priority, it ranges from 0 (default) to 7. +#Require reboot; +network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} + +#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default); +#Require reboot; +network.vlan.dhcp_enable = + +#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255. +#Multiple options separated by a comma. It supports up to 5 options in all. +#Require reboot; +network.vlan.dhcp_option = + +####################################################################################### +## WEB Port ## +####################################################################################### +#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535. +#Require reboot; +network.port.http = +network.port.https = + +####################################################################################### +## QOS ## +####################################################################################### +#Configure the voice QOS. It ranges from 0 to 63, the default value is 46. +#Require reboot; +network.qos.rtptos = + +#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26. +#Require reboot; +network.qos.signaltos = + +####################################################################################### +## 802.1X ## +####################################################################################### +#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2, 4:EAP-TTLS/EAP-MSCHAPv2; +#Require reboot; +network.802_1x.mode = +network.802_1x.identity = +network.802_1x.md5_password = +network.802_1x.root_cert_url = +network.802_1x.client_cert_url = + +####################################################################################### +## VPN ## +####################################################################################### +#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.vpn_enable = {$yealink_network_vpn_enable} + +####################################################################################### +## LLDP ## +####################################################################################### +#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default); +#Require reboot; +network.lldp.enable = + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +#Require reboot; +network.lldp.packet_interval = + +####################################################################################### +## SNMP ## +####################################################################################### +#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.snmp.enable = +network.snmp.port = + +#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space. +#Require reboot; +network.snmp.trust_ip = + +####################################################################################### +## Span to PC ## +####################################################################################### +#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled; +#Require reboot; +network.span_to_pc_port = + +####################################################################################### +## RTP Port ## +####################################################################################### +#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800. +#Require reboot; +network.port.max_rtpport = + +#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780. +#Require reboot; +network.port.min_rtpport = + +####################################################################################### +## SYSLOG ## +####################################################################################### +#Configure the IP address of the syslog server. +#Require reboot; +syslog.server = + +#Configure the syslog level. It ranges from 0 to 6, the default value is 3. +#Require reboot; +syslog.log_level = + +####################################################################################### +## Redirect ## +####################################################################################### +#Enable or disable the redirect feature; 0-Disabled (default), 1-Enabled; +redirect.enable = + +####################################################################################### +## TR069 ## +####################################################################################### +#The TR069 feature is only applicable to some designated firmware version. +#All settings of TR069 require reboot. +#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled; +managementserver.enable = +managementserver.username = +managementserver.password = +managementserver.url = +managementserver.connection_request_username = +managementserver.connection_request_password = +managementserver.periodic_inform_enable = 0 +managementserver.periodic_inform_interval = 60 + +####################################################################################### +## Autop Mode ## +####################################################################################### +#Configure the auto provision mode; +#0-Disabled , 1-Power on (default); +auto_provision.mode = + +####################################################################################### +## Autop PNP ## +####################################################################################### +#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default); +auto_provision.pnp_enable = + +####################################################################################### +## Autop DHCP ## +####################################################################################### +#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default); +auto_provision.dhcp_option.enable = + +#Configure the custom DHCP option number. It ranges from 128 to 254. +auto_provision.dhcp_option.list_user_options = + +####################################################################################### +## Autop Repeat ## +####################################################################################### +auto_provision.repeat.enable = 0 + +#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440. +#It is only applicable to "Repeatedly". +auto_provision.repeat.minutes = + +####################################################################################### +## Autop Weekly ## +####################################################################################### +auto_provision.weekly.enable = 0 + +#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456. +#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday; +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired week is Monday, Tuesday and Wednesday, the value format is 012. +auto_provision.weekly.mask = + +#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired start time of the day is seven forty-five a.m., the value format is 07:45. +auto_provision.weekly.begin_time = + +#Configure the end time of the day for the phone to check new configuration files. The default time is 00:00. +#It is only applicable to "Weekly" and "Power on + Weekly" modes. +#If the desired end time of the day is seven forty-five p.m., the value format is 19:45. +auto_provision.weekly.end_time = + +####################################################################################### +## Autop URL ## +####################################################################################### +auto_provision.server.url = {$yealink_provision_url} +auto_provision.server.username = {$http_auth_username} +auto_provision.server.password = {$http_auth_password} + +####################################################################################### +## Autop Aes Key ## +####################################################################################### +#Configure AES key (16 characters) for decrypting the common CFG file. +auto_provision.aes_key_16.com = + +#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file. +auto_provision.aes_key_16.mac = + +custom_mac_cfg.url = + +#Configure the value (manufacturer of the device) of DHCP option 60. The default is yealink +auto_provision.dhcp_option.option60_value = + +####################################################################################### +## Autop Code ## +####################################################################################### +#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone. +#Require reboot; +#"X" ranges from 1 to 50 + +#Configure the auto provisioning name. +#The valid value is a string, the maximum length is 100. +autoprovision.X.name = + + +#Configure the auto provisioning code; +#The valid value is a string, the maximum length is 100. +autoprovision.X.code = + +#Configure the URL of the auto provisioning server. +#The valid value is a string, the maximum length is 511. +autoprovision.X.url = + +#Configure the username and password for downloading. +#The valid value is a string, the maximum length is 100. +autoprovision.X.user = +autoprovision.X.password = + +#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file. +autoprovision.X.com_aes = +autoprovision.X.mac_aes = + +####################################################################################### +## Watch Dog ## +####################################################################################### +#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default); +watch_dog.enable = + +####################################################################################### +## SIP Advanced ## +####################################################################################### +#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); +sip.use_23_as_pound = + +#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled; +sip.rfc2543_hold = {$yealink_rfc2543_hold} + +#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default); +sip.use_out_bound_in_dialog = + +#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. +sip.reg_surge_prevention = + +#Configures the local SIP port. Integer from 1024 to 65535 +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled; +voice.vad = + +#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default); +voice.cng = + +#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default); +voice.echo_cancellation = + +#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3. +voice.side_tone= + +#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP; +voice.call_preview_mode= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); +voice.jib.adaptive = + +#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120. +voice.jib.min = +voice.jib.max = +voice.jib.normal = + +####################################################################################### +## Tones ## +####################################################################################### +#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on. +#voice.tone.country = Custom +voice.tone.country = +voice.tone.dial = +voice.tone.ring = +voice.tone.busy = +voice.tone.congestion = +voice.tone.callwaiting = +voice.tone.dialrecall = +voice.tone.record= +voice.tone.info = +voice.tone.stutter = +voice.tone.message = +voice.tone.autoanswer = + +####################################################################################### +## Volume ## +####################################################################################### +#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8. +voice.handfree.spk_vol = +voice.handfree.tone_vol = +voice.handset.spk_vol = +voice.handset.tone_vol = +voice.headset.spk_vol = +voice.headset.tone_vol = +voice.ring_vol= + +####################################################################################### +## WEB HTTP(S) ## +####################################################################################### +wui.https_enable = +wui.http_enable = + +####################################################################################### +## Transfer ## +####################################################################################### +#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call; +#0-Disabled, 1-Enabled (default); +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.blind_tran_on_hook_enable = + +#Enable or disable the conference initiator to transfer the call when hanging up. +#0-Disabled(default),1-Enabled; +transfer.tran_others_after_conf_enable = + +#Enable or disable the phone to complete the blind or attended transfer through on-hook; +#0-Disabled,1-Enabled(default); +transfer.on_hook_trans_enable = + +#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default); +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} + +####################################################################################### +## Web Language ## +####################################################################################### +#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech. +lang.wui = + +#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese. +lang.gui = {$yealink_language_gui} + +####################################################################################### +## Time Settings ## +####################################################################################### + +#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. +#The default time zone name is China(Beijing). +#local_time.time_zone = +8 +#local_time.time_zone_name = China(Beijing) +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + +#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org. +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} + +#Configure the update interval (in seconds) when using the NTP server. The default value is 1000. +local_time.interval = {$yealink_time_update} + +#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); +local_time.summer_time = {$yealink_summer_time} + +#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; +local_time.dst_time_type = {$yealink_dst_type} + +#Configure the start time of DST. The default value is 1/1/0. +#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20. +#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. +#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January. +local_time.start_time = {$yealink_time_zone_start_time} + +#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time. +local_time.end_time = {$yealink_time_zone_end_time} + +#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank. +local_time.offset_time = {$yealink_offset_time} + +#Configure the time format; 0-12 Hour, 1-24 Hour (default); +local_time.time_format = {$yealink_time_format} + +#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM; +local_time.date_format = {$yealink_date_format} + +#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled; +local_time.dhcp_time = {$yealink_dhcp_time} + +#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0. +local_time.manual_time_enable = 0 + +####################################################################################### +## Auto Redial ## +####################################################################################### +#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled; +auto_redial.enable = + +#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10. +auto_redial.interval = + +#Configure the auto redial times. It ranges from 1 to 300. The default value is 10. +auto_redial.times = + +####################################################################################### +## Zero Touch ## +####################################################################################### +#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; +zero_touch.enable = + +#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5. +zero_touch.wait_time = + +####################################################################################### +## Push XML ## +####################################################################################### +push_xml.server = + +#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled; +push_xml.block_in_calling= + +#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled; +push_xml.sip_notify= + +####################################################################################### +## Dial Plan ## +####################################################################################### +dialplan.area_code.code = +dialplan.area_code.min_len = 1 +dialplan.area_code.max_len = 15 + +#When applying the rule to multiple lines, each line ID separated by a comma. +#e.g. dialplan.area_code.line_id = 1,2,3 +dialplan.area_code.line_id = + +#Configure the block out number. X ranges from 1 to 10. +#dialplan.block_out.number.x = +dialplan.block_out.number.1 = + +#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3. +#dialplan.block_out.line_id.X = 1,2,3 +dialplan.block_out.line_id.1 = + +# X ranges from 1 to 100. +#dialplan.dialnow.rule.X = +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.dialnow.line_id.X = + +# X ranges from 1 to 100. +dialplan.replace.prefix.X = +dialplan.replace.replace.X = +dialplan.replace.line_id.X = + +#Configure the dialnow rule. X ranges from 1 to 20. +#dialnow.item.X = Dial-now rule,Line ID +#Dial-now rule: Specify the numbers that need replacing; +#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma; +dialnow.item.1 = + +#Configure the replace rule. X ranges from 1 to 20. +#dialplan.item.X = Enabled,Prefix,Replaced,LineID +#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; +#Replaced: Specify the alternate numbers; +#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma; +dialplan.item.1 = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5. +#remote_phonebook.data.X.url = +#remote_phonebook.data.X.name = + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +####################################################################################### +## Network Directory ## +####################################################################################### +directory.update_time_interval = +directory.incoming_call_match_enable = 1 +bw.directory_enable = 0 + +####################################################################################### +## LDAP Settings ## +####################################################################################### +ldap.enable = {$ldap_enable} + +#Configure the search criteria for name and number lookups. +ldap.name_filter = {$ldap_name_filter} +ldap.number_filter = {$ldap_number_filter} + +ldap.host = {$ldap_host} +ldap.port = {$ldap_port} + +ldap.base = {$ldap_base} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} + +#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50. +ldap.max_hits = {$ldap_max_hits} + +ldap.name_attr = {$ldap_name_attr} +ldap.numb_attr = {$ldap_numb_attr} +ldap.display_name = {$ldap_display_name} + +#Configure the LDAP version. The valid value is 2 or 3 (default). +ldap.version = {$ldap_version} + +#Conifugre the search delay time. It ranges from 0 to 2000 (default). +ldap.search_delay = + +#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled; +ldap.call_in_lookup = {$ldap_call_in_lookup} + +#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; +ldap.ldap_sort = {$ldap_sort} + +#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled; +ldap.dial_lookup = {$ldap_dial_lookup} + +####################################################################################### +## Features ## +####################################################################################### +#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here; +#features.dnd_refuse_code = 480 +features.dnd_refuse_code = + +#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default). +features.normal_refuse_code = + +#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1. +features.auto_answer_delay = + +#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default); +features.dsskey_blind_tran = + +#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default); +features.allow_mute = + +features.group_listen_in_talking_enable = + +#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled; +features.call_completion_enable = + +#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default); +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +sip.trust_ctrl = {$yealink_trust_ctrl} + +#It enables or disables the IP phone to display the feature name instead of the feature access code when dialing and in talk;(0-Disabled;1-Enabled) +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} + +#Configure the power Indicator LED to turn on or turn off; 0-On (default), 1-Off; +features.power_led_on = 1 + +#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5. +features.relog_offtime = + +#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset, 2- Use Headset& Speaker; +features.ringer_device.is_use_headset = + +#Enable or disable to enter the password when long pressing the OK key to reset to factory; 0-Disabled (default), 1-Enabled; +#features.factory_pwd_enable = 1 + +features.idle_talk_power_led_flash_enable = + +#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled; +features.auto_release_bla_line = + +#It enables or disables the IP phone to display the pop-up message box when it receives a new voice mail. +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} + +#It enables or disables the IP phone to display the pop-up message box when it misses a call. +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} + + +####################################################################################### +## Features FWD ## +####################################################################################### +#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode. +features.fwd_mode = + +#0-Disabled , 1-Enabled (default) +features.fwd_diversion_enable = + +####################################################################################### +## Features DND ## +####################################################################################### +#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode. +features.dnd_mode = +features.dnd.on_code = *78 +features.dnd.off_code = *79 +features.dnd.emergency_enable = 1 +features.dnd.emergency_authorized_number = + +####################################################################################### +## Features BLF ## +####################################################################################### +#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1. +features.blf_led_mode = {$yealink_blf_led_mode} + +features.blf_list_version = 0 +features.blf_and_callpark_idle_led_enable = 0 + +####################################################################################### +## Features Intercom ## +####################################################################################### +#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default); +features.intercom.allow = + +#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.mute = + +#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); +features.intercom.tone = + +#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled; +features.intercom.barge = + +####################################################################################### +## Features Hotline ## +####################################################################################### +#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4. +features.hotline_number = +features.hotline_delay = + +####################################################################################### +## Features DTMF ## +####################################################################################### +#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled; +features.dtmf.hide = {$yealink_dtmf_hide} + +#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled; +features.dtmf.hide_delay = + +#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default). +features.dtmf.repetition = + +#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #. +features.dtmf.transfer = + +#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled; +features.dtmf.replace_tran = + +####################################################################################### +## Features Audio Settings ## +####################################################################################### +#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled; +features.headset_prior = + +#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled; +features.headset_training = + +features.alert_info_tone = + +#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default). +features.voice_mail_tone_enable = + +#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. +features.busy_tone_delay = + +#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key; +features.send_pound_key = + +#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key; +features.pound_key.mode = + +#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default); +features.send_key_tone = +features.key_tone = + +#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default); +features.play_hold_tone.enable = + +#Configure the interval of playing a warning tone. The default value is 30s. +features.play_hold_tone.delay = + +features.redial_tone = + +#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled; +features.partition_tone = + +#Configure the delay time (in milliseconds) before transfering a call. The default value is 0. +features.hold_trans_delay = + +#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); +features.play_local_dtmf_tone_enable= + +####################################################################################### +## Features Remote Phonebook ## +####################################################################################### +#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. +features.remote_phonebook.flash_time = + +####################################################################################### +## Features Action ## +####################################################################################### +#Specific the address(es) or enters 'any' from which Action URI will be accepted. +#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30 +#For continuous IP addresses, the format likes *.*.*.* and the '*' stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255. +#If left blank, the IP phone cannot receive or handle any HTTP GET request. +#If set to 'any', the IP phone accepts and handles HTTP GET requests from any IP address. +features.action_uri_limit_ip = + +features.action_uri_reboot_now = 0 + +####################################################################################### +## Features Prefix ## +####################################################################################### +#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled; +features.password_dial.enable = + +#Configure the prefix numbers displayed before the encrypted digits. +features.password_dial.prefix = + +#Configure the length of encrypted digits. +features.password_dial.length = + +####################################################################################### +## Features History ## +####################################################################################### +#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default); +features.save_call_history = + +####################################################################################### +## Features Pickup ## +####################################################################################### +#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.group_pickup_enable = + +features.pickup.group_pickup_code = + +#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled; +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} + +features.pickup.direct_pickup_code = ** + +#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator; +#0-Disabled (default), 1-Enabled; +features.pickup.blf_visual_enable = +features.pickup.blf_audio_enable = + +####################################################################################### +## Phone Setting ## +####################################################################################### +#Enable or disable the photo display on handset 0 = disable, 1= enable +phone_setting.contact_photo_display.enable = 0 + +#Enable or disable the called party information display 0 = disable 1 = enable +phone_setting.called_party_info_display.enable = 1 + +#Configure the call information display method 0 = Name + Number, 1 = Number + Name, 2 = Name, 3 = Number, 4 = Full contact info +phone_setting.call_info_display_method = 0 + +#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4. +phone_setting.inter_digit_time = {$yealink_inter_digit_time} + +#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Resource:Ring2.wav +#phone_setting.ring_type = Resource:Ring1.wav +phone_setting.ring_type = {$yealink_ring_type} +phone_setting.ring_for_tranfailed = + +#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default); +phone_setting.is_deal180 = +phone_setting.show_code403 = + +#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1. +phone_setting.dialnow_delay = + +#Configure the emergency number, each separated by a comma. The default value is 112,911,110. +phone_setting.emergency.number = {$yealink_emergency_number} + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.page_tip = + +#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled; +phone_setting.logon_wizard = + +#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled; +phone_setting.predial_autodial = 1 + +#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled; +phone_setting.custom_softkey_enable = + +#Configure the using mode of the headset key. The value is 0 or 1(default). +phone_setting.headsetkey_mode = + +#Enable or disabled mail power led flash. 0-Disabled, 1-Enabled. +phone_setting.mail_power_led_flash_enable = 1 + +#It enables or disables the power indicator LED to flash when the IP phone misses a call. +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + +####################################################################################### +## Phone Setting UI ## +####################################################################################### +#Configure the active backlight level. It ranges from 1 to 3, the default value is 2. +#The same level for different phones may result in different backlight intensities. +phone_setting.active_backlight_level = +phone_setting.inactive_backlight_level = 1 + +####################################################################################### +## Phone Setting BLF ## +####################################################################################### +phone_setting.blf_list_enable = 1 +phone_setting.auto_blf_list_enable = 1 + +#Specify the prior of the line keys and EXP keys when automatically configure the blf list 0-Configure the line keys first, 1-Configure the EXP keys first; +phone_setting.blf_list_sequence_type = + +####################################################################################### +## Key Lock ## +####################################################################################### + +#Configure the keypad lock type; 0-Disabled (default), 1-Enable +phone_setting.lock = {$yealink_lock_enable} + +#Configure the unlock password for the phone. The default value is 123. +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} + +#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0. +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + +#Configure the keypad lock type;0-All Keys(default), 1-Function Key, 2-Menu Key +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} + +#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s. +phone_setting.backlight_time = {$yealink_backlight_time} + +####################################################################################### +## Wallpaper ## +####################################################################################### + +wallpaper_upload.url = {$yealink_t40g_wallpaper} +{if isset($yealink_t40g_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t40g_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t40g_wallpaper.png +{/if} + +####################################################################################### +## Multicast ## +####################################################################################### +#Configure the codec of multicast paging. +multicast.codec = + +#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default); +#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority. +multicast.receive_priority.enable = + +#Configure the priority of multicast paging calls. It ranges from 0 to 10. +multicast.receive_priority.priority = + +#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10. +multicast.listen_address.X.label = + +#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10. +multicast.listen_address.X.ip_address = + +####################################################################################### +## Super Search ## +####################################################################################### +super_search.recent_call = 1 + +####################################################################################### +## Broadsoft Phonebook ## +####################################################################################### +bw_phonebook.group_enable = 1 +bw_phonebook.personal_enable = 1 +bw_phonebook.group_common_enable = 0 +bw_phonebook.group_common_displayname = +bw_phonebook.enterprise_enable = 0 +bw_phonebook.enterprise_common_enable = 0 +bw_phonebook.enterprise_common_displayname = +bw_phonebook.call_log_enable = 1 +bw_phonebook.server_search_enable = 1 +bw_phonebook.group_displayname = +bw_phonebook.enterprise_displayname = +bw_phonebook.common_displayname = +bw_phonebook.personal_displayname = + +####################################################################################### +## Broadsoft ## +####################################################################################### +#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys; +#0-Disabled (default), 1-Enabled; +#Require reboot; +bw.calllog_and_dir = + +#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled; +bw.feature_key_sync = {$yealink_feature_key_sync} + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + +####################################################################################### +## Security ## +####################################################################################### +#Enable or disable the phone to only accept the certificates in the Trusted Certificates list; +#0-Disabled, 1-Enabled (default); +security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + +#Define the login username and password of the user, var and administrator. +#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1. +#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd. + +#The following examples change the user's username to "user23" and the user's password to "user23pwd". +#security.user_name.user = user23 +#security.user_password = user23:user23pwd +#The following examples change the var's username to "var55" and the var's password to "var55pwd". +{if isset($user_name) } +security.user_name.user = {$user_name} +security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +security.user_name.admin = {$admin_name} +security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +security.user_name.var = {$var_name} +security.user_password = {$var_name}:{$var_password} +{/if} + +#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled; +#Require reboot; +security.var_enable = +security.ca_cert = +security.dev_cert = +security.cn_validation = +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + +####################################################################################### +## Linekey ## +####################################################################################### +#The x of the parameter "linekey.x.line" ranges from 1 to 27. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. + +#Configure Line Key1 +linekey.1.line = +linekey.1.value = +linekey.1.extension = +linekey.1.type = +linekey.1.label = +linekey.1.xml_phonebook = + +#Configure Line Key2 +linekey.2.line = +linekey.2.value = +linekey.2.extension = +linekey.2.type = +linekey.2.label = +linekey.2.xml_phonebook = + +linekey.3.line = +linekey.3.value = +linekey.3.extension = +linekey.3.type = +linekey.3.label = +linekey.3.xml_phonebook = + +linekey.4.line = +linekey.4.value = +linekey.4.extension = +linekey.4.type = +linekey.4.label = +linekey.4.xml_phonebook = + +linekey.5.line = +linekey.5.value = +linekey.5.extension = +linekey.5.type = +linekey.5.label = +linekey.5.xml_phonebook = + +linekey.6.line = +linekey.6.value = +linekey.6.extension = +linekey.6.type = +linekey.6.label = +linekey.6.xml_phonebook = + +linekey.7.line = +linekey.7.value = +linekey.7.extension = +linekey.7.type = +linekey.7.label = +linekey.7.xml_phonebook = + +linekey.8.line = +linekey.8.value = +linekey.8.extension = +linekey.8.type = +linekey.8.label = +linekey.8.xml_phonebook = + +linekey.9.line = +linekey.9.value = +linekey.9.extension = +linekey.9.type = +linekey.9.label = +linekey.9.xml_phonebook = + +linekey.10.line = +linekey.10.value = +linekey.10.extension = +linekey.10.type = +linekey.10.label = +linekey.10.xml_phonebook = + +linekey.11.line = +linekey.11.value = +linekey.11.extension = +linekey.11.type = +linekey.11.label = +linekey.11.xml_phonebook = + +linekey.12.line = +linekey.12.value = +linekey.12.extension = +linekey.12.type = +linekey.12.label = +linekey.12.xml_phonebook = + +linekey.13.line = +linekey.13.value = +linekey.13.extension = +linekey.13.type = +linekey.13.label = +linekey.13.xml_phonebook = + +linekey.14.line = +linekey.14.value = +linekey.14.extension = +linekey.14.type = +linekey.14.label = +linekey.14.xml_phonebook = + +linekey.15.line = +linekey.15.value = +linekey.15.extension = +linekey.15.type = +linekey.15.xml_phonebook = +linekey.15.label = + +linekey.16.line = +linekey.16.value = +linekey.16.extension = +linekey.16.type = +linekey.16.xml_phonebook = +linekey.16.label = + +linekey.17.line = +linekey.17.value = +linekey.17.extension = +linekey.17.type = +linekey.17.xml_phonebook = +linekey.17.label = + +linekey.18.line = +linekey.18.value = +linekey.18.extension = +linekey.18.type = +linekey.18.xml_phonebook = +linekey.18.label = + +linekey.19.line = +linekey.19.value = +linekey.19.extension = +linekey.19.type = +linekey.19.xml_phonebook = +linekey.19.label = + +linekey.20.line = +linekey.20.value = +linekey.20.extension = +linekey.20.type = +linekey.20.xml_phonebook = +linekey.20.label = + +linekey.21.line = +linekey.21.value = +linekey.21.extension = +linekey.21.type = +linekey.21.xml_phonebook = +linekey.21.label = + +linekey.22.line = +linekey.22.value = +linekey.22.extension = +linekey.22.type = +linekey.22.xml_phonebook = +linekey.22.label = + +linekey.23.line = +linekey.23.value = +linekey.23.extension = +linekey.23.type = +linekey.23.xml_phonebook = +linekey.23.label = + +linekey.24.line = +linekey.24.value = +linekey.24.extension = +linekey.24.type = +linekey.24.xml_phonebook = +linekey.24.label = + +linekey.25.line = +linekey.25.value = +linekey.25.extension = +linekey.25.type = +linekey.25.xml_phonebook = +linekey.25.label = + +linekey.26.line = +linekey.26.value = +linekey.26.extension = +linekey.26.type = +linekey.26.xml_phonebook = +linekey.26.label = + +linekey.27.line = +linekey.27.value = +linekey.27.extension = +linekey.27.type = +linekey.27.xml_phonebook = +linekey.27.label = +####################################################################################### +## Programable key ## +####################################################################################### +#X ranges from 1 to 13. +#programablekey.x.type--Customize the programmable key type. +#The valid types are: +#0-N/A 2-Forward 5-DND 6-Redial 7-Call Return 8-SMS 9-Direct Pickup 13-Spead Dial +#22-XML Group 23-Group Pickup 27-XML Browser 28-History 29-Directory 30-Menu 31-Switch Account 32-New SMS +#33-Status 40-PTT 43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group 46-Broadsoft Group 47-XML Phonebook 50-Keypad Lock +#PTT-add a specified prefix number before the dialed number. +#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6. +#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. +#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1. + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +########################################################################################## +## Expansion Key ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. +#expansion_module.x.key.y.type = 37 (Switch by default) +#expansion_module.x.key.y.line = 0 +#expansion_module.x.key.y.value = +#expansion_module.x.key.y.pickup_value = +#expansion_module.x.key.y.label = +#expansion_module.X.key.Y.xml_phonebook = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +####################################################################################### +## Forward Always ## +####################################################################################### +#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled; +forward.always.enable = +forward.always.target = +forward.always.on_code = +forward.always.off_code = + +####################################################################################### +## Forward Busy ## +####################################################################################### +#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled; +forward.busy.enable = +forward.busy.target = +forward.busy.on_code = +forward.busy.off_code = + +####################################################################################### +## Forward No Answer ## +####################################################################################### +#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +forward.no_answer.enable = +forward.no_answer.target = +forward.no_answer.timeout = +forward.no_answer.on_code = +forward.no_answer.off_code = + +####################################################################################### +## Forward International ## +####################################################################################### +#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled; +forward.international.enable = + +####################################################################################### +## ACD ## +####################################################################################### +#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled; +acd.auto_available = + +#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60. +acd.auto_available_timer = +acd.bw = + +####################################################################################### +## Hotdesking Startup ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled; +#hotdesking.startup_register_name_enable = 1 (default) +#hotdesking.startup_username_enable = 1 (default) +#hotdesking.startup_password_enable = 0 (default) +#hotdesking.startup_sip_server_enable = 0 (default) +#hotdesking.startup_outbound_enable = 0 (default) + +hotdesking.startup_register_name_enable = +hotdesking.startup_username_enable = +hotdesking.startup_password_enable = +hotdesking.startup_sip_server_enable = +hotdesking.startup_outbound_enable = + +####################################################################################### +## Hotdesking Dsskey ## +####################################################################################### +#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key; +#0-Disabled, 1-Enabled; +#hotdesking.dsskey_register_name_enable = 1 (default) +#hotdesking.dsskey_username_enable = 1 (default) +#hotdesking.dsskey_password_enable = 0 (default) +#hotdesking.dsskey_sip_server_enable = 0 (default) +#hotdesking.dsskey_outbound_enable = 0 (default) + +hotdesking.dsskey_register_name_enable = +hotdesking.dsskey_username_enable = +hotdesking.dsskey_password_enable = +hotdesking.dsskey_sip_server_enable = +hotdesking.dsskey_outbound_enable = + +####################################################################################### +## Alert Info ## +####################################################################################### +#"X" ranges from 1 to 10; +#Configure the text to map the keywords contained in the "Alert-info" header. +#distinctive_ring_tones.alert_info.X.text = family +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav. +#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav. +#distinctive_ring_tones.alert_info.X.ringer = 1 +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + +####################################################################################### +## Call Waiting ## +####################################################################################### +#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default); +call_waiting.enable = {$yealink_call_waiting} +#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default); +call_waiting.tone = {$yealink_call_waiting_tone} + +call_waiting.on_code = +call_waiting.off_code = + +####################################################################################### +## Call Park ## +####################################################################################### +call_park.enable = 0 +call_park.group_enable = 0 +call_park.park_ring = +call_park.park_visual_notify_enable = + +####################################################################################### +## Action URL ## +####################################################################################### +#action_url.setup_completed--Inform the server that the phone has completed the startup. +#action_url.dnd_on-- Inform the server that the DND is activated on the phone. +#The value format is: http://IP address of server/help.xml?variable name=variable value. +#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. +#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation. +#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. +#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. +#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls. +#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls. +#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls. +#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation. +#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac + +action_url.setup_completed = +action_url.log_on = +action_url.log_off = +action_url.register_failed = +action_url.off_hook = +action_url.on_hook = +action_url.incoming_call = +action_url.outgoing_call = +action_url.call_established = +action_url.dnd_on = +action_url.dnd_off = +action_url.always_fwd_on = +action_url.always_fwd_off = +action_url.busy_fwd_on = +action_url.busy_fwd_off = +action_url.no_answer_fwd_on = +action_url.no_answer_fwd_off = +action_url.transfer_call = +action_url.blind_transfer_call = +action_url.attended_transfer_call = +action_url.hold = +action_url.unhold = +action_url.mute = +action_url.unmute = +action_url.missed_call = +action_url.call_terminated = +action_url.busy_to_idle = +action_url.idle_to_busy = +action_url.ip_change = +action_url.forward_incoming_call = +action_url.reject_incoming_call = +action_url.answer_new_incoming_call = +action_url.transfer_finished = +action_url.transfer_failed = + +####################################################################################### +## Ringtone ## +####################################################################################### +#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +ringtone.url = {$yealink_ringtone_url} + +#ringtone.delete = http://localhost/all,delete all the customized ring tones. +ringtone.delete = {$yealink_ringtone_delete} + +####################################################################################### +## UI Language ## +####################################################################################### +#Before using this parameter, you should store the desired language pack to the provisioning server. +#For more information, refer to Yealink Auto Provisioning User Guide. +gui_lang.url = + +#gui_lang.delete = http://localhost/all, delete all the customized languages. +gui_lang.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +trusted_certificates.url = + +#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. +trusted_certificates.delete = + +####################################################################################### +## Server Certificates ## +####################################################################################### +#Before using this parameter, you should store the desired certificate to the provisioning server. +server_certificates.url = + +#server_certificates.delete = http://localhost/all, delete the server certificate. +server_certificates.delete = + +####################################################################################### +## Contact ## +####################################################################################### +#Before using these parameters, you should store the desired resource files to the provisioning server. +#For more information, refer to Yealink SIP-T40G IP Phone Family Administrator Guide. +local_contact.data.url = + +####################################################################################### +## Auto DST ## +####################################################################################### +auto_dst.url = {$yealink_auto_dst_url} + +####################################################################################### +## Dialplan Now ## +####################################################################################### +dialplan_dialnow.url = + +####################################################################################### +## Dialplan Replace ## +####################################################################################### +dialplan_replace_rule.url = + +####################################################################################### +## Custom Factory Configuration ## +####################################################################################### +#Configure the access URL for downloading the customized factory configurations. +#Before using this parameter, you should store the desired factory configuration file to the provisioning server. +custom_factory_configuration.url = + +####################################################################################### +## Custom Configuration ## +####################################################################################### +#Configure the access URL for downloading the configurations. +#Before using this parameter, you should store the desired configuration file to the provisioning server. +configuration.url = + +####################################################################################### +## Custom Softkey ## +####################################################################################### +#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. +#Before using these parameters, you should store the desired XML files to the provisioning server. +custom_softkey_call_failed.url = +custom_softkey_call_in.url = +custom_softkey_connecting.url = +custom_softkey_dialing.url = +custom_softkey_ring_back.url = +custom_softkey_talking.url = + +####################################################################################### +## Local Contact Photo ## +####################################################################################### +local_contact.data_photo_tar.url = + +####################################################################################### +## Call List ## +####################################################################################### +#Configure the access URL for downloading the call list. +#Before using this parameter, you should store the desired call list file to the provisioning server. +#Require reboot +call_list.url = + +####################################################################################### +## Open VPN ## +####################################################################################### +#Configure the access URL for downloading the open VPN tar. +#Before using this parameter, you should store the desired VPN file to the provisioning server +openvpn.url = {$yealink_openvpn_url} + +####################################################################################### +## Level ## +####################################################################################### +#Configure the access URL for downloading the files for var. +#Before using this parameter, you should store the desired files to the provisioning server. +#Require reboot +web_item_level.url = + +####################################################################################### +## Super Search URL ## +####################################################################################### +super_search.url = + +####################################################################################### +## Directory Setting ## +####################################################################################### +#Configure the access URL of the directory setting file. +directory_setting.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +####################################################################################### +## Configure the access URL of firmware ## +####################################################################################### +#Before using this parameter, you should store the desired firmware (x.71.x.x.rom) to the provisioning server. +firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t40g} + diff --git a/resources/templates/provision/yealink/t4x/y000000000107.cfg b/resources/templates/provision/yealink/t4x/y000000000107.cfg new file mode 100644 index 0000000000..1f4bb7a0e5 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000107.cfg @@ -0,0 +1,1754 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = +static.wifi.1.label = +static.wifi.1.ssid = +static.wifi.1.priority = +static.wifi.1.security_mode = +static.wifi.1.cipher_type = +static.wifi.1.password = +static.wifi.1.eap_type = +static.wifi.1.eap_user_name = +static.wifi.1.eap_password = +static.wifi.show_scan_prompt = + + +####################################################################################### +## NETWORK ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +network.ipv6_prefix = 64 +network.ipv6_internet_port.type = +network.ipv6_internet_port.ip = +network.ipv6_internet_port.gateway = +network.ipv6_primary_dns = +network.ipv6_secondary_dns = +network.ipv6_icmp_v6.enable = + +#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, subnet mask, gateway and DNS server; +#Require Reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +{if isset($dns_server_primary)}network.primary_dns = {$dns_server_primary}{/if} + +{if isset($dns_server_secondary)}network.secondary_dns = {$dns_server_secondary}{/if} + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = + +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + +static.network.pc_port.enable = +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = {$yealink_lldp_enable} +static.network.lldp.packet_interval = + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} + +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = +static.zero_touch.wait_time = +static.features.hide_zero_touch_url.enable = +static.zero_touch.network_fail_delay_times = +static.zero_touch.network_fail_wait_times = + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = +static.auto_provision.weekly.dayofweek = +static.auto_provision.weekly.end_time = +static.auto_provision.weekly.begin_time = +static.auto_provision.weekly_upgrade_interval = + + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = +static.auto_provision.repeat.minutes = + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = 0 +static.managementserver.periodic_inform_interval = 60 +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + +####################################################################################### +## Redirect ## +####################################################################################### +static.redirect.user_name = +static.redirect.password = + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t48s} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.factory_reset_option = +features.reset_by_long_press_enable = +features.factory_pwd_enable = +features.export_cfg_erase_pwd = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = +static.syslog.bootlog_upload_wait_time = +static.syslog.ftp.append_limit_mode = +static.syslog.ftp.max_logfile = +static.syslog.ftp.post_mode = +static.syslog.log_upload_period = +static.syslog.log_level = +static.network.promisc_mode.enable = + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +static.security.user_password = {$var_name}:{$var_password} +static.security.user_password = {$admin_name}:{$admin_password} +static.security.user_password = {$user_name}:{$user_password} +static.security.user_name.var = {$var_name} +static.security.user_name.admin = {$admin_name} +static.security.user_name.user = {$user_name} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + +####################################################################################### +## Transfer ## +####################################################################################### +features.transfer_type= +dialplan.transfer.mode = +transfer.on_hook_trans_enable = +transfer.tran_others_after_conf_enable = +transfer.blind_tran_on_hook_enable = +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method = 0 +phone_setting.called_party_info_display.enable = 1 +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= +features.hold_trans_delay= +transfer.multi_call_trans_enable = +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= +features.bluetooth_adapter_name= + + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= + + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= +voice.jib.max = +voice.jib.min = +voice.jib.adaptive = + +voice.jib.wifi.normal= +voice.jib.wifi.max= +voice.jib.wifi.min= +voice.jib.wifi.adaptive= + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = +voice.cng = +voice.vad = + + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = + +sip.dns_transport_type= +sip.skip_redundant_failover_addr= +sip.switch_server_on_503_response= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.listen_in_peer_localip.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= + +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable = 0 +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.flags = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= +voice.rtcp_cname= +voice.rtcp_xr.enable= +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= +phone_setting.vq_rtcpxr_display_moscq.enable= +phone_setting.vq_rtcpxr_display_moslq.enable = +phone_setting.vq_rtcpxr_display_packets_lost.enable= +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= +phone_setting.vq_rtcpxr_display_jitter.enable= +phone_setting.vq_rtcpxr_display_remote_codec.enable= +phone_setting.vq_rtcpxr_display_local_codec.enable= +phone_setting.vq_rtcpxr_display_remote_call_id.enable= +phone_setting.vq_rtcpxr_display_local_call_id.enable= +phone_setting.vq_rtcpxr_display_stop_time.enable= +phone_setting.vq_rtcpxr_display_start_time.enable= +phone_setting.vq_rtcpxr_interval_period= +phone_setting.vq_rtcpxr_delay_threshold_critical= +phone_setting.vq_rtcpxr_delay_threshold_warning= +phone_setting.vq_rtcpxr_moslq_threshold_critical= +phone_setting.vq_rtcpxr_moslq_threshold_warning= +phone_setting.vq_rtcpxr.interval_report.enable= +phone_setting.vq_rtcpxr.states_show_on_gui.enable= +phone_setting.vq_rtcpxr.states_show_on_web.enable= +phone_setting.vq_rtcpxr.session_report.enable= + + +####################################################################################### +## Contact ## +####################################################################################### + +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable = 0 + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +directory_setting.history.enable= +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.pickup_value +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.pickup_value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +#linekey.1.label = +#linekey.1.line = +#linekey.1.value = +#linekey.1.pickup_value = +#linekey.1.extension = +#linekey.1.type = +#linekey.1.xml_phonebook = + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} + +{/foreach} + + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.pickup_value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code = *79 +features.dnd.on_code = *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable = 1 +features.dnd.large_icon.enable= + + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + +####################################################################################### +## UME ## +####################################################################################### +action_url.is_ume= + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= +phone_setting.lcd_logo.mode= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialnow.item.1= +dialplan.dialnow.line_id.1= +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = 15 +dialplan.area_code.min_len = 1 +dialplan.area_code.code= + + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +static.lang.gui = {$yealink_language_gui} +static.lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= +screensaver.delete= +screensaver.upload_url= +features.blf_active_backlight.enable= +screensaver.display_clock.enable= +screensaver.clock_move_interval= +screensaver.picture_change_interval= +screensaver.wait_time= +screensaver.xml_browser.url= + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t48s_wallpaper} +{if isset($yealink_t48s_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t48s_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t48s_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable = 1 +phone_setting.blf_list_sequence_type = 1 + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.parked.action = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.parked.action = +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.parked.action = +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.parked.action = +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable = 0 +blf.enhanced.idle.led= +blf.enhanced.idle.parked.action= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version = 0 +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = diff --git a/resources/templates/provision/yealink/t4x/y000000000108.cfg b/resources/templates/provision/yealink/t4x/y000000000108.cfg new file mode 100644 index 0000000000..a004af0251 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000108.cfg @@ -0,0 +1,1705 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +static.network.cdp.enable = +static.network.cdp.packet_interval = + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = +static.wifi.1.label = +static.wifi.1.ssid = +static.wifi.1.priority = +static.wifi.1.security_mode = +static.wifi.1.cipher_type = +static.wifi.1.password = +static.wifi.1.eap_type = +static.wifi.1.eap_user_name = +static.wifi.1.eap_password = +static.wifi.show_scan_prompt = + + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = +static.network.static_dns_enable = +static.network.pc_port.enable = +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = +static.network.lldp.packet_interval = + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} + +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = +static.zero_touch.wait_time = +static.features.hide_zero_touch_url.enable = +static.zero_touch.network_fail_delay_times = +static.zero_touch.network_fail_wait_times = + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = +static.auto_provision.weekly.dayofweek = +static.auto_provision.weekly.end_time = +static.auto_provision.weekly.begin_time = +static.auto_provision.weekly_upgrade_interval = + + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = +static.auto_provision.repeat.minutes = + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = 0 +static.managementserver.periodic_inform_interval = 60 +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + +####################################################################################### +## Redirect ## +####################################################################################### +static.redirect.user_name = +static.redirect.password = + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t46s} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.factory_reset_option = +features.reset_by_long_press_enable = +features.factory_pwd_enable = +features.export_cfg_erase_pwd = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = +static.syslog.bootlog_upload_wait_time = +static.syslog.ftp.append_limit_mode = +static.syslog.ftp.max_logfile = +static.syslog.ftp.post_mode = +static.syslog.log_upload_period = +static.syslog.log_level = +static.network.promisc_mode.enable = + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +static.security.user_password = {$var_name}:{$var_password} +static.security.user_password = {$admin_name}:{$admin_password} +static.security.user_password = {$user_name}:{$user_password} +static.security.user_name.var = {$var_name} +static.security.user_name.admin = {$admin_name} +static.security.user_name.user = {$user_name} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + +####################################################################################### +## Transfer ## +####################################################################################### +features.transfer_type= +dialplan.transfer.mode = +transfer.on_hook_trans_enable = +transfer.tran_others_after_conf_enable = +transfer.blind_tran_on_hook_enable = +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method = 0 +phone_setting.called_party_info_display.enable = 1 +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= +features.hold_trans_delay= +transfer.multi_call_trans_enable = +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= +features.bluetooth_adapter_name= + + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= + + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= +voice.jib.max = +voice.jib.min = +voice.jib.adaptive = + +voice.jib.wifi.normal= +voice.jib.wifi.max= +voice.jib.wifi.min= +voice.jib.wifi.adaptive= + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = +voice.cng = +voice.vad = + + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = + +sip.dns_transport_type= +sip.skip_redundant_failover_addr= +sip.switch_server_on_503_response= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.listen_in_peer_localip.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= + +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable = 0 +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.flags = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= +voice.rtcp_cname= +voice.rtcp_xr.enable= +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= +phone_setting.vq_rtcpxr_display_moscq.enable= +phone_setting.vq_rtcpxr_display_moslq.enable = +phone_setting.vq_rtcpxr_display_packets_lost.enable= +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= +phone_setting.vq_rtcpxr_display_jitter.enable= +phone_setting.vq_rtcpxr_display_remote_codec.enable= +phone_setting.vq_rtcpxr_display_local_codec.enable= +phone_setting.vq_rtcpxr_display_remote_call_id.enable= +phone_setting.vq_rtcpxr_display_local_call_id.enable= +phone_setting.vq_rtcpxr_display_stop_time.enable= +phone_setting.vq_rtcpxr_display_start_time.enable= +phone_setting.vq_rtcpxr_interval_period= +phone_setting.vq_rtcpxr_delay_threshold_critical= +phone_setting.vq_rtcpxr_delay_threshold_warning= +phone_setting.vq_rtcpxr_moslq_threshold_critical= +phone_setting.vq_rtcpxr_moslq_threshold_warning= +phone_setting.vq_rtcpxr.interval_report.enable= +phone_setting.vq_rtcpxr.states_show_on_gui.enable= +phone_setting.vq_rtcpxr.states_show_on_web.enable= +phone_setting.vq_rtcpxr.session_report.enable= + + +####################################################################################### +## Contact ## +####################################################################################### + +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable = 0 + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +directory_setting.history.enable= +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.pickup_value +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.pickup_value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} + +{/foreach} + + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.pickup_value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code = *79 +features.dnd.on_code = *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable = 1 +features.dnd.large_icon.enable= + + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + +####################################################################################### +## UME ## +####################################################################################### +action_url.is_ume= + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= +phone_setting.lcd_logo.mode= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialnow.item.1= +dialplan.dialnow.line_id.1= +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = 15 +dialplan.area_code.min_len = 1 +dialplan.area_code.code= + + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +lang.gui = {$yealink_language_gui} +static.lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= +screensaver.delete= +screensaver.upload_url= +features.blf_active_backlight.enable= +screensaver.display_clock.enable= +screensaver.clock_move_interval= +screensaver.picture_change_interval= +screensaver.wait_time= +screensaver.xml_browser.url= + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t46s_wallpaper} +{if isset($yealink_t46s_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t46s_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t46s_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable = 1 +phone_setting.blf_list_sequence_type = 1 + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.parked.action = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.parked.action = +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.parked.action = +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.parked.action = +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable = 0 +blf.enhanced.idle.led= +blf.enhanced.idle.parked.action= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version = 0 +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = + diff --git a/resources/templates/provision/yealink/t4x/y000000000109.cfg b/resources/templates/provision/yealink/t4x/y000000000109.cfg new file mode 100644 index 0000000000..1f4bb7a0e5 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000109.cfg @@ -0,0 +1,1754 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +#Enable or disable CDP; 0-Disabled, 1-Enabled (default); +static.network.cdp.enable = {$yealink_cdp_enable} + +#The interval (in seconds) for the IP phone to send CDP requests. Integer from 1 to 3600 +static.network.cdp.packet_interval = + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = +static.wifi.1.label = +static.wifi.1.ssid = +static.wifi.1.priority = +static.wifi.1.security_mode = +static.wifi.1.cipher_type = +static.wifi.1.password = +static.wifi.1.eap_type = +static.wifi.1.eap_user_name = +static.wifi.1.eap_password = +static.wifi.show_scan_prompt = + + +####################################################################################### +## NETWORK ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +static.network.ip_address_mode = {$yealink_ip_address_mode} + +#Enable or disable LLDP; 0-Disabled, 1-Enabled (default); +#Require reboot; +static.network.lldp.enable = {$yealink_lldp_enable} + +#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60. +static.network.lldp.packet_interval = + +network.ipv6_prefix = 64 +network.ipv6_internet_port.type = +network.ipv6_internet_port.ip = +network.ipv6_internet_port.gateway = +network.ipv6_primary_dns = +network.ipv6_secondary_dns = +network.ipv6_icmp_v6.enable = + +#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address; +#Require reboot; +network.internet_port.type = + +#Configure the static IP address, subnet mask, gateway and DNS server; +#Require Reboot; +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +{if isset($dns_server_primary)}network.primary_dns = {$dns_server_primary}{/if} + +{if isset($dns_server_secondary)}network.secondary_dns = {$dns_server_secondary}{/if} + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = + +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + +static.network.pc_port.enable = +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +#Configure the duplex mode and the speed of the WAN port. +#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps; +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = {$yealink_lldp_enable} +static.network.lldp.packet_interval = + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} + +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = +static.zero_touch.wait_time = +static.features.hide_zero_touch_url.enable = +static.zero_touch.network_fail_delay_times = +static.zero_touch.network_fail_wait_times = + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = +static.auto_provision.weekly.dayofweek = +static.auto_provision.weekly.end_time = +static.auto_provision.weekly.begin_time = +static.auto_provision.weekly_upgrade_interval = + + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = +static.auto_provision.repeat.minutes = + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = 0 +static.managementserver.periodic_inform_interval = 60 +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + +####################################################################################### +## Redirect ## +####################################################################################### +static.redirect.user_name = +static.redirect.password = + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t48s} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.factory_reset_option = +features.reset_by_long_press_enable = +features.factory_pwd_enable = +features.export_cfg_erase_pwd = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = +static.syslog.bootlog_upload_wait_time = +static.syslog.ftp.append_limit_mode = +static.syslog.ftp.max_logfile = +static.syslog.ftp.post_mode = +static.syslog.log_upload_period = +static.syslog.log_level = +static.network.promisc_mode.enable = + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +static.security.user_password = {$var_name}:{$var_password} +static.security.user_password = {$admin_name}:{$admin_password} +static.security.user_password = {$user_name}:{$user_password} +static.security.user_name.var = {$var_name} +static.security.user_name.admin = {$admin_name} +static.security.user_name.user = {$user_name} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + +####################################################################################### +## Transfer ## +####################################################################################### +features.transfer_type= +dialplan.transfer.mode = +transfer.on_hook_trans_enable = +transfer.tran_others_after_conf_enable = +transfer.blind_tran_on_hook_enable = +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method = 0 +phone_setting.called_party_info_display.enable = 1 +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= +features.hold_trans_delay= +transfer.multi_call_trans_enable = +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= +features.bluetooth_adapter_name= + + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= + + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= +voice.jib.max = +voice.jib.min = +voice.jib.adaptive = + +voice.jib.wifi.normal= +voice.jib.wifi.max= +voice.jib.wifi.min= +voice.jib.wifi.adaptive= + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = +voice.cng = +voice.vad = + + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = + +sip.dns_transport_type= +sip.skip_redundant_failover_addr= +sip.switch_server_on_503_response= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.listen_in_peer_localip.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= + +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable = 0 +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.flags = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= +voice.rtcp_cname= +voice.rtcp_xr.enable= +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= +phone_setting.vq_rtcpxr_display_moscq.enable= +phone_setting.vq_rtcpxr_display_moslq.enable = +phone_setting.vq_rtcpxr_display_packets_lost.enable= +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= +phone_setting.vq_rtcpxr_display_jitter.enable= +phone_setting.vq_rtcpxr_display_remote_codec.enable= +phone_setting.vq_rtcpxr_display_local_codec.enable= +phone_setting.vq_rtcpxr_display_remote_call_id.enable= +phone_setting.vq_rtcpxr_display_local_call_id.enable= +phone_setting.vq_rtcpxr_display_stop_time.enable= +phone_setting.vq_rtcpxr_display_start_time.enable= +phone_setting.vq_rtcpxr_interval_period= +phone_setting.vq_rtcpxr_delay_threshold_critical= +phone_setting.vq_rtcpxr_delay_threshold_warning= +phone_setting.vq_rtcpxr_moslq_threshold_critical= +phone_setting.vq_rtcpxr_moslq_threshold_warning= +phone_setting.vq_rtcpxr.interval_report.enable= +phone_setting.vq_rtcpxr.states_show_on_gui.enable= +phone_setting.vq_rtcpxr.states_show_on_web.enable= +phone_setting.vq_rtcpxr.session_report.enable= + + +####################################################################################### +## Contact ## +####################################################################################### + +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable = 0 + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +directory_setting.history.enable= +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.pickup_value +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.pickup_value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +#linekey.1.label = +#linekey.1.line = +#linekey.1.value = +#linekey.1.pickup_value = +#linekey.1.extension = +#linekey.1.type = +#linekey.1.xml_phonebook = + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} + +{/foreach} + + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.pickup_value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code = *79 +features.dnd.on_code = *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable = 1 +features.dnd.large_icon.enable= + + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + +####################################################################################### +## UME ## +####################################################################################### +action_url.is_ume= + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= +phone_setting.lcd_logo.mode= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialnow.item.1= +dialplan.dialnow.line_id.1= +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = 15 +dialplan.area_code.min_len = 1 +dialplan.area_code.code= + + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +static.lang.gui = {$yealink_language_gui} +static.lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= +screensaver.delete= +screensaver.upload_url= +features.blf_active_backlight.enable= +screensaver.display_clock.enable= +screensaver.clock_move_interval= +screensaver.picture_change_interval= +screensaver.wait_time= +screensaver.xml_browser.url= + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t48s_wallpaper} +{if isset($yealink_t48s_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t48s_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t48s_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable = 1 +phone_setting.blf_list_sequence_type = 1 + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.parked.action = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.parked.action = +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.parked.action = +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.parked.action = +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable = 0 +blf.enhanced.idle.led= +blf.enhanced.idle.parked.action= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version = 0 +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = diff --git a/resources/templates/provision/yealink/t4x/y000000000116.cfg b/resources/templates/provision/yealink/t4x/y000000000116.cfg new file mode 100644 index 0000000000..7a4b7da648 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/y000000000116.cfg @@ -0,0 +1,1704 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +static.network.cdp.enable = +static.network.cdp.packet_interval = + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = +static.wifi.1.label = +static.wifi.1.ssid = +static.wifi.1.priority = +static.wifi.1.security_mode = +static.wifi.1.cipher_type = +static.wifi.1.password = +static.wifi.1.eap_type = +static.wifi.1.eap_user_name = +static.wifi.1.eap_password = +static.wifi.show_scan_prompt = + + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = +static.network.static_dns_enable = +static.network.pc_port.enable = +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = +static.network.lldp.packet_interval = + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} + +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = +static.zero_touch.wait_time = +static.features.hide_zero_touch_url.enable = +static.zero_touch.network_fail_delay_times = +static.zero_touch.network_fail_wait_times = + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = +static.auto_provision.weekly.dayofweek = +static.auto_provision.weekly.end_time = +static.auto_provision.weekly.begin_time = +static.auto_provision.weekly_upgrade_interval = + + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = +static.auto_provision.repeat.minutes = + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = 0 +static.managementserver.periodic_inform_interval = 60 +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + +####################################################################################### +## Redirect ## +####################################################################################### +static.redirect.user_name = +static.redirect.password = + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t42s} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.factory_reset_option = +features.reset_by_long_press_enable = +features.factory_pwd_enable = +features.export_cfg_erase_pwd = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = +static.syslog.bootlog_upload_wait_time = +static.syslog.ftp.append_limit_mode = +static.syslog.ftp.max_logfile = +static.syslog.ftp.post_mode = +static.syslog.log_upload_period = +static.syslog.log_level = +static.network.promisc_mode.enable = + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +static.security.user_password = {$var_name}:{$var_password} +static.security.user_password = {$admin_name}:{$admin_password} +static.security.user_password = {$user_name}:{$user_password} +static.security.user_name.var = {$var_name} +static.security.user_name.admin = {$admin_name} +static.security.user_name.user = {$user_name} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + +####################################################################################### +## Transfer ## +####################################################################################### +features.transfer_type= {$yealink_transfer_type} +dialplan.transfer.mode = {$yealink_transfer_mode} +transfer.on_hook_trans_enable = {$yealink_transfer_onhook} +transfer.tran_others_after_conf_enable = {$yealink_transfer_after_conf} +transfer.blind_tran_on_hook_enable = {$yealink_transfer_blind_on_hook} +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= {$yealink_transfer_via_new_linekey} + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method = 0 +phone_setting.called_party_info_display.enable = 1 +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= +features.hold_trans_delay= +transfer.multi_call_trans_enable = +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= +features.bluetooth_adapter_name= + + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= + + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= +voice.jib.max = +voice.jib.min = +voice.jib.adaptive = + +voice.jib.wifi.normal= +voice.jib.wifi.max= +voice.jib.wifi.min= +voice.jib.wifi.adaptive= + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = +voice.cng = +voice.vad = + + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = + +sip.dns_transport_type= +sip.skip_redundant_failover_addr= +sip.switch_server_on_503_response= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.listen_in_peer_localip.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= + +{if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable = 0 +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +network.static_nat.enable = {if isset($yealink_static_nat)}1{else}0{/if} + +network.static_nat.addr = {$yealink_static_nat} + +ice.enable = + +sip.nat_stun.enable = {if isset($stun_server)}1{else}0{/if} + +sip.nat_stun.server = {$stun_server} +sip.nat_stun.port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + + +sip.nat_turn.enable = +sip.nat_turn.username = +sip.nat_turn.password = +sip.nat_turn.server = +sip.nat_turn.port = + + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.flags = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= +voice.rtcp_cname= +voice.rtcp_xr.enable= +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= +phone_setting.vq_rtcpxr_display_moscq.enable= +phone_setting.vq_rtcpxr_display_moslq.enable = +phone_setting.vq_rtcpxr_display_packets_lost.enable= +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= +phone_setting.vq_rtcpxr_display_jitter.enable= +phone_setting.vq_rtcpxr_display_remote_codec.enable= +phone_setting.vq_rtcpxr_display_local_codec.enable= +phone_setting.vq_rtcpxr_display_remote_call_id.enable= +phone_setting.vq_rtcpxr_display_local_call_id.enable= +phone_setting.vq_rtcpxr_display_stop_time.enable= +phone_setting.vq_rtcpxr_display_start_time.enable= +phone_setting.vq_rtcpxr_interval_period= +phone_setting.vq_rtcpxr_delay_threshold_critical= +phone_setting.vq_rtcpxr_delay_threshold_warning= +phone_setting.vq_rtcpxr_moslq_threshold_critical= +phone_setting.vq_rtcpxr_moslq_threshold_warning= +phone_setting.vq_rtcpxr.interval_report.enable= +phone_setting.vq_rtcpxr.states_show_on_gui.enable= +phone_setting.vq_rtcpxr.states_show_on_web.enable= +phone_setting.vq_rtcpxr.session_report.enable= + + +####################################################################################### +## Contact ## +####################################################################################### + +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable = 0 + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + +features.remote_phonebook.enable = {$yealink_remote_phonebook_enable} + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +directory_setting.history.enable= +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.pickup_value +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.pickup_value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} + +{/foreach} + + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.pickup_value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code = *79 +features.dnd.on_code = *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable = 1 +features.dnd.large_icon.enable= + + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + +####################################################################################### +## UME ## +####################################################################################### +action_url.is_ume= + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= +phone_setting.lcd_logo.mode= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialnow.item.1= +dialplan.dialnow.line_id.1= +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = 15 +dialplan.area_code.min_len = 1 +dialplan.area_code.code= + + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +static.lang.gui = {$yealink_language_gui} +static.lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= +screensaver.delete= +screensaver.upload_url= +features.blf_active_backlight.enable= +screensaver.display_clock.enable= +screensaver.clock_move_interval= +screensaver.picture_change_interval= +screensaver.wait_time= +screensaver.xml_browser.url= + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t42s_wallpaper} +{if isset($yealink_t42s_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t42s_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t42s_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable = 1 +phone_setting.blf_list_sequence_type = 1 + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.parked.action = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.parked.action = +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.parked.action = +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.parked.action = +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable = 0 +blf.enhanced.idle.led= +blf.enhanced.idle.parked.action= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version = 0 +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = + diff --git a/resources/templates/provision/yealink/t54s/{$mac}.boot b/resources/templates/provision/yealink/t4x/{$mac}.boot similarity index 77% rename from resources/templates/provision/yealink/t54s/{$mac}.boot rename to resources/templates/provision/yealink/t4x/{$mac}.boot index a05b98c981..355a17cb41 100644 --- a/resources/templates/provision/yealink/t54s/{$mac}.boot +++ b/resources/templates/provision/yealink/t4x/{$mac}.boot @@ -1,7 +1,7 @@ -#!version:1.0.0.1 -## The header above must appear as-is in the first line - -include:config "y000000000070.cfg" -include:config "{$mac}.cfg" - -overwrite_mode = {$yealink_overwrite_mode} +#!version:1.0.0.1 +## The header above must appear as-is in the first line + +include:config "y000000000000.cfg" +include:config "{$mac}.cfg" + +overwrite_mode = {$yealink_overwrite_mode} diff --git a/resources/templates/provision/yealink/t4x/{$mac}.cfg b/resources/templates/provision/yealink/t4x/{$mac}.cfg new file mode 100644 index 0000000000..ee89400b48 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/{$mac}.cfg @@ -0,0 +1,582 @@ +#!version:1.0.0.1 +#{$microtime} + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +{foreach $lines as $row} +####################################################################################### +## Account {$row.line_number} Basic Settings ## +####################################################################################### +## ranges from 1 to 16 + +{if isset($account.{$row.line_number}.password) } +account.{$row.line_number}.enable = 1 +{else} +account.{$row.line_number}.enable = 0 +{/if} +account.{$row.line_number}.label = {$account.{$row.line_number}.display_name} +account.{$row.line_number}.display_name = {$account.{$row.line_number}.display_name} +account.{$row.line_number}.auth_name = {$account.{$row.line_number}.auth_id} +account.{$row.line_number}.password = {$account.{$row.line_number}.password} +{if isset($account.{$row.line_number}.server.1.address)} +account.{$row.line_number}.user_name = {$account.{$row.line_number}.user_id}@{$account.{$row.line_number}.server_address} +{else} +account.{$row.line_number}.user_name = {$account.{$row.line_number}.user_id} +{/if} +account.{$row.line_number}.sip_server_host = {$account.{$row.line_number}.server_address} +account.{$row.line_number}.sip_server_port = {$account.{$row.line_number}.sip_port} +account.{$row.line_number}.outbound_host = {$account.{$row.line_number}.outbound_proxy} +account.{$row.line_number}.outbound_port = {$account.{$row.line_number}.sip_port} +{if isset($yealink_sip_listen_port)}account.{$row.line_number}.sip_listen_port = {$yealink_sip_listen_port}{else}account.{$row.line_number}.sip_listen_port = 5060{/if} + +#Configure the transport type 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV +{if $account.{$row.line_number}.sip_transport == 'udp'}account.{$row.line_number}.transport = 0{/if} +{if $account.{$row.line_number}.sip_transport == 'tcp'}account.{$row.line_number}.transport = 1{/if} +{if $account.{$row.line_number}.sip_transport == 'tls'}account.{$row.line_number}.transport = 2{/if} +{if $account.{$row.line_number}.sip_transport == 'dns srv'}account.{$row.line_number}.transport = 3{/if} + +account.{$row.line_number}.outbound_proxy.1.address = {$account.{$row.line_number}.outbound_proxy_primary} +account.{$row.line_number}.outbound_proxy.2.address = {$account.{$row.line_number}.outbound_proxy_secondary} +account.{$row.line_number}.outbound_proxy_enable = {if isset($account.{$row.line_number}.outbound_proxy_primary)}1{else}0{/if} + +{if isset($outbound_proxy_1_port)} +account.{$row.line_number}.outbound_proxy.1.port = {$outbound_proxy_1_port} +{else} +account.{$row.line_number}.outbound_proxy.1.port = {$account.{$row.line_number}.sip_port} +{/if} +{if isset($outbound_proxy_1_port)} +account.{$row.line_number}.outbound_proxy.2.port = {$outbound_proxy_2_port} +{else} +account.{$row.line_number}.outbound_proxy.2.port = {$account.{$row.line_number}.sip_port} +{/if} + +####################################################################################### +## Failback ## +####################################################################################### +## ranges from 1 to 16 + +account.{$row.line_number}.reregister_enable = 0 +account.{$row.line_number}.retry_counts = +account.{$row.line_number}.failback_mode = 0 +account.{$row.line_number}.failback_timeout = 3600 +account.{$row.line_number}.naptr_build = 0 +account.{$row.line_number}.fallback.redundancy_type = 0 +account.{$row.line_number}.fallback.timeout = {$yealink_outbound_proxy_fallback_interval} +account.{$row.line_number}.sip_server.1.address = {$account.{$row.line_number}.server.1.address} +account.{$row.line_number}.sip_server.1.port = {$account.{$row.line_number}.sip_port} + +#Configure the transport type 0-UDP (default), 1-TCP, 2-TLS, 3-DNS-NAPTR +{if $account.{$row.line_number}.sip_transport == 'udp'}account.{$row.line_number}.sip_server.1.transport_type = 0{/if} +{if $account.{$row.line_number}.sip_transport == 'tcp'}account.{$row.line_number}.sip_server.1.transport_type = 1{/if} +{if $account.{$row.line_number}.sip_transport == 'tls'}account.{$row.line_number}.sip_server.1.transport_type = 2{/if} +{if $account.{$row.line_number}.sip_transport == 'dns srv'}account.{$row.line_number}.sip_server.1.transport_type = 3{/if} + +#Configure the register expiry time (in seconds), the default value is 3600. +account.{$row.line_number}.sip_server.1.expires = {$account.{$row.line_number}.register_expires} +account.{$row.line_number}.sip_server.1.retry_counts = 3 +account.{$row.line_number}.sip_server.1.failback_mode = 0 +account.{$row.line_number}.sip_server.1.failback_timeout = 3600 +account.{$row.line_number}.sip_server.1.register_on_enable = 0 +account.{$row.line_number}.sip_server.2.address = {$account.{$row.line_number}.server.2.address} +account.{$row.line_number}.sip_server.2.port = {$account.{$row.line_number}.sip_port} + +#Configure the transport type 0-UDP (default), 1-TCP, 2-TLS, 3-DNS-NAPTR +{if $account.{$row.line_number}.sip_transport == 'udp'}account.{$row.line_number}.sip_server.2.transport_type = 0{/if} +{if $account.{$row.line_number}.sip_transport == 'tcp'}account.{$row.line_number}.sip_server.2.transport_type = 1{/if} +{if $account.{$row.line_number}.sip_transport == 'tls'}account.{$row.line_number}.sip_server.2.transport_type = 2{/if} +{if $account.{$row.line_number}.sip_transport == 'dns srv'}account.{$row.line_number}.sip_server.2.transport_type = 3{/if} + +account.{$row.line_number}.sip_server.2.expires = {$account.{$row.line_number}.register_expires} +account.{$row.line_number}.sip_server.2.retry_counts = 3 +account.{$row.line_number}.sip_server.2.failback_mode = 0 +account.{$row.line_number}.sip_server.2.failback_timeout = 3600 +account.{$row.line_number}.sip_server.2.register_on_enable = 0 + +account.{$row.line_number}.dns_cache_type = 1 +account.{$row.line_number}.dns_cache_a.1.name = +account.{$row.line_number}.dns_cache_a.1.ip = +account.{$row.line_number}.dns_cache_a.1.ttl = 300 +account.{$row.line_number}.dns_cache_srv.1.name = +account.{$row.line_number}.dns_cache_srv.1.port = 0 +account.{$row.line_number}.dns_cache_srv.1.priority = 0 +account.{$row.line_number}.dns_cache_srv.1.target = +account.{$row.line_number}.dns_cache_srv.1.weight = 0 +account.{$row.line_number}.dns_cache_srv.1.ttl = 300 +account.{$row.line_number}.dns_cache_naptr.1.name = +account.{$row.line_number}.dns_cache_naptr.1.flags = +account.{$row.line_number}.dns_cache_naptr.1.order = 0 +account.{$row.line_number}.dns_cache_naptr.1.preference = 0 +account.{$row.line_number}.dns_cache_naptr.1.replace = +account.{$row.line_number}.dns_cache_naptr.1.service = +account.{$row.line_number}.dns_cache_naptr.1.ttl = 300 + +account.{$row.line_number}.static_cache_pri = 0 + +####################################################################################### +## Register Advanced ## +####################################################################################### +## ranges from 1 to 16 + +#Configure the SIP server type 0-Default (default), 2-BroadSoft, 4-Cosmocom +account.{$row.line_number}.sip_server_type = + +#Enable or disable the phone to send the account log-off message first and then send account register message when rebooting the phone 0-Disabled (default), 1-Enabled +account.{$row.line_number}.unregister_on_reboot = + +#Enable or disable the phone to only accept the message from the server 0-Disabled (default), 1-Enabled +account.{$row.line_number}.sip_trust_ctrl = 1 + +#Configure the timeout (in seconds) for DNS query, the value ranges from 1 to 9, the default value is 8. +account.{$row.line_number}.dns_query_timeout= + +#Enable or disable the timer to periodically refresh the DNS-SRV query result 0-Disabled (default), 1-Enabled +account.{$row.line_number}.srv_ttl_timer_enable = +account.{$row.line_number}.proxy_require = + +#Enable or disable the phone to send the MAC address and line number in the Register message 0-Disabled (default), 1-Enabled +account.{$row.line_number}.register_mac = +account.{$row.line_number}.register_line = + +#Configure the interval (in seconds) the phone retries to register when account1 fails to register. It ranges from 0 to 1800, the default value is 30. +account.{$row.line_number}.reg_fail_retry_interval = + +######################################################################### +## NAT Settings ## +######################################################################### + +#Enable or disable the NAT traversal 0-Disabled (default), 1-STUN +account.{$row.line_number}.nat.nat_traversal = {if isset($stun_server)}1{else}0{/if} + +#Configure the STUN server address. +account.{$row.line_number}.nat.stun_server = {$stun_server} + +#Configure the STUN server port, the default value is 3478. +account.{$row.line_number}.nat.stun_port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + +#Enable or disable the NAT keep-alive 0-Disabled, 1-Default (default), 2-Option, 3-Notify +account.{$row.line_number}.nat.udp_update_enable = 3 + +#Specify the keep-alive interval (in seconds), the default value is 30. +account.{$row.line_number}.nat.udp_update_time = 30 + +#Enable or disable the NAT Rport 0-Disabled (default), 1-Enabled +account.{$row.line_number}.nat.rport = {$yealink_rport} + +####################################################################################### +## Account {$row.line_number} Advance Settings ## +####################################################################################### +## ranges from 1 to 16 + +#Configure the session timer (in seconds), the default value of T1, T2, T3 is 0.5, 4, 5. +account.{$row.line_number}.advanced.timer_t1 = +account.{$row.line_number}.advanced.timer_t2 = +account.{$row.line_number}.advanced.timer_t4 = + +voice_mail.number.{$row.line_number} = {$voicemail_number} + +####################################################################################### +## Subscribe ## +####################################################################################### +## ranges from 1 to 16 +##account.X.subscribe_mwi = + +account.{$row.line_number}.subscribe_mwi = 1 +account.{$row.line_number}.subscribe_mwi_expires = 3600 + +#Enable or disable the phone to subscribe to the voicemail through the message waiting indicator 0-Disabled (default), 1-Enabled +account.{$row.line_number}.subscribe_mwi_to_vm = {$yealink_subscribe_mwi_to_vm} +account.{$row.line_number}.subscribe_acd_expires= 3600 + +####################################################################################### +## BLF List ## +####################################################################################### +## ranges from 1 to 16 + +#Configure the BLF list URI (a SIP URI, or use part of the SIP URI). For example, "2300_blflist@domain.com" or "2300_blflist". +account.{$row.line_number}.blf.blf_list_uri = + +account.{$row.line_number}.blf_list_code = +account.{$row.line_number}.blf_list_barge_in_code = +account.{$row.line_number}.blf.subscribe_period = 1800 + +account.{$row.line_number}.blf.subscribe_event = +account.{$row.line_number}.out_dialog_blf_enable = 0 + +####################################################################################### +## BLA/SCA ## +####################################################################################### +## ranges from 1 to 16 + +#Assign account1 as shared line 0-Disabled (default), 1-Broadsoft SCA, 2-BLA +{if isset($account.{$row.line_number}.shared_line) } +account.{$row.line_number}.shared_line = {$account.{$row.line_number}.shared_line} +{else} +account.{$row.line_number}.shared_line = 0 +{/if} + +#Configure BLA number for account1 and the subscribe period (in seconds). It ranges from 60 to 7200, the default value is 300. +account.{$row.line_number}.bla_number = +account.{$row.line_number}.bla_subscribe_period = 300 + +####################################################################################### +## Audio Codec ## +####################################################################################### + +account.{$row.line_number}.codec.1.enable = {if isset($yealink_codec_pcmu_enable)}1{else}0{/if} +account.{$row.line_number}.codec.1.payload_type = PCMU +account.{$row.line_number}.codec.1.priority = {if isset($yealink_codec_pcmu_priority)}{$yealink_codec_pcmu_priority}{else}0{/if} +account.{$row.line_number}.codec.1.rtpmap = 0 + +account.{$row.line_number}.codec.2.enable = {if isset($yealink_codec_pcma_enable)}1{else}0{/if} +account.{$row.line_number}.codec.2.payload_type = PCMA +account.{$row.line_number}.codec.2.priority = {if isset($yealink_codec_pcma_priority)}{$yealink_codec_pcma_priority}{else}0{/if} +account.{$row.line_number}.codec.2.rtpmap = 8 + +account.{$row.line_number}.codec.3.enable = {if isset($yealink_codec_g723_53_enable)}1{else}0{/if} +account.{$row.line_number}.codec.3.payload_type = G723_53 +account.{$row.line_number}.codec.3.priority ={if isset($yealink_codec_g723_53_priority)}{$yealink_codec_g723_53_priority}{else}0{/if} +account.{$row.line_number}.codec.3.rtpmap = 4 + +account.{$row.line_number}.codec.4.enable = {if isset($yealink_codec_g723_63_enable)}1{else}0{/if} +account.{$row.line_number}.codec.4.payload_type = G723_63 +account.{$row.line_number}.codec.4.priority = {if isset($yealink_codec_g723_63_priority)}{$yealink_codec_g723_63_priority}{else}0{/if} +account.{$row.line_number}.codec.4.rtpmap = 4 + +account.{$row.line_number}.codec.5.enable = {if isset($yealink_codec_g729_enable)}1{else}0{/if} +account.{$row.line_number}.codec.5.payload_type = G729 +account.{$row.line_number}.codec.5.priority = {if isset($yealink_codec_g729_priority)}{$yealink_codec_g729_priority}{else}0{/if} +account.{$row.line_number}.codec.5.rtpmap = 18 + +account.{$row.line_number}.codec.6.enable = {if isset($yealink_codec_g722_enable)}1{else}0{/if} +account.{$row.line_number}.codec.6.payload_type = G722 +account.{$row.line_number}.codec.6.priority = {if isset($yealink_codec_g722_priority)}{$yealink_codec_g722_priority}{else}0{/if} +account.{$row.line_number}.codec.6.rtpmap = 9 + +account.{$row.line_number}.codec.7.enable = {if isset($yealink_codec_iLBC_enable)}1{else}0{/if} +account.{$row.line_number}.codec.7.payload_type = iLBC +account.{$row.line_number}.codec.7.priority = {if isset($yealink_codec_iLBC_priority)}{$yealink_codec_iLBC_priority}{else}0{/if} +account.{$row.line_number}.codec.7.rtpmap = 106 + +account.{$row.line_number}.codec.8.enable = {if isset($yealink_codec_g726_16_enable)}1{else}0{/if} +account.{$row.line_number}.codec.8.payload_type = G726-16 +account.{$row.line_number}.codec.8.priority = {if isset($yealink_codec_g726_16_priority)}{$yealink_codec_g726_16_priority}{else}0{/if} +account.{$row.line_number}.codec.8.rtpmap = 103 + +account.{$row.line_number}.codec.9.enable = {if isset($yealink_codec_g726_24_enable)}1{else}0{/if} +account.{$row.line_number}.codec.9.payload_type = G726-24 +account.{$row.line_number}.codec.9.priority = {if isset($yealink_codec_g726_24_priority)}{$yealink_codec_g726_24_priority}{else}0{/if} +account.{$row.line_number}.codec.9.rtpmap = 104 + +account.{$row.line_number}.codec.10.enable = {if isset($yealink_codec_g726_32_enable)}1{else}0{/if} +account.{$row.line_number}.codec.10.payload_type = G726-32 +account.{$row.line_number}.codec.10.priority = {if isset($yealink_codec_g726_32_priority)}{$yealink_codec_g726_32_priority}{else}0{/if} +account.{$row.line_number}.codec.10.rtpmap = 102 + +account.{$row.line_number}.codec.11.enable = {if isset($yealink_codec_g726_40_enable)}1{else}0{/if} +account.{$row.line_number}.codec.11.payload_type = G726-40 +account.{$row.line_number}.codec.11.priority = {if isset($yealink_codec_g726_40_priority)}{$yealink_codec_g726_40_priority}{else}0{/if} +account.{$row.line_number}.codec.11.rtpmap = 105 + +account.{$row.line_number}.codec.12.enable = {if isset($yealink_codec_gsm_enable)}1{else}0{/if} +account.{$row.line_number}.codec.12.payload_type = GSM +account.{$row.line_number}.codec.12.priority = {if isset($yealink_codec_gsm_priority)}{$yealink_codec_gsm_priority}{else}0{/if} +account.{$row.line_number}.codec.12.rtpmap = 3 + +{if {$row.line_number} <= 3 } +account.{$row.line_number}.codec.13.enable = {if isset($yealink_codec_opus_enable)}1{else}0{/if} +account.{$row.line_number}.codec.13.payload_type = opus +account.{$row.line_number}.codec.13.priority = {if isset($yealink_codec_opus_priority)}{$yealink_codec_opus_priority}{else}0{/if} +account.{$row.line_number}.codec.13.rtpmap = 106 +{/if} + +####################################################################################### +## Audio Advanced ## +####################################################################################### +#Specify whether to encrypt the SIP messages 0-Disabled (default), 1-Forced, 2-Negotiated +account.{$row.line_number}.srtp_encryption = {$yealink_srtp_encryption} + +#Configure the RTP packet time. The valid values are 0 (Disabled), 10, 20 (default), 30, 40, 50, 60. +account.{$row.line_number}.ptime = + +####################################################################################### +## Anonymous Call ## +####################################################################################### +account.{$row.line_number}.anonymous_call = 0 +account.{$row.line_number}.anonymous_call_oncode = +account.{$row.line_number}.anonymous_call_offcode = + +account.{$row.line_number}.reject_anonymous_call = +account.{$row.line_number}.anonymous_reject_oncode = +account.{$row.line_number}.anonymous_reject_offcode = + +####################################################################################### +## Pickup Code ## +####################################################################################### +account.{$row.line_number}.dialoginfo_callpickup = 0 + +#Configure the directed and group pickup codes for account 1, the settings on a per-account basis take precedence over the settings on the phone. +account.{$row.line_number}.group_pickup_code = +account.{$row.line_number}.direct_pickup_code = + +####################################################################################### +## DTMF ## +####################################################################################### +#Configure the DTMF type 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO +account.{$row.line_number}.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.{$row.line_number}.dtmf.info_type = + +#Configure the RFC2833 payload. It ranges from 96 to 255, the default value is 101. +account.{$row.line_number}.dtmf.dtmf_payload = + +####################################################################################### +## Alert info ## +####################################################################################### +#Enable or disable to use the Distinctive Ring Tones 0-Disabled , 1-Enabled(default) +account.{$row.line_number}.alert_info_url_enable = + +#Assign a ringtone for account1. The system ring tones are: common (default), Ring1.wav - Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: account.{$row.line_number}.ringtone.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: account.{$row.line_number}.ringtone.ring_type = Resource:Ring2.wav +account.{$row.line_number}.ringtone.ring_type = + +account.{$row.line_number}.picture_info_enable = 1 + +####################################################################################### +## Conference ## +####################################################################################### +#Configure the conference type 0-Local (default), 2-Network Conference +account.{$row.line_number}.conf_type = + +#Configure the conference URI (a SIP URI, or use part of the SIP URI). For example, "conference@domain.com" or "conference". +account.{$row.line_number}.conf_uri = + +####################################################################################### +## cid_source ## +####################################################################################### +#Configure 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 +account.{$row.line_number}.cid_source = {$yealink_cid_source} +account.{$row.line_number}.cid_source_privacy = 1 +account.{$row.line_number}.cid_source_ppi = 1 + +#Configure the presentation of the callee ID 0-PAI-PRID, 1-DIALED DIGITS (default), 2-RFC4916 +account.{$row.line_number}.cp_source = 2 + +####################################################################################### +## Session Timer ## +####################################################################################### +#Enable or disable the session timer, 0-Disabled (default), 1-Enabled +account.{$row.line_number}.session_timer.enable = {$yealink_session_timer} + +#Configure the refresh session timer interval (in seconds). It ranges from 1 to 9999. +account.{$row.line_number}.session_timer.expires = + +#Configure the session timer refresher 0-Uac (default), 1-Uas +account.{$row.line_number}.session_timer.refresher = + +####################################################################################### +## Music on Hold ## +####################################################################################### +#Configure the type of Music on Hold 0-Send the INVITE request to Music on Hold Server then hold the call 1-Hold the call then send the INVITE request to Music on Hold Server +#Require reboot +account.{$row.line_number}.music_on_hold_type = +account.{$row.line_number}.music_server_uri = + +####################################################################################### +## Advanced ## +####################################################################################### +#Enable or disable the auto answer feature 0-Disabled (default), 1-Enabled +account.{$row.line_number}.auto_answer = + +#Enable or disable the phone to record the missed call 0-Disabled, 1-Enabled (default) +account.{$row.line_number}.missed_calllog = + +#Enable or disable the 100 reliable retransmission 0-Disabled (default), 1-Enabled +account.{$row.line_number}.100rel_enable = {$yealink_retransmission} + +#Enable or disable the "user=phone" 0-Disabled (default), 1-Enabled +account.{$row.line_number}.enable_user_equal_phone = + +#Enable or disable the simplified header field feature 0-Disabled, 1-Enabled (default) +account.{$row.line_number}.compact_header_enable = + +####################################################################################### +## DND ## +####################################################################################### +account.{$row.line_number}.dnd.enable = +account.{$row.line_number}.dnd.on_code = +account.{$row.line_number}.dnd.off_code = + +####################################################################################### +## Call Forward ## +####################################################################################### + +account.{$row.line_number}.always_fwd.enable = +account.{$row.line_number}.always_fwd.target = +account.{$row.line_number}.always_fwd.off_code = +account.{$row.line_number}.always_fwd.on_code = + +account.{$row.line_number}.busy_fwd.enable = +account.{$row.line_number}.busy_fwd.target = +account.{$row.line_number}.busy_fwd.off_code = +account.{$row.line_number}.busy_fwd.on_code = + +#Enable or disable the no answer forward feature for account1 0-Disabled (default), 1-Enabled +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +account.{$row.line_number}.timeout_fwd.enable = +account.{$row.line_number}.timeout_fwd.target = +account.{$row.line_number}.timeout_fwd.timeout = +account.{$row.line_number}.timeout_fwd.off_code = +account.{$row.line_number}.timeout_fwd.on_code = + +####################################################################################### +## Broadsoft Hoteling ## +####################################################################################### +account.{$row.line_number}.hoteling.enable = 0 +account.{$row.line_number}.hoteling.user_id = 0 +account.{$row.line_number}.hoteling.password = 0 +account.{$row.line_number}.hoteling.auto_login_enable = 0 + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +account.{$row.line_number}.acd.enable = 0 +account.{$row.line_number}.acd.unavailable_reason_enable = 0 +account.{$row.line_number}.acd.available = 0 +account.{$row.line_number}.acd.initial_state = 1 + +####################################################################################### +## Broadsoft ACD Call Center ## +####################################################################################### +#Configure the ACD reason code of Broadsoft.(The valus of Y must be consecutive numbers.) +#account.{$row.line_number}.bw_acd_reason_code.Y = 500(lunch time) +account.{$row.line_number}.bw_acd_reason_code.1 = +account.{$row.line_number}.reason_code.1 = +account.{$row.line_number}.reason_code_name.1 = 0 +account.{$row.line_number}.bw_disp_code.1 = +account.{$row.line_number}.bw_disp_code_name.1 = +account.{$row.line_number}.supervisor_info_code.1 = +account.{$row.line_number}.supervisor_info_code_name.1 = + +####################################################################################### +## Broadsoft Call Center ## +####################################################################################### +account.{$row.line_number}.call_center.call_info_enable = 0 +account.{$row.line_number}.call_center.show_call_info_time = 30 +account.{$row.line_number}.call_center.disp_code_enable = 0 +account.{$row.line_number}.call_center.trace_enable = 0 +account.{$row.line_number}.call_center.emergency_enable = 0 +account.{$row.line_number}.call_center.queue_status_enable = 0 +account.{$row.line_number}.call_center.queue_status_light_enable = 0 + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +account.{$row.line_number}.xsi.user = +account.{$row.line_number}.xsi.password = +account.{$row.line_number}.xsi.host = +account.{$row.line_number}.xsi.server_type = +account.{$row.line_number}.xsi.port = +{/foreach} + +####################################################################################### +## Line Key ## +####################################################################################### + +#The x of the parameter "linekey.x.line" ranges from 1 to 6. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. Meet-Me Conference "1" or BLF "16" require pick_value. + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} +{/foreach} + +########################################################################################## +## Expansion Module 1 ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. + +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 2 ## +########################################################################################## + +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 3 ## +########################################################################################## + +{foreach $keys["expansion-3"] as $row} +expansion_module.3.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.3.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.3.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.3.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.3.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.3.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 4 ## +########################################################################################## + +{foreach $keys["expansion-4"] as $row} +expansion_module.4.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.4.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.4.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.4.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.4.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.4.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 5 ## +########################################################################################## + +{foreach $keys["expansion-5"] as $row} +expansion_module.5.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.5.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.5.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.5.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.5.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.5.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +########################################################################################## +## Expansion Module 6 ## +########################################################################################## + +{foreach $keys["expansion-6"] as $row} +expansion_module.6.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.6.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.6.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.6.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.6.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.6.key.{$row.device_key_id}.xml_phonebook = +{/foreach} diff --git a/resources/templates/provision/yealink/t4x/{mac}.boot b/resources/templates/provision/yealink/t4x/{mac}.boot new file mode 100644 index 0000000000..b140785ac4 --- /dev/null +++ b/resources/templates/provision/yealink/t4x/{mac}.boot @@ -0,0 +1,20 @@ +#!version:1.0.0.1 +## The header above must appear as-is in the first line + +[T40G]include:config "y000000000076.cfg" +[T40P]include:config "y000000000054.cfg" +[T41S]include:config "y000000000068.cfg" +[T41P]include:config "y000000000036.cfg" +[T42U]include:config "y000000000116.cfg" +[T42S]include:config "y000000000067.cfg" +[T42G]include:config "y000000000029.cfg" +[T43U]include:config "y000000000107.cfg" +[T46S]include:config "y000000000066.cfg" +[T46G]include:config "y000000000028.cfg" +[T46U]include:config "y000000000108.cfg" +[T48S]include:config "y000000000065.cfg" +[T48G]include:config "y000000000035.cfg" +[T48U]include:config "y000000000109.cfg" +include:config "{$mac}.cfg" + +overwrite_mode = {$yealink_overwrite_mode} diff --git a/resources/templates/provision/yealink/t52s/y000000000074.cfg b/resources/templates/provision/yealink/t52s/y000000000074.cfg index 052de170ff..f8bceed792 100644 --- a/resources/templates/provision/yealink/t52s/y000000000074.cfg +++ b/resources/templates/provision/yealink/t52s/y000000000074.cfg @@ -335,12 +335,14 @@ wui.quick_login = ####################################################################################### static.phone_setting.reserve_certs_enable = features.relog_offtime = -static.security.default_ssl_method = +static.security.default_ssl_method = {$yealink_security_default_ssl_method} static.security.cn_validation = static.security.dev_cert = static.security.ca_cert = static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} -security.tls_cipher_list = + +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + {if isset($user_name) } static.security.user_name.user = {$user_name} static.security.user_password = {$user_name}:{$user_password} @@ -1202,14 +1204,14 @@ phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_l ## Time&Date ## ####################################################################################### lcl.datetime.date.format = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} local_time.manual_time_enable = local_time.manual_ntp_srv_prior = local_time.time_format = {$yealink_time_format} local_time.date_format = {$yealink_date_format} local_time.dhcp_time = {$yealink_dhcp_time} -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} local_time.dst_time_type = {$yealink_dst_type} local_time.start_time = {$yealink_time_zone_start_time} local_time.end_time = {$yealink_time_zone_end_time} diff --git a/resources/templates/provision/yealink/t53w/{$mac}.boot b/resources/templates/provision/yealink/t53w/y000000000000.boot similarity index 100% rename from resources/templates/provision/yealink/t53w/{$mac}.boot rename to resources/templates/provision/yealink/t53w/y000000000000.boot diff --git a/resources/templates/provision/yealink/t53w/y000000000095.cfg b/resources/templates/provision/yealink/t53w/y000000000095.cfg index 1558e43067..a576003307 100644 --- a/resources/templates/provision/yealink/t53w/y000000000095.cfg +++ b/resources/templates/provision/yealink/t53w/y000000000095.cfg @@ -350,20 +350,25 @@ wui.quick_login = ####################################################################################### static.phone_setting.reserve_certs_enable = features.relog_offtime = -static.security.default_ssl_method = +static.security.default_ssl_method = {$yealink_security_default_ssl_method} static.security.cn_validation = static.security.dev_cert = static.security.ca_cert = + static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} -security.tls_cipher_list = + +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + {if isset($user_name) } static.security.user_name.user = {$user_name} static.security.user_password = {$user_name}:{$user_password} {/if} + {if isset($admin_name) } static.security.user_name.admin = {$admin_name} static.security.user_password = {$admin_name}:{$admin_password} {/if} + {if isset($var_name) } static.security.user_name.var = {$var_name} static.security.user_password = {$var_name}:{$var_password} @@ -1343,14 +1348,14 @@ phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_l ## Time&Date ## ####################################################################################### lcl.datetime.date.format = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} local_time.manual_time_enable = local_time.manual_ntp_srv_prior = local_time.time_format = {$yealink_time_format} local_time.date_format = {$yealink_date_format} local_time.dhcp_time = {$yealink_dhcp_time} -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} local_time.dst_time_type = {$yealink_dst_type} local_time.start_time = {$yealink_time_zone_start_time} local_time.end_time = {$yealink_time_zone_end_time} diff --git a/resources/templates/provision/yealink/t54s/y000000000070.cfg b/resources/templates/provision/yealink/t54s/y000000000070.cfg index c392bb6a1b..56bd5517dc 100644 --- a/resources/templates/provision/yealink/t54s/y000000000070.cfg +++ b/resources/templates/provision/yealink/t54s/y000000000070.cfg @@ -340,6 +340,7 @@ static.security.cn_validation = static.security.dev_cert = static.security.ca_cert = static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} + security.tls_cipher_list = {if isset($user_name) } static.security.user_name.user = {$user_name} @@ -1201,14 +1202,14 @@ phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_l ## Time&Date ## ####################################################################################### lcl.datetime.date.format = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} local_time.manual_time_enable = local_time.manual_ntp_srv_prior = local_time.time_format = {$yealink_time_format} local_time.date_format = {$yealink_date_format} local_time.dhcp_time = {$yealink_dhcp_time} -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} local_time.dst_time_type = {$yealink_dst_type} local_time.start_time = {$yealink_time_zone_start_time} local_time.end_time = {$yealink_time_zone_end_time} diff --git a/resources/templates/provision/yealink/t54w/{$mac}.boot b/resources/templates/provision/yealink/t54w/y000000000000.boot similarity index 100% rename from resources/templates/provision/yealink/t54w/{$mac}.boot rename to resources/templates/provision/yealink/t54w/y000000000000.boot diff --git a/resources/templates/provision/yealink/t54w/y000000000096.cfg b/resources/templates/provision/yealink/t54w/y000000000096.cfg index 54a76bb6c9..4652f61806 100644 --- a/resources/templates/provision/yealink/t54w/y000000000096.cfg +++ b/resources/templates/provision/yealink/t54w/y000000000096.cfg @@ -350,20 +350,25 @@ wui.quick_login = ####################################################################################### static.phone_setting.reserve_certs_enable = features.relog_offtime = -static.security.default_ssl_method = +static.security.default_ssl_method = {$yealink_security_default_ssl_method} static.security.cn_validation = static.security.dev_cert = static.security.ca_cert = + static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} -security.tls_cipher_list = + +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + {if isset($user_name) } static.security.user_name.user = {$user_name} static.security.user_password = {$user_name}:{$user_password} {/if} + {if isset($admin_name) } static.security.user_name.admin = {$admin_name} static.security.user_password = {$admin_name}:{$admin_password} {/if} + {if isset($var_name) } static.security.user_name.var = {$var_name} static.security.user_password = {$var_name}:{$var_password} @@ -1343,14 +1348,14 @@ phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_l ## Time&Date ## ####################################################################################### lcl.datetime.date.format = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} local_time.manual_time_enable = local_time.manual_ntp_srv_prior = local_time.time_format = {$yealink_time_format} local_time.date_format = {$yealink_date_format} local_time.dhcp_time = {$yealink_dhcp_time} -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} local_time.dst_time_type = {$yealink_dst_type} local_time.start_time = {$yealink_time_zone_start_time} local_time.end_time = {$yealink_time_zone_end_time} diff --git a/resources/templates/provision/yealink/t56a/{$mac}.cfg b/resources/templates/provision/yealink/t56a/{$mac}.cfg index c9489591b5..ed14c9ca0f 100644 --- a/resources/templates/provision/yealink/t56a/{$mac}.cfg +++ b/resources/templates/provision/yealink/t56a/{$mac}.cfg @@ -2960,7 +2960,7 @@ local_time.interval = ##It enables or disables daylight saving time (DST) feature. ##0-Disabled,1-Enabled,2-Automatic. ##The default value is 2. -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} ##It configures the way DST works when DST feature is enabled. ##0-DST By Date ,1-DST By Week. @@ -3002,7 +3002,7 @@ local_time.manual_time_enable = ##The default value is 0. local_time.manual_ntp_srv_prior = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### diff --git a/resources/templates/provision/yealink/t57w/{$mac}.boot b/resources/templates/provision/yealink/t57w/y000000000000.boot similarity index 100% rename from resources/templates/provision/yealink/t57w/{$mac}.boot rename to resources/templates/provision/yealink/t57w/y000000000000.boot diff --git a/resources/templates/provision/yealink/t57w/y000000000097.cfg b/resources/templates/provision/yealink/t57w/y000000000097.cfg index d2c186568d..ee5eb1e18c 100644 --- a/resources/templates/provision/yealink/t57w/y000000000097.cfg +++ b/resources/templates/provision/yealink/t57w/y000000000097.cfg @@ -350,20 +350,25 @@ wui.quick_login = ####################################################################################### static.phone_setting.reserve_certs_enable = features.relog_offtime = -static.security.default_ssl_method = +static.security.default_ssl_method = {$yealink_security_default_ssl_method} static.security.cn_validation = static.security.dev_cert = static.security.ca_cert = + static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} -security.tls_cipher_list = + +security.tls_cipher_list = {$yealink_security_tls_cipher_list} + {if isset($user_name) } static.security.user_name.user = {$user_name} static.security.user_password = {$user_name}:{$user_password} {/if} + {if isset($admin_name) } static.security.user_name.admin = {$admin_name} static.security.user_password = {$admin_name}:{$admin_password} {/if} + {if isset($var_name) } static.security.user_name.var = {$var_name} static.security.user_password = {$var_name}:{$var_password} @@ -1343,14 +1348,14 @@ phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_l ## Time&Date ## ####################################################################################### lcl.datetime.date.format = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} local_time.manual_time_enable = local_time.manual_ntp_srv_prior = local_time.time_format = {$yealink_time_format} local_time.date_format = {$yealink_date_format} local_time.dhcp_time = {$yealink_dhcp_time} -local_time.summer_time = {$yealink_dst_enable} +local_time.summer_time = {$yealink_summer_time} local_time.dst_time_type = {$yealink_dst_type} local_time.start_time = {$yealink_time_zone_start_time} local_time.end_time = {$yealink_time_zone_end_time} diff --git a/resources/templates/provision/yealink/t58v/{$mac}.cfg b/resources/templates/provision/yealink/t58v/{$mac}.cfg index a125c99d93..db8b835f64 100644 --- a/resources/templates/provision/yealink/t58v/{$mac}.cfg +++ b/resources/templates/provision/yealink/t58v/{$mac}.cfg @@ -2960,7 +2960,7 @@ local_time.interval = ##It enables or disables daylight saving time (DST) feature. ##0-Disabled,1-Enabled,2-Automatic. ##The default value is 2. -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} ##It configures the way DST works when DST feature is enabled. ##0-DST By Date ,1-DST By Week. @@ -3001,7 +3001,7 @@ local_time.manual_time_enable = ##The default value is 0. local_time.manual_ntp_srv_prior = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} ####################################################################################### diff --git a/resources/templates/provision/yealink/t5x/directory.xml b/resources/templates/provision/yealink/t5x/directory.xml new file mode 100644 index 0000000000..3e319dfb50 --- /dev/null +++ b/resources/templates/provision/yealink/t5x/directory.xml @@ -0,0 +1,83 @@ + +{foreach $contacts as $row} +{if $smarty.get.contacts == "users" && $row.category == "users"} + +{if $row.contact_name_given != ""} +{if $row.contact_organization != ""} + {$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.contact_name_given} {$row.contact_name_family} +{/if} +{else} +{$row.effective_caller_id_name} +{/if} +{foreach $row.numbers as $number} +{if $number.phone_number != ""} + {$number.phone_number} +{else} + {$number.phone_extension} +{/if} +{/foreach} + +{elseif $smarty.get.contacts == "groups" && $row.category == "groups"} + +{if $row.contact_name_given != ""} +{if $row.contact_organization != ""} + {$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.contact_name_given} {$row.contact_name_family} +{/if} +{else} + {$row.effective_caller_id_name} +{/if} +{foreach $row.numbers as $number} +{if $number.phone_number != ""} + {$number.phone_number} +{else} + {$number.phone_extension} +{/if} +{/foreach} + +{elseif $smarty.get.contacts == "extensions" && $row.category == "extensions"} + +{if $row.contact_name_given != ""} + {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.effective_caller_id_name} +{/if} +{if $row.phone_number != ""} + {$row.phone_number} +{else} + {$row.phone_extension} +{/if} + +{elseif $smarty.get.contacts == "all"} + +{if $row.contact_name_given != ""} +{if $row.contact_organization != ""} + {$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family} +{else} + {$row.contact_name_given} {$row.contact_name_family} +{/if} +{else} + {$row.effective_caller_id_name} +{/if} +{if $row.category == "extensions"} +{if $row.phone_number != ""} + {$row.phone_number} +{else} + {$row.phone_extension} +{/if} +{else} +{foreach $row.numbers as $number} +{if $number.phone_number != ""} + {$number.phone_number} +{else} + {$number.phone_extension} +{/if} +{/foreach} +{/if} + +{/if} +{/foreach} + diff --git a/resources/templates/provision/yealink/t5x/favorite_setting.xml b/resources/templates/provision/yealink/t5x/favorite_setting.xml new file mode 100644 index 0000000000..4034d7d261 --- /dev/null +++ b/resources/templates/provision/yealink/t5x/favorite_setting.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/resources/templates/provision/yealink/t5x/y000000000000.boot b/resources/templates/provision/yealink/t5x/y000000000000.boot new file mode 100644 index 0000000000..07e8bd0685 --- /dev/null +++ b/resources/templates/provision/yealink/t5x/y000000000000.boot @@ -0,0 +1,10 @@ +#!version:1.0.0.1 +## The header above must appear as-is in the first line + +[T53]include:config "y000000000095.cfg" +[T53W]include:config "y000000000095.cfg" +[T54W]include:config "y000000000096.cfg" +[T57W]include:config "y000000000097.cfg" +include:config "{$mac}.cfg" + +overwrite_mode = {$yealink_overwrite_mode} diff --git a/resources/templates/provision/yealink/t5x/y000000000070.cfg b/resources/templates/provision/yealink/t5x/y000000000070.cfg new file mode 100644 index 0000000000..ffe89132e8 --- /dev/null +++ b/resources/templates/provision/yealink/t5x/y000000000070.cfg @@ -0,0 +1,1702 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +static.network.cdp.enable = {$yealink_cdp_enable} +static.network.cdp.packet_interval = {$yealink_cdp_packet_interval} + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = {$yealink_wifi_enable} +static.wifi.1.label = {$yealink_wifi_1_label} +static.wifi.1.ssid = {$yealink_wifi_1_ssid} +static.wifi.1.priority = {$yealink_wifi_1_priority} +static.wifi.1.security_mode = {$yealink_wifi_1_security} +static.wifi.1.cipher_type = {$yealink_wifi_1_cipher} +static.wifi.1.password = {$yealink_wifi_1_password} +static.wifi.1.eap_type = {$yealink_wifi_1_type} +static.wifi.1.eap_user_name = {$yealink_wifi_1_username} +static.wifi.1.eap_password = {$yealink_wifi_1_password} +static.wifi.show_scan_prompt = {$yealink_wifi_scan_prompt} + + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = {$yealink_ip_address_mode} +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = +static.network.static_dns_enable = +static.network.pc_port.enable = +static.network.primary_dns = +static.network.secondary_dns = +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = {$yealink_lldp_enable} +static.network.lldp.packet_interval = {$yealink_lldp_packet_interval} + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = {$yealink_zero_touch_enable} +static.zero_touch.wait_time = {$yealink_zero_touch_wait_time} +static.features.hide_zero_touch_url.enable = {$yealink_zero_touch_hide} +static.zero_touch.network_fail_delay_times = {$yealink_zero_touch_delay} +static.zero_touch.network_fail_wait_times = {$yealink_zero_touch_wait} + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = {$yealink_autop_weekly_enable} +static.auto_provision.weekly.dayofweek = {$yealink_autop_weekly_dayofweek} +static.auto_provision.weekly.end_time = {$yealink_autop_weekly_end_time} +static.auto_provision.weekly.begin_time = {$yealink_autop_weekly_begin_time} +static.auto_provision.weekly_upgrade_interval = {$yealink_autop_weekly_interval} + + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = {$yealink_autop_repeat_enable} +static.auto_provision.repeat.minutes = {$yealink_autop_repeat_minutes} + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = {$yealink_autop_power_on} + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = {$yealink_autop_pnp} + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = +static.managementserver.periodic_inform_interval = +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + +####################################################################################### +## Redirect ## +####################################################################################### +static.redirect.user_name = +static.redirect.password = + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t54s} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.factory_reset_option = +features.reset_by_long_press_enable = +features.factory_pwd_enable = +features.export_cfg_erase_pwd = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = +static.syslog.bootlog_upload_wait_time = +static.syslog.ftp.append_limit_mode = +static.syslog.ftp.max_logfile = +static.syslog.ftp.post_mode = +static.syslog.log_upload_period = +static.syslog.log_level = +static.network.promisc_mode.enable = + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} +{if isset($user_name) } +static.security.user_name.user = {$user_name} +static.security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +static.security.user_name.admin = {$admin_name} +static.security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +static.security.user_name.var = {$var_name} +static.security.user_password = {$var_name}:{$var_password} +{/if} + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = {$yealink_trusted_cert_url} +static.trusted_certificates.delete = {$yealink_trusted_cert_delete} + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + +####################################################################################### +## Transfer ## +####################################################################################### +features.transfer_type= {$yealink_transfer_type} +dialplan.transfer.mode = {$yealink_transfer_mode} +transfer.on_hook_trans_enable = {$yealink_transfer_onhook} +transfer.tran_others_after_conf_enable = {$yealink_transfer_after_conf} +transfer.blind_tran_on_hook_enable = {$yealink_transfer_blind_on_hook} +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= {$yealink_transfer_via_new_linekey} + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method= 0 +phone_setting.called_party_info_display.enable = 1 +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= +features.hold_trans_delay= +transfer.multi_call_trans_enable = +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= {$yealink_bluetooth_enable} +features.bluetooth_adapter_name= {$yealink_bluetooth_name} + + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= + + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= {$yealink_jib_normal} +voice.jib.max = {$yealink_jib_max} +voice.jib.min = {$yealink_jib_min} +voice.jib.adaptive = {$yealink_jib_adaptive} + +voice.jib.wifi.normal= {$yealink_jib_wifi_normal} +voice.jib.wifi.max= {$yealink_jib_wifi_max} +voice.jib.wifi.min= {$yealink_jib_wifi_min} +voice.jib.wifi.adaptive= {$yealink_jib_wifi_adaptive} + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = {$yealink_echo_cancellation} +voice.cng = {$yealink_cng} +voice.vad = {$yealink_vad} + + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = + +sip.dns_transport_type= +sip.skip_redundant_failover_addr= +sip.switch_server_on_503_response= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.listen_in_peer_localip.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= {if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.listen_port= +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable= +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= + +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + + +################################################################ +# NAT&ICE ## +################################################################ +static.sip.nat_turn.enable= +static.sip.nat_turn.username= +static.sip.nat_turn.password= +static.sip.nat_turn.server= +static.sip.nat_turn.port= + +static.sip.nat_stun.enable= +static.sip.nat_stun.server= +static.sip.nat_stun.port= + +static.ice.enable= +static.network.static_nat.enable= +static.network.static_nat.addr= + + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.flags = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= {$yealink_rtcp_enable} +voice.rtcp_cname= {$yealink_rtcp_cname} +voice.rtcp_xr.enable= {$yealink_rtcpxr_enable} +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_moscq.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_moslq.enable = {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_packets_lost.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_jitter.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_remote_codec.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_local_codec.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_remote_call_id.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_local_call_id.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_stop_time.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_start_time.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_interval_period= {$yealink_rtcpxr_interval} +phone_setting.vq_rtcpxr_delay_threshold_critical= {$yealink_rtcpxr_delay_threshold_critical} +phone_setting.vq_rtcpxr_delay_threshold_warning= {$yealink_rtcpxr_delay_threshold_warning} +phone_setting.vq_rtcpxr_moslq_threshold_critical= {$yealink_rtcpxr_mos_threshold_critical} +phone_setting.vq_rtcpxr_moslq_threshold_warning= {$yealink_rtcpxr_mos_threshold_warning} +phone_setting.vq_rtcpxr.interval_report.enable= {$yealink_rtcpxr_interval_report_enable} +phone_setting.vq_rtcpxr.states_show_on_gui.enable= {$yealink_rtcpxr_show_gui_enable} +phone_setting.vq_rtcpxr.states_show_on_web.enable= {$yealink_rtcpxr_show_web_enable} +phone_setting.vq_rtcpxr.session_report.enable= {$yealink_rtcpxr_report_enable} + + +####################################################################################### +## Contact ## +####################################################################################### +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable= {$yealink_contact_photo_enable} + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +directory_setting.history.enable= +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.pickup_value +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = +{/foreach} + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.pickup_value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} +{/foreach} + + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.pickup_value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code= *79 +features.dnd.on_code= *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable= 1 +features.dnd.large_icon.enable= + + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + +####################################################################################### +## UME ## +####################################################################################### +action_url.is_ume= + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= +phone_setting.lcd_logo.mode= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialnow.item.1= +dialplan.dialnow.line_id.1= + +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} + +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = +dialplan.area_code.min_len= +dialplan.area_code.code= + + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +static.lang.gui= {$yealink_language_gui} +static.lang.wui= {$yealink_language_web} + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= {$yealink_screensaver_type} +screensaver.delete= {$yealink_screensaver_delete} +screensaver.upload_url= {$yealink_screensaver_upload_url} +features.blf_active_backlight.enable= +screensaver.display_clock.enable= {$yealink_screensaver_clock} +screensaver.clock_move_interval= {$yealink_screensaver_clock_interval} +screensaver.picture_change_interval= {$yealink_screensaver_pic_interval} +screensaver.wait_time= {$yealink_screensaver_wait} +screensaver.xml_browser.url= {$yealink_screensaver_xml_url} + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t54s_wallpaper} +{if isset($yealink_t54s_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t54s_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t54s_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= {$yealink_wallpaper_dsskey_unfold} + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= {$yealink_wallpaper_expansion} + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable= +phone_setting.blf_list_sequence_type= + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.parked.action = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.parked.action = +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.parked.action = +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.parked.action = +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable= +blf.enhanced.idle.led= +blf.enhanced.idle.parked.action= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version = 0 +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = {$yealink_blf_ring_type} + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = diff --git a/resources/templates/provision/yealink/t5x/y000000000095.cfg b/resources/templates/provision/yealink/t5x/y000000000095.cfg new file mode 100644 index 0000000000..9edad20edf --- /dev/null +++ b/resources/templates/provision/yealink/t5x/y000000000095.cfg @@ -0,0 +1,1986 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +static.network.cdp.enable = {$yealink_cdp_enable} +static.network.cdp.packet_interval = {$yealink_cdp_packet_interval} + + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = {$yealink_wifi_enable} +static.wifi.1.label = {$yealink_wifi_1_label} +static.wifi.1.ssid = {$yealink_wifi_1_ssid} +static.wifi.1.priority = {$yealink_wifi_1_priority} +static.wifi.1.security_mode = {$yealink_wifi_1_security} +static.wifi.1.cipher_type = {$yealink_wifi_1_cipher} +static.wifi.1.password = {$yealink_wifi_1_password} +static.wifi.1.eap_type = {$yealink_wifi_1_type} +static.wifi.1.eap_user_name = {$yealink_wifi_1_username} +static.wifi.1.eap_password = {$yealink_wifi_1_password} +static.wifi.show_scan_prompt = {$yealink_wifi_scan_prompt} + + +##V83 Add +static.wifi.function.enable = + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = {$yealink_ip_address_mode} +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = +{if isset($dns_server_primary)}static.network.static_dns_enable = 1{else}static.network.static_dns_enable = 0{/if} +static.network.pc_port.enable = 1 +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + +##V83 Add +static.network.preference = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + +##V83 Add +static.network.redundancy.mode = +static.network.redundancy.failback.timeout = + + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = {$yealink_lldp_enable} +static.network.lldp.packet_interval = {$yealink_lldp_packet_interval} + + + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = {$yealink_zero_touch_enable} +static.zero_touch.wait_time = {$yealink_zero_touch_wait_time} +static.features.hide_zero_touch_url.enable = {$yealink_zero_touch_hide} +static.zero_touch.network_fail_delay_times = {$yealink_zero_touch_delay} +static.zero_touch.network_fail_wait_times = {$yealink_zero_touch_wait} + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = {$yealink_autop_weekly_enable} +static.auto_provision.weekly.dayofweek = {$yealink_autop_weekly_dayofweek} +static.auto_provision.weekly.end_time = {$yealink_autop_weekly_end_time} +static.auto_provision.weekly.begin_time = {$yealink_autop_weekly_begin_time} +static.auto_provision.weekly_upgrade_interval = {$yealink_autop_weekly_interval} + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = {$yealink_autop_repeat_enable} +static.auto_provision.repeat.minutes = {$yealink_autop_repeat_minutes} + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + +##V83 Add +static.auto_provision.dhcp_option.list_user6_options = + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = {$yealink_autop_power_on} + + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = +##V83 Add +static.auto_provision.authentication.expired_time = +static.auto_provision.connect.keep_alive = + +##V84 Add +static.auto_provision.config_version.mac= +static.auto_provision.config_version.com= + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = {$yealink_autop_pnp} + + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = +static.managementserver.periodic_inform_interval = +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t53w} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.reset_by_long_press_enable = +features.factory_pwd_enable = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = + + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} +{if isset($user_name) } +static.security.user_name.user = {$user_name} +static.security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +static.security.user_name.admin = {$admin_name} +static.security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +static.security.user_name.var = {$var_name} +static.security.user_password = {$var_name}:{$var_password} +{/if} + + +##V83 Add +static.security.default_access_level = +phone_setting.reserve_certs_config.enable = + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + + + +####################################################################################### +## Trnasfer ## +####################################################################################### +features.transfer_type= {$yealink_transfer_type} +dialplan.transfer.mode = {$yealink_transfer_mode} +transfer.on_hook_trans_enable = {$yealink_transfer_onhook} +transfer.tran_others_after_conf_enable = {$yealink_transfer_after_conf} +transfer.blind_tran_on_hook_enable = {$yealink_transfer_blind_on_hook} +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= {$yealink_transfer_via_new_linekey} + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method= +phone_setting.called_party_info_display.enable = +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= + +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= +##V83 Add +features.station_name.value = +features.station_name.scrolling_display = +voice.headset.autoreset_spk_vol = +voice.handset.autoreset_spk_vol = +voice.handfree.autoreset_spk_vol = +features.headset.ctrl_call.enable = +phone_setting.incoming_call.reject.enable = + +features.play_mute_tone.enable= +features.play_mute_tone.interval= + +features.call_out_directory_by_off_hook.enable= +features.congestion_tone.codelist= + + +##V84 Add +phone_setting.icon.delete= +phone_setting.icon.url= + + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + +##V83 Add +features.homescreen_softkey.acd.enable = +features.homescreen_softkey.hoteling.enable = +phone_setting.custom_softkey.apply_to_states = +features.custom_softkey_dynamic.enable = + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= {$yealink_bluetooth_enable} +features.bluetooth_adapter_name= {$yealink_bluetooth_name} + +##V84 Add +bluetooth.a2dp_sink= +bluetooth.connect_confirm.enable= + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + +features.idle_recording.enable= + +####################################################################################### +## Features USB ## +####################################################################################### +##V83 Add +static.usb.power.enable = + +##V84 Add +static.usbdisk.function.enable= + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= +####################################################################################### +## Tones ## +####################################################################################### + +voice.tone.stutterdial= +voice.tone.stutter_dial_tone.apply_to_dnd.enable= +voice.tone.stutter_dial_tone.apply_to_fwd.enable= +voice.tone.stutter_dial_tone.apply_to_fwd.enable= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= {$yealink_jib_normal} +voice.jib.max = {$yealink_jib_max} +voice.jib.min = {$yealink_jib_min} +voice.jib.adaptive = {$yealink_jib_adaptive} + +voice.jib.wifi.normal= {$yealink_jib_wifi_normal} +voice.jib.wifi.max= {$yealink_jib_wifi_max} +voice.jib.wifi.min= {$yealink_jib_wifi_min} +voice.jib.wifi.adaptive= {$yealink_jib_wifi_adaptive} + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = {$yealink_echo_cancellation} +voice.cng = {$yealink_cng} +voice.vad = {$yealink_vad} + + +##V84 Add +voice.ans_nb.enable= +voice.tns.enable= + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = +sip.dns_transport_type= +sip.skip_redundant_failover_addr= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + +##V84 Add +phone_setting.call_display_name.mode= + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= {if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.listen_port= +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable= +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= +sip.reg_surge_prevention = + +################################################################ +# V84 new add ÅäºÏsip.escape_characters.enable=ʹÓà ## +################################################################ +sip.reserve_characters= +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + +##V83 Add +sip.dhcp.option120.mode = + +################################################################ +# NAT&ICE ## +################################################################ +static.sip.nat_turn.enable= +static.sip.nat_turn.username= +static.sip.nat_turn.password= +static.sip.nat_turn.server= +static.sip.nat_turn.port= + +static.sip.nat_stun.enable= +static.sip.nat_stun.server= +static.sip.nat_stun.port= {if isset($stun_port)}{$stun_port}{else}3478{/if} + + + + +static.ice.enable= +static.network.static_nat.enable= {if isset($yealink_static_nat)}1{else}0{/if} +static.network.static_nat.addr= {$yealink_static_nat} + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= {$yealink_rtcp_enable} +voice.rtcp_cname= {$yealink_rtcp_cname} +voice.rtcp_xr.enable= {$yealink_rtcpxr_enable} +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_moscq.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_moslq.enable = {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_packets_lost.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_jitter.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_remote_codec.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_local_codec.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_remote_call_id.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_local_call_id.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_stop_time.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_start_time.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_interval_period= {$yealink_rtcpxr_interval} +phone_setting.vq_rtcpxr_delay_threshold_critical= {$yealink_rtcpxr_delay_threshold_critical} +phone_setting.vq_rtcpxr_delay_threshold_warning= {$yealink_rtcpxr_delay_threshold_warning} +phone_setting.vq_rtcpxr_moslq_threshold_critical= {$yealink_rtcpxr_mos_threshold_critical} +phone_setting.vq_rtcpxr_moslq_threshold_warning= {$yealink_rtcpxr_mos_threshold_warning} +phone_setting.vq_rtcpxr.interval_report.enable= {$yealink_rtcpxr_interval_report_enable} +phone_setting.vq_rtcpxr.states_show_on_gui.enable= {$yealink_rtcpxr_show_gui_enable} +phone_setting.vq_rtcpxr.states_show_on_web.enable= {$yealink_rtcpxr_show_web_enable} +phone_setting.vq_rtcpxr.session_report.enable= {$yealink_rtcpxr_report_enable} + + +####################################################################################### +## Contact ## +####################################################################################### +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable= {$yealink_contact_photo_enable} + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + +search_in_dialing.local_directory.enable = +search_in_dialing.local_directory.priority = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +#remote_phonebook.data.X.username= +#remote_phonebook.data.X.password= +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + +directory_setting.ldap.enable = +directory_setting.ldap.priority = +search_in_dialing.ldap.enable = +search_in_dialing.ldap.priority = + + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +search_in_dialing.history.priority= +directory_setting.history.enable= +directory_setting.history.priority +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + +##V83 Add +features.calllog_detailed_information = + +##V84 Add +features.call_log_merge.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + +##V83 Add +phone_setting.search.highlight_keywords.enable = + +####################################################################################### +## Favorites ## +####################################################################################### +##V83 Add +local_contact.favorite.enable = +phone_setting.favorite_sequence_type = + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = + +{/foreach} + +##V83 Add +programablekey.type_range.custom = + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} +{/foreach} + +##V83 Add +linekey.type_range.custom = + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +##V83 Add +expkey.type_range.custom = + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + +##V84 Add +##edk.edkprompt.X.title= +(X ranges from 1 to 9) +edk.edkprompt.1.title= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + +##V83 Add +hoteling.authentication_mode = +push_xml.phonebook.search.delay = +features.xml_browser.loading_tip.delay = +features.xml_browser.pwd = +features.xml_browser.user_name = +push_xml.password = +push_xml.username = + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + +##V83 Add +features.forward.no_answer.show_ring_times = + +##V84 Add +features.no_answer_code= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code= *79 +features.dnd.on_code= *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable= 1 +features.dnd.large_icon.enable= + +##V83 Add +features.keep_dnd.enable = + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + + + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= +features.intercom.barge_in_dialing.enable= + + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + +##V84 Add +features.touch_tone= + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + +##V84 Add +action_url.peripheral_information= + + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + +##V83 Add +dialplan.digitmap.apply_to.prefix_key = + +##V84 ADD +features.local_calllog.received.replace_rule= + + + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialplan.dialnow.line_id.1= + +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} + +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = +dialplan.area_code.min_len= +dialplan.area_code.code= + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + +##V83 Add +##Only T48G/T48S Models support the parameter +phone_setting.virtual_keyboard.enable = + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +lang.gui= +lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= {$yealink_screensaver_type} +screensaver.delete= {$yealink_screensaver_delete} +screensaver.upload_url= {$yealink_screensaver_upload_url} +features.blf_active_backlight.enable= +screensaver.display_clock.enable= {$yealink_screensaver_clock} +screensaver.clock_move_interval= {$yealink_screensaver_clock_interval} +screensaver.picture_change_interval= {$yealink_screensaver_pic_interval} +screensaver.wait_time= {$yealink_screensaver_wait} +screensaver.xml_browser.url= {$yealink_screensaver_xml_url} + + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t53w_wallpaper} +{if isset($yealink_t53w_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t53w_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t53w_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= {$yealink_wallpaper_dsskey_unfold} + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= {$yealink_wallpaper_expansion} + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable= +phone_setting.blf_list_sequence_type= + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable= +blf.enhanced.idle.led= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version= +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + +##V84 Add +blf.enhanced.dnd.enable= +blf.enhanced.dnd.led= +blf.enhanced.hold.enable= +blf.enhanced.hold.led= + +features.blf.show_callinfo.enable= + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = +##V83 Add +bw.xsi.directory.update.enable = + +####################################################################################### +## Broadsoft Network Calllog ## +####################################################################################### +##V83 Add +bw.xsi.call_log.delete.enable = +bw.xsi.call_log.multiple_accounts.enable = +phone_setting.ring_duration = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + +##V84 Add +features.pickup.blf_audio.list= +features.pickup.blf_visual.list= + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = {$yealink_blf_ring_type} + + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + +##V83 Add +phone_setting.uc_favorite_sequence_type = + +####################################################################################### +## Broadsoft Emergency Call ## +####################################################################################### +##V83 Add +bw.emergency_calling.enable = + + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + +##V83 Add +directory_setting.meta_directory.enable= +directory_setting.meta_directory.priority= +directory_setting.meta_call_log.enable= +directory_setting.meta_call_log.priority= +search_in_dialing.meta_call_log.priority = +search_in_dialing.meta_call_log.enable = +search_in_dialing.meta_directory.priority = +search_in_dialing.meta_directory.enable = + + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = + + +####################################################################################### +## Loopback Call ## +####################################################################################### +##V83 Add +sip.loopback.enable = +sip.loopback_type = +sip.pkt_loopback_mode +sip.loopback.auto_answer.mode = +sip.pkt_loopback_encapsulated_payload = +sip.pkt_loopback_directed_payload = + + +####################################################################################### +## V84 add ## +####################################################################################### +google_contact_server.enable= + +static.features.network_test.check_policy= +static.features.network_test.enable= +static.features.network_test.host= +static.features.network_test.period= +static.features.network_unavailable_test.period= + +phone_setting.warnings_display.mode= + +bw.flexible_seating.remember_password.ldap.enable= + +vcaccount.enable= + +####################################################################################### +## V84 T5XW add VPM-Acoustic Shield ## +####################################################################################### +features.acoustic_shield.level = +features.acoustic_shield.mode = + + +####################################################################################### +## V84 T5XW add × ## +####################################################################################### + +base.active_handset.number= +base.pin_code= +base.repeater_mode.enable= +base.pin_code_for_register= +base.double_pin_code.enable= + + +custom.handset.auto_answer.enable= +custom.handset.auto_intercom= +custom.handset.backlight_out_of_charger.enable= +custom.handset.backlight_in_charger.enable= +custom.handset.color_scheme= +custom.handset.confirmation_tone.enable= +custom.handset.date_format= +custom.handset.eco_mode.enable= +custom.handset.keypad_light.enable= +custom.handset.keypad_tone.enable= +custom.handset.language= +custom.handset.low_battery_tone.enable= +custom.handset.missed_call_notify_light.enable= +custom.handset.screen_saver.enable= +custom.handset.time_format= +custom.handset.voice_mail_notify_light.enable= +custom.handset.wallpaper= + + +handset.x.dial_out_default_line= +handset.x.dial_out_lines= +handset.x.hac.enable= +handset.x.incoming_lines= +handset.x.name= + + +over_the_air.base_trigger= +over_the_air.handset_tip= +over_the_air.handset_trigger= +over_the_air.url= +over_the_air.url.w52h= +over_the_air.url.w56h= + + + + +auto_provision.custom.handset.protect= +auto_provision.handset_configured.enable= +phone_setting.end_call_on_hook.enable= + +directory_setting.shared_contact.enable= +shared_contact_list.url= + diff --git a/resources/templates/provision/yealink/t5x/y000000000096.cfg b/resources/templates/provision/yealink/t5x/y000000000096.cfg new file mode 100644 index 0000000000..bb800ccb68 --- /dev/null +++ b/resources/templates/provision/yealink/t5x/y000000000096.cfg @@ -0,0 +1,1987 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +static.network.cdp.enable = {$yealink_cdp_enable} +static.network.cdp.packet_interval = {$yealink_cdp_packet_interval} + + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = {$yealink_wifi_enable} +static.wifi.1.label = {$yealink_wifi_1_label} +static.wifi.1.ssid = {$yealink_wifi_1_ssid} +static.wifi.1.priority = {$yealink_wifi_1_priority} +static.wifi.1.security_mode = {$yealink_wifi_1_security} +static.wifi.1.cipher_type = {$yealink_wifi_1_cipher} +static.wifi.1.password = {$yealink_wifi_1_password} +static.wifi.1.eap_type = {$yealink_wifi_1_type} +static.wifi.1.eap_user_name = {$yealink_wifi_1_username} +static.wifi.1.eap_password = {$yealink_wifi_1_password} +static.wifi.show_scan_prompt = {$yealink_wifi_scan_prompt} + + +##V83 Add +static.wifi.function.enable = + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = {$yealink_ip_address_mode} +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = +{if isset($dns_server_primary)}static.network.static_dns_enable = 1{else}static.network.static_dns_enable = 0{/if} +static.network.pc_port.enable = 1 +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + +##V83 Add +static.network.preference = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + +##V83 Add +static.network.redundancy.mode = +static.network.redundancy.failback.timeout = + + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = {$yealink_lldp_enable} +static.network.lldp.packet_interval = {$yealink_lldp_packet_interval} + + + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = {$yealink_zero_touch_enable} +static.zero_touch.wait_time = {$yealink_zero_touch_wait_time} +static.features.hide_zero_touch_url.enable = {$yealink_zero_touch_hide} +static.zero_touch.network_fail_delay_times = {$yealink_zero_touch_delay} +static.zero_touch.network_fail_wait_times = {$yealink_zero_touch_wait} + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = {$yealink_autop_weekly_enable} +static.auto_provision.weekly.dayofweek = {$yealink_autop_weekly_dayofweek} +static.auto_provision.weekly.end_time = {$yealink_autop_weekly_end_time} +static.auto_provision.weekly.begin_time = {$yealink_autop_weekly_begin_time} +static.auto_provision.weekly_upgrade_interval = {$yealink_autop_weekly_interval} + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = {$yealink_autop_repeat_enable} +static.auto_provision.repeat.minutes = {$yealink_autop_repeat_minutes} + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + +##V83 Add +static.auto_provision.dhcp_option.list_user6_options = + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = {$yealink_autop_power_on} + + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = +##V83 Add +static.auto_provision.authentication.expired_time = +static.auto_provision.connect.keep_alive = + +##V84 Add +static.auto_provision.config_version.mac= +static.auto_provision.config_version.com= + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = {$yealink_autop_pnp} + + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = +static.managementserver.periodic_inform_interval = +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t54w} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.reset_by_long_press_enable = +features.factory_pwd_enable = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = + + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} +{if isset($user_name) } +static.security.user_name.user = {$user_name} +static.security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +static.security.user_name.admin = {$admin_name} +static.security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +static.security.user_name.var = {$var_name} +static.security.user_password = {$var_name}:{$var_password} +{/if} + + +##V83 Add +static.security.default_access_level = +phone_setting.reserve_certs_config.enable = + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + + + +####################################################################################### +## Trnasfer ## +####################################################################################### +features.transfer_type= {$yealink_transfer_type} +dialplan.transfer.mode = {$yealink_transfer_mode} +transfer.on_hook_trans_enable = {$yealink_transfer_onhook} +transfer.tran_others_after_conf_enable = {$yealink_transfer_after_conf} +transfer.blind_tran_on_hook_enable = {$yealink_transfer_blind_on_hook} +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= {$yealink_transfer_via_new_linekey} + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method= +phone_setting.called_party_info_display.enable = +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= + +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= +##V83 Add +features.station_name.value = +features.station_name.scrolling_display = +voice.headset.autoreset_spk_vol = +voice.handset.autoreset_spk_vol = +voice.handfree.autoreset_spk_vol = +features.headset.ctrl_call.enable = +phone_setting.incoming_call.reject.enable = + +features.play_mute_tone.enable= +features.play_mute_tone.interval= + +features.call_out_directory_by_off_hook.enable= +features.congestion_tone.codelist= + + +##V84 Add +phone_setting.icon.delete= +phone_setting.icon.url= + + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + +##V83 Add +features.homescreen_softkey.acd.enable = +features.homescreen_softkey.hoteling.enable = +phone_setting.custom_softkey.apply_to_states = +features.custom_softkey_dynamic.enable = + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= {$yealink_bluetooth_enable} +features.bluetooth_adapter_name= {$yealink_bluetooth_name} + +##V84 Add +bluetooth.a2dp_sink= +bluetooth.connect_confirm.enable= + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + +features.idle_recording.enable= + +####################################################################################### +## Features USB ## +####################################################################################### +##V83 Add +static.usb.power.enable = + +##V84 Add +static.usbdisk.function.enable= + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= +####################################################################################### +## Tones ## +####################################################################################### + +voice.tone.stutterdial= +voice.tone.stutter_dial_tone.apply_to_dnd.enable= +voice.tone.stutter_dial_tone.apply_to_fwd.enable= +voice.tone.stutter_dial_tone.apply_to_fwd.enable= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= {$yealink_jib_normal} +voice.jib.max = {$yealink_jib_max} +voice.jib.min = {$yealink_jib_min} +voice.jib.adaptive = {$yealink_jib_adaptive} + +voice.jib.wifi.normal= {$yealink_jib_wifi_normal} +voice.jib.wifi.max= {$yealink_jib_wifi_max} +voice.jib.wifi.min= {$yealink_jib_wifi_min} +voice.jib.wifi.adaptive= {$yealink_jib_wifi_adaptive} + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = {$yealink_echo_cancellation} +voice.cng = {$yealink_cng} +voice.vad = {$yealink_vad} + + +##V84 Add +voice.ans_nb.enable= +voice.tns.enable= + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = +sip.dns_transport_type= +sip.skip_redundant_failover_addr= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + +##V84 Add +phone_setting.call_display_name.mode= + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= {if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.listen_port= +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable= +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= +sip.reg_surge_prevention = + +################################################################ +# V84 new add ÅäºÏsip.escape_characters.enable=ʹÓà ## +################################################################ +sip.reserve_characters= +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + +##V83 Add +sip.dhcp.option120.mode = + +################################################################ +# NAT&ICE ## +################################################################ +static.sip.nat_turn.enable= +static.sip.nat_turn.username= +static.sip.nat_turn.password= +static.sip.nat_turn.server= +static.sip.nat_turn.port= + +static.sip.nat_stun.enable= +static.sip.nat_stun.server= +static.sip.nat_stun.port= {if isset($stun_port)}{$stun_port}{else}3478{/if} + + + + +static.ice.enable= +static.network.static_nat.enable= {if isset($yealink_static_nat)}1{else}0{/if} +static.network.static_nat.addr= {$yealink_static_nat} + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= {$yealink_rtcp_enable} +voice.rtcp_cname= {$yealink_rtcp_cname} +voice.rtcp_xr.enable= {$yealink_rtcpxr_enable} +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_moscq.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_moslq.enable = {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_packets_lost.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_jitter.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_remote_codec.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_local_codec.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_remote_call_id.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_local_call_id.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_stop_time.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_start_time.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_interval_period= {$yealink_rtcpxr_interval} +phone_setting.vq_rtcpxr_delay_threshold_critical= {$yealink_rtcpxr_delay_threshold_critical} +phone_setting.vq_rtcpxr_delay_threshold_warning= {$yealink_rtcpxr_delay_threshold_warning} +phone_setting.vq_rtcpxr_moslq_threshold_critical= {$yealink_rtcpxr_mos_threshold_critical} +phone_setting.vq_rtcpxr_moslq_threshold_warning= {$yealink_rtcpxr_mos_threshold_warning} +phone_setting.vq_rtcpxr.interval_report.enable= {$yealink_rtcpxr_interval_report_enable} +phone_setting.vq_rtcpxr.states_show_on_gui.enable= {$yealink_rtcpxr_show_gui_enable} +phone_setting.vq_rtcpxr.states_show_on_web.enable= {$yealink_rtcpxr_show_web_enable} +phone_setting.vq_rtcpxr.session_report.enable= {$yealink_rtcpxr_report_enable} + + +####################################################################################### +## Contact ## +####################################################################################### +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable= {$yealink_contact_photo_enable} + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + +search_in_dialing.local_directory.enable = +search_in_dialing.local_directory.priority = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +#remote_phonebook.data.X.username= +#remote_phonebook.data.X.password= +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + +directory_setting.ldap.enable = +directory_setting.ldap.priority = +search_in_dialing.ldap.enable = +search_in_dialing.ldap.priority = + + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +search_in_dialing.history.priority= +directory_setting.history.enable= +directory_setting.history.priority +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + +##V83 Add +features.calllog_detailed_information = + +##V84 Add +features.call_log_merge.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + +##V83 Add +phone_setting.search.highlight_keywords.enable = + +####################################################################################### +## Favorites ## +####################################################################################### +##V83 Add +local_contact.favorite.enable = +phone_setting.favorite_sequence_type = + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = + +{/foreach} + +##V83 Add +programablekey.type_range.custom = + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} +{/foreach} + +##V83 Add +linekey.type_range.custom = + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +##V83 Add +expkey.type_range.custom = + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + +##V84 Add +##edk.edkprompt.X.title= +(X ranges from 1 to 9) +edk.edkprompt.1.title= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + +##V83 Add +hoteling.authentication_mode = +push_xml.phonebook.search.delay = +features.xml_browser.loading_tip.delay = +features.xml_browser.pwd = +features.xml_browser.user_name = +push_xml.password = +push_xml.username = + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + +##V83 Add +features.forward.no_answer.show_ring_times = + +##V84 Add +features.no_answer_code= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code= *79 +features.dnd.on_code= *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable= 1 +features.dnd.large_icon.enable= + +##V83 Add +features.keep_dnd.enable = + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + + + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= +features.intercom.barge_in_dialing.enable= + + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + +##V84 Add +features.touch_tone= + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + +##V84 Add +action_url.peripheral_information= + + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + +##V83 Add +dialplan.digitmap.apply_to.prefix_key = + +##V84 ADD +features.local_calllog.received.replace_rule= + + + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialplan.dialnow.line_id.1= + +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} + +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = +dialplan.area_code.min_len= +dialplan.area_code.code= + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + +##V83 Add +##Only T48G/T48S Models support the parameter +phone_setting.virtual_keyboard.enable = + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +lang.gui= +lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= {$yealink_screensaver_type} +screensaver.delete= {$yealink_screensaver_delete} +screensaver.upload_url= {$yealink_screensaver_upload_url} +features.blf_active_backlight.enable= +screensaver.display_clock.enable= {$yealink_screensaver_clock} +screensaver.clock_move_interval= {$yealink_screensaver_clock_interval} +screensaver.picture_change_interval= {$yealink_screensaver_pic_interval} +screensaver.wait_time= {$yealink_screensaver_wait} +screensaver.xml_browser.url= {$yealink_screensaver_xml_url} + + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t54w_wallpaper} +{if isset($yealink_t54w_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t54w_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t54w_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= {$yealink_wallpaper_dsskey_unfold} + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= {$yealink_wallpaper_expansion} + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable= +phone_setting.blf_list_sequence_type= + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable= +blf.enhanced.idle.led= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version= +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + +##V84 Add +blf.enhanced.dnd.enable= +blf.enhanced.dnd.led= +blf.enhanced.hold.enable= +blf.enhanced.hold.led= + +features.blf.show_callinfo.enable= + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = +##V83 Add +bw.xsi.directory.update.enable = + +####################################################################################### +## Broadsoft Network Calllog ## +####################################################################################### +##V83 Add +bw.xsi.call_log.delete.enable = +bw.xsi.call_log.multiple_accounts.enable = +phone_setting.ring_duration = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + +##V84 Add +features.pickup.blf_audio.list= +features.pickup.blf_visual.list= + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = {$yealink_blf_ring_type} + + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + +##V83 Add +phone_setting.uc_favorite_sequence_type = + +####################################################################################### +## Broadsoft Emergency Call ## +####################################################################################### +##V83 Add +bw.emergency_calling.enable = + + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + +##V83 Add +directory_setting.meta_directory.enable= +directory_setting.meta_directory.priority= +directory_setting.meta_call_log.enable= +directory_setting.meta_call_log.priority= +search_in_dialing.meta_call_log.priority = +search_in_dialing.meta_call_log.enable = +search_in_dialing.meta_directory.priority = +search_in_dialing.meta_directory.enable = + + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = + + +####################################################################################### +## Loopback Call ## +####################################################################################### +##V83 Add +sip.loopback.enable = +sip.loopback_type = +sip.pkt_loopback_mode +sip.loopback.auto_answer.mode = +sip.pkt_loopback_encapsulated_payload = +sip.pkt_loopback_directed_payload = + + +####################################################################################### +## V84 add ## +####################################################################################### +google_contact_server.enable= + +static.features.network_test.check_policy= +static.features.network_test.enable= +static.features.network_test.host= +static.features.network_test.period= +static.features.network_unavailable_test.period= + +phone_setting.warnings_display.mode= + +bw.flexible_seating.remember_password.ldap.enable= + +vcaccount.enable= + +####################################################################################### +## V84 T5XW add VPM-Acoustic Shield ## +####################################################################################### +features.acoustic_shield.level = +features.acoustic_shield.mode = + + +####################################################################################### +## V84 T5XW add × ## +####################################################################################### + +base.active_handset.number= +base.pin_code= +base.repeater_mode.enable= +base.pin_code_for_register= +base.double_pin_code.enable= + + +custom.handset.auto_answer.enable= +custom.handset.auto_intercom= +custom.handset.backlight_out_of_charger.enable= +custom.handset.backlight_in_charger.enable= +custom.handset.color_scheme= +custom.handset.confirmation_tone.enable= +custom.handset.date_format= +custom.handset.eco_mode.enable= +custom.handset.keypad_light.enable= +custom.handset.keypad_tone.enable= +custom.handset.language= +custom.handset.low_battery_tone.enable= +custom.handset.missed_call_notify_light.enable= +custom.handset.screen_saver.enable= +custom.handset.time_format= +custom.handset.voice_mail_notify_light.enable= +custom.handset.wallpaper= + + +handset.x.dial_out_default_line= +handset.x.dial_out_lines= +handset.x.hac.enable= +handset.x.incoming_lines= +handset.x.name= + + +over_the_air.base_trigger= +over_the_air.handset_tip= +over_the_air.handset_trigger= +over_the_air.url= +over_the_air.url.w52h= +over_the_air.url.w56h= + + + + +auto_provision.custom.handset.protect= +auto_provision.handset_configured.enable= +phone_setting.end_call_on_hook.enable= + +directory_setting.shared_contact.enable= +shared_contact_list.url= + diff --git a/resources/templates/provision/yealink/t5x/y000000000097.cfg b/resources/templates/provision/yealink/t5x/y000000000097.cfg new file mode 100644 index 0000000000..0fad04f289 --- /dev/null +++ b/resources/templates/provision/yealink/t5x/y000000000097.cfg @@ -0,0 +1,1987 @@ +#!version:1.0.0.1 + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +####################################################################################### +## Network CDP ## +####################################################################################### +static.network.cdp.enable = {$yealink_cdp_enable} +static.network.cdp.packet_interval = {$yealink_cdp_packet_interval} + + + +####################################################################################### +## Network IPv6 ## +####################################################################################### +static.network.ipv6_static_dns_enable = +static.network.ipv6_icmp_v6.enable = +static.network.ipv6_secondary_dns = +static.network.ipv6_primary_dns = +static.network.ipv6_internet_port.gateway = +static.network.ipv6_internet_port.ip = +static.network.ipv6_internet_port.type = +static.network.ipv6_prefix = + +####################################################################################### +## Network WiFi ## +####################################################################################### +##static.wifi.X.label= +##static.wifi.X.ssid= +##static.wifi.X.priority= +##static.wifi.X.security_mode= +##static.wifi.X.cipher_type= +##static.wifi.X.password= +##static.wifi.X.eap_type= +##static.wifi.X.eap_user_name= +##static.wifi.x.eap_password= +##(X ranges from 1 to 5) +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support these parameters. + +static.wifi.enable = {$yealink_wifi_enable} +static.wifi.1.label = {$yealink_wifi_1_label} +static.wifi.1.ssid = {$yealink_wifi_1_ssid} +static.wifi.1.priority = {$yealink_wifi_1_priority} +static.wifi.1.security_mode = {$yealink_wifi_1_security} +static.wifi.1.cipher_type = {$yealink_wifi_1_cipher} +static.wifi.1.password = {$yealink_wifi_1_password} +static.wifi.1.eap_type = {$yealink_wifi_1_type} +static.wifi.1.eap_user_name = {$yealink_wifi_1_username} +static.wifi.1.eap_password = {$yealink_wifi_1_password} +static.wifi.show_scan_prompt = {$yealink_wifi_scan_prompt} + + +##V83 Add +static.wifi.function.enable = + +####################################################################################### +## Network Internet ## +####################################################################################### +static.network.ip_address_mode = {$yealink_ip_address_mode} +static.network.span_to_pc_port = +static.network.vlan.pc_port_mode = +{if isset($dns_server_primary)}static.network.static_dns_enable = 1{else}static.network.static_dns_enable = 0{/if} +static.network.pc_port.enable = 1 +static.network.primary_dns = {$dns_server_primary} +static.network.secondary_dns = {$dns_server_secondary} +static.network.internet_port.gateway = +static.network.internet_port.mask = +static.network.internet_port.ip = +static.network.internet_port.type = + +##V83 Add +static.network.preference = + + +####################################################################################### +## Network Advanced ## +####################################################################################### +static.network.dhcp_host_name = +static.network.dhcp.option60type = +static.network.mtu_value = +static.network.qos.audiotos = +static.network.port.min_rtpport = +static.network.port.max_rtpport = +static.network.qos.signaltos = + +static.wui.http_enable = +static.wui.https_enable = +static.network.port.https = +static.network.port.http = + +static.network.pc_port.speed_duplex = +static.network.internet_port.speed_duplex = + +##V83 Add +static.network.redundancy.mode = +static.network.redundancy.failback.timeout = + + + +####################################################################################### +## Network LLDP ## +####################################################################################### +static.network.lldp.enable = {$yealink_lldp_enable} +static.network.lldp.packet_interval = {$yealink_lldp_packet_interval} + + + + +####################################################################################### +## Network VLAN ## +####################################################################################### +static.network.vlan.dhcp_enable = +static.network.vlan.dhcp_option = +static.network.vlan.vlan_change.enable = + +static.network.vlan.pc_port_priority = {$yealink_vlan_pc_cos} +static.network.vlan.pc_port_vid = {$yealink_vlan_pc_id} +static.network.vlan.pc_port_enable = + +static.network.vlan.internet_port_priority = {$yealink_vlan_cos} +static.network.vlan.internet_port_vid = {$yealink_vlan_id} +{if isset($yealink_vlan_enable)}static.network.vlan.internet_port_enable = {$yealink_vlan_enable}{else}static.network.vlan.internet_port_enable = 0{/if} + + + +####################################################################################### +## Network VPN ## +####################################################################################### +static.network.vpn_enable = {$yealink_network_vpn_enable} +static.openvpn.url = {$yealink_openvpn_url} + + + +####################################################################################### +## Network 802.1x ## +####################################################################################### +static.network.802_1x.mode = +static.network.802_1x.identity = +static.network.802_1x.md5_password = +static.network.802_1x.client_cert_url = +static.network.802_1x.root_cert_url = +static.network.802_1x.eap_fast_provision_mode = +static.network.802_1x.anonymous_identity = +static.network.802_1x.proxy_eap_logoff.enable = + + +static.auto_provision.custom.protect = +static.auto_provision.custom.sync = +static.auto_provision.custom.sync.path = +static.auto_provision.custom.upload_method = + + + + +####################################################################################### +## ZERO Touch ## +####################################################################################### +static.zero_touch.enable = {$yealink_zero_touch_enable} +static.zero_touch.wait_time = {$yealink_zero_touch_wait_time} +static.features.hide_zero_touch_url.enable = {$yealink_zero_touch_hide} +static.zero_touch.network_fail_delay_times = {$yealink_zero_touch_delay} +static.zero_touch.network_fail_wait_times = {$yealink_zero_touch_wait} + + +####################################################################################### +## Autop URL ## +####################################################################################### +static.auto_provision.server.url = {$yealink_provision_url} +static.auto_provision.server.username = {$http_auth_username} +static.auto_provision.server.password = {$http_auth_password} + + +####################################################################################### +## Autop Weekly ## +####################################################################################### +static.auto_provision.weekly.enable = {$yealink_autop_weekly_enable} +static.auto_provision.weekly.dayofweek = {$yealink_autop_weekly_dayofweek} +static.auto_provision.weekly.end_time = {$yealink_autop_weekly_end_time} +static.auto_provision.weekly.begin_time = {$yealink_autop_weekly_begin_time} +static.auto_provision.weekly_upgrade_interval = {$yealink_autop_weekly_interval} + +####################################################################################### +## Autop Repeat ## +####################################################################################### +static.auto_provision.repeat.enable = {$yealink_autop_repeat_enable} +static.auto_provision.repeat.minutes = {$yealink_autop_repeat_minutes} + + +####################################################################################### +## Autop DHCP ## +####################################################################################### +static.auto_provision.dhcp_option.list_user_options = +static.auto_provision.dhcp_option.enable = + +##V83 Add +static.auto_provision.dhcp_option.list_user6_options = + +####################################################################################### +## Autop Mode ## +####################################################################################### +static.auto_provision.power_on = {$yealink_autop_power_on} + + + +####################################################################################### +## Flexible Autop ## +####################################################################################### +static.auto_provision.flexible.end_time = +static.auto_provision.flexible.begin_time = +static.auto_provision.flexible.interval = +static.auto_provision.flexible.enable = + +####################################################################################### +## Autoprovision Other ## +####################################################################################### +static.auto_provision.prompt.enable = +static.auto_provision.attempt_expired_time = +static.auto_provision.attempt_before_failed = +static.network.attempt_expired_time = +static.auto_provision.update_file_mode = +static.auto_provision.retry_delay_after_file_transfer_failed= +static.auto_provision.inactivity_time_expire = +static.auto_provision.dns_resolv_timeout = +static.auto_provision.dns_resolv_nretry = +static.auto_provision.dns_resolv_nosys = +static.auto_provision.user_agent_mac.enable = +static.auto_provision.server.type = +features.action_uri_force_autop = +static.auto_provision.url_wildcard.pn = +static.auto_provision.reboot_force.enable = +static.auto_provision.dhcp_option.option60_value = +static.custom_mac_cfg.url = +static.auto_provision.aes_key_in_file = +static.auto_provision.aes_key_16.mac = +static.auto_provision.aes_key_16.com = +features.custom_version_info = +##V83 Add +static.auto_provision.authentication.expired_time = +static.auto_provision.connect.keep_alive = + +##V84 Add +static.auto_provision.config_version.mac= +static.auto_provision.config_version.com= + + +####################################################################################### +## Autop PNP ## +####################################################################################### +static.auto_provision.pnp_enable = {$yealink_autop_pnp} + + + +####################################################################################### +## Autop Code ## +####################################################################################### +##static.autoprovision.X.name +##static.autoprovision.X.code +##static.autoprovision.X.url +##static.autoprovision.X.user +##static.autoprovision.X.password +##static.autoprovision.X.com_aes +##static.autoprovision.X.mac_aes +##Autop Code(X ranges from 1 to 50) + +static.autoprovision.1.name = +static.autoprovision.1.code = +static.autoprovision.1.url = +static.autoprovision.1.user = +static.autoprovision.1.password = +static.autoprovision.1.com_aes = +static.autoprovision.1.mac_aes = + + + +####################################################################################### +## TR069 ## +####################################################################################### + +static.managementserver.enable = +static.managementserver.username = +static.managementserver.password = +static.managementserver.url = +static.managementserver.periodic_inform_enable = +static.managementserver.periodic_inform_interval = +static.managementserver.connection_request_password = +static.managementserver.connection_request_username = + + + +####################################################################################### +## Firmware Update ## +####################################################################################### +static.firmware.url = {$yealink_firmware_url}/{$yealink_firmware_t57w} + + +####################################################################################### +## Confguration ## +####################################################################################### +features.reset_by_long_press_enable = +features.factory_pwd_enable = +static.configuration.url = +static.features.custom_factory_config.enable = +static.custom_factory_configuration.url = + + +####################################################################################### +## SYSLOG ## +####################################################################################### +static.syslog.enable = +static.syslog.server = +static.syslog.level = +static.syslog.server_port = +static.syslog.transport_type = +static.syslog.facility = +static.syslog.prepend_mac_address.enable = +static.local_log.enable = +static.local_log.level = +static.local_log.max_file_size = + + + +####################################################################################### +## Log Backup ## +####################################################################################### +static.auto_provision.local_log.backup.enable = +static.auto_provision.local_log.backup.path = +static.auto_provision.local_log.backup.upload_period = +static.auto_provision.local_log.backup.append = +static.auto_provision.local_log.backup.bootlog.upload_wait_time= +static.auto_provision.local_log.backup.append.max_file_size = +static.auto_provision.local_log.backup.append.limit_mode= + + + +####################################################################################### +## User Mode ## +####################################################################################### +static.security.var_enable = +static.web_item_level.url = + + +####################################################################################### +## Quick Login ## +####################################################################################### +wui.quick_login = + + +####################################################################################### +## Security ## +####################################################################################### +static.phone_setting.reserve_certs_enable = +features.relog_offtime = +static.security.default_ssl_method = +static.security.cn_validation = +static.security.dev_cert = +static.security.ca_cert = +static.security.trust_certificates = {if $yealink_trust_certificates == "false"}0{elseif $yealink_trust_certificates == "true"}1{/if} +security.tls_cipher_list = {$yealink_security_tls_cipher_list} +{if isset($user_name) } +static.security.user_name.user = {$user_name} +static.security.user_password = {$user_name}:{$user_password} +{/if} +{if isset($admin_name) } +static.security.user_name.admin = {$admin_name} +static.security.user_password = {$admin_name}:{$admin_password} +{/if} +{if isset($var_name) } +static.security.user_name.var = {$var_name} +static.security.user_password = {$var_name}:{$var_password} +{/if} + + +##V83 Add +static.security.default_access_level = +phone_setting.reserve_certs_config.enable = + + +####################################################################################### +## Watch Dog ## +####################################################################################### +static.watch_dog.enable = + +####################################################################################### +## Server Certificates ## +####################################################################################### +static.server_certificates.url = +static.server_certificates.delete = + +####################################################################################### +## Trusted Certificates ## +####################################################################################### +static.trusted_certificates.url = +static.trusted_certificates.delete = + + + +####################################################################################### +## Secure Domain List ## +####################################################################################### +wui.secure_domain_list = + + +####################################################################################### +## Encryption ## +####################################################################################### +static.auto_provision.encryption.directory = +static.auto_provision.encryption.call_log = +static.auto_provision.encryption.config = + + + + +####################################################################################### +## Trnasfer ## +####################################################################################### +features.transfer_type= {$yealink_transfer_type} +dialplan.transfer.mode = {$yealink_transfer_mode} +transfer.on_hook_trans_enable = {$yealink_transfer_onhook} +transfer.tran_others_after_conf_enable = {$yealink_transfer_after_conf} +transfer.blind_tran_on_hook_enable = {$yealink_transfer_blind_on_hook} +transfer.semi_attend_tran_enable = {$yealink_transfer_semi_attended} +phone_setting.call_appearance.transfer_via_new_linekey= {$yealink_transfer_via_new_linekey} + + +####################################################################################### +## Conference ## +####################################################################################### +features.conference.with_previous_call.enable = +features.local_conf.combine_with_one_press.enable= +phone_setting.call_appearance.conference_via_new_linekey= + + + +####################################################################################### +## Anonymous ## +####################################################################################### +features.anonymous_response_code= + + + +####################################################################################### +## Call Configuration ## +####################################################################################### +phone_setting.incoming_call_when_dialing.priority= +phone_setting.hold_or_swap.mode= +features.play_held_tone.interval= +features.play_held_tone.delay= +features.play_held_tone.enable= +features.play_hold_tone.interval= +features.ignore_incoming_call.enable= +force.voice.ring_vol= +features.mute.autoanswer_mute.enable= +features.play_hold_tone.delay = +phone_setting.end_call_net_disconnect.enable = +features.custom_auto_answer_tone.enable= +default_input_method.dialing= +features.speaker_mode.enable= +features.headset_mode.enable= +features.handset_mode.enable= +features.conference.local.enable = +features.off_hook_answer.enable= +features.caller_name_type_on_dialing= +phone_setting.show_code403= +phone_setting.ring_for_tranfailed= +features.password_dial.length= +features.password_dial.prefix= +features.password_dial.enable= +features.group_listen_in_talking_enable= +phone_setting.call_info_display_method= +phone_setting.called_party_info_display.enable = +features.headset_training= +features.headset_prior= +features.dtmf.replace_tran = +features.dtmf.transfer = +phone_setting.ringing_timeout= +phone_setting.ringback_timeout= + +features.keep_mute.enable= +linekey.1.shortlabel= +features.config_dsskey_length.shorten = +transfer.dsskey_deal_type = {$yealink_dsskey_transfer_mode} +features.auto_linekeys.enable= +phone_setting.call_appearance.calls_per_linekey= +features.linekey_call_with_default_account= +##V83 Add +features.station_name.value = +features.station_name.scrolling_display = +voice.headset.autoreset_spk_vol = +voice.handset.autoreset_spk_vol = +voice.handfree.autoreset_spk_vol = +features.headset.ctrl_call.enable = +phone_setting.incoming_call.reject.enable = + +features.play_mute_tone.enable= +features.play_mute_tone.interval= + +features.call_out_directory_by_off_hook.enable= +features.congestion_tone.codelist= + + +##V84 Add +phone_setting.icon.delete= +phone_setting.icon.url= + + + +####################################################################################### +## Custom Softkey ## +####################################################################################### +phone_setting.custom_softkey_enable= +custom_softkey_talking.url= +custom_softkey_ring_back.url= +custom_softkey_dialing.url= +custom_softkey_connecting.url= +custom_softkey_call_in.url= +custom_softkey_call_failed.url= + +##V83 Add +features.homescreen_softkey.acd.enable = +features.homescreen_softkey.hoteling.enable = +phone_setting.custom_softkey.apply_to_states = +features.custom_softkey_dynamic.enable = + + +####################################################################################### +## Features Bluetooth ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.bluetooth_enable= {$yealink_bluetooth_enable} +features.bluetooth_adapter_name= {$yealink_bluetooth_name} + +##V84 Add +bluetooth.a2dp_sink= +bluetooth.connect_confirm.enable= + +####################################################################################### +## Features USB Record ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T42S/T41S/T29G/T27G Models support the parameter. +features.usb_call_recording.enable = {$yealink_usb_record_enable} + +features.idle_recording.enable= + +####################################################################################### +## Features USB ## +####################################################################################### +##V83 Add +static.usb.power.enable = + +##V84 Add +static.usbdisk.function.enable= + +####################################################################################### +## Codec ## +####################################################################################### +voice.g726.aal2.enable= + + +####################################################################################### +## DTMF ## +####################################################################################### +features.dtmf.min_interval= +features.dtmf.volume= +features.dtmf.duration = + +####################################################################################### +## Tones ## +####################################################################################### +voice.tone.autoanswer = +voice.tone.message = +voice.tone.stutter = +voice.tone.info = +voice.tone.dialrecall = +voice.tone.callwaiting = +voice.tone.congestion = +voice.tone.busy = +voice.tone.ring = +voice.tone.dial = +voice.tone.country = +voice.side_tone = +features.partition_tone = +voice.tone.secondary_dial= +####################################################################################### +## Tones ## +####################################################################################### + +voice.tone.stutterdial= +voice.tone.stutter_dial_tone.apply_to_dnd.enable= +voice.tone.stutter_dial_tone.apply_to_fwd.enable= +voice.tone.stutter_dial_tone.apply_to_fwd.enable= + +####################################################################################### +## Jitter Buffer ## +####################################################################################### +voice.jib.normal= {$yealink_jib_normal} +voice.jib.max = {$yealink_jib_max} +voice.jib.min = {$yealink_jib_min} +voice.jib.adaptive = {$yealink_jib_adaptive} + +voice.jib.wifi.normal= {$yealink_jib_wifi_normal} +voice.jib.wifi.max= {$yealink_jib_wifi_max} +voice.jib.wifi.min= {$yealink_jib_wifi_min} +voice.jib.wifi.adaptive= {$yealink_jib_wifi_adaptive} + + +####################################################################################### +## Echo Cancellation ## +####################################################################################### +voice.echo_cancellation = {$yealink_echo_cancellation} +voice.cng = {$yealink_cng} +voice.vad = {$yealink_vad} + + +##V84 Add +voice.ans_nb.enable= +voice.tns.enable= + +################################################################ +# SIP Backup Server ## +################################################################ +static.network.dns.ttl_enable = +static.network.dns.last_cache_expired.enable= +static.network.dns.last_cache_expired +static.network.dns.query_timeout = +static.network.dns.retry_times = +sip.dns_transport_type= +sip.skip_redundant_failover_addr= + + +################################################################ +# SIP Basic Config ## +################################################################ +sip.use_out_bound_in_dialog= +sip.unreg_with_socket_close= +phone_setting.disable_account_without_username.enable= +features.auto_answer.first_call_only= + +##V84 Add +phone_setting.call_display_name.mode= + +################################################################ +# SIP Advanced config ## +################################################################ +sip.request_validation.event= +sip.sdp_early_answer_or_offer= +sip.cid_source.preference= +sip.request_validation.digest.realm= +sip.request_validation.digest.list= +sip.request_validation.source.list= +sip.send_keepalive_by_socket= +sip.reliable_protocol.timerae.enable= +sip.requesturi.e164.addglobalprefix= +sip.trust_ctrl = {$yealink_trust_ctrl} +sip.mac_in_ua= + +sip.timer_t1= +sip.timer_t2= +sip.timer_t4= + +sip.listen_mode= {if isset($yealink_sip_listen_port)}sip.listen_port = {$yealink_sip_listen_port}{else}sip.listen_port = 5060{/if} + +sip.listen_port= +sip.tls_listen_port= +sip.tcp_port_random_mode= +sip.escape_characters.enable= +sip.notify_reboot_enable= +sip.send_response_by_request= +sip.disp_incall_to_info= +features.call_invite_format= +phone_setting.early_media.rtp_sniffer.timeout= +sip.reg_surge_prevention = + +################################################################ +# V84 new add ÅäºÏsip.escape_characters.enable=ʹÓà ## +################################################################ +sip.reserve_characters= +sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable} + +##V83 Add +sip.dhcp.option120.mode = + +################################################################ +# NAT&ICE ## +################################################################ +static.sip.nat_turn.enable= +static.sip.nat_turn.username= +static.sip.nat_turn.password= +static.sip.nat_turn.server= +static.sip.nat_turn.port= + +static.sip.nat_stun.enable= +static.sip.nat_stun.server= +static.sip.nat_stun.port= {if isset($stun_port)}{$stun_port}{else}3478{/if} + + + + +static.ice.enable= +static.network.static_nat.enable= {if isset($yealink_static_nat)}1{else}0{/if} +static.network.static_nat.addr= {$yealink_static_nat} + +####################################################################################### +## DNS ## +####################################################################################### +dns_cache_a.1.name = +dns_cache_a.1.ip = +dns_cache_a.1.ttl = +dns_cache_srv.1.name = +dns_cache_srv.1.port = +dns_cache_srv.1.priority = +dns_cache_srv.1.target = +dns_cache_srv.1.weight = +dns_cache_srv.1.ttl = +dns_cache_naptr.1.name = +dns_cache_naptr.1.order = +dns_cache_naptr.1.preference = +dns_cache_naptr.1.replace = +dns_cache_naptr.1.service = +dns_cache_naptr.1.ttl = + +####################################################################################### +## RTP ## +####################################################################################### +features.rtp_symmetric.enable= + + +####################################################################################### +## RTCP-XR ## +####################################################################################### +voice.rtcp.enable= {$yealink_rtcp_enable} +voice.rtcp_cname= {$yealink_rtcp_cname} +voice.rtcp_xr.enable= {$yealink_rtcpxr_enable} +phone_setting.vq_rtcpxr_display_symm_oneway_delay.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_round_trip_delay.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_moscq.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_moslq.enable = {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_packets_lost.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_jitter_buffer_max.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_jitter.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_remote_codec.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_local_codec.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_remote_call_id.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_local_call_id.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_stop_time.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_display_start_time.enable= {$yealink_rtcpxr_disp_enable} +phone_setting.vq_rtcpxr_interval_period= {$yealink_rtcpxr_interval} +phone_setting.vq_rtcpxr_delay_threshold_critical= {$yealink_rtcpxr_delay_threshold_critical} +phone_setting.vq_rtcpxr_delay_threshold_warning= {$yealink_rtcpxr_delay_threshold_warning} +phone_setting.vq_rtcpxr_moslq_threshold_critical= {$yealink_rtcpxr_mos_threshold_critical} +phone_setting.vq_rtcpxr_moslq_threshold_warning= {$yealink_rtcpxr_mos_threshold_warning} +phone_setting.vq_rtcpxr.interval_report.enable= {$yealink_rtcpxr_interval_report_enable} +phone_setting.vq_rtcpxr.states_show_on_gui.enable= {$yealink_rtcpxr_show_gui_enable} +phone_setting.vq_rtcpxr.states_show_on_web.enable= {$yealink_rtcpxr_show_web_enable} +phone_setting.vq_rtcpxr.session_report.enable= {$yealink_rtcpxr_report_enable} + + +####################################################################################### +## Contact ## +####################################################################################### +static.directory_setting.url= https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=favorite_setting.xml + +super_search.url= + +local_contact.data.url= +local_contact.data.delete= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +phone_setting.contact_photo_display.enable= {$yealink_contact_photo_enable} + +phone_setting.incoming_call.horizontal_roll_interval= + +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +local_contact.data_photo_tar.url= +local_contact.photo.url= +local_contact.image.url= + +##Only T48G/S Models support the parameter +local_contact.icon_image.url= +local_contact.icon.url= + +search_in_dialing.local_directory.enable = +search_in_dialing.local_directory.priority = + +####################################################################################### +## Remote Phonebook ## +####################################################################################### +##remote_phonebook.data.X.url +##remote_phonebook.data.X.name +#remote_phonebook.data.X.username= +#remote_phonebook.data.X.password= +##(X ranges from 1 to 5) + +{if isset($yealink_remote_phonebook_1_name) } +remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name} +{else} +remote_phonebook.data.1.name = Users +{/if} +{if isset($yealink_remote_phonebook_1_url) } +remote_phonebook.data.1.url = {$yealink_remote_phonebook_1_url} +{else} +remote_phonebook.data.1.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users +{/if} + +{if isset($yealink_remote_phonebook_2_name) } +remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name} +{else} +remote_phonebook.data.2.name = Groups +{/if} +{if isset($yealink_remote_phonebook_2_url) } +remote_phonebook.data.2.url = {$yealink_remote_phonebook_2_url} +{else} +remote_phonebook.data.2.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups +{/if} + +{if isset($yealink_remote_phonebook_3_name) } +remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name} +{else} +remote_phonebook.data.3.name = Extensions +{/if} +{if isset($yealink_remote_phonebook_3_url) } +remote_phonebook.data.3.url = {$yealink_remote_phonebook_3_url} +{else} +remote_phonebook.data.3.url = https://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions +{/if} + +remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name} +remote_phonebook.data.4.url = {$yealink_remote_phonebook_4_url} + +remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name} +remote_phonebook.data.5.url = {$yealink_remote_phonebook_5_url} + + +####################################################################################### +## LDAP ## +####################################################################################### +ldap.enable = {$ldap_enable} +ldap.user = {$ldap_user} +ldap.password = {$ldap_password} +ldap.base = {$ldap_base} +ldap.port = {$ldap_port} +ldap.host = {$ldap_host} +ldap.customize_label= +ldap.incoming_call_special_search.enable= +ldap.tls_mode= +ldap.search_type= +ldap.numb_display_mode= +ldap.ldap_sort = {$ldap_sort} +ldap.call_in_lookup = {$ldap_call_in_lookup} +ldap.version = {$ldap_version} +ldap.display_name = {$ldap_display_name} +ldap.numb_attr = {$ldap_numb_attr} +ldap.name_attr = {$ldap_name_attr} +ldap.max_hits = {$ldap_max_hits} +ldap.number_filter = {$ldap_number_filter} +ldap.name_filter = {$ldap_name_filter} +ldap.call_out_lookup = {$ldap_dial_lookup} + +directory_setting.ldap.enable = +directory_setting.ldap.priority = +search_in_dialing.ldap.enable = +search_in_dialing.ldap.priority = + + + +####################################################################################### +## History ## +####################################################################################### +static.auto_provision.local_calllog.write_delay.terminated= +static.auto_provision.local_calllog.backup.path= +static.auto_provision.local_calllog.backup.enable= +super_search.recent_call= +features.call_out_history_by_off_hook.enable= +features.save_call_history= +features.call_log_show_num= +search_in_dialing.history.enable= +search_in_dialing.history.priority= +directory_setting.history.enable= +directory_setting.history.priority +features.save_init_num_to_history.enable= +features.redial_via_local_sip_server.enable= + +##V83 Add +features.calllog_detailed_information = + +##V84 Add +features.call_log_merge.enable= + + +####################################################################################### +## Contact Backup ## +####################################################################################### +static.auto_provision.local_contact.backup.path = +static.auto_provision.local_contact.backup.enable= + + +####################################################################################### +## Contact Other ## +####################################################################################### +directory.search_type= +directory_setting.local_directory.enable = +directory_setting.local_directory.priority = + +##V83 Add +phone_setting.search.highlight_keywords.enable = + +####################################################################################### +## Favorites ## +####################################################################################### +##V83 Add +local_contact.favorite.enable = +phone_setting.favorite_sequence_type = + +####################################################################################### +## Programablekey ## +####################################################################################### +#programablekey.X.type +#programablekey.X.line +#programablekey.X.value +#programablekey.X.xml_phonebook +#programablekey.X.history_type +#programablekey.X.label(X ranges from 1 to 4) +#programablekey.X.extension +##Programablekey X ranges(T48G/T48S/T46G/T46S: X=1-10, 12-14;T42G/T42S/T41P/T41S/T40P/T40G: X=1-10, 13;T29G/T27P/T27G: X=1-14;T23P/T23G/T21(P) E2: 1-10, 14;T19(P) E2: X=1-9, 13, 14;)## + +{foreach $keys["programmable"] as $row} +programablekey.{$row.device_key_id}.type = {$row.device_key_type} +{if $row.device_key_type == "22" || $row.device_key_type == "47"} +programablekey.{$row.device_key_id}.xml_phonebook = {$row.device_key_line} +{else} +programablekey.{$row.device_key_id}.line = {$row.device_key_line} +programablekey.{$row.device_key_id}.value = {$row.device_key_value} +{/if} +programablekey.{$row.device_key_id}.extension = {$row.device_key_extension} +programablekey.{$row.device_key_id}.label = {$row.device_key_label} +programablekey.1.pickup_value ={$row.device_key_extension} +programablekey.1.history_type = + +{/foreach} + +##V83 Add +programablekey.type_range.custom = + +####################################################################################### +## Linekey ## +####################################################################################### +##linekey.X.line +##linekey.X.value +##linekey.X.extension +##linekey.X.type +##linekey.X.xml_phonebook +##linekey.X.shortlabel +##linekey.X.label +##LineKeyX ranges(T48G/S: X ranges from 1 to 29. T54S/T46G/T46S/T29G: X ranges from 1 to 27. T42G/T42S/T41P/T41S: X ranges from 1 to 15. T40P/T40G/T23P/T23G: X ranges from 1 to 3. T52S/T27P/T27G: X ranges from 1 to 21. T21(P) E2: X ranges from 1 to 2.)## +## Not support T19P_E2 + +{foreach $keys['line'] as $row} +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} +{/foreach} + +##V83 Add +linekey.type_range.custom = + +####################################################################################### +## Dsskey ## +####################################################################################### +features.block_linekey_in_menu.enable = +features.shorten_linekey_label.enable = +features.flash_url_dsskey_led.enable = +features.config_dsskey_length = {$yealink_dsskey_length} +phone_setting.page_tip = +features.keep_switch_page_key.enable= + +##phone_setting.idle_dsskey_and_title.transparency(Only support T54S/T52S/T48G/T48S) +phone_setting.idle_dsskey_and_title.transparency= + +##V83 Add +phone_setting.keytype_sequence = +phone_setting.dsskey_label.display_method = +local.dsskey_type_config.mode = + + +####################################################################################### +## Expansion Key ## +####################################################################################### +##expansion_module.X.key.Y.type +##expansion_module.X.key.Y.line +##expansion_module.X.key.Y.value +##expansion_module.X.key.Y.extension +##expansion_module.X.key.Y.label +##expansion_module.X.key.Y.xml_phonebook +## Expansion Key X ranges(SIP-T54S/T52S: X ranges from 1 to 3, Y ranges from 1 to 60; SIP-T48G/T48S/T46G/T46S:X ranges from 1 to 6, Y ranges from 1 to 40; SIP-T29G/T27P/T27G:X ranges from 1 to 6, Y ranges from 1 to 20, 22 to 40 (Ext key 21 cannot be configured).)## +## Only SIP-T54S/T52S/T48G/T48S/T46G/T46S/T29G/T27P/T27G Models support the parameter. + +#expansion_module.1.key.1.type = +#expansion_module.1.key.1.label = +#expansion_module.1.key.1.value = +#expansion_module.1.key.1.line = +#expansion_module.1.key.1.pickup_value = +#expansion_module.1.key.1.extension = +#expansion_module.1.key.1.xml_phonebook = +#expansion_module.page_tip.blf_call_in.led = +#expansion_module.page_tip.blf_call_in.enable = + +{foreach $keys["expansion"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-1"] as $row} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{/foreach} +{foreach $keys["expansion-2"] as $row} +expansion_module.2.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id}.xml_phonebook = +{/foreach} + +##V83 Add +expkey.type_range.custom = + +####################################################################################### +## EDK ## +####################################################################################### +##EDK Soft Keys(X ranges from 1 to 10) + +features.enhanced_dss_keys.enable= +edk.id_mode.enable= +softkey.1.position= +softkey.1.use.dialing= +softkey.1.softkey_id= +softkey.1.use.dialtone= +softkey.1.use.conferenced= +softkey.1.use.held= +softkey.1.use.hold= +softkey.1.use.transfer_ring_back= +softkey.1.use.ring_back= +softkey.1.use.call_failed= +softkey.1.use.on_talk= +softkey.1.use.transfer_connecting= +softkey.1.use.connecting= +softkey.1.use.incoming_call= +softkey.1.use.idle= +softkey.1.action= +softkey.1.label= +softkey.1.enable= +edk.edklist.1.action= +edk.edklist.1.mname= +edk.edklist.1.enable= +edk.edkprompt.1.enable= +edk.edkprompt.1.label= +edk.edkprompt.1.type= +edk.edkprompt.1.userfeedback= + +##V84 Add +##edk.edkprompt.X.title= +(X ranges from 1 to 9) +edk.edkprompt.1.title= + + +####################################################################################### +## XML ## +####################################################################################### +push_xml.server= +push_xml.sip_notify= +push_xml.block_in_calling= +default_input_method.xml_browser_input_screen= + +##V83 Add +hoteling.authentication_mode = +push_xml.phonebook.search.delay = +features.xml_browser.loading_tip.delay = +features.xml_browser.pwd = +features.xml_browser.user_name = +push_xml.password = +push_xml.username = + + +####################################################################################### +## Forward ## +####################################################################################### +features.fwd.allow= +features.fwd_mode= +forward.no_answer.enable= +forward.busy.enable= +forward.always.enable= +forward.no_answer.timeout= +forward.no_answer.on_code= +forward.no_answer.off_code= +forward.busy.off_code= +forward.busy.on_code= +forward.always.off_code= +forward.always.on_code= +forward.no_answer.target= +forward.busy.target= +forward.always.target= + +features.forward.emergency.authorized_number= +features.forward.emergency.enable= +forward.idle_access_always_fwd.enable= +features.forward_call_popup.enable= + +##V83 Add +features.forward.no_answer.show_ring_times = + +##V84 Add +features.no_answer_code= + + +####################################################################################### +## DND ## +####################################################################################### +features.dnd.allow= +features.dnd_mode= +features.dnd.enable= + +features.dnd.off_code= *79 +features.dnd.on_code= *78 + +features.dnd.emergency_authorized_number= +features.dnd.emergency_enable= 1 +features.dnd.large_icon.enable= + +##V83 Add +features.keep_dnd.enable = + +####################################################################################### +## Phone Lock ## +####################################################################################### +phone_setting.phone_lock.enable = {$yealink_lock_enable} +phone_setting.phone_lock.lock_key_type = {$yealink_lock_key_type} +phone_setting.phone_lock.unlock_pin = {$yealink_lock_pin} +phone_setting.emergency.number = {$yealink_emergency_number} +phone_setting.phone_lock.lock_time_out = {$yealink_lock_timeout} + + +####################################################################################### +## Hotdesking ## +####################################################################################### +phone_setting.logon_wizard= +phone_setting.logon_wizard_forever_wait= + +hotdesking.startup_register_name_enable= +hotdesking.startup_username_enable= +hotdesking.startup_password_enable= +hotdesking.startup_sip_server_enable= +hotdesking.startup_outbound_enable= + +hotdesking.dsskey_register_name_enable= +hotdesking.dsskey_username_enable= +hotdesking.dsskey_password_enable= +hotdesking.dsskey_sip_server_enable= +hotdesking.dsskey_outbound_enable= + + +####################################################################################### +## Voice Mail ## +####################################################################################### +features.voice_mail_alert.enable= +features.voice_mail_popup.enable = {$yealink_voice_mail_popup_enable} +features.voice_mail_tone_enable= +features.hide_feature_access_codes.enable = {$yealink_hide_feature_access_codes_enable} +voice_mail.number.1= + + +####################################################################################### +## Text Message ## +####################################################################################### +features.text_message.enable= +features.text_message_popup.enable= + + + + + +####################################################################################### +## Audio Intercom ## +####################################################################################### +features.intercom.mode= +features.intercom.subscribe.enable= +features.intercom.led.enable= +features.intercom.feature_access_code= +features.blf.intercom_mode.enable= +features.intercom.ptt_mode.enable= + +features.redial_tone= +features.key_tone= +features.send_key_tone= + +features.intercom.allow= +features.intercom.barge= +features.intercom.tone= +features.intercom.mute= + + +voice.handset_send= +voice.handfree_send = +voice.headset_send = +features.intercom.headset_prior.enable= +features.ringer_device.is_use_headset= +features.intercom.barge_in_dialing.enable= + + + +####################################################################################### +## Feature General ## +####################################################################################### +features.ip_call.auto_answer.enable= +features.show_default_account= +features.call.dialtone_time_out= +features.missed_call_popup.enable = {$yealink_missed_call_popup_enable} +features.auto_answer_tone.enable= +features.play_hold_tone.enable= +features.key_as_send= +features.send_pound_key= +features.busy_tone_delay= +features.hotline_delay= +features.hotline_number= +features.direct_ip_call_enable = {$yealink_direct_ip_call_enable} +features.call_num_filter= +features.call_completion_enable= +features.allow_mute= +features.auto_answer_delay= +features.normal_refuse_code= +features.dnd_refuse_code= +features.upload_server= +features.dtmf.repetition= +features.dtmf.hide_delay= +features.dtmf.hide = {$yealink_dtmf_hide} +features.play_local_dtmf_tone_enable = +features.reboot_in_talk_enable = +features.fwd_diversion_enable= + +call_waiting.enable = {$yealink_call_waiting} +call_waiting.tone = {$yealink_call_waiting_tone} +call_waiting.off_code= +call_waiting.on_code= + +auto_redial.times= +auto_redial.interval= +auto_redial.enable= + +sip.rfc2543_hold = {$yealink_rfc2543_hold} +sip.use_23_as_pound= +forward.international.enable= +phone_setting.headsetkey_mode= +phone_setting.is_deal180= +phone_setting.change_183_to_180= + +##V84 Add +features.touch_tone= + +####################################################################################### +## Action URL&URI ## +####################################################################################### +features.csta_control.enable= +features.action_uri.enable= +features.action_uri_limit_ip= +features.show_action_uri_option= +action_url.call_remote_canceled= +action_url.remote_busy= +action_url.cancel_callout= +action_url.handfree= +action_url.headset= +action_url.unheld= +action_url.held= +action_url.transfer_failed= +action_url.transfer_finished= +action_url.answer_new_incoming_call= +action_url.reject_incoming_call= +action_url.forward_incoming_call= +action_url.ip_change= +action_url.idle_to_busy= +action_url.busy_to_idle= +action_url.call_terminated= +action_url.missed_call= +action_url.unmute= +action_url.mute= +action_url.unhold= +action_url.hold= +action_url.always_fwd_off = +action_url.always_fwd_on = +action_url.attended_transfer_call = +action_url.blind_transfer_call = +action_url.busy_fwd_off = +action_url.busy_fwd_on = +action_url.call_established = +action_url.call_waiting_off = +action_url.call_waiting_on = +action_url.dnd_off = +action_url.dnd_on = +action_url.incoming_call = +action_url.no_answer_fwd_off = +action_url.no_answer_fwd_on = +action_url.off_hook = +action_url.on_hook = +action_url.outgoing_call = +action_url.register_failed = +action_url.registered = +action_url.setup_autop_finish = +action_url.setup_completed = +action_url.transfer_call = +action_url.unregistered = + +##V84 Add +action_url.peripheral_information= + + + +####################################################################################### +## Power LED ## +####################################################################################### +phone_setting.hold_and_held_power_led_flash_enable= +phone_setting.mute_power_led_flash_enable= +phone_setting.talk_and_dial_power_led_enable= +phone_setting.mail_power_led_flash_enable = 1 +phone_setting.ring_power_led_flash_enable= +phone_setting.common_power_led_enable= +phone_setting.missed_call_power_led_flash.enable = {$yealink_missed_call_power_led_flash_enable} + + +####################################################################################### +## Time&Date ## +####################################################################################### +lcl.datetime.date.format = +auto_dst.url = {$yealink_auto_dst_url} +local_time.manual_time_enable = +local_time.manual_ntp_srv_prior = +local_time.time_format = {$yealink_time_format} +local_time.date_format = {$yealink_date_format} +local_time.dhcp_time = {$yealink_dhcp_time} + +local_time.summer_time = {$yealink_summer_time} +local_time.dst_time_type = {$yealink_dst_type} +local_time.start_time = {$yealink_time_zone_start_time} +local_time.end_time = {$yealink_time_zone_end_time} +local_time.offset_time = {$yealink_offset_time} +local_time.interval = {$yealink_time_update} + +local_time.ntp_server1 = {$ntp_server_primary} +local_time.ntp_server2 = {$ntp_server_secondary} +local_time.time_zone = {$yealink_time_zone} +local_time.time_zone_name = {$yealink_time_zone_name} + + +####################################################################################### +## Multicast Paging ## +####################################################################################### +##multicast.listen_address.X.label +##multicast.paging_address.X.channel +##multicast.listen_address.X.ip_address +##multicast.paging_address.X.ip_address +##multicast.paging_address.X.label +##multicast.listen_address.X.channel +##multicast.listen_address.X.volume +##Multicast(X ranges from 1 to 31.) + +multicast.codec= + +multicast.paging_address.1.channel= +multicast.paging_address.1.label= +multicast.paging_address.1.ip_address= +multicast.receive_priority.enable= +multicast.receive_priority.priority= + +multicast.receive.use_speaker= +multicast.receive.enhance_volume= +multicast.receive.ignore_dnd.priority= + +multicast.listen_address.1.channel= +multicast.listen_address.1.label= +multicast.listen_address.1.ip_address= +multicast.listen_address.1.volume= + + +####################################################################################### +## Preference&Status ## +####################################################################################### +##Not support T19P_E2 +static.features.default_account= + +##Logo File Format: .dob +##Resolution: SIP-T42G/T42S/T41P/T41S: <=192*64 2 gray scale;SIP-T27P/G: <=240*120 2 gray scale;SIP-T40P/T40G/T23P/T23G/T21(P) E2/T19(P) E2: <=132*64 2 gray scale## +phone_setting.lcd_logo.mode= +lcd_logo.delete= +lcd_logo.url= + +phone_setting.contrast= +phone_setting.backlight_time = {$yealink_backlight_time} +phone_setting.inactive_backlight_level = 1 +phone_setting.active_backlight_level= +phone_setting.predial_autodial = 1 + +ringtone.url= {$yealink_ringtone_url} +ringtone.delete= {$yealink_ringtone_delete} +phone_setting.ring_type= {$yealink_ring_type} +phone_setting.inter_digit_time= {$yealink_inter_digit_time} + +##Only T54S Model supports the parameter +phone_setting.idle_clock_display.enable = + +####################################################################################### +## Digitmap ## +####################################################################################### +dialplan.digitmap.enable= +dialplan.digitmap.string= +dialplan.digitmap.no_match_action= +dialplan.digitmap.interdigit_short_timer= +dialplan.digitmap.interdigit_long_timer= +dialplan.digitmap.apply_to.press_send= +dialplan.digitmap.apply_to.forward= +dialplan.digitmap.apply_to.history_dial= +dialplan.digitmap.apply_to.directory_dial= +dialplan.digitmap.apply_to.on_hook_dial= +dialplan.digitmap.active.on_hook_dialing= + +##V83 Add +dialplan.digitmap.apply_to.prefix_key = + +##V84 ADD +features.local_calllog.received.replace_rule= + + + + +####################################################################################### +## Emergency Dialplan ## +####################################################################################### +dialplan.emergency.enable= +dialplan.emergency.1.value= +dialplan.emergency.server.1.address= +dialplan.emergency.server.1.transport_type= +dialplan.emergency.server.1.port= +dialplan.emergency.1.server_priority= +dialplan.emergency.custom_asserted_id= +dialplan.emergency.asserted_id_source= +dialplan.emergency.asserted_id.sip_account= +dialplan.emergency.held.request_element.1.name= +dialplan.emergency.held.request_element.1.value= +dialplan.emergency.held.request_type= +dialplan.emergency.held.server_url= + + + +####################################################################################### +## Dialplan ## +####################################################################################### +dialplan_replace_rule.url= +dialplan.replace.line_id.1= +dialplan.replace.replace.1= +dialplan.replace.prefix.1= +phone_setting.dialnow_delay= +dialplan_dialnow.url= +dialplan.dialnow.line_id.1= + +dialplan.dialnow.rule.1 = {$yealink_dialplan_dialnow_rule_1} +dialplan.dialnow.rule.2 = {$yealink_dialplan_dialnow_rule_2} +dialplan.dialnow.rule.3 = {$yealink_dialplan_dialnow_rule_3} +dialplan.dialnow.rule.4 = {$yealink_dialplan_dialnow_rule_4} +dialplan.dialnow.rule.5 = {$yealink_dialplan_dialnow_rule_5} + +dialplan.block_out.line_id.1= +dialplan.block_out.number.1= +dialplan.area_code.line_id = +dialplan.area_code.max_len = +dialplan.area_code.min_len= +dialplan.area_code.code= + +####################################################################################### +## Rings Settings ## +####################################################################################### +distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1} +distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2} +distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3} +distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4} +distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5} +distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6} +distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7} +distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8} +distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9} +distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10} + +distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1} +distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2} +distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3} +distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4} +distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5} +distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6} +distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7} +distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8} +distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9} +distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10} + + +####################################################################################### +## IME Settings ## +####################################################################################### +directory.search_default_input_method= +directory.edit_default_input_method= +gui_input_method.url= + +##V83 Add +##Only T48G/T48S Models support the parameter +phone_setting.virtual_keyboard.enable = + +####################################################################################### +## Language Settings ## +####################################################################################### +wui_lang.url= +wui_lang_note.url= +wui_lang.delete= +gui_input_method.delete= +gui_lang.url= +gui_lang.delete= +lang.gui= +lang.wui= + + +####################################################################################### +## Screensaver ## +####################################################################################### +screensaver.type= {$yealink_screensaver_type} +screensaver.delete= {$yealink_screensaver_delete} +screensaver.upload_url= {$yealink_screensaver_upload_url} +features.blf_active_backlight.enable= +screensaver.display_clock.enable= {$yealink_screensaver_clock} +screensaver.clock_move_interval= {$yealink_screensaver_clock_interval} +screensaver.picture_change_interval= {$yealink_screensaver_pic_interval} +screensaver.wait_time= {$yealink_screensaver_wait} +screensaver.xml_browser.url= {$yealink_screensaver_xml_url} + + + +####################################################################################### +## Power Saving ## +####################################################################################### +features.power_saving.enable = {$yealink_ps_enabled} + +features.power_saving.power_led_flash.on_time = {$yealink_ps_led_on} +features.power_saving.power_led_flash.off_time = {$yealink_ps_led_off} + +{if isset($yealink_ps_days_all)} +features.power_saving.office_hour.monday = {$yealink_ps_days_all} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_all} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_all} +features.power_saving.office_hour.thursday = {$yealink_ps_days_all} +features.power_saving.office_hour.friday = {$yealink_ps_days_all} +features.power_saving.office_hour.saturday = {$yealink_ps_days_all} +features.power_saving.office_hour.sunday = {$yealink_ps_days_all} +{elseif isset($yealink_ps_days_workweek)} +features.power_saving.office_hour.monday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.tuesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.wednesday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.thursday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.friday = {$yealink_ps_days_workweek} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{else} +features.power_saving.office_hour.monday = {$yealink_ps_day_monday} +features.power_saving.office_hour.tuesday = {$yealink_ps_day_tuesday} +features.power_saving.office_hour.wednesday = {$yealink_ps_day_wednesday} +features.power_saving.office_hour.thursday = {$yealink_ps_day_thursday} +features.power_saving.office_hour.friday = {$yealink_ps_day_friday} +features.power_saving.office_hour.saturday = {$yealink_ps_day_saturday} +features.power_saving.office_hour.sunday = {$yealink_ps_day_sunday} +{/if} + +features.power_saving.user_input_ext.idle_timeout = {$yealink_ps_idle_timeout} +features.power_saving.off_hour.idle_timeout = {$yealink_ps_offhour_timeout} +features.power_saving.office_hour.idle_timeout = {$yealink_ps_hour_timeout} +features.power_saving.intelligent_mode = {$yealink_ps_intel_mode} + + +####################################################################################### +## Backgrounds Settings ## +####################################################################################### +##File Formate: +##SIP-T54S/T52S/T48S/T48G/T46G/T46S/T29G: .jpg/.png/.bmp/.jpeg; +##Resolution: +##SIP-T48S/T48G:<=2.0 megapixels; +##for SIP-T46G/T46S/T29G: <=1.8 megapixels;SIP-T54S/T52S:<=4.2 megapixels; +##Single File Size: <=5MB +##2MB of space should bereserved for the phone + +wallpaper_upload.url = {$yealink_t57w_wallpaper} +{if isset($yealink_t57w_wallpaper_filename)} +phone_setting.backgrounds = Config:{$yealink_t57w_wallpaper_filename} +{else} +phone_setting.backgrounds = Config:yealink_t57w_wallpaper.png +{/if} + +## phone_setting.backgrounds_with_dsskey_unfold(Only support T48G/S) +phone_setting.backgrounds_with_dsskey_unfold= {$yealink_wallpaper_dsskey_unfold} + +##expansion_module.backgrounds(Only support T54S/T52S) +expansion_module.backgrounds= {$yealink_wallpaper_expansion} + + +####################################################################################### +## BSFT Setting ## +####################################################################################### +bw.enable = + + +####################################################################################### +## BLF/BLF List ## +####################################################################################### +phone_setting.auto_blf_list_enable= +phone_setting.blf_list_sequence_type= + +blf.enhanced.parked.enable= +blf.enhanced.parked.led = +blf.enhanced.parked.talking.action = +blf.enhanced.parked.callin.action = +blf.enhanced.parked.idle.action = + +blf.enhanced.talking.enable= +blf.enhanced.talking.led= +blf.enhanced.talking.talking.action = +blf.enhanced.talking.callin.action = +blf.enhanced.talking.idle.action = + +blf.enhanced.callout.enable = +blf.enhanced.callout.led= +blf.enhanced.callout.talking.action = +blf.enhanced.callout.callin.action = +blf.enhanced.callout.idle.action = + +blf.enhanced.callin.enable = +blf.enhanced.callin.led= +blf.enhanced.callin.talking.action = +blf.enhanced.callin.callin.action= +blf.enhanced.callin.idle.action= + +blf.enhanced.idle.enable= +blf.enhanced.idle.led= +blf.enhanced.idle.talking.action= +blf.enhanced.idle.callin.action= +blf.enhanced.idle.idle.action= + +features.blf_list_version= +sip.sub_refresh_random= +sip.terminate_notify_sub_delay_time= + +features.blf_led_mode = {$yealink_blf_led_mode} +features.blf_pickup_only_send_code= + +##V84 Add +blf.enhanced.dnd.enable= +blf.enhanced.dnd.led= +blf.enhanced.hold.enable= +blf.enhanced.hold.led= + +features.blf.show_callinfo.enable= + +####################################################################################### +## SCA ## +####################################################################################### +features.auto_release_bla_line= +features.barge_in_via_username.enable= + + + +####################################################################################### +## Call Park ## +####################################################################################### +features.call_park.enable= +features.call_park.park_mode= +features.call_park.park_code= +features.call_park.park_retrieve_code= +features.call_park.direct_send.enable= +features.call_park.park_visual_notify_enable= +features.call_park.park_ring= +features.call_park.group_enable= +features.call_park.group_park_code= +sip.call_park_without_blf= +features.call_park.line_restriction.enable= + + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +acd.enable= +acd.auto_available_timer= + + + + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +bw.xsi.enable= +sip.authentication_for_xsi = +default_input_method.xsi_password= + + +####################################################################################### +## Broadsoft Network Directory ## +####################################################################################### +bw.xsi.directory.enable= +bw.calllog_and_dir = +bw.xsi.call_log.enable= +bw_phonebook.custom= +bw_phonebook.enterprise_common_enable= +bw_phonebook.enterprise_common_displayname= +bw_phonebook.enterprise_enable= +bw_phonebook.enterprise_displayname= +bw_phonebook.group_common_enable= +bw_phonebook.group_common_displayname= +bw_phonebook.personal_enable= +bw_phonebook.personal_displayname= +bw_phonebook.group_enable= +bw_phonebook.group_displayname = +directory.update_time_interval= +bw.xsi.directory.alphabetized_by_lastname.enable= +directory_setting.bw_directory.enable = +directory_setting.bw_directory.priority = +search_in_dialing.bw_directory.enable = +search_in_dialing.bw_directory.priority = +##V83 Add +bw.xsi.directory.update.enable = + +####################################################################################### +## Broadsoft Network Calllog ## +####################################################################################### +##V83 Add +bw.xsi.call_log.delete.enable = +bw.xsi.call_log.multiple_accounts.enable = +phone_setting.ring_duration = + + +####################################################################################### +## Call Pickup ## +####################################################################################### +features.pickup.direct_pickup_enable = {$yealink_direct_pickup_enable} +features.pickup.group_pickup_enable = +features.pickup.direct_pickup_code = ** +features.pickup.group_pickup_code = +features.pickup.blf_audio_enable = +features.pickup.blf_visual_enable = +features.pickup_display.method = + +##V84 Add +features.pickup.blf_audio.list= +features.pickup.blf_visual.list= + + +####################################################################################### +## Alert Info ## +####################################################################################### +features.alert_info_tone = + + +####################################################################################### +## Broadsoft Visual Voice Mail ## +####################################################################################### +bw.voice_mail.visual.enable= +voice_mail.message_key.mode= +bw.voice_mail.visual.display_videomail.enable= + + + +####################################################################################### +## Broadsoft Call Recording ## +####################################################################################### +bw.call_recording.mode = + + +####################################################################################### +## Broadsoft Call Decline ## +####################################################################################### +features.call_decline.enable = + + +####################################################################################### +## BLF Ring Type ## +####################################################################################### +features.blf.ring_type = {$yealink_blf_ring_type} + + + +####################################################################################### +## Features Sync ## +####################################################################################### +features.feature_key_sync.enable = {$yealink_feature_key_sync} +features.forward.feature_key_sync.local_processing.enable = +features.forward.feature_key_sync.enable = +features.dnd.feature_key_sync.local_processing.enable = +features.dnd.feature_key_sync.enable = +call_waiting.mode = + + +####################################################################################### +## Broadsoft UC ## +####################################################################################### +##Only T54S/T52S/T48G/T48S/T46G/T46S/T29G Models support the parameter +bw.xmpp.enable = +features.uc_password = +features.uc_username = +bw.xmpp.presence_icon.mode = +bw.xmpp.change_presence.force_manual.enable = +bw.xmpp.change_presence.enable = +phone_setting.dsskey_directory_auto.enable = +features.uc_dir.match_tail_number= +directory_setting.bw_uc_buddies.enable = +directory_setting.bw_uc_buddies.priority = +search_in_dialing.bw_uc_buddies.enable = +search_in_dialing.bw_uc_buddies.priority = + +##V83 Add +phone_setting.uc_favorite_sequence_type = + +####################################################################################### +## Broadsoft Emergency Call ## +####################################################################################### +##V83 Add +bw.emergency_calling.enable = + + + +####################################################################################### +## Metaswitch Setting ## +####################################################################################### +meta.enable = +meta.login_mode = +meta.comm_portal.server.username = +meta.comm_portal.server.password = +meta.comm_portal.server.url = +meta.comm_portal.enable = +meta.comm_portal.contacts.update_interval = +meta.comm_portal.acd.enable= +meta.comm_portal.replace_local_call_list.enable= +meta.comm_portal.contacts.group.mlhgs.label= +meta.comm_portal.contacts.group.extensions.label= +meta.comm_portal.contacts.group.contacts.label= +meta.comm_portal.contacts.group.mlhgs.enable= +meta.comm_portal.contacts.group.extensions.enable= +meta.comm_portal.contacts.group.contacts.enable= +meta.comm_portal.call_list.enable= +meta.comm_portal.contacts.enable= +meta.comm_portal.message.enable= +meta.comm_portal.logout.enable = +meta.comm_portal.keep_alive_interval_time = + +##V83 Add +directory_setting.meta_directory.enable= +directory_setting.meta_directory.priority= +directory_setting.meta_call_log.enable= +directory_setting.meta_call_log.priority= +search_in_dialing.meta_call_log.priority = +search_in_dialing.meta_call_log.enable = +search_in_dialing.meta_directory.priority = +search_in_dialing.meta_directory.enable = + + + +####################################################################################### +## Genbend Setting ## +####################################################################################### +gb.sopi.enable= +gb.sopi.gab.enable= +gb.sopi.pab.enable= +features.pab.soupuser= +features.pab.enable= +gb.sopi.pab.match_in_calling.enable= +gb.sopi.gab.retain_search_filter= +gb.sopi.service_url= +gb.sopi.password= +gb.sopi.username= +directory_setting.gb_gab_directory.priority = +directory_setting.gb_gab_directory.enable = +directory_setting.gb_pab_directory.enable = +directory_setting.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.priority = +search_in_dialing.gb_pab_directory.enable = + + +####################################################################################### +## Loopback Call ## +####################################################################################### +##V83 Add +sip.loopback.enable = +sip.loopback_type = +sip.pkt_loopback_mode +sip.loopback.auto_answer.mode = +sip.pkt_loopback_encapsulated_payload = +sip.pkt_loopback_directed_payload = + + +####################################################################################### +## V84 add ## +####################################################################################### +google_contact_server.enable= + +static.features.network_test.check_policy= +static.features.network_test.enable= +static.features.network_test.host= +static.features.network_test.period= +static.features.network_unavailable_test.period= + +phone_setting.warnings_display.mode= + +bw.flexible_seating.remember_password.ldap.enable= + +vcaccount.enable= + +####################################################################################### +## V84 T5XW add VPM-Acoustic Shield ## +####################################################################################### +features.acoustic_shield.level = +features.acoustic_shield.mode = + + +####################################################################################### +## V84 T5XW add × ## +####################################################################################### + +base.active_handset.number= +base.pin_code= +base.repeater_mode.enable= +base.pin_code_for_register= +base.double_pin_code.enable= + + +custom.handset.auto_answer.enable= +custom.handset.auto_intercom= +custom.handset.backlight_out_of_charger.enable= +custom.handset.backlight_in_charger.enable= +custom.handset.color_scheme= +custom.handset.confirmation_tone.enable= +custom.handset.date_format= +custom.handset.eco_mode.enable= +custom.handset.keypad_light.enable= +custom.handset.keypad_tone.enable= +custom.handset.language= +custom.handset.low_battery_tone.enable= +custom.handset.missed_call_notify_light.enable= +custom.handset.screen_saver.enable= +custom.handset.time_format= +custom.handset.voice_mail_notify_light.enable= +custom.handset.wallpaper= + + +handset.x.dial_out_default_line= +handset.x.dial_out_lines= +handset.x.hac.enable= +handset.x.incoming_lines= +handset.x.name= + + +over_the_air.base_trigger= +over_the_air.handset_tip= +over_the_air.handset_trigger= +over_the_air.url= +over_the_air.url.w52h= +over_the_air.url.w56h= + + + + +auto_provision.custom.handset.protect= +auto_provision.handset_configured.enable= +phone_setting.end_call_on_hook.enable= + +directory_setting.shared_contact.enable= +shared_contact_list.url= + diff --git a/resources/templates/provision/yealink/t5x/{$mac}.boot b/resources/templates/provision/yealink/t5x/{$mac}.boot new file mode 100644 index 0000000000..504b634699 --- /dev/null +++ b/resources/templates/provision/yealink/t5x/{$mac}.boot @@ -0,0 +1,10 @@ +#!version:1.0.0.1 +## The header above must appear as-is in the first line + +[T53]include:config "y000000000095.cfg" +[T53W]include:config "y000000000095.cfg" +[T54W]include:config "y000000000096.cfg" +[T57W]include:config "y000000000097.cfg" +include:config "{$mac}.cfg" + +overwrite_mode = {$yealink_overwrite_mode} diff --git a/resources/templates/provision/yealink/t5x/{$mac}.cfg b/resources/templates/provision/yealink/t5x/{$mac}.cfg new file mode 100644 index 0000000000..8884ab2056 --- /dev/null +++ b/resources/templates/provision/yealink/t5x/{$mac}.cfg @@ -0,0 +1,540 @@ +#!version:1.0.0.1 +#{$microtime} + +##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.## + +{foreach $lines as $row} +####################################################################################### +## Account {$row.line_number} Basic Settings ## +####################################################################################### +## ranges from 1 to 16 +##account.X.enable = +{if isset($account.{$row.line_number}.password) } +account.{$row.line_number}.enable = 1 +{else} +account.{$row.line_number}.enable = 0 +{/if} +account.{$row.line_number}.label = {$account.{$row.line_number}.display_name} +account.{$row.line_number}.display_name = {$account.{$row.line_number}.display_name} +account.{$row.line_number}.auth_name = {$account.{$row.line_number}.auth_id} +account.{$row.line_number}.password = {$account.{$row.line_number}.password} +account.{$row.line_number}.user_name = {$account.{$row.line_number}.user_id} +account.{$row.line_number}.sip_server_host = {$account.{$row.line_number}.server_address} +account.{$row.line_number}.sip_server_port = {$account.{$row.line_number}.sip_port} +account.{$row.line_number}.outbound_host = {$account.{$row.line_number}.outbound_proxy} +account.{$row.line_number}.outbound_port = {$account.{$row.line_number}.sip_port} +account.{$row.line_number}.sip_listen_port = {$account.{$row.line_number}.sip_port} +#Configure the transport type 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV +{if $account.{$row.line_number}.sip_transport == 'udp'}account.{$row.line_number}.transport = 0{/if} +{if $account.{$row.line_number}.sip_transport == 'tcp'}account.{$row.line_number}.transport = 1{/if} +{if $account.{$row.line_number}.sip_transport == 'tls'}account.{$row.line_number}.transport = 2{/if} +{if $account.{$row.line_number}.sip_transport == 'dns srv'}account.{$row.line_number}.transport = 3{/if} + +account.{$row.line_number}.outbound_proxy.1.address = {$account.{$row.line_number}.outbound_proxy_primary} +account.{$row.line_number}.outbound_proxy.2.address = {$account.{$row.line_number}.outbound_proxy_secondary} +account.{$row.line_number}.outbound_proxy_enable = {if isset($account.{$row.line_number}.outbound_proxy_primary)}1{else}0{/if} + +{if isset($outbound_proxy_1_port)} +account.{$row.line_number}.outbound_proxy.1.port = {$outbound_proxy_1_port} +{else} +account.{$row.line_number}.outbound_proxy.1.port = {$account.{$row.line_number}.sip_port} +{/if} +{if isset($outbound_proxy_1_port)} +account.{$row.line_number}.outbound_proxy.2.port = {$outbound_proxy_2_port} +{else} +account.{$row.line_number}.outbound_proxy.2.port = {$account.{$row.line_number}.sip_port} +{/if} + +####################################################################################### +## Failback ## +####################################################################################### +## ranges from 1 to 16 + +account.{$row.line_number}.reregister_enable = 0 +account.{$row.line_number}.retry_counts = +account.{$row.line_number}.failback_mode = 0 +account.{$row.line_number}.failback_timeout = 3600 +account.{$row.line_number}.naptr_build = 0 +account.{$row.line_number}.fallback.redundancy_type = 0 +account.{$row.line_number}.fallback.timeout = {$yealink_outbound_proxy_fallback_interval} +account.{$row.line_number}.sip_server.1.address = {$account.{$row.line_number}.server.1.address} +account.{$row.line_number}.sip_server.1.port = {$account.{$row.line_number}.sip_port} +#Configure the register expiry time (in seconds), the default value is 3600. +account.{$row.line_number}.sip_server.1.expires = {$account.{$row.line_number}.register_expires} +account.{$row.line_number}.sip_server.1.retry_counts = 3 +account.{$row.line_number}.sip_server.1.failback_mode = 0 +account.{$row.line_number}.sip_server.1.failback_timeout = 3600 +account.{$row.line_number}.sip_server.1.register_on_enable = 0 +account.{$row.line_number}.sip_server.2.address = {$account.{$row.line_number}.server.2.address} +account.{$row.line_number}.sip_server.2.port = {$account.{$row.line_number}.sip_port} +account.{$row.line_number}.sip_server.2.expires = {$account.{$row.line_number}.register_expires} +account.{$row.line_number}.sip_server.2.retry_counts = 3 +account.{$row.line_number}.sip_server.2.failback_mode = 0 +account.{$row.line_number}.sip_server.2.failback_timeout = 3600 +account.{$row.line_number}.sip_server.2.register_on_enable = 0 + +account.{$row.line_number}.dns_cache_type = 1 +account.{$row.line_number}.dns_cache_a.1.name = +account.{$row.line_number}.dns_cache_a.1.ip = +account.{$row.line_number}.dns_cache_a.1.ttl = 300 +account.{$row.line_number}.dns_cache_srv.1.name = +account.{$row.line_number}.dns_cache_srv.1.port = 0 +account.{$row.line_number}.dns_cache_srv.1.priority = 0 +account.{$row.line_number}.dns_cache_srv.1.target = +account.{$row.line_number}.dns_cache_srv.1.weight = 0 +account.{$row.line_number}.dns_cache_srv.1.ttl = 300 +account.{$row.line_number}.dns_cache_naptr.1.name = +account.{$row.line_number}.dns_cache_naptr.1.flags = +account.{$row.line_number}.dns_cache_naptr.1.order = 0 +account.{$row.line_number}.dns_cache_naptr.1.preference = 0 +account.{$row.line_number}.dns_cache_naptr.1.replace = +account.{$row.line_number}.dns_cache_naptr.1.service = +account.{$row.line_number}.dns_cache_naptr.1.ttl = 300 + +account.{$row.line_number}.static_cache_pri = 0 + +####################################################################################### +## Register Advanced ## +####################################################################################### +## ranges from 1 to 16 + +#Configure the SIP server type 0-Default (default), 2-BroadSoft, 4-Cosmocom +account.{$row.line_number}.sip_server_type = +#Enable or disable the phone to send the account log-off message first and then send account register message when rebooting the phone 0-Disabled (default), 1-Enabled +account.{$row.line_number}.unregister_on_reboot = + +#Enable or disable the phone to only accept the message from the server 0-Disabled (default), 1-Enabled +account.{$row.line_number}.sip_trust_ctrl = 1 + +#Configure the timeout (in seconds) for DNS query, the value ranges from 1 to 9, the default value is 8. +account.{$row.line_number}.dns_query_timeout= + +#Enable or disable the timer to periodically refresh the DNS-SRV query result 0-Disabled (default), 1-Enabled +account.{$row.line_number}.srv_ttl_timer_enable = +account.{$row.line_number}.proxy_require = + +#Enable or disable the phone to send the MAC address and line number in the Register message 0-Disabled (default), 1-Enabled +account.{$row.line_number}.register_mac = +account.{$row.line_number}.register_line = + +#Configure the interval (in seconds) the phone retries to register when account1 fails to register. It ranges from 0 to 1800, the default value is 30. +account.{$row.line_number}.reg_fail_retry_interval = + +######################################################################### +## NAT Settings ## +######################################################################### + +#Enable or disable the NAT traversal 0-Disabled (default), 1-STUN +account.{$row.line_number}.nat.nat_traversal = {if isset($stun_server)}1{else}0{/if} + +#Configure the STUN server address. +account.{$row.line_number}.nat.stun_server = {$stun_server} + +#Configure the STUN server port, the default value is 3478. +account.{$row.line_number}.nat.stun_port = {if isset($stun_port)}{$stun_port}{else}3478{/if} + +#Enable or disable the NAT keep-alive 0-Disabled, 1-Default (default), 2-Option, 3-Notify +account.{$row.line_number}.nat.udp_update_enable = 3 + +#Specify the keep-alive interval (in seconds), the default value is 30. +account.{$row.line_number}.nat.udp_update_time = 30 + +#Enable or disable the NAT Rport 0-Disabled (default), 1-Enabled +account.{$row.line_number}.nat.rport = {$yealink_rport_1} + +####################################################################################### +## AccountX Advance Settings ## +####################################################################################### +## ranges from 1 to 16 + +#Configure the session timer (in seconds), the default value of T1, T2, T3 is 0.5, 4, 5. +account.{$row.line_number}.advanced.timer_t1 = +account.{$row.line_number}.advanced.timer_t2 = +account.{$row.line_number}.advanced.timer_t4 = + +voice_mail.number.{$row.line_number} = {$voicemail_number} + +####################################################################################### +## Subscribe ## +####################################################################################### +## ranges from 1 to 16 + +account.{$row.line_number}.subscribe_mwi = 1 +account.{$row.line_number}.subscribe_mwi_expires = 3600 + +#Enable or disable the phone to subscribe to the voicemail through the message waiting indicator 0-Disabled (default), 1-Enabled +account.{$row.line_number}.subscribe_mwi_to_vm = 1 +account.{$row.line_number}.subscribe_acd_expires= 3600 + +####################################################################################### +## BLF List ## +####################################################################################### +## ranges from 1 to 16 + +#Configure the BLF list URI (a SIP URI, or use part of the SIP URI). For example, "2300_blflist@domain.com" or "2300_blflist". +account.{$row.line_number}.blf.blf_list_uri = +account.{$row.line_number}.blf_list_code = +account.{$row.line_number}.blf_list_barge_in_code = +account.{$row.line_number}.blf.subscribe_period = 1800 +account.{$row.line_number}.blf.subscribe_event = + +account.{$row.line_number}.out_dialog_blf_enable = 0 + +####################################################################################### +## BLA/SCA ## +####################################################################################### +## ranges from 1 to 16 + +#Assign account1 as shared line 0-Disabled (default), 1-Broadsoft SCA, 2-BLA +{if isset($account.{$row.line_number}.shared_line) } +account.{$row.line_number}.shared_line = {$account.{$row.line_number}.shared_line} +{else} +account.{$row.line_number}.shared_line = 0 +{/if} + +#Configure BLA number for account1 and the subscribe period (in seconds). It ranges from 60 to 7200, the default value is 300. +account.{$row.line_number}.bla_number = +account.{$row.line_number}.bla_subscribe_period = 300 + +####################################################################################### +## Audio Codec ## +####################################################################################### +#Audio codecs for account1 (Y ranges from 1 to 11). + +account.{$row.line_number}.codec.1.enable = {if isset($yealink_codec_pcmu_enable)}1{else}0{/if} +account.{$row.line_number}.codec.1.payload_type = PCMU +account.{$row.line_number}.codec.1.priority = {if isset($yealink_codec_pcmu_priority)}{$yealink_codec_pcmu_priority}{else}0{/if} +account.{$row.line_number}.codec.1.rtpmap = 0 + +account.{$row.line_number}.codec.2.enable = {if isset($yealink_codec_pcma_enable)}1{else}0{/if} +account.{$row.line_number}.codec.2.payload_type = PCMA +account.{$row.line_number}.codec.2.priority = {if isset($yealink_codec_pcma_priority)}{$yealink_codec_pcma_priority}{else}0{/if} +account.{$row.line_number}.codec.2.rtpmap = 8 + +account.{$row.line_number}.codec.3.enable = {if isset($yealink_codec_g723_53_enable)}1{else}0{/if} +account.{$row.line_number}.codec.3.payload_type = G723_53 +account.{$row.line_number}.codec.3.priority ={if isset($yealink_codec_g723_53_priority)}{$yealink_codec_g723_53_priority}{else}0{/if} +account.{$row.line_number}.codec.3.rtpmap = 4 + +account.{$row.line_number}.codec.4.enable = {if isset($yealink_codec_g723_63_enable)}1{else}0{/if} +account.{$row.line_number}.codec.4.payload_type = G723_63 +account.{$row.line_number}.codec.4.priority = {if isset($yealink_codec_g723_63_priority)}{$yealink_codec_g723_63_priority}{else}0{/if} +account.{$row.line_number}.codec.4.rtpmap = 4 + +account.{$row.line_number}.codec.5.enable = {if isset($yealink_codec_g729_enable)}1{else}0{/if} +account.{$row.line_number}.codec.5.payload_type = G729 +account.{$row.line_number}.codec.5.priority = {if isset($yealink_codec_g729_priority)}{$yealink_codec_g729_priority}{else}0{/if} +account.{$row.line_number}.codec.5.rtpmap = 18 + +account.{$row.line_number}.codec.6.enable = {if isset($yealink_codec_g722_enable)}1{else}0{/if} +account.{$row.line_number}.codec.6.payload_type = G722 +account.{$row.line_number}.codec.6.priority = {if isset($yealink_codec_g722_priority)}{$yealink_codec_g722_priority}{else}0{/if} +account.{$row.line_number}.codec.6.rtpmap = 9 + +account.{$row.line_number}.codec.7.enable = {if isset($yealink_codec_iLBC_enable)}1{else}0{/if} +account.{$row.line_number}.codec.7.payload_type = iLBC +account.{$row.line_number}.codec.7.priority = {if isset($yealink_codec_iLBC_priority)}{$yealink_codec_iLBC_priority}{else}0{/if} +account.{$row.line_number}.codec.7.rtpmap = 106 + +account.{$row.line_number}.codec.8.enable = {if isset($yealink_codec_g726_16_enable)}1{else}0{/if} +account.{$row.line_number}.codec.8.payload_type = G726-16 +account.{$row.line_number}.codec.8.priority = {if isset($yealink_codec_g726_16_priority)}{$yealink_codec_g726_16_priority}{else}0{/if} +account.{$row.line_number}.codec.8.rtpmap = 103 + +account.{$row.line_number}.codec.9.enable = {if isset($yealink_codec_g726_24_enable)}1{else}0{/if} +account.{$row.line_number}.codec.9.payload_type = G726-24 +account.{$row.line_number}.codec.9.priority = {if isset($yealink_codec_g726_24_priority)}{$yealink_codec_g726_24_priority}{else}0{/if} +account.{$row.line_number}.codec.9.rtpmap = 104 + +account.{$row.line_number}.codec.10.enable = {if isset($yealink_codec_g726_32_enable)}1{else}0{/if} +account.{$row.line_number}.codec.10.payload_type = G726-32 +account.{$row.line_number}.codec.10.priority = {if isset($yealink_codec_g726_32_priority)}{$yealink_codec_g726_32_priority}{else}0{/if} +account.{$row.line_number}.codec.10.rtpmap = 102 + +account.{$row.line_number}.codec.11.enable = {if isset($yealink_codec_g726_40_enable)}1{else}0{/if} +account.{$row.line_number}.codec.11.payload_type = G726-40 +account.{$row.line_number}.codec.11.priority = {if isset($yealink_codec_g726_40_priority)}{$yealink_codec_g726_40_priority}{else}0{/if} +account.{$row.line_number}.codec.11.rtpmap = 105 + +account.{$row.line_number}.codec.12.enable = {if isset($yealink_codec_gsm_enable)}1{else}0{/if} +account.{$row.line_number}.codec.12.payload_type = GSM +account.{$row.line_number}.codec.12.priority = {if isset($yealink_codec_gsm_priority)}{$yealink_codec_gsm_priority}{else}0{/if} +account.{$row.line_number}.codec.12.rtpmap = 3 + +{if {$row.line_number} <= 3 } +account.{$row.line_number}.codec.13.enable = {if isset($yealink_codec_opus_enable)}1{else}0{/if} +account.{$row.line_number}.codec.13.payload_type = opus +account.{$row.line_number}.codec.13.priority = {if isset($yealink_codec_opus_priority)}{$yealink_codec_opus_priority}{else}0{/if} +account.{$row.line_number}.codec.13.rtpmap = 106 +{/if} + +####################################################################################### +## Audio Advanced ## +####################################################################################### +#Specify whether to encrypt the SIP messages 0-Disabled (default), 1-Forced, 2-Negotiated +account.{$row.line_number}.srtp_encryption = {$yealink_srtp_encryption} + +#Configure the RTP packet time. The valid values are 0 (Disabled), 10, 20 (default), 30, 40, 50, 60. +account.{$row.line_number}.ptime = + +####################################################################################### +## Anonymous Call ## +####################################################################################### +account.{$row.line_number}.anonymous_call = 0 +account.{$row.line_number}.anonymous_call_oncode = +account.{$row.line_number}.anonymous_call_offcode = + +account.{$row.line_number}.reject_anonymous_call = +account.{$row.line_number}.anonymous_reject_oncode = +account.{$row.line_number}.anonymous_reject_offcode = + +####################################################################################### +## Pickup Code ## +####################################################################################### +account.{$row.line_number}.dialoginfo_callpickup = 0 + +#Configure the directed and group pickup codes for account 1, the settings on a per-account basis take precedence over the settings on the phone. +account.{$row.line_number}.group_pickup_code = +account.{$row.line_number}.direct_pickup_code = + +####################################################################################### +## DTMF ## +####################################################################################### +#Configure the DTMF type 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO +account.{$row.line_number}.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.{$row.line_number}.dtmf.info_type = + +#Configure the RFC2833 payload. It ranges from 96 to 255, the default value is 101. +account.{$row.line_number}.dtmf.dtmf_payload = + +####################################################################################### +## Alert info ## +####################################################################################### +#Enable or disable to use the Distinctive Ring Tones 0-Disabled , 1-Enabled(default) +account.{$row.line_number}.alert_info_url_enable = + +#Assign a ringtone for account1. The system ring tones are: common (default), Ring1.wav - Ring8.wav. +#If you set the custom ring tone (Busy.wav) for the phone, the value is: account.{$row.line_number}.ringtone.ring_type = Config:Busy.wav +#If you set the system ring tone (Ring2.wav) for the phone, the value is: account.{$row.line_number}.ringtone.ring_type = Resource:Ring2.wav +account.{$row.line_number}.ringtone.ring_type = +account.{$row.line_number}.picture_info_enable = 1 + +####################################################################################### +## Conference ## +####################################################################################### +#Configure the conference type 0-Local (default), 2-Network Conference +account.{$row.line_number}.conf_type = + +#Configure the conference URI (a SIP URI, or use part of the SIP URI). For example, "conference@domain.com" or "conference". +account.{$row.line_number}.conf_uri = + +####################################################################################### +## cid_source ## +####################################################################################### +#Configure 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 +account.{$row.line_number}.cid_source = {$yealink_cid_source} + +account.{$row.line_number}.cid_source_privacy = 1 +account.{$row.line_number}.cid_source_ppi = 1 + +#Configure the presentation of the callee ID 0-PAI-PRID, 1-DIALED DIGITS (default), 2-RFC4916 +account.{$row.line_number}.cp_source = 2 + +####################################################################################### +## Session Timer ## +####################################################################################### +#Enable or disable the session timer, 0-Disabled (default), 1-Enabled +account.{$row.line_number}.session_timer.enable = + +#Configure the refresh session timer interval (in seconds). It ranges from 1 to 9999. +account.{$row.line_number}.session_timer.expires = + +#Configure the session timer refresher 0-Uac (default), 1-Uas +account.{$row.line_number}.session_timer.refresher = + +####################################################################################### +## Music on Hold ## +####################################################################################### +#Configure the type of Music on Hold 0-Send the INVITE request to Music on Hold Server then hold the call 1-Hold the call then send the INVITE request to Music on Hold Server +#Require reboot +account.{$row.line_number}.music_on_hold_type = +account.{$row.line_number}.music_server_uri = + +####################################################################################### +## Advanced ## +####################################################################################### +#Enable or disable the auto answer feature 0-Disabled (default), 1-Enabled +account.{$row.line_number}.auto_answer = + +#Enable or disable the phone to record the missed call 0-Disabled, 1-Enabled (default) +account.{$row.line_number}.missed_calllog = + +#Enable or disable the 100 reliable retransmission 0-Disabled (default), 1-Enabled +account.{$row.line_number}.100rel_enable = + +#Enable or disable the "user=phone" 0-Disabled (default), 1-Enabled +account.{$row.line_number}.enable_user_equal_phone = + +#Enbale or diable the simplified header field feature 0-Disabled, 1-Enabled (default) +account.{$row.line_number}.compact_header_enable = + +####################################################################################### +## DND ## +####################################################################################### +account.{$row.line_number}.dnd.enable = +account.{$row.line_number}.dnd.on_code = +account.{$row.line_number}.dnd.off_code = + +####################################################################################### +## Call Forward ## +####################################################################################### + +account.{$row.line_number}.always_fwd.enable = +account.{$row.line_number}.always_fwd.target = +account.{$row.line_number}.always_fwd.off_code = +account.{$row.line_number}.always_fwd.on_code = + +account.{$row.line_number}.busy_fwd.enable = +account.{$row.line_number}.busy_fwd.target = +account.{$row.line_number}.busy_fwd.off_code = +account.{$row.line_number}.busy_fwd.on_code = + +#Enable or disable the no answer forward feature for account1 0-Disabled (default), 1-Enabled +#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2. +account.{$row.line_number}.timeout_fwd.enable = +account.{$row.line_number}.timeout_fwd.target = +account.{$row.line_number}.timeout_fwd.timeout = +account.{$row.line_number}.timeout_fwd.off_code = +account.{$row.line_number}.timeout_fwd.on_code = + +####################################################################################### +## Broadsoft Hoteling ## +####################################################################################### +account.{$row.line_number}.hoteling.enable = 0 +account.{$row.line_number}.hoteling.user_id = 0 +account.{$row.line_number}.hoteling.password = 0 +account.{$row.line_number}.hoteling.auto_login_enable = 0 + +####################################################################################### +## Broadsoft ACD ## +####################################################################################### +account.{$row.line_number}.acd.enable = 0 +account.{$row.line_number}.acd.unavailable_reason_enable = 0 +account.{$row.line_number}.acd.available = 0 +account.{$row.line_number}.acd.initial_state = 1 + +####################################################################################### +## Broadsoft ACD Call Center ## +####################################################################################### +#Configure the ACD reason code of Broadsoft.(The valus of Y must be consecutive numbers.) +#account.{$row.line_number}.bw_acd_reason_code.Y = 500(lunch time) +account.{$row.line_number}.bw_acd_reason_code.1 = + +account.{$row.line_number}.reason_code.1 = +account.{$row.line_number}.reason_code_name.1 = 0 +account.{$row.line_number}.bw_disp_code.1 = +account.{$row.line_number}.bw_disp_code_name.1 = +account.{$row.line_number}.supervisor_info_code.1 = +account.{$row.line_number}.supervisor_info_code_name.1 = + +####################################################################################### +## Broadsoft Call Center ## +####################################################################################### +account.{$row.line_number}.call_center.call_info_enable = 0 +account.{$row.line_number}.call_center.show_call_info_time = 30 +account.{$row.line_number}.call_center.disp_code_enable = 0 +account.{$row.line_number}.call_center.trace_enable = 0 +account.{$row.line_number}.call_center.emergency_enable = 0 +account.{$row.line_number}.call_center.queue_status_enable = 0 +account.{$row.line_number}.call_center.queue_status_light_enable = 0 + +####################################################################################### +## Broadsoft XSI ## +####################################################################################### +account.{$row.line_number}.xsi.user = +account.{$row.line_number}.xsi.password = +account.{$row.line_number}.xsi.host = +account.{$row.line_number}.xsi.server_type = +account.{$row.line_number}.xsi.port = +{/foreach} + +####################################################################################### +## NETWORK ## +####################################################################################### +##0-ipv4, 1-ipv6, 2-ipv4&ipv6 +network.ip_address_mode = 2 + +network.ipv6_prefix = 64 +network.ipv6_internet_port.type = +network.ipv6_internet_port.ip = +network.ipv6_internet_port.gateway = +network.ipv6_primary_dns = +network.ipv6_secondary_dns = +network.ipv6_icmp_v6.enable = + +#Configure the WAN port type 0-DHCP (default), 1-PPPoE, 2-Static IP Address +#Require reboot +network.internet_port.type = + +#Configure the static IP address, subnet mask, gateway and DNS server +#Require Reboot +network.internet_port.ip = +network.internet_port.mask = +network.internet_port.gateway = +{if isset($dns_server_primary)}network.primary_dns = {$dns_server_primary}{/if} + +{if isset($dns_server_secondary)}network.secondary_dns = {$dns_server_secondary}{/if} + +{if isset($dns_server_primary)}network.static_dns_enable = 1{else}network.static_dns_enable = 0{/if} + +####################################################################################### +## Line Key ## +####################################################################################### + +#The x of the parameter "linekey.x.line" ranges from 1 to 6. +#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1. +#linekey.x.lable--Define the label for each line key. Meet-Me Conference "1" or BLF "16" require pick_value. + +{foreach $keys['line'] as $row} + +#Configure Line Key {$row.device_key_id} +linekey.{$row.device_key_id}.line = {$row.device_key_line} +linekey.{$row.device_key_id}.value = {$row.device_key_value} +{if $row.device_key_type == "1" || $row.device_key_type == "16"} +linekey.{$row.device_key_id}.pickup_value = {$row.device_key_extension} +{else} +linekey.{$row.device_key_id}.extension = {$row.device_key_extension} +{/if} +linekey.{$row.device_key_id}.type = {$row.device_key_type} +linekey.{$row.device_key_id}.xml_phonebook = +linekey.{$row.device_key_id}.label = {$row.device_key_label} +{/foreach} + +########################################################################################## +## Expansion Module 1 ## +########################################################################################## +#X ranges from 1 to 16, Y ranges from 1 to 40. + +{$rownum = 1} + +{foreach $keys["expansion"] as $row} + +{if $rownum <= 40} +expansion_module.1.key.{$row.device_key_id}.type = {$row.device_key_type} +expansion_module.1.key.{$row.device_key_id}.line = {$row.device_key_line} +expansion_module.1.key.{$row.device_key_id}.value = {$row.device_key_value} +expansion_module.1.key.{$row.device_key_id}.extension = {$row.device_key_extension} +expansion_module.1.key.{$row.device_key_id}.label = {$row.device_key_label} +expansion_module.1.key.{$row.device_key_id}.xml_phonebook = +{else} +expansion_module.2.key.{$row.device_key_id - 40}.type = {$row.device_key_type} +expansion_module.2.key.{$row.device_key_id - 40}.line = {$row.device_key_line} +expansion_module.2.key.{$row.device_key_id - 40}.value = {$row.device_key_value} +expansion_module.2.key.{$row.device_key_id - 40}.extension = {$row.device_key_extension} +expansion_module.2.key.{$row.device_key_id - 40}.label = {$row.device_key_label} +expansion_module.2.key.{$row.device_key_id - 40}.xml_phonebook = +{/if} +{$rownum = $rownum + 1} +{/foreach} \ No newline at end of file diff --git a/resources/templates/provision/yealink/vp530/y000000000023.cfg b/resources/templates/provision/yealink/vp530/y000000000023.cfg index 618a73da80..f59729148f 100644 --- a/resources/templates/provision/yealink/vp530/y000000000023.cfg +++ b/resources/templates/provision/yealink/vp530/y000000000023.cfg @@ -616,7 +616,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -1040,7 +1040,7 @@ server_certificates.delete = ## Local Contact/DST Time/Dialnow Rule/Replace Rule ## ####################################################################################### local_contact.data.url = -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_dialnow.url = dialplan_replace_rule.url = diff --git a/resources/templates/provision/yealink/w52p/y000000000025.cfg b/resources/templates/provision/yealink/w52p/y000000000025.cfg index e5ac1a0edf..585fc99612 100644 --- a/resources/templates/provision/yealink/w52p/y000000000025.cfg +++ b/resources/templates/provision/yealink/w52p/y000000000025.cfg @@ -234,7 +234,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -357,7 +357,7 @@ server_certificates.delete = ####################################################################################### ## Local Contact/DST Time/Replace Rule ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_replace_rule.url = blacklist.url = handset.X.contact_list.url = diff --git a/resources/templates/provision/yealink/w56p/y000000000025.cfg b/resources/templates/provision/yealink/w56p/y000000000025.cfg index bd647fb5dd..8657569475 100644 --- a/resources/templates/provision/yealink/w56p/y000000000025.cfg +++ b/resources/templates/provision/yealink/w56p/y000000000025.cfg @@ -234,7 +234,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -357,7 +357,7 @@ server_certificates.delete = ####################################################################################### ## Local Contact/DST Time/Replace Rule ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_replace_rule.url = blacklist.url = handset.X.contact_list.url = diff --git a/resources/templates/provision/yealink/w60b/y000000000077.cfg b/resources/templates/provision/yealink/w60b/y000000000077.cfg index 1fc37f9e4a..5c8a92c78f 100644 --- a/resources/templates/provision/yealink/w60b/y000000000077.cfg +++ b/resources/templates/provision/yealink/w60b/y000000000077.cfg @@ -24,11 +24,11 @@ network.pppoe.password = #Enable or disable the VLAN of WAN port; 0-Disabled(default), 1-Enabled; #Require reboot; -network.vlan.internet_port_enable = 0 +network.vlan.internet_port_enable = {$yealink_vlan_enable} #Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1. #Require reboot; -network.vlan.internet_port_vid = +network.vlan.internet_port_vid = {$yealink_vlan_id} #Configure the VLAN priority, it ranges from 0 (default) to 7. #Require reboot; @@ -234,7 +234,7 @@ local_time.ntp_server2 = {$ntp_server_secondary} local_time.interval = #Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); -local_time.summer_time = +local_time.summer_time = {$yealink_summer_time} #Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week; local_time.dst_time_type = @@ -357,7 +357,7 @@ server_certificates.delete = ####################################################################################### ## Local Contact/DST Time/Replace Rule ## ####################################################################################### -auto_dst.url = +auto_dst.url = {$yealink_auto_dst_url} dialplan_replace_rule.url = blacklist.url = handset.X.contact_list.url = diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000000..1f53798bb4 --- /dev/null +++ b/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / diff --git a/themes/default/app_config.php b/themes/default/app_config.php index e819bfc2db..041f0c60c4 100644 --- a/themes/default/app_config.php +++ b/themes/default/app_config.php @@ -319,6 +319,30 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set then body background color (and opacity) of the content."; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "9011e469-f94b-4c45-9b08-8991c243292b"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "body_header_background_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#eeeeee"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the background color for the body (content) header bar (Side Menu only)."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "b7ab6ad5-845a-4af6-880e-fa999e229216"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "body_header_icon_user"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "user-circle"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the icon to use next to the current user in the body header (Side Menu only)."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "bcc38e2f-e625-47b1-92da-bf9186975ef6"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "body_header_icon_domain"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "globe-americas"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the icon to use next to the current domain in the body header (Side Menu only)."; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "ce3a2e85-472e-4375-a447-d7937cb6dbb7"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "body_shadow_color"; @@ -343,6 +367,54 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set whether to cache the theme in the session."; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "a3fcfa28-ca09-4c7a-849c-afdfd9fedc44"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "domain_selector_title_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#000"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the text color of the domain selector title."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "95e581f2-3f4e-4e4b-91e6-879d2beb329e"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "domain_selector_title_color_hover"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#5082ca"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the text hover color of the domain selector title."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "4e0309da-4adb-4a05-a321-d0ec6546dceb"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "domain_selector_background_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#fff"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the background color of the domain selector pane."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "cd62c333-4f4e-4462-b61c-1baf5fa524cb"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "domain_selector_list_background_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#fff"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the list background color of the domain selector pane."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "6a3db80c-5f21-4475-94ae-deac72a28225"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "domain_selector_list_border_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#a4aebf"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the list border color of the domain selector pane."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "6170ed6b-cb3e-4e66-831b-5498186b2ca8"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "domain_selector_list_divider_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#c5d1e5"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the list item divider color of the domain selector pane."; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "5a401784-b930-46e7-8fb0-6fa0b5a8806e"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "domain_selector_shadow_color"; @@ -411,10 +483,26 @@ $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_main_text_color_hover"; $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; - $apps[$x]['default_settings'][$y]['default_setting_value'] = "#69e5ff"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#fd9c03"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the text hover color of the main menu items."; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "2833c246-dccd-49c2-87cf-fb40c352b48d"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_main_icon_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#ffffff"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the icon color of the main menu items."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "ed6bee7c-7d07-4a06-a94e-75d57231d36f"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_main_icon_color_hover"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#fd9c03"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the icon hover color of the main menu items."; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "aaed6662-d441-4a34-9ac6-874af33e4fd1"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_main_text_font"; @@ -1703,6 +1791,78 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the expanded brand image path for the Side menu."; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "66d37950-15db-4dd0-888a-17ded7b5c0dc"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_state"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "expanded"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the default state of the Side Menu: expanded (pinned) or contracted (unpinned)."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "eaab943f-34d9-44f5-854a-c2288d88dfd0"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_pin"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Enable Side Menu toggle icon allowing users to choose their own preferred menu state (contracted or expanded)."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "8ee8012a-da8c-483a-996d-d81b30a8bbea"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_toggle"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "hover"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set whether the Side Menu opens and closes with a 'Click' or with a mouse over/out ('Hover')."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "e7e11d18-0b06-4347-9305-f8f38284730f"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_toggle_body_width"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "shrink"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the behavior of the body content when the Side Menu is expanded and contracted."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "902e6d1b-d019-4d7f-9d83-38bab5db112e"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_toggle_hover_delay_expand"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "300"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the delay in milliseconds before the Side Menu expands on mouse over (requires menu_side_toggle be set to 'Hover')."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "8dd2d3be-19c2-4758-9c71-5d2d3cf8af73"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_toggle_hover_delay_contract"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "1000"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the delay in milliseconds before the Side Menu contracts on mouse out (requires menu_side_toggle be set to 'Hover')."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "994acf94-09df-42ec-b2c1-c3fc7d665cb9"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_item_main_sub_icons"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set whether to display submenu indicator icons next to main menu items."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "bf786d83-2e8c-4928-be7c-dfd2cde894d4"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_item_main_sub_icon_expand"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "chevron-down"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the submenu indicator icon to use for the expand action (default: chevron-down)."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "fe64a3e8-70af-4d9f-868a-47a739789cd3"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_item_main_sub_icon_contract"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "chevron-up"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the submenu indicator icon to use for the contract action (default: chevron-up)."; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "97a620e1-d7b2-4550-8648-726c3029143d"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "action_bar_border_top"; @@ -2039,6 +2199,14 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_description'] = ""; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "314a7107-7d00-4f61-8442-16323fb7f91d"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "button_icon_settings"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "fas fa-cog"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = ""; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "814ed631-a315-4bde-a822-4038432ae2a6"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "keyboard_shortcut_check_all_enabled"; @@ -2255,4 +2423,4 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; $apps[$x]['default_settings'][$y]['default_setting_description'] = ""; -?> \ No newline at end of file +?> diff --git a/themes/default/app_languages.php b/themes/default/app_languages.php index ea25b0511f..3997238652 100644 --- a/themes/default/app_languages.php +++ b/themes/default/app_languages.php @@ -231,4 +231,165 @@ $text['theme-label-domain']['sv-se'] = "Domän"; $text['theme-label-domain']['uk-ua'] = "Домен"; $text['theme-label-domain']['tr-tr'] = "Alan Adı"; -?> +$text['theme-label-expand_menu']['en-us'] = "Expand Menu"; +$text['theme-label-expand_menu']['en-gb'] = "Expand Menu"; +$text['theme-label-expand_menu']['ar-eg'] = "Expand Menu"; +$text['theme-label-expand_menu']['de-at'] = "Expand Menu"; +$text['theme-label-expand_menu']['de-ch'] = "Expand Menu"; +$text['theme-label-expand_menu']['de-de'] = "Expand Menu"; +$text['theme-label-expand_menu']['el-gr'] = "Expand Menu"; +$text['theme-label-expand_menu']['es-cl'] = "Expand Menu"; +$text['theme-label-expand_menu']['es-mx'] = "Expand Menu"; +$text['theme-label-expand_menu']['fr-ca'] = "Expand Menu"; +$text['theme-label-expand_menu']['fr-fr'] = "Expand Menu"; +$text['theme-label-expand_menu']['he-il'] = "Expand Menu"; +$text['theme-label-expand_menu']['it-it'] = "Expand Menu"; +$text['theme-label-expand_menu']['nl-nl'] = "Expand Menu"; +$text['theme-label-expand_menu']['pl-pl'] = "Expand Menu"; +$text['theme-label-expand_menu']['pt-br'] = "Expand Menu"; +$text['theme-label-expand_menu']['pt-pt'] = "Expand Menu"; +$text['theme-label-expand_menu']['ro-ro'] = "Expand Menu"; +$text['theme-label-expand_menu']['ru-ru'] = "Expand Menu"; +$text['theme-label-expand_menu']['sv-se'] = "Expand Menu"; +$text['theme-label-expand_menu']['uk-ua'] = "Expand Menu"; +$text['theme-label-expand_menu']['tr-tr'] = "Expand Menu"; + +$text['theme-label-contract_menu']['en-us'] = "Contract Menu"; +$text['theme-label-contract_menu']['en-gb'] = "Contract Menu"; +$text['theme-label-contract_menu']['ar-eg'] = "Contract Menu"; +$text['theme-label-contract_menu']['de-at'] = "Contract Menu"; +$text['theme-label-contract_menu']['de-ch'] = "Contract Menu"; +$text['theme-label-contract_menu']['de-de'] = "Contract Menu"; +$text['theme-label-contract_menu']['el-gr'] = "Contract Menu"; +$text['theme-label-contract_menu']['es-cl'] = "Contract Menu"; +$text['theme-label-contract_menu']['es-mx'] = "Contract Menu"; +$text['theme-label-contract_menu']['fr-ca'] = "Contract Menu"; +$text['theme-label-contract_menu']['fr-fr'] = "Contract Menu"; +$text['theme-label-contract_menu']['he-il'] = "Contract Menu"; +$text['theme-label-contract_menu']['it-it'] = "Contract Menu"; +$text['theme-label-contract_menu']['nl-nl'] = "Contract Menu"; +$text['theme-label-contract_menu']['pl-pl'] = "Contract Menu"; +$text['theme-label-contract_menu']['pt-br'] = "Contract Menu"; +$text['theme-label-contract_menu']['pt-pt'] = "Contract Menu"; +$text['theme-label-contract_menu']['ro-ro'] = "Contract Menu"; +$text['theme-label-contract_menu']['ru-ru'] = "Contract Menu"; +$text['theme-label-contract_menu']['sv-se'] = "Contract Menu"; +$text['theme-label-contract_menu']['uk-ua'] = "Contract Menu"; +$text['theme-label-contract_menu']['tr-tr'] = "Contract Menu"; + +$text['theme-label-pin_menu']['en-us'] = "Pin Menu"; +$text['theme-label-pin_menu']['en-gb'] = "Pin Menu"; +$text['theme-label-pin_menu']['ar-eg'] = "Pin Menu"; +$text['theme-label-pin_menu']['de-at'] = "Pin Menu"; +$text['theme-label-pin_menu']['de-ch'] = "Pin Menu"; +$text['theme-label-pin_menu']['de-de'] = "Pin Menu"; +$text['theme-label-pin_menu']['el-gr'] = "Pin Menu"; +$text['theme-label-pin_menu']['es-cl'] = "Pin Menu"; +$text['theme-label-pin_menu']['es-mx'] = "Pin Menu"; +$text['theme-label-pin_menu']['fr-ca'] = "Pin Menu"; +$text['theme-label-pin_menu']['fr-fr'] = "Pin Menu"; +$text['theme-label-pin_menu']['he-il'] = "Pin Menu"; +$text['theme-label-pin_menu']['it-it'] = "Pin Menu"; +$text['theme-label-pin_menu']['nl-nl'] = "Pin Menu"; +$text['theme-label-pin_menu']['pl-pl'] = "Pin Menu"; +$text['theme-label-pin_menu']['pt-br'] = "Pin Menu"; +$text['theme-label-pin_menu']['pt-pt'] = "Pin Menu"; +$text['theme-label-pin_menu']['ro-ro'] = "Pin Menu"; +$text['theme-label-pin_menu']['ru-ru'] = "Pin Menu"; +$text['theme-label-pin_menu']['sv-se'] = "Pin Menu"; +$text['theme-label-pin_menu']['uk-ua'] = "Pin Menu"; +$text['theme-label-pin_menu']['tr-tr'] = "Pin Menu"; + +$text['theme-label-unpin_menu']['en-us'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['en-gb'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['ar-eg'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['de-at'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['de-ch'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['de-de'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['el-gr'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['es-cl'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['es-mx'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['fr-ca'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['fr-fr'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['he-il'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['it-it'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['nl-nl'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['pl-pl'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['pt-br'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['pt-pt'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['ro-ro'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['ru-ru'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['sv-se'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['uk-ua'] = "Unpin Menu"; +$text['theme-label-unpin_menu']['tr-tr'] = "Unpin Menu"; + +$text['theme-message-menu_expanded']['en-us'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['en-gb'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['ar-eg'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['de-at'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['de-ch'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['de-de'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['el-gr'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['es-cl'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['es-mx'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['fr-ca'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['fr-fr'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['he-il'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['it-it'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['nl-nl'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['pl-pl'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['pt-br'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['pt-pt'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['ro-ro'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['ru-ru'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['sv-se'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['uk-ua'] = "Menu Pinned"; +$text['theme-message-menu_expanded']['tr-tr'] = "Menu Pinned"; + +$text['theme-message-menu_contracted']['en-us'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['en-gb'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['ar-eg'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['de-at'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['de-ch'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['de-de'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['el-gr'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['es-cl'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['es-mx'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['fr-ca'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['fr-fr'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['he-il'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['it-it'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['nl-nl'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['pl-pl'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['pt-br'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['pt-pt'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['ro-ro'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['ru-ru'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['sv-se'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['uk-ua'] = "Menu Unpinned"; +$text['theme-message-menu_contracted']['tr-tr'] = "Menu Unpinned"; + +$text['theme-message-menu_reset']['en-us'] = "Menu State Reset"; +$text['theme-message-menu_reset']['en-gb'] = "Menu State Reset"; +$text['theme-message-menu_reset']['ar-eg'] = "Menu State Reset"; +$text['theme-message-menu_reset']['de-at'] = "Menu State Reset"; +$text['theme-message-menu_reset']['de-ch'] = "Menu State Reset"; +$text['theme-message-menu_reset']['de-de'] = "Menu State Reset"; +$text['theme-message-menu_reset']['el-gr'] = "Menu State Reset"; +$text['theme-message-menu_reset']['es-cl'] = "Menu State Reset"; +$text['theme-message-menu_reset']['es-mx'] = "Menu State Reset"; +$text['theme-message-menu_reset']['fr-ca'] = "Menu State Reset"; +$text['theme-message-menu_reset']['fr-fr'] = "Menu State Reset"; +$text['theme-message-menu_reset']['he-il'] = "Menu State Reset"; +$text['theme-message-menu_reset']['it-it'] = "Menu State Reset"; +$text['theme-message-menu_reset']['nl-nl'] = "Menu State Reset"; +$text['theme-message-menu_reset']['pl-pl'] = "Menu State Reset"; +$text['theme-message-menu_reset']['pt-br'] = "Menu State Reset"; +$text['theme-message-menu_reset']['pt-pt'] = "Menu State Reset"; +$text['theme-message-menu_reset']['ro-ro'] = "Menu State Reset"; +$text['theme-message-menu_reset']['ru-ru'] = "Menu State Reset"; +$text['theme-message-menu_reset']['sv-se'] = "Menu State Reset"; +$text['theme-message-menu_reset']['uk-ua'] = "Menu State Reset"; +$text['theme-message-menu_reset']['tr-tr'] = "Menu State Reset"; + +?> \ No newline at end of file diff --git a/themes/default/css.php b/themes/default/css.php index 28f0ed433c..6da3c1cb26 100644 --- a/themes/default/css.php +++ b/themes/default/css.php @@ -457,7 +457,14 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); position: fixed; top: 0; left: 0; - width: px; + height: 100%; overflow: auto; @@ -481,13 +488,54 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); border-radius: ; } - /* menu side brand container */ - div#menu_side_brand_container { + /* menu side logo */ + a.menu_brand_image { + display: inline-block; + text-align: center; + padding: 15px 20px; + } + + a.menu_brand_image:hover { + text-decoration: none; + } + + img#menu_brand_image_contracted { + border: none; + width: auto; + max-height: 20px; + max-width: 20px; + margin-left: -1px; + } + + img#menu_brand_image_expanded { + border: none; + height: auto; + max-width: 145px; + max-height: 35px; + margin-left: -7px; + } + + /* menu brand text */ + a.menu_brand_text { + display: inline-block; + padding: 10px 20px; + color: ; + font-weight: 600; + white-space: nowrap; + } + + a.menu_brand_text:hover { + color: ; + text-decoration: none; + } + + /* menu side control container */ + div#menu_side_control_container { position: -webkit-sticky; position: sticky; z-index: 99901; top: 0; - padding: 20px; + padding: 0; min-height: 75px; text-align: left; @@ -508,39 +556,9 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); border-radius: ; } - /* menu side logo */ - img#menu_brand_image_contracted { - border: none; - width: auto; - max-height: 30px; - max-width: 30px; - margin-right: 10px; - } - - img#menu_brand_image_expanded { - border: none; - height: auto; - max-width: 145px; - max-height: 35px; - margin-top: -3px; - margin-left: -6px; - } - - /* menu brand text */ - .menu_brand_text { - color: ; - font-weight: 600; - white-space: nowrap; - } - - .menu_brand_text:hover { - color: ; - text-decoration: none; - } - div#menu_side_container > a.menu_side_item_main, div#menu_side_container > div > a.menu_side_item_main, - div#menu_side_container > div#menu_side_brand_container > div > a.menu_side_item_main { + div#menu_side_container > div#menu_side_control_container a.menu_side_item_main { display: block; width: 100%; padding: 10px 20px; @@ -552,19 +570,31 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); } div#menu_side_container > a.menu_side_item_main:hover, - div#menu_side_container a.menu_side_item_main:focus, - div#menu_side_container a.menu_side_item_main:active, + div#menu_side_container > a.menu_side_item_main:focus, + div#menu_side_container > a.menu_side_item_main:active, div#menu_side_container > div > a.menu_side_item_main:hover, div#menu_side_container > div > a.menu_side_item_main:focus, div#menu_side_container > div > a.menu_side_item_main:active, - div#menu_side_container > div#menu_side_brand_container > div > a.menu_side_item_main:hover, - div#menu_side_container > div#menu_side_brand_container > div > a.menu_side_item_main:focus, - div#menu_side_container > div#menu_side_brand_container > div > a.menu_side_item_main:active { + div#menu_side_container > div#menu_side_control_container > div a.menu_side_item_main:hover, + div#menu_side_container > div#menu_side_control_container > div a.menu_side_item_main:focus, + div#menu_side_container > div#menu_side_control_container > div a.menu_side_item_main:active { color: ; background: ; text-decoration: none; } + div#menu_side_container > a.menu_side_item_main > i.menu_side_item_icon, + div#menu_side_container > a.menu_side_item_main > i.menu_side_item_icon, + div#menu_side_container > a.menu_side_item_main > i.menu_side_item_icon { + color: ; + } + + div#menu_side_container > a.menu_side_item_main:hover > i.menu_side_item_icon, + div#menu_side_container > a.menu_side_item_main:focus > i.menu_side_item_icon, + div#menu_side_container > a.menu_side_item_main:active > i.menu_side_item_icon { + color: ; + } + a.menu_side_item_sub { display: block; width: 100%; @@ -577,6 +607,12 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); cursor: pointer; } + @media (max-width: 575.98px) { + a.menu_side_item_sub { + padding: 8px 20px 8px 45px; + } + } + a.menu_side_item_sub:hover, a.menu_side_item_sub:focus, a.menu_side_item_sub:active { @@ -590,6 +626,85 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); cursor: pointer; } + div#content_container { + padding: 0; + padding-top: 0px; + text-align: center; + } + + @media (max-width: 575.98px) { + div#content_container { + width: 100%; + } + } + @media (min-width: 576px) { + div#content_container { + + width: calc(100% - px); + float: right; + } + } + +/* BODY/HEADER BAR *****************************************************************/ + + + div#body_header { + padding: 10px 10px 15px 10px; + height: 50px; + + } + + div#body_header { + padding: 10px; + margin-top: 5px; + height: 40px; + } + + + div#body_header_brand_image { + display: inline-block; + margin-left: 10px; + } + + div#body_header_brand_image > a:hover { + text-decoration: none; + } + + img#body_header_brand_image { + border: none; + margin-top: -4px; + height: auto; + max-width: 145px; + max-height: 35px; + } + + div#body_header_brand_text { + display: inline-block; + margin: 3px 0 0 10px; + } + + div#body_header_brand_text > a { + color: ; + font-size: ; + font-weight: 600; + text-decoration: none; + } + + div#body_header_brand_text > a:hover { + color: ; + text-decoration: none; + } + /* BUTTONS ********************************************************************/ /* buttons */ @@ -951,7 +1066,7 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); font-family: arial, san-serif; font-size: 10pt; overflow: hidden; - background-color: #fff; + background: ; -webkit-box-shadow: ; -moz-box-shadow: ; box-shadow: ; @@ -965,19 +1080,31 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); text-align: left; } + #domains_header > a#domains_title { + font-weight: 600; + font-size: ; + font-family: ; + color: ; + } + + #domains_header > a#domains_title:hover { + text-decoration: none; + color: ; + } + #domains_list { position: relative; overflow: auto; width: 300px; height: 100%; padding: 1px; - background-color: #fff; - border: 1px solid #a4aebf; + background: ; + border: 1px solid ; } div.domains_list_item, div.domains_list_item_active, div.domains_list_item_inactive { text-align: left; - border-bottom: 1px solid #c5d1e5; + border-bottom: 1px solid ; padding: 5px 8px 8px 8px; overflow: hidden; white-space: nowrap; @@ -1070,7 +1197,7 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); a.login_link:hover { color: !important; cursor: pointer; - text-decoration: underline; + text-decoration: none; } ; - text-decoration: underline; + text-decoration: none; } button.btn { @@ -1554,7 +1675,7 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); th a:hover { color: ; - text-decoration: underline; + text-decoration: none; } td { @@ -1829,6 +1950,40 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); cursor: default; } + div.off_ext { + position: relative; + float: left; + width: 235px; + margin: 0px 8px 8px 0px; + padding: 0px; + border-style: solid; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; + -webkit-box-shadow: 0 0 3px #e5e9f0; + -moz-box-shadow: 0 0 3px #e5e9f0; + box-shadow: 0 0 3px #e5e9f0; + border-width: 1px 3px; + border-color: #b9c5d8 #c5d1e5; + background-color: #e5eaf5; + cursor: not-allowed; + } + + div.off_ext:after { + position: absolute; + content: ""; + z-index: 10; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; + display: block; + height: 100%; + top: 0; + left: 0; + right: 0; + background: rgba(255, 255, 255, 0.5); + } + div.op_state_active { background-color: #baf4bb; border-width: 1px 3px; @@ -1841,7 +1996,7 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); border-color: #41b9eb; } - table.op_ext { + table.op_ext, table.off_ext { width: 100%; height: 70px; -moz-border-radius: 5px; diff --git a/themes/default/template.php b/themes/default/template.php index 1eeb910705..f3ad3f0b15 100644 --- a/themes/default/template.php +++ b/themes/default/template.php @@ -12,7 +12,7 @@ - + {*//external css files *} @@ -82,76 +82,190 @@ {if $settings.theme.menu_style == 'side'} //side menu visibility toggle + var menu_side_expand_timer; + var menu_side_contract_timer; + var menu_side_state_current = '{if $menu_side_state == 'hidden'}expanded{else}{$menu_side_state}{/if}'; {literal} - var menu_side_state = 'contracted'; - function menu_side_contract() { - $('.menu_side_sub').slideUp(180); - $('.menu_side_item_title').hide(); - {/literal} - {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''} - {literal} - $('#menu_brand_image_expanded').fadeOut(180, function() { - $('#menu_brand_image_contracted').fadeIn(180); - }); - {/literal} - {elseif $settings.theme.menu_brand_type == 'image_text'} - {literal} - $('.menu_brand_text').hide(); - $('#menu_brand_image_contracted').animate({ width: '20px', 'margin-left': '-2px' }, 250); - {/literal} - {else if $settings.theme.menu_brand_type == 'text'} - {literal} - $('.menu_brand_text').fadeOut(180); - {/literal} - {/if} - {literal} - $('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_contracted}{literal}px' }, 250); - $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250, function() { - menu_side_state = 'contracted'; - }); - $('.menu_side_contract').hide(); - $('.menu_side_expand').show(); + function menu_side_contract_start() { + menu_side_contract_timer = setTimeout(function() { + menu_side_contract(); + }, {/literal}{$settings.theme.menu_side_toggle_hover_delay_contract}{literal}); + } + + function menu_side_contract() { + if (menu_side_state_current == 'expanded') { + {/literal} + {if $menu_side_state == 'hidden'} + {literal} + $('#menu_side_container').hide(); + {/literal} + {else} + {literal} + $('.menu_side_sub').slideUp(180); + $('.menu_side_item_title').hide(); + {/literal} + {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' || $settings.theme.menu_brand_type == ''} + {literal} + $('#menu_brand_image_expanded').fadeOut(180, function() { + $('#menu_brand_image_contracted').fadeIn(180); + }); + {/literal} + {else if $settings.theme.menu_brand_type == 'text'} + {literal} + $('.menu_brand_text').hide(); + {/literal} + {/if} + {literal} + $('.menu_side_control_state').hide(); + $('.menu_side_item_main_sub_icons').hide(); + $('.sub_arrows').removeClass('fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_contract}{literal}').addClass('fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_expand}{literal}'); + $('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_contracted}{literal}px' }, 180, function() { + menu_side_state_current = 'contracted'; + }); + {/literal} + {if $settings.theme.menu_side_toggle_body_width == 'shrink' || ($settings.theme.menu_side_state == 'expanded' && $settings.theme.menu_side_toggle_body_width == 'fixed')} + {literal} + if ($(window).width() >= 576) { + $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250); + } + {/literal} + {/if} + {literal} + $('.menu_side_contract').hide(); + $('.menu_side_expand').show(); + if ($(window).width() < 576) { + $('#menu_side_container').hide(); + } + {/literal} + {/if} + {literal} + } + } + + function menu_side_expand_start() { + menu_side_expand_timer = setTimeout(function() { + menu_side_expand(); + }, {/literal}{$settings.theme.menu_side_toggle_hover_delay_expand}{literal}); } function menu_side_expand() { {/literal} - {if $settings.theme.menu_brand_type == 'image_text'} - {literal} - $('#menu_brand_image_contracted').animate({ width: '30px', 'margin-left': '0' }, 250); - {/literal} - {elseif $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''} - {literal} - $('#menu_brand_image_contracted').fadeOut(180); - {/literal} - {/if} - {literal} - $('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px' }, 250); - $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250, function() { - $('.menu_brand_text').fadeIn(180); - $('.menu_side_item_title').fadeIn(180); - {/literal} - {if $settings.theme.menu_brand_type != 'none'} - {literal} - $('.menu_side_contract').fadeIn(180); - {/literal} - {/if} - {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''} - {literal} - $('#menu_brand_image_expanded').fadeIn(180); - {/literal} - {/if} - {literal} - menu_side_state = 'expanded'; - }); - {/literal} - {if $settings.theme.menu_brand_type == 'none'} + {if $menu_side_state == 'hidden'} {literal} $('.menu_side_contract').show(); {/literal} + {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' || $settings.theme.menu_brand_type == ''} + {literal} + $('#menu_brand_image_contracted').hide(); + $('#menu_brand_image_expanded').show(); + {/literal} + {/if} + {literal} + $('.menu_side_control_state').show(); + $('.menu_brand_text').show(); + $('.menu_side_item_main_sub_icons').show(); + $('.menu_side_item_title').show(); + if ($(window).width() < 576) { + $('#menu_side_container').width($(window).width()); + } + $('#menu_side_container').show(); + {/literal} + {else} + {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' ||$settings.theme.menu_brand_type == ''} + {literal} + $('#menu_brand_image_contracted').fadeOut(180); + {/literal} + {/if} + {literal} + $('.menu_side_expand').hide(); + $('.menu_side_contract').show(); + $('#menu_side_container').show(); + var menu_side_container_width = $(window).width() < 576 ? $(window).width() : '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px'; + $('#menu_side_container').animate({ width: menu_side_container_width }, 180, function() { + {/literal} + {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' || $settings.theme.menu_brand_type == ''} + {literal} + $('#menu_brand_image_expanded').fadeIn(180); + {/literal} + {/if} + {literal} + $('.menu_side_control_state').fadeIn(180); + $('.menu_brand_text').fadeIn(180); + $('.menu_side_item_main_sub_icons').fadeIn(180); + $('.menu_side_item_title').fadeIn(180, function() { + menu_side_state_current = 'expanded'; + }); + }); + {/literal} + {if $settings.theme.menu_side_toggle_body_width == 'shrink' || ($settings.theme.menu_side_state == 'expanded' && $settings.theme.menu_side_toggle_body_width == 'fixed')} + {literal} + if ($(window).width() >= 576) { + $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250); + } + {/literal} + {/if} {/if} {literal} - $('.menu_side_expand').hide(); + } + + function menu_side_item_toggle(item_id) { + $('#sub_arrow_'+item_id).toggleClass(['fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_contract}{literal}','fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_expand}{literal}']); + $('.sub_arrows').not('#sub_arrow_'+item_id).removeClass('fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_contract}{literal}').addClass('fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_expand}{literal}'); + $('#sub_'+item_id).slideToggle(180, function() { + if (!$(this).is(':hidden')) { + $('.menu_side_sub').not($(this)).slideUp(180); + } + }); + } + + function menu_side_state_set(state) { + var user_setting_set_path = '{/literal}{$project_path}{literal}/core/user_settings/user_setting_set.php?category=theme&subcategory=menu_side_state&name=text&value='+state; + var xhr = new XMLHttpRequest(); + xhr.open('GET', user_setting_set_path); + xhr.send(null); + xhr.onreadystatechange = function () { + var setting_modified; + if (xhr.readyState === 4) { + if (xhr.status === 200) { + setting_modified = xhr.responseText; + if (setting_modified == 'true') { + document.getElementById('menu_side_state_set_expanded').style.display = state == 'expanded' ? 'none' : 'block'; + document.getElementById('menu_side_state_set_contracted').style.display = state == 'contracted' ? 'none' : 'block'; + {/literal} + {if $menu_side_state == 'hidden'} + {literal} + document.getElementById('menu_side_state_hidden_button').style.display='none'; + {/literal} + {/if} + {literal} + if (state == 'expanded') { + if ($(window).width() >= 576) { + $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250); + } + else { + $('#menu_side_container').animate({ width: $(window).width() }, 180); + } + document.getElementById('menu_side_state_current').value = 'expanded'; + display_message("{/literal}{$text.theme_message_menu_expanded}{literal}", 'positive', 1000); + } + else { + menu_side_contract(); + if ($(window).width() >= 576) { + $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250); + } + menu_side_state_current = 'contracted'; + document.getElementById('menu_side_state_current').value = 'contracted'; + display_message("{/literal}{$text.theme_message_menu_contracted}{literal}", 'positive', 1000); + } + } + else if (setting_modified == 'deleted') { + display_message("{/literal}{$text.theme_message_menu_reset}{literal}", 'positive', 1000); + document.location.reload(); + } + } + } + } } {/literal} {/if} @@ -188,7 +302,7 @@ $(document).scrollTop(0); $('#domains_container').show(); $('#domains_block').animate({marginRight: '+=300'}, 400, function() { - $('#domain_filter').trigger('focus'); + $('#domains_filter').trigger('focus'); }); } @@ -196,8 +310,8 @@ $('#domains_visible').val(0); $(document).ready(function() { $('#domains_block').animate({marginRight: '-=300'}, 400, function() { - $('#domain_filter').val(''); - domain_search($('#domain_filter').val()); + $('#domains_filter').val(''); + domain_search($('#domains_filter').val()); $('.navbar').css('margin-right','0'); //restore navbar margin $('#domains_container').css('right','0'); //domain container right position $('#domains_container').hide(); @@ -393,11 +507,27 @@ {if $settings.theme.keyboard_shortcut_copy_enabled} {if $browser_name_short == 'Safari'} //emulate with detecting [c] only, as [command] and [control] keys are ignored when captured {literal} - if ((e.which == 99 || e.which == 67) && !(e.target.tagName == 'INPUT' && e.target.type == 'text') && e.target.tagName != 'TEXTAREA') { + if ( + (e.which == 99 || e.which == 67) && + !(e.target.tagName == 'INPUT' && e.target.type == 'text') && + !(e.target.tagName == 'INPUT' && e.target.type == 'password') && + e.target.tagName != 'TEXTAREA' + ) { {/literal} {else} {literal} - if ((((e.which == 99 || e.which == 67) && (e.ctrlKey || e.metaKey) && !e.shiftKey) || (e.which == 19)) && !(e.target.tagName == 'INPUT' && e.target.type == 'text') && e.target.tagName != 'TEXTAREA') { + if ( + ( + ( + (e.which == 99 || e.which == 67) && + (e.ctrlKey || e.metaKey) && + !e.shiftKey + ) || + e.which == 19 + ) && + !(e.target.tagName == 'INPUT' && e.target.type == 'text') && + e.target.tagName != 'TEXTAREA' + ) { {/literal} {/if} {literal} @@ -540,7 +670,44 @@ {if $settings.theme.menu_style == 'side'} {literal} $(window).on('resizeEnd', function() { - $('#content_container').animate({ width: $(window).width() - $('#menu_side_container').width() }, 200); + if ($(window).width() < 576) { + if (menu_side_state_current == 'contracted') { + $('#menu_side_container').hide(); + } + if (menu_side_state_current == 'expanded') { + {/literal} + {if $menu_side_state != 'hidden'} + {literal} + $('#menu_side_container').show(); + {/literal} + {/if} + {literal} + $('#menu_side_container').animate({ width: $(window).width() }, 180); + } + $('#content_container').animate({ width: $(window).width() }, 100); + } + else { + {/literal} + {if $menu_side_state == 'hidden'} + {literal} + $('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px' }, 180); + $('#content_container').animate({ width: $(window).width() }, 100); + {/literal} + {else} + {literal} + $('#menu_side_container').show(); + if (menu_side_state_current == 'expanded') { + $('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px' }, 180, function() { + $('#content_container').animate({ width: $(window).width() - $('#menu_side_container').width() }, 100); + }); + } + else { + $('#content_container').animate({ width: $(window).width() - $('#menu_side_container').width() }, 100); + } + {/literal} + {/if} + {literal} + } }); {/literal} {/if} @@ -662,6 +829,45 @@ } {/literal} + //checkbox on change + {literal} + function checkbox_on_change(checkbox) { + checked = false; + var inputs = document.getElementsByTagName('input'); + for (var i = 0, max = inputs.length; i < max; i++) { + if (inputs[i].type === 'checkbox' && inputs[i].checked == true) { + checked = true; + break; + } + } + btn_copy = document.getElementById("btn_copy"); + btn_toggle = document.getElementById("btn_toggle"); + btn_delete = document.getElementById("btn_delete"); + if (checked == true) { + if (btn_copy) { + btn_copy.style.display = "inline"; + } + if (btn_toggle) { + btn_toggle.style.display = "inline"; + } + if (btn_delete) { + btn_delete.style.display = "inline"; + } + } + else { + if (btn_copy) { + btn_copy.style.display = "none"; + } + if (btn_toggle) { + btn_toggle.style.display = "none"; + } + if (btn_delete) { + btn_delete.style.display = "none"; + } + } + } + {/literal} + //list page functions {literal} function list_all_toggle(modifier) { @@ -821,9 +1027,9 @@
{foreach $domains as $row} @@ -912,6 +1118,7 @@ {if $settings.theme.menu_style == 'inline'}{$logo}{/if} {$menu} {if $settings.theme.menu_style == 'inline' || $settings.theme.menu_style == 'static'}
{/if} + {if $settings.theme.menu_style == 'side'}{/if} {else} {*//default: fixed *} {$menu} {$container_open} @@ -926,4 +1133,4 @@ {/if} - \ No newline at end of file +