统一通信 SDK 优化
功能简介
Citrix Virtual Apps and Desktops 允许您将应用程序交付给各种终端设备上的用户。其中许多应用程序包含实时通信 (RTC) 功能,例如音频和视频会议。但是,在虚拟化环境中交付这些应用程序时可能会出现挑战。传统的交付方法会将媒体流(音频/视频)从客户端设备路由到数据中心的 VDI 服务器,然后再将其发送回终端。这种“回传”会给服务器带来不必要的流量和处理开销,特别是对于带宽密集型音频和视频通话。
Citrix 统一通信 SDK (UCSDK) 是一种技术,允许技术供应商优化这些 RTC 应用程序以在 Citrix 环境中使用。当应用程序经过优化后,它可以提供与在本地桌面上运行的应用程序相匹配甚至超越的用户体验。在当今世界,无缝实时通信对于生产力和协作至关重要。在虚拟环境中使用应用程序时,音频和视频通话、屏幕共享以及其他通信功能必须像在本地桌面上一样流畅运行。优化后的应用程序可提供这种体验。
本产品文档详细介绍了 Citrix 客户学习和部署 UCSDK 优化应用程序所需的一切。
工作原理
Citrix 为 VDI 中的实时通信应用程序提供了优化的交付方法。此方法利用统一通信 SDK (UCSDK) 将虚拟化应用程序拆分为两部分:
- 用户界面 (UI): 用户界面保留在虚拟主机中,在虚拟桌面或应用程序窗口中无缝显示。
- 媒体引擎: 媒体处理任务(音频和视频的编码/解码)被卸载到用户的本地设备。这最大限度地减少了服务器负载并优化了网络使用。
通常,Citrix 会向实时通信领域的技术供应商提供 UCSDK,并与他们合作将 UCSDK 集成到这些应用程序中。一旦集成,任何使用 UCSDK 优化应用程序的 Citrix 客户都将获得增强的体验。在构建自定义内部应用程序的情况下,Citrix 客户也可以使用 Citrix UCSDK。但在大多数情况下,客户不需要使用和开发 UCSDK – 他们只需配置 Citrix 环境和应用程序即可获得优化体验。
注意:
Citrix WebRTC SDK(或)HDX™ 优化应用程序的引用表示与 Citrix UCSDK 集成,并且可以互换使用。
新增功能
UCSDK 4.1.0 是技术供应商可以集成的最新通用版本。此外,还有两个受支持的版本 – UCSDK 4.0.2 和 UCSDK 3.1.0。UCSDK 版本引入了新功能,技术供应商需要确保升级 SDK,以便客户获得这些功能。这样,Citrix 客户只需专注于升级获取新功能所需的 Citrix 组件。
随着 UCSDK 4.1.0 的发布,我们引入了关键的用户体验增强功能和全新功能,这将允许与合作伙伴产品进行更深度集成,并为我们的客户带来更多价值。
新功能
- UCSDK 端点屏幕录制(技术预览版): 针对合规性录制中的一个关键空白,新的 UCSDK API 现在可以在端点上捕获内容,即使应用程序在 VDI 中运行也是如此。此功能目前处于 Windows 端点的预览阶段,允许技术供应商增强其应用程序以支持 Citrix 上的端点屏幕录制。请注意,此功能侧重于增强供应商应用程序,并且与 Citrix 会话录制不同。
- 会话重新连接处理: 对 Bootstrap 的一项关键增强显著改善了浏览器应用程序体验,使其更接近基于 Electron 的桌面应用程序。使用 Bootstrap 的基于浏览器的应用程序现在可以动态处理 Citrix 会话断开连接,为最终用户提供无缝的用户体验。
-
支持新方法: 增加了对重新启动 ICE 收集的支持以及对
RTCConfiguration中的iceCandidatePoolSize的支持。 -
更好的错误处理和合规性改进: 改进了
getUserMedia的 WebRTC 规范合规性。改进了CitrixPeerConnection、RtpSender和RtpReceiver的getStats(),使其在错误条件下返回空报告而不是 void。
UCSDK 4.1.0 的完全兼容版本包括:
- Citrix 虚拟应用和桌面™ 2503
- 思杰工作区™ 应用程序 适用于 Windows 2503
- 适用于 Mac 的思杰工作区应用程序 2503
- 适用于 Linux 的思杰工作区应用程序 2503
- 最新的 Chrome 操作系统/HTML5 版本。
注意:
Citrix 客户可以联系技术供应商升级 SDK 或添加对特定功能的支持,以应对可以通过新引入的功能实现的用例。
主要优势
当您使用通过 Citrix UCSDK 优化的应用程序时,您可以期待:
- 通过将处理器密集型媒体编码/解码从 Citrix 虚拟投递代理 (VDA) 卸载到客户端端点,提高媒体处理性能,从而提高最终用户的整体响应能力。
- 降低 Citrix VDA 上的 CPU 和带宽使用率,使 IT 部门能够为每个主机支持更多并发用户,并使企业能够经济高效地扩展 Citrix 虚拟桌面部署。
- 降低企业的总拥有成本,因为优化的端点延长了传统虚拟桌面的使用寿命并减少了主机基础设施需求,从而随着时间的推移降低了资本支出和运营成本。
- 支持 Windows 操作系统、Mac 操作系统、Linux 操作系统、Chrome 操作系统和 HTML5 端点平台。
使用案例
UCSDK 专为优化符合 WebRTC 标准的实时通信应用程序而构建。以下是关键场景以及可以/已经使用 UCSDK 的基于 WebRTC 的应用程序类型。
-
联络中心即服务 (CCaaS) / 云联络中心平台: 主要管理跨多个渠道的客户交互,优化座席工作流程。
- 示例:亚马逊连接、Twilio、Avaya 体验平台、Talkdesk、内容大师
-
统一通信即服务 (UCaaS) / 云业务通信: 集成语音、视频、团队消息和状态,实现全面的业务通信。
- 示例:环联, 8x8, 音特美, 阿尔卡特朗讯 彩虹
-
通信平台即服务 (CPaaS): 提供 API,用于将实时通信功能直接嵌入到自定义应用程序中。
- 示例:特威利奥, 瑞邦通信
-
企业视频会议和协作: 专用于高质量视频会议、会议和高级协作功能的平台。
- 举例来说:Pexip
-
金融交易通信: 专为满足金融市场独特、高性能和合规的通信需求而设计。
- 举例来说:IPC 优尼吉
-
虚拟学习和培训平台: 专为交互式、高质量的虚拟课堂和培训体验而设计。
- Example: Vitero
Citrix UCSDK 的底层 WebRTC 基础意味着其优化功能可以扩展到任何基于 WebRTC 的通信应用程序。这为优化利用 WebRTC 进行实时交互的各种应用程序打开了大门,即使它们目前尚未列为通过 UCSDK 优化的应用程序。我们鼓励客户就他们希望优化的任何用例或应用程序联系 Citrix。
UCSDK 体系结构

