统一通信 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 的 Citrix Workspace™ 应用 2503
-
适用于 Mac 的 Citrix Workspace App 2503
-
适用于 Linux 的 Citrix Workspace 应用 2503
-
最新的 ChromeOS/HTML5 版本。
注意:
Citrix 客户可以联系技术供应商升级 SDK,或为特定功能添加支持,以防有可以通过新引入的功能实现的使用案例。
主要优势
当您使用经 Citrix UCSDK 优化的应用程序时,您可以期待:
-
增强媒体处理性能,通过将处理器密集型媒体编码/解码从 Citrix 虚拟投递代理 (VDA) 卸载到客户端端点,从而提高最终用户的整体响应能力。
-
降低 Citrix VDA 上的 CPU 和带宽使用率,使 IT 能够支持每个主机更多的并发用户,并使企业能够经济高效地扩展 Citrix 虚拟桌面部署。
-
降低企业的总拥有成本,因为优化的端点延长了传统虚拟桌面的使用寿命并减少了主机基础设施需求,从而随着时间的推移降低了资本支出和运营成本。
-
支持 Windows、Mac、Linux、ChromeOS 和 HTML5 端点平台。
用例
UCSDK 专为优化遵循 WebRTC 标准的实时通信应用程序而构建。以下是关键场景以及可以/已经使用 UCSDK 的基于 WebRTC 的应用程序类型。
-
联络中心即服务 (CCaaS) / 云联络中心平台: 主要管理跨多个渠道的客户交互,优化座席工作流程。
-
示例:Amazon Connect、Twilio、Avaya Experience Platform、Talkdesk、Content Guru
-
-
统一通信即服务 (UCaaS) / 云业务通信: 集成语音、视频、团队消息和状态,实现全面的业务通信。
-
示例:Ring Central、8x8、Intermedia、Alcatel-Lucent Rainbow
-
-
通信平台即服务 (CPaaS): 提供 API,用于将实时通信功能直接嵌入到自定义应用程序中。
-
示例:特威利奥、瑞邦通信
-
-
企业视频会议和协作: 专为高质量视频会议、会议和高级协作功能而设计的平台。
-
示例:Pexip
-
-
金融交易通信: 专为满足金融市场独特、高性能和合规的通信需求而设计。
-
示例:IPC Unigy
-
-
虚拟学习和培训平台: 专为交互式、高质量的虚拟课堂和培训体验而设计。
-
示例:Vitero
-
Citrix UCSDK 的底层 WebRTC 基础意味着其优化功能可以扩展到任何基于 WebRTC 的通信应用程序。这为优化利用 WebRTC 进行实时交互的各种应用程序打开了大门,即使它们目前尚未列为通过 UCSDK 优化的应用程序。我们鼓励客户就他们希望优化的任何用例或应用程序联系 Citrix。
UCSDK 架构
-
供应商应用程序:这可以是任何集成了 UCSDK 的第三方实时通信应用程序,可以是桌面版或浏览器版。
-
UCSDK JS:UCSDK JS 提供 API,供供应商应用程序用于将音频/视频卸载到端点。
-
HdxRtcEngine:这是 Citrix Workspace 应用程序中嵌入的 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
-
Citrix Workspace 应用程序 Windows: 2503
-
Citrix Workspace 应用程序 Mac: 2503
-
思杰工作区应用 Linux: 2503
-
Citrix Workspace App ChromeOS/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 应用程序。
每个供应商可能都有一个非常具体的应用程序名称。因此,请参阅 Current Vendor Support 部分中链接的供应商文档,以确定 WebSocketService 中必须允许哪个应用程序名称。
版本和功能矩阵
由于版本更新频繁,请参阅 Citrix Virtual Apps and Desktops 和 Citrix Workspace app 产品生命周期页面,以确保特定版本受支持。对于许多旧功能,表中提到的版本是撰写本文时最后受支持的当前版本 (CR)。
| 功能 | UCSDK 版本 | VDA | CWA 视窗 | CWA Mac | CWA Linux 系统 | CWA ChromeOS/HTML5 |
|---|---|---|---|---|---|---|
| 音频/视频 (点对点和会议) | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| 屏幕共享 | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| DTMF | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| 代理服务器支持 | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| 应用共享 | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 不适用 |
| 动态 e911 | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 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 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| 远程音频(带循环) | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2405 |
| 基于浏览器的 UCSDK(引导支持) | 4.0.2 | 2407 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| Web HID API | 4.0.2 | 2203 LTSR 最新 CU / 2311 CR | 2409.10 | 2411 | 2411 | 2505 |
| Web 音频 API | 4.0.2 | 2203 LTSR 最新 CU / 2311 CR | 2405 | 2405 | 2405 | 不适用 |
| 重启 ICE | 4.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2503.2 | 2503 | 2503 | 2502.10 |
| 屏幕录制(预览)¹ | 4.1.0 | 2503 | 2503.2 | 不适用 | 不适用 | 不适用 |
注意:
我们引入了屏幕录制的新策略,因此您需要 2503 版本的 delivery controller™,它随附于 CVAD 2503。
当前供应商支持
多家第三方供应商已将统一通信 SDK 集成到其产品中。当前供应商及其支持文档列表如下:
| 供应商 | 文档 |
|---|---|
| 亚马逊连接 | 优化 Citrix 云桌面上的 Amazon Connect 音频 |
| 荣信 | 在 Citrix VDI 环境中使用 RingCentral |
| 五九 | Citrix 环境中的 Five9 WebRTC |
| 推力奥 | 思杰 VDI 上的 拓利欧 Flex |
| 亚美亚 | 适用于 Citrix 的 Avaya Experience Platform Public Cloud VDI 解决方案 |
| 8x8 | Citrix VDI 与 8x8 桌面和 Web 版工作的集成 |
| 康腾古鲁 | 康腾古鲁 Citrix 集成 |
| 瑞本通信 | 瑞本通信 思杰 WebRTC SDK |
| 英特媒体 | 在 Citrix Virtual Apps and Desktops 上安装 英特媒体优耐特 |
| 阿尔卡特-朗讯 Rainbow | Citrix 对 Rainbow 桌面应用程序的优化 |
| 特克台 | Talkdesk 座席工作区 VDI 连接 |
| IPC | IPC Unigy 软客户端 Citrix VDI |
| 维特罗 | 维特罗 Inspire for Citrix VDI |
| 佩克西普 | 在 Citrix Pexip Infinity Docs 中部署 Connect 桌面应用程序 |
故障排除
有关故障排除信息,请参阅 针对使用 Citrix 统一通信 SDK 优化的应用程序的故障排除指南。
已知问题和限制
本节将记录当前已识别的已知问题和限制。