login | register
Tue 09 of Feb, 2010 [21:01 UTC]

voip-info.org

History

Polycom SoundPoint IP 501

Created by: Matt_Matulaitis,Last modification on Fri 14 of Aug, 2009 [07:34 UTC] by VoilensP

Information and Easy Configuration Guide for the Polycom 501 IP Phone and Asterisk

This page has been viewed 155404 times since Fri 26 of Aug, 2005 [18:39 UTC]


There is good information on this site about setting up a Polycom phone to work with Asterisk, but it's rather spread out and unorganized, so I thought I'd take some time to get it all in one place. These instructions apply to the 501 models, but I believe they would adapt well to other Polycom models. I also don't go into pushing out configurations from XML files on a TFTP server, but it may be the way to go if you're doing more than one phone. In the instructions below, TFTP is only really used to push out the firmware updates.

About the Polycom 501


If you're reading this to see how good certain phones are with Asterisk, let me tell you that the Polycom 501 has excellent features, but is a pain to configure and very tempermental. I've used Soyo phones (they're the worst all around), ipDialog phones (they're only a little better) and Grandstream's GXP-2000. As of firmware 1.0.1.9, the Grandstreams are a decent phone, easy and quick to configure, but they have a horrible echo in the speakerphone for the remote party. A firmware fix for this was promised in October 2005, but I decided to not wait and get some Polycom 501 phones as well, as Polycom phones are legendary for being excellent speakerphones, and the 501 model was their lowest priced speakerphone model. At time of this writing, Grandstream GXP-2000's are around $105, and Polycom 501's are around $190.

The Polycom 501's do have more and easier-to-get-to functionality than the GXP-2000's, and have a more professional look and feel (and a great speakerphone), but the most notable downsides of the 501 are its awful, obtuse and slow configuration interfaces. The relevant options for Asterisk configuration are buried fairly deep on the console, and the big problem with the web interface is that it takes at least an extra minute to become available even AFTER the phone is up and running. And, of course, every time you make ANY change in ANY section of the web interface and click "Submit," it has to do a soft boot..... so you can understand how tedious this can become. It makes the XML/TFTP configuration option look pretty good, even for just a few phones.

Some other points which might be important to you are that the GXP-2000 boots up much faster than the 501 (50 seconds for the GXP-2000, three minutes for the 501) and the 501 is very sensitive to power failures during bootup. If there is a power loss during the "Updating initial configuration..." phase, the config file that is written to the local flash will become corrupt and the the phone will be locked in an eternal boot cycle. Fortunately, there seems to be an easy fix for it (see below). I experienced this problem while I was making this documentation. The GXP-2000's are much more resilient and much faster to boot.

Finally, I've also noticed that, for some strange reason, the GMT offset for your time zone will not behave properly sometimes. This is because the web configuration for the time server and GMT offset differs from what is loaded on the actual phone itself. When the web interface finally starts up 1-2 minutes after the phone is ready, it reloads that info instead.

Overall, I might recommend them over the GXP-2000's at this point for professional installations, but with some firmware updates from Grandstream, they may be more evenly matched in the future.

Support



Configuring Asterisk


Proceeding to the configuration: these instructions were made with Asterisk 1.0.9, Polycom BootROM 2.6.2 and SIP software version 1.5.2.

For starters, might as well get the extension configured in Asterisk. As usual, three files to change: extensions.conf, sip.conf and voicemail.conf. I've seen mention elsewhere of having to put in special stuff for Polycom phones, but I've not had to do it with the firmware I'm using. These SIP extension setup instructions are pretty standard:

In extensions.conf, add a SIP extension as normal. I use the built-in Asterisk macros for mine:

[internal]         ;Use your applicable context name (default, internal, etc.)
exten => 510,1,Macro(extensions,Sip/510,510)   
;The above creates SIP extension 510 with the usual voicemail features

In sip.conf, I use a standard SIP phone setup:

[510]              ;Extension 510
type=friend
secret=polycom     ;Password for the extension
context=internal   ;Use the applicable context from extensions.conf
host=dynamic 
mailbox=510
callerid=Firstname Lastname <510>   ;Important to use the <extension#>
                                     ;so caller ID and voicemail shortcuts work properly

