Microsoft Teams 优化

重要:

Microsoft Teams 的优化至少需要 Microsoft Teams 版本 1.2.00.31357。

Citrix 使用 Citrix Virtual Apps and Desktops 和 Citrix Workspace 应用程序为基于桌面的 Microsoft Teams 提供优化。默认情况下,我们将所有必要的组件绑定到 Citrix Workspace 应用程序和 Virtual Delivery Agent (VDA) 中。

我们针对 Microsoft Teams 的优化包含一个 VDA 端 HDX 服务和 API,用于与 Microsoft Teams 托管的应用程序进行交互以接收命令。这些组件将向 Citrix Workspace 应用程序端媒体引擎打开控制虚拟通道 (CTXMTOP)。端点将在本地解码并呈现多媒体。将本地 Citrix Workspace 应用程序窗口中的无缝管理单元反转回托管的 Microsoft Teams 应用程序。

身份验证和发出信号在本地发生在 Microsoft Teams 托管的应用程序上,就像其他 Microsoft Teams 服务(例如聊天或协作)一样。音频/视频重定向不会对其产生影响。

CTXMTOP 是一个命令和控制虚拟通道。这意味着在 Citrix Workspace 应用程序与 VDA 之间不交换媒体。

仅客户端提取/客户端呈现可用。

此视频演示让您了解 Microsoft Teams 如何在 Citrix 虚拟环境中工作。

Microsoft Teams 优化演示

Microsoft Teams 安装

警告:

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

我们建议您遵循 Microsoft Teams 计算机范围的安装准则,并避免使用在 Appdata 中安装 Teams 的 .exe 安装程序。而是通过使用命令行中的 ALLUSER=1 标志来安装 C:\Program Files (x86)\Microsoft\Teams。在此模式下,只要有新版本,Teams 应用程序就不会自动更新。对于非持久性环境,我们建议使用此模式。有关详细信息,请参阅 使用 MSI 安装 Microsoft Teams(“VDI 安装”部分)。

如果您有专用的持久性 VDI 环境,并且您希望 Teams 应用程序自动更新,并希望团队在 Appdata/Local 下安装每用户,请使用 .exe 安装程序或 MSI,而非 ALLUSER =1

如果使用 Citrix App Layering 管理不同层中的 VDA 和 Microsoft Teams 安装,请在使用 ALLUSER =1 安装 Teams 之前在 Windows 中部署此注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix

创建名为 PortICA 的空注册表项(保留默认名称、类型和数据)。

Profile Management 建议

ALLUSER =1 标志从命令行传递到 MSI 时,Teams 应用程序将安装在 C:\Program Files 下 (~300 MB)。该应用程序将 AppData\Local 用于日志,将 AppData\Roaming\Microsoft\Teams 用于用户特定的配置、缓存用户界面中的元素等等。

系统要求

最低版本 - Delivery Controller (DDC) 1906.2:

支持的操作系统:

  • Windows Server 2019、2016、2012 R2 Standard Edition 和 Datacenter Edition,包含服务器核心选项

最低版本 - Virtual Delivery Agent (VDA) 1906.2:

支持的操作系统:

  • Windows 10 64 位,最低版本 1607,最高版本 1909。
  • Windows Server 2019、2016 和 2012 R2(Standard Edition 和 Datacenter Edition)。

要求:

  • BCR_x64.msi - 包含 Microsoft Teams 优化代码并从 GUI 自动启动的 MSI。如果使用命令行界面进行 VDA 安装,请不要将其排除。

