Provision Polycom

From KlavoWiki
Jump to navigationJump to search

To provision a Polycom Phone.

ftp setup

First create a user account making sure you use the same name as the password. For security reason make sure that the FTP server is not available on the internet as the known username and password can be used to compromise your system.

useradd -m PlcmSpIp
passwd PlcmSpIp
  1. Download the latest SIP and BootROM files form the Polycom WEB site and extract the ZIP files to the /home/PlcmSpIp folder.
  1. Setup DHCP with option 66 to point the IP or FQDN of the server you have created the PlcmSpIp user on.
  2. Now you need to install a FTP server. Review the page Ftp on how to do so.
  3. Now the important part is to edit the cfg files in /home/PlcmSpIp

For UC Software 3.3.0 and Above

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 -->
<APPLICATION APP_FILE_PATH="sip.ld" DECT_FILE_PATH="3111-17823-001.dect.ld" CONFIG_FILES="" SERVICE_FILES="" MISC_FILES="" LOG_FILE_DIRECTORY="" OVERRIDES_DIRECTORY="" CONTACTS_DIRECTORY="" LICENSE_DIRECTORY="" USER_PROFILES_DIRECTORY="" CALL_LISTS_DIRECTORY="" COREFILE_DIRECTORY="">
  <APPLICATION_SPIP300 APP_FILE_PATH_SPIP300="sip_213.ld" CONFIG_FILES_SPIP300="phone1_213.cfg, sip_213.cfg" />
  <APPLICATION_SPIP500 APP_FILE_PATH_SPIP500="sip_213.ld" CONFIG_FILES_SPIP500="phone1_213.cfg, sip_213.cfg" />
  <APPLICATION_SPIP301 APP_FILE_PATH_SPIP301="sip_318.ld" CONFIG_FILES_SPIP301="phone1_318.cfg, sip_318.cfg" />
  <APPLICATION_SPIP320 APP_FILE_PATH_SPIP320="sip_335.ld" CONFIG_FILES_SPIP320="" />
  <APPLICATION_SPIP330 APP_FILE_PATH_SPIP330="sip_335.ld" CONFIG_FILES_SPIP330="" />
  <APPLICATION_SPIP430 APP_FILE_PATH_SPIP430="sip_327.ld" CONFIG_FILES_SPIP430="phone1_327.cfg, sip_327.cfg" />
  <APPLICATION_SPIP501 APP_FILE_PATH_SPIP501="sip_318.ld" CONFIG_FILES_SPIP501="phone1_318.cfg, sip_318.cfg" />
  <APPLICATION_SPIP600 APP_FILE_PATH_SPIP600="sip_318.ld" CONFIG_FILES_SPIP600="phone1_318.cfg, sip_318.cfg" />
  <APPLICATION_SPIP601 APP_FILE_PATH_SPIP601="sip_318.ld" CONFIG_FILES_SPIP601="phone1_318.cfg, sip_318.cfg" />
  <APPLICATION_SPIP670 APP_FILE_PATH_SPIP670="sip_404.ld" CONFIG_FILES_SPIP670="" />
  <APPLICATION_SSIP4000 APP_FILE_PATH_SSIP4000="sip_318.ld" CONFIG_FILES_SSIP4000="phone1_318.cfg, sip_318.cfg" />
  <APPLICATION_SSIP6000 APP_FILE_PATH_SSIP6000="sip_404.ld" CONFIG_FILES_SSIP6000="" />
  <APPLICATION_SSIP7000 APP_FILE_PATH_SSIP7000="sip_404.ld" CONFIG_FILES_SSIP7000="" />
</APPLICATION>

extension.cfg

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Generated reg-basic.cfg Configuration File -->
<polycomConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="polycomConfig.xsd">

  <call call.callsPerLineKey="1">  </call>

  <reg
        reg.1.label="311"
        reg.1.address="311"
        reg.1.auth.userId="311"
        reg.1.auth.password="mypasswordis"
        reg.1.server.1.address="192.168.0.1"
        reg.1.server.1.port="5060"
        reg.1.lineKeys="4"
        reg.1.callsPerLineKey="1"
        reg.1.ringType="3">
  </reg>