In voicemail.conf, the usual:

[internal]         ;Use your applicable context name (default, internal, etc.)
510 => 1234,Firstname Lastname,email@address.com

Getting updated firmware


Next, get the latest firmware available and flash it via TFTP or FTP (FTP is strongly suggested, TFTP can be a royal pain). As you probably already know, Polycom is very protective when it comes down to getting their SIP updates and BOOTROM updates. They will only allow CERTIFIED resellers to download their updates and they're supposed to provide you with those updates.


      • SEP 2008 UPDATE *** Polycom now allow download directly without login - http://www.polycom.com/usa/en/support/voice/soundpoint_ip/soundpoint_ip301.html#download

Polycom Voice Products Download List
http://www.polycom.com/resource_center/1,,pw-492,00.html

For you Linux newbies, an easy way to download the files directly into your tftp root folder is the utility WGET. The command line syntax is:

root> wget http://www.freedomphones.net/polycom/files/file.zip

Then unzip them with the unzip utility, the command line syntax is:

root> unzip file.zip

Set up TFTP server



Please note! The following information isn't really the "optimal" way of setting these phones up. Please see: http://www.voip-info.org/wiki/view/Asterisk%40Home+Handbook+Wiki+Chapter+7 and read the Polycom phones section. It REALLY goes in depth concerning all the files you're dealing with and also how to provision. Instead of setting these phones up by hand they should ALL be setup via files on the the FTP server. At the end of the day, an administrator really shouldn't even have to even touch the phone other than setting up the FTP server, login and password.

AsteriskTutorials.com Bulk Provisioning Polycom Phones tutorial


