XenApp and XenDesktop

音频功能

可以向某个策略配置并添加以下 Citrix 策略设置以优化 HDX 音频功能。有关详细用法以及与其他策略设置的关系和依赖项,请参阅音频策略设置带宽策略设置多流连接策略设置

重要

尽管最好使用用户数据报协议 (UDP) 来代替 TCP 传输音频,但是,使用 DTLS 的 UDP 音频加密仅在 NetScaler Gateway 与 Citrix Receiver 之间可用。因此,有时使用 TCP 传输可能更为可取。TCP 支持从 VDA 到 Citrix Receiver 的端到端 TLS 加密。

音频质量

通常情况下,音频质量越高,需要向用户设备发送的音频数据就越多,占用的带宽也就越多,服务器 CPU 使用率也就越高。借助声音压缩功能,可以在音频质量与整体会话性能之间取得平衡。可使用 Citrix 策略设置来配置要应用于声音文件的压缩级别。

默认情况下,音频质量策略设置会设置为“高 - 高清晰度音频”(使用 TCP 传输时)和“中 - 语音优化”(使用 UDP 传输(建议)时)。高清晰度音频设置提供高保真立体声音频,但占用的带宽高于其他质量设置。对于未优化的语音聊天或视频聊天应用程序(如软件电话),请不要使用此音频质量,因为此音频质量可能会在音频路径中产生延迟,不适合用于实时通信。对于实时音频,建议使用语音优化策略设置,无论选定的传输协议是什么。

带宽受限时(例如卫星连接或拨号连接),将音频质量降低至将占用可行的最低带宽。在这种情况下,请为使用低带宽连接的用户创建单独的策略,以便不会对使用高带宽连接的用户产生不利影响。

有关设置的详细信息,请参阅音频策略设置。请务必在用户设备上启用“客户端音频设置”;请参阅本文后面的“用户设备的音频设置策略”。

客户端音频重定向

要允许用户在用户设备上通过扬声器或其他音频设备(如耳机)从服务器上的应用程序接收音频,请让客户端音频重定向设置保持其默认值(允许)。

客户端音频映射会造成服务器及网络的负载过大。但是,禁止客户端音频重定向将禁用所有 HDX 音频功能。

有关设置的详细信息,请参阅音频策略设置。请务必在用户设备上启用“客户端音频设置”;请参阅本文后面的“用户设备的音频设置策略”。

客户端麦克风重定向

要允许用户使用用户设备上的麦克风等输入设备录制音频,请让客户端麦克风重定向设置保持其默认值(允许)。

出于安全考虑,当不受用户设备信任的服务器尝试访问麦克风时,系统会向用户发出警报。用户可以在使用麦克风之前选择接受或拒绝访问。用户可以在 Citrix Receiver 上禁用此警报功能。

有关设置的详细信息,请参阅音频策略设置。请务必在用户设备上启用“客户端音频设置”;请参阅本文后面的“用户设备的音频设置策略”。

音频即插即用

音频即插即用策略设置可控制是否允许使用多个音频设备来录制和播放声音。默认情况下,启用此设置。使用音频即插即用功能时,音频设备即使是在建立了用户会话之后才插入,也能够被识别。

此设置仅适用于 Windows Server 操作系统计算机。

有关设置的详细信息,请参阅音频策略设置

音频重定向带宽限制和音频重定向带宽限制百分比

音频重定向带宽限制策略设置指定在会话中播放和录制音频时所用的最大带宽 (Kbps)。音频重定向带宽限制百分比设置指定音频重定向功能所用的最大带宽占总会话带宽的百分比。默认情况下,这两项设置指定为零(无最大值)。如果同时配置了这两个设置,则使用最低带宽限制的那个设置。

有关设置的详细信息,请参阅带宽策略设置。请务必在用户设备上启用“客户端音频设置”;请参阅本文后面的“用户设备的音频设置策略”。

通过 UDP 协议的音频实时传输和音频 UDP 端口范围

默认情况下, “通过用户数据报协议 (UDP) 的音频实时传输”设置为允许(如果在安装过程中选择),从而在服务器上打开一个 UDP 端口,以支持使用“通过 UDP 协议的音频实时传输”的连接。Citrix 建议为音频配置 UDP/RTP 协议,以确保在发生网络拥堵或数据包丢失时获得最佳的用户体验。对于软件电话应用程序等实时音频,现在更偏向于使用 UDP 音频来代替 EDT。UDP 允许在不重新传输的情况下存在数据包丢失,从而确保不会对数据包丢失率较高的连接增加任何延迟。

