Provision Polycom

From KlavoWiki
Jump to navigationJump to search

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
  1. Download the latest SIP and BootROM files form the Polycom WEB site and extract the ZIP files to the /home/PlcmSpIp folder.
  2. Setup DHCP with option 66 to point the IP or FQDN of the server you have created the PlcmSpIp user on.
  3. Now you need to install a TFTP server. Review the page Tftp on how to do so.
  4. 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 -->
<!-- $RCSfile$  $Revision: 129274 $ -->
<APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="202.cfg, sip.cfg" MISC_FILES="" LOG_FILE_DIRECTORY="" OVERRIDES_DIRECTORY="" CONTACTS_DIRECTORY="" LICENSE_DIRECTORY="" USER_PROFILES_DIRECTORY="" CALL_LISTS_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_334.ld" CONFIG_FILES_SPIP320=""/>
   <APPLICATION_SPIP330 APP_FILE_PATH_SPIP330="sip_334.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_402.ld" CONFIG_FILES_SPIP670=""/>
   <APPLICATION_SSIP4000 APP_FILE_PATH_SSIP4000="sip_318.ld" CONFIG_FILES_SSIP4000="phone1_318.cfg, sip_318.cfg"/>
   <APPLICATION_SSIP7000 APP_FILE_PATH_SSIP7000="sip_402.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>

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

</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>

<!-- Permitted Values 0 to 27 -->
<!-- Priority Highest Value.  0 is Disabled -->
<voice.codecPref
      voice.codecPref.G711_A="1"
      voice.codecPref.G711_Mu="21"
      voice.codecPref.G722="27"
      voice.codecPref.G729_AB="0">

      <voice.codecPref.G719
            voice.codecPref.G719.32kbps="0"
            voice.codecPref.G719.48kbps="0"
            voice.codecPref.G719.64kbps="0">
      </voice.codecPref.G719>

      <voice.codecPref.G7221
            voice.codecPref.G7221.16kbps="0"
            voice.codecPref.G7221.24kbps="0"
            voice.codecPref.G7221.32kbps="5">
      </voice.codecPref.G7221>

      <voice.codecPref.G7221_C
            voice.codecPref.G7221_C.24kbps="0"
            voice.codecPref.G7221_C.32kbps="0"
            voice.codecPref.G7221_C.48kbps="2">
      </voice.codecPref.G7221_C>

      <voice.codecPref.iLBC
            voice.codecPref.iLBC.13_33kbps="0"
            voice.codecPref.iLBC.15_2kbps="0">
      </voice.codecPref.iLBC>

      <voice.codecPref.Lin16
            voice.codecPref.Lin16.16ksps="0"
            voice.codecPref.Lin16.32ksps="0"
            voice.codecPref.Lin16.44_1ksps="0"
            voice.codecPref.Lin16.48ksps="0"
            voice.codecPref.Lin16.8ksps="0">
      </voice.codecPref.Lin16>

      <voice.codecPref.Siren14
            voice.codecPref.Siren14.24kbps="0"
            voice.codecPref.Siren14.32kbps="0"
            voice.codecPref.Siren14.48kbps="13">
      </voice.codecPref.Siren14>

      <voice.codecPref.Siren22
            voice.codecPref.Siren22.32kbps="0"
            voice.codecPref.Siren22.48kbps="0"
            voice.codecPref.Siren22.64kbps="11">
      </voice.codecPref.Siren22>
</voice.codecPref>

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

  <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.1.digitmap=""
       dialplan.1.digitmap.timeOut=""
       dialplan.1.impossibleMatchHandling="0"
       dialplan.1.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.fixedDayEnable="0">

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

         <tcpIpApp.sntp.daylightSavings.start.dayOfWeek  tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth="0">  </tcpIpApp.sntp.daylightSavings.start.dayOfWeek>

      </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="11"
                   tcpIpApp.sntp.daylightSavings.stop.time="2">

            <tcpIpApp.sntp.daylightSavings.stop.dayOfWeek tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth="0">  </tcpIpApp.sntp.daylightSavings.stop.dayOfWeek>

        </tcpIpApp.sntp.daylightSavings.stop>

      </tcpIpApp.sntp.daylightSavings>

      <tcpIpApp.sntp.gmtOffset tcpIpApp.sntp.gmtOffset.overrideDHCP="0"> </tcpIpApp.sntp.gmtOffset>

</tcpIpApp.sntp>


  <lcl>
    <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.lang>
    </lcl.ml>
  </lcl>

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

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

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"

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.
<SNTP
   tcpIpApp.sntp.resyncPeriod="21600"
   tcpIpApp.sntp.address="ntp.bri.connect.com.au"
   tcpIpApp.sntp.address.overrideDHCP="1"
   tcpIpApp.sntp.gmtOffset="36000"
   tcpIpApp.sntp.gmtOffset.overrideDHCP="1"
   tcpIpApp.sntp.daylightSavings.enable="1"
   tcpIpApp.sntp.daylightSavings.fixedDayEnable="0"
   tcpIpApp.sntp.daylightSavings.start.month="10"
   tcpIpApp.sntp.daylightSavings.start.date="1"
   tcpIpApp.sntp.daylightSavings.start.time="3"
   tcpIpApp.sntp.daylightSavings.start.dayOfWeek="1"
   tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth="0"
   tcpIpApp.sntp.daylightSavings.stop.month="4"
   tcpIpApp.sntp.daylightSavings.stop.date="1"
   tcpIpApp.sntp.daylightSavings.stop.time="3"
   tcpIpApp.sntp.daylightSavings.stop.dayOfWeek="1"
   tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth="0" />

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.
      <SNTP
           tcpIpApp.sntp.resyncPeriod="14400"
           tcpIpApp.sntp.address="ntp.bri.connect.com.au"
           tcpIpApp.sntp.address.overrideDHCP="1"
           tcpIpApp.sntp.gmtOffset="43200"
           tcpIpApp.sntp.gmtOffset.overrideDHCP="1"
           tcpIpApp.sntp.daylightSavings.enable="1"
           tcpIpApp.sntp.daylightSavings.fixedDayEnable="0"
           tcpIpApp.sntp.daylightSavings.start.month="9"
           tcpIpApp.sntp.daylightSavings.start.date="1"
           tcpIpApp.sntp.daylightSavings.start.time="2"
           tcpIpApp.sntp.daylightSavings.start.dayOfWeek="1"
           tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth="0"
           tcpIpApp.sntp.daylightSavings.stop.month="4"
           tcpIpApp.sntp.daylightSavings.stop.date="1"
           tcpIpApp.sntp.daylightSavings.stop.time="3"
           tcpIpApp.sntp.daylightSavings.stop.dayOfWeek="1"
           tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth="1"/>

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