Keeping phone directories up to date using the Polycom Directory Updater
Polycom Directory Updater was written by Daniel Touma and is not affiliated with Polycom.
All Polycom phones have a directory listing of local extensions which can be accessed by pressing the software “Dir” button on IP335 phones and the hardware “Dir” button on IP550 phones. Our goal here is to be able to populate the directory of all phones simultaneously with an up-to-date list of local extensions, quickly and without the need to manually edit xml files. This gives everyone easy access to the extension of every other person in your ever changing phone system and provides the correct caller ID for internal calls.
Some background on how the Polycom directory works
The directory for each individual phone is updated with provisioning files on a provisioning server. Currently under firmware version 1.07 each phone will inquire of the provisioning files for updates to its settings or directory on every reboot. Each phone has its own set of provisioning files which are uniquely identifiable by the phones MAC address existing somewhere in the filename. The directory file for a phone with MAC address 0004f22edaa4 will look like 0004f22edaa4-directory.xml.. By contrast the following provisioning file 000000000000-directory.xml will update any phones directory, but only under two conditions; First the phone must be booting up for the very first time after its file system has been erased and rebuilt and second a directory file containing the phone’s mac address like the one above does not already exist. Unfortunately these conditions are very inconvenient to meet every time we want to update the directory of all the phones on a network so we must find a way to update the files containing MAC addresses simultaneously. This has now become the job of the Polycom Directory Updater. For more details on provisioning see this document.
System Requirements and a word of caution
Polycom Directory Updater is a Windows program written in C# and requires the .net framework 4.0 or higher. It was designed to work with FreePBX only in conjunction with FreePBX’s commercial Endpoint Manager which we have purchased online at schmooze.com. The provisioning files used to update the phone’s directory aren’t created by default with the commercial endpoint manager in FreePBX so running this program for the first time will create them.
Please note that you are using this program at your own risk and that I will not take any responsibility for any negative impact to your system whatsoever under any circumstance including the instance that Polycom Directory Updater was intended to be used with as outlined by this document.
What you need:
A Polycom phone system hosted with FreePBX and FreePBX’s commercial Endpoint Manager, A Windows environment with .net framework 4.0 or higher, access to your provisioning files via an ftp connection, a csv file exported from the bulk extensions module in FreePBX (This will include all the extensions with their associated data), and last but not least the Polycom Directory Updater program. The Polycom Directory Updater is an executable file which can be found HERE.
Once you have what you need updating the phone directory with this program is quite simple. The main window (the only one at the moment) displays a list of steps 1 through 4.
- Locate and select the CSV file exported from the bulk extensions module by clicking “Select CSV File”. Check the results of the extraction to the right of the button and make sure the correct values were extracted.
- Once you are sure the extraction was successful click on “Create XML File” and view the results to the right.
- If the xml file looks good continue by specifying the credentials for accessing the provisioning server via ftp. You will need a server address, a username and a password. Then click “Check Server” which tests your connection and tells you how many files on the server need to be replaced (text is to the right of the button highlighted in green).
- If step 3 indicates any number of files to be replaced click “Upload to Server”. This will generate all the necessary files and upload them to the provisioning server.
All done! Now reboot your phones and verify that the changes have been made.