监视、故障排除和支持 Microsoft Teams
监视 Teams
本节提供了使用 HDX 监视 Microsoft Teams 优化的指导。 如果您在优化模式下运行,并且
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。
在虚拟投递代理上
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 连接,vdiCitrixPeerConnection.js 是 Microsoft Teams 应用程序中的一个组件。您可以使用进程监视器对其进行跟踪。有关证书的更多信息,请参阅 Controller 和 VDA 之间的通信 下的“TLS 和 HTML5 视频重定向以及浏览器内容重定向”部分。某些防病毒和桌面安全软件会干扰
WebSocketService.exe及其证书的正常运行。虽然 Citrix HDX HTML5 视频重定向服务可能在services.msc控制台中运行,但 netstat 中显示的 localhost127.0.0.1:9002TCP 套接字从未处于侦听模式。尝试重新启动服务会导致其挂起(“正在停止…”)。请确保为WebSocketService.exe进程应用适当的排除项。
ii. **用户会话映射。**当 Microsoft Teams 应用程序启动时,WebSocketService.exe 在 VDA 中用户的会话中启动 WebSocketAgent.exe 进程。WebSocketService.exe 在会话 0 中作为 LocalSystem 帐户运行。
您可以使用 netstat 检查 WebSocketService.exe 服务在 VDA 中是否处于活动侦听状态。从提升的命令提示符窗口运行netstat -anob -p tcp:
成功连接后,状态变为 ESTABLISHED:
重要:
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 操作系统中可执行文件的路径 | 登录身份 | 说明 |
|---|---|---|---|
| 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 中启动并且用户尝试在自预览中呼叫或访问外设时,会发生这种情况。如果您没有看到此服务,请检查以下内容:
-
确保您至少安装了适用于 Windows 的 Workspace 应用程序 1905 版。您是否在 Workspace 应用程序安装路径中看到 HdxTeams.exe 和 webrpc.dll 二进制文件?
-
如果您已验证步骤 1,请执行以下操作以检查 HdxTeams.exe 是否已启动。
-
退出 VDA 上的 Microsoft Teams。
-
在 VDA 上启动 services.msc。
-
停止 Citrix HDX Teams 重定向服务。
-
断开 ICA® 会话。
-
连接 ICA 会话。
-
启动 Citrix HDX Teams 重定向服务。
-
重新启动 Citrix HDX HTML5 视频重定向服务。
-
在 VDA 上启动 Microsoft Teams。
-
-
如果您仍然没有看到 HdxTeams.exe 在客户端端点上启动,请执行以下操作:
-
重新启动 VDA。
-
重启客户端端点。
-
支持
Citrix 和 Microsoft 共同支持通过针对 Microsoft Teams 的优化功能从 Citrix Virtual Apps and Desktops™ 交付 Microsoft Teams。这种联合支持是两家公司密切合作的结果。如果您有有效的支持合同并且在使用此解决方案时遇到问题,请向您怀疑其代码导致问题的供应商提交支持票证。也就是说,Microsoft 负责 Teams,Citrix 负责优化组件。
Citrix 或 Microsoft 会收到票证,对问题进行分类,并酌情上报。您无需联系两家公司的支持团队。
当您遇到问题时,我们建议您在 Teams UI 中单击 帮助 > 报告问题。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 日志:
-
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.logHdxRtcEngine 日志默认启用。 -
Webrpc 日志 - 是最重要的日志,记录 webrtc 库的封装执行情况。位置:
/Users/<USERNAME>/Library/Logs/HdxRtcEngine/<W_M_D_H_M_S_Y>/webrpc.log
Linux 日志:
您可以在
/tmp/webrpc/<current date>/ and /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
如果存在多个 ICE 候选,则优先级顺序为:
-
主机
-
对等反射
-
服务器反射
-
传输中继
如果您遇到问题并能持续重现,建议您在 Teams 中单击 “帮助”>“报告问题”。如果您已向 Microsoft 提交案例,Citrix 和 Microsoft 之间会共享日志以解决技术问题。 在联系 Citrix 支持部门之前捕获 CDF 跟踪也很有益。有关详细信息,请参阅知识中心文章 CDFcontrol。
有关收集 CDF 跟踪的建议,请参阅知识中心文章 收集 CDF 跟踪的建议。
VDA 端 CDF 跟踪 - 启用以下 CDF 跟踪提供程序:
Workspace 应用程序端 CDF 跟踪 - 启用以下 CDF 跟踪提供程序:
-
IcaClient_DriversVd_TeamsRedir(可选)
-
IcaClient_Multimedia_HdxTeams(需要 Citrix Workspace 应用程序 2012 或更高版本)