With the recent release of UCS 5.0 for Polycom VVX Phones automatic firmware updates are now supported directly from the Lync Device Update service.  This is the same functionality which Lync Phone Edition devices have always used for firmware updates and now eliminates the need for a separate provisioning server in most Lync environments leveraging VVX Phones.

Although the 5.0.0 release added the ability to leverage the Device Update service it was not yet possible to actually leverage the feature until a new update was published.  Now that the 5.0.1 maintenance release is available then this and all future releases can be handled natively by the Lync server.

The update behavior of the VVX phones is very similar to that of Lync Phone Edition, yet is even more flexible.  For LPE devices the update service is queried immediately after the initial registration and then again after a hard-coded period of time.  If a new update is available LPE devices will wait for a certain period of inactivity on the phone and then automatically download, waiting again for more idle time before rebooting itself to complete the process.  VVX devices operate in the same way but also offer two important improvements: (1) the inactivity timeout is configurable and (2) when a new update is available the device will prompt the user to install it immediately if desired, or defer if not.  In LPE it is not possible to control the update behavior in this manner and it is all automatic.

Note that this article is quite lengthy as the entire process is described in detail, accompanied by various log entries and other examples.  Yet in practice using the Lync Device Update service for VVX phone updates is identical to the process used by LPE devices.  So when working with a Lync Server already setup for LPE updates then adding VVX updates is as simple as importing and approving the new packages.  The experienced Lync administrator can skip to the last section entitled “Lync Pro Guide” for the abbreviated steps.

Firmware Versions

The following table lists Lync-qualified UCS releases which support native device updates and will continue to be updated as future releases are posted online, including links to both Release Notes and the software packages.  The .cab format links are the correct firmware packages for using with the Lync Device Update Service, but the traditional package format (.ld) for use with a basic provisioning server is also included for convenience.

Additional releases in the same version will typically include an letter revision code (e.g. Rev B) to indicate a newer version, in addition to the last four digits being incremented.  As these letter codes come from engineering pre-release builds then whichever package makes it to general availability is the code that is used, so that is why they simply aren’t contiguous (e.g. A, B, C) and will often jump to a ‘D’ or ‘P’.