</polycomConfig>

sip.cfg

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Generated features.cfg Configuration File -->
<!-- David Klaverstyn for ABC Co -->
<polycomConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="polycomConfig.xsd">

<feature>
  <feature.urlDialing feature.urlDialing.enabled="0"> </feature.urlDialing>
  <feature.presence feature.presence.enabled="1"></feature.presence>
</feature>

<saf
   saf.1="SoundPointIPWelcome.wav"
   saf.2="Warble.wav"
   saf.3="LoudRing.wav">
</saf>

<msg
  msg.mwi.1.subscribe=""
  msg.mwi.1.callBackMode="contact"
  msg.mwi.1.callBack="9999">
</msg>


<up
    up.welcomeSoundOnWarmBootEnabled="1"
    up.welcomeSoundEnabled="1"
    up.oneTouchVoiceMail="1">
</up>

<prov>
    <prov.polling
         prov.polling.enabled="1"
         prov.polling.mode="abs"
         prov.polling.period="21600"
         prov.polling.time="03:00">
    </prov.polling>
</prov>

<voIpProt voIpProt.SIP.specialEvent.checkSync.alwaysReboot="1" />

  <dialplan
       dialplan.digitmap="000|[345]xxxxxxx|0[23478]xxxxxxxx|1[38]00xxxxxx|13[1-9]xxx|2xx|82xx|xx.T|*xx.T"
       dialplan.impossibleMatchHandling="0"
       dialplan.removeEndOfDial="1">
    <dialplan.digitmap dialplan.digitmap.timeOut="3|3"></dialplan.digitmap>
  </dialplan>

<tcpIpApp.sntp
     tcpIpApp.sntp.address="ntp.bri.connect.com.au"
     tcpIpApp.sntp.gmtOffset="36000"
     tcpIpApp.sntp.resyncPeriod="86400">

      <tcpIpApp.sntp.daylightSavings
                  tcpIpApp.sntp.daylightSavings.enable="0">
      </tcpIpApp.sntp.daylightSavings>

</tcpIpApp.sntp>


    <lcl.ml lcl.ml.lang="English_United_Kingdom">
        <lcl.ml.lang.clock
             lcl.ml.lang.clock.5.24HourClock="0"
             lcl.ml.lang.clock.5.dateTop="1"
             lcl.ml.lang.clock.5.format="D,dM"
             lcl.ml.lang.clock.5.longFormat="1">
        </lcl.ml.lang.clock>
    </lcl.ml>

<device device.set="1">
    <device.auth device.auth.localAdminPassword="789" device.auth.localAdminPassword.set="1" />
</device>

</polycomConfig>

IP address paramaters

<change device.set="1"
 device.dhcp.enabled.set="0"
 device.dhcp.enabled="1"
 device.net.ipAddress.set="1"
 device.net.ipAddress="192.168.178.2"
 device.net.subnetMask.set="1"
 device.net.subnetMask="255.255.255.0"
 device.net.IPgateway.set="1"
 device.net.IPgateway="192.168.178.1"
 device.dns.serverAddress.set="1"
 device.dns.serverAddress="8.8.8.8" />

Provisioning server

<change device.set="1"
 device.dhcp.bootSrvUseOpt.set="1"
 device.dhcp.bootSrvUseOpt="Static"
 device.prov.user.set="1"
 device.prov.user="test"
 device.prov.password.set="1"
 device.prov.password="test"
 device.prov.serverType.set="1"
 device.prov.serverType="FTP"
 device.prov.serverName.set="1"
 device.prov.serverName="polycom.com" />

For SIP 3.2.5 and Below

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