推荐的版本 - 适用于 Windows 的 Citrix Workspace 应用程序 1911,最低版本 - 适用于 Windows 的 Citrix Workspace 应用程序 1907:

  • Windows 7、8 和 10(32 位和 64 位版本,包括 Embedded Edition)
  • Windows 10 IoT Enterprise 2016 LTSB (v1607) 和 2019 LTSC (v1809)
  • 端点要求:大约 2.2–2.4 GHz 双核 CPU,可在点对点视频会议通话期间支持 720p HD 分辨率。
  • 具有较低基础速度(大约 1.5 GHz)的双核或四核 CPU,配备 Intel Turbo Boost 或 AMD Turbo Core,可提升至至少 2.4 GHz。
  • 通过验证的 HP 瘦客户端:t630/t640、t730/t740、mt45。
  • 通过验证的 Dell 瘦客户端:5070、5470 Mobile TC。
  • 有关通过验证的端点的完整列表,请参阅瘦客户端
  • Citrix Workspace 应用程序至少需要 600 MB 可用磁盘空间和 1 GB RAM。
  • Microsoft .NET Framework 最低要求为版本 4.6.2。如果系统中不存在,Citrix Workspace 应用程序会自动下载并安装 .NET Framework。

启用 Microsoft Teams 优化

要为 Microsoft Teams 启用优化,请使用 Microsoft Teams 重定向策略中介绍的 Studio 策略(默认情况下设置为)。除启用此策略外,HDX 还会进行检查,以验证 Citrix Workspace 应用程序的版本等于还是高于所需的最低版本。如果启用了此策略并且支持 Citrix Workspace 应用程序的版本,HKEY_CURRENT_USER\Software\Citrix\HDXMediaStream\MSTeamsRedirSupport 注册表项将在 VDA 上自动设置为 1。Microsoft Teams 应用程序读取要在 VDI 模式下加载的密钥。

如果单击关于 > 版本,则会显示已针对 Citrix 优化图例:

“已针对 Citrix 优化”图例

如果您没有看到已针对 Citrix 优化,请通过右键单击通知区域图标退出 Teams 并重新启动。

网络要求

Microsoft Teams 依赖 Office 365 中的媒体处理器服务器进行会议或多方呼叫。Microsoft Teams 依赖于 Office 365 传输中继处理以下场景:

  • 点对点通话中的两个对端没有直接连接
  • 参与者没有直接连接到媒体处理器。

因此,对端与 Office 365 云之间的网络运行状况决定通话的性能。

我们建议您对环境进行评估,以确定可能会影响整个云语音和视频部署的任何风险和要求。 使用 Skype for Business 网络评估工具来测试您的网络是否已准备好使用 Microsoft Teams。有关支持信息,请参阅支持部分。

实时协议 (RTP) 流量的关键网络建议汇总:

  • 尽可能直接从分支机构连接到 Office 365 网络。
  • 如果必须在分支机构使用以下任何内容,请确保 RTP/UDP Teams 流量不受阻碍。HdxTeams.exe 不支持在端点上配置的显式代理。
    • 绕过代理服务器
    • 网络 SSL 拦截
    • 深度包检测设备
    • VPN 发夹(如有可能,使用拆分通道)
  • 规划并提供足够的带宽。
  • 检查每个分支机构的网络连接性和质量。

Workspace 应用程序 (HdxTeams.exe) 中的 WebRTC 媒体引擎对卸载到客户端的多媒体数据流使用安全实时传输协议 (SRTP)。SRTP 通过使用对称密钥(128 位)加密媒体和控制消息,并在计数器模式下使用 AES 加密密码,为 RTP 提供机密性和身份验证。

建议使用以下指标来保证正面的用户体验:

指标 端点到 Office 365
延迟(单向) < 50 毫秒
延迟 (RTT) < 100 毫秒
Packet Loss(数据包丢失) 在任何 15 秒时间间隔内 < 1%
数据包到达间抖动 在任何 15 秒时间间隔内 <30 毫秒

有关详细信息,请参阅为 Microsoft Teams 准备贵组织的网络

在带宽要求方面,Microsoft Teams 的优化可以使用对音频 (OPUS/G.722/PCM G711) 和视频 (H264/VP9) 使用各种编解码器。

在通话建立过程中,对端使用会话描述协议 (SDP) 请求应答来协商这些编解码器。 Citrix 的最低建议如下:

