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 face challenges related to audio quality. This is primarily due to the intensive processing requirements for handling media on the server(s). By utilizing Amazon Connect audio optimization for Citrix, organizations can enhance audio quality, minimize resource consumption on host servers, and reduce costs per agent.

VDI sessions are generally not fine-tuned for audio and video processing, as agents typically utilize less resource-demanding client applications or browser-based services through their VDI sessions. For instance, if an agent is accessing an inventory system or a CRM webpage and there’s a 1 or 2 second load time, it may suffice for the customer experience. However, in real-time communications, every millisecond counts.

Real-time communication on VDI solutions necessitates lower session density per server, leading to higher costs due to the need for more physical server resources and an increased cost per agent, thereby elevating the overall contact cost.

Solution Overview

In this blog post, you will discover how to create and deploy an Amazon Connect audio-optimized Embedded and Custom CCP for Citrix Virtual Desktops to ensure superior audio quality. The Amazon Connect audio optimization for Citrix leverages the Amazon Connect RTC JS and Amazon Connect Streams JS libraries, shifting media processing to the local host machine, consequently enhancing audio quality by alleviating the server processing burden of encoding and decoding audio streams and enabling greater session density, which in turn lowers costs.

Component Architecture

  1. A call is routed to Amazon Connect.
  2. Amazon Connect alerts the CCP of the incoming call.
  3. The CCP employs Amazon Connect Streams.js and Amazon Connect Connect-RTC.js, which integrate with the Citrix Unified Communications (UC) SDK.
  4. The Citrix UC SDK interacts with the Citrix UC Media Engine.
  5. The Citrix UC Media Engine establishes an audio connection with Amazon Connect.
  6. Audio is transmitted from the local host machine to Amazon Connect.

The Amazon Connect Connect RTC JS manages the initialization of the Citrix Unified Communications SDK required for redirecting communication from the browser to the Citrix Unified Communications Media Engine for WebRTC actions and also provides functionality to interface with the Citrix session.

The Amazon Connect Contact Control Panel (CCP) is the interface through which agents facilitate customer interactions. It allows agents to receive calls, chat, transfer contacts, place calls on hold, and perform other vital functions. The Embedded CCP sample integrates the Amazon Connect CCP into the web application, whereas the Custom CCP conceals the Amazon Connect CCP and replaces it with custom buttons to enhance the agent’s experience.

Security Disclaimer

This solution serves merely as an example to kickstart your journey in building an Amazon Connect Audio Optimized Embedded or Custom CCP. We advise conducting further code reviews, functional testing, and IT validation prior to deploying this solution in a live environment. Always ensure thorough testing of your solution and adhere to AWS Security Best Practices.

Deployment Walkthrough

Here’s a succinct overview of the necessary steps for this solution:

  1. Set up your VDA
  2. Set up 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

It is assumed that you have access to the following resources:

  • An AWS account
  • An Amazon Connect instance
  • A claimed phone number in your Amazon Connect instance
  • A development machine with NodeJS installed
  • AWS CLI installed and configured

Citrix Prerequisites

To utilize Amazon Connect audio optimization for Citrix, your Citrix environment must satisfy the following system requirements:

Server

Citrix Virtual Desktops and Apps (VDA) service must be version 2109 LTSR or newer.

Client

Citrix Workspace Application (CWA) must be installed on your local machine, with version 2109 or later for Windows, Linux & Mac.

Step 1: Set Up Your VDA

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

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

Step 2: Set Up Your Network

Ensure your Citrix environment is configured per the Amazon Connect Admin Guide’s network setup section.

Citrix VDA

Ensure the browser operating within the VDA session can access the following Amazon Connect domains, all through 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

For further details on network setups related to Amazon Connect, see the Amazon Connect network setup guide.

Step 3: Download the Sample Code

Download a copy of the sample embedded and custom CCP from the Git repository using Git:

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

Step 4: Configure the Sample CCP

Next, configure the sample solution:

  1. Navigate to the Citrix folder.
  2. Choose either the Embedded CCP or Custom CCP.
  3. Open src/js/initCCP.js.
  4. Locate ccpURL and substitute <YOURCONNECTCCPURL> with your own CCP URL.

For more insights on Amazon’s onboarding process, check this resource; it’s an excellent resource. Additionally, for comprehensive insights into the future of HR, visit SHRM. Moreover, if you’re interested in hospitality, read this blog post to keep engaged.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *