监视、故障排除和支持 Microsoft Teams
监视 Teams
本部分提供了使用 HDX 监视 Microsoft Teams 优化的指南。
如果用户在优化模式下运行并且 HdxTeams.exe
或 HdxRtcEngine.exe
正在客户端计算机上运行,则 VDA 中存在一个名为 WebSocketAgent.exe
的进程正在会话中运行。使用 Director 中的活动管理器查看应用程序。
使用 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 服务 (Citrix HDX HTML5 Video Redirection) 可能正在services.msc
控制台中运行,但 localhost127.0.0.1:9002
TCP 套接字从未处于侦听模式,如 netstat 中所示。尝试重新启动服务会导致其挂起(“正在停止…”)。确保为WebSocketService.exe
流程应用正确的排除项。ii.用户会话映射。当 Microsoft Teams 应用程序启动时,WebSocketService.exe 将在 VDA 中的用户会话中启动 WebSocketAgent.exe 进程。WebSocketService.exe 作为 LocalSystem 帐户在会话 0 中运行。
可以使用
netstat
来检查 VDA 中的 WebSocketService.exe 服务是否处于主动侦听状态。从提升的命令提示符窗口运行
netstat -anob -p tcp
:在成功连接时,状态将更改为“已建立”:
重要:
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 或 HdxRtcEngine.exe 的新服务。当 Microsoft Teams 在 VDA 中启动并且用户尝试在自助预览中调用或访问外围设备时会执行此操作。如果您没有看到此服务,请检查以下内容:
- 确保您至少安装了适用于 Windows 的 Workspace 应用程序版本 1905。您是否在 Workspace 应用程序安装路径中看到 HdxTeams.exe 或 HdxRtcEngine.exe 和 webrpc.dll 二进制文件?
- 如果验证了步骤 1,请执行以下操作以检查 HdxTeams.exe 或 HdxRtcEngine.exe 是否正在启动。
- 在 VDA 上退出 Microsoft Teams。
- 在 VDA 上启动 services.msc。
- 停止 Citrix HDX Teams 重定向服务。
- 断开 ICA 会话的连接。
- 连接 ICA 会话。
- 启动 Citrix HDX Teams 重定向服务。
- 重新启动 Citrix HDX HTML5 视频重定向服务。
- 在 VDA 启动 Microsoft Teams。
- 如果您仍然没有看到正在客户端端点上启动的 HdxTeams.exe 或 HdxRtcEngine.exe,请执行以下操作:
- 重新启动 VDA。
- 重新启动客户端端点。
支持
Citrix 和 Microsoft 联合支持使用 Microsoft Teams 优化从 Citrix Virtual Apps and Desktops 交付 Microsoft Teams。这种联合支持是两家公司密切合作的结果。如果您有有效的支持合同,并且遇到此解决方案的问题,请与您怀疑其代码导致该问题的供应商打开支持票证。也就是说,Teams 有关的问题请联系 Microsoft,优化组件有关的问题请联系 Citrix。 Citrix 或 Microsoft 会收到票证、对问题进行分级并根据需要上报。您无需联系每个公司的支持团队。
遇到问题时,我们建议您在 Teams UI 中单击帮助 > 报告问题。Citrix 与 Microsoft 之间自动共享 VDA 端日志,以更快地解决技术问题。
收集日志
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 日志:
-
VDWEBRTC 日志 - 记录虚拟通道的执行情况。
位置:
/Users/<User Name>/Library/Logs/Citrix Workspace/CitrixViewer_<Y_M_D_H_M_S>.txt
-
HdxRtcEngine 日志 - 记录 HdxRtcEngine 上进程的执行情况。
位置:
$TMPDIR/hdxrtcengine/<W_M_D_H_M_S_Y>/hdxrtcengine.log
HdxRtcEngine 日志默认处于启用状态。
Linux 日志:
可以在 /tmp/webrpc/<current date>/ and /tmp/hdxrtcengine/<current date>/
目录中找到 Linux 日志。
建立通话时,需要以下四个 ICE 阶段:
- 候选收集
- 候选交换
- 连接性检查(STUN 绑定请求)
- 候选提升
在 HdxTeams.exe/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 候选,则首选顺序为:
- host
- 对端反向
- 服务器反向
- 传输中继
如果您遇到问题并且可以持续重现该问题, 我们建议您在 Teams 中单击帮助 > 报告问题。如果您通过 Microsoft 开立了一个案例,Citrix 与微软之间将共享日志以解决技术问题。 在联系 Citrix 支持部门之前捕获 CDF 跟踪也非常有益。有关详细信息,请参阅知识中心文章 CDFcontrol。
有关收集 CDF 跟踪信息的建议,请参阅知识中心文章 收集 CDF 跟踪信息的建议。
VDA 端 CDF 跟踪 - 启用以下 CDF 跟踪提供程序:
Workspace 应用程序端 CDF 跟踪 - 启用以下 CDF 跟踪提供程序:
- IcaClient_DriversVd_TeamsRedir(可选)
- IcaClient_Multimedia_HdxTeams(需要 Citrix Workspace 应用程序 2012 年或更高版本)