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。 对于 VDA 最低版本 1912,您可以使用 Citrix HDX Monitor(最低版本 3.11)监视活动的 Microsoft 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 Redirection Service 建立 Microsoft Teams 中使用的虚拟通道。该服务依赖于 CtxSvcHost.exe。

  • Citrix HDX HTML5 Video Redirection Service 作为 WebSocketService.exe 运行,侦听 127.0.0.1:9002 TCP。WebSocketService.exe 执行两个主要功能:

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

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

    进程监视器

    ii. 用户会话映射。当 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:9001 和 127.0.0.1:9002。端口 9001 用于浏览器内容重定向和 HTML5 视频重定向。端口 9002 用于 Microsoft Teams 重定向。请确保 VDA 的 Windows OS 中没有任何代理配置会阻止 Teams.exe 和 WebSocketService.exe 之间的直接通信。有时,当您在 Internet Explorer 11 中配置显式代理(Internet 选项 > 连接 > LAN 设置 > 代理服务器)时,连接可能会通过分配的代理服务器。使用手动和显式代理设置时,请验证是否已选中对于本地地址不使用代理服务器

服务位置和说明

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

Citrix Workspace app

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

  1. 确保您至少安装了 Workspace App 1905 for Windows 版本。您是否在 Workspace app 安装路径中看到 HdxTeams.exe 或 HdxRtcEngine.exe 和 webrpc.dll 二进制文件?
  2. 如果您已验证步骤 1,请执行以下操作以检查 HdxTeams.exe 或 HdxRtcEngine.exe 是否正在启动。
    1. 退出 VDA 上的 Microsoft Teams。
    2. 在 VDA 上启动 services.msc。
    3. 停止 Citrix HDX Teams Redirection Service。
    4. 断开 ICA® 会话。
    5. 连接 ICA 会话。
    1. 启动 Citrix HDX Teams Redirection Service。
    1. 重新启动 Citrix HDX HTML5 Video Redirection Service。
    1. 在 VDA 上启动 Microsoft Teams。
    1. 如果您仍然没有看到 HdxTeams.exe 或 HdxRtcEngine.exe 在客户端端点上启动,请执行以下操作:
    2. 重新启动 VDA。
    3. 重新启动客户端端点。

支持

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

遇到问题时,建议您在 Teams 用户界面中单击帮助 > 报告问题。VDA 侧日志会在 Citrix 和 Microsoft 之间自动共享,以更快地解决技术问题。

收集日志

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

Windows 日志:

您可以在 %TEMP%HDXTeams 文件夹内(AppData/Local/Temp/HDXTeams 或 AppData/Local/Temp/HdxRtcEngine)找到 Windows 日志。查找名为 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 日志:

您可以在 /tmp/webrpc/<current date>/ 和 /tmp/hdxrtcengine/<current date>/ 文件夹中找到 Linux 日志。

  • 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 支持之前捕获 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