重要:

如果未安装 NetScaler Gateway,则不加密通过 UDP 传输的音频数据。如果 NetScaler Gateway 配置为访问 XenApp 和 XenDesktop 资源,则端点设备与 NetScaler Gateway 之间的音频流量将使用 DTLS 协议确保安全。

“音频 UDP 端口范围”指定 Virtual Delivery Agent (VDA) 用来与用户设备交换音频数据包数据的端口号范围。

默认情况下,范围为 16500–16509。

有关通过 UDP 协议的音频实时传输的设置详细信息,请参阅音频策略设置;有关音频 UDP 端口范围的详细信息,请参阅多流连接策略设置。请务必在用户设备上启用“客户端音频设置”;请参阅本文后面的“用户设备的音频设置策略”。

用户设备的音频设置策略

  1. 按照配置组策略对象管理模板进行操作,加载组策略模板。
  2. 在组策略编辑器中,依次展开“管理模板”>“Citrix 组件”>“Citrix Receiver”>“用户体验”。
  3. 对于客户端音频设置,请选择未配置启用禁用
    • 未配置。默认情况下,通过高质量音频或以前配置的自定义音频设置启用音频重定向。
    • 已启用。音频重定向通过选定的选项启用。
    • 已禁用。音频重定向已禁用。
  4. 如果选择启用,请选择一种音频质量。对于 UDP 音频,请仅使用(默认设置)。
  5. (仅适用于 UDP 音频)选择启用实时传输,然后设置用于在本地 Windows 防火墙中打开的传入端口的范围。
  6. 要通过 NetScaler Gateway 使用 UDP 音频,请选择允许通过网关实时传输。NetScaler Gateway 必须使用 DTLS 进行配置。有关详细信息,请参阅通过 NetScaler Gateway 传输 UDP 音频

作为管理员,如果您在端点设备上没有控制权限,无法进行更改(例如,BYOD 或使用家用计算机时),请使用 StoreFront 中的 default.ica 属性启用 UDP 音频。

  1. 在 StoreFront 计算机上,使用编辑器(例如记事本)打开 C:\inetpub\wwwroot\Citrix\<Store Name>\App_Data\default.ica。
  2. 将以下条目移至 [Application] 部分下。
; This is to enable Real-Time Transport
EnableRtpAudio=true
; This is to Allow Real-Time Transport Through gateway
EnableUDPThroughGateway=true
; This is to set audio quality to Medium
AudioBandwidthLimit=1
; UDP Port range
RtpAudioLowestPort=16500
RtpAudioHighestPort=16509
 <!--NeedCopy-->

如果您通过编辑 default.ica 启用用户数据报协议 (UDP) 音频,UDP 音频将对使用该存储的所有用户启用。

在多媒体会议期间避免产生回声

用户参与音频或视频会议时可能会听到回声。通常当扬声器和麦克风彼此间距离太近的时候会产生回声。因此,我们建议您在音频和视频会议中使用耳机。

HDX 提供了一个回声消除选项(默认情况下处于启用状态),可以将回声降低到最小。扬声器和麦克风之间的距离直接影响回声消除功能的效果。设备之间的距离不得过近或过远。

您可以更改注册表设置以禁用回声消除功能。

警告

注册表编辑不当会导致严重问题,可能需要重新安装操作系统。Citrix 无法保证因注册表编辑器使用不当导致出现的问题能够得以解决。使用注册表编辑器需自担风险。在编辑注册表之前,请务必进行备份。

  1. 在用户设备上使用注册表编辑器导航到以下位置:
    • 32 位计算机:HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ClientAudio\EchoCancellation
    • 64 位计算机:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ClientAudio\EchoCancellation
  2. 将值数据字段更改为 FALSE。

软件电话

软件电话是指用作电话界面的软件。可以使用软件电话通过 Internet 从计算机或其他智能设备进行通话。使用软件电话时,可以拨打电话号码以及使用屏幕执行与电话有关的其他功能。

XenApp 和 XenDesktop 支持使用多种备用方法来提供软件电话。

  • 控制模式。托管的软件电话只需要控制物理电话机。在这种模式下,所有音频流量都不通过 XenApp 或 XenDesktop 服务器。
  • HDX RealTime 优化的软件电话支持。媒体引擎在用户设备上运行,并且 IP 语音 (VoIP) 流量对等传输。例如,请参阅:
  • 本地应用程序访问。这是一项 XenApp 和 XenDesktop 功能,允许软件电话等应用程序在最终用户 Windows 设备(显示与其虚拟/已发布的桌面无缝集成)上本地运行。此功能会将所有音频处理卸载到用户设备。有关详细信息,请参阅本地应用程序访问和 URL 重定向
  • HDX RealTime 通用软件电话支持。VoIP-over-ICA。

