Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 641
  • Last Modified:

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

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
Marinertek
Asked:
Marinertek
1 Solution
 
jfaubiontxCommented:
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
 
MarinertekAuthor Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now