Set up and start up your TFTP server and make sure the files from the BootROM and the SIP archives are unZIPped and in the root TFTP directory. By default, the root TFTP directory is tftpboot, but this may be different on your machine if someone has changed it. (By the way, I tried leaving out some of the XML config files, and Weird Things Happened(tm). I think the default files need to be there originally for proper functionality, even if they're not customized.)

Config network parameters for firmware update


All the prelim work is done now, so assemble and power up your PolyCom 501, and be ready to hit buttons as soon as you apply power. When it powers on, it will give you a menu for a few seconds. Press the middle SETUP soft button to interrupt the boot. It will prompt you for a password. The default is 456. Enter that and hit OK.

In most cases, you will leave the DHCP Client field Enabled and just let it grab an IP off the wire. Otherwise, change it to Disabled and put in the IP/subnet mask/DNS/domain name/gateway info manually. Use the arrow keys, Sel and Del buttons to make edits. Also note that when changing fields, there's a soft button for selecting between entry modes with the number pad: numbers, upper case, or lower case (the a->1A button). When entering IP addresses, use the numerical mode (naturally) and use the asterisk (*) key for decimals.

While you're at this menu level, you can optionally configure SNTP here or via DHCP (/etc/dhcpd.conf file). To configure it statically in the phone, enter an SNTP (time server) address so it can sync up it's clock/calendar, and put in the correct GMT offset for your time zone (numerical...for instance, Alaska Time is -9). I use 131.107.1.10 for my SNTP server.

Next, select the "Server Menu: ... " option with the arrow keys and press Sel to enter the submenu. For server type, pick TrivialFTP and enter the IP address of your TFTP server in the field below.

Exit out of the submenu, then hit Exit again. Select "Save & Reboot" and it will do just that. When it reboots (multiple times), you can either let the timeout expire or press the START softkey to boot immediately. Make sure your TFTP server is running, and you should see it pulling down the updates. First it will update the BootROM (and write a log file to the TFTP server), and then it will update the SIP software after it's done "formatting the file system." The process will take a few minutes and a couple reboots and leaves several log files; just leave the TFTP server running until the phone completely boots up to the date/time display. I also noticed some apparent error messages on my little TFTP server Windows program...they're safe to ignore.

Configuring on the phone itself



At this point, I recommend you go in through the interface on the phone itself to configure as much as you can. Why? Because as I mentioned earlier, the web interface takes forever to become active after a reboot, and it has to reboot a LOT if you do all this on the web. Fortunately, most of the settings can be done on the phone itself...in fact, only tweaks for setting up the Message Waiting Indicator (MWI) light functionality and registering the Asterisk server under the individual lines need be done on the web interface.

Press the Menu button, then go to "3. Settings..." and then "2. Advanced...". Enter in the admin password of 456 again. Choose "Admin Settings..." and then "Reset to Default" and "Reset Local Config." IF YOU DO NOT DO THIS, SOME OF THE SETTINGS YOU MAKE BELOW WILL NOT BE SAVED. You need to overwrite the data that was in the XML configuration files on the TFTP server. (By the way, you can use the Format File System option under this menu to completely wipe everything away, including all ROM files and most settings, and start over from scratch.)

After rebooting, go back to Menu/Settings/Advanded and put in the following important settings:

1. Admin Settings
    1. Network Configuration
         This is the same as you edited during boot, for reference.
    2. SIP Configuration
         Server Address
              This should be the IP address or DNS name of your Asterisk server.
         Server Port
              This should be 5060.  Why it's not there by default, only PolyCom knows...  

01/16/06 HEADS UP! - I believe this is wrong. By using this option, you are forcing the phone to communicate with the server address using ONLY this port. For example, in Asterisk@Home, I can see in the "Asterisk Info" page that my phone stayed STUCK on port 5060 under "SIP REGISTRY" and that's just bad news because UDP Port 5060 is for SIP communication. 5060 is only used for setting up and taking down calls. It should NOT stay STUCK on 5060. For example, my xten softphone clients that I have connected to the server show the port that the server and the client have negotiated to communicate over (example: 52443, 12131, 17229, 57835, etc) but the Polycom with 5060 configured in that Port Field SITS at 5060.

According to the admin manual, the setting we are working with is voIpProt.server.x.port (where the x is the server number. with the 501 you can have 3 different servers if you want)

If voIpProt.server.x.transport is set to TCPpreferred or UDPonly then use 5060 and don’t advertise the port number in signalling.
If voIpProt.server.x.address is an IP address, there is no DNS lookup and 5060 is used for the port but it is not advertised in signaling.
If port is 1 to 65535: This value is used and it is advertised in signaling.

Since it is advertised in signaling, thats why the A@H server kept it to 5060 under "SIP REGISTRY".

         Register
              This should be set to "No."  This is so that you can individually register
              lines with the Asterisk server under the Line1/2/3 configs on the web
              interface (see below).

03/13/06 HEADS UP! - I don't think this is correct either. According to the manual, this setting (voIpProt.server.x.register where x is the server number. This is the setting that corresponds with your configuration files on the ftp server) is "If set to 0, calls can be routed to an outbound proxy without registration" (please note, 0 = no and 1 = yes) (and I don't know what this setting really does). When I used this setting and rebooted my phone, I actually lost all the extension registrations to my asterisk server. In my opinion, you should leave this alone.

         Line1: ...
              This sub-menu is one of three, with Line2 and Line3 allowing you to add up
              to three different extensions to the phone.  There are three soft buttons
              along the left of the display which show these lines.  For the purposes
              of this config (and what most people will do anyway), you'll have all
              three of these lines show up as the same extension, so people can receive
              and make multiple calls simultaneously.

              Display Name
                   A mostly useless feature; does not override caller ID.
                   Just put the person's name there.
              Address
                   This is the extension number in Asterisk.  To continue the example,
                   we'll set this as 510 to match our Asterisk config.
              Auth User ID
                   Put the extension number in here again.
              Auth Password
                   This is where you put the "password=" or "secret=" value from your
                   sip.conf file.  In our example, this was "polycom".
              Num Line Keys
                   Here is where you tell the phone how many soft buttons to assign
                   this line.  As mentioned above, we'll put 3 here so that we have
                   three instances of the line.

03/13/06 HEADS UP! - This part needs a little better explaining. Num Line Key on the phone corresponds with reg.x.lineKeys in SIP.CFG. The manual states:
The number of line keys on the phone to be associated with registration ‘x’.

