Modern times require modern solutions such as Microsoft Teams. What to do however when your Microsoft Teams user experience is not up to par due to extensive consumption in your organization?
This blogpost will guide you through optimizing Teams on Citrix and your local machines.

Please keep in mind that below text is all based on the full Teams client, meaning this does not apply to the web version.

From a Citrix/Microsoft environment perspective; there are two primary ways to optimize your Microsoft Teams traffic.

  1. Use Quality of Service (QoS) tagging for the ‘Teams’ packages that are transmitted over your network.
  2. Use HDX Redirection (optimization) for Microsoft Teams on Citrix to offload CPU consumption.

Quality of Service

Quality of Service works best if this is deployed through your whole organization. If you prioritize a Microsoft Teams package that is less important than ‘Business Application X’ you might experience unsatisfying behavior in your network priority. You can say something is important, but you would need to know how important it is in consideration to other things. Otherwise it would always be your top priority, at least for IT devices that is how it works.

Quality of Service needs to be supported (and honored) by your network devices and additional configuration might be required on these devices.

Let’s say that you already have QoS setup in your network environment. Then the default Microsoft recommendation would be to setup QoS tagging with the following ranges for Microsoft Teams:

This can be easily done with a GPO. Optionally you can configure the source/destination addresses.

Microsoft Teams optimization on Citrix

Microsoft Teams redirection is an efficient method for saving VDI/SBC resources. This however only works for the desktop based (a.k.a. fat-client) Microsoft Teams 1.2.00.31357 in combination with the Citrix Workspace client on the local user desktop. (minimum version 1907).

On the Worker

Microsoft Teams would need to be installed after the VDA Agent has been installed. If you already installed Microsoft Teams and did it in the wrong order, you can always reinstall Microsoft Teams. Depending on your setup (persistent vs non-persistent) you need to set up the installation differently.
As an example you’ll find the commands below. To be safe refer to the latest vendor documentation.

In short there are two available installation commands:

Per-User installation (default)

This won’t work properly on non-persistent setups. Also, the application will auto-update. This is better for dedicated persistent VM’s.

Per-Machine installation

This will work properly on Non-Persistent setups. Also the client won’t auto-update with this parameter (saves you the user tickets about update prompts).

Checking the configuration

After being installed, the Microsoft Teams client needs to load in VDI mode, this is done via a policy that is set automatically by default.

No need to configure it unless you manually disabled it in the past.
You can confirm if the policy is enabled by checking if the following key is set to ‘1’.
HKEY_CURRENT_USER\Software\Citrix\HDXMediaStream\MSTeamsRedirSupport

On Microsoft Teams you can check if everything is working correctly by clicking on About > Version, and the Citrix HDX Optimized legend displays:

Editing the gpo

Now it is time to update the GPO you created earlier and add the QoS tagging for the Teams redirection client.

You need to add the MicrosoftTeamsCitrix entries. Depending on your current running version, the service might be named differently.

Currently we have:

  • Teams.exe (local fat client)
  • HDXTeams.exe (offload service before 2009.6)
  • HdxRtcEngine.exe (offload service from 2009.6 and onward)

When all is said and done

Microsoft Teams should now offload Media traffic to your local machine’s HDXTeams.exe or HdxRtcEngine.exe service. saving a lot of those precious SBC/VDI resources and automatically redirects the local host peripherals (microphone, camera etc.) as a bonus.

Sources

  • https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/opt-ms-teams.html
  • https://docs.microsoft.com/en-us/microsoftteams/qos-in-teams