Integrating Third-Party Voice & Video with Microsoft TeamsIntegrating Third-Party Voice & Video with Microsoft Teams
What's salvageable from Skype for Business deployments, and why is Microsoft putting the kibosh on a lot of third-party voice/video access to Teams?
July 8, 2018
Having attended InfoComm last month, I was once again reminded how large the global audio/video market is. Among the hundreds of vendors displaying wares on the show floor were some well-known companies, including BlueJeans, Crestron, Lifesize, Pexip, Polycom (now Plantronics), StarLeaf, and Zoom, among others.
It occurred to me that this would be a great time to find out what these vendors are doing to integrate their solutions with Microsoft Teams. All of them have Skype for Business integrations, but we've heard from Microsoft that third-party devices and solutions won't integrate with Teams in the same way. InfoComm provided an opportunity to speak directly with some vendors and get a consolidated view of how this integration will occur. Little did I know that approaching this topic was going to end up being complicated and controversial.
Some Necessary Historical Context
To understand the context for current and future integrations with Teams, understanding how Microsoft has handled integration with Skype for Business is helpful. Microsoft opened the kimono, so to speak, with respect to the protocols, signaling, and audio/video codecs used in Skype for Business. In fact, Microsoft published a specification for Skype for Business audio and video, then left third parties to implement their own communications stacks to enable some form of integration. This need for serious development work made integration difficult, but a number of vendors were able to use the spec and create useful solutions.
AudioCodes, Polycom, Spectralink, and Yealink, for example, have implemented the spec in their audio hardware certified by Microsoft to work with Skype for Business. These devices register with the Skype for Business Server, and users would authenticate on the handset with their Skype for Business desktop or mobile client login credentials.
All phones that work with Skype for Business are called third-party IP phones (3PIP), and they interoperate with Skype for Business on premises or Skype for Business Online. Designation as a 3PIP phone becomes important when we discuss hardware devices for Microsoft Teams.
Polycom has taken Skype for Business interoperability a step further with its RealPresence Group Series video conferencing units. Using the Skype for Business spec, Polycom created a software load that allows its video conferencing units to connect and register directly with the Skype for Business Server. This means these room video endpoints can connect directly into any Skype for Business audio/video meeting.
Microsoft also has issued software specifications for its Skype Room System (SRS), versions 1 and 2, group video conferencing solutions. While partners can add a few unique and differentiating customizations, they must implement the Microsoft SRS software on their hardware platforms. Microsoft's intent here is to create room video communications experiences that have the same functionality and look and feel as video sessions using Skype for Business desktop or mobile clients. SRS solutions are available from Crestron, HP, Lenovo, Logitech, Polycom, and Smart Technologies (Smart did SRS v1 only), as well as Microsoft itself (aka the Microsoft Surface Hub).
Third-party audio/video interoperability with the on-prem and cloud versions of Skype for Business
Thus far, we've discussed third-party solutions that integrate with Skype for Business Server when the Skype for Business Server hosted the audio or video conferences. While these integrations came first, others soon followed.
Skype on the Desktop, but Something Else for Video
Skype for Business (or Lync), while not ubiquitous, is nevertheless deployed within many, many organizations. However, a number of these organizations also have video endpoints from Cisco, Lifesize, Polycom, and other third-party vendors, and enterprises have needed solutions that would allow a Skype for Business endpoint to connect into a meeting with video endpoints from other manufacturers. Responding to this demand, companies like Acano and Pexip created on-premises interoperability solutions that allow Skype for Business endpoints to connect into meetings with standards-based SIP and H.323 video endpoints. This strategy worked well enough that Cisco ended up buying Acano in early 2016 for $700 million, and ultimately transitioned this product into what it now calls Cisco Meeting Server.
The cloud-based conferencing providers also got into the Skype for Business endpoint interoperability game, with BlueJeans, Lifesize, Polycom, Starleaf, and Zoom creating solutions that allow Skype for Business users to join meetings with other standards-based (and vendor proprietary non-standards-based) video endpoints from within the UC client. All these third-party conferencing solutions use the Skype for Business audio/video spec to create software that enables interoperability between Skype for Business endpoints and third-party phone and video hardware devices, premises-based video bridges, and cloud-based video conferencing solutions.
The Case for Innovation & User Experience in Teams
The world adjusted to Microsoft's proprietary way of doing audio and video, and Skype for Business and third-party audio and video interoperability solutions seem to be operating harmoniously.
So, why did Microsoft break this with Teams?
Microsoft has articulated that it wanted to create a new communications platform, one that would enable both innovation and a consistent user experience across devices. Consequently, it created a "next-generation communications service" (NGSC) within Teams for handling all audio and video. It built this service using the Skype consumer stack; this means that the consumer version of Skype and Teams share the same underlying cloud communications technology. The service supports the Silk, Opus, G.711, and G.722 audio codecs, as well as H.264 AVC for video. Thus, the A/V protocols are the same as those supported by many third-party audio/video systems.
The signaling, however, is significantly different. Plus, Microsoft's advanced digital signal processing and error correcting techniques provide full-duplex stereo echo cancellation, adaptive network jitter compensation, packet loss recovery/concealment, and prioritization of audio over video to ensure high-quality voice and video communications under diverse network conditions. Some of these capabilities work in the endpoint and some require the cloud service, so the client and service need to be in sync for optimal performance.
Now, many competitive solutions also support these same codecs, provide noise cancellation and error correction, and so on. So, why did Microsoft basically cut off broad third-party creation of audio and video software solutions that integrate with Teams?
Microsoft contends that it's introducing numerous innovations into Teams, and these advanced capabilities require continual updates for both the client and the Teams service. Allowing third-party software in the mix and/or allowing third-party video technology downgrades a communications session to a set of least common denominator capabilities among devices. This in turn breaks Microsoft's aspiration that users have access to advanced capabilities and a consistent user experience across devices: PCs, tablets, mobile phones, desk phones, and video units.
Microsoft shared examples of advanced communications capabilities earlier this year during its Enterprise Connect 2018 keynote. These include:
Natural language meeting controls via Cortana
Microsoft Graph that predicts who we're most likely to collaborate with, which when coupled with artificial intelligence can surface relevant files or even suggest scheduling a meeting
Language translation
Recording and simultaneous transcription
Properly framing a video meeting by scanning a room and detecting where the people in the room are located
Where You & Your Third-Party Vendors Go From Here
Given Microsoft's uncompromising stance that third-party devices need to run Microsoft software, which of your Skype for Business devices will work with Teams, and, as importantly, which won't?
Skype for Business & Teams Interoperability
Skype for Business and Teams users can send and receive instant messages between these respective clients. Any Skype for Business phone or client can call a Teams user directly, and vice versa. However, mixed Skype for Business/Teams client interoperability is for point-to-point communications only. Any multiparty meetings or messaging conversations require everyone to be on the same client to join.
Inbound/Outbound Connectivity With the PSTN
Anytime a Teams user needs to dial out to the PSTN or receive an inbound PSTN call, this call will be routed through a session border controller (SBC). Right now, Microsoft supports SBCs from AudioCodes, Ribbon Communications, and ThinkTel. Of course, if you use Microsoft Calling, you won't need to provide your own SBC. However, if you have your own PSTN connectivity either directly to a provider via SIP trunks or via trunks connected to a cloud or on-premises PBX, you must provide your own SBC.
Microsoft has stated that a number of telephony providers in countries around the world are creating PSTN interconnectivity offerings that will work with Teams. Microsoft is calling this capability "Direct Routing."
Reusing Skype for Business 3PIP Phones with Teams
If you've purchased a 3PIP phone certified to work with Skype for Business, Microsoft has implemented gateways in the next-generation communications service that will allow these devices to work with Teams.
Furthermore, some 3PIP phones run on the Android-based operating system. If you've purchased Android-based 3PIP phones, these devices will be able to receive a software update that will allow them to utilize the new Teams functionality as it rolls out. Specifically, they'll run a Teams app that will use the Microsoft media stack that enables a native connection to the Teams service, without going through any gateways. 3PIP devices that don't run on Android won't receive updated Teams functionality.
3PIP devices that can be updated include the AudioCodes C450HD; Crestron Mercury; Polycom Trio; and Yealink CP960, T56, and T58.
Note that new Teams-specific phones will be appearing from these manufacturers in 2019.
Skype Room Systems & Surface Hub
If you own a Skype Room System from any of the SRS partners, Microsoft has promised that these systems will receive a software update that will make them Teams endpoints. They will then continually receive updates to the Teams-enabled SRS software as Microsoft makes them available. Likewise, any Surface Hub will receive a software update to make it Teams-enabled.
Gateway Services Connecting Standards-Based Video Endpoints to Teams Meetings
Microsoft has chosen three partners, BlueJeans, Pexip, and Polycom, to provide interoperability between legacy video teleconfencing (VTC) endpoints and Teams. These solutions are pretty similar, but there are some differences. They all run as services in the Microsoft Azure cloud and use Microsoft APIs to interface with Team's next-generation communication service. They essentially provide signaling and media gateways between the VTC units and Teams.
Although Microsoft is supporting VTC interoperability, it tends to sort of disparage this kind of connectivity. That's because it breaks the Teams user experience given that the VTC units will have a different user experience from the Teams user. For the legacy video endpoint user, the experience will be similar to how VTC units connect today with Skype for Business endpoints in that the VTC endpoints can see multiple video streams, share content, and see shared content.
For example, BlueJeans offers a "BlueJeans Gateway for Teams" that runs as a service in the Azure cloud. You can purchase this gateway separately in that it doesn't require any additional BlueJeans services attached. The solution is in beta with a number of Microsoft Technology Adoption Program (TAP) partners testing it, and BlueJeans expects that it will be generally available by the end of the summer. The BlueJeans Gateway for Teams will be available for purchase from the Microsoft store, from BlueJeans directly, or from a Microsoft channel partner, and it will likely be offered in both named user and shared port count models. You will be able to configure the service through the Office 365 administrator control panel.
The BlueJeans Gateway for Teams join information can be automatically populated in a Teams meeting invitation. The Join by Video Room contains the coordinates for the VTC to dial out to.
To connect to a Teams meeting, room video systems can either dial the gateway directly using the connection information in the meeting invitation, or BlueJeans can feed the connection information directly to the endpoint using its management software. In this way, if the endpoint supports "one button joining," then a single touch can launch the endpoint, or the touchscreen controller in the room can be used to launch it.
Pexip's solution enables an organization to run a dedicated instance of the Pexip gateway for Teams in the Azure cloud. Pexip will operate the instance for you as part of the service offering, but you'll also receive a bill for the processing that instance requires within the Azure cloud.
Polycom's RealConnect runs as a multitenant solution in the Azure cloud. Polycom's pricing for this interoperability includes any Azure processing. RealConnect is currently in beta with a number of Microsoft TAP participants using it.
Cisco, Lifesize & Zoom
As presently constituted, Cisco, Lifesize, Zoom and any other third-party video solutions won't interoperate with Teams at all (a "sort of" workaround is explained below), unless you use one of the three Teams video gateway partner solutions described above.
StarLeaf Teams Interoperability
StarLeaf has an interoperability solution with Teams; however, it isn't supported by Microsoft and Microsoft warns that it could likely be made interoperable by future Teams updates.
I'm thinking hard about why Microsoft opposes the StarLeaf implementation. In my mind, this solution is actually pretty clever. Here's how it works: StarLeaf deploys a full version of Teams in a Windows virtual machine that it loads on top of a Linux kernel that is running on a StarLeaf video endpoint.
StarLeaf's Maestro management software also runs in the Linux kernel. Maestro has access to Microsoft Exchange and can see a room's calendar or an individual's calendar. When a Teams meeting is scheduled for that endpoint (Skype for Business works too, by the way) the Maestro software uses Teams APIs to connect Teams to the meeting automatically. Simultaneously, it directs the Teams video, via the APIs, to appear on the StarLeaf display. The Teams user interface is never exposed or seen by the StarLeaf user.
StarLeaf's Teams interoperability solution is based on a Linux kernel. On top of that is a Windows VM in which both the Teams and Skype for Business clients run. The Teams video displays on the screen, but the Teams UI is never seen.
Microsoft's official line on this solution is that StarLeaf is distributing the Teams client with its devices without agreed authorization. Microsoft requires authorization from any/all companies to ensure that the software being distributed is secure, up to date, and legally licensed. By distributing Microsoft software without authorization, Microsoft says that StarLeaf is misleading its customers and that customers purchasing this solution will find themselves in an unsupported state from a Microsoft perspective.
Nevertheless, it seems to me that since the StarLeaf solution uses the actual Teams client with a license purchased by the user and this Teams client is updated using Microsoft's standard update methodology, technically this interoperability solution should work fine.
Microsoft states that StarLeaf is using methods in its software to control the Teams application in ways Microsoft didn't design and won't support. I suppose if Microsoft changes the underlying Teams functionality and interface, StarLeaf's interoperability solution could break, but then maybe other applications "approved" by Microsoft would also break.
Polycom Trio
At InfoComm, I saw the Polycom Trio interface with Teams for both audio and video. Here's how this works:
Trio for Teams is an Android-based device; consequently, it runs the Android software Microsoft has built for its partners. Because it's running Microsoft software, it can interface directly to Teams. But, this is for audio only.
Video is a bit trickier. When you use the Trio Visual+ kit with Teams, the video traverses the Polycom RealConnect gateway in the Azure cloud.
The Trio connects directly with Teams for audio. When the Trio Visual+ kit is used for video, the audio/video streams traverse the Polycom RealConnect service in Azure and then go into Teams.
Microsoft has stated that this method is uncertified and unsupported. I can't understand why Microsoft feels this way... when the Trio Visual+ is used with Teams, the audio and video streams are going through a Teams-certified and -supported gateway, Polycom RealConnect. In that sense, the video behaves like any other VTC unit, and it is this less-functional interface that gives Microsoft indigestion. So, although Microsoft doesn't certify or support this solution, it works and it's creative.
Cisco & Zoom Teams Bots
So, what can you do if you're using Cisco or Zoom video? It turns out that both companies have developed Teams bots to launch their solutions. These bots allow you to invite people to video meetings from within a Teams conversation. A link posts to the conversation thread, and when a person clicks on the link, it launches Cisco Webex or the Zoom meeting client.
An example of third-party interoperability via bots built for Teams. These bots place a link in the Teams conversation that launches either the Cisco Webex or Zoom video solution.
The Only Certified & Supported Hardware Systems for Teams
Microsoft is adamant that only those hardware devices that run Microsoft software will interface directly with Teams. We can expect to see new Android-based Teams phones later this calendar year. Note that the clients on these phones will receive updates directly from Microsoft as they become available.
The only video solutions certified and supported for direct integration to Teams will be the Teams-enabled SRS and the Surface Hub. Of course, Microsoft also has approved the above-discussed VTC gateways from BlueJeans, Pexip, and Polycom. All others are unsupported by Microsoft. (By the way, I'm not sure why Microsoft is still using the Skype Room System brand... I expected this to migrate to Teams Room System a while ago, but only time will tell).
Polycom has had a tradition of providing group video endpoints that integrate with Skype for Business. It has the Polycom MSR, which is a SRS product, and MSR will be Team-enabled. Polycom will come out with Teams phones in early 2019, and I am speculating that Polycom will also roll out some Teams-enabled group video endpoints, but nothing has been announced.
We must also consider that Microsoft now supports WebRTC, so Teams meeting participants who don't have Teams can join using WebRTC. This capability will first be available on the Microsoft Edge browser, but will shortly thereafter work on other browsers that support WebRTC (Chrome, Firefox, and, ultimately, Safari).
In Conclusion
Microsoft seems to be putting the kibosh on broad third-party, non-supported interoperability with Teams, making partners and end users jump through a lot of hoops to get the devices (or software loads for SRS solutions) to work with Teams. However, another way to look at this, and the way Microsoft views it, is that Teams is a new, highly functional, dynamic collaboration environment to which it will continuously add capabilities. Enabling these new capabilities will require some changes on the cloud service side, as well as some on the software client side. Thus, Microsoft needs to be able to update the Teams service and the Teams clients simultaneously to provide end users with the very best communications experience; anything less gives users a non-optimal experience and ultimately reverts to a least common denominator set of capabilities. We need only look at the BlueJeans, Pexip, and Polycom VTC integrations to see this: The users on the non-Teams video units only receive a small subset of the Teams capabilities.
Controlling the user experience seems to be a common yet growing thread in the industry. With Webex Teams, for example, Cisco is also attempting to optimize the experience by controlling the user interface. And, like Microsoft, Cisco supports a WebRTC version of its Webex Teams client, and it can support VTC units.
Likewise, Zoom is expanding its video conferencing solution. In addition to supporting third-party VTC devices, Zoom now has its own Zoom Room for group video conferencing, the Zoom desktop client (not WebRTC-based, however), and mobile device clients.
Where do I stand on all of this?
I use video... a lot. My primary go-to is desktop video, but I do have a SIP-based personal video unit on my desk that supports 1080p video, and I run Skype for Business (via Office 365) on the desktop. But, now I also run Webex Teams when communicating with people from Cisco and Microsoft Teams when communicating with people from Microsoft.
Personally, I detest downloading new video clients, and I've been known to tell vendors that if their system doesn't support Skype for Business or WebRTC, I won't join the meeting unless I do so by telephone audio, simply because I don't want to clutter my computer with a ton of different video clients.
Nevertheless, it appears the approach in our industry -- and certainly that of the major vendors -- is to provide a full solution with an enhanced user experience and advanced capabilities. However, to get this you need to use that vendor's client, whether it be the desktop software, room video units, or even third-party peripherals (like phones) running that vendor's software.
I had hoped that WebRTC would perhaps overcome some of this need for specific clients, and that we would just use the browser as the primary interface. In such a scenario, the common user interface device is the browser serving up the communications experience of whatever service the browser happens to be pointed at. Clearly WebRTC has some limitations, yet Cisco recently said that its new Webex WebRTC client can give the end user a fully functional collaboration user experience.
Each vendor needs to differentiate its offering, and clearly part of that differentiation is in the functionality it offers. To obtain the very best user experience and to provide access to the underlying capabilities does require control of both the client and the cloud service. This is clearly where Microsoft is headed with Teams and Teams device interoperability, and like it or not, we're all going to be headed in this direction with all of our collaboration vendors. Like I tell my clients: There has never been a better time than now to consider consolidating your communications and workspace/UC platforms into a single vendor solution.