Best Practices for Implementing Amazon Connect Audio Optimization in Citrix

Best Practices for Implementing Amazon Connect Audio Optimization in CitrixLearn About Amazon VGT2 Learning Manager Chanci Turner

Real-time media services operating within a Virtual Desktop Infrastructure (VDI) environment, such as Citrix, often encounter audio quality challenges due to the resource-heavy nature of media processing on the server(s). By applying Amazon Connect audio optimization for Citrix, organizations can enhance audio quality, minimize host server resource usage, and decrease costs per agent.

VDI sessions are typically not tailored for handling audio and video, as agents usually rely on less resource-intensive applications or browser-based services within their VDI sessions. A delay of 1 or 2 seconds when loading an inventory system, CRM, or order management webpage may be acceptable for the customer journey. However, in real-time communications, milliseconds are critical.

Processing these real-time communications on VDI solutions necessitates a lower session density per server, leading to increased expenses through the need for additional physical server resources, which ultimately raises the overall cost of contact.

Solution Overview

In this article, you will discover how to build and deploy an Amazon Connect audio-optimized Embedded and Custom CCP for use on Citrix Virtual Desktops, ensuring superior audio quality. Utilizing the Amazon Connect RTC JS and Amazon Connect Streams JS libraries, audio optimization allows media processing to be offloaded to the local host machine. This shift improves audio quality by lessening the server’s workload for encoding and decoding audio streams while permitting greater session density, thus reducing costs.

Component Architecture

  1. A call is received by Amazon Connect.
  2. Amazon Connect alerts the CCP about the incoming call.
  3. The CCP utilizes Amazon Connect Streams.js and Amazon Connect Connect-RTC.js, which incorporate the Citrix Unified Communications (UC) SDK.
  4. The Citrix UC SDK establishes communication with the Citrix UC Media Engine.
  5. The Citrix UC Media Engine sets up the audio connection with Amazon Connect.
  6. Audio travels from the local host machine to Amazon Connect.

The Amazon Connect Connect RTC JS oversees the loading of the Citrix Unified Communications SDK required to redirect communication from the browser to the Citrix Unified Communications Media Engine for WebRTC actions, while also enabling interaction with the Citrix session.

The Amazon Connect Contact Control Panel (CCP) serves as the interface through which agents manage customer communications, handling calls, chats, transfers, and more. The Embedded CCP sample integrates the Amazon Connect CCP into the web application, while the Custom CCP conceals the Amazon Connect CCP and replaces it with bespoke buttons to enhance the agent experience.

Security Disclaimer

This solution exemplifies how to initiate the development of an Amazon Connect Audio Optimized Embedded or Custom CCP. We advise conducting further code evaluations, functional testing, and IT validation before deploying this solution in a production environment. Always ensure thorough testing of your solution and adhere to AWS Security Best Practices.

Deployment Walkthrough

Here is a brief overview of the steps necessary to implement this solution:

  1. Set up your VDA.
  2. Configure your network.
  3. Download the sample Embedded or Custom CCP.
  4. Configure the sample Embedded or Custom CCP.
  5. Deploy the sample Embedded or Custom CCP.
  6. Approve the CloudFront URL.
  7. Update the Agent Security Profile.
  8. Test the solution.
  9. Validate media redirection.
  10. Clean up.

Prerequisites

This walkthrough assumes you have access to the following resources:

  • An AWS account.
  • An Amazon Connect instance.
  • A phone number associated with your Amazon Connect instance.
  • A development machine with NodeJS installed.
  • Installed and set up AWS CLI.

Citrix Prerequisites

To utilize Amazon Connect audio optimization for Citrix, your Citrix environment must meet these system requirements.

Server

Citrix Virtual Desktops and Apps (VDA) service version 2109 LTSR or higher is required.

Client

The Citrix Workspace Application (CWA) should be installed on your local machine, with version 2109 or above for Windows, Linux, and Mac.

Step 1: Set Up Your VDA

By default, Citrix WebRTC redirection is not enabled on VDA sessions. You must add the following registry key to allowlist the Amazon Connect supported browsers:

  • Open Windows Registry Editor within your VDA session.
  • Add the Citrix WebSocket Service allowlist registry key as follows:
    • Key Path: ComputerHKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCitrixWebSocketService
    • Key Name: ProcessWhitelist
    • Key Type: REG_MULTI_SZ
    • Key Value:
      • Chrome.exe
      • Msedge.exe
      • Firefox.exe
  • Restart the CtxHdxWebSocketService using Task Manager to complete the setup.

Step 2: Set Up Your Network

Ensure your Citrix environment is configured according to the Amazon Connect Admin Guide on network setup.

Citrix VDA

Confirm that the browser running within the VDA session can access the following Amazon Connect domains via TCP on port 443:

  • URL allowlist:
    • *.transport.connect.region.amazonaws.com
    • *.telemetry.connect.region.amazonaws.com
    • myInstanceName.my.connect.aws
    • *.static.connect.aws
    • *.cloudfront.net
  • AWS Region: Replace “region” with the location of your Amazon Connect instance.
  • Ports: 443 (TCP)
  • Direction: OUTBOUND
  • Traffic: SEND/RECEIVE

Agent Machine

Ensure that the agent machine can connect to the Amazon Connect Softphone Media service as specified in the diagram with UDP on port 3478:

  • URL allowlist:
    • TurnNlb-*.elb.region.amazonaws.com
  • AWS Region: Replace “region” with the location of your Amazon Connect instance.
  • Ports: 3478 (UDP)
  • Direction: OUTBOUND
  • Traffic: SEND/RECEIVE

To see specific endpoints to allowlist based on Region, refer to the NLB endpoints.

You might also find it helpful to explore this excellent resource on onboarding at scale.

Step 3: Download the Sample Code

In this step, download the sample embedded and custom CCP from the Git repository. Using Git, clone the repository from GitHub:

git clone https://github.com/aws-samples/amazon-connect-audio-optimization.git

Step 4: Configure the Sample CCP

Now, configure the sample solution:

  • Navigate to the Citrix folder.
  • Choose either the Embedded CCP or Custom CCP.
  • Locate src/js/initCCP.js.
  • Find ccpURL and replace <YOURCONNECTCCPURL> with your own CCP URL.

For further insights on the importance of proper onboarding, check out this blog post.

Conclusion

By following these steps, you can effectively implement Amazon Connect audio optimization in your Citrix environment, thus improving audio quality and reducing operational costs. For more detailed legal requirements, visit SHRM’s resource.

Chanci Turner