Version Date Details Links
9/6/2013 Initial release with support for Lync Device Update services in both Lync Server 2010 and Lync Server 2013.  Also includes support for the following new features:
* Boss/Admin (Shared Line Appearances) – Phase 1
* Better Together Over Ethernet (BTOE) – Phase 1
* Lync Address Book Web Query (ABWQ)
* Call Park and Retrieval
* Peer-to-Peer Video Calling (Lync 2010 only)
Release Notes
Firmware (.cab)
Firmware (.ld)
5.0.0 Rev D
10/1/2013 Maintenance release including hotfixes and the following enhancements:
* Driver support for new VVX600 hardware revision with redesigned display
Release Notes
Firmware (.cab)
Firmware (.ld)
5.0.1( 10/21/2013 Maintenance release including hotfixes and the following enhancements:
* BTOE Improvements (e.g. Automatic Pairing)
* Shared Line Appearance Improvements
Release Notes
Firmware (.cab)
Firmware (.ld)
5.0.1 Rev P
2/7/2014 Maintenance release including various hotfixes
Release Notes
Firmware (.cab)
Firmware (.ld)
4/11/2014 Maintenance release including hotfixes and the following enhancements:
* Enhanced Presence support
* Improved Favorites display on the main screen
Release Notes
Firmware (.cab)
Firmware (.ld)
5.0.2 Rev D
4/29/2014 Security release including hotfixes to address the following issue:
* Open SSL Heartbleed vulnerability fixed and replaces previous release
Release Notes
Firmware (.cab)
Firmware (.ld)
7/15/2014 Major release including Lync Qualification, hotfixes and the following new features:
* Improved Lync Contact Card support with Call to and Transfer to Voicemail
* Improved Boss/Admin transferring behavior
* PIN Authentication support from web UI
* Color Expansion Module support for Lync (previously only available in 4.x firmware)
Release Notes
Firmware (.cab)
Firmware (.ld)
5.1.1 Rev C
9/2/2014 Maintenance release including hotfixes and the following enhancements:
* Addressed bandwidth issues seen on some VVX models with CAC
* Added new parameters to control various physical and display options
Release Notes
Firmware (.cab)
Firmware (.ld)
9/2/2014 Maintenance release including hotfixes and the following enhancements:
* InfoBlox and other non-Microsoft DHCP Server support for Option 43
* Call transfer from Lync client to PSTN phone in BTOE scenarios
* E911 and Location Services improvements
Release Notes
Firmware (.cab)
Firmware (.ld)
9/30/2014 Maintenance release including hotfixes and the following enhancements:
* Added the “Lync Sign In” page in the web management UI
* Updated ICE stack for Edge media traversal scenarios
Release Notes
Firmware (.cab)
Firmware (.ld)
3/30/2015 Major release including hotfixes and the following new Lync features:
* Enhanced BToE 3.0.0 client with Audio playback support
* Centralized Conference Control Protocol (CCCP) support
* Exchange Autodiscover Support
* Safe Transfer for Boss/Admin scenarios
* Music On Hold
Release Notes
Firmware (.cab)
Firmware (.ld)
BToE Client (3.0)
7/9/2015 Maintenance release including hotfixes and the following enhancements:
* Support for new VVX 201 phone model
* Support for Location Based Routing (LBR) in Lync Server 2013
Release Notes
Firmware (.cab)
Firmware (.ld)
5.4.0 Rev A
9/25/2015 Minor release including hotfixes and the following new features:
* Updated support for Skype for Business 2015 Server environments
* Registration for Skype for Business Online tenants in Office 365
* Improved first time user sign-in experience including Time Zone selection
Release Notes
Firmware (.cab)
Firmware (.ld)
BToE Client (3.1)
12/22/2015 Minor release including hotfixes and the following enhancements:
* Shared Line Appearance (SLA)
* Enhanced Flexible Line Key (EFLK) support
* BToE support for Windows 10
Release Notes
Firmware (.cab)
Firmware (.ld)
BToE Client (3.3)
5.4.2 Rev D
2/18/2016 Maintenance release including various hotfixes Release Notes
Firmware (.cab)
Firmware (.ld)
4/1/2016 Maintenance release including various hotfixes Release Notes
Firmware (.cab)
Firmware (.ld)
5/6/2016 Maintenance release including various hotfixes Release Notes
Firmware (.cab)
Firmware (.ld)
11/30/2016 Major release including hotfixes and the following new features:
* Skype for Business themed UI for VVX 500/600 models
* New Web Sign-In authentication method
* Call Transfer UI improvements and support for distribution list expansion
* Troubleshooting improvements with QoE support and device log uploads
* Support for Exchange integrated Unified Contact Store (UCS)
* Enhanced BToE Pairing methods
Release Notes
Firmware (.cab)
Firmware (.ld)
BToE Client (3.4)
5/11/2017 Minor release with hotfixes and several enhancements including:
* Press-and-hold to call any available number for a contact
* New parameter to hide/show Web Sign In option
Release Notes
Firmware (.cab)
Firmware (.ld)
BToE Client (3.5)

Major release with hotfixes and several enhancements including:
* Extended RegEx pattern support with client-side number normalization enabled by default
* Support for multiple emergency numbers
* Updated SfB User Interface on VVX 4xx, 5xx, 6xx series phone models
* Join button available for Skype Meeting created by external parties
* Device Lock screen redesigned with various improvements and contact photo support
* Multi-Factor Authentication support added for some third parties like PingFederate and Okta

Release Notes
Firmware (.cab)
Firmware (.ld)
BToE Client (3.6)

Major release with hotfixes and several enhancements including:
* User’s DID displayed on lock screen

* Web Proxy Auto discovery (WPAD) Support
* Support for the SILK audio codec
* Hotdesking support for Lync/SfB Server deployments
* Manual network-based BToE pairing without the need for physical Ethernet uplink

Release Notes
Firmware (.cab)
Firmware (.ld)
BToE Client (3.7)

Additional details on features provided in new releases are located at the end of this article.


In order to successfully download the UCS firmware package from the Lync Server to a VVX phone the device must first be running at least version which was the first officially released version to support the Lync Device Update service.  The phone must also be successfully registered to a Lync Server in order for this capability to function.

The example used in the remainder of this article is a Polycom VVX 410 phone running firmware, registered externally via an Edge Server to a Lync Server 2013 environment.

The following preparation steps do not need to be performed on any devices but are included to illustrate key behavior in the process as well as verify a functional device update service.

  • On the phone browse to Settings > Status > Diagnostics > Lync Device Update to view the latest status.


As this example environment does not yet have any device update packages for VVX phones imported into the Lync Server then the phone should report that there is currently no update available.

If there were any problems connecting to the device update service on the Lync Server (internally or externally) then this status window would report a connection failure.  To further validate that this device was successfully connected to the update service the server’s device log can be checked for any entries associated with the device.

  • On the phone browse to the Settings > Status > Network > Ethernet menu to identify the Media Access Control (MAC) address of the device (e.g. 00:04:F2:81:0E:93), or just look at the sticker on the bottom of the phone.


  • On the Lync Front End server browse to the device update server log directory and open the most recent log file with the current date in the name (e.g. RequestHandlerAuditLog_blync_10162013.log)



  • Search for the most recent entry which contains the same MAC address of the phone.  Note that the timestamp should coincide with the Contacted At time as reported on the phone itself.  There is a one hour time zone difference between the Lync Server and the phone in this example (8:57:48 and 9:57:48).

10/16/2013 08:57:48,,,3PIP,10/16/2013 9:57:46 AM,”0004F2810E93“, “0004F2810E93″,”POLYCOM”,”VVX410″,”Rev-2“,”ENU”,cpe.nbt;;8/22/2013 2:56:00 AM,

The entry above shows that the device queried the update service but the server does not have any newer updates currently approved, thus no download information was passed to the device.  Also note the revision that was reported in the entry (e.g. Rev-2) as that information is important when approving any pending updates.

Import Updates

This part is nearly identical to how Lync Phone Edition updates are imported and approved in Lync Server, as documented in this previous article.  The only differences are how the updates are packaged and where they are stored on the server.

Prepare Restore Version

As important as upgrading the firmware is, having a way to reverse the update is just as imperative.  It is always possible that a new firmware version does not operate as expected in some environments so if an issue is discovered soon after upgrading to a new version then being able to roll-back the devices to the previous release is critical.

Existing phones would have been updated to the 5.0.0 release using some means other than device update service so if the 5.0.0 version is not loaded into the Lync Server prior to approving the 5.0.1 version then it will not be possible to roll-back firmware by using the Restore feature.  Instead the older updates would need to be manually imported and approved using this same process.

  • Download the 5.0.0 UC Software release in [CAB File] format (ignore any link for [Combined] or [Split] as those are used with the traditional Polycom SIP Phone firmware upgrade process).
  • Open the downloaded file (e.g. Polycom_UC_Software_5_0_0_Lync_CAB_file_release sig.zip) and extract any or all of the individual CAB files for the desired phones.  In this example only the firmware file for the VVX 410 is needed (PLCM_Update_VVX410.cab).


  • Copy the extracted file to any directory on the Lync Front End server (e.g. C:\Temp) and then using the Lync Server Management Shell run the following cmdlet to import the package, supplying the name of the Lync Server as the target service.  Repeat this cmdlet for each CAB file which is required.  (To easily import all packages see the Lync Pro Guide section at the end of this article).

Import-CsDeviceUpdate -Identity service:webserver:lync.schertz.name -FileName C:\Temp\PLCM_Update_VVX410.cab

Upon successful completion of the cmdlet the firmware files contained within will have been automatically copied by the server into various directories in the Lync Server share.  The parent  folder (DeviceUpdateStore) is the same as where other device updates are stored, but instead of being placed under the UCPhone subdirectory these packages as well as device updates from other qualified devices like Snom are stored under the 3PIP sub-directory.  (‘3PIP’ is an acronym for Microsoft’s 3rd Party Interoperability Program for qualified Lync phones).



Although the package is now installed on the Lync Server it is not yet available for applicable devices to utilize.  A quick check of the device updates status on the phone at this point would show that there is still no available update.

  • Using the Lync Server Control Panel browse to Clients > Device Update and verify that the newly added device appears in the list.  As there are multiple hardware revisions of the same phone model there may be more than one line item per device model.  Also note that the firmware version is listed as the Pending version.


It is important to understand what the three version fields represent in the device update configuration.  The Pending Version is the version of files which were last imported into the server using the Import-CsDeviceUpdate cmdlet.  That cmdlet basically puts the software into a staging area which does nothing until an administrator either approves or cancels the pending update.  The Approved Version is exactly as it sounds: the version of software which the administrator has most recently approved for a given device mode.  The Restore Version is initially blank and will be populated when this process is performed again with another newer update.  When approving a newer update the previously approved version will be moved to the Restore Version field which can then be used to easily roll-back devices to that older version.

  • Highlight the desired Model/Revision entries and then select Approve from the Action menu.  This will move the target version number from the Pending Version to the Approved Version field.


If the approved version is the same version that the device already has installed then the device update service will not pass any download URL or new version details to the phone when it queries the service.  Thus the status on the phone will still display no available updates.

Prepare New Version

Now that the initial version is configured and approved it is ready to be moved into the Restore Version field by approving another version.  Note that Lync Server allows either newer or older versions to be approved, so this process can be used to either upgrade or downgrade devices depending on the need to do so.

The same exact steps are repeated again, but this time the newer firmware package is imported and approved which will automatically move the previous Approved version into the Restore version field.

  • Download the latest UC Software CAB release from the table at the beginning of this article.
  • Open the downloaded file (e.g. Polycom_UC_Software_CAB_files_5_0_1_4068_sig_Lync.zip) and extract any or all of the individual CAB files for the desired phones.


  • Copy the desired files to any directory on the Lync Front End server (e.g. C:\Temp) and then using the Lync Server Management Shell run the following cmdlet to import each package, supplying the name of the Lync Server as the target service.  Repeat this cmdlet for each CAB file which is required.  (To easily import all packages see the Lync Pro Guide section at the end of this article).

Import-CsDeviceUpdate -Identity service:webserver:lync.schertz.name -FileName C:\Temp\PLCM_Update_VVX410.cab

  • Using the Lync Server Control Panel browse to Clients > Device Update and verify that the newly added devices appear in the list.


Test Device

Now that a newer version has been imported and is in a pending state it can be used with a test device, yet all other devices would not be able to get the newer version as it has not yet been approved.  It is always recommended to install a new firmware release on a handful of test devices to make sure there are no immediate negative impacts to the devices in the environment before approving the version for mass deployment.

  • Using the Lync Server Control Panel browse to Clients > Test Device and select Global Test Device from the New menu.
  • Enter an informative Device Name, leave the default Identifier Type selection of MAC Address, and then enter the MAC address of the device which was identified in the early Preparation step of this article (e.g. 0004F2810E93).  Enter only the hexadecimal characters and do not include any separators like spaces, colons, or dashes.


    • Commit the changes and then trigger a restart on the associated phone by browsing to Settings > Basic > Restart Phone, or by using the MKC explained in the following tip.

Tip: Polycom UCS devices support various Multi-Key Combinations (MKC) of which can be used to quickly perform actions or access menus otherwise buried a few levels deep.  Previous articles have covered the MKC which is used to quickly access the Base Profile menu (1 4 9).  Two more helpful MKCs are available to instantly trigger either a reboot or a restart of the phone.  Note that these MKCs can vary between different UCS device families like VVX, SoundPoint IP, SoundStation IP, etc.

Simply press and hold the three buttons of the desired MKC together at any menu or screen on the phone and after 2 seconds the associated action will be triggered.

  • A basic Restart simply restarts the phone’s application software and thus will perform a fresh registration, among other tasks.  The MKC to issue a Restart on VVX model phones is 1 8 3.
  • A full Reboot is generally the same as manually power-cycling the device so that the BootROM and hardware self-checks are performed, then the application software is loaded.  The MKC to issue a Reboot on VVX model phones is 1 0 3.

Restarting (or rebooting) the device will force the phone to immediately query the Lync Device Update Server after registration so that there is no need to wait for the phone to query the device update service on its own schedule.  After the restart completes and the phone registers to Lync then the following alert message should appear on the home screen.


Viewing the device update server log again will show the latest query from the device, but this time it will include the internal and external device update services URLs with the absolute paths to request the firmware package specific to the device model/revision.

10/16/2013 12:24:20,,,3PIP,10/16/2013 1:24:18 PM,”0004F2810E93″,”0004F2810E93″,”POLYCOM”,”VVX410″,”Rev-2″,”ENU”,cpe.nbt;;8/22/2013 2:56:00 AM, http://lync.schertz.name/RequestHandler/Files/3PIP/POLYCOM/VVX410/Rev-2/ENU/; https://lyncweb.mslync.net/RequestHandlerExt/Files/3PIP/POLYCOM/VVX410/Rev-2/ENU/;;10/10/2013 4:35:06 PM

If the previous alert message has disappeared from the phone’s screen before an action is taken it can be accessed again by pressing the More button on the home screen to cycles through the additional soft key options to locate the Dev Updt menu.

  • Select the Details action to see the pending version number and the Inactivity Timeout value.


At this point a choice can be made whether to immediately install the new update or instead wait for the phone to perform the action on its own.  If the phone is left idle for 15 minutes (900 seconds) then it will automatically reboot, download the update, and then apply it.  If the Reboot option is selected from this menu then the phone will immediately begin the update process.

The firmware packages for VVX phones contain two parts: the BootROM files called the ‘Updater’ and the actual phone operating system and programs called the ‘Application’.  The update process downloads and installs these parts individually with reboots in between each.

  • On the phone’s home screen select More  > More > Dev Updt and then select Reboot to force the update process.

The device will reboot and then display a status of ‘Updating’ shortly afterward.  It will download the new Updater and reboot again.  After the second reboot the same ‘Updating’ message will appear again, this time followed by a status of ‘Downloading new application’.  After the application data is downloaded it will be extracted and installed into the device.  A third and final reboot will be triggered and then the phone will return to its normal status, signing back into the Lync Server.

  • To see how the device downloaded the update files simply view the most recent IIS W3SVC log file on the Lync Server.  Depending on whether the phone is internal or external the logs will be captured in one or the other of the two W3SVC log directory on the Lync Server.  The higher number directory name (e.g. 34578) is for the external web services logs, while the lower is for the internal web services logs.



  • Scroll to the end of the file to view the latest activity or search for “GET /RequestHandler” to locate the entries where the device requested the various downloads.  The first occurrence was when the BootRom was upgraded, the second occurrence was for the application was upgraded.

2013-10-16 18:45:27 GET /RequestHandlerExt/Files/3PIP/POLYCOM/VVX410/Rev-2/ENU/ – 4443 – FileTransport+PolycomVVX-VVX_410-UA/ – 401 1 2148074254 4

2013-10-16 18:45:27 GET /RequestHandlerExt/Files/3PIP/POLYCOM/VVX410/Rev-2/ENU/ – 4443 vvx410@mslync.net FileTransport+PolycomVVX-VVX_410-UA/ – 200 0 995 293

  • To verify the new firmware version has been successfully installed on the phone browse to Settings > Status > Platform > Application > Main and verify the Version number matches the expected new firmware version (e.g.


Approve Updates

Once sufficient testing has been performed then it is time to approve this new version for all desired devices, models, and hardware revisions.

  • Highlight the desired selection of device entries and then select Approve from the Action menu.


In this example any VVX 410 models connected to this Lync Server will be able to upgrade to version and in the event it is desired to roll-back the restore version of is available.  All approved devices will begin to automatically update given the behavior previously explained.  Based on the default behavior all online phones will have checked-in with the Device Update service within 2 hours and any device left idle for at least 15 minutes will trigger the upgrade process.

Downgrade Device

The following steps outline how to test downgrading devices using the Restore version assigned in the Lync Device Update configuration.

  • Using the Lync Server Control Panel browse to Clients > Device Update and highlight the desired Model/Revision selection and then select Restore from the Action menu.  For this example only the current Rev-2 revision phone will be restored to the older version.
  • Refresh the control panel window and verify that the Restore version entry (e.g. has moved to the Approved version field on the selected device rule.


  • Reboot the associated phone to trigger a new device update service query and then view the details of the update information alert to verify that the Version on Server is in fact older than the Current Version.


  • Select Reboot to trigger the update process to download and install the older firmware version.

Additional Parameters

As mentioned earlier, some of the behavior in the device update process can be controlled by the administrator.

Because the following parameters are specific to controlling behavior in UCS then there is no way to utilize the Lync Server to provide these settings in-band.  A separate provisioning server would still be needed to manage a quantity of devices in this manner.

Parameter (Description) Minimum Default Maximum

This parameter controls whether the Lync Device update service is used or not.







The amount of idle time (in seconds) in which the device requires before rebooting to initiate the update process.


(5 minutes)

(15 minutes)


(30 minutes)


Show (1) or suppress (0) the information pop-up message which appears on the phone when a new firmware version is available.







The amount of time (in seconds) between requests from the phone to the Lync Device Update service to query for a new, approved update.


(1/2 hour)


(2 hours)


(8 hours)

For example, to disable the Lync Device Update capability on the devices import the following sample configuration file into the phone.  In order to modify any individual device parameters it is required that the device.set and device.<parameterName>.set parameters are set to ‘1’ at the same time, otherwise the phone will ignore the configuration change.

<?xml version=”1.0″ encoding=”utf-8″?>
< Lync device.set=”1device.prov.lyncDeviceUpdateEnabled.set=”1device.prov.lyncDeviceUpdateEnabled=”0” />

Another scenario would be to leave the device update feature enabled but modify each of the behavioral parameters.  The following example shows how to increase the inactivity timeout to 30 minutes, disable the pop-up alert when a new update is available, and increase the server poll interval to 8 hours.

<?xml version=”1.0″ encoding=”utf-8″?>
< Lync lync.deviceUpdate.userInactivityTimeout=”1800″ lync.deviceUpdate.popUpSK.enabled=”0″ lync.deviceUpdate.serverPollInterval=”28800″ />

Lync Pro Guide

As promised here is the short-form set of instructions for importing all VVX firmware images from a new update package into a Lync Server and then immediately approving them.  This section can also serve as a quick reference guide every time a new update package is released.

  • Download the latest UC Software release in [CAB File] format.  Unpack the files to a directory on the Lync Server (e.g. c:\temp\update).
  • Delete any unneeded CAB files, retaining only the files for the specific device models in the environment.  Do not delete the PowerShell script (importCAB.ps1).  In this example only VVX 310, 410, 500, and 600 models are desired.
  • Open the Lync Server Management Shell and change to the directory with the extracted files and execute the importCAB.ps1 script.  Ignore any “import file not found” errors which will appear for any CAB files which were deleted in the previous step.


  • Issue the following cmdlet to approve all pending VVX device update packages.

Get-CsDeviceUpdateRule | Where-Object {$_.Model -like “VVX*”} | Approve-CsDeviceUpdateRule

New Features

This section will include details on various features added throughout new updates.

  • The April 2014 release ( is primarily comprised of hotfixes but some improvements have been applied to the design of the main screen.  For any tagged Lync  Favorites saved to the home screen their presence icons have been updated to a rectangular shape to better match the Lync client appearance.  All Lync Enhanced Presence states are now supported (e.g. Out of Office, In a Call).  Additionally the main line key will now display the registered Lync user’s Display Name instead of the phone number or extension which was displayed in previous releases.


  • The September 2014 release ( contains a new page in the web management interface (which is disabled by default in Lync Base Profile as explained in the same article mentioned in the previous item).  This Lync Sign In page, located under the Utilities menu, provides fields to enter either Windows NTLM credentials (Login Credentials) or a Lync Phone Number/Extension and PIN (PIN Authentication) credentials directly into the phone.


  • The September 2015 ( release is documented in the article Polycom UCS 5.4 for VVX Phones which includes a preview of the latest features.
  • The November 2016 ( release is documented in the article Polycom UCS 5.5 for VVX Phones which includes detailed documentation of the newest features.

By Jeff Schertz

Site Administrator

83 thoughts on “Updating Polycom VVX Phones”
  1. Hi Jeff,
    Your blogs are always very helpful. I have a question about the second paragraph in this blog.
    "Although the 5.0.0 release added the ability to leverage the Device Update service it was not yet possible to actually leverage the feature until a new update was published. Now that the 5.0.1 maintenance release is available then this and all future releases can be handled natively by the Lync server."
    Are you saying that after I have the installed on the phones the ability to use Lync for future upgrades will work as noted in this blog?

    1. No, I'm saying that already works with 5.0.0. So any release after that can be downloaded from the Device Update Service. See my latest article.

      1. Hi Jeff,

        Some of my posts were missed in the published conversation:
        My current scenario:
        I have used the web interface to get VVX phones (models 300, 310, and 410) updated from 4.1 to I have approved the in the Lync Server. The phones do not receive the Device Update notification. I have to reset the phones to factory settings (the phone stays at before the phone will recognize that Lync has an approved update. I have left the phone at for hours and overnight both logged in and logged out, but the phone never notices the available update. I have also rebooted the phones several times to no avail. Once I reset the phone and log in, the update is available immediately.

        1. Here are my notes from troubleshooting:
          10/24/2013 11:22 AM
          Begin with a new phone from the factory or reset the phone to factory settings.
          Power on the phone, catch the cancel during initial boot to set the Base Profile to Lync.
          Use a web browser to get to the IP address of the phone and verify the software is at a minimum of upgrade as needed.
          Make sure a newer version of Lync CAB files are imported to the Lync Front End Server(s)
          Example of command:
          Import-CsDeviceUpdate -Identity service:WebServer:FQDNofServer -FileName “C:VDSPhone UpdatesPLCM_Update_VVX310.cab” -Verbose
          Reset the phone to factory settings again.
          Set the Base Profile to Lync again.
          The phone will now be able to recognize that Lync has an update available.

          Currently there are three versions of 5.0 software for the VVX phones:

          The above process must be followed with the reset after the initial installation when Lync provides the update, otherwise the phone will not get the update from Lync.

    2. Hi Jeff, all my VVX phones gets the latest .cab firmware form the SFB server and it updates without issues ps:(all these phones are in one building), however the VVX phones that register to our SFB SBA’s they don’t get the software, these SBA’s are in different locations via our MPLS network, could this be firewall blocking these updates?


      1. Possibly, as they should be receiving the same download URL from the actual Front End Server/Pool. Check the device logs to see where the download process is getting stuck at.

  2. Here are my notes from troubleshooting:
    10/24/2013 11:22 AM
    Begin with a new phone from the factory or reset the phone to factory settings.
    Power on the phone, catch the cancel during initial boot to set the Base Profile to Lync.
    Use a web browser to get to the IP address of the phone and verify the software is at a minimum of upgrade as needed.
    Make sure a newer version of Lync CAB files are imported to the Lync Front End Server(s)
    Example of command:
    Import-CsDeviceUpdate -Identity service:WebServer:FQDNofServer -FileName “C:\VDS\Phone Updates\PLCM_Update_VVX310.cab” -Verbose
    Reset the phone to factory settings again.
    Set the Base Profile to Lync again.
    The phone will now be able to recognize that Lync has an update available.

    Currently there are three versions of 5.0 software for the VVX phones:

    The above process must be followed with the reset after the initial installation when Lync provides the update, otherwise the phone will not get the update from Lync.

    1. This is a known issue and is being addressed in a future release. If the Base Profile is set to Lync in an earlier version and the device is updated to 5.0.1 in some cases the device update parameter will not be enabled as desired. Moving the phone to the Generic Base Profile and back to Lync Base Profile will resolve this, as does resetting the phone to factory (which automatically set the profile to Generic).

  3. I am in the process of testing a similar scenario where Lync provides the update. The question to be answered is: Do we have to manually reset the phone after the update from Lync in order for the phone to recognize when Lync has the version approved?
    10/25/2013 9:01 AM
    Good Morning,

    I have completed my tests. Unfortunately, the second reset is still a requirement before Lync will automatically update the VVX phones.
    The instruction below are definitive. I will summarize my further testing here.

    Test A:
    I used the web interface to get the phones to is approved in Lync.
    I had to reset the phone again before it would recognize the update was available from Lync.
    I approved in Lync
    The phone automatically updated to the

    Test B:
    I used the web interface to get the phones to is approved in Lync.

    I had to reset the phone again before it would recognize the update was available from Lync.

      1. Hi Jeff, I have been working with RE: Polycom Technical Support (SR # 1-440929232) to determine a cause for the above behavior.
        Here is the response:
        Jeremiah, I consulted with our Lead Microsoft Solution Architect as well as some of our Voice Solution Architects on the problematic behavior we’re seeing. The problem you’re running into is due to the following parameter not being enabled after the 4.1.x ->5.0 upgrade:
        device.prov.lyncDeviceUpdateEnabled 0,1 0
        Set to 1 to enable the automatic software update feature. Note that changing the value of this parameter reboots the phone. This Parameter is set to 0 when the phone's Base Profile is set to Generic and 1 when the phone's Base Profile is set to Lync.
        This parameter is toggled when the base profile is toggled, and only while running version 5.0.x (as the parameter had not yet existed in previous software builds.) There does not seem to be any logic during the upgrade process or any of the subsequent reboots to check the base profile setting and set this parameter appropriately – requiring you to either toggle the base profile manually, or set this parameter manually during provisioning or by uploading a configuration file. Per the Deploying Polycom UC software for use with Microsoft Lync Server documentation (linked below) this behavior seems to be working as intended; however, the problems you’re facing are likely to be seen by other customers, and presumably was overlooked during the initial design.

        This behavior seems to be working as intended, which typically requires a feature request through our sales channel to get the current behavior changed. However I’ve been advised to escalate this through support as this scenario presents a technical challenge with no clear expectation that the scenario should fail. For now, and if possible, please consider utilizing option 66 on your DHCP server to point the phones to a provisioning service (ftp, tftp, http) where this option can be configured automatically. I’ve attached a bootserver.zip which was provided by one of my Voice Solution Architects as something they typically have customer’s deploy, and which enables the update parameters. If deployed, you shouldn’t see this issue again as the required parameters would be set during the provisioning process upon boot-up.
        Sorry, I could not attach the .zip file for obvious reasons.

  4. Hola Jeff;

    With the new VVX phones, we are noticing an audio path cut through delay of up to 5 seconds on most firmwares since we completed our 2013 migration. The same extension on a CX600 phone completes immediate audio path setup (same scope, same port, same air in the room).

    Have you seen this before?

    Just figured I'd hit you up while I open a case with Polycom.

    1. I know this has been 4 years since you’ve posted this so I’m sorry for reviving it, but did you ever find a resolution? I tried opening a ticket with MS and they blamed Polycom, so I contacted Polycom and they blamed our networking equipment, and our networking equipment people blamed MS…. so I’m just hoping someone else has found a solution.

  5. Jeff, have you seen that vvx600's don't check-in with the lync update service but VVX500's do? We have successfully updated the VVX500 phones but the lync device update log never displays any VVX600 handsets.

    1. If all devices are running the same release version then the behavior should be no different between all VVX modes (300,400,500,600). I suggest performing a full factory reset and reprovisioning one of the 600s to see if that resolves the issue.

      1. Hey Jeff, factory reset the phones and the VVX500s update but the VVX600's never do. nor do the vvx600s ever appear in the Audit Logs. Tried again with the new firmware released today and the 500 updated without issue but the vvx600 no dice.

        1. Are you sure that both models are running the exact same firmware? There is zero difference between the device's behavior as they run the same exact firmware. Also make sure you are resetting all configuration containers (Web, Device, etc) by selecting options 1, 2, 3 & 5 form the reset menu in that order.

          1. Yes all phones are on 5.01.4068, the vvx410s and vvx500's checkin but never a vvx600. Updated one VVX600 manually via the web interface directly to polycom and it is now on but still never is in the log file.

            Factory reset the vvx600s no change. Where is this reset menu you speak of?

          2. Make sure you have enabled the Device Update feature using the parameters shown near the end of this article. Even in Lync Base Profile this feature is not (yet) enabled by default.

          3. Jeff Thanks! It was device.prov.lyncDeviceUpdateEnabled="0" changed that to device.prov.lyncDeviceUpdateEnabled="1" and phones are updating.

            Its strange that for the vvx410 and vvx500 the setting was enabled when the lync profile was turned on but not for the vvx600.

            Since we don't have a Config FTP Server anymore (no need for us) we just exported the config edited the value and imported it back in the handset.

          4. That setting was disabled by default in a more recent firmware version and is not any different between the phone models. My best guess is that is related to the timing in which the updates were applied to the different phones. A future version will be reestablishing device update as 'on' by default with the Lync Base Profile again to resolve this.

    1. Currently O365 only supports Enterprise Voice accounts homed in an on-premises Lync server deployed in the Hybrid model. The VVX phones work fine in this model as they are already supported for on-premises Lync deployments

      1. Would be great to see support for customers who keep their voice traffic on one service and want to hook up pure VOIP through hosted O365. We currently use the Lync client to call and IM back-and-forth, not to dial out to the PSTN.

  6. Hi Jeff – the new Version does not Play the external ringback tone anymore, sometimes it Plays a locally generated tone and sometimes no tone at all. Any info on that?

    1. Johann, can I assume these calls are traversing a Ferrari media gateway ? 🙂 I would suggest contacting Polycom directly to report this issue.

      1. We already did; seems to be related to early media. When the phone gets Session Progress with SDP it stops generating local RB tone. After switching between handset and loudspeaker in either direction it begins playing the external RB tone! With Mediant at this stage it will play both tones!

  7. Hi Jeff – Your information around VVX phones interop with Lync is invaluable. I currently have a customer using VVX600 with colour expansion module which currently only boots with firmware (As far as I can tell). Which is restricting us from updating those phones with 5.x releases of firmware and a lot of feature enhancements. Are you aware if will work with the expansion module? Also if you believe there will be a future release soon with a codec support for Lync 2013 video calling? Appreciate the blogs. Thanks

    1. Yes, the next release (5.1) will be the first 5.x version to include support for Expansion Modules (aka sidecars). The current 5.0.2 does not support sidecars. Lync 2013 video calling will not be included in the next version, that is farther away. I recommend discussing this with your local Polycom or partner sales representative for any more details on feature roadmaps.

  8. HI Jeff,

    We are trying to update vvx 600's to 5.0.2 from 5.0.1. I do see the "Dev Updt" button and when i click on it nothing happens. Also under settings> Status > Diagnostics > Lync Device Update > i do see the new version as available. I've rebooted several times, changed the type of update from Site to Global all to no prevail.

    Any ideas?

    1. Ryan, short performing a full reset on the device and reprovisioning the phone I'm not sure what to suggest, I haven't seen this issue myself.

      1. I showed this to polycom and they too were perplexed. One thing to note is that you can't use the provisioning server AND Device update at the same time (I actually like using the Provisioning server as i get more control). What we ran into was our master config file told all our vvx phones to be at 5.0.1 then within Lync i pushed up 5.0.2. What i found was the VVX phone would update to 5.0.2 from Lync device update then reboot then the master config would say "nope, you should be at 5.0.1" and we found ourselves in a reboot loop.

        We can't do away with the provisioning server cause our phones are shipped from Polycom with update 4 on them.

        1. You can use both at the same time, you just need to make sure that there are no "sip.ld" files stored in the provisioning directory. The master configuration file does not control the updates, it only points the phone to the location of them if they exist. without any firmware files the phones will have nothing to download during bootup and will instead fallback to using the Lync Device Update location after a successful SIP registration to Lync.

          1. We are in the process of deploying a thousand VVX410 phones which come loaded with UCS v4.1.5. Therefore we need to have the provisioning server to update the phones.

            As long as the firmware versions are the same on both the provisioning server and Lync the phones will not fall into a 'upgrade/downgrade loop'.

            After the bulk of the phones have been updated I will remove the sip.ld files and use the Lync update service. As I like the 'test device' functionality.

            It's annoying that there isn't any way to allow the initial update to occur via the provisioning server and then all future updates to occur via Lync so we do not have to worry about new phones running older firmware not being updated.

          2. New phones will begin to ship with 5.1.x or later software so this is only a temporary issue. I would use over the provisioning server for now. Also you can emulate the test device approach on a provisioning server using the device’s MAC addresses in much the same way.

          3. Hey Ben,
            I was in the same boat as you and wanted to use Lync as my central "update" point for all phones. Now that i am much more familiar with the provisioning server i greatly chose it over Lync device update. You have so much more control with the provisioning server.

            Also be sure that all your phones are a 5.1.2 at the latest. 5.1.1 has a bug which doesn't allow the VVX phone to obtain Location Information (LIS) from Lync

        1. Correct, port 80 is required for all Lync phones (LPE and VVX alike) as that is how the device will receive the root CA certificate prior to establishing a trusted secure connection via TLS (443).

  9. Hi Jeff, do you know if there is a way get reports on a device's software version? We pushed out updates and it appears most phones have received the latest software but a couple haven't. I'd like to see which ones are on the old software so I know which ones I need to address for whatever reason. Thanks!

    1. Jordan, the 'IP Phone Inventory Report' provided in the Lync Monitoring SQL Reporting Services will show this information. For LPE devices the User Agent string contains the firmware version.

  10. We have a number of VVX 300 up to 600 all running
    I was having a similar problem to what others mentioned where the device wouldn’t pull updates from Lync, I could see it talking to Lync in the device update logs but it just wouldn’t see the update.

    device.prov.lyncDeviceUpdateEnabled=”1″ was already set as was device.prov.lyncDeviceUpdateEnabled.set=”1″

    I had tried other recommendations of making the test device a site test instead of global, but it didnt work.
    In the end turning on device.prov.tagSerialNo=”1″ got it to see the updates.

    After all the testing though we decided the provisioning server gave better control for our requirements and went with that instead, allows us to baseline different devices with different versions and it will auto provision anything with firmware older than 5.0 which seems to still be a common occurrence.

  11. I think the biggest enhancement in UCS 5.3.0 for us was the ability to transfer a call directly to voicemail… perhaps it’s something worth noting in the table too.

  12. The CAB file for 5.3.0 dropped this week. Make your plans to deploy the new BToE version to desktops at the same time that your phones update.

  13. Hi Jeff, Hopefully you can help me understand BToE.

    This is my current situation:
    We get Lync client through our PCs. The Lync server is in UK but we have sort of a WAN in the sense that we connect to UK using a VPN, so we can connect internally to the Lync server. At the moment, we currently use Lync as a communication tool to call UK. I am guessing I have a sip trunk connected to my Lync client account because I can make phone calls to land lines or Cell phones. (Feel free to enlighten me if I am not saying this right)

    When I started the project of upgrading the phone system at my site, I looked at the VVX phones for one reason and one reason only; BToE! At our site only a few people use Lync to make Lync to Lync calls even though everyone has a Lync client account. So my thought process was to buy VVX series connect to a Cloud PBX service vendor and the few of us that use Lync we could use the phone to make phone calls through Lync using BToE that VVX phone offers just as we use the CX100 polycom phones.

    I called Polycom techs a couple of times and they told me this could be done, but when I bought the VVX phone I decided to call one more time to confirm that this could actually be done and the last Polycom tech told me that I could use the phone for one or the other but not for both. Is this true? I thought I could start the calls from my PC and the VVX phones would be used as we use the CX100 usb polycom phone? Could you tell me if I can do this or not?

    Please forgive my spelling I know it is atrocious.

    1. Victor, if that vendor supports VVX phones with their Lync voice service then it should work fine. Leveraging BToE will allow users to use the Lync client to perform the call actions (call, hangup, transfer, etc) yet the phone will handle the media. You can also use the phone itself (while still tethered to the PC) for all available features.

  14. Hi Jeff, If I’ve already provisioned the VVX phone to a Cloud PBX service, could I still use the VVX polycom phone as the USB CX100 polycom phone? In other words as a USB audio device and make phone calls from the Lync Client?

  15. Hi Jeff,

    You wrote:
    ” The April 2014 release ( is primarily comprised of hotfixes but some improvements have been applied to the design of the main screen. …. Additionally the main line key will now display the registered Lync user’s Display Name instead of the phone number or extension which was displayed in previous releases. ”

    We want to display the phone number or extension instead of the username on Common Area Phones, how can I accomplish this via a config file?

    Thanks and regards,

  16. have VVX 410 phones and want to program one of the extensions(line keys) for parking/unparking calls with indicator lights. Anyone have any suggestions? I’ve seen several instances describing as “parking lot” either 701/702 or Park 1/Park 2 Just hit the line key to unpark as red light or flashing

  17. Hi Jeff – I wanted to find out if there are going to be Lync CAB files for the latest UC Software release 5.5.0. I am already on 5.4.4.

  18. Jeff,

    We are still getting phones shipped with 4.1.x software. Many of our locations can’t even get to the phone’s webpage to simply manually update the phones to at least 5.x. I know with 5.x, you can enable it manually on the phone for the web server configuration, but in the older firmware, that option is not there and it is automatically turned on.

    What do we need to do to get a phone on 4.1.x to open the web configuration page?

    If we can’t do that, how on earth can we even upgrade the firmware from the phone itself? This is very troubling.

    1. Make sure you are purchasing product SKUs which end in -019. They are configured specifically for use with Lync/SfB, including more current 5.x firmware already installed.

  19. Hi Jeff,

    I just downloaded the build to my test device. Everything seems to be working except the regOnPhone parameter. When I have an expansion module attached to the phone, the contacts/favorites are not ALL being put on the expansion module but are on the phone screen and expansion module. In previous 5.4.x versions this worked fine but I have not been able to get the regOnPhone parameter to work on anything with 5.5. Any ideas?

    1. John, I took a look at this and the parameter appears to not longer valid in 5.5.1. I’m checking with engineering to see if it was renamed or if this is a bug. Stay tuned…

      1. Apparently the parameter was renamed to “up.regOnPhone” in the 5.5 release so just update your configuration and that should fix it. I just validated on my phone and it’s working again.

        1. Thanks so much! It was driving me nuts because I couldn’t update my phones to the latest release because of this.

  20. Hi All, first off wishing everyone a fantastic 2017!

    Now straight down to business 🙂 I have VVX 500’s on the latest F/W 5.5.1 and using BToE 3.4 on Win10 running SfB Clients.
    When the VVX’s attempts to establish Media Over Edge Pool they stay sticky to one Edge Server?
    We are running x2 DNS Balanced Edge Servers, and for example if I stop the Services on Edge01 the VVX will continue to perform TURN Request on Edge01 even though its services are stopped ? This is the case even if I bonce the VVX Device as well stays sticky to Edge01 for example..
    Has anyone got any ideas as I have exhausted mine!
    (Full Fat clients are fine no issues)

  21. Hi Jeff, quick question:
    how does the VVX phone know that a newer/older/different firmware file has been placed on the provisioning server?

    Does the VVX download the full firmware image every day, and only during processing the downloaded file can it realize that “oh, the file I just downloaded from the provisioning server is the same one I am actually running, so nothing to do here, update process stop” ?

    I am scoping my question (as it was obvious from the question itself) to provisioning server based approach. The Lync device update service advertises the exact firmware version so the phone can know it it matches the running one or not, without performing the full download.

  22. Just imported the 5.5.1 update into a Lync 2013 system, but I noticed, it only added itself as a Pending version on the Rev A of each phone type, not on any of the other versions of the same phone. Not sure how to get around that.

  23. hi,
    I have a VVx500 upgraded it from 5.4 to After a couple of days it got back to 5.4.
    I used the Software upgrade feature of the phone.
    What could have caused this?

  24. Was successfully piloting version 5.5.1 with O365 with a customer. Customer came in the office on Monday and found phone has rebooted and downgraded to fw 5.4. What would cause this? No provisioning server is installed on premises, just leveraging steps outlined in this document.

  25. Hi Jeff. Any idea when (or if) the Soundpoint (IP5000 / Soundstation) etc will be supported via this method? So i no longer need my FTP provisioning server…

  26. I am trying to figure out why test devices in the environment are no longer picking up the latest firmware. If I approve the firmware all the phones are picking it up correctly. Not optimal!
    Any ideas as to why the test units won’t get latest before approved? I see them hitting the update logs in webservices.
    environment is SFB on-prem.

  27. Hello , Thank you for this amazing blog and all your efforts.

    I am new to phone provisioning altough this article is a bit old it is very interesting (similar artcile with SfB 2015 server ?) .

    I would like to know if I can provision my phone (firmware + custom config ) from the Skype for Business server 2015 . It looks like it is possible for the firmware but I am not sure for the config.

    Firmware : Import .cab firmware and use device setup.
    Config ? : Use http/ftp + use dhcp option , no other option more Skype Server 2015 integrated ? .

    Thank you.


    1. You can use either the traditional Polycom provisioning server method or the Skype Device Update method covered in this article. Do not use both methods though, choose only one. If different versions were installed and both options enabled then the phones will be put into an infinite loop of upgrading/downgrading between both provided versions.

      1. Hi Jeff,

        thanks for a great article.
        Tried to use your method but we also have the traditional provisioning server and I am wondering if it doesn’t cause some issues.

        On the provisioning server the sip.ver file contains info about soft 5.5.2 while on the Lync server, I have uploaded 5.6.3.
        Problem is the devices are not updating. The server has 5.6.3 version under pending status, Global test user is added with the correct Mac, so that test user should in fact get the patch applied to their VVX. Tried with some more phones but none were patched. I can also see that request handler is sent to the server but the server does not return back the info to the Polycom VVX that there is a newer software. Im wondering if this is because provisioning server is also running and has a different soft version than Lync server has imported. Master config file on the provisioning server 0000000.cfg allows Lyncdeviceupdate as it is set to 1.

        Got any ideas if this is allowed to have traditional provisioning server and yet user lync server to update the phones?

Leave a Reply

Your email address will not be published. Required fields are marked *