Microsoft has released a new VDI solution for Teams. This is a how-to guide detailing the steps necessary to enable the SlimCore Optimization for Teams. We hope this guide will ease your effort to enable the new solution in your environment. If you have further feedback that you want to share with us, please use this feedback form.
Note: Microsoft has started the General Availability rollout for Citrix customers starting December 09, 2024. If you have the Teams and the client versions mentioned in the Requirements section below, SlimCore optimization is Generally available.
Teams version - 24295.605.3225.8804, Client version - 24110115722 as seen in Settings -> About Teams
VDA - 2203 LTSR CU3 or above, 2305 CR or above
Citrix Workspace App - 2203 LTSR (any CU), 2402 LTSR or 2302 CR and above
Endpoint
Windows 10 1809 (SlimCore minimum requirement)
GPOs must not block MSIX installations for SlimCore
Minimum CPU: Intel Celeron (or equivalent) @ 1.10 GHz, 4 Cores, Minimum RAM: 4 GB
Note
SlimCore Optimization is currently available only for Windows endpoints. If you have Mac or Linux clients, this solution will be available in the future. Please reach out to your Microsoft representative to understand the timelines
SlimCore Optimization is not yet supported for published (seamless) Teams applications. The support will be available in the near future. Please reach out to your Microsoft representative to understand the timelines. If you're deploying New Teams as a published app, use Citrix HDX Optimization
After meeting the prerequisites, follow the steps below to enable SlimCore Optimization
MsTeamsVdi.exe
is the process that makes all the TCP/UDP network connections to the Teams relays/conference servers or other peers.
Please ensure the client device has access to the endpoint IDs 11, 12, 47 and 127 as described below
ID |
Category |
ER |
Addresses |
Ports |
Notes |
11 |
Optimize required |
Yes |
52.112.0.0/14, 52.122.0.0/15, 2603:1063::/38 |
UDP: 3478, 3479, 3480, 3481 |
Media Processors and Transport Relay 3478 (STUN), 347 (Audio), 3480 (Video), 3481 (Screenshare |
12 |
Allow required |
Yes |
*.lync.com, *.teams.microsoft.com, teams.microsoft.com , 52.112.0.0/14, 52.122.0.0/15, 52.238.119.141/32, 52.244.160.207/32, 2603:1027::/48, 2603:1037::/48, 2603:1047::/48, 2603:1057::/48, 2603:1063::/38, 2620:1ec:6::/48, 2620:1ec:40::/42 |
TCP: 443, 80 | |
47 |
Default required |
No |
TCP: 443, 80 |
Used for SlimCore downloads and background effects | |
127 |
Default required |
No |
TCP: 443, 80 |
For additional context, refer Networking considerations in Microsoft documentation
Configure Virtual channel allow list policy to allow Microsoft Teams-specific virtual channels. These virtual channels are necessary for the new Teams client to be able to connect to the client-side plugin. For more information on the Virtual channel allow list, see Virtual channel security.
For SlimCore optimization, New Microsoft Teams needs three custom virtual channels. Use the wildcards to allow ms-teams.exe
executable and custom virtual channels:
MSTEAMS,C:\Program Files\WindowsApps\MSTeams*8wekyb3d8bbwe\ms-teams.exe
MSTEAM1,C:\Program Files\WindowsApps\MSTeams*8wekyb3d8bbwe\ms-teams.exe
MSTEAM2,C:\Program Files\WindowsApps\MSTeams*8wekyb3d8bbwe\ms-teams.exe
Note:
Wildcards for Virtual channel allowlist policy are available in CVAD 2203 LTSR CU2 and above (or) Citrix Virtual Apps and Desktops 2206 CR and above.
The VDA machines must undergo a reboot for the policy to take effect.
The path for MSTeams installation changes as it’s an MSIX application and hence wildcards are necessary. Make sure to allow list the exact lines recommended above
As SlimCore optimization needs the SlimCore engine on the endpoint, you need to install the MSTeams plugin. This plugin is responsible for managing and downloading SlimCore. Citrix provides multiple ways to get the plugin installed on the endpoint
Requirements
Make sure that the Citrix Workspace app is installed in administrator (system-wide) mode
In options 1, 2 below, Citrix Workspace app fetches the MSTeams plugin from Microsoft CDN. Hence, make sure that the client has access to it for smooth installation.
Locations of the dll plug-in when the plug-in is installed through below options with Citrix Workspace app admin install: 64-bit: C:\Program Files (x86)\Citrix\ICA Client, 32-bit: C:\Program Files\Citrix\ICA Client
Option 1: Install the plugin through Citrix Workspace app
The installation through GUI can be used if you have unmanaged client devices and the CLI method can be used in managed device scenarios
Citrix workspace app provides the option to install the MSTeams plugin through GUI during a fresh install or a manual upgrade scenario.
In addition, administrators can also deploy the MSTeams plugin through CLI
Use the following command-line switch: /installMSTeamsPlugin
Example: CitrixWorkspaceApp.exe /installMSTeamsPlugin
For a fresh installation, the minimum requirement is - Citrix Workspace app for Windows 2402 LTSR. For in place upgrade scenarios, the minimum requirement is - Citrix Workspace app for Windows 2405 CR.
Option 2: Install the plugin through Global app configuration service
This installation method can be used if you have managed or unmanaged endpoints
Requirements
A valid Citrix cloud account. If you need to create one, see here
The addresses <https://discovery.cem.cloud.us>, <https://gacs-discovery.cloud.com>, and <https://gacs-config.cloud.com> must be contactable
For on-premises StoreFront deployments, the StoreFront URL must be claimed before you can configure settings. Follow the instructions here to claim the URL.
MSTeams plugin installation through Global app configuration service (GACS) is supported from Citrix Workspace app 2405
Plugin installation is only supported in CR versions and auto-updates must be enabled.
Steps to configure GACS
Sign in into Citrix cloud. In the left hamburger menu, click on Workspace configuration
Click on the App configuration tab
Select your store and click on configure
Change the Workspace URL channel from Production to Test Channel in case you want to test
In the Updates and plugins section, filter with Windows
Expand Citrix Workspace App Version, select Windows, and click Edit.
Uncheck. Use default settings, select Update type Current Release (CR), and select Fast for Delay group. Click Save Draft and click on Save settings when the pop-up window appears
Click on Publish drafts and save settings when the pop-up window appears
Configure MSTeams plugin Install
Expand Microsoft Teams plugin management
Select Windows and Edit
Uncheck Use default settings, select Install and update, and check Install the plug-in before the end user logs in. Click Save Draft. Click on save settings when the pop-up window appears
Click on Publish drafts and save settings when the pop-up window appears
For additional context and screenshots for the steps above, refer to the POC guide for GACS and GACS documentation
Option 3: Install the plugin through Virtual channel plugin manager
Customers can also use Virtual channel plugin manager to easily deploy MSTeams plugin across their endpoint base.
Virtual channel plugin manager is designed to deploy plugins across client endpoints for specified applications which require endpoint components to provide an optimized experience (e.g., Microsoft Teams SlimCore Optimization). The plugin manager detects Teams application running on the VDA and pops a notification to the user to install the plugin on the endpoint to achieve the best experience when running the application.
This feature is configured by a Studio policy by the administrator and allows administrators to deploy the plugin in BYOD scenarios as well. For more information, see Virtual channel plugin manager
Option 4: Install the plugin manually
This installation method can be used if you have managed endpoints and especially if your endpoints don’t have reachability to the Microsoft CDN
If you’re not on the latest versions in which the plug-in installation through CWA is supported (or) unable to use GACS, you can download the plug-in MSI MsTeamsPluginCitrix.msi and deploy using tools like SCCM on top of any existing supported Citrix Workspace app versions mentioned in the main requirements section
Information about Plugin updates
Ideally, this step would be silent and the MSTeams plugin takes care of the SlimCore installation. The staging and registration relies on the App Readiness Service (ARS) on the endpoint. It's possible that the MSIX package installation is blocked by registry keys set by a Group Policy or a third-party tool.
The following registry keys could block new media engine MSIX package installation:
AllowDevelopmentWithoutDevLicense
These three registry keys can be found at either of the following locations on the user's device:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock
HKLM\SOFTWARE\Policies\Microsoft\Windows\Appx
Some policies might change these registry keys and block app installation in your organization because the admins set a restrictive policy. Some of the known GPO policies that could prevent installation include:
Prevent nonadmin users from installing packaged Windows apps.
Allow all trusted apps to install (disabled).
AppLocker or Windows Defender Application Control can also prevent MSIX package installation. Hence, make sure there's no blocking configuration or policy, or add an exception for SlimCore MSIX packages in Local Security Policy -> Application Control Policies -> AppLocker.
All the above information in this Step is created and documented by Microsoft. Refer SlimCore MSIX staging for additional context.
Once all the above steps are done, Teams will first launch in WebRTC optimization. Two Teams app restarts are needed to get to SlimCore Optimization.
You can check in the Teams client that you are optimized with the new architecture by going to the ellipsis (three dots ...) on the top bar, then selecting Settings > About. The Teams and client versions are listed there
If you're optimized, you can see MsTeamsVdi.exe
running on your endpoint
Additional features
As the new VDI solution for Teams is based on SlimCore, the same engine that is used for native Microsoft Teams, it allows you to achieve feature parity between native and VDI
Some of the features that are not available on VDI 1.0 (Citrix HDX Optimization) and available in Microsoft SlimCore Optimization are as follows
1080p
Hardware acceleration on the endpoint
Gallery view 3x3 and 7x7
Quality of Service
Noise suppression
HID
Presenter mode
Teams premium features
User-uploaded background effects (Coming soon)
Zoom +/- (Coming soon)
Performance improvements
These include reduced joining time in a meeting, stability and an overall faster and better user experience
Auto-updates and decoupling
Now, you no longer have to wait for the new Citrix Workspace app to get released in order to receive updates. As the components of Teams Optimization are now independent from Citrix releases, new features are released faster and in a much more seamless way
Streamlined support
As there is little dependency on Citrix stack, administrators only need to reach out to Microsoft in case of any issues. This reduces the time to resolution for issues and makes it easy for the administrator to work with a single party instead of two.
Main Documentation - https://learn.microsoft.com/en-us/microsoftteams/vdi-2
Networking considerations - https://learn.microsoft.com/en-us/microsoftteams/vdi-2#networking-considerations and https://learn.microsoft.com/en-us/microsoft-365/enterprise/urls-and-ip-address-ranges#skype-for-business-online-and-microsoft-teams
Public preview - https://learn.microsoft.com/en-us/MicrosoftTeams/public-preview-doc-updates?tabs=new-teams-client
SlimCore optimization - https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/2402-ltsr/multimedia/opt-ms-teams-new/ms-slimcore-optimization
GACS - https://community.citrix.com/tech-zone/learn/poc-guides/gacs#_=_ and https://docs.citrix.com/en-us/citrix-workspace/global-app-config-service/plug-in-management.html#microsoft-teams-vdi-plug-in-management
Virtual channel allowlist - https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/secure/virtual-channel-security#adding-virtual-channels-to-the-allow-list