Skip to contentSkip to navigationSkip to topbar
On this page

Flex on Azure Virtual Desktop



Overview

overview page anchor

If you use Azure Virtual Desktop environments, Flex on Azure Virtual Desktop provides the ability to run Flex while maintaining optimal call quality. Flex UI 2.8.5 and later improves audio quality by supporting Azure Virtual Desktop MMR.

This feature relies on Microsoft's multimedia redirection (MMR) for Azure Virtual Desktop(link takes you to an external page), which is a browser extension.

The Microsoft MMR extension helps your agents avoid potential latency, packet loss, and lengthy round-trip time that would otherwise occur when using Flex on Azure Virtual Desktop. When agents use Flex on Azure Virtual Desktop with the MMR extension installed, Flex uses the WebRTC credentials from the browser on the local device, not the browser in Azure Virtual Desktop. That means that audio packets go directly from the customer to the Flex telephony server to the agent using Flex. Without the MMR extension, audio packets are routed to the Azure Virtual Desktop browser before reaching the agent in Flex, and that extra step in the path can cause issues with call quality.


Flex on Azure Virtual Desktop architecture

flex-on-azure-virtual-desktop-architecture page anchor
Flex on Azure Virtual Desktop architecture diagram
  1. An agent logs on to their local host.

  2. The agent's device establishes a connection with the session host through the Microsoft remote desktop client.

  3. In the session host, the agent accesses Flex using a browser with the Microsoft Multimedia Redirection extension installed and enabled.

  4. After authentication, Flex initializes, which establishes a connection with the Twilio Programmable Voice server.

  5. During a call (outbound or inbound), MMR forwards the WebRTC connection information to the local host, allowing the local host to connect directly with the Twilio Voice media server for direct exchange of media packets. The direct connection between the local host and the Twilio Voice media server improves audio quality.


The following are system requirements for the Azure Virtual Desktop server and remote device.

Flex

flex page anchor
  • Flex UI version 2.8.5 or later

Azure Virtual Desktop server

azure-virtual-desktop-server page anchor

Set up Flex on Azure Virtual Desktop

set-up-flex-on-azure-virtual-desktop page anchor

To set up Flex on Azure Virtual Desktop, complete the following steps:

  1. Set up your local Windows environment(link takes you to an external page).

  2. Set up the Azure Virtual Desktop environment(link takes you to an external page).

  3. Self-hosted Flex only: Upgrade the Flex UI library to a version that supports Azure Virtual Desktop:

    a. Download Flex UI 2.8.5 or later from the NPM registry and then run the following command in your Flex project. Make sure the Flex UI version in the command matches the one that you downloaded.
    npm install @twilio/flex-ui@2.8.5

    b. Create a support ticket with Twilio(link takes you to an external page) to request that your URL is added to Microsoft's allowlist for call redirection. Allow 2-3 weeks for your URL to be added. If you want to start using Flex on Azure Virtual Desktop right away, you can temporarily enable call redirection for all sites using Microsoft's directions(link takes you to an external page) until your URL is added to the allowlist.

  4. Validate the Azure Virtual Desktop setup to ensure that Flex will automatically detect if you're running in a Virtual Desktop environment:

    a. Log in to your Virtual Desktop environment.

    b. Open the Chrome browser within the Virtual Desktop environment.

    c. Open Flex and log in to your Flex instance.

    d. From Flex, place an outgoing phone call.

    e. Confirm that the MMR extension in your browser has changed to include a green phone icon. If you click it, you should see the message "A call is being redirected." These indicate that Flex can detect your Azure Virtual Desktop environment.

    If MMR does not show that the call is being redirected, see The MMR extension is not loaded in the troubleshooting section.

    MMR extension pane with the message A call is being redirected

Twilio Voice JS DSCP support

twilio-voice-js-dscp-support page anchor

Voice Over Internet Protocol (VoIP) call quality is influenced by environmental factors, such as:

  • Firewall configuration
  • Network conditions
  • Available bandwidth
  • Browser version (for webRTC)
  • Operating system
  • Microphone and speaker hardware

It's important you review our deployment best practices(link takes you to an external page) and connectivity requirements documentation(link takes you to an external page) before taking your app to production. Browsers that support DSCP are able to tag call media packets sent by the voice client. Your router or network element can then use these tags to prioritize call media packets over other traffic on the network.

  • Your router or network element must be DSCP-compliant.
  • DSCP is only supported by Google Chrome.

  • Unable to read volume levels from the front end (Microsoft MMR issue)
  • Dual-tone multi-frequency (DTMF) is not currently supported (Microsoft MMR issue)

To capture logs from the MMR extension, open the MMR extension in your browser and select Show Advanced Settings. Next to Collect logs, click Start.

MMR extension settings pane with the Collect logs option circled

The MMR extension is not loaded

the-mmr-extension-is-not-loaded page anchor

If you followed the steps in Validate the Azure Virtual Desktop setup and the MMR extension is not loaded, check the following:

  • Check your configurations and confirm that your environment meets the system requirements, then try again.

  • If your Flex environment is self-hosted, confirm that you completed the steps for self-hosted environments, including enabling call redirection for your domain.

  • Ensure that you have not installed and enabled both the preview and GA versions of the MMR extensions. If you have both, remove the preview version.

If you have checked your environment and configuration and still have issues, contact Twilio support.

MMR extension pane with the message The extension is not loaded

Microsoft and Twilio jointly support the delivery of Flex on Azure Virtual Desktop. If you experience an issue with Flex on Azure Virtual Desktop, open a support ticket with the vendor whose product you suspect to be causing the issue. In other words, if the problem seems like a Flex issue, open a support ticket with Twilio(link takes you to an external page). If you suspect it's an Azure Virtual Desktop issue, open an Azure support ticket with Microsoft(link takes you to an external page). You must have an active Microsoft license to receive support from Microsoft.

When Twilio or Microsoft receives the ticket, they will triage the issue and escalate it as appropriate. If they determine that the problem is caused by the other company's product, they will advise you to create a support ticket with the other company.

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.