max = the number of line keys on thephone.
max = 1 on SoundStation® IP 4000,
max = 2 on IP 300 and 301,
max = 3 on IP 500 and 501,
max = 6 on IP 600,
max = 24 on IP 601 (without any Expansion Modules attached, only 6 line keys are available)

So please understand. By registering 1 extension under Line1, you can show all 3 buttons on the 501 as that same extension by using Num Line Key. BUT BEWARE, there is a catch! You can make 3 simultaneous calls from the polycom with no problem. If you have 1 or 2 calls going out and someone calls INTO the phone, they will go straight to voicemail!!! No matter what combination of settings, I cannot solve this problem of "call appearances" on asterisk. The only way to have all 3 lines work correctly is to assign 3 MISC extensions to the 3 Polycom lines, and use a Asterisk RING GROUP and the ring group number will be your extension. If you do this, you'll have to slap the Ring Group extension into "Label" or the Polycom will show the 3 lines as the 3 different extensions. What a pain.




Once you've put this information in and Exit back out, it will prompt you to "Save Config"...do so. Exit back out to the Advanced menu and choose to restart the phone...if you were slow, the phone will probably reboot on its own after all those changes anyway.

So now...you wait. Grab some coffee, surf a site. It'll be at least a few minutes before you can get in on the web interface.

Final configuration via web interface


Once you can pull it up, go to the Lines option at the top. Enter in "Polycom" for the username and "456" for the password. Username IS case sensitive. Select Line 1. Under Server 1, put your Asterisk server for the Address, 5060 for the Port. Register to 1. Line Seize Time Out to 30. Scroll down a bit to the bottom of the Line 1 config, under Message Center. Set Callback Mode to "Contact" in the dropdown. Set the Callback Contact number to the number you have configured for voice mail.

Hit Submit...and wait another few minutes. Don't worry, you only have to go in there one more time. When it reboots, you should see that the little phone icons are completely filled in black, indicating a successful registration. (You may have noticed that before you got on the web interface, the phone icons were hollow, indicating that you could call out but you were not properly registered to receive calls.)

At this point, you're all set EXCEPT that the MWI light will not come on, and the Messages button will not automatically dial voicemail for you. To fix this, pull the web interface up again and go to the General option. At the top, under User Preferences, click "One Touch Voice Mail" and "Bypass Instant Message" so that they're enabled. Once again, the behemoth reboots, but now you're all set.

Also, remember to keep in mind my earlier comment about the GMT offset — sometimes there are settings on the web interface which override what you've set on the phone itself, so check all the settings on the web before you ship it out to a user. Great phones, aren't they, folks? :)

One final thing to modify or delete is the digitmap. The digitmap allows the phone to intelligently detect numbers dialed (and presumably save the user from hitting send after a specified number of seconds). The digitmap is available on the web interface under SIP and Local Settings. The default is:

[2-9]11|0T|011xxx.T|[0-1][2-9]xxxxxxxxx|[2-9]xxxxxxxxx|[2-9]xxxT

However, simply deleting this field will not hinder phone operations; the phone will simply not detect any numbers intelligently.


How to fix corrupt .cfg file after interrupted boot


If you interrupt the boot process by yanking power during startup (I had done this voluntarily once because I missed the chance to hit the config at first power), it may apparently corrupt some of the internal configuration files. However, instead of wiping everything and restarting from scratch, all I had to do was make the TFTP server available to the phone again with the default config info from the BootROM/SIP .ZIP files. It booted just fine with all the configuration info intact.



How to use Provisioning (Central Boot Server) to Deploy your Polycom 501's

The above instructions are nice, however, you need to remember if you edit the Polycom on the Polycom itself or its HTTP interface, those settings will over-ride any settings that you input into your main sip.cfg file. Matter of fact, all those individual settings will be put into a MACADDRESS-phone.cfg file with the following:

<PHONE_CONFIG> <OVERRIDES blah blah blah /> </PHONE_CONFIG>

If you followed the above instructions and hand configuring these phones, you've just made a bunch of important settings specific to the phone you've configured. There are some settings that should be GLOBAL and in a SIP.CFG file and not in the MACADDRESS-phone.cfg file.