类型 Bandwidth(带宽) 编解码器
音频(单向) 大约 90 kbps G.722
音频(单向) 大约 60 kbps Opus*
视频(单向) 大约 700 kbps H264 360p @ 30 fps 16:9
视频(单向) 大约 2500 kbps VP9 720p @ 30 fps 16:9
屏幕共享 大约 300 kbps H264 1080p @ 15 fps

* Opus 支持恒定和可变比特率编码,范围为 6 kbps 到 510 kbps。

Opus 和 VP9 是两个优化的 VDI 用户之间的点对点通话的首选编解码器。

G.722 和 H264 是加入会议的 VDI 用户的首选编解码器。

通话建立和媒体流路径

如有可能,Citrix Workspace 应用程序 (HdxTeams.exe) 中的 HDX Media Engine 会尝试在点对点通话中通过用户数据报协议 (UDP) 建立直接网络安全实时传输协议 (SRTP) 连接。如果 UDP 端口被阻止,Media Engine 将回退到 TCP 443。

HDX Media Engine 支持 ICE、Session Traversal Utilities for NAT (STUN) 和 Traversal Using Relays around NAT (TURN) 进行候选发现和连接建立。

如果两个对端之间或对端与会议服务器之间没有直接路径(如果用户正在加入多方通话或会议),HdxTeams.exe 将使用 Office 365 中的 Microsoft Teams 传输中继服务器到达另一个对端或媒体处理器(在其中托管会议)。用户的客户端计算机必须具有两个 Office 365 子网 IP 地址范围和 4 个 UDP 端口的访问权限。有关详细信息,请参阅下面的“呼叫设置”部分中的“体系结构示意图”和 Office 365 URL 和 IP 地址范围 ID 11

ID 类别 地址 目标端口
11 需要优化 13.107.64.0/18、52.112.0.0/14 UDP: 3478、3479、3480、3481 TCP: 443(回退)

这些范围包含传输中继和媒体处理器。 Teams 传输中继提供 STUN 和 TUN 功能,但它们不是 ICE 端点。此外,Teams 传输中继不会终止媒体,也不会执行任何转码。当它们将流量转发到其他对端或媒体处理器时,可以将 TCP(如果 HdxTeams.exe 使用 TCP)桥接到 UDP。

HdxTeams.exe 在 Office 365 云中联系距离最近的 Microsoft Teams 传输中继。HdxTeams.exe 使用任意广播 IP 和端口 3478—3481 UDP(每个工作负载使用不同的 UDP 端口,尽管会发生多路复用)或 443 TCP TLSv1.2 进行回退。通话质量取决于基础网络协议。由于始终推荐 UDP 而非 TCP,因此,我们建议将您的网络设计为适应分支机构中的 UDP 流量。

如果 Teams 是在优化模式下加载的并且 HdxTeams.exe 在端点上运行,则交互式连接建立 (ICE) 失败可能会导致呼叫设置失败或单程音频/视频。当呼叫无法完成或媒体流不是全双工时,请先检查端点上的 Wireshark 跟踪。有关 ICE 候选人收集过程的详细信息,请参阅支持部分中的“收集日志”。

注意:

如果端点无法访问 Internet,则仅当端点位于同一 LAN 上时,用户仍可以进行点对点呼叫。会议失败。在这种情况下,通话设置开始之前有 30 秒的超时。

呼叫设置

请使用此体系结构示意图作为调用流序列的可视参考。示意图中显示了相应的步骤。

体系结构:

