Unified communications SDK is offered to real-time communications application vendors. Vendors integrate UCSDK to get access to Citrix stack, which they can leverage to offload and optimize their applications.
The optimization of all the vendor applications works very similar to the HDX Teams optimization. For more context on UCSDK and the list of vendors that have integrated the SDK and have optimized solutions, visit Unified Communications SDK optimization documentation
UCSDK is not packaged as a part of Citrix Virtual Apps and Desktops or Citrix DaaS. It is a private SDK that Citrix shares with its technology partners, who build it into their applications. Each vendor decides which UCSDK version its application uses and maintains that integration. If you are not sure which UCSDK version your application uses, ask the vendor.
Citrix actively supports two major versions of UCSDK at a time:
Citrix delivers UCSDK fixes in upcoming releases. Released versions, including supported ones, are not updated. To get a fix, the application vendor moves to the release that has the fix (and / or) customers move to the CWA / VDA versions that have the fix.
UCSDK 3.1.0 reaches end of life on December 31, 2026. Citrix has asked application vendors that still use UCSDK 3.1.0 to move to a supported version by this date. Because each vendor maintains its own integration, a vendor can choose to continue supporting its application on UCSDK 3.1.0. After December 31, 2026, if you report an issue on an application that uses UCSDK 3.1.0 to Citrix, Citrix Support will first ask customer and application vendor to test with a supported UCSDK version. If the issue still occurs on a supported version, Citrix Support continues troubleshooting from there.
For more information, see Supported UCSDK versions in the Unified Communications SDK optimization documentation.
An optimized application has several layers: the vendor application, UCSDK inside that application, and the Citrix components on the VDA and the endpoint. Troubleshoot from the top down, starting with the application:
Many issues are already fixed in later releases. If you are on older versions, test with newer versions before you open a case:
If communication between the UCSDK and the CtxHdxWebSocketService(WebSocketService.exe) cannot be established, please check the following:
The primary mechanism for debugging issues in the field is analyzing the logs the system generates. When an issue happens, ensure to queue the following logs (wherever applicable), reproduce the issue and share the logs with Citrix support. The server side logs and the client side logs both need to be synchronous i.e., not from different calls / times.
When you open a case with Citrix Support, include the UCSDK version the application uses and the VDA and Citrix Workspace app versions on the affected endpoint.
This is the application side log that will be generated by the vendor application. As the vendor application integrates the UCSDK, the vendor application log will usually contain the UCSDK logs as well. Refer the appropriate vendor documentation to find out how to collect the application console logs that includes the UCSDK logs. Citrix support requires UCSDK logs to troubleshoot and triage the issue. For example, Amazon Connect integrates UCSDK. As Amazon Connect is a web app, the UCSDK logs are generated in the browser console logs. Make sure to select verbose in the browser console for full logging. For other vendors, there might be different ways in which this log is generated.
On VDA 2507 and later, you can also collect the UCSDK log directly from the VDA, without using the vendor's log tools. The log is in the following location in the user session:
%temp%\Citrix\CitrixWebRTCSDK\<vendor_name>\<process_name>\<timestamp>\shim.log
The folder names depend on the vendor and on the application process. Use the folder whose timestamp matches the time of the issue.
CDFControl is common tool that is used for most Citrix component log capturing. The following trace provider modules need to be enabled to capture Webrtc redirection related logs on VDA.
The following trace provider modules need to be enabled to capture Webrtc redirection related logs on client endpoint.
Citrix Webrtc redirection engine HdxRtcEngine.exe that runs on the client endpoint also provides additional logs in a text format. It is located under the following path. Whenever HdxRtcEngine.exe process is launched, if configured properly, a new webrpc.log and webrtc_# log files are created under relevant time stamp directory: %Temp%\HdxRtcEngine.

The log levels can be adjusted via a registry key on the client endpoint. Default log level is 2, however, more verbose debug/trace level logs can be captured by setting this value to 1(debug) or 0(trace).

Note: Make sure to enable the trace level logging so that Citrix support has detailed log information. Revert the log level to 2 once logs are collected
On Linux endpoint, log levels can be adjusted via a config file. Whenever HdxRtcEngine.exe process is launched, if configured properly, a new webrpc.log and webrtc_# log files are created under relevant time stamp directory: /tmp/hdxrtcengine.
Create /var/.config/citrix/hdx_rtc_engine/config.json file and add configuration keys in JSON format, eg:
{“WebrtcLogLevel” : 0,“WebrpcLogLevel” : 0}
Note: As Thin Clients come in many flavors and might be locked down, ensure to ask your Thin client vendor how to pull the logs out of the system.
On Mac endpoint, log levels can be adjusted via a command. Whenever HdxRtcEngine.exe process is launched, if configured properly, a new webrpc.log and webrtc_# log files are created under relevant time stamp directory: .~/Library/Logs/HdxRtcEngine/
Execute defaults write command with configuration keys, eg:
defaults write com.citrix.HdxRtcEngine WebrpcLogLevel -int 0defaults write com.citrix.HdxRtcEngine WebrtcLogLevel -int 0
"Citrix is not responsible for and does not endorse or accept any responsibility for the contents or your use of these third party Web sites. Citrix is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement by Citrix of the linked Web site. It is your responsibility to take precautions to ensure that whatever Web site you use is free of viruses or other harmful items."
This article helps you troubleshoot applications that are optimized with the Citrix Unified Communications SDK (UCSDK). It explains which UCSDK versions Citrix supports, what to check before you contact Citrix Support, and which logs to collect from the VDA and the endpoint.
Feedback submitted!