Even in a small deployment you want to use the provisioning capability of this phone. You'd be crazy not to. Yes its a bit complicated, but that why I'm posting this information here. Trust me, you will thank me.





Polycom 501's and NATS. Welcome to hell

Polycoms are just not made with NATS in mind. Yeah sure, they have a couple of settings you can try but simply put, they suck on a NAT. These phone were made to exist on the same network at the PBX. In that case, they work great. The second you have to go over a NAT, whamo. Welcome to hell. These phones are IP phones. No matter where in the world I plug these guys in, they should work. Period. With 98% of businesses and 100% of homes with cable/dsl routers using NAT, you'd think Polycom would of tried harder. Unfortunately, that is not the case. I've already put in a request (01/19/06) at polycom's web site asking for

  • Optional STUN setting
  • IAX2 support (for asterisk servers. IAX is VERY NAT friendly)
  • NAT heartbeat option - To keep the NAT hole open, XTEN Softphone uses a tiny little 10 second NAT keep alive. WORKS GREAT!

Don't hold your breath for the IAX2 support. I figure we'll be seeing the STUN setting coming soon but I have no idea about the NAT heartbeat option.

NOTE: While STUN and IAX2 and NAT heartbeat are all good (unavailable) options, I found that my phones operated flawlessly by simply setting the registration timeout down to just 30 seconds. This will not create an undue burden on your Asterisk server and keep the NAT ports hopping!

It's near the top of the phone1.cfg file, but I renamed this file and have a unique file for each phone extension:

reg.1.server.1.expires="30"

Where to Buy




to eliminate MWI chirp

in SIP.CFG set MESSAGE_WAITING sound values to "silent"

Comments

Comments Filter
222

333Asterisk LINE1 + VoipBuster LINE 2

by fhoffens, Saturday 26 of August, 2006 [22:29:29 UTC]
Hi,

I´m configuring a Polycom SoundPoint IP 501 , SIP 1.6.7 and I can register and go with my Asterisk server without problems in Line 1.

But I´m interested also, to configure it with a "VoipBuster LINE 2", for a backup route, to go directly to the other server.

I have proven many alternatives and I have not had result.

Some of you can help me?, Please

Felipe

222

333

by plimaye, Friday 18 of August, 2006 [22:26:21 UTC]
The presence on the Polycom 501 is running fine , the only problem is if I set the MyStatus to be Busy , I can't see the status Busy on other phone , if the phone is in use , I can see that status..Any suggesation how to get the MyStatus working ..
222

333Error is 0x20000

by lullabud, Tuesday 30 of May, 2006 [05:16:41 UTC]
I couldn't find the answer to this anywhere on the internet, and I don't really know the answer myself, but I did fix a problem with "Misc file error" "error is 0x20000". I fixed it by rewriting the macaddress.cfg file with one that I knew worked, then fixed the extension settings for the new phone. I'm posting this info here because I can't find a better place to post it, I don't really know the root of the problem, and Google had zero results on this problem. Hopefully this helps some other people...
222

333Re: Great Stuff!

by sgrosso, Monday 08 of May, 2006 [21:10:00 UTC]
I have the same problem and I contacted Polycom, the told me there was two way to fix the problem 1- is to take out the bootrom.ld file from the FTP server this would make the phone booting or 2- put the 3.1.3 release of the bootrom. I will try this my self in a couple of days, let me know if it did work for you.

Regards

Stephane
222

333Re: Great Stuff!

by dsavage, Friday 28 of April, 2006 [14:18:54 UTC]
I have to configure a Polycom 501 Revision F, which is having a problem updating the bootrom (v 3.1.2) after it's downloaded. It says "Error updating bootROM!" I'm running 3.1.2 SIP version, but it works fine with the Polycom 501 revision E, which is what I normally configure. I downloaded & installed SIP 1.5.2.0054 and bootrom v 3.0.1.0023 onto a separate server, to boot from. It seems to get farther in the bootup process, but then I see a "Error Config file...Error is 0x4020"....Could someone please advise on any possible solutions ?

NOTE: I noticed that rev F gives the 'Provisioning Method' and 'Provisioning String' options under the Server menu, nether of which are available in rev E. I looked on Polycom's web site for any new firmware for this revision, but was unable to locate one
Thanks...david savage