Microsoft Teams 优化的工作原理

  1. 启动 Microsoft Teams。
  2. Teams 将对 O365 进行身份验证。租户策略被向下推送到 Teams 客户端,并将相关 TURN 和信号通道信息中继到应用程序。
  3. Teams 检测到其正在 VDA 中运行,并对 Citrix JavaScript API 进行 API 调用。
  4. Teams 中的 Citrix JavaScript 将打开一个与在 VDA (127.0.0.1:9002) 上运行的 WebSocketService.exe 的安全 WebSocket 连接,这会在用户会话内部生成 WebSocketAgent.exe。
  5. WebSocketAgent.exe 通过调用到 Citrix HDX Teams Redirection Service (CtxSvcHost.exe) 来实例化通用虚拟通道。
  6. Citrix Workspace 应用程序的 wfica32.exe (HDX Engine) 产生一个名为 HdxTeams.exe 的新进程,这是用于 Teams 优化的新 WebRTC 引擎。
  7. HdxTeams.exe 和 Teams.exe 有一个双向虚拟通道路径,可以开始处理多媒体请求。

    —–用户呼叫——

  8. 对端 A 单击呼叫按钮。Teams.exe 与 Office 365 中的 Teams 服务通信,通过对端 B 建立端到端信号路径。Teams 向 HdxTeams 询问一系列受支持的呼叫参数(编解码器、分辨率等,称为会话描述协议 (SDP) 提议)。然后使用指向 Office 365 中的 Teams 服务的信令路径中继这些呼叫参数,并从该位置传输到另一个对端。
  9. SDP 提议/应答(单通协商)通过信号通道进行,ICE 连接性检查(NAT 和使用 Session Traversal Utilities for NAT (STUN) 绑定请求的防火墙遍历)完成。然后,安全实时传输协议 (SRTP) 媒体直接在 HdxTeams.exe 与其他对端(或 Office 365 会议服务器,如果是会议)之间流动。

Microsoft Phone 系统

Phone System 是 Microsoft 的技术,在 Office 365 云中对 Microsoft Teams 启用呼叫控制和专用分支交换 (PBX) 功能。Microsoft Teams 的优化使用 Office 365 通话套餐或直接路由支持 Phone System。使用直接路由,您可以直接将自己支持的会话边界控制器连接到 Microsoft Phone System,而无需任何额外的本地软件。

防火墙注意事项

当用户首次使用 Microsoft Teams 客户端启动优化的呼叫时,他们可能会注意到 Windows 防火墙设置的警告。警告要求用户允许 HdxTeams.exe (HDX Overlay Teams) 的通信。

防火墙警告

Windows Defender 防火墙 > 高级安全控制台的入站规则下添加了以下四个条目。如有需要,可以应用更严格的规则。

防火墙入站规则

Citrix SD-WAN:针对 Microsoft Teams 的优化网络连接

最佳音频和视频质量要求具有低延迟、低抖动和低数据包丢失的 Office 365 云的网络连接。在进入 Internet 之前,将 Microsoft Teams 音频-视频 RTP 流量从分支机构位置的 Citrix Workspace 应用程序用户到数据中心可能会增加过多的延迟,并且可能会导致 WAN 链接上出现拥堵。Citrix SD-WAN 按照 Microsoft Office 365 网络连接性原则优化 Microsoft Teams 的连接性。Citrix SD-WAN 使用基于 Microsoft REST 的 Office 365 IP 地址和 Web 服务以及近似 DNS 来识别、分类和引导 Microsoft Teams 的流量。

许多地区的企业宽带 Internet 连接都会受到间歇性数据包丢失、过度抖动和中断的影响。

Citrix SD-WAN 提供了两种解决方案,以便在网络运行状况变化或降低时保持 Microsoft Teams 音频-视频质量。

  • 如果使用 Microsoft Azure,则在 Azure VNET 中部署的 Citrix SD-WAN 虚拟设备 (VPX) 可提供高级连接优化。这些优化包括无缝链路故障转移和音频数据包竞赛。
  • 或者,Citrix SD-WAN 客户可以通过 Citrix Cloud 直接服务连接到 Office 365。此服务为所有受 Internet 限制的流量提供可靠和安全交付。

如果分支机构 Internet 连接的质量无需担心,通过将 Microsoft Teams 流量直接从 Citrix SD-WAN 分支机构转向最近的 Office 365 前门,可能足以最大限度地减少延迟。有关详细信息,请参阅Citrix SD-WAN Office 365 优化

Citrix SD-WAN