通用软件电话支持

通用软件电话支持功能允许您在数据中心中的 XenApp 或 XenDesktop 上托管未经修改的软件电话。音频流量通过 Citrix ICA 协议(最好使用 UDP/RTP)传输到运行 Citrix Receiver 的用户设备。

通用软件电话支持是 HDX RealTime 的一项功能。此软件电话交付方法在以下情况下特别有用:

  • 优化后的用于交付软件电话的解决方案不可用,并且用户未登录能够使用本地应用程序访问的 Windows 设备。
  • 优化后的软件电话交付所需的媒体引擎尚未在用户设备上安装,或者该引擎不适用于用户设备上运行的操作系统版本。在这种情况下,通用 HDX RealTime 可提供重要的回退解决方案。

使用 XenApp 和 XenDesktop 时有两个软件电话交付注意事项:

  • 如何将软件电话应用程序交付到虚拟/已发布的桌面。
  • 如何将音频传输到最终用户的耳机、麦克风和扬声器或者 USB 电话机,以及如何从这些设备传输音频。

XenApp 和 XenDesktop 包括多种支持通用软件电话交付的技术:

  • 针对语音优化的编解码器,实现了实时音频和带宽的快速编码。
  • 低延迟音频堆栈。
  • 服务器端抖动缓冲区,用于在网络延迟波动时使音频趋于平稳。
  • 面向服务质量的数据包标记(DSCP 和 WMM)。
    • 面向 RTP 数据包的 DSCP 标记(第 3 层)
    • 面向 Wi-Fi 的 WMM 标记

适用于 Windows、Linux、Chrome 和 Mac 的各 Citrix Receiver 版本也具备 VoIP 功能。Citrix Receiver for Windows 提供以下功能:

  • 客户端抖动缓冲区 - 即使在网络延迟波动时也能确保音频平稳传输。
  • 回声消除 - 允许声音在未使用耳机的工作人员的麦克风与扬声器之间的距离内大幅波动。
  • 音频即插即用 - 在启动会话之前不需要插入音频设备。可以随时插入这些设备。
  • 音频设备路由 - 用户可以通过耳机的声音路径将铃声直接传输到扬声器。
  • 多流 ICA - 启用通过网络进行的、基于服务质量 (QoS) 的灵活路由。
  • ICA 支持四股 TCP 数据流和两股 UDP 数据流。其中一股 UDP 数据流支持通过 RTP 传输的实时音频。

有关 Citrix Receiver 功能汇总,请参阅 Citrix Receiver 功能列表

系统配置建议

客户端硬件和软件: 要获得最佳音频质量,我们建议您安装最新版本的 Citrix Receiver,并使用具有回声消除 (AEC) 功能的优质耳机。适用于 Windows、Linux 和 Mac 的各 Citrix Receiver 版本均支持 VoIP。此外,Dell Wyse 提供对 ThinOS (WTOS) 的 VoIP 支持功能。

CPU 注意事项: 请监视 VDA 上的 CPU 使用率以确定是否需要向每个虚拟机分配两个虚拟 CPU。实时语音和视频属于数据密集型数据。配置两个虚拟 CPU 可以缩短线程切换延迟。因此,我们建议您在 XenDesktop VDI 环境中配置两个 vCPU。

配置两个虚拟 CPU 并不一定意味着将物理 CPU 的数量增加两倍,因为物理 CPU 可以跨会话共享。

Citrix Gateway Protocol (CGP) 也会增加 CPU 占用量,该协议用于会话可靠性功能。在高质量的网络连接中,您可以在 VDA 中禁用此功能以降低 CPU 占用量。在功能强大的服务器上,可能没有必要执行上述任何步骤。

UDP 音频: 通过 UDP 传输的音频对网络拥挤和数据包丢失情况的容忍力非常强。我们建议您在可用时使用 UDP 来代替 TCP。

LAN/WAN 配置:正确的网络配置对提供优质的实时音频质量非常重要。通常情况下,必须配置虚拟 LAN (VLAN),因为过量的广播数据包会引入抖动。启用了 IPv6 的设备可能会生成许多广播数据包。如果不需要 IPv6 支持,可以在这些设备上禁用 IPv6。请进行配置以支持服务质量。

