From 54ca294116e1d789ee00f63d92cf5ce1fb01d7cf Mon Sep 17 00:00:00 2001
From: Redbehrend <44125368+Redbehrend@users.noreply.github.com>
Date: Sat, 12 Sep 2020 12:58:41 -0700
Subject: [PATCH] Yealink Combined Provisioning + for loops (#5266)
* Yealink Combined Provisioning
Yealink combined provisioning + foreach loop to cut down and simplify account settings.
* Fixed missing returns
fixed missing returns so github wouldn't yell about it everytime the file was altered.
* Made changes request by Mark + Len Update
Made changes request by Mark + Len Update
---
.../provision/yealink/t2x/directory.xml | 83 +
.../yealink/t2x/favorite_setting.xml | 8 +
.../provision/yealink/t2x/y000000000000.boot | 12 +
.../provision/yealink/t2x/y000000000044.cfg | 1666 ++++++++++++++
.../provision/yealink/t2x/y000000000052.cfg | 1626 ++++++++++++++
.../provision/yealink/t2x/y000000000053.cfg | 1334 +++++++++++
.../provision/yealink/t2x/y000000000069.cfg | 1666 ++++++++++++++
.../provision/yealink/t2x/{$mac}.boot | 12 +
.../provision/yealink/t2x/{$mac}.cfg | 588 +++++
.../provision/yealink/t4x/directory.xml | 83 +
.../yealink/t4x/favorite_setting.xml | 8 +
.../provision/yealink/t4x/y000000000000.boot | 20 +
.../provision/yealink/t4x/y000000000028.cfg | 1666 ++++++++++++++
.../provision/yealink/t4x/y000000000029.cfg | 1649 ++++++++++++++
.../provision/yealink/t4x/y000000000035.cfg | 1647 ++++++++++++++
.../provision/yealink/t4x/y000000000036.cfg | 1668 ++++++++++++++
.../provision/yealink/t4x/y000000000054.cfg | 1650 ++++++++++++++
.../provision/yealink/t4x/y000000000065.cfg | 1754 +++++++++++++++
.../provision/yealink/t4x/y000000000066.cfg | 1704 ++++++++++++++
.../provision/yealink/t4x/y000000000067.cfg | 1704 ++++++++++++++
.../provision/yealink/t4x/y000000000068.cfg | 1708 ++++++++++++++
.../provision/yealink/t4x/y000000000076.cfg | 1668 ++++++++++++++
.../provision/yealink/t4x/y000000000107.cfg | 1754 +++++++++++++++
.../provision/yealink/t4x/y000000000108.cfg | 1705 ++++++++++++++
.../provision/yealink/t4x/y000000000109.cfg | 1754 +++++++++++++++
.../provision/yealink/t4x/y000000000116.cfg | 1704 ++++++++++++++
.../provision/yealink/t4x/{$mac}.boot | 7 +
.../provision/yealink/t4x/{$mac}.cfg | 582 +++++
.../provision/yealink/t4x/{mac}.boot | 20 +
.../provision/yealink/t5x/directory.xml | 83 +
.../yealink/t5x/favorite_setting.xml | 8 +
.../provision/yealink/t5x/y000000000000.boot | 10 +
.../provision/yealink/t5x/y000000000070.cfg | 1702 ++++++++++++++
.../provision/yealink/t5x/y000000000095.cfg | 1986 ++++++++++++++++
.../provision/yealink/t5x/y000000000096.cfg | 1987 +++++++++++++++++
.../provision/yealink/t5x/y000000000097.cfg | 1987 +++++++++++++++++
.../provision/yealink/t5x/{$mac}.boot | 10 +
.../provision/yealink/t5x/{$mac}.cfg | 540 +++++
38 files changed, 39763 insertions(+)
create mode 100644 resources/templates/provision/yealink/t2x/directory.xml
create mode 100644 resources/templates/provision/yealink/t2x/favorite_setting.xml
create mode 100644 resources/templates/provision/yealink/t2x/y000000000000.boot
create mode 100644 resources/templates/provision/yealink/t2x/y000000000044.cfg
create mode 100644 resources/templates/provision/yealink/t2x/y000000000052.cfg
create mode 100644 resources/templates/provision/yealink/t2x/y000000000053.cfg
create mode 100644 resources/templates/provision/yealink/t2x/y000000000069.cfg
create mode 100644 resources/templates/provision/yealink/t2x/{$mac}.boot
create mode 100644 resources/templates/provision/yealink/t2x/{$mac}.cfg
create mode 100644 resources/templates/provision/yealink/t4x/directory.xml
create mode 100644 resources/templates/provision/yealink/t4x/favorite_setting.xml
create mode 100644 resources/templates/provision/yealink/t4x/y000000000000.boot
create mode 100644 resources/templates/provision/yealink/t4x/y000000000028.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000029.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000035.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000036.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000054.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000065.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000066.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000067.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000068.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000076.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000107.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000108.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000109.cfg
create mode 100644 resources/templates/provision/yealink/t4x/y000000000116.cfg
create mode 100644 resources/templates/provision/yealink/t4x/{$mac}.boot
create mode 100644 resources/templates/provision/yealink/t4x/{$mac}.cfg
create mode 100644 resources/templates/provision/yealink/t4x/{mac}.boot
create mode 100644 resources/templates/provision/yealink/t5x/directory.xml
create mode 100644 resources/templates/provision/yealink/t5x/favorite_setting.xml
create mode 100644 resources/templates/provision/yealink/t5x/y000000000000.boot
create mode 100644 resources/templates/provision/yealink/t5x/y000000000070.cfg
create mode 100644 resources/templates/provision/yealink/t5x/y000000000095.cfg
create mode 100644 resources/templates/provision/yealink/t5x/y000000000096.cfg
create mode 100644 resources/templates/provision/yealink/t5x/y000000000097.cfg
create mode 100644 resources/templates/provision/yealink/t5x/{$mac}.boot
create mode 100644 resources/templates/provision/yealink/t5x/{$mac}.cfg
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..49eaf70a52
--- /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_dst_enable}
+
+#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 =
+
+#######################################################################################
+## 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..48f7f5ecbd
--- /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_dst_enable}
+
+#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 =
+
+#######################################################################################
+## 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..0529f4c753
--- /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 =
+
+#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 =
+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..b7b090f90f
--- /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_dst_enable}
+
+#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 =
+
+#######################################################################################
+## 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/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..e9f7d174b8
--- /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_dst_enable}
+
+#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 =
+
+#######################################################################################
+## 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..ec803cb138
--- /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_dst_enable}
+
+#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 =
+
+#######################################################################################
+## 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..745e52be42
--- /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_dst_enable}
+
+#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 =
+
+#######################################################################################
+## 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..969c804855
--- /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_dst_enable}
+
+#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 =
+
+#######################################################################################
+## 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..ebb08d8d0d
--- /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_dst_enable}
+
+#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 =
+
+#######################################################################################
+## 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..171ee23b70
--- /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 =
+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.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..40a861ea6e
--- /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 =
+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.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..ae15bf47a9
--- /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 =
+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.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..b92b651f40
--- /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 =
+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.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..2671ed6774
--- /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_dst_enable}
+
+#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 =
+
+#######################################################################################
+## 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..171ee23b70
--- /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 =
+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.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..53170549d5
--- /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 =
+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.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..171ee23b70
--- /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 =
+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.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..ae15bf47a9
--- /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 =
+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.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/{$mac}.boot b/resources/templates/provision/yealink/t4x/{$mac}.boot
new file mode 100644
index 0000000000..355a17cb41
--- /dev/null
+++ b/resources/templates/provision/yealink/t4x/{$mac}.boot
@@ -0,0 +1,7 @@
+#!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/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..ca85ba811c
--- /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 =
+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.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..d7025bb323
--- /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 =
+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.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..4a6054358c
--- /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 =
+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.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..f6383ee912
--- /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 =
+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.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