Microsoft Teams 中的库视图和活动扬声器

会议或群组呼叫仅支持单个传入视频流。当有多个参与者发送其视频时,任何时候都只显示占主导地位的说话人的视频。从检测到扬声器处于活动状态的时间到视频馈送显示时间之间可能存在一秒或两秒的延迟。

Microsoft Teams 中的屏幕共享

Microsoft Teams 依赖于基于视频的屏幕共享 (VBSS),有效地对正在与 H264 等视频编解码器共享的桌面进行编码,并创建高清晰度流。通过 HDX 优化,传入屏幕共享被视为视频流。因此,如果您正在进行视频通话,而其他对端开始共享桌面,则原始网络摄像机视频源将暂停,而显示屏幕共享视频源。然后,对端必须手动恢复网络摄像机共享。

重要:

只有当音频或视频通话处于活动状态时才能使用屏幕共享,而不能直接从没有音频或视频的聊天窗口使用屏幕共享。

传出屏幕共享也进行了优化,并卸载到 Citrix Workspace 应用程序(1907 或更高版本)。在这种情况下,HdxTeams.exe 捕获并仅传输 Citrix Desktop Viewer (CDViewer.exe) 窗口。如果要共享在客户端计算机上运行的本地应用程序,可以将其叠加在 CDViewer 之上,并且也可以捕获该应用程序。

多显示器:在 CDViewer 处于全屏模式并跨越多显示器设置的情况下,仅共享主显示器。用户必须将虚拟桌面内感兴趣的应用程序拖动到主显示器,以便通话中的其他对端查看该应用程序。

屏幕共享

注意:

如果要将 Teams 发布为独立的无缝应用程序,屏幕共享会捕获 Citrix Workspace 应用程序最低版本 1909 中物理端点的本地桌面。

Microsoft Teams 中的外围设备

当 Microsoft Teams 的优化处于活动状态时,Citrix Workspace 应用程序将访问外围设备(耳机、麦克风、相机、扬声器等)。然后在 Microsoft Teams UI(设置 > 设备)中正确枚举外围设备。

Microsoft Teams 的优化模式

Microsoft Teams 不直接访问这些设备。相反,它依赖 HdxTeams.exe 来获取、捕获和处理媒体。Microsoft Teams 列出了供用户选择的设备。

建议:

  • 使用 Microsoft Teams 认证的耳机进行内置回声消除。在具有多个外围设备的设置中,麦克风和扬声器位于不同的设备上可能会出现回声。例如,带有内置麦克风的网络摄像机和带扬声器的显示器。使用外部扬声器时,请尽可能远离麦克风和可能将声音折射到麦克风的任何表面。
  • Microsoft Teams 认证的相机,虽然 Skype for Business 认证的外围设备 与 Microsoft Teams 兼容。
  • HdxTeams.exe 无法利用 CPU 卸载与执行板载 H.264 编码 -UVC 1.1 和 1.5 的网络摄像机。

注意:

HdxTeams.exe 仅支持以下特定的音频设备格式(通道、位深度和采样率):

  • 播放设备:最多 2 个通道,16 位,频率高达 48000 Hz
  • 录制设备:多达 3 个通道,16 位,频率高达 48000 Hz

即使一个扬声器或麦克风与预期设置不匹配,Teams 中的设备枚举也会失败,并且设置 > 设备下显示。 解决方法为,打开声音控制面板 (mmsys.cpl),选择播放或录制设备,转到属性 > 高级,然后将设置更改为受支持的模式。或者,禁用特定设备。

HDX 技术可以使用以下任一方法映射外围设备:

  • Microsoft Teams 的优化(推荐模式)。
  • 如果 Microsoft Teams 无法在优化的 VDI 模式下加载,VDA 将使用旧版 HDX 技术,例如网络摄像机重定向和客户端音频和麦克风重定向。在未优化模式下,外围设备将映射到 VDA。外围设备在 Microsoft Teams 应用程序中显示,就像它们在本地连接到虚拟桌面一样。

    在查看 Teams 中的设置 > 设备选项卡时,要确定您处于优化模式还是未优化模式,最显著的区别是网络摄像机名称。如果 Microsoft Teams 在未优化模式下加载,旧版 HDX 技术将启动。网络摄像机名称具有 Citrix HDX 后缀,如下图所示。与优化模式相比,扬声器和麦克风设备名称可能略有不同(或被截断)。

