Recently we covered the installation of Asterisk 1.6 + Asterisk GUI 2.0. In this article we will talk about the details necessary to enable Polycom provisioning from the ‘Users’ tab of the Asterisk 2.0 GUI. By default auto-provisioning will not work out of the box. You would think when the GUI is installed that it would be setup as well, considering that you have the option to enter a MAC address in the user extension creation process.
Nor are their docs related to configuring this in the source packages(that I could find). Online forums and tutorials were of no help either. There are many post online claiming that you need to set up DHCP, ‘option 66’ for Polycom provisioning to work. This is true of TFTP provisioning from AA50 appliance, but not from the Asterisk 2.0 GUI that relies solely on HTTP. At least as far as I can tell.
I think Digium is being vague on purpose about this because they do not want to undermine their Asterisk Appliance product. While I understand this line of thinking, it’s not consistent with the Open Source business models that have succeeded.
Open Source depends on reaching vast amounts of people due to the low cost. When my customers have to choose between a Avaya system(running Linux) that cost $45,000 /w phones or a Asterisk system w/ Polycom phones for $19,000; it makes the lesser known Asterisk product attractive. Over time the base builds up and Digium collects on hardware and support fee’s.
So from my perspective, any Asterisk installation helps Digium’s bottom line eventually. Even if Digium doesn’t see money from every Asterisk user, simply the presence of those users makes Asterisk a more credible product. Bringing more and more Enterprise and Government contracts to everyone, thus more money and investment into Digium.
Alright my tirade is over, back to business! This post assumes you have installed a recent version of Linux, Asterisk 1.6 and the Asterisk 2.0 GUI installed. If you do not, read my post:How to setup the Asterisk 2.0 GUI with Asterisk 1.6.
The Goals of this Post:
-configure phoneprov for Asterisk 2.0 GUI
Asterisk 1.6 installation automatically creates Polycom template files in the, ‘/var/lib/asterisk/phoneprov/ folder. These template files feed Asterisk variables as directed in the, ‘/etc/asterisk/phoneprove.conf’ file.
The first step, is to add an entry to the ‘/etc/asterisk/http.conf’. This instruct’s asterisk to make ‘/var/lib/asterisk/phoneprov’ available to the built-in Web Server at, ‘http://127.0.0.1:8088/phoneprov’. This is the address we will program our Polycom phones to use when attepting to pull their XML configuration files.
Lets check to make sure that the http server is up and well. Notice ‘/phoneprov’ directory is available.
Edit the ‘/etc/asterisk/modules.conf’ file to ensure that the res_phoneprov module is being loaded by asterisk. Add ‘load => res_phoneprov.so’.
We must now create the directory where our Polycom firmware will reside. This directory must be named, ‘configs’ and must reside in the ‘/var/lib/asterisk/phoneprov’. If you want to change this you must edit the options in, ‘/etc/asterisk/phoneprov.conf’ file.
Download Polycom firmware for your specific model to the newly created ‘configs directory’. The Polycom SoundPoint IP phone download page can be found here: http://www.polycom.com/support/voice/index.html. In my case I was using an IP 330 model.
Now that we have our Asterisk configuration and firmware we are ready to add a user entry through the Asterisk GUI 2.0. Login with your admin/password(the one added to manager.conf). Click on the ‘Users’ tab. Add a SIP user like below. Change options for your needs, notice I have the MAC Address of my Polycom phone in the ‘MAC’ field. Remember to use lower case letters, you can find the MAC/Serial No. on the back of most Polycom Soundpoint IP SIP phones.
Remember to configure your phone for HTTP provisioning. At boot, enter the setup menu with the default ‘456’ password. Navigate to the ‘Server Menu’ section. Select HTTP as ‘Server Type’. For server type in the Asterisk server address with ‘:8088/phoneprov’ appended. So for example, ‘192.168.1.25:8088/phoneprov’.
One thing to note, the server string can very from GUI to Asterisk appliance. This tutorial is for Asterisk 2.0 GUI. If you are having difficulty with the AA50 Asterisk appliance try entering the entire URL into the ‘ServerAddr’ section. For example, ‘HTTP//192.168.1.26/phoneprov. Also notice that the default port for the Asterisk appliance is port 80. The standard HTTP port.
If you followed my instrunctions you should now have a registered phone! Enjoy and please feel free to post questions.