[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

What is the best way to roll-out Polycom phones using Asterisk?

Posted on 2010-08-26
2
Medium Priority
?
640 Views
Last Modified: 2013-12-27
I am looking for a way to roll-out Polycom 601 phones the same way I would roll out any large Cisco solution. In Asterisk, is there a way to build a database of my 601s' MACs and push out configs? That may not be the to go with Asterisk. What is this Polycom boot server I keep hearing about and will it do what I want?  Where can I find it?  How do you do mass roll-outs of new phones?
0
Comment
Question by:Marinertek
2 Comments
 
LVL 11

Accepted Solution

by:
jfaubiontx earned 2000 total points
ID: 33539251
Sure using XML files we roll-out new phones with consistent configs all the time. You can set the dhcpd to provide information to the Polycom to locate it's boot server. From there the Polycom can use tftp to request it's configuration files. These XML files can define the extension, password, server addresses and everything else you would like to configure on the phones.

You will need to be running dhcpd on your server. Add a group definition for your Polycoms if you don't already have one. Use the following as an example

    group polycom {
        default-lease-time 84600;
        option boot-server "ftp://PlcmSpIp:pAsSw0rD@10.0.1.3";
        # host name is optional, but may help you track extensions
        host 100 {
            hardware ethernet 00:04:f2:18:72:1d;
            fixed-address 10.0.1.100;
        }
    }
     
   
What this does for you is provide a way to set a specific time for your leases, assign a specific IP address to the phones, and define the user name and password to use to ftp the config files. We like to have the last octet match the extension number. Makes it easier to locate the right phone when you need to log into it. Restart the dhcpd.

You also need a user on the system to allow access to the files. Polycom has a default user defined in the phones of PlcmSpIp and a password of Polycom. The dhcpd can override this information. This is the method we use as setting up a user with a default user name and password is not a good security risk. Next you need to copy the files into the directory. Download the release you want to use and unpack to this directory.

For more information on building the config files check out the following:

Config White Paper

You need a server.cfg file in here to define the server address and basic options. Something like the following:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<localcfg>
 <server voIpProt.server.1.address="10.0.1.3"/>
 <SIP>
   <outboundProxy voIpProt.SIP.outboundProxy.address="10.0.1.3"/>
 </SIP>
   <SNTP
   tcpIpApp.sntp.daylightSavings.enable="1"
   tcpIpApp.sntp.address="10.0.1.3"
   tcpIpApp.sntp.gmtOffset="-18000"
   />
<localcfg>

Next you need a phone specific registration file. This can be named pretty much anything be we use <mac_address>reg.cfg to help keep them straight. I have also used the <extension_number>.cfg before as well. It will need something like the following although this example is based on the IP330 model:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reginfo>
  <reg
    reg.1.displayName="Phone_Name"
    reg.1.address="114"
    reg.1.label="114"
    reg.1.auth.userId="114"
    reg.1.auth.password="ByteMe"
    reg.1.lineKeys="2"
    reg.1.server.1.address=""
    reg.1.server.1.expires=""
    reg.1.server.1.expires.lineSeize="30"
    reg.1.server.1.port="5060"
    reg.1.server.1.register="1"
    reg.1.server.1.retryMaxCount=""
    reg.1.server.1.retryTimeOut=""
    reg.1.server.1.transport="DNSnaptr"
    reg.1.server.2.transport="DNSnaptr"
    reg.1.thirdPartyName=""
    reg.1.type="private"
    reg.1.ringType="12"
   />
  <dialplan>
    dialplan.impossibleMatchHandling="0"
    dialplan.removeEndOfDial="1"
    dialplan.applyToUserSend="1"
    dialplan.applyToUserDial="1"
    dialplan.applyToCallListDial="0"
    dialplan.applyToDirectoryDial="0">
    <digitmap>
      dialplan.digitmap="[2-9]11|0T|011xxx.T|[0-1][2-9]xxxxxxxxx|[2-9]xxxxxxxxx|*xx|[1-2]xxT"
      dialplan.digitmap.timeOut="3|3|3|3|3|3|3"
    </digitmap>
  </dialplan>
  <msg msg.bypassInstantMessage="1">
    <mwi msg.mwi.1.callBack="*86"
      msg.mwi.1.callBackMode="contact"
      msg.mwi.1.subscribe="114"
    </mwi>
  </msg>
  <voice>
    <volume voice.volume.persist.handset="1" voice.volume.persist.headset="1" voice.volume.persist.handsfree="1"/>
    <gains
        voice.gain.tx.analog.chassis.IP_330="39"
        voice.gain.rx.analog.chassis.IP_330="0"
        voice.gain.tx.analog.preamp.chassis="32"

        voice.gain.rx.analog.handset.sidetone="-20"
        voice.gain.tx.analog.handset="6"
        voice.gain.rx.analog.handset="0"
        voice.gain.tx.analog.preamp.handset="23"

        voice.gain.rx.analog.headset.sidetone="-24"
        voice.gain.tx.analog.headset="3"
        voice.gain.rx.analog.headset="0"
        voice.gain.tx.analog.preamp.headset="23"

        voice.gain.rx.analog.ringer.IP_330="2"
    </gain>
  </voice>
</reginfo>

Start your ftp server, we like vsftpd. Restart the phone. You can tail the message file to ensure that the phone gets the files listed above. It is late here, I'm tired, and I have probably missed something so if you have questions let me know. It really isn't that difficult once you get the basics ready and the time it saves is worth the effort even if you only have a few phones to setup.  


0
 
LVL 5

Author Comment

by:Marinertek
ID: 33541424
This is very similar to what I found here.

http://www.voip-info.org/wiki/view/Asterisk%40Home+Handbook+Wiki+Chapter+7#7224HowtouseProvisioningCentralBootServe

Thanks for you help.  Please follow this question for a while as while I'm setting this up I am sure I will have questions.
0

Featured Post

[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Although VoiceOver IP has been around for a while, internet connections have only recently become fast enough to provide good call quality. Now, VoIP has become a real option for businesses looking at ways to improve their business model. In this ar…
Skype is a P2P (Peer to Peer) instant messaging and VOIP (Voice over IP) service – as well as a whole lot more.
The video will let you know the exact process to import OST/PST files to the cloud based Office 365 mailboxes. Using Kernel Import PST to Office 365 tool, one can quickly import numerous OST/PST files to Office 365. Besides this, the tool also comes…
Free Data Recovery software is an advanced solution from Kernel Tools to recover data and files such as documents, emails, database, media and pictures, etc. It supports recovery from physical & logical drive after a hard disk crash, accidental/inte…
Suggested Courses

591 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question