Microsoft Teams 的未优化模式

使用旧版 HDX 技术时,Microsoft Teams 不会将音频、视频和屏幕共享处理卸载到端点的 Citrix Workspace 应用程序 WebRTC 媒体引擎。相反,HDX 技术使用服务器端呈现。打开视频时,预计 VDA 上的 CPU 消耗很高。实时音频性能可能不是最佳的。

已知限制

  • 库视图 - 仅限活动扬声器。
  • HID 按钮 - 不支持接听和结束呼叫。支持调高和调低音量。
  • 在通话过程中在设置 > 设备中切换外围设备输入或输出时,您可能会遇到一秒钟的音频故障。
  • 在多显示器设置中进行屏幕共享时,仅共享主显示器。
  • 与 Skype for Business 的互操作性仅限于音频通话,没有视频模式。
  • 我们不支持与电话系统进行双音多频 (DTMF) 交互。
  • 传入和传出视频流的最大分辨率为 720p。
  • 我们仅支持来自传入摄像机或屏幕共享流的一个视频流。当有一个传入屏幕共享时,该屏幕共享会显示,而非显示主扬声器的视频。
  • 传出屏幕共享:不支持应用程序共享。
  • 授予控制权和获得控制权:
    • 屏幕共享或应用程序共享会话期间不支持。
    • 在 PowerPoint 共享会话期间支持。

监视 Teams

本部分提供了使用 HDX 监视 Microsoft Teams 优化的指南。 如果用户在优化模式下运行并且 HdxTeams.exe 正在客户端计算机上运行,则 VDA 中存在一个名为 WebSocketAgent.exe 的进程正在会话中运行。使用 Director 中的活动管理器查看应用程序。

在活动管理器中监视 Teams

使用 VDA 最低版本 1912,可以使用 Citrix HDX Monitor(最低版本 3.11)监视活动的 Teams 呼叫。Citrix Virtual Apps and Desktops 产品 ISO 包含文件夹 layout\image-full\Support\HDX Monitor 中的最新 hdxmonitor.msi

有关详细信息,请参阅知识中心文章 CTX253754 中的监视

故障排除

本部分内容提供故障排除提示,解决您在使用 Microsoft Teams 优化时可能遇到的问题。 更多信息可以在 CTX253754 中找到。

在 Virtual Delivery Agent 上

BCR_x64.msi 安装四个服务。只有两个服务负责 VDA 中的 Microsoft Teams 重定向。

浏览器内容重定向安装四个服务

  • Citrix HDX Teams 重定向服务建立 Microsoft Teams 中使用的虚拟通道。该服务依赖于 CtxSvcHost.exe。

  • Citrix HDX HTML5 视频重定向服务作为 WebSocketService.exe 在 127.0.0.1:9002 TCP 上侦听。WebSocketService.exe 执行两项主要功能:

    i.安全 WebSocket 的 TLS 终止接收来自 vdiCitrixPeerConnection.js 的安全 WebSocket 连接,这是 Microsoft Teams 应用程序中的一个组件。您可以使用进程监视器对其进行跟踪。有关证书的详细信息,请参阅 Controller 与 VDA 之间的通信下的“TLS 和 HTML5 视频重定向以及浏览器内容重定向”部分。

    一些防病毒和桌面安全软件会干扰 WebSocketService.exe 及其证书的正常运行。虽然实际的服务 (Citrix HDX HTML5 Video Redirection) 可能正在 services.msc 控制台中运行,但 localhost 127.0.0.1:9002 TCP 套接字从未处于侦听模式,如 netstat 中所示。尝试重新启动服务会导致其挂起(“正在停止…”)。确保为 WebScoketService.exe 流程应用正确的排除项。

    进程监视器

    ii.用户会话映射。当 Microsoft Teams 应用程序启动时,WebSocketService.exe 将在 VDA 中的用户会话中启动 WebSocketAgent.exe 进程。WebSocketService.exe 作为 LocalSystem 帐户在会话 0 中运行。

    WebSocketAgent.exe 服务

    可以使用 netstat 来检查 VDA 中的 WebSocketService.exe 服务是否处于主动侦听状态。

    从提升的命令提示符窗口运行 netstat -anob -p tcp

    运行 netstat 示例

    在成功连接时,状态将更改为“已建立”:

    成功的 netstat 示例

