- A working and already installed Skype for Business environment
- An internal A record with the name ucupdates-r2.<SIP domain> that resolves to the IP address of the Front End pool that hosts the Device Update Web service. In the situation where a UC device is turned on, but a user has never logged into the device, the A record allows the device to discover the Front End pool hosting Device Update Web service and obtain updates. Otherwise, devices obtain this information though in-band provisioning the first time a user logs in (see here).
Using the Skype for Business device update service to update devices is quite easy and implementing it require only some small steps. The following steps explains how to integrate the Polycom Trio 8800 firmware (e.g. 22.214.171.12476) so that all connecting Polycom Trio 8800 devices with an older firmware (e.g. 126.96.36.19909) are automatically updated.
1.) Download the related firmware and place it on one SfB fronted server in your pool. For this howto we need to download the 188.8.131.5276 firmware for the Polycom Trio 8800 (*.cab here) and store the CAB file in "C:\000Firmware\Trio8800\5_4_4_7776" on one from our frontend server in the pool where we use the firmware with.
As best practices the current "old" firmware should be also imported. This allows to use the rollback if something is not working as expected with the newest firmware. So we need also the 184.108.40.20609 firmware for the Polycom Trio 8800 (*.cab here) and store the CAB file in "C:\000Firmware\Trio8800\5_4_4_7609" on one from our frontend server in the pool where we use the firmware with.
As the firmware isn´t replicated between the pools the steps outlined here must be performed for every frontend pool.
2.) Import the "old" device update (if not already done)
2a.) The updates are provided by the SfB webserver. To find the name you need you can use
Then take a note of the name from the webserver
2b.) Once you have the name you can import the firmware via:
Import-CsDeviceUpdate -FileName "C:\000Firmware\Trio8800\5_4_4_7609\PLCM_Update_Trio8800.cab" -Identity "Service:WebServer:sfbpool.int.contoso.com"
Now go to the Skype for Business Control Panel (SfB CLPl) and approve it:
Once done you can see the version string moved from the "pending" column to to the approved version.
4.) Now Import the "new" device update
4a.) The updates are provided by the SfB webserver. To find the name you need you can use
Then take a note of the name from the webserver
4b.) Once you have the name you can import the firmware via:
Import-CsDeviceUpdate -FileName "C:\000Firmware\Trio8800\5_4_4_7776\PLCM_Update_Trio8800.cab" -Identity "Service:WebServer:sfbpool.int.contoso.com"
5.) Back to the Skype for Business Control Panel (SfB CLPl) you can see that the newly imported version is in the pending state. That means it isn´t yet ready to be used by the connecting devices. So the next step would be here to configure a handful devices as "test devices" which will pick up the latest firmware in the pending state before it is approved. These test devices can be created in the Skype for Business Control Panel (SfB CLPl). Browse here to "Clients" then "Test Device" and select "Global Test Device" or "Site Test Device".
6.) Once enough test devices picked up the new firmware and you are sure that the new version is working you can go back to the Skype for Business Control Panel (SfB CLPl) and approve the new versions. After that you can see the new version moved to the approved version and the old one is in the restore version.
The devices can be seen in the IIS log when they request the *.nbt file. Depending if they access the server via internal or external access it looks similar like:
2017-01-22 21:08:14 10.201.4.240 GET /RequestHandlerExt/Files/3PIP/POLYCOM/Trio8800/Rev-A/ENU/220.127.116.1109/CPE/CPE.nbt - 4443 email@example.com 10.201.4.227 - - 200 0 0 755441
They can be also seen in Device Update logs. To check hem browser the following folder on the fileshare from the affected Skype for Business pool
and open the most recent logfile (e.g. RequestHandlerAuditLog_sfbfront01_03232017.log) which should show something like:
03.23.2017 12:41:56,,18.104.22.168,3PIP,23.03.2017 13:41:53,"0004F4F4F4F4","0004F4F4F4F4","POLYCOM","Trio8800","Rev-A","ENU",cpe.nbt;22.214.171.12476;26.01.2017 09:48:00,
In the example above the device queried the server but couldn´t find any new update (keep noted the hour difference it due to different time zones).
If the device can find a new update it would look similar like the following:
03.23.2017 14:04:09,,126.96.36.199,3PIP,23.03.2017 14:04:08,"0004F4F4F4F4","0004F4F4F4F4","POLYCOM","Trio8800","Rev-A","ENU",cpe.nbt;188.8.131.5209;14.12.2016 16:32:00,http://sfbpool.int.contoso.com/RequestHandler/Files/3PIP/POLYCOM/Trio8800/Rev-A/ENU/184.108.40.20676/CPE/CPE.nbt;https://sfbweb.emea.contoso.com/RequestHandlerExt/Files/3PIP/POLYCOM/Trio8800/Rev-A/ENU/220.127.116.1176/CPE/CPE.nbt;18.104.22.16876;25.01.2017 21:31:32
* Find the Device Update Web Service:
* Device Update Web service in Lync Server 2013