Citrix Virtual Apps and Desktops

监视、故障排除和支持 Microsoft Teams

监视 Teams

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

在“活动管理器”中监视 Teams

可以在 Director > “用户详细信息”页面 > “会话详细信息”面板 > “MS Teams 优化”字段中查看 Microsoft Teams 优化状态。优化 Microsoft Teams 对于获得更好的用户体验(例如清晰的音频和视频)至关重要。此功能适用于 VDA 2311 及更高版本。支持的 Citrix Workspace™ app 版本列在“Microsoft Teams 优化”中。仅当 Microsoft Teams 作为已发布的应用程序或在已发布的桌面中运行时,Director 才会显示 Microsoft Teams 优化状态。 有关详细信息,请参阅Microsoft 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 TCPWebSocketService.exe 执行两个主要功能:

  1. 安全 WebSockets 的 TLS 终止vdiCitrixPeerConnection.js 接收安全 WebSocket 连接,vdiCitrixPeerConnection.js 是 Microsoft Teams 应用程序中的一个组件。您可以使用 Process Monitor 跟踪它。有关证书的详细信息,请参阅“TLS 和 HTML5 视频重定向以及浏览器内容重定向”部分。

    某些防病毒和桌面安全软件会干扰 WebSocketService.exe 及其证书的正常运行。虽然 Citrix HDX HTML5 视频重定向服务可能在 services.msc 控制台中运行,但 netstat 中显示的本地主机 127.0.0.1:9002 TCP 套接字从未处于侦听模式。尝试重新启动服务会导致其挂起(“正在停止…”)。请确保为 WebSocketService.exe 进程应用适当的排除项。

    进程监视器

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

    WebSocketAgent.exe 服务

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

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

    运行 netstat 示例

    成功连接后,状态将变为 ESTABLISHED:

    成功的 netstat 示例

重要提示:

WebSocketService.exe 侦听两个 TCP 套接字:127.0.0.1:9001127.0.0.1:9002。端口 9001 用于浏览器内容重定向和 HTML5 视频重定向。端口 9002 用于 Microsoft Teams 重定向。请确保 VDA 的 Windows OS 中没有任何代理配置会阻止 Teams.exeWebSocketService.exe 之间的直接通信。有时,当您在 Internet Explorer 11 中配置显式代理(“Internet 选项”>“连接”>“LAN 设置”>“代理服务器”)时,连接可能会流经指定的代理服务器。使用手动和显式代理设置时,请验证是否已选中“绕过本地地址的代理服务器”。

服务位置和说明

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

Citrix Workspace app

在用户的端点上,适用于 Windows 的 Citrix Workspace app 会实例化一个名为 HdxTeams.exeHdxRtcEngine.exe 的新服务。当 Microsoft Teams 在 VDA 中启动并且用户尝试在自预览中呼叫或访问外围设备时,就会发生这种情况。如果您没有看到此服务,请检查以下各项:

  1. 请确保您至少安装了适用于 Windows 的 Workspace App 1905 版本。您是否在 Workspace app 安装路径中看到 HdxTeams.exeHdxRtcEngine.exe 以及 webrpc.dll 二进制文件?
  2. 如果您已验证步骤 1,请执行以下操作以检查 HdxTeams.exeHdxRtcEngine.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.exeHdxRtcEngine.exe 在客户端端点上启动,请执行以下操作:
    1. 重新启动 VDA。
    2. 重新启动客户端端点。

支持

Citrix 和 Microsoft 联合支持通过 Microsoft Teams 优化功能,从 Citrix Virtual Apps and Desktops™ 交付 Microsoft Teams。这种联合支持是两家公司紧密合作的成果。如果用户拥有有效的支持合同,并且在使用此解决方案时遇到问题,请向怀疑导致问题的代码供应商提交支持工单。即,Microsoft 负责 Teams,Citrix 负责优化组件。 Citrix 或 Microsoft 将接收工单,对问题进行分类,并酌情升级。用户无需联系两家公司的支持团队。

如果遇到问题,建议在 Teams UI 中单击 “帮助”>“报告问题”。VDA 端的日志会在 Citrix 和 Microsoft 之间自动共享,以更快地解决技术问题。

收集日志

HDX media engine 日志可在用户计算机上找到(而非 VDA 上)。如果出现任何问题,请务必将日志附加到支持案例中。

Windows 日志:

Windows 日志位于 %TEMP% 中 HDXTeams 文件夹内 (AppData/Local/Temp/HDXTeams 或 AppData/Local/Temp/HdxRtcEngine)。查找名为 webrpc_Day_Month_timestamp_Year.txt 的 .txt 文件。如果使用的是较新版本的 Citrix Workspace 应用程序(例如 Citrix Workspace 应用程序 2009.5 或更高版本),请将日志存储在 AppData\Local\Temp\HdxRtcEngine 中。

每个会话都会创建一个单独的日志文件夹。

Mac 日志:

  1. VDWEBRTC 日志 - 记录虚拟通道的执行。

    位置:/Users/<User Name>/Library/Logs/Citrix Workspace/CitrixViewer_<Y_M_D_H_M_S>.txt

  2. HdxRtcEngine 日志 - 记录 HdxRtcEngine 上进程的执行。

    位置:$TMPDIR/hdxrtcengine/<W_M_D_H_M_S_Y>/hdxrtcengine.log

    HdxRtcEngine 日志默认启用。

  3. Webrpc 日志 - 是最重要的日志,记录 webrtc 库的封装执行。

    位置:/Users/<USERNAME>/Library/Logs/HdxRtcEngine/<W_M_D_H_M_S_Y>/webrpc.log

Linux 日志:

Linux 日志位于 /tmp/webrpc/<current date>//tmp/hdxrtcengine/<current date>/ 文件夹中。 Webrtc 日志:/tmp/webrpc/<current date>/webrtc.log 内核日志:/var/log/syslog

ICE/STUN/TURN/ 日志:

建立呼叫时,需要以下四个 ICE 阶段:

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

在 HdxRtcEngine.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

<!--NeedCopy-->

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

  1. 主机
  2. 对等反射
  3. 服务器反射
  4. 传输中继

如果遇到问题并且可以持续重现,建议在 Microsoft Teams 中单击 “帮助”>“报告问题”。如果用户已向 Microsoft 提交案例,日志会在 Citrix 和 Microsoft 之间共享,以解决技术问题。 在联系 Citrix Support 之前捕获 CDF 跟踪也很有益。有关详细信息,请参阅知识中心文章 CDFcontrol

有关收集 CDF 跟踪的建议,请参阅知识中心文章 Recommendations for Collecting the CDF Traces

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

VDA 侧 CDF 跟踪

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

Workspace 应用程序侧 CDF 跟踪

  • IcaClient_DriversVd_TeamsRedir(可选)
  • IcaClient_Multimedia_HdxTeams(需要 Citrix Workspace 应用程序 2012 或更高版本)
监视、故障排除和支持 Microsoft Teams