This article outlines the currently available options to upgrade a certified Microsoft Teams IP Phone device to the latest firmware version as provided by Microsoft. The concepts and processes are generally the same for all certified IP phones provided by the various Microsoft partners. The example screen captures and documented upgrade process in this article was performed using a Poly CCX 500 phone.
Microsoft Teams-certified desk phones and conference phones utilize a fairly new approach that is a mixture of different approaches used across several generations of IP phones from Office Communications Server to Lync to Skype for Business.
Initially Microsoft designed and owned both the hardware design and software for the very first handset model which came out for Office Communications Server 2007 which was manufactured and sold directly by a few select Microsoft partners. The Polycom CX700 is an example of this phone, commonly referred to by its original development codename of “Tanjay”.
In 2010 with the release of Lync Server Microsoft handed over the hardware design to the partners and simply kept the entire software stack. This second generation of phones saw additional partners getting into the game and vastly different looking devices produced by all. Yet they all collectively behaved the same as they all ran the same Microsoft-owned and maintained firmware comprised of Windows CE and a special Lync client packaged together as Lync Phone Edition. The Polycom CX600 is probably the most recognizable model among all devices in this family which used the development codename of ‘Aries’.
Then, as Lync Server turned into Skype for Business Server a larger shift in the IP phone ecosystem occurred. Microsoft moved completely away from having any direct involvement in the development of the software and turned everything over to the partners. For the first time the hardware, firmware, and user interface were all completely within the manufacturer’s hands to design, maintain, and even distribute. Thus, the 3rd Party Interoperability Program (3PIP) was born and Microsoft published various sets of qualification specifications which outlined what a device needed to be officially support for Skype for Business. Some new Microsoft partners became involved (while others departed) in this era which arguably provided simultaneously both the greatest flexibility and most complex options for desk phones in a Microsoft UC platform. The ability for these devices to support multiple SIP platforms provided capabilities not previously available with phones which only spoke Microsoft-specific protocols. The Polycom VVX and Trio families are ubiquitous examples of the 3PIP generation.
When Microsoft Teams, a solution not built on traditional SIP protocols, inherited the telephony capabilities of Skype for Business it was time to look at the landscape of IP phones yet again. Microsoft opted to leverage the existing Android client for Teams by creating a unique branch of that client designed specifically for IP phones. The phone vendors handle the hardware and firmware, but Microsoft provides the client software specific to Teams which delivers identical capabilities and user experiences across phones from all certified partners.
Microsoft announces new features and capabilities in Teams on the What’s New in Microsoft Teams support page which includes a section specifically for Desk Phones. For example here is the latest update at the time this article was posted.
The date provided (April 23, 2020) is when new these new features and functionality was publicly released in Teams. Like other Teams clients and devices the availability of these features are tied to combination of the software version and the deployment ‘ring’ assigned to a tenant and/or user. Even if the features have been enabled for the tenant a phone signs in with it must still be running a Teams app version of at minimum what is listed. Note that the version number of the Teams app includes a build date (20200319) which indicates that this specific feature set has undergone about a month of testing with phone partners and select customers in through Microsoft’s Technology Adoption Program (TAP).
As will be demonstrated in this article the Teams client version actually packaged into the firmware update by the phone vendor may not exactly match the version reported above as it may include a newer build of the Teams client. The version recorded above is essentially the minimum version needed to support the announced capabilities, but if newer versions are available then those may be selected by the vendor. For this reason slightly different client versions may be observed on what is currently available between different manufacturer’s phones, yet all should contain the same set of published capabilities.
While the base firmware of devices from the different manufactures will differ each will include the same additional components developed by Microsoft. Each of these is a unique Android Package Kit (APK) which perform different functions. The primary component is the Teams application itself. The additional components are used to handle functionality outside of the core Teams client like when communicating with the Teams device management services, Intune/Endpoint Manager services, or locally with the phone’s operating system and hardware. As Microsoft owns most of these agents they are all packaged by the phone vendor into a specific firmware release. (While a mechanism does exist to allow these components to be updated individually that is not something which has occurred yet; so far only full firmware packages provided by the phone’s vendor to Microsoft have been published into the device update repository.)
The version number of the Teams client can be viewed directly on the phone whether the Teams client is currently signed in or not. When not signed in the ‘gear’ icon in the upper right access the limited settings menu. If a user is signed into the phone then either swiping from the left side of the screen or tapping the hamburger menu displays the Settings menu.
- Open the main menu and then select Settings > About.
The Teams client displays both the main client Version (e.g. 1449/220.127.116.119110802) and the Calling Version (e.g. 2019.41.01.2).
The version numbers for the device firmware and additional Teams components are provided in a different menu location though which can be found under the Device Settings menu. This is a vendor-specific menu which may look different across various phone lines and models as this menu is managed by the device manufacturer.
- Open the main menu and then select Settings > Device Settings > About.
The Poly device menu as shown below reports network addresses, the current Firmware Version, and the current version of each additional Teams software component including the primary Teams client app.
While individual phone vendors provide their own distribution points and update processes for phones they will all be able to update software directly from Microsoft via the Teams Admin Center (TAC), regardless of manufacturer. Currently Microsoft provides administrators a method to manually upgrade one or more phones using the admin center, but automatic updates are not yet enabled in Teams.
When an update is available for a specific device model it will be reflected in the device management section of the admin center in both the phone list view and when looking at the Software Health section of individual devices. In the main phones listing the “1 Update Available” status is a selectable link which can be used to easily update a single phone, or the checkbox field on the far-left can be used to select multiple devices and then use the Update action at the top.
With multiple devices selected the desired update packages can be chosen and either scheduled or immediately updated.
The update service will not differentiate between upgrading or downgrading as it only performs a version check to see if what is reported on phone is the same as what version Microsoft currently has published in Teams. Thus if a different version is available for the device then an available update will be reported regardless of whether the published components are newer or older than what the device is currently running.
The remainder of this article will walk through the steps of upgrading a single phone. In this example the CCX 500 handset on older 5.9.12 firmware will be upgraded to the newer 5.9.13 release which Microsoft published to the Teams firmware repository on May 12, 2020.
- Open the Teams Admin Center and under Devices > Phones locate a phone with an available update shown in the Action field.
- Either click the link under the Action field to skip directly to the Update Status menu or click on the link under the the Teams user field to view the Software Health screen and then click the See available updates link on the Firmware option.
- Select Firmware and hit then click Update.
(Note that in the screenshots above the Current version is reported as ‘null’. This is a bug in the older CCX 18.104.22.1682 firmware release where the device would not report the current firmware version on the phone correctly to the Teams Admin Center. This bug has been fixed in the newer 5.9.13.0306 release and future updates will correctly display both the current and new versions in the TAC.)
While the software package is downloading and the update process is happening the Teams client will quietly indicate that by continually scrolling a purple bar across the screen from left to right.
In addition to the Teams client hinting at the update process occurring in the background the Poly CCX firmware goes one step further and actually reports device update status messages at the bottom of the screen. The messages will report the initial start of the process as well as briefly appear on screen for every 10% the process advances until it is complete.
When the upgrade process is done the phone will display a final message that the “Software upgrade is successful” and will automatically reboot. (The Teams client does not yet include a mechanism to delay this reboot based on device activity. So, if a user is actively in a call or actively using the phone while the update is being applied then it will reboot upon completion of the background upgrade process. For this reason it is not recommended to perform upgrades from the TAC during business hours or anytime when the phones may be in use.)
Once the phone has rebooted the new version information can be reviewed to verify that the update was successfully applied.
- Using the information outlined earlier the Teams client version can be viewed from Settings > About while the more detailed list of versions can be found under Settings > Device Settings > About.
Note the new firmware version is reported above as 5.9.13.0306 and the Teams Version shows a build date of 20200408, which is newer than the minimum build date referenced earlier in the Microsoft features documentation.
After the phone has applied the new firmware not all of the new features will be available. For example in this release the Manage Delegates menu will appear under Settings as does the new Ringtone options under the Calling menu.
But the main Calls screen will look no different than before with no Favorites in sight. Currently there is a limitation in the Teams client where if the update was applied while a account is signed into the phone then the user must manually be signed out and back in to the Teams client in order to fully pickup all the new changes. (This Teams client behavior will be addressed by Microsoft in a future update.)
Alternatively resetting a phone to factory settings will accomplish the same goal in addition to giving the phone a fresh start with the new firmware, purging any potentially corrupt configuration or cached data on the phone. This is not a requirement after upgrading at all, but just as a general best practice if any issues occur after firmware updates on devices then performing a factory reset should always be one of the first troubleshooting steps to perform.
Thus, choose to either sign back into the phone or perform a factory reset, there is no need to perform both actions.
Perform only one of the following procedures, whichever is preferred and or applicable to the specific phone.
- For signed-in users assigned the standard User experience open the Settings menu and select Sign out.
- For signed-in users assigned a Meeting or Common Area Phone experience open the Settings menu, select Device Settings, then Admin Only, enter the device’s admin password, and then choose Sign out.
Or as explained earlier simply perform a factory reset on the phone which will erase the current configuration on the phone including any signed-in user credentials. (A factory reset on any Poly phone does not revert the firmware version so the newly installed version will remain intact.)
A factory reset can be invoked directly on the phone using one of these three options depending on the current state of the phone.
- If the phone is not currently signed in then tap the gear icon on the Sign in screen to access the Phone Settings menu, select Admin Only, enter the device’s admin password, select Debug, and then choose Reset to Factory Defaults.
- If the phone is currently sign in then open the Settings menu, select Device Settings, then Admin Only, enter the device’s admin password, select Debug, and then choose Reset to Factory Defaults.
- A special process can be performed during device power-on to trigger a factory reset which may be needed if the phone is currently in an unresponsive state.
Once the factory reset has completed following the Out of the Box (OOTB) wizard to select the desired language and Microsoft Teams phone base profile to return to the Sign in screen.
Whichever process was used the phone should have returned to the Teams client in the default Sign in state.
- Sign in to the phone with a username, phone number, or from another device.
Now the new Calls view can be seen with the Favorites and Recent call lists screens aligned side-by-side. Either tapping the tabs at the top or swiping left/right will switch between them.
- If preferred the user can enable dark mode on the phone by opening the Settings menu and selecting Dark theme. The Teams app will need to restart if the theme is changed.
At this point the phone status should be updated in the Teams Admin Center to reflect the new version.
- In the Teams Admin Center navigate to Device > Phones and then from the All phones list locate and select the phone which was just upgraded. The Health section will be displayed by default and should reflect the newly installed version and shown below.
If the phone Status is displayed as Offline or if the older version information is still showing then click Refresh details. If that does not work and the Last seen timestamp is also stale then it is likely the phone just has not yet checked in with the device management services to report new details. After several minutes it should automatically update and reflect the correct software information from the device.