222

333turning on the LEDs when an extension is in use

by pindari, Friday 13 of January, 2006 [21:42:33 UTC]
out of the box I plugged the polycom 601 (probably the same for the 501) into the network, and using the keypad and web browser followed the information contained on this page. In addition I used the phone keypad to enter the FTP server information (from the main menu press 3. Setting, 2. Advance, 1. Admin Settings, 1. Network Configuration and then scroll down to "Server Menu"). Once I did this and rebooted the phone a <mac>-phone.cfg file with all the above was written to the FTP server. I can then edit this file to add features, such as turning on the "presence" LEDS (aka buddy watch, Busy Lamp Field, BLF). To do this I added the following before the closing / — "feature.1.name="presence" feature.1.enabled="1". By doing this I didn't need to create the "sip.cfg" file mentioned in other posts. The second part to turning on the "presence" LEDS is to turn on the field in the directory listing. To do this I created a <mac>-directory.xml file with a text editor and included <bw>1</bw> with each extension I wanted to show the status (See a sample file I posted at http://www.alloyventures.com/asterisk/polycom601.html).

Once I did this and rebooted the phone the two remaining softkeys now have labels. The first label "MyStat" allows the user to set their status (busy, away, at a meeting). The second label is "Buddies" and shows the status of the contacts in the contact list.

Tony.
222

333Almost Perfect.....

by JimM, Friday 06 of January, 2006 [04:04:44 UTC]
Your instructions were great. I got the 501 up and working, and realized there was some errata in your instructions. The section about getting the Message button working properly is a little off. "Scroll down a bit to the bottom of the Line 1 config, under Message Center. Set Callback Mode to "Contact" in the dropdown. Set the Callback Contact number to the number you have configured for voice mail." <<I assume you mean extension there>> This gets you Allison telling you the user at that extension is unavailable. To make the Message button on the phone dial straight to voicemail and not get Allison telling you the person at that extension is unavaialbe, enter the extension (or voicemail box) for Subscriber, choose Contact from the drop down, then enter *97 for Call Back Contact (for AAH at least). Now, when pressing the Message button, it should ask for your password, nothing else. Hope this helps.
222

333Not so hard...FTP server, mixed case user names?

by bmacauley, Thursday 05 of January, 2006 [16:42:46 UTC]
Alphawolf,

Do you know of a method to enable Linux FTP servers to use mixed/upper case usernames such as 'PlcmSpIp' ?

I myself am using vsftpd on Debian. I could not get vsftpd to operate with the default password, and had to resort to changing the default username and password on each phone.

Thanks,
Brian
222

333Very useful - thanks!

by pindari, Wednesday 04 of January, 2006 [01:05:27 UTC]
This information worked for the SoundPoint IP 601 SIP (1.6.2) and saved me a huge amount of time.

Since I use 1001 through 1099 for extensions, and do not require a 9 for an outside line, I use the following dial plan so as to avoid pressing the send button: 2-911|0T|011xxx.T|0-12-9xxxxxxxxx|10xx|*6-9x|#7x|2-9xxxxxx

What was the resource for this work (trial and error?) as I couldn't find an admin or programming guide on the polycom site.
222

333Not so hard

by alphawolf, Tuesday 27 of December, 2005 [19:13:53 UTC]
The Polycom's are very easy to configure using the downloadable configs. Much easier than using the interface once you get it figured out. Best thing to do if you need is to use the HTML interface and set up the config the way you want. Set up an FTP server with the proper configuration so the PlcmSpIp user can login, and then reboot the phone. The phone will upload its cfg file to your server. Then pull out the config parts that are for any generic phone, and put that in your global .cfg file. Then the individual phones get their extention #s in the <mac-addr>.cfg files. The ONLY thing you then need to do to set up a new phone is set the IP address of the FTP server in the boot setup menu on the phone, and create a cfg file with their extenion information in it, so whether it's one or 100, it's very simple.

Firmware is available from the authorizied reseller you bought your phone from. If you didn't buy it from an authorized reseller, then you're out of luck. It's just their way of implenting control over their channel, which is understandable.