Koozali.org: home of the SME Server

Obsolete Releases => SME VoIP (Asterisk, SAIL etc) => Topic started by: compsos on August 02, 2008, 10:47:04 AM

Title: Polycom IP320 Phones
Post by: compsos on August 02, 2008, 10:47:04 AM
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.

The result of tail -f /var/log/messages should look like this as the phone restarts
Quote
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
Code: [Select]
["$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>
]
Title: Re: Polycom IP320 Phones
Post by: SARK devs on August 12, 2008, 11:57:54 PM
Hi,

If you send us copies of your provisioning data we'll retrofit it into the next SARK release.

Send to admin@selintra.com

thanks

S
Title: Re: Polycom IP320 Phones
Post by: bbialy on August 24, 2008, 09:39:46 PM
i've another idea
i added two sections in Polycom X01 provisionig description

Polycom IP X01     Polycom Range of IP phones     SIP

Code: [Select]
["$mac-app.log"
This file will be overwitten after each COMMIT
]
[$mac-boot.log
This file will be also overwitten after each COMMIT
]
Remeber just add not replace!!!!!!!!!!

It only creates files such as 000000000000-app.log and 000000000000-boot.log

after creation of each extension just copy it to Log file as compsos write above

bbialy
Title: Re: Polycom IP320 Phones
Post by: SARK devs on August 24, 2008, 10:53:21 PM
HI guys,

How about I do you all a how-to on exactly how the extensible provisioning works and then you should be able to build your own Polycom support.  You can then bounce it back to us and we'll load it into the database for the next release.

Good idea?

Jeff   
Title: Re: Polycom IP320 Phones
Post by: bbialy on August 25, 2008, 02:10:08 AM
Let's TRY
Maciej
Title: Re: Polycom IP320 Phones
Post by: SARK devs on August 25, 2008, 08:00:12 PM

http://www.aelintra.com/docs/cgi-bin/view/Main/DocChapter255

I think that the entity you have all been missing/confused about is the Descriptor.  Not surprising when you figure that we've never really documented it until now :).

Anyhow, using these guidelines you should be able to automate your Polycom provisioning. If you have any problems with this then post back here and we'll do our best to help.

First one to do Polycoms this way gets a couple of our unbelievably cool (patented design) SARK mousemats.  These are not the usual cheap foam rubber items but high quality non-slip plastic with ace graphics and a complete guide to all of the SARK feature codes. They really are too kool for skool and just the thing for your desktop.  :)

Best

Jeff