Learn 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
- A call is routed to Amazon Connect.
- Amazon Connect alerts the CCP of the incoming call.
- The CCP employs Amazon Connect Streams.js and Amazon Connect Connect-RTC.js, which integrate with the Citrix Unified Communications (UC) SDK.
- The Citrix UC SDK interacts with the Citrix UC Media Engine.
- The Citrix UC Media Engine establishes an audio connection with Amazon Connect.
- 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:
- Set up your VDA
- Set up your network
- Download the sample Embedded or Custom CCP
- Configure the sample Embedded or Custom CCP
- Deploy the sample Embedded or Custom CCP
- Approve the CloudFront URL
- Update the Agent Security Profile
- Test the solution
- Validate media redirection
- 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:
- Open Windows Registry Editor within your VDA session.
- 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
- 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:
- Navigate to the Citrix folder.
- Choose either the Embedded CCP or Custom CCP.
- Open src/js/initCCP.js.
- 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.
Leave a Reply