Document what data needs to be collected for Citrix support and Citrix engineers to troubleshoot issues with a vendor application that is optimized with Citrix Unified Communications SDK
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 UCSDK Tech Brief
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.
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. For Amazon Connect, customers can download the CCP Logs which include the UCSDK logs. For other vendors, there might be different ways in which this log is generated.
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 0
defaults write com.citrix.HdxRtcEngine WebrtcLogLevel -int 0