Automatic network configuration of IP phones is a mandatory feature to any enterprise IP telephony installation. Even if all phones have an embedded web server, allowing its configuration, doing this on dozens or hundreds of phones will be cumbersome and unproductive.
Polycom is part of the mature IP telephony manufacturers and their automatic configuration is really rich and allows configuration setup, firmware upgrade and log collection. This article shows basic samples in order to correctly start in IP phone configuration.
Main principles
Automatic network configuration is requiring a central infrastructure component that will hold various phone configuration, firmware and phone book.
The fact configuration are centralized allows quick update to match addition or modification of IP phones. Polycom has chosen a modular approach that could be considered as complex but in fact is really rich and convenient. Any individual IP phone can be configured with common parameters and specific ones. For example, all IP phones in a specific location will share the same network parameters such as DHCP or RTP port range to use, time zone and language for message display, but any IP phone will require specific individual parameters in order to be identified by the SIP proxy and registrar.
Each IP phone is identified on its MAC address, configuration files on the central repository will be named using this information.
Once booting the Polycom phone is looking for files on the central repository in order to see if any update is available. All files are stored in a specific phone memory zone in case of repository failure during boot, in this case, the previous files will be used.
Central repository
At boot the phone is first starting with IP configuration. Mainly DHCP is used for this purpose, easier to maintain than static IP addressing. In addition to its IP address, the DHCP server could provide the phone with a DNS server, a default gateway. It can also be configured to provide the IP address of the central configuration server. If the server is specified, the IP phone will try to reach it through FTP – this could be changed to TFTP, HTTP or HTTPS. FTP is using TCP as transport communication protocol which allows reliability, that allows the central server to be located on any part of our IP network, even on another location.
The central server IP address is using DHCP option 66, most servers already support this option. Here below is our ISC dhcpd specific server configuration. The central IP phone configuration server is called config-ipphones :
subnet 192.168.16.0 netmask 255.255.255.0 {
range 192.168.16.129 192.168.16.192;
option broadcast-address 192.168.16.255;
option routers 192.168.16.10;
option domain-name "lyon.meta-x.org";
option domain-name-servers 192.168.16.10;
option tftp-server-name "config-ipphones.lyon.meta-x.org";
}
Since we choose to stay on the default FTP method to access the central server, we need on this one to enable the service and allows a specific user access. On Polycom the user is named PlcmSpIp and associated password is the same. Since we cannot change these credentials, we should protect the FTP server in order to avoid deny of service actions.
Files on the central server
In the home directory of the PlcmSpIp user we will prepare the content of the archive found at Polycom. You should have something similar to:
- 000000000000.cfg: first loaded file by the phone, it provide base information
- sip.ver: firmware version, this allows the phone to know when the firmware changed and needs to be downloaded
- sip.ld: firmware for the phone, binary file
- sip.cfg: base configuration for any phone, contains basic shared information
000000000000.cfg
This file is really simple and should not require any modification. If one could be interesting, it is related to log file directory. Each time a phone boots it upload on the log directory some files that can be useful for troubleshooting a phone behaviour. This way of doing log collection is really convenient and efficient from an administration point of view. If required, the field LOG_FILE_DIRECTORY will contain the log directory.
<APPLICATION
APP_FILE_PATH="sip.ld"
CONFIG_FILES="phone1.cfg, sip.cfg"
MISC_FILES=""
LOG_FILE_DIRECTORY="logs"
OVERRIDES_DIRECTORY=""
CONTACTS_DIRECTORY=""/>
sip.cfg
Various shared parameters are available in the sip.cfg configuration file, you may be interested in the following:
<localization>
<multilingual>
<language lcl.ml.lang="French_France">
in order to change the language used for screen display, or the following for NTP server:
<TCP_IP>
<SNTP tcpIpApp.sntp.address="192.168.16.10" .../>
phone.cfg
Each phone needs now a specific configuration file. One file for each should be prepared on the server, based on the phone.cfg template. The files will be named with the MAC address of the phone and the prefix -phone.cfg, for example : 0004f203511c-phone.cfg. Each phone knows its MAC address and will look for its specific file based on this name structure.
Phone content is using XML as usual, lot of parameters are available, they are fully documented in the Polycom manual. Here are some parameters you can look at.
- reg.X.displayName: line name
- reg.X.address: SIP identifier for this line (should match the registrar)
- reg.X.label: what label on the screen will be associated with this line
- reg.X.auth.userId et reg.X.auth.password: SIP login and password
- reg.X.server.1.address: SIP registrar (IP address)
Once these files have been modified and made available on the FTP server, you need to restart the phone. The booting phase is about one minute, the uploaded log files will explain how it works and if any issue is still present.
Conclusion
We have seen the main actions in order to configure Polycom IP Phones from a central location and available tools in any Unix distribution (FTP server, DHCP server). In order to go forward, you can explore the configuration files and check Polycom documentation.