Provisioning Polycom Phones: Setting the Default Firmware Version in the Master Configuration File

Overview

The Polycom master configuration file is the file 000000000000.cfg found in tftproot directory (/var/sipxdata/configserver/phone/profile/tftproot). It is the file that all phones would download if they canot find [MAC-ADRESS].cfg. In this file you can specify a "default" location where phones could find the "SIP application" (the firmware). It also defines the configuration profiles that the phone will load. It also defines these settings per phone model, since there could be phones that support only a particular firmware revision.

Up until sipXecs 4.6 update 1, since we only supported one firmware revision (the profiles were based on 3.2.6) the default SIP application defined in this file was sip.ld, which was present in the tftproot folder. In 4.6.0 update 1 together with the support for multiple firmware revisions in sipXecs, the file was changed to reflect the new location of the SIP application, that is "polycom/{VERSION}/" (path relative to tftproot). We took the decision to have 4.0.X as default supported firmware revision. So the main section of this file was:

<APPLICATION
               APP_FILE_PATH="polycom/4.0.X/sip.ld"
   CONFIG_FILES="http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-applications.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-features.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-reg-advanced.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-region.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-sip-basic.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-sip-interop.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-site.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-video.cfg"
      MISC_FILES=""
   OVERRIDES_DIRECTORY="http://{host}:8185/"
   CONTACTS_DIRECTORY="http://{host}:8185/"
   LOG_FILE_DIRECTORY="">

So an unprovisioned phone would download this file and then make a request to sipXprovision servlet (running on port 8185) for the profiles specific to 4.0.X firmware. Some legacy phones and some newer models have specific sections:

   <APPLICATION_SSIP4000
            APP_FILE_PATH_SSIP4000="sip_3.1.X.ld"
   CONFIG_FILES_SSIP4000="http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-sip.cfg, http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-phone.cfg, http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-device.cfg, polycom_phone1_3.1.X.cfg, polycom_sip_3.1.X.cfg"
      />

            
   <APPLICATION_SSIP300
            APP_FILE_PATH_SSIP300="sip_2.1.X.ld"
   CONFIG_FILES_SSIP300="http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-sip.cfg, http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-phone.cfg, http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-device.cfg, polycom_phone1_2.1.X.cfg, polycom_sip_2.1.X.cfg"
      />

            
   <APPLICATION_SSIP500
            APP_FILE_PATH_SSIP500="sip_2.1.X.ld"
   CONFIG_FILES_SSIP500="http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-sip.cfg, http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-phone.cfg, http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-device.cfg, polycom_phone1_2.1.X.cfg, polycom_sip_2.1.X.cfg"
      />

            
   <APPLICATION_VVX600
            APP_FILE_PATH_VVX600="polycom/4.1.X/sip.ld"
   CONFIG_FILES_VVX600="http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-applications.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-features.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-reg-advanced.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-region.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-sip-basic.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-sip-interop.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-site.cfg,http://{host}:8185/[PHONE_MAC_ADDRESS]-sipx-video.cfg"
      />

Problems

When a new phone having 3.2.X firmware revision installed needs to be autoprovisioned it will automatically try to download the polycom/4.0.X/sip.ld application. If it can find it it will try to upgrade its firmware (provided the Upgrader is deployed). But if not, it will use its existing 3.2 firmware but will try to download the 4.0.X profiles specified in the default section of the master config file. However, the profiles are not compatible with the 3.2 sip.ld and the phone will go into an infinite reboot loop. Most likely on the phone will appear "Image is not compatible with the phone".

Changing the default section

In 4.6.0 update 6 we introduced the possibility to manually change the default section of the master config file to whatever firmware revision an admin might see fit. The setting is under System > Phone provision > Polycom Default Firmware Revision. Changing this will trigger a reconfiguration of the master configuration file and a restart of the provisioning servlet.

Although the default remained 4.0.X, admins (especially on upgrading from systems below 4.6.0 update 1) might want to change this to 3.2.X. Note that a 4.0 phone would work with 3.2 profiles, but it will not interpret the bad parameters, displaying a warning.