Provision Polycom: Difference between revisions
From KlavoWiki
Jump to navigationJump to search
Line 458: | Line 458: | ||
from prov.polling.period="86400" | from prov.polling.period="86400" | ||
to prov.polling.period="21600" | to prov.polling.period="21600" | ||
</pre> | |||
= 202.cfg = | |||
=== voicemail === | |||
To enable the messages mutton on the phone to call the mailbox. | |||
<pre> | |||
from msg.mwi.1.subscribe="" | |||
msg.mwi.1.callBackMode="registration" | |||
msg.mwi.1.callBack="" | |||
to msg.mwi.1.subscribe="" | |||
msg.mwi.1.callBackMode="contact" | |||
msg.mwi.1.callBack="9999" | |||
</pre> | </pre> | ||
Revision as of 13:16, 13 March 2011
To provision a Polycom Phone.
tftp setup
First create a user account making sure you use the same name as the password.
useradd PlcmSpIp passwd PlcmSpIp
- Download the latest SIP and BootROM files form the Polycom WEB site and extract the ZIP files to the /home/PlcmSpIp folder.
- Setup DHCP with option 66 to point the IP or FQDN of the server you have created the PlcmSpIp user on.
- Now you need to install a TFTP server. Review the page Tftp on how to do so.
- Now the important part is to edit the cfg files in /home/PlcmSpIp
macaddress.cfg
<?xml version="1.0" standalone="yes"?> <!-- Default Master SIP Configuration File--> <!-- For information on configuring Polycom VoIP phones please refer to the --> <!-- Configuration File Management white paper available from: --> <!-- http://www.polycom.com/common/documents/whitepapers/configuration_file_management_on_soundpoint_ip_phones.pdf --> <!-- $RCSfile: 000000000000.cfg,v $ $Revision: 1.21.20.3 $ --> <APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="201.cfg, sip.cfg" MISC_FILES="" LOG_FILE_DIRECTORY="" OVERRIDES_DIRECTORY="" CONTACTS_DIRECTORY="" LICENSE_DIRECTORY=""> <APPLICATION_VVX1500 CONFIG_FILES_VVX1500="phone1.cfg, sip.cfg"/> <!-- Change sip_vvx1500.cfg to sip_vvx1500_H323.cfg to enable H.323 if so licensed --> <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_SPIP301 APP_FILE_PATH_SPIP301="sip_313.ld" CONFIG_FILES_SPIP301="phone1_313.cfg, sip_313.cfg"/> <APPLICATION_SPIP501 APP_FILE_PATH_SPIP501="sip_313.ld" CONFIG_FILES_SPIP501="phone1_313.cfg, sip_313.cfg"/> <APPLICATION_SPIP600 APP_FILE_PATH_SPIP600="sip_313.ld" CONFIG_FILES_SPIP600="phone1_313.cfg, sip_313.cfg"/> <APPLICATION_SPIP601 APP_FILE_PATH_SPIP601="sip_313.ld" CONFIG_FILES_SPIP601="phone1_313.cfg, sip_313.cfg"/> <APPLICATION_SSIP4000 APP_FILE_PATH_SSIP4000="sip_313.ld" CONFIG_FILES_SSIP4000="phone1_313.cfg, sip_313.cfg"/> </APPLICATION>
extension.cfg
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <!-- Example Per-phone Configuration File --> <!-- $RCSfile: phone1.cfg,v $ $Revision: 1.121.4.5 $ --> <phone> <reg reg.1.auth.userId="201" reg.1.auth.password="" reg.1.server.1.address="192.168.1.1" reg.1.server.1.port="5060" reg.1.address="201" reg.1.label="201" reg.1.ringType="2" reg.1.lineKeys="4" reg.1.displayName="" reg.1.type="private" reg.1.lcs="" reg.1.csta="" reg.1.thirdPartyName="" reg.1.auth.optimizedInFailover="" reg.1.musicOnHold.uri="" reg.1.server.1.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.server.1.failOver.reRegisterOn="" reg.1.server.2.address="" reg.1.server.1.failOver.failBack.mode="" reg.1.server.1.failOver.failBack.timeout="" reg.1.server.2.port="" reg.1.server.2.transport="DNSnaptr" reg.1.server.2.expires="" reg.1.server.2.expires.overlap="" reg.1.server.2.register="" reg.1.server.2.retryTimeOut="" reg.1.server.2.retryMaxCount="" reg.1.server.2.expires.lineSeize="" reg.1.server.2.lcs="" reg.1.server.2.failOver.reRegisterOn="" reg.1.server.2.failOver.failRegistrationOn="" reg.1.outboundProxy.address="" reg.1.server.2.failOver.failBack.mode="" reg.1.server.2.failOver.failBack.timeout="" reg.1.outboundProxy.port="" reg.1.outboundProxy.transport="" reg.1.acd-login-logout="0" reg.1.outboundProxy.failOver.reRegisterOn="" reg.1.acd-agent-available="0" reg.1.outboundProxy.failOver.failRegistrationOn="" reg.1.outboundProxy.failOver.failBack.mode="" reg.1.outboundProxy.failOver.failBack.timeout="" reg.1.proxyRequire="" reg.1.callsPerLineKey="" reg.1.bargeInEnabled="" reg.1.serverFeatureControl.dnd="" reg.1.serverFeatureControl.cf="" reg.1.strictLineSeize="" reg.1.useCompleteUriForRetrieve="1" reg.1.tcpFastFailover="" reg.1.protocol.SIP="" reg.1.protocol.H323="" reg.1.server.H323.1.address="" reg.1.server.H323.1.port="" reg.1.server.H323.1.expires="" /> <call> <donotdisturb call.donotdisturb.perReg="0" /> <autoOffHook call.autoOffHook.1.enabled="0" call.autoOffHook.1.contact="" call.autoOffHook.1.protocol="" call.autoOffHook.2.enabled="0" call.autoOffHook.2.contact="" call.autoOffHook.2.protocol="" call.autoOffHook.3.enabled="0" call.autoOffHook.3.contact="" call.autoOffHook.3.protocol="" call.autoOffHook.4.enabled="0" call.autoOffHook.4.contact="" call.autoOffHook.4.protocol="" call.autoOffHook.5.enabled="0" call.autoOffHook.5.contact="" call.autoOffHook.5.protocol="" call.autoOffHook.6.enabled="0" call.autoOffHook.6.contact="" call.autoOffHook.6.protocol="" /> <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="55" divert.noanswer.1.contact="" divert.noanswer.2.enabled="1" divert.noanswer.2.timeout="55" divert.noanswer.2.contact="" divert.noanswer.3.enabled="1" divert.noanswer.3.timeout="55" divert.noanswer.3.contact="" divert.noanswer.4.enabled="1" divert.noanswer.4.timeout="55" divert.noanswer.4.contact="" divert.noanswer.5.enabled="1" divert.noanswer.5.timeout="55" divert.noanswer.5.contact="" divert.noanswer.6.enabled="1" divert.noanswer.6.timeout="55" 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.1.applyToTelUriDial="1" 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.2.applyToTelUriDial="1" 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.3.applyToTelUriDial="1" 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.4.applyToTelUriDial="1" 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.5.applyToTelUriDial="1" dialplan.6.impossibleMatchHandling="0" dialplan.6.removeEndOfDial="1" dialplan.6.applyToUserSend="1" dialplan.6.applyToUserDial="1" dialplan.6.applyToCallListDial="0" dialplan.6.applyToDirectoryDial="0" dialplan.6.applyToTelUriDial="1"> <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="1"> <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="" attendant.ringType="1" attendant.behaviors.display.spontaneousCallAppearances.normal="" attendant.behaviors.display.spontaneousCallAppearances.automata="" attendant.behaviors.display.remoteCallerID.normal="" attendant.behaviors.display.remoteCallerID.automata="" attendant.resourceList.1.address="" attendant.resourceList.1.label="" attendant.resourceList.1.type="" attendant.resourceList.2.address="" attendant.resourceList.2.label="" attendant.resourceList.2.type="" attendant.resourceList.3.address="" attendant.resourceList.3.label="" attendant.resourceList.3.type="" attendant.resourceList.4.address="" attendant.resourceList.4.label="" attendant.resourceList.4.type="" attendant.resourceList.5.address="" attendant.resourceList.5.label="" attendant.resourceList.5.type="" attendant.resourceList.6.address="" attendant.resourceList.6.label="" attendant.resourceList.6.type="" attendant.resourceList.7.address="" attendant.resourceList.7.label="" attendant.resourceList.7.type="" attendant.resourceList.8.address="" attendant.resourceList.8.label="" attendant.resourceList.8.type="" attendant.resourceList.9.address="" attendant.resourceList.9.label="" attendant.resourceList.9.type="" attendant.resourceList.10.address="" attendant.resourceList.10.label="" attendant.resourceList.10.type="" attendant.resourceList.11.address="" attendant.resourceList.11.label="" attendant.resourceList.11.type="" attendant.resourceList.12.address="" attendant.resourceList.12.label="" attendant.resourceList.12.type="" attendant.resourceList.13.address="" attendant.resourceList.13.label="" attendant.resourceList.13.type="" attendant.resourceList.14.address="" attendant.resourceList.14.label="" attendant.resourceList.14.type="" attendant.resourceList.15.address="" attendant.resourceList.15.label="" attendant.resourceList.15.type="" attendant.resourceList.16.address="" attendant.resourceList.16.label="" attendant.resourceList.16.type="" attendant.resourceList.17.address="" attendant.resourceList.17.label="" attendant.resourceList.17.type="" attendant.resourceList.18.address="" attendant.resourceList.18.label="" attendant.resourceList.18.type="" attendant.resourceList.19.address="" attendant.resourceList.19.label="" attendant.resourceList.19.type="" attendant.resourceList.20.address="" attendant.resourceList.20.label="" attendant.resourceList.20.type="" attendant.resourceList.21.address="" attendant.resourceList.21.label="" attendant.resourceList.21.type="" attendant.resourceList.22.address="" attendant.resourceList.22.label="" attendant.resourceList.22.type="" attendant.resourceList.23.address="" attendant.resourceList.23.label="" attendant.resourceList.23.type="" attendant.resourceList.24.address="" attendant.resourceList.24.label="" attendant.resourceList.24.type="" attendant.resourceList.25.address="" attendant.resourceList.25.label="" attendant.resourceList.25.type="" attendant.resourceList.26.address="" attendant.resourceList.26.label="" attendant.resourceList.26.type="" attendant.resourceList.27.address="" attendant.resourceList.27.label="" attendant.resourceList.27.type="" attendant.resourceList.28.address="" attendant.resourceList.28.label="" attendant.resourceList.28.type="" attendant.resourceList.29.address="" attendant.resourceList.29.label="" attendant.resourceList.29.type="" attendant.resourceList.30.address="" attendant.resourceList.30.label="" attendant.resourceList.30.type="" attendant.resourceList.31.address="" attendant.resourceList.31.label="" attendant.resourceList.31.type="" attendant.resourceList.32.address="" attendant.resourceList.32.label="" attendant.resourceList.32.type="" attendant.resourceList.33.address="" attendant.resourceList.33.label="" attendant.resourceList.33.type="" attendant.resourceList.34.address="" attendant.resourceList.34.label="" attendant.resourceList.34.type="" attendant.resourceList.35.address="" attendant.resourceList.35.label="" attendant.resourceList.35.type="" attendant.resourceList.36.address="" attendant.resourceList.36.label="" attendant.resourceList.36.type="" attendant.resourceList.37.address="" attendant.resourceList.37.label="" attendant.resourceList.37.type="" attendant.resourceList.38.address="" attendant.resourceList.38.label="" attendant.resourceList.38.type="" attendant.resourceList.39.address="" attendant.resourceList.39.label="" attendant.resourceList.39.type="" attendant.resourceList.40.address="" attendant.resourceList.40.label="" attendant.resourceList.40.type="" attendant.resourceList.41.address="" attendant.resourceList.41.label="" attendant.resourceList.41.type="" attendant.resourceList.42.address="" attendant.resourceList.42.label="" attendant.resourceList.42.type="" attendant.resourceList.43.address="" attendant.resourceList.43.label="" attendant.resourceList.43.type="" attendant.resourceList.44.address="" attendant.resourceList.44.label="" attendant.resourceList.44.type="" attendant.resourceList.45.address="" attendant.resourceList.45.label="" attendant.resourceList.45.type="" attendant.resourceList.46.address="" attendant.resourceList.46.label="" attendant.resourceList.46.type="" attendant.resourceList.47.address="" attendant.resourceList.47.label="" attendant.resourceList.47.type="" /> <roaming_buddies roaming_buddies.reg="" /> <roaming_privacy roaming_privacy.reg="" /> <user_preferences up.analogHeadsetOption="0" up.offHookAction.none="" up.pictureFrame.folder="" up.pictureFrame.timePerImage="" up.screenSaver.enabled="0" up.screenSaver.waitTime="" /> <acd acd.reg="" acd.stateAtSignIn="" /> </phone>
sip.cfg
The following changes to sip.cfg will increase the users’ experience.
url dialing
This is so that the CID is the actual CID set in Asterisk and not exten@IP_address.
from feature.9.name="url-dialing" feature.9.enabled="1" to feature.9.name="url-dialing" feature.9.enabled="0"
time zone
Set the required time zone. The field tcpIpApp.sntp.resyncPeriod is the amount of secdons that the telephone should resync its time from the NTP server.
from tcpIpApp.sntp.resyncPeriod="86400" tcpIpApp.sntp.address="" to tcpIpApp.sntp.resyncPeriod="21600" tcpIpApp.sntp.address="ntp.bri.connect.com.au" from tcpIpApp.sntp.gmtOffset="" to tcpIpApp.sntp.gmtOffset="36000" <-- in secdons i.e. GMT +10 = 36000
If you are in an area that has day light savings then you also need to set these appropriate settings
tcpIpApp.sntp.address.overrideDHCP="0" tcpIpApp.sntp.gmtOffset="36000" tcpIpApp.sntp.gmtOffset.overrideDHCP="0" tcpIpApp.sntp.daylightSavings.enable="0" tcpIpApp.sntp.daylightSavings.fixedDayEnable="0" tcpIpApp.sntp.daylightSavings.start.month="3" tcpIpApp.sntp.daylightSavings.start.date="8" tcpIpApp.sntp.daylightSavings.start.time="2" tcpIpApp.sntp.daylightSavings.start.dayOfWeek="1" tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth="0" tcpIpApp.sntp.daylightSavings.stop.month="11" tcpIpApp.sntp.daylightSavings.stop.date="1" tcpIpApp.sntp.daylightSavings.stop.time="2" tcpIpApp.sntp.daylightSavings.stop.dayOfWeek="1" tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth="0"
language
To set the language of the handset.
from lcl.ml.lang="" to lcl.ml.lang="English_United_Kingdom"
miscellaneous settings
from feature.1.name="presence" feature.1.enabled="0" to feature.1.name="presence" feature.1.enabled="1" from up.welcomeSoundOnWarmBootEnabled="0" to up.welcomeSoundOnWarmBootEnabled="1" from up.oneTouchVoiceMail="0" to up.oneTouchVoiceMail="1" from prov.polling.enabled="0" to prov.polling.enabled="1" from prov.polling.period="86400" to prov.polling.period="21600"
202.cfg
voicemail
To enable the messages mutton on the phone to call the mailbox.
from msg.mwi.1.subscribe="" msg.mwi.1.callBackMode="registration" msg.mwi.1.callBack="" to msg.mwi.1.subscribe="" msg.mwi.1.callBackMode="contact" msg.mwi.1.callBack="9999"
reference
A PDF from Polycom on some and more of these features in PDF format is avaiable. Please refer to Technical Bulletin 43565.