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
This commit is contained in:
Redbehrend
2020-09-12 12:58:41 -07:00
committed by GitHub
parent 002da38d46
commit 54ca294116
38 changed files with 39763 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
<YealinkIPPhoneDirectory>
{foreach $contacts as $row}
{if $smarty.get.contacts == "users" && $row.category == "users"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<Name>{$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{/if}
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{foreach $row.numbers as $number}
{if $number.phone_number != ""}
<Telephone>{$number.phone_number}</Telephone>
{else}
<Telephone>{$number.phone_extension}</Telephone>
{/if}
{/foreach}
</DirectoryEntry>
{elseif $smarty.get.contacts == "groups" && $row.category == "groups"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<Name>{$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{/if}
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{foreach $row.numbers as $number}
{if $number.phone_number != ""}
<Telephone>{$number.phone_number}</Telephone>
{else}
<Telephone>{$number.phone_extension}</Telephone>
{/if}
{/foreach}
</DirectoryEntry>
{elseif $smarty.get.contacts == "extensions" && $row.category == "extensions"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{if $row.phone_number != ""}
<Telephone>{$row.phone_number}</Telephone>
{else}
<Telephone>{$row.phone_extension}</Telephone>
{/if}
</DirectoryEntry>
{elseif $smarty.get.contacts == "all"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<Name>{$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{/if}
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{if $row.category == "extensions"}
{if $row.phone_number != ""}
<Telephone>{$row.phone_number}</Telephone>
{else}
<Telephone>{$row.phone_extension}</Telephone>
{/if}
{else}
{foreach $row.numbers as $number}
{if $number.phone_number != ""}
<Telephone>{$number.phone_number}</Telephone>
{else}
<Telephone>{$number.phone_extension}</Telephone>
{/if}
{/foreach}
{/if}
</DirectoryEntry>
{/if}
{/foreach}
</YealinkIPPhoneDirectory>

View File

@@ -0,0 +1,8 @@
<root_favorite_set>
<item id_name="localdirectory" display_name="Local Directory" priority="2" enable="0" />
<item id_name="history" display_name="History" priority="3" enable="1" />
<item id_name="networkcalllog" display_name="Network CallLog" priority="4" enable="0" />
<item id_name="remotedirectory" display_name="Remote Phone Book" priority="5" enable="1" />
<item id_name="ldap" display_name="LDAP" priority="1" enable="0" />
<item id_name="networkdirectory" display_name="Network Directory" priority="6" enable="0" />
</root_favorite_set>

View File

@@ -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}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -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}

View File

@@ -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}

View File

@@ -0,0 +1,83 @@
<YealinkIPPhoneDirectory>
{foreach $contacts as $row}
{if $smarty.get.contacts == "users" && $row.category == "users"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<Name>{$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{/if}
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{foreach $row.numbers as $number}
{if $number.phone_number != ""}
<Telephone>{$number.phone_number}</Telephone>
{else}
<Telephone>{$number.phone_extension}</Telephone>
{/if}
{/foreach}
</DirectoryEntry>
{elseif $smarty.get.contacts == "groups" && $row.category == "groups"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<Name>{$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{/if}
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{foreach $row.numbers as $number}
{if $number.phone_number != ""}
<Telephone>{$number.phone_number}</Telephone>
{else}
<Telephone>{$number.phone_extension}</Telephone>
{/if}
{/foreach}
</DirectoryEntry>
{elseif $smarty.get.contacts == "extensions" && $row.category == "extensions"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{if $row.phone_number != ""}
<Telephone>{$row.phone_number}</Telephone>
{else}
<Telephone>{$row.phone_extension}</Telephone>
{/if}
</DirectoryEntry>
{elseif $smarty.get.contacts == "all"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<Name>{$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{/if}
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{if $row.category == "extensions"}
{if $row.phone_number != ""}
<Telephone>{$row.phone_number}</Telephone>
{else}
<Telephone>{$row.phone_extension}</Telephone>
{/if}
{else}
{foreach $row.numbers as $number}
{if $number.phone_number != ""}
<Telephone>{$number.phone_number}</Telephone>
{else}
<Telephone>{$number.phone_extension}</Telephone>
{/if}
{/foreach}
{/if}
</DirectoryEntry>
{/if}
{/foreach}
</YealinkIPPhoneDirectory>

View File

@@ -0,0 +1,8 @@
<root_favorite_set>
<item id_name="localdirectory" display_name="Local Directory" priority="2" enable="0" />
<item id_name="history" display_name="History" priority="3" enable="1" />
<item id_name="networkcalllog" display_name="Network CallLog" priority="4" enable="0" />
<item id_name="remotedirectory" display_name="Remote Phone Book" priority="5" enable="1" />
<item id_name="ldap" display_name="LDAP" priority="1" enable="0" />
<item id_name="networkdirectory" display_name="Network Directory" priority="6" enable="0" />
</root_favorite_set>

View File

@@ -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}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -0,0 +1,83 @@
<YealinkIPPhoneDirectory>
{foreach $contacts as $row}
{if $smarty.get.contacts == "users" && $row.category == "users"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<Name>{$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{/if}
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{foreach $row.numbers as $number}
{if $number.phone_number != ""}
<Telephone>{$number.phone_number}</Telephone>
{else}
<Telephone>{$number.phone_extension}</Telephone>
{/if}
{/foreach}
</DirectoryEntry>
{elseif $smarty.get.contacts == "groups" && $row.category == "groups"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<Name>{$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{/if}
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{foreach $row.numbers as $number}
{if $number.phone_number != ""}
<Telephone>{$number.phone_number}</Telephone>
{else}
<Telephone>{$number.phone_extension}</Telephone>
{/if}
{/foreach}
</DirectoryEntry>
{elseif $smarty.get.contacts == "extensions" && $row.category == "extensions"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{if $row.phone_number != ""}
<Telephone>{$row.phone_number}</Telephone>
{else}
<Telephone>{$row.phone_extension}</Telephone>
{/if}
</DirectoryEntry>
{elseif $smarty.get.contacts == "all"}
<DirectoryEntry>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<Name>{$row.contact_organization} {$row.contact_name_given} {$row.contact_name_family}</Name>
{else}
<Name>{$row.contact_name_given} {$row.contact_name_family}</Name>
{/if}
{else}
<Name>{$row.effective_caller_id_name}</Name>
{/if}
{if $row.category == "extensions"}
{if $row.phone_number != ""}
<Telephone>{$row.phone_number}</Telephone>
{else}
<Telephone>{$row.phone_extension}</Telephone>
{/if}
{else}
{foreach $row.numbers as $number}
{if $number.phone_number != ""}
<Telephone>{$number.phone_number}</Telephone>
{else}
<Telephone>{$number.phone_extension}</Telephone>
{/if}
{/foreach}
{/if}
</DirectoryEntry>
{/if}
{/foreach}
</YealinkIPPhoneDirectory>

View File

@@ -0,0 +1,8 @@
<root_favorite_set>
<item id_name="localdirectory" display_name="Local Directory" priority="2" enable="0" />
<item id_name="history" display_name="History" priority="3" enable="1" />
<item id_name="networkcalllog" display_name="Network CallLog" priority="4" enable="0" />
<item id_name="remotedirectory" display_name="Remote Phone Book" priority="5" enable="1" />
<item id_name="ldap" display_name="LDAP" priority="1" enable="0" />
<item id_name="networkdirectory" display_name="Network Directory" priority="6" enable="0" />
</root_favorite_set>

View File

@@ -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}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -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}

View File

@@ -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}