使用 WAN 连接时的设置: 可以通过局域网 (LAN) 和广域网 (WAN) 连接使用语音聊天。在 WAN 连接中,音频质量取决于连接中的延迟、数据包丢失和抖动。如果在 WAN 连接中向用户提供软件电话,我们建议您在数据中心与远程办公室之间使用 Citrix SD-WAN,以维持高服务质量。Citrix SD-WAN 支持包括 UDP 在内的多流 ICA。此外,如果使用单个 TCP 数据流,可以区分各种 ICA 虚拟通道的优先级,以确保高优先级的实时音频数据被优先处理。

使用直接工作负载连接,在通过网关进行身份验证后,可以使用 Citrix SD-WAN 对 audio-over-UDP 进行加密。

使用 Director 或 HDX Monitor 验证您的 HDX 配置。

远程用户连接:NetScaler Gateway 11 支持 DTLS,以在本机提供 UDP/RTP 流量(在 TCP 中无封装)。 必须双向打开防火墙,UDP 流量才能通过端口 443 传输。

编解码器选择和带宽占用量: 我们建议在用户设备与数据中心中的 Virtual Delivery Agent (VDA) 之间使用“语音优化”编解码器设置(也称为“中”质量音频)。在 VDA 平台与 IP-PBX 之间,软件电话使用编解码器的配置和协商结果。例如:

  • G711 提供更加出色的语音质量,但带宽要求为每个通话 80–100 千位/秒(基于网络第 2 层开销)。
  • G729 提供出色的语音质量,但带宽要求为每个通话 30 到 40 千位/秒(基于网络第 2 层开销)。

向虚拟桌面交付软件电话应用程序

可以通过两种方法向 XenDesktop 虚拟桌面交付软件电话:

  • 可以在虚拟桌面映像中安装该应用程序。
  • 可以使用 Microsoft App‑V 通过流技术将该应用程序推送到虚拟桌面。此方法具有易管理的优势,因为虚拟桌面映像保持得非常整洁。通过流技术推送到虚拟桌面后,该应用程序将在该环境中运行,就像已按常规方式安装一样。并非所有应用程序都与 App-V 兼容。

向用户设备传输音频以及从用户设备传输音频

通用 HDX RealTime 支持两种向用户设备传输音频以及从用户设备传输音频的方法:

  • Citrix 音频虚拟通道。我们通常建议使用 Citrix 音频虚拟通道,因为它是专门针对音频传输而设计的。
  • 通用 USB 重定向。如果用户设备位于连接回 XenApp 或 XenDesktop 服务器的 LAN 或类似 LAN 的连接中,支持带按钮和/或显示屏的音频设备、人体学接口设备 (HID) 将很有用。

Citrix 音频虚拟通道

双向 Citrix 音频虚拟通道 (CTXCAM) 允许音频通过网络有效传输。通用 HDX RealTime 从用户的耳机或麦克风获取音频,进行压缩,然后通过 ICA 将其发送到虚拟桌面上的软件电话应用程序。类似地,软件电话的音频输出将被压缩,并在另一个方向发送到用户的耳机或扬声器。此压缩与软件电话本身使用的压缩无关(例如 G.729 或 G.711)。此压缩是使用针对语音优化的编解码器完成的(“中”质量)。其特性对 VoIP 而言非常完美。此编解码器的特性是编码时间非常快,并且最高仅占用大约 56 千位/秒的网络带宽(每个方向 28 Kbps)。必须在 Studio 控制台中明确选择此编解码器,因为这不是默认音频编解码器。默认编解码器为高清音频编解码器(“高”质量)。此编解码器非常适用于高保真立体声声道,但与针对语音优化的编解码器相比,其编码速度较慢。

通用 USB 重定向

Citrix 通用 USB 重定向技术(CTXGUSB 虚拟通道)提供通用的远程连接 USB 设备的方法,包括复合设备(音频加 HID)以及常时等量 USB 设备。此方法仅限于通过 LAN 连接的用户使用,因为 USB 协议通常对网络延迟非常敏感,并且需要占用大量的网络带宽。常时等量 USB 重定向在使用部分软件电话时非常适用。此重定向提供出色的语音质量和低延迟,但 Citrix 音频虚拟通道仍为首选方法,因为后者已针对音频流量优化。主要异常发生在使用带按钮的音频设备时,例如,连接到通过 LAN 连接到数据中心的用户设备的 USB 电话。在这种情况下,通用 USB 重定向通过将信号发送回软件电话来支持电话机或耳机上用于控制功能的按钮。对于在设备上本地使用的按钮而言,这并不是问题。