The future of Microsoft Teams in VDI
Today we embark on another chapter of the Microsoft Teams story in VDI, with the public preview of a new optimization architecture that brings closer alignment between physical and virtual desktops.
Last year we released a fully revamped Teams app, built on the premise of speed, performance, flexibility, and intelligence, providing a foundation for game-changing new AI-powered tools. Now we are bringing a new media engine that will elevate the user experience in virtual desktops with new features, and further quality, performance and reliability improvements.
Before Microsoft embarked on this journey, we listened to several years’ worth of customer feedback. We collated info from tech support cases. We discussed with IT Admins how they troubleshot. Many of these learnings were incorporated gradually into the existing optimization architecture, stabilizing the platform and paving the way for the transition to the next generation of our technologies. Then, we reviewed our roadmap delivery in the past years, and extrapolated the work required for upcoming features and how we could release them faster.
As a result, Teams in VDI has been re-architected from the ground up, along four major pillars. In this post I will share insights into the goals and expected benefits of the modularization and decoupling that have been implemented for VDI customers.
The public preview applies to Azure Virtual Desktops / Windows 365 and Citrix DaaS/CVAD, for Windows endpoints.
(News will follow shortly for our VMware customers).
Benefits of the new VDI solution for Teams
Additional features: New media engine that replaces WebRTC, called SlimCore (which is the native media engine used today in the new Teams desktop client) will allow parity between the native Teams app and VDI Teams. While not all new features can come day-one to VDI, we are no longer limited to what WebRTC supports, hence feature gaps can be closed quicker.
Performance improvements: The same quality and reliability you experience in native Teams client for Windows is now enabled for VDI. With this we are reducing time to join a meeting and call drops, higher success rate when creating or joining a meeting or screensharing, latest codecs and more.
Auto-updates and decoupling: Microsoft keeps SlimCore evergreen on the user’s device. Whenever you update new Teams on the virtual desktop, Microsoft updates the media engine transparently and automatically for the user (and the Admins), without prompts or reboots. Thanks to this mechanism we can guarantee higher quality since we avoid having newer Teams versions interact with outdated stacks in RD Host/Client or Citrix VDA/CWA. New features can be introduced in Teams+SlimCore directly, without upgrading your VDI infrastructure.
Streamlined support: With almost no dependency on VDI Partner’s stack, Admins only need to call Microsoft for any issues encountered, who owns the solution end to end. We reviewed the mean time-to-resolution of all the cases we had in the past and plotted a new course. We aim to reduce incident severity, frequency, and likelihood of service downtimes. And we are also doubling down investment on self-help / troubleshooting, with vast documentation on this topic.
Architecture
The new architecture has several key differences from the existing optimization, which relied heavily on our VDI Partner’s stack:
First, you should not expect any changes on new Teams: version 24124.2315.2911.3357 is already bundling all necessary code (vdiBridge in the diagram) for offloading Audio/Video/Screensharing to the new media engine.
The biggest changes are on the client-side. It has been very expensive for IT Admins to keep upgrading the Remote Desktop client or the Citrix Workspace app every time there was a new feature, and this was only exacerbated in BYOD.
To put this problem behind us for good, we are introducing a new client-side plugin (MsTeamsPlugin.dll in the diagram) responsible for virtual channel establishment with Teams on the Server (if you are a Citrix customer, don’t forget this Studio policy), and subsequently for media engine downloading.
Remote Desktop clients for Windows 1.2.5405 or Windows App 1.3.253 (or higher) are bundling this plugin already! Just upgrade to those versions are you are ready to go. And by enabling auto-update on the RD Client or Windows App, you always guarantee to have the latest plugin.
Citrix Workspace app for Windows 2402 can present a UI to the user for opt-in installation. Citrix IT Admins can also deploy this plugin (MSI-based installer) out-of-band on top of any CWA higher than 2203 LTSR / 2302 CR using this link. Global App Config Service is also a viable option for plugin deployments.
The deployment of the plugin is envisioned to be a one-time thing: we have limited the amount of code and logic on it so we can avoid asking customers to constantly upgrade it.
Once a plugin ‘makes it’ to the client, Teams will send instructions for the specific media engine version that it needs and the plugin will do the rest: it will contact Microsoft’s public CDN, download an MSIX package and automatically stage/register it on the user’s device. No reboots or Admin privileges!
Whenever you upgrade Teams on the Server, a new media engine version will be deployed on the client. No more upgrades required on your VDI stack (Server or Client). Plugins are backward and forward compatible with SlimCore versions, and Plugins will clean up unused or obsolete SlimCore versions as well.
Why is this important? Our telemetry showed that version drifts between Teams and deprecated media engines in the RD client / Citrix Workspace app that were not kept up-to-date (one, two or even three years behind sometimes!) were the main sources of issues / regressions.
In contrast, with the new optimization, we have Teams and SlimCore tidally locked, simplifying testing and aligning it with the exact combinations that customers will deploy.
Types of traffic handled by the new Media engine
There are some changes on this area, so make sure you have a conversation with your networking team. ID 11, 12, 47 and 127 must be reachable from the branch office.
On the endpoint, SlimCore is responsible for:
Interactive Connectivity Establishment (ICE) for STUN and TURN procedures
Real-time media (audio, video, screensharing) using SRTP (over UDP or TCP).
Where bandwidth isn’t limited, Teams optimizes media quality, including high-fidelity audio, up to 1080p video and screensharing resolution, and up to 30fps (frames per second) for video and content. All the same media codecs we use in the native Teams desktop client for Windows are now available for VDI. Hardware acceleration for GPU-enabled devices is also available. Customers looking to implement Quality of Service / DSCP marking on top of the media can now do so from Teams Admin Center.
Signaling (this is a key difference when compared to the existing WebRTC-based optimization) using UDP 3478 with fallback to HTTPS.
For more details, please visit Microsoft 365 URLs and IP address ranges – Microsoft 365 Enterprise | Microsoft Learn.
New features
On top of all the features that are already supported with the current WebRTC-based optimization, we are adding a long-awaited set of new ones:
Advanced meeting capabilities
Gallery view 3×3 and 7×7
Custom meeting backgrounds uploaded via Teams admin center
1080p
Include computer sound while sharing screen
Hardware acceleration on the endpoint
Presenter mode
Teams Premium (*)
Telephony and voice capabilities
Location-based routing and media bypass
Quality of Service (QoS)
Human Interface Device (HID)
Noise suppression
Better supportability
via Teams admin center
Call Quality Dashboard
(*) for a full list of Premium features that are supported/unsupported, please check out our official documentation
Get started today
Today marks a new era for VDI, we have started the rollout of the new optimization (it takes a few days to propagate to 100% of the users).
And we are just getting started.
As we progress from public preview to GA, we will continue to add more blogs about different topics (supportability and troubleshooting, performance, single server scalability testing, quality of service, and more).
I would encourage you to try out the new optimization architecture and share your thoughts with us. We look forward to hearing from you and helping you get the most out of Teams!
If you’re an admin, learn how to enable the new optimization for Teams today.
Microsoft Tech Community – Latest Blogs –Read More