Hi
For anyone else who may have these phones. We found that the provisioning system built in trashes the configuration files and therefore the phones on restarting. The Polycoms are looking for the files in a different format.
Any other experiences comments greatly appreciated.
So far this is working for us.
- yum --enablerepo=smecontribs install smeserver-tftp-server
- Download the firmware files from Polycom for your phone
- cd /tftpboot
- Expand the firmware in the /tftpboot directory
- pico sip.cfg "enter your local settings and save as a XXX.cfg
- mkdir -p overrides contacts logs
- touch logs/macaddress-boot.log "macaddress = for each phone to be connected"
- touch logs/macaddress-app.log
- touch logs/macaddress-appflash.log
- touch contacts/macaddress-directory.xml
- pico 00000000.cfg "just change settings for system not a particular ext"
- note: Change the name of the sip.cfg file to XXX.cfg to avoid an over write as this file is way different to the Sail generated file
- cp 00000000.cfg overrides/macaddress-phone.cfg "for each ext"
- cp phone1.cfg phoneExt.cfg "for each ext"
- pico phoneExt.cfg "Edit for each ext"
- Start the phone and set the ServerMenu to TrivalFTP
- Set the ServerAddr to xxx.xxx.xxx.xxx
- Exit from Menu and Save and Reboot Phone
The result of tail -f /var/log/messages should look like this as the phone restarts
Aug 2 17:09:31 server dhcpd: DHCPDISCOVER from 00:04:f2:17:94:05 via eth0
Aug 2 17:09:31 server dhcpd: DHCPOFFER on 192.168.0.x to 00:04:f2:17:94:05 via eth0
Aug 2 17:09:36 server dhcpd: DHCPREQUEST for 192.168.0.x (192.168.0.1) from 00:04:f2:17:94:05 via eth0
Aug 2 17:09:36 server dhcpd: DHCPACK on 192.168.0.x to 00:04:f2:17:94:05 via eth0
Aug 2 17:09:38 server in.tftpd[7920]: RRQ from 192.168.0.x filename 2345-12200-002.bootrom.ld
Aug 2 17:09:38 server in.tftpd[7921]: RRQ from 192.168.0.x filename 0004f2179405.cfg
Aug 2 17:09:38 server in.tftpd[7922]: RRQ from 192.168.0.x filename 2345-12200-002.sip.ld
Aug 2 17:09:38 server in.tftpd[7923]: RRQ from 192.168.0.x filename phone5001.cfg
Aug 2 17:09:38 server in.tftpd[7924]: RRQ from 192.168.0.x filename XXX.cfg
Aug 2 17:09:40 server in.tftpd[7925]: RRQ from 192.168.0.x filename overrides/0004f2179405-phone.cfg
Aug 2 17:09:40 server in.tftpd[7926]: RRQ from 192.168.0.x filename contacts/0004f2179405-directory.xml
Aug 2 17:09:44 server in.tftpd[7931]: RRQ from 192.168.0.x filename SoundPointIPWelcome.wav
Aug 2 17:09:44 server in.tftpd[7939]: WRQ from 192.168.0.x filename log/0004f2179405-app.log
The Provisioning Window for each Extension
["$mac.cfg"
<?xml version="1.0" standalone="yes"?>
<!-- Default Master SIP Configuration File-->
<!-- Edit and rename this file to <Ethernet-address>.cfg for each phone.-->
<!-- $RCSfile: 000000000000.cfg,v $ $Revision: 1.14.22.4 $ -->
<APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="phone5000.cfg, XXX.cfg" MISC_FILES="" LOG_FILE_DIRECTORY="/log" OVERRIDES_DIRECTORY="/overrides"
CONTACTS_DIRECTORY="/contacts" LICENSE_DIRECTORY="">
<APPLICATION_SPIP300 APP_FILE_PATH_SPIP300="sip_212.ld" CONFIG_FILES_SPIP300="phone1_212.cfg, sip_212.cfg"/>
<APPLICATION_SPIP500 APP_FILE_PATH_SPIP500="sip_212.ld" CONFIG_FILES_SPIP500="phone1_212.cfg, sip_212.cfg"/>
</APPLICATION>
]
["$mac-phone.cfg"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Example Per-phone Configuration File -->
<!-- $RCSfile: phone1.cfg,v $ $Revision: 1.83.2.2 $ -->
<phone5000>
<reg reg.1.displayName="Name" reg.1.address="5000" reg.1.label="Name" reg.1.type="private" reg.1.lcs="" reg.1.csta="" reg.1.thirdPartyName="" reg.1.auth.userId="" reg.1.auth.password="" reg.1.auth.optimizedInFailover="" reg.1.server.1.address="DomainName" reg.1.server.1.port="" reg.1.server.1.transport="DNSnaptr" reg.1.server.2.transport="DNSnaptr" reg.1.server.1.expires="" reg.1.server.1.expires.overlap="" reg.1.server.1.register="" reg.1.server.1.retryTimeOut="" reg.1.server.1.retryMaxCount="" reg.1.server.1.expires.lineSeize="" reg.1.server.1.lcs="" reg.1.outboundProxy.address="" reg.1.outboundProxy.port="" reg.1.outboundProxy.transport="" reg.1.acd-login-logout="0" reg.1.acd-agent-available="0" reg.1.proxyRequire="" reg.1.ringType="2" reg.1.lineKeys="" reg.1.callsPerLineKey="" reg.1.serverFeatureControl.dnd="" reg.1.serverFeatureControl.cf="" reg.2.displayName="" reg.2.address="" reg.2.label="" reg.2.type="private" reg.2.lcs="" reg.2.csta="" reg.2.thirdPartyName="" reg.2.auth.userId="" reg.2.auth.password="" reg.2.auth.optimizedInFailover="" reg.2.server.1.address="" reg.2.server.1.port="" reg.2.server.1.transport="DNSnaptr" reg.2.server.2.transport="DNSnaptr" reg.2.server.1.expires="" reg.2.server.1.expires.overlap="" reg.2.server.1.register="" reg.2.server.1.retryTimeOut="" reg.2.server.1.retryMaxCount="" reg.2.server.1.expires.lineSeize="" reg.2.outboundProxy.address="" reg.2.outboundProxy.port="" reg.2.outboundProxy.transport="" reg.2.acd-login-logout="0" reg.2.acd-agent-available="0" reg.2.proxyRequire="" reg.2.ringType="2" reg.2.lineKeys="" reg.2.callsPerLineKey="" reg.2.serverFeatureControl.dnd="" reg.2.serverFeatureControl.cf="" reg.3.displayName="" reg.3.address="" reg.3.label="" reg.3.type="private" reg.3.lcs="" reg.3.csta="" reg.3.thirdPartyName="" reg.3.auth.userId="" reg.3.auth.password="" reg.3.auth.optimizedInFailover="" reg.3.server.1.address="" reg.3.server.1.port="" reg.3.server.1.transport="DNSnaptr" reg.3.server.2.transport="DNSnaptr" reg.3.server.1.expires="" reg.3.server.1.expires.overlap="" reg.3.server.1.register="" reg.3.server.1.retryTimeOut="" reg.3.server.1.retryMaxCount="" reg.3.server.1.expires.lineSeize="" reg.3.outboundProxy.address="" reg.3.outboundProxy.port="" reg.3.outboundProxy.transport="" reg.3.acd-login-logout="0" reg.3.acd-agent-available="0" reg.3.proxyRequire="" reg.3.ringType="2" reg.3.lineKeys="" reg.3.callsPerLineKey="" reg.3.serverFeatureControl.dnd="" reg.3.serverFeatureControl.cf="" reg.4.displayName="" reg.4.address="" reg.4.label="" reg.4.type="private" reg.4.lcs="" reg.4.csta="" reg.4.thirdPartyName="" reg.4.auth.userId="" reg.4.auth.password="" reg.4.auth.optimizedInFailover="" reg.4.server.1.address="" reg.4.server.1.port="" reg.4.server.1.transport="DNSnaptr" reg.4.server.2.transport="DNSnaptr" reg.4.server.1.expires="" reg.4.server.1.expires.overlap="" reg.4.server.1.register="" reg.4.server.1.retryTimeOut="" reg.4.server.1.retryMaxCount="" reg.4.server.1.expires.lineSeize="" reg.4.outboundProxy.address="" reg.4.outboundProxy.port="" reg.4.outboundProxy.transport="" reg.4.acd-login-logout="0" reg.4.acd-agent-available="0" reg.4.proxyRequire="" reg.4.ringType="2" reg.4.lineKeys="" reg.4.callsPerLineKey="" reg.4.serverFeatureControl.dnd="" reg.4.serverFeatureControl.cf="" reg.5.displayName="" reg.5.address="" reg.5.label="" reg.5.type="private" reg.5.lcs="" reg.5.csta="" reg.5.thirdPartyName="" reg.5.auth.userId="" reg.5.auth.password="" reg.5.auth.optimizedInFailover="" reg.5.server.1.address="" reg.5.server.1.port="" reg.5.server.1.transport="DNSnaptr" reg.5.server.2.transport="DNSnaptr" reg.5.server.1.expires="" reg.5.server.1.expires.overlap="" reg.5.server.1.register="" reg.5.server.1.retryTimeOut="" reg.5.server.1.retryMaxCount="" reg.5.server.1.expires.lineSeize="" reg.5.outboundProxy.address="" reg.5.outboundProxy.port="" reg.5.outboundProxy.transport="" reg.5.acd-login-logout="0" reg.5.acd-agent-available="0" reg.5.proxyRequire="" reg.5.ringType="2" reg.5.lineKeys="" reg.5.callsPerLineKey="" reg.5.serverFeatureControl.dnd="" reg.5.serverFeatureControl.cf="" reg.6.displayName="" reg.6.address="" reg.6.label="" reg.6.type="private" reg.6.lcs="" reg.6.csta="" reg.6.thirdPartyName="" reg.6.auth.userId="" reg.6.auth.password="" reg.6.auth.optimizedInFailover="" reg.6.server.1.address="" reg.6.server.1.port="" reg.6.server.1.transport="DNSnaptr" reg.6.server.2.transport="DNSnaptr" reg.6.server.1.expires="" reg.6.server.1.expires.overlap="" reg.6.server.1.register="" reg.6.server.1.retryTimeOut="" reg.6.server.1.retryMaxCount="" reg.6.server.1.expires.lineSeize="" reg.6.outboundProxy.address="" reg.6.outboundProxy.port="" reg.6.outboundProxy.transport="" reg.6.acd-login-logout="0" reg.6.acd-agent-available="0" reg.6.proxyRequire="" reg.6.ringType="2" reg.6.lineKeys="" reg.6.callsPerLineKey="" reg.6.serverFeatureControl.dnd="" reg.6.serverFeatureControl.cf=""/>
<call>
<donotdisturb call.donotdisturb.perReg="0"/>
<autoOffHook call.autoOffHook.1.enabled="0" call.autoOffHook.1.contact="" call.autoOffHook.2.enabled="0" call.autoOffHook.2.contact="" call.autoOffHook.3.enabled="0" call.autoOffHook.3.contact="" call.autoOffHook.4.enabled="0" call.autoOffHook.4.contact="" call.autoOffHook.5.enabled="0" call.autoOffHook.5.contact="" call.autoOffHook.6.enabled="0" call.autoOffHook.6.contact=""/>
<missedCallTracking call.missedCallTracking.1.enabled="1" call.missedCallTracking.2.enabled="1" call.missedCallTracking.3.enabled="1" call.missedCallTracking.4.enabled="1" call.missedCallTracking.5.enabled="1" call.missedCallTracking.6.enabled="1"/>
<serverMissedCall call.serverMissedCall.1.enabled="0" call.serverMissedCall.2.enabled="0" call.serverMissedCall.3.enabled="0" call.serverMissedCall.4.enabled="0" call.serverMissedCall.5.enabled="0" call.serverMissedCall.6.enabled="0"/>
<callWaiting call.callWaiting.ring="beep"/>
</call>
<divert divert.1.contact="" divert.1.autoOnSpecificCaller="1" divert.1.sharedDisabled="1" divert.2.contact="" divert.2.autoOnSpecificCaller="1" divert.2.sharedDisabled="1" divert.3.contact="" divert.3.autoOnSpecificCaller="1" divert.3.sharedDisabled="1" divert.4.contact="" divert.4.autoOnSpecificCaller="1" divert.4.sharedDisabled="1" divert.5.contact="" divert.5.autoOnSpecificCaller="1" divert.5.sharedDisabled="1" divert.6.contact="" divert.6.autoOnSpecificCaller="1" divert.6.sharedDisabled="1">
<fwd divert.fwd.1.enabled="1" divert.fwd.2.enabled="1" divert.fwd.3.enabled="1" divert.fwd.4.enabled="1" divert.fwd.5.enabled="1" divert.fwd.6.enabled="1"/>
<busy divert.busy.1.enabled="1" divert.busy.1.contact="" divert.busy.2.enabled="1" divert.busy.2.contact="" divert.busy.3.enabled="1" divert.busy.3.contact="" divert.busy.4.enabled="1" divert.busy.4.contact="" divert.busy.5.enabled="1" divert.busy.5.contact="" divert.busy.6.enabled="1" divert.busy.6.contact=""/>
<noanswer divert.noanswer.1.enabled="1" divert.noanswer.1.timeout="60" divert.noanswer.1.contact="" divert.noanswer.2.enabled="1" divert.noanswer.2.timeout="60" divert.noanswer.2.contact="" divert.noanswer.3.enabled="1" divert.noanswer.3.timeout="60" divert.noanswer.3.contact="" divert.noanswer.4.enabled="1" divert.noanswer.4.timeout="60" divert.noanswer.4.contact="" divert.noanswer.5.enabled="1" divert.noanswer.5.timeout="60" divert.noanswer.5.contact="" divert.noanswer.6.enabled="1" divert.noanswer.6.timeout="60" divert.noanswer.6.contact=""/>
<dnd divert.dnd.1.enabled="0" divert.dnd.1.contact="" divert.dnd.2.enabled="0" divert.dnd.2.contact="" divert.dnd.3.enabled="0" divert.dnd.3.contact="" divert.dnd.4.enabled="0" divert.dnd.4.contact="" divert.dnd.5.enabled="0" divert.dnd.5.contact="" divert.dnd.6.enabled="0" divert.dnd.6.contact=""/>
</divert>
<dialplan dialplan.1.impossibleMatchHandling="0" dialplan.1.removeEndOfDial="1" dialplan.1.applyToUserSend="1" dialplan.1.applyToUserDial="1" dialplan.1.applyToCallListDial="0" dialplan.1.applyToDirectoryDial="0" dialplan.2.impossibleMatchHandling="0" dialplan.2.removeEndOfDial="1" dialplan.2.applyToUserSend="1" dialplan.2.applyToUserDial="1" dialplan.2.applyToCallListDial="0" dialplan.2.applyToDirectoryDial="0" dialplan.3.impossibleMatchHandling="0" dialplan.3.removeEndOfDial="1" dialplan.3.applyToUserSend="1" dialplan.3.applyToUserDial="1" dialplan.3.applyToCallListDial="0" dialplan.3.applyToDirectoryDial="0" dialplan.4.impossibleMatchHandling="0" dialplan.4.removeEndOfDial="1" dialplan.4.applyToUserSend="1" dialplan.4.applyToUserDial="1" dialplan.4.applyToCallListDial="0" dialplan.4.applyToDirectoryDial="0" dialplan.5.impossibleMatchHandling="0" dialplan.5.removeEndOfDial="1" dialplan.5.applyToUserSend="1" dialplan.5.applyToUserDial="1" dialplan.5.applyToCallListDial="0" dialplan.5.applyToDirectoryDial="0" dialplan.6.impossibleMatchHandling="0" dialplan.6.removeEndOfDial="1" dialplan.6.applyToUserSend="1" dialplan.6.applyToUserDial="1" dialplan.6.applyToCallListDial="0" dialplan.6.applyToDirectoryDial="0">
<digitmap dialplan.1.digitmap="" dialplan.1.digitmap.timeOut="" dialplan.2.digitmap="" dialplan.2.digitmap.timeOut="" dialplan.3.digitmap="" dialplan.3.digitmap.timeOut="" dialplan.4.digitmap="" dialplan.4.digitmap.timeOut="" dialplan.5.digitmap="" dialplan.5.digitmap.timeOut="" dialplan.6.digitmap="" dialplan.6.digitmap.timeOut=""/>
<routing>
<server dialplan.1.routing.server.1.address="" dialplan.1.routing.server.1.port="" dialplan.2.routing.server.1.address="" dialplan.2.routing.server.1.port="" dialplan.3.routing.server.1.address="" dialplan.3.routing.server.1.port="" dialplan.4.routing.server.1.address="" dialplan.4.routing.server.1.port="" dialplan.5.routing.server.1.address="" dialplan.5.routing.server.1.port="" dialplan.6.routing.server.1.address="" dialplan.6.routing.server.1.port=""/>
<emergency dialplan.1.routing.emergency.1.value="" dialplan.1.routing.emergency.1.server.1="" dialplan.2.routing.emergency.1.value="" dialplan.2.routing.emergency.1.server.1="" dialplan.3.routing.emergency.1.value="" dialplan.3.routing.emergency.1.server.1="" dialplan.4.routing.emergency.1.value="" dialplan.4.routing.emergency.1.server.1="" dialplan.5.routing.emergency.1.value="" dialplan.5.routing.emergency.1.server.1="" dialplan.6.routing.emergency.1.value="" dialplan.6.routing.emergency.1.server.1=""/>
</routing>
</dialplan>
<msg msg.bypassInstantMessage="0">
<mwi msg.mwi.1.subscribe="" msg.mwi.1.callBackMode="registration" msg.mwi.1.callBack="" msg.mwi.2.subscribe="" msg.mwi.2.callBackMode="registration" msg.mwi.2.callBack="" msg.mwi.3.subscribe="" msg.mwi.3.callBackMode="registration" msg.mwi.3.callBack="" msg.mwi.4.subscribe="" msg.mwi.4.callBackMode="registration" msg.mwi.4.callBack="" msg.mwi.5.subscribe="" msg.mwi.5.callBackMode="registration" msg.mwi.5.callBack="" msg.mwi.6.subscribe="" msg.mwi.6.callBackMode="registration" msg.mwi.6.callBack=""/>
</msg>
<nat nat.ip="" nat.signalPort="" nat.mediaPortStart="" nat.keepalive.interval=""/>
<attendant attendant.uri="" attendant.reg=""/>
<roaming_buddies roaming_buddies.reg=""/>
<roaming_privacy roaming_privacy.reg=""/>
</phone5000>
]