Citrix Workspace (ICAClient) no sound/audio in Microsoft Teams

Since last week I am working with a virtual desktop (VDI) through Citrix Workspace (ICAClient) and noticed I can not use Teams to call or join meetings.

This message is displayed in Microsoft Teams:

There’s a problem with your connection.
Still connecting to remote devices. Calling isn’t available yet.

Cause: HDX Optimized audio does not work

If you want to skip straigt to the solution, click here: Solution: Change MSTeamsRedirSupport to zero

How to diagnose if the cause is the same as what I encountered

Log in to your VDI, play some sounds AND talk into your microphone to make sure your audio is actually working. Check this via the sound mixer, that’ll show a moving bar if it’s receiving sound by your microphone. Speakers should work when you watch a random youtube movie.

Next; Open MS Teams and click the “Three dots” settings menu, choose About, then Version. When your Workspace and Teams are expecting HDX to work but it didn’t, you will see this message: Citrix HDX Not Connected

MS Teams, Settings – About – Version: “Citrix HDX Not Connected”

Note: If it would be working, you would have seen Citrix HDX Connected

The third option is if Teams does not expect Citrix HDX to work, then it simply doesn’t show anything about Citrix HDX and tunnels sound over the regular sound channels. This is what we want to accomplish in the next chapter.

There is a registry entry MSTeamsReditSupport, which is set every time you connect to your VDI with Citrix Workspace. From what I understand; Citrix Workspace communicates to your VDI that it is capable to receive HDX optimized audio streams. Next to that MS Teams checks that registry setting when it is started to use/not use HDX optimized audio.

Solution: Change MSTeamsRedirSupport to zero

Change MSTeamsRedirSupport to 0 (zero) in registry. The exact location of this registry entry is here:
HKEY_CURRENT_USER\SOFTWARE\Citrix\HDXMediaStream\MSTeamsRedirSupport

It’s a bit tedious to open Registry Editor every time, so you can also create a registry entry file MSTeamsRedir.reg
In this file you can paste this content:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Citrix\HDXMediaStream]
"MSTeamsRedirSupport"=dword:00000000

Remember; You should run MSTeamsRedir.reg every time you connect to the machine or when you restart MS Teams.

Why is this a problem?

I do not know exactly, but I know that the HDX optimized socket on my laptop can not be reached contact the VDI and I tried searching for a solution for a couple of hours. I then became fed up with HDX optimized sockets and thought about buying a macbook to just make the damn thing work. After that short existential crisis I kept searching for a possible solution and was happy to find this registry setting.

My emotions with Linux after figuring stupid things out which simply work on other OS’s

What I’ve tried and did not work:

1.) Run Citrix supplied hdxcheck.sh and see if you have all the libs installed, I tried installing all libs manually and in the end still had no HDX optimized sound in my VDI. You can run this command via the following path:
/opt/Citrix/ICAClient/util/hdxcheck.sh

2.) Install older version of Citrix Workspace, which didn’t use the HDX optimization and thus sound worked in all applications. I did encounter some bugs with full-screen not working properly on a bigger monitor. The version I used is linked below:
Download icaclient_19.12.0.19_amd64.deb via https://www.citrix.com/downloads/workspace-app/
Direct link to the download: https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-1912.html

Sources:

Citrix.com: Enable optimization of Microsoft Teams

Citrix.com: How to collect Logs for Citrix Workspace app for Linux?

Vagrant proxy through CNTLM on Windows using CYGWIN

Wow, talk about a crappy post title, but I just got this working on my corporate network and was quite happy about it.
Reason for this post; Every time I start a new assignment at a (rather big) corporation, I need to follow these steps to be able to access the internet from my vm’s.
(and I keep forgetting the steps, I’m getting old..)
What we’ll use to get this working:

  • Cygwin : https://www.cygwin.com/
  • Vagrant : https://www.vagrantup.com/
  • Virtualbox : https://www.virtualbox.org/
  • Cntlm : http://cntlm.sourceforge.net/

I’m running CentOS vm’s inside Vagrant with Virtualbox provisioning on Cygwin on Windows 7. I’m running Cntlm to create a local proxy for all stuff what I’m doing through cygwin, because I don’t like putting clear text passwords in bashrc or in Win / Bash variables.

Steps:

  1. Get your corporate proxy URL (Via Google Chrome)
  2. Configure Cntlm
  3. Configure Cygwin
  4. Configure Vagrant
  5. Use teh interwebs from your VM, practicing ninja turtle coding skillz and be instantly awesome!!1!

Continue reading “Vagrant proxy through CNTLM on Windows using CYGWIN”