There was a requirement to upgrade all the handsets to version 220.127.116.1134 (Rev DE). They already had a Polycom provisioning server configured, so usually this would be a simple task – copy the latest firmware files to the FTP folder on the Provisioning server and the phones will automatically download the firmware. The catch this time was that they wanted to do it in 3 stages.
First, they wanted only the IT team handsets upgraded (5 devices), then the Admin staff (22 devices), and then the remainder of the handsets (100+). They wanted to test the new firmware before deploying it globally. My chosen solution was to upgrade each handset individually.
I went ahead and logged onto the first handset and attempted to download the desired firmware directly from the “Polycom Hosted Server”. I tried multiple times, but this method kept failing with an error message. This can happen if the Polycom server is offline, or a corporate proxy server is blocking internet access.
I then decided to setup a “Custom Server” so that the handset can grab the .sip.ld files from a local server instead of the internet.
There are 5 main steps in setting this up:
- Move all existing .sip.ld files out of the FTP folder
To prevent the handsets from automatically downgrading to the older version, move the existing firmware files to a sub folder on your Polycom Provisioning Server. UCS folder is the FTP root folder. I’ve moved my firmware files to C:\UCS\Firmware\531 – originals\
- Download and copy the new .sip.ld files to a separate folder
You can get all the VVX firmware files from this Polycom site: http://downloads.polycom.com/voice/voip/uc_sw_releases_matrix.html
Always download the (Split) version.
NOTE: Place the files in a separate subfolder as you did with the original firmware files. If you place them in the root FTP folder (e.g. C:\UCS\) then all your handsets will start to download it.
- Create file “firmwareversions.xml” inside the FTP folder
Below is an XML sample file you can use. Create it in the root of your FTP server. In my case it will be C:\UCS\firmwareversions.xml
- Modify “firmwareversions.xml” file with correct parameters
Modify the XML file to reflect your folder structure and the IP address of your Polycom Provisioning server. Also, the FTP Username:Password pair must be correct. My XML file uses the default Polycom credentials and Provisioning Server IP address of 10.0.0.92.
The only XML nodes you need to modify are <VERSION> and <PATH>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
- Access the Web Configuration Utility on a VVX410 handset and update firmware from “Custom Server”
On the VVX, navigate to “Utilities > Software Upgrade”
Select the “Custom Server” Radio button.
Enter the following txt into your “Custom Server Address”, modifying the details to suit your environment: ftp://PlcmSpIp:PlcmSpIp@10.0.0.92/firmwareversions.xml
Click on “Check for Updates”. This should populate the “Available software versions” with the list of items from your XML file. In my case it shows 18.104.22.16834.
Click “install” and accept the license agreement.
At this point the VVX will download the file and upgrade. It takes about 10min.
Now repeat step 5 on each VVX you want to upgrade :)
- Upgrade remaining handsets
Once the IT and Admin staff are happy with the new firmware, simply copy the firmware files from your subfolder C:\UCS\Firmware\542\ to the FTP root C:\UCS\ and the remainder of the handsets will automatically download it.
Setting up a Polycom Provisioning Server: http://blog.schertz.name/2013/05/provisioning-polycom-sip-phones/
Official Polycom Documentation on Setting up a Custom Server: http://support.polycom.com/global/documents/support/technical/products/voice/Software_Upgrade_Option_FP67993.pdf