NOTE: The time zone with earlier firmware versions worked correctly for the southern hemisphere but have since stopped. You now have to think like the northern hemisphere as the start month can not be after the stop month. This means the any site that has daylight savings you need to plus 1 hour to the time and reverse the start and stop months.


Set the required time zone. The field tcpIpApp.sntp.resyncPeriod is the amount of seconds 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

from  tcpIpApp.sntp.daylightSavings.enable="1"
to    tcpIpApp.sntp.daylightSavings.enable="0"

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"

Melbourne and Sydney, Australia

Note: Daylight saving for future summers in New South Wales:

  • begins at 2:00 am, Eastern Standard Time, on the first Sunday in October and
  • ends at 3:00 am, Eastern Daylight Saving Time on the first Sunday in April.
<tcpIpApp.sntp
     tcpIpApp.sntp.address="ntp.bri.connect.com.au"
     tcpIpApp.sntp.gmtOffset="39600"
     tcpIpApp.sntp.resyncPeriod="14400">

         <tcpIpApp.sntp.daylightSavings
                  tcpIpApp.sntp.daylightSavings.enable="1"
                  tcpIpApp.sntp.daylightSavings.start.date="1"
                  tcpIpApp.sntp.daylightSavings.start.month="10"
                  tcpIpApp.sntp.daylightSavings.start.time="3"
                  tcpIpApp.sntp.daylightSavings.stop.month="4">
         </tcpIpApp.sntp.daylightSavings>


</tcpIpApp.sntp>

New Zealand

Daylight Saving commences:

  • on the last Sunday in September, when 2.00am becomes 3.00am, and
  • ends on the first Sunday in April the following year, when 3.00am becomes 2.00am.
<tcpIpApp.sntp
     tcpIpApp.sntp.address="ntp.bri.connect.com.au"
     tcpIpApp.sntp.gmtOffset="46800"
     tcpIpApp.sntp.resyncPeriod="14400">

      <tcpIpApp.sntp.daylightSavings
            tcpIpApp.sntp.daylightSavings.enable="1"
            tcpIpApp.sntp.daylightSavings.fixedDayEnable="0">
      </tcpIpApp.sntp.daylightSavings>

      <tcpIpApp.sntp.daylightSavings.start
             tcpIpApp.sntp.daylightSavings.start.date="1"
             tcpIpApp.sntp.daylightSavings.start.dayOfWeek="1"
             tcpIpApp.sntp.daylightSavings.start.month="3"
             tcpIpApp.sntp.daylightSavings.start.time="2">
      </tcpIpApp.sntp.daylightSavings.start>


      <tcpIpApp.sntp.daylightSavings.stop
              tcpIpApp.sntp.daylightSavings.stop.date="1"
              tcpIpApp.sntp.daylightSavings.stop.dayOfWeek="1"
              tcpIpApp.sntp.daylightSavings.stop.month="9"
              tcpIpApp.sntp.daylightSavings.stop.time="3">
      </tcpIpApp.sntp.daylightSavings.stop>

</tcpIpApp.sntp>

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"

To enforce the use of a global dialplan digitmap configuration from sip.cfg and not allow individual dialplan parameters in xxxx.cfg

from dialplan.impossibleMatchHandling="0"
to   dialplan.impossibleMatchHandling="2"

from dialplan.removeEndOfDial="1"
to   dialplan.removeEndOfDial="0"

from dialplan.applyToUserSend="1"
to   dialplan.applyToUserSend="0"

from dialplan.applyToUserDial="1"
to   dialplan.applyToUserDial="0"

202.cfg

voicemail

To enable the messages button 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. Using Polycom® SoundPoint® IP and Polycom® SoundStation® IP Phones with Asterisk.

Understanding the Local contact Directory

Understanding the Local Contact Directory, shown next, describes each of the parameter elements and permitted values that you can use in the local contact directory.