重要:

WebSocketService.exe 在两个 TCP 套接字中侦听,即 127.0.0.1:9001 和 127.0.0.1:9002。端口 9001 用于浏览器内容重定向和 HTML5 视频重定向。端口 9002 用于 Microsoft Teams 重定向。确保 VDA 的 Windows 操作系统中没有任何可能会阻止 Teams.exe 和 WebSocketService.exe 之间直接进行通信的代理配置。有时,当您在 Internet Explorer 11(Internet 选项 > 连接 > 局域网设置 > 代理服务器)中配置显式代理时,可能会通过已分配的代理服务器进行连接。确认使用手动和显式代理设置时是否选中对于本地地址不使用代理服务器

服务位置和说明

服务 Windows Server OS 中可执行文件的路径 登录身份 说明
Citrix HTML5 视频重定向服务 “C:\Program Files (x86)\Citrix\System32\WebSocketService.exe” /service 本地系统帐户 通过在虚拟桌面与端点设备之间执行媒体重定向所需的初始框架提供了多个 HDX 多媒体服务。
Citrix HDX 浏览器重定向服务 “C:\Program Files (x86)\Citrix\System32\CtxSvcHost.exe” -g BrowserRedirSvcs 此帐户(本地服务) 在端点设备与虚拟桌面之间提供浏览器内容重定向。
Citrix 端口转发服务 “C:\Program Files (x86)\Citrix\System32\CtxSvcHost.exe” -g PortFwdSvcs 此帐户(本地服务) 在端点设备与虚拟桌面之间为浏览器内容重定向提供端口转发。
Citrix HDX Teams 重定向服务 “C:\Program Files (x86)\Citrix\System32\CtxSvcHost.exe” -g TeamsSvcs 本地系统帐户 在端点设备与虚拟桌面之间提供 Microsoft Teams 重定向。

Citrix Workspace 应用程序

在用户的端点上,适用于 Windows 的 Citrix Workspace 应用程序将实例化名为 HdxTeams.exe 的新服务。当 Microsoft Teams 在 VDA 中启动并且用户尝试在自助预览中调用或访问外围设备时会执行此操作。如果您没有看到此服务,请检查以下内容:

  1. 确保您至少安装了适用于 Windows 的 Workspace 应用程序版本 1905。您是否在 Workspace 应用程序安装路径中看到 HdxTeams.exe 和 webrpc.dll 二进制文件?
  2. 如果验证了步骤 1,请执行以下操作以检查 HdxTeams.exe 是否正在启动。
    1. 在 VDA 上退出 Microsoft Teams。
    2. 在 VDA 上启动 services.msc。
    3. 停止 Citrix HDX Teams 重定向服务。
    4. 断开 ICA 会话的连接。
    5. 连接 ICA 会话。
    6. 启动 Citrix HDX Teams 重定向服务。
    7. 重新启动 Citrix HDX HTML5 视频重定向服务。
    8. 在 VDA 启动 Microsoft Teams。
  3. 如果您仍然没有看到正在客户端端点上启动的 HdxTeams.exe,请执行以下操作:
    1. 重新启动 VDA。
    2. 重新启动客户端端点。

支持

