Use Multimedia Redirection for remote sessions on Azure Virtual Desktop

When joining Roam calls from an Azure Virtual Desktop session, Microsoft’s Multimedia Redirection service can reduce latency and improve audio performance by redirecting call audio to the local device instead of routing it through the Azure session host.

You can read Microsoft’s official documentation on this feature, though this support article has additional information regarding setup for Roam.

Important: Redirected Roam calls must remain audio-only. Participants cannot use video or screen sharing during these calls. The “video playback” feature mentioned in Microsoft’s documentation refers to static video playback, e.g. from YouTube. If the predominant workflows involve video or screen sharing, run the Roam desktop app on the Azure Virtual Desktop session host directly without enabling redirection.

Checklist

  1. Run the multimedia redirection installer on each VM session host.
  2. If using Intune or other central management software, considering follow the enable and manage the browser extension centrally instructions in Microsoft’s documentation to automatically enable the extension so end users are not prompted to enable the extension.
  3. Write the registry keys for either Microsoft Edge or Google Chrome, as appropriate.
  4. Ensure that every physical device which needs to connect is running the latest version of the Windows App, and that the Windows App has permission to access the microphone.

Caveats

Due to currently unavoidable technical constraints, there are a few limitations when using the redirection service:

  • The Roam web application must be used, not the Roam desktop app.
  • Redirected calls will remain audio-only. When redirection is in use, participants joining via Azure cannot use video or screen sharing because Microsoft’s multimedia redirection plugin redirects only call audio.
  • Roam’s enhanced noise cancellation processing via Krisp will not function. Users operating via Azure Virtual Desktop may need to mute when not actively talking to reduce noise.

Requirements

To perform the installation, you must have administrator access to the Azure Virtual Desktop session hosts, and they must have the latest version of Microsoft Edge or Google Chrome installed.

The local devices must be running Windows and using either the Windows App version 2.0.297.0 or later, or the Remote Desktop app version 1.2.5709 or later.

Both the session hosts and the local devices also need Microsoft Visual C++ Redistributable 2015-2022, version 14.32.31332.0 or later (download).

This may already be installed, so it may not be necessary to install separately. However, if any issues are encountered then we recommend downloading and installing it.

Install Multimedia Redirection

Install the Remote Desktop Multimedia Redirection Service and browser extension on each session host. To do this manually, follow Microsoft’s directions. In summary:

  1. Download the multimedia redirection installer from Microsoft. This will install both the system service and the browser extension.
  2. Close Microsoft Edge and Google Chrome.
  3. Run the installer and follow the setup wizard.

To install it silently through Microsoft Intune or similar deployment tools, download the MSI onto each session host and run the following command as an administrator:

msiexec /i <path to MSI> /qn

Note: The Remote Desktop Multimedia Redirection Service does not update automatically. As Microsoft releases updates, you may need to manually download the latest installer from the original URL and reinstall the service.

After running the installer, the extension will be installed but not yet enabled, and not configured to run for Roam.

Enabling the Browser Extension

By default, the user will be prompted to enable the extension when they open the browser. If you use management software such as Intune on the session hosts, you can instead enable and manage it centrally. Follow the enable and manage the browser extension centrally instructions in Microsoft’s documentation. Make sure to restart the session hosts when done.

Configure the Browser Extension for Roam

Configuring the redirection service to work for Roam requires editing the registry on the session hosts.

For Microsoft Edge, configure both of the following registry keys:

  • HKLM\SOFTWARE\Policies\Microsoft\Edge\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy
  • HKLM\SOFTWARE\WOW6432Node\Policies\Microsoft\Edge\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy

For Google Chrome, configure both of the following registry keys:

  • HKLM\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy
  • HKLM\SOFTWARE\WOW6432Node\Policies\Google\Chrome\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy

Add the following value to each registry key:

  • Name: AllowedCallRedirectionSites
  • Type: REG_SZ
  • Data: ro.am

Note: The Microsoft documentation only mentions writing to the paths without WOW6432Node, but in Roam’s testing the WOW6432Node path was also necessary. We recommend both.

For example, you can run these commands in PowerShell as an administrator to write the necessary keys:

# Microsoft Edge
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Edge\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Edge\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy" -Name AllowedCallRedirectionSites -PropertyType String -Value "ro.am" -Force
New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Policies\Microsoft\Edge\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Policies\Microsoft\Edge\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy" -Name AllowedCallRedirectionSites -PropertyType String -Value "ro.am" -Force
# Google Chrome
New-Item -Path "HKLM:\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy" -Name AllowedCallRedirectionSites -PropertyType String -Value "ro.am" -Force
New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Policies\Google\Chrome\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Policies\Google\Chrome\3rdparty\extensions\joeclbldhdmoijbaagobkhlpfjglcihd\policy" -Name AllowedCallRedirectionSites -PropertyType String -Value "ro.am" -Force

Grant Microphone Access to the Windows App

On the physical machines which need to connect to the VMs (not on the VMs themselves), the Windows App must be given access to the microphone.

Open the Settings app and navigate to Privacy & Security > Microphone. Find the Windows App in the list, and ensure the box next to it is checked.

Windows App Permission Setting

This sequence of steps must be followed on all the physical computers used.

Verify Call Redirection

  1. Connect to Azure Virtual Desktop using either the Windows App or the Remote Desktop app.
  2. Open Roam (https://ro.am/r/) in Microsoft Edge or Google Chrome in the remote session.
  3. Click the Microsoft Multimedia Redirection extension icon and confirm that Call Redirection has a green checkmark.
  4. Join a Roam meeting and confirm that the extension icon indicates that a call is being redirected.
  5. Join as a different user from a second device and ensure that audio is working both ways.

Multimedia Redirection Extension Redirecting a Call

If needed, see Microsoft’s troubleshooting guide.

Recommended Follow-ups

Prevent Disconnection Due to Inactivity

When Roam runs in a web browser, it cannot determine whether the user is actively using the computer for other purposes. If a user is alone in their office and does not interact with the Roam web application for one hour, Roam automatically disconnects them so their displayed availability does not become stale.

To avoid this, open Settings > General, and enable Prevent Disconnection Due to Inactivity. Roam will ask for permission to see the user’s activity via the browser; the user must click Allow.

Prevent Disconnection Due to Inactivity Setting Idle Detection Permission Prompt

Note: This cannot be deployed using management software; it must be done by each individual user once after logging in to Roam.