1<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2<PHONE>
3	<REGISTRATION
4
5		reg.{$row.line_number}.serverFeatureControl.cf="{$polycom_feature_key_sync}"
6        	reg.{$row.line_number}.serverFeatureControl.dnd="{$polycom_feature_key_sync}"
7
8		{foreach $lines as $row}reg.{$row.line_number}.displayName="{$row.display_name}"
9		reg.{$row.line_number}.address="{$row.user_id}"
10		reg.{$row.line_number}.label="{$row.display_name}"
11		reg.{$row.line_number}.type="private"
12		reg.{$row.line_number}.auth.userId="{$row.user_id}"
13		reg.{$row.line_number}.auth.password="{$row.password}"
14		reg.{$row.line_number}.lineKeys="{$line_key_value_{$row.line_number}}"
15		{if isset($row.outbound_proxy)}reg.{$row.line_number}.outboundProxy.address = "{$row.outbound_proxy}"{/if}
16		{if isset($row.sip_port)}reg.{$row.line_number}.outboundProxy.port="{$row.sip_port}"{else}reg.{$row.line_number}.outboundProxy.port="5060"{/if}
17
18		{if $row.sip_transport == ''}reg.{$row.line_number}.outboundProxy.transport="TCPOnly"{/if}
19		{if $row.sip_transport == 'tcp'}reg.{$row.line_number}.outboundProxy.transport="TCPOnly"{/if}
20		{if $row.sip_transport == 'udp'}reg.{$row.line_number}.outboundProxy.transport="UDPOnly"{/if}
21		{if $row.sip_transport == 'tls'}reg.{$row.line_number}.outboundProxy.transport="TLS" {/if}
22		{if $row.sip_transport == 'dns srv'}reg.{$row.line_number}.outboundProxy.transport="DNSnaptr"{/if}
23
24		reg.{$row.line_number}.server.1.address="{$row.server_address}"
25		{if isset($row.sip_port)}reg.{$row.line_number}.server.1.port="{$row.sip_port}"{else}reg.{$row.line_number}.server.1.port="5060"{/if}
26
27		{if $row.sip_transport == ''}reg.{$row.line_number}.server.1.transport="TCPOnly"{/if}
28		{if $row.sip_transport == 'tcp'}reg.{$row.line_number}.server.1.transport="TCPOnly"{/if}
29		{if $row.sip_transport == 'udp'}reg.{$row.line_number}.server.1.transport="UDPOnly"{/if}
30		{if $row.sip_transport == 'tls'}reg.{$row.line_number}.server.1.transport="TLS" {/if}
31		{if $row.sip_transport == 'dns srv'}reg.{$row.line_number}.server.1.transport="DNSnaptr"{/if}
32
33		{if isset($row.register_expires)}reg.{$row.line_number}.server.1.expires="{$row.register_expires}"{else}reg.{$row.line_number}.server.1.expires="{$row.register_expires}"{/if}
34
35		{/foreach}
36	/>
37	<DEVICE_SETTINGS
38		device.set="1"
39		device.sntp.serverName="{$ntp_server_primary}"
40		device.sntp.gmtOffset="{$polycom_gmt_offset}"
41		{if isset($admin_password)}
42		device.auth.localUserPassword.set="1"
43		device.auth.localUserPassword="{$admin_password}"
44		{/if}
45		{if isset($admin_password)}
46		device.auth.localAdminPassword.set="1"
47		device.auth.localAdminPassword="{$admin_password}"
48		{/if}
49		{if isset($dns_server_primary)}device.dns.serverAddress="{$dns_server_primary}"{/if}
50		{if isset($dns_server_secondary)}device.dns.altSrvAddress="{$dns_server_secondary}"{/if}
51	/>
52	<SNTP
53		tcpIpApp.sntp.resyncPeriod="86400"
54		tcpIpApp.sntp.address="{$ntp_server_primary}"
55		tcpIpApp.sntp.gmtOffset.overrideDHCP="1"
56		tcpIpApp.sntp.gmtOffset="{$polycom_gmt_offset}"
57		{if $daylight_savings_enabled == "false"}
58		tcpIpApp.sntp.daylightSavings.enable="0"
59		{else}
60		tcpIpApp.sntp.daylightSavings.enable="1"
61		{/if}
62		tcpIpApp.sntp.daylightSavings.fixedDayEnable="0"
63		tcpIpApp.sntp.daylightSavings.start.month="{$daylight_savings_start_month}"
64		tcpIpApp.sntp.daylightSavings.start.date="{$daylight_savings_start_day}"
65		tcpIpApp.sntp.daylightSavings.start.time="{$daylight_savings_start_time}"
66		tcpIpApp.sntp.daylightSavings.start.dayOfWeek="1"
67		tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth="0"
68		tcpIpApp.sntp.daylightSavings.stop.month="{$daylight_savings_stop_month}"
69		tcpIpApp.sntp.daylightSavings.stop.date="{$daylight_savings_stop_day}"
70		tcpIpApp.sntp.daylightSavings.stop.time="{$daylight_savings_stop_time}"
71		tcpIpApp.sntp.daylightSavings.stop.dayOfWeek="1"
72		tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth="0"
73	/>
74	<DIALPLAN
75		{if isset($polycom_digitmap)}dialplan.digitmap="{$polycom_digitmap}"{else}dialplan.digitmap=""{/if}
76	/>
77	<DEVICE_KEYS
78		attendant.uri=""
79		{if isset($polycom_remotecallerid_automata)}
80			attendant.behaviors.display.remoteCallerID.automata="{$polycom_remotecallerid_automata}"
81		{else}
82			attendant.behaviors.display.remoteCallerID.automata="0"
83		{/if}
84		{if isset($polycom_remotecallerid_normal)}
85			attendant.behaviors.display.remoteCallerID.normal="{$polycom_remotecallerid_normal}"
86		{else}
87			attendant.behaviors.display.remoteCallerID.normal="0"
88		{/if}
89		{if isset($polycom_spontaneouscallappearances_automata)}
90			attendant.behaviors.display.spontaneousCallAppearances.automata="{$polycom_spontaneouscallappearances_automata}"
91		{else}
92			attendant.behaviors.display.spontaneousCallAppearances.automata="0"
93		{/if}
94		{if isset($polycom_spontaneouscallappearances_normal)}
95			attendant.behaviors.display.spontaneousCallAppearances.normal="{$polycom_spontaneouscallappearances_normal}"
96		{else}
97			attendant.behaviors.display.spontaneousCallAppearances.normal="0"
98		{/if}
99		feature.enhancedFeatureKeys.enabled="1"
100		{foreach $keys["line"] as $row}
101			{if $row.device_key_type == "automata" || $row.device_key_type == "normal"}
102				attendant.resourceList.{$row.device_key_id}.address="{$row.device_key_value}"
103				attendant.resourceList.{$row.device_key_id}.callAddress=""
104				attendant.resourceList.{$row.device_key_id}.label="{$row.device_key_label}"
105				attendant.resourceList.{$row.device_key_id}.proceedingIsRecipient="0"
106				attendant.resourceList.{$row.device_key_id}.type="{$row.device_key_type}"
107			{else}
108				{if $row.device_key_type != "line"}
109					{if $row.device_key_type == "URL"}
110						key.{$row.device_key_id}.function.prim="{$row.device_key_value}"
111					{else}
112						key.{$row.device_key_id}.function.prim="{$row.device_key_type}"
113						key.{$row.device_key_id}.subPoint.prim="{$row.device_key_value}"
114					{/if}
115				{/if}
116			{/if}
117		{/foreach}
118	/>
119	<MULTICAST_PAGING
120		ptt.pageMode.enable="1"
121		ptt.pageMode.displayName="INTERCOM"
122	/>
123	<REMOTE_PACKET_CAPTURE
124		diags.pcap.enabled="0"
125		diags.pcap.remote.enabled="0"
126	/>
127	<GENERAL
128		nat.keepalive.interval="30"
129		voIpProt.SIP.specialEvent.checkSync.alwaysReboot="1"
130		voIpProt.SIP.requestValidation.1.request="INVITE"
131		voIpProt.SIP.requestValidation.1.method="source"
132		feature.broadsoftUcOne.enabled="0"
133		voice.volume.persist.handset="1"
134		voice.volume.persist.handsfree="1"
135		voice.volume.persist.headset="1"
136		feature.nonVolatileRingerVolume.enabled="1"
137		{if $headset_mode != ''}up.handsfreeMode="1"
138		up.headsetMode="{$headset_mode}"{/if}
139		{if $analog_headset_option != ''}up.analogHeadsetOption="{$analog_headset_option}"{/if}
140		{if isset($polycom_onetouchvoicemail)}
141			up.oneTouchVoiceMail="{$polycom_onetouchvoicemail}"
142			{else}
143			up.oneTouchVoiceMail="0"
144		{/if}
145		exchange.server.url="0.0.0.0"
146	/>
147	<SOFT_KEYS
148		softkey.1.label="VMTransfer"
149		softkey.1.action="^*99$P1N4$$Trefer$"
150		softkey.1.enable="1"
151		softkey.1.use.active="1"
152		efk.efkprompt.1.label="Voice Mail ID to transfer to:"
153		efk.efkprompt.1.status="1"
154		efk.efkprompt.1.type="numeric"
155	/>
156</PHONE>
157