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, 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.
An agent logs on to their local host.
The agent's device establishes a connection with the session host through the Microsoft remote desktop client.
In the session host, the agent accesses Flex using a browser with the Microsoft Multimedia Redirection extension installed and enabled.
After authentication, Flex initializes, which establishes a connection with the Twilio Programmable Voice server.
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.
To set up Flex on Azure Virtual Desktop, complete the following steps:
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 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 until your URL is added to the allowlist.
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.
Voice Over Internet Protocol (VoIP) call quality is influenced by environmental factors, such as:
It's important you review our deployment best practices and connectivity requirements documentation 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.
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.
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.
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. If you suspect it's an Azure Virtual Desktop issue, open an Azure support ticket with Microsoft. 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.