Flex on Azure Virtual Desktop or Windows 365 Cloud PC
Overview
If you use Azure Virtual Desktop or Windows 365 Cloud PC environments, you can run Flex in these environments while maintaining optimal call quality.
Flex UI 2.8.5 and later improves audio quality by supporting Microsoft's multimedia redirection (MMR) 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 or Windows 365 Cloud PC. When agents use Flex on Azure Virtual Desktop or Windows 365 Cloud PC with the MMR extension installed, Flex uses the WebRTC credentials from the browser on the local device, not the browser in Azure Virtual Desktop or Windows 365 Cloud PC. 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 or Windows 365 Cloud PC 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 or Windows 365 Cloud PC architecture
Note that while the diagram refers only to Azure Virtual Desktop, the architecture is the same for Windows 365 Cloud PC.
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.
System requirements
Flex
For Azure Virtual Desktop: Flex UI version 2.8.5 or later
For Windows 365 Cloud PC: Flex UI version 2.10.1 or later
Azure Virtual Desktop or Windows 365 server
See Microsoft's prerequisites for using multimedia redirection. Note that there are separate tabs at the top of the page for Azure Virtual Desktop and Windows 365. The use of Azure Virtual Desktop or Windows 365 is subject to Microsoft's terms and conditions.
Self-hosted Flex only: Upgrade the Flex UI library to a version that supports Azure Virtual Desktop or Windows 365 Cloud PC:
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
Validate your setup to ensure that Flex will automatically detect if you're running in a Virtual Desktop or Cloud PC environment:
Log in to your Virtual Desktop or Cloud PC environment.
Open the Chrome browser within the Virtual Desktop or Cloud PC environment.
Open Flex and log in to your Flex instance.
From Flex, place an outgoing phone call.
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.
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 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.
Your router or network element must be DSCP-compliant.
DSCP is only supported by Google Chrome.
Known issues
Unable to read volume levels from the front end (Microsoft MMR issue)
Troubleshooting
Capture logs
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.
The MMR extension is not loaded
If you followed step 4 in the the setup instructions above to 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 step 3 in the setup instructions above above, 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.
Support
Microsoft and Twilio jointly support the delivery of Flex on Azure Virtual Desktop or Windows 365 Cloud PC. If you experience an issue, open a support ticket with the vendor whose product you suspect to be causing the issue.
If you suspect it's an Azure Virtual Desktop or Windows 365 issue, open a 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.