Citrix 和 Microsoft 联合支持使用 Microsoft Teams 优化从 Citrix Virtual Apps and Desktops 交付 Microsoft Teams。这种联合支持是两家公司密切合作的结果。如果您有有效的支持合同,并且遇到此解决方案的问题,请与您怀疑其代码导致该问题的供应商打开支持票证。也就是说,Teams 有关的问题请联系 Microsoft,优化组件有关的问题请联系 Citrix。

Citrix 或 Microsoft 会收到票证、对问题进行分级并根据需要上报。您无需联系每个公司的支持团队。

遇到问题时,我们建议您在 Teams UI 中单击帮助 > 报告问题。Citrix 与 Microsoft 之间自动共享 VDA 端日志,以更快地解决技术问题。

收集日志

可以在用户的计算机上的 HDXTeams 文件夹 (AppData/Local/Temp/HDXTeams) 内部的 %TEMP% 下找到 HdxTeams.exe 日志。查找名为 webrpc_Day_Month_timestamp_Year.txt 的 .txt 文件。

建立通话时,需要以下四个 ICE 阶段:

  • 候选收集
  • 候选交换
  • 连接性检查(STUN 绑定请求)
  • 候选提升

在 HdxTeams.exe 日志中,以下条目是相关互动式连接建立 (ICE) 条目。这些条目是为成功设置通话而必须存在的(请参阅此用于收集阶段的示例代码段):

RPCStubs Info: -> device id = \\?\display#int3470#4&1835d135&0&uid13424#{65e8773d-8f56-11d0-a3b9-00a0c9223196}{bf89b5a5-61f7-4127-a279-e187013d7caf} label = Microsoft Camera Front groupId =

webrtcapi.RTCPeerConnection Info: createOffer. audio = 1 video = 1
webrtcapi.RTCPeerConnection Info: setLocalDescription.
>>> begin:sdp
[…]

webrtcapi.RTCPeerConnection Info: OnSignalingChange. signaling state = HaveLocalOffer

webrtcapi.RTCPeerConnection Info: OnIceGatheringChange. state = Gathering

[…]
>>> begin:sdp
candidate:840548147 1 udp 2122194687 10.108.124.215 56927 typ host generation 0 ufrag oVk6 network-id 1
<<< end:sdp
[…]
>>> begin:sdp
candidate:1938109490 1 udp 24911871 52.114.xxx.xxx 52786 typ relay raddr 73.205.xxx.x rport 25651 generation 0 ufrag dDML network-id 1 network-cost 10
<<< end:sdp
[…]
>>> begin:sdp
candidate:4271145120 1 udp 1685987071 66.xxx.xxx.xxx 55839 typ srflx raddr 10.108.124.215 rport 55839 generation 0 ufrag uAVH network-id 1
<<< end:sdp
[…]

webrtcapi.RTCPeerConnection Info: OnIceGatheringChange. state = Complete webrtcapi.RTCPeerConnection Info: setRemoteDescription.
>>> begin:sdp
[…]

webrtcapi.RTCPeerConnection Info: OnSignalingChange. signaling state = HaveRemotelOffer

如果有多个 ICE 候选,则首选顺序为:

  1. host
  2. 对端反向
  3. 服务器反向
  4. 传输中继

如果您遇到问题并且可以持续重现该问题, 我们建议您在 Teams 中单击帮助 > 报告问题。如果您通过 Microsoft 开立了一个案例,Citrix 与微软之间将共享日志以解决技术问题。 在联系 Citrix 支持部门之前捕获 CDF 跟踪也非常有益。有关详细信息,请参阅知识中心文章 CDFcontrol

有关收集 CDF 跟踪信息的建议,请参阅知识中心文章 收集 CDF 跟踪信息的建议

VDA 端 CDF 跟踪 - 启用以下 CDF 跟踪提供程序:

VDA 端 CDF 跟踪信息

Workspace 应用程序端 CDF 跟踪 - 启用以下 CDF 跟踪提供程序:

Workspace 应用程序端 CDF 跟踪