Element Definition Permitted Values
========= ==================
fn First Name UTF-8 encoded string of up to 40 bytes1. The contact’s first name.
ln Last Name UTF-8 encoded string of up to 40 bytes1. The contact’s last name.
ct Contact UTF-8 encoded string containing digits (the user part of a SIP URL) or a string that constitutes a valid SIP URL

Used by the phone to address a remote party in the same way that a string of digits or a SIP URL are dialed manually by the user. This element is also used to associate incoming callers with a particular directory entry. The maximum field length is 128 characters. Note: This field cannot be null or duplicated.

sd Speed Dial Index Null, 1 to 9999. Associates a particular entry with a speed dial key for one-touch dialing or dialing from the speed dial menu. Note: On SoundPoint IP 321, 331, 335 and SoundStation IP 7000 phones, the maximum speed-dial index is 99.
lb Label UTF-8 encoded string of up to 40 bytes1. The label for the contact. Note: The label of a contact directory item is by default the label attribute of the item. If the label attribute does not exist or is Null, then the first and last names will form the label. A space is added between first and last names.
pt Protocol SIP, H323, or Unspecified. The protocol to use when placing a call to this contact.
rt Ring Tone Null, 1 to 21. When incoming calls match a directory entry, this field specifies the ringtone that will be used.
dc Divert Contact UTF-8 encoded string containing digits (the user part of a SIP URL) or a string that constitutes a valid SIP URL The address to forward calls to if the Auto Divert feature is enabled.
ad Auto Divert 0 or 1. If set to 1, callers that match the directory entry are diverted to the address specified for the divert contact element. Note: If auto-divert is enabled, it has precedence over auto-reject.
ar Auto Reject 0 or 1. If set to 1, callers that match the directory entry specified for the auto-reject element are rejected. Note: If auto divert is also enabled, it has precedence over auto reject.
bw Buddy Watching 0 or 1. If set to 1, this contact is added to the list of watched phones.
bb Buddy Block 0 or 1. If set to 1, this contact is blocked from watching this phone. In some cases, this will be less than 40 characters due to UTF-8’s variable bit length encoding.

Language

To configure your phone for a specific language set the below field to be one of the below values.

<lcl.ml lcl.ml.lang="English_United_Kingdom">
Chinese_China
Chinese_Taiwan
Danish_Denmark
Dutch_Netherlands
English_Canada
English_United_Kingdom
English_United_States
French_France
German_Germany
Italian_Italy
Japanese_Japan
Korean_Korea
Norwegian_Norway
Polish_Poland
Portuguese_Portugal
Russan_Russia
Slovenian_Slovenia
Spanish_Spain
Swedish_Sweden

Firmware File to Model Reference

Model Name		Firmware Filename
-------------------------------------------------
SoundPoint IP 321	2345-12360-001.sip.ld
SoundPoint IP 331	2345-12365-001.sip.ld
SoundPoint IP 335	2345-12375-001.sip.ld
SoundPoint IP 450	2345-12450-001.sip.ld
SoundPoint IP 501	2345-11500-040.sip_318.ld
SoundPoint IP 550	2345-12500-001.sip.ld
SoundPoint IP 560	2345-12560-001.sip.ld
SoundPoint IP 650	2345-12600-001.sip.ld

SoundStation Duo	3111-19000-001.sip.ld
SoundStation IP 5000	3111-30900-001.sip.ld
SoundStation IP 6000	3111-15600-001.sip.ld
SoundStation IP 7000	3111-40000-001.sip.ld

SpectraLink 8440	3111-36150-001.sip.ld
SpectraLink 8450	3111-36152-001.sip.ld
SpectraLink 8452	3111-36154-001.sip.ld

VVX 300			3111-46135-002.sip.ld
VVX 310			3111-46161-001.sip.ld
VVX 400			3111-46157-002.sip.ld
VVX 410			3111-46162-001.sip.ld
VVX 500			3111-44500-001.sip.ld
VVX 600			3111-44600-001.sip.ld
VVX 1500		2345-17960-001.sip.ld