-
供应商应用程序:这可以是任何集成了 UCSDK 的第三方实时通信应用程序,可以是基于桌面或基于浏览器的。
-
UCSDK JS:UCSDK JS 提供 API,供供应商应用程序用于将音频/视频卸载到端点。
-
HdxRtcEngine:这是 Citrix Workspace App 中嵌入的 WebRTC 媒体引擎,用于处理和管理卸载的音频/视频通话。
SDK 加载并使用后,如果重定向成功,HdxRtcEngine.exe 进程将在客户端端点上启动。一旦 HdxRtcEngine.exe 在客户端端点上启动,任何信令和负载数据都会从 Citrix VDA 流向客户端端点,到达云端,再返回到客户端端点,然后转发到 VDA。例如,一个完整的往返流程可以是:
Vendor App -> CitrxWebrtc.js SDK -> Citrix VDA components -> Citrix Client Endpoint components -> Cloud -> Citrix Client Endpoint components -> Citrix VDA components -> CitrxWebrtc.js SDK -> Vendor App
系统配置要求
系统要求指明了与最新版 UCSDK - 4.1.0 配合使用所需的 Citrix 组件的各种版本。有关旧版 SDK 的兼容性详细信息和特定功能要求,请参阅下面的 版本和功能矩阵 表。
注意:
客户若要使用添加到 UCSDK 的任何功能,请确保供应商应用程序已集成相应的 UCSDK 版本并启用了该功能,并在您的环境中使用相应的 VDA 和 CWA 版本。
完全兼容的版本
完全兼容版本表示,通过使用这些版本的 Citrix 组件以及最新版本的 UCSDK,客户可以利用所有可用功能。对于当前最新版本的 UCSDK – 4.1.0,完全兼容的 Citrix 组件版本如下:
- Citrix 虚拟应用和桌面: 2503
- 思杰工作区应用程序 Windows: 2503
- 思杰工作区应用程序 Mac: 2503
- 思杰工作区应用程序 Linux 系统: 2503
- Citrix 工作区 应用程序 Chrome 操作系统/HTML5: 最新版本
配置说明
UCSDK 功能取决于三个因素:供应商集成的 UCSDK 版本和供应商启用的功能、Citrix Virtual Apps and Desktops 以及正在使用的 Citrix Workspace 应用程序版本。
在 Citrix 端,请确保配置以下内容,以便允许优化应用程序:
- 确保 Microsoft Teams 重定向策略已开启。有关详细信息,请参阅多媒体策略设置。请注意,此策略默认处于开启状态。
- 默认情况下不支持使用
CitrixWebrtc.jsSDK 的第三方 Electron 或基于浏览器的应用程序。CtxHdxWebSocketService(WebSocketService.exe) 不允许来自不在允许列表中的应用程序的连接。所需的应用程序二进制可执行文件名称必须添加到白名单注册表项中。
在 VDA 上
- 创建密钥路径:
HKLM\Software\WOW6432Node\Citrix\WebSocketService - 密钥名称:
ProcessWhitelist - 类型:
MULTISZ - 键值:
Mytestapp.exe
如果您有多个应用程序,请在单独的行中键入每个应用程序。请勿从文本文件复制粘贴或插入逗号。请确保提供的名称与应用程序的可执行文件名称匹配。此注册表值不区分大小写。
如果应用程序是通过浏览器而不是成熟的桌面应用程序访问的,则需要在注册表值中允许,例如 chrome.exe。
成功配置上述注册表后,请重新启动 VDA 或重新启动 CtxHdxWebSocketService 以完成白名单设置。
在客户端上
无需配置。只需安装 Citrix Workspace 应用程序即可。
每个供应商可能都有一个非常具体的应用程序名称。因此,请参阅 当前供应商支持 部分中链接的供应商文档,以确定 WebSocketService 中必须允许哪些应用程序名称。
版本和功能矩阵
由于版本更新频繁,请参阅 Citrix Virtual Apps and Desktops 和 Citrix Workspace app 产品生命周期页面,以确保支持特定版本。对于许多较旧的功能,表中提到的版本是撰写本文时最后支持的当前版本 (CR) 版本。
| 功能 | 统一通信 SDK 版本 | VDA | 适用于 视窗 的 CWA | 适用于 Mac 的 CWA | 思杰工作区 Linux | 思杰工作区应用 谷歌 Chrome 操作系统/HTML5 |
|---|---|---|---|---|---|---|
| 音频/视频(点对点和会议) | 3.1.0 | 2203 LTSR 最新累积更新 / 2311 CR | 2402 LTSR 最新累积更新 / 2311 CR | 2311 | 2311 | 2312 |
| 屏幕共享 | 3.1.0 | 2203 LTSR 最新累积更新 / 2311 CR | 2402 LTSR 最新累积更新 / 2311 CR | 2311 | 2311 | 2312 |
| 双音多频 | 3.1.0 | 2203 LTSR 最新累积更新 / 2311 当前版本 | 2402 LTSR 最新累积更新 / 2311 当前版本 | 2311 | 2311 | 2312 |
| 代理服务器支持 | 3.1.0 | 2203 LTSR 最新累积更新 / 2311 当前版本 | 2402 LTSR 最新累积更新 / 2311 当前版本 | 2311 | 2311 | 2312 |
| 应用共享 | 3.1.0 | 2203 LTSR 最新 累积更新 / 2311 当前版本 | 2402 LTSR 最新 累积更新 / 2311 当前版本 | 2311 | 2311 | 不适用 |
| 动态 e911 | 3.1.0 | 2203 LTSR 最新 累积更新 / 2311 当前版本 | 2402 LTSR 最新 累积更新 / 2311 当前版本 | 2311 | 2311 | 2312 |
| 多窗口 | 3.1.0 | 2203 LTSR 最新累积更新 / 2311 当前版本 | 2402 LTSR 最新累积更新 / 2311 当前版本 | 2311 | 2311 | 2312 |
| SDP 统一计划支持 | 3.1.0 | 2203 LTSR 最新累积更新 / 2311 当前版本 | 2402 LTSR 最新累积更新 / 2311 当前版本 | 2311 | 2311 | 2312 |
| 流分辨率 / 同播 | 3.1.0 | 2203 LTSR 最新累积更新 / 2311 CR | 2402 LTSR 最新累积更新 / 2311 CR | 2311 | 2311 | 2312 |
| 远程音频(带循环) | 3.1.0 | 2203 LTSR 最新累积更新 / 2311 CR | 2402 LTSR 最新累积更新 / 2311 CR | 2311 | 2311 | 2405 |
| 基于浏览器的 UCSDK(引导支持) | 4.0.2 | 2407 CR | 2402 LTSR 最新的累积更新 / 2311 CR | 2311 | 2311 | 2312 |
| 网络 HID 接口 | 4.0.2 | 2203 LTSR 最新的累积更新 / 2311 CR | 2409.10 | 2411 | 2411 | 2505 |
| 网络音频 API | 4.0.2 | 2203 LTSR 最新的累积更新 / 2311 CR | 2405 | 2405 | 2405 | N/A |
| 重启 ICE | 4.1.0 | 2203 LTSR 最新累积更新 / 2311 当前版本 | 2503.2 | 2503 | 2503 | 2502.10 |
| 屏幕录制(预览)¹ | 4.1.0 | 2503 | 2503.2 | N/A | 不适用 | 不适用 |
注意:
我们引入了一项新的屏幕录制策略,因此您需要 2503 版本的 delivery controller™,该版本随附于 CVAD 2503。
当前供应商支持
多家第三方供应商已将统一通信 SDK 集成到其产品中。以下列出了当前的供应商及其支持文档:
| 供应商 | 说明文档 |
|---|---|
| 亚马逊连接 | 优化 Citrix 云桌面上的亚马逊连接音频 |
| 铃声中心 | 在 Citrix VDI 环境中使用铃声中心 |
| 飞屋九 | 思杰环境中的飞屋九 Web实时通信 |
| 特威利奥 | 思杰虚拟桌面基础架构上的 Twilio Flex |
| 亚美亚 | 适用于 Citrix 的亚美亚体验平台公有云 VDI 解决方案 |
| 8x8 | Citrix VDI 与 8x8 Work 桌面版和网页版的集成 |
| 康腾古鲁 | 内容大师 思杰集成 |
| 瑞本通信公司 | 锐本通信 思杰 WebRTC 软件开发工具包 |
| 英特米迪亚 | Installing Intermedia Unite on Citrix Virtual Apps and Desktops |
| 阿尔卡特朗讯 Rainbow | 适用于 Rainbow 桌面应用程序的 Citrix 优化 |
| 拓客台 | 拓客台座席工作区 VDI 连接 |
| IPC | IPC 优尼吉 软客户端 思杰 VDI |
| 维特罗 | 维特罗灵感 适用于 Citrix VDI |
| 派西普 | 在 Citrix Pexip Infinity 文档中部署连接桌面应用程序 |
故障排除
有关故障排除信息,请参阅针对使用 Citrix 统一通信 SDK 优化的应用程序的故障排除指南。
已知问题和限制
本节将记录当前已知的限制和问题,并随着它们的识别而进行记录。