Microsoft Teams 的优化
重要:
适用于 Windows 的 Workspace 应用程序 2009.6 和适用于 Linux 的 Workspace 应用程序 2009 中的 WebRTC 媒体引擎已从 HdxTeams.exe 重命名为 HdxRtcEngine.exe
Citrix 使用 Citrix Virtual Apps and Desktops 和 Citrix Workspace 应用程序为基于桌面的 Microsoft Teams(1.2.00.31357 或更高版本)提供优化。默认情况下,我们将所有必要的组件绑定到 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 安装
注意:
我们建议先安装 VDA,然后在黄金映像中安装 Microsoft Teams。必须采用此安装顺序,才能使 ALLUSER=1 标志生效。如果虚拟机在安装 Microsoft Teams 后再安装 VDA,请卸载并重新安装 Microsoft Teams。如果您使用的是 App Layering,请参阅本节末尾的 App Layering 说明以了解更多详细信息。
我们建议您遵循 Microsoft Teams 计算机范围的安装准则,并避免使用在 AppData
中安装 Microsoft Teams 的 .exe 安装程序。而是通过使用命令行中的 ALLUSER=1 标志来安装 C:\Program Files (x86)\Microsoft\Teams
。
msiexec /i <path_to_msi> /l*v <install_logfile_name> ALLUSER=1 ALLUSERS=1
此示例还使用 ALLUSERS=1 参数。设置此参数时,Teams 计算机范围内的安装程序将显示在“控制面板”的程序和功能中,以及计算机的所有用户的 Windows 设置的应用程序和功能中。如果所有用户都有管理员凭据,则可以卸载 Teams。了解 ALLUSERS=1 与 ALLUSER=1 之间的区别非常重要。可以在非 VDI 和 VDI 环境中使用 ALLUSERS=1 参数。请仅在 VDI 环境中使用 ALLUSERS=1 参数以指定每计算机安装。
在 ALLUSER=1 模式下,只要有新版本,Microsoft Teams 应用程序就不会自动更新。对于非持久性环境,我们建议使用此模式。例如,Windows Server 或 Windows 10 随机/池目录中的托管共享应用程序或桌面。有关详细信息,请参阅使用 MSI 安装 Microsoft Teams(VDI 安装部分)。
您有 Windows 10 专用的永久 VDI 环境。您希望 Microsoft Teams 应用程序自动更新,并希望 Microsoft Teams 在 Appdata/Local
下执行每用户安装,请使用 .exe
安装程序或 MSI,而非 ALLUSER=1。
对于 App Layering:
警告:
注册表编辑不当会导致严重问题,可能需要重新安装操作系统。Citrix 无法保证因注册表编辑器使用不当导致出现的问题能够得以解决。使用注册表编辑器需自担风险。在编辑注册表之前,请务必进行备份。
创建名为 PortICA
的空注册表项(保留默认名称、类型和数据)。
如果使用 Citrix App Layering 管理不同层中的 VDA 和 Microsoft Teams 安装,请在使用 ALLUSER=1 安装 Microsoft Teams 之前在 Windows 中部署此注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\PortICA
或
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\PortICA
Profile Management 建议
我们建议在 Windows Server 和池 VDI Windows 10 环境中使用计算机范围内的安装程序。
当 ALLUSER =1 标志从命令行(计算机范围内的安装程序)传递到 MSI 时,Microsoft Teams 应用程序将安装在 C:\Program Files (x86)
下 (~300 MB)。该应用程序将 AppData\Local\Microsoft\TeamsMeetingAddin
用于日志,将 AppData\Roaming\Microsoft\Teams
(~600–700 MB) 用于用户特定的配置、缓存用户界面中的元素等等。
计算机范围内的安装程序
下面是通过在 Windows Server 2016 64 位 VM 上安装 Microsoft Teams 计算机范围内的安装程序创建的文件夹、桌面快捷方式和注册表示例:
文件夹:
C:\Program Files (x86)\Microsoft\Teams
C:\Users\<username>\AppData\Roaming\Microsoft\Teams
桌面快捷方式:
C:\Program Files (x86)\Microsoft\Teams\current\Teams.exe
注册表:
HKEY_LOCAL_MACHINE \SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion\Run
建议
- 我们建议通过删除 Microsoft Teams 注册表项来禁用自动启动。这样做可以防止“8AM 登录风暴”升高 VM 的 CPU。
- 如果虚拟桌面没有 GPU/vGPU,我们建议在 Microsoft Teams 的设置中设置禁用 GPU 硬件加速以提高性能。此设置 (
"disableGpu":true
) 存储在desktop-config.json
文件内部的%Appdata%\Microsoft\Teams
中。可以使用登录脚本编辑该文件并将值设置为 true。 - 如果使用 Citrix Workspace Environment Management (WEM),请启用 CPU Spikes Protection(CPU 峰值保护)来管理 Microsoft Teams 的处理器消耗。
重要:
如果您没有通过 ALLUSER=1 标志,MSI 会将 Teams.exe 安装程序和
setup.json
置于C:\Program Files (x86)\Teams Installer
下。 注册表项 (TeamsMachineInstaller) 将添加到以下位置:HKEY_LOCAL_MACHINE \SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
后续用户登录将改为触发 AppData 中的最终安装。
每用户安装程序
使用 .exe
安装程序时,安装过程会发生显著变化,并且所有文件都将放置在 AppData 中。
文件夹:
C:\Users\<username>\AppData\Local\Microsoft\Teams
C:\Users\<username>\AppData\Local\Microsoft\TeamsPresenceAddin
C:\Users\<username>\AppData\Local\Microsoft\TeamsMeetingAddin
C:\Users\<username>\AppData\Local\SquirrelTemp
C:\Users\<username>\AppData\Roaming\Microsoft\Teams
桌面快捷方式:
C:\Users\<username>\AppData\Local\Microsoft\Teams\Update.exe --processStart "Teams.exe"
注册表:
HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion\Run
最佳做法
最佳做法建议取决于用例场景。 使用具有非持久性设置的 Microsoft Teams 需要配置文件缓存管理器来实现高效的 Microsoft Teams 运行时数据同步。配置文件缓存管理器可确保在用户会话期间缓存适当的用户特定信息(例如,用户数据、配置文件和设置)。确保同步以下两个文件夹中的数据:
C:\Users\<username>\AppData\Local\Microsoft\IdentityCache
C:\Users\<username>\AppData\Roaming\Microsoft\Teams
非持久性设置的 Teams 缓存内容排除列表:
从 Teams 缓存文件夹 %AppData%/Microsoft/Teams
中排除以下项目。排除这些项目有助于减少用户缓存大小,从而进一步优化非持久性设置。
排除列表 - 文件
- Roaming\Microsoft\Teams\* .txt
排除列表 - 目录
- Roaming\Microsoft\Teams\Logs
- Roaming\Microsoft\Teams\media-stack
- Roaming\Microsoft\Teams\Service Worker\CacheStorage
- Roaming\Microsoft\Teams\Application Cache
- Roaming\Microsoft\Teams\Cache
- Roaming\Microsoft\Teams\GPUCache
- Roaming\Microsoft\Teams\meeting-addin\Cache(对于 Outlook 中缺少加载项的问题至关重要)
用例:单会话场景:
在这种情况下,最终用户一次在一个位置使用 Microsoft Teams。无需在两个不同的 Windows 会话中同时运行 Teams。例如,在常见的虚拟桌面部署中,每个用户被分配有一个桌面,Teams 作为一个应用程序在虚拟桌面内部署。 我们建议您启用 Citrix Profile 容器并将上文提及的每用户目录重定向到该容器。
- 在黄金映像中部署 Microsoft Teams 计算机范围内的安装程序 (ALLUSER=1)。
- 启用 Citrix Profile Management 并使用适当的权限设置用户配置文件存储。
-
启用以下 Profile Management 策略设置:文件系统 > 同步 > 配置文件容器 - 要包含在配置文件磁盘中的文件夹列表。
将上文提及的所有文件夹列入此配置中。或者,也可以使用 Citrix Workspace Environment Management (WEM) 服务配置这些设置。
- 将这些设置应用到正确的交付组。
- 登录以验证部署。
系统要求
建议的最低版本 - Delivery Controller (DDC) 1906.2(如果您使用的是早期版本,请参阅启用 Microsoft Teams 的优化):
支持的操作系统:
- Windows Server 2019、2016、2012 R2 Standard Edition 和 Datacenter Edition,包含服务器核心选项
最低版本 - Virtual Delivery Agent (VDA) 1906.2:
支持的操作系统:
- Windows 10 64 位,版本为 1607 及更高版本。(不支持 VM 托管应用程序)。
- Windows Server 2019、2016 和 2012 R2(Standard Edition 和 Datacenter Edition)。
要求:
- BCR_x64.msi - 包含 Microsoft Teams 优化代码并从 GUI 自动启动的 MSI。如果使用命令行界面进行 VDA 安装,请不要将其排除。
推荐的版本 - 适用于 Windows 的 Citrix Workspace 应用程序的最新 CR 和最低版本 - 适用于 Windows 的 Citrix Workspace 应用程序 1907:
- Windows 8 和 10(32 位和 64 位版本,包括嵌入式版本)(对 Windows 7 的支持已从版本 2006 起停止)
- Windows 10 IoT Enterprise 2016 LTSB (v1607) 和 2019 LTSC (v1809)
- 支持的处理器 (CPU) 体系结构:x86 和 x64(不支持 ARM)
- 端点要求:大约 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、mt44/mt45。
- 通过验证的 Dell 瘦客户端:5070、5470 Mobile TC。
- 经过验证的 10ZiG 瘦客户端:4510 和 5810q。
- 有关通过验证的端点的完整列表,请参阅瘦客户端。
- Citrix Workspace 应用程序至少需要 600 MB 可用磁盘空间和 1 GB RAM。
- Microsoft .NET Framework 最低要求为版本 4.6.2。如果系统中不存在,Citrix Workspace 应用程序会自动下载并安装 .NET Framework。
最低版本 - 适用于 Linux 的 Citrix Workspace 应用程序 2006:
有关详细信息,请参阅 2006 中的新增功能中的 Microsoft Teams 优化。
软件:
- GStreamer 1.0 或更高版本或 Cairo 2
- libc++-9.0 或更高版本
- libgdk 3.22 或更高版本
- OpenSSL 1.1.1d
- x64 Linux 发行版
硬件:
- 最低 1.8 GHz 双核 CPU,可在点对点视频会议通话期间支持 720p HD 分辨率。
- 双核或四核 CPU,基本速度为 1.8 GHz,并采用至少为 2.9 GHz 的高速英特尔睿频加速技术。
- 有关通过验证的端点的完整列表,请参阅瘦客户端。
有关详细信息,请参阅安装 Citrix Workspace 应用程序所需的必备条件。
可以禁用 Teams 优化,在 /opt/Citrix/ICAClient/config/module.ini
文件中将字段 VDWEBRTC 的值更新为 Off。默认值为 VDWEBRTC=On。执行更新后,重新启动会话。(需要 root 用户权限)。
最低版本 - 适用于 Mac 的 Citrix Workspace 应用程序 2012:
支持的操作系统
- macOS Catalina (10.15)
- macOS Big Sur Beta 8 仅在测试环境中使用。请勿在生产环境中使用。
支持的功能:
- 音频
- 视频
- 屏幕共享优化(传入和传出)
如果用户具有 Citrix Workspace 应用程序 2012 或更高版本以及 macOS 10.15,则默认情况下,Microsoft Teams 优化会起作用。
如果要禁用 Microsoft Teams 优化,请在端点中运行以下命令并重新启动 Workspace 应用程序:
defaults write com.citrix.receiver.nomas mtopEnabled -bool NO
启用 Microsoft Teams 优化
要为 Microsoft Teams 启用优化,请使用 Microsoft Teams 重定向策略中介绍的 Studio 策略(默认情况下设置为开)。除启用此策略外,HDX 还会进行检查,以验证 Citrix Workspace 应用程序的版本等于还是高于所需的最低版本。如果启用了此策略并且支持 Citrix Workspace 应用程序的版本,HKEY_CURRENT_USER\Software\Citrix\HDXMediaStream\MSTeamsRedirSupport 将在 VDA 上自动设置为 1。Microsoft Teams 应用程序读取要在 VDI 模式下加载的密钥。
注意:
如果使用的是版本 1906.2 或更高版本的 VDA 与较旧的 Controller 版本(例如,版本 7.15)(Studio 中没有可用的策略),您仍然可以获得优化,因为默认情况下,面向 Microsoft Teams 的 HDX 优化在 VDA 中处于启用状态。
如果单击关于 > 版本,则会显示 Citrix HDX Optimized(Citrix HDX 已优化)图例:
如果您看到的是 Citrix HDX Not Connected(Citrix HDX 未连接),Citrix API 将在 Microsoft Teams 中加载(这是实现重定向的第一步),但堆栈的后续部分中出现错误。此错误很可能发生在 VDA 服务或 Citrix Workspace 应用程序中)。
如果您没有看到任何图例,Teams 无法加载 Citrix API。请通过右键单击通知区域图标退出 Teams 并重新启动。请确保 Studio 策略未设置为禁止,并且 Citrix Workspace 应用程序版本受支持。
网络要求
Microsoft Teams 依赖 Office 365 中的媒体处理器服务器进行会议或多方呼叫。Microsoft Teams 依赖于 Office 365 传输中继处理以下场景:
- 点对点通话中的两个对端没有直接连接
- 参与者没有直接连接到媒体处理器。
因此,对端与 Office 365 云之间的网络运行状况决定通话的性能。
我们建议您对环境进行评估,以确定可能会影响整个云语音和视频部署的任何风险和要求。 使用 Skype for Business 网络评估工具来测试您的网络是否已准备好使用 Microsoft Teams。有关支持信息,请参阅支持。
实时协议 (RTP) 流量的关键网络建议汇总:
- 尽可能直接从分支机构连接到 Office 365 网络。
- 如果必须在分支机构使用以下任何内容,请确保 RTP/UDP Teams 流量不受阻碍。Workspace 应用程序 WebRTC 媒体引擎不支持在端点上配置的显式代理(或 PAC 文件)。
- 绕过代理服务器
- 网络 SSL 拦截
- 深度包检测设备
- VPN 发夹(如有可能,使用拆分通道)
- 规划并提供足够的带宽。
- 检查每个分支机构的网络连接性和质量。
Workspace 应用程序(HdxTeams.exe 或 HdxRtcEngine.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) 使用各种编解码器。
在通话建立过程中,对端使用会话描述协议 (SDP) 请求应答来协商这些编解码器。 Citrix 对每位用户的最低建议如下:
类型 | Bandwidth(带宽) | 编解码器 |
---|---|---|
音频(单向) | 大约 90 kbps | G.722 |
音频(单向) | 大约 60 kbps | Opus* |
视频(单向) | 大约 700 kbps | H264 360p @ 30 fps 16:9 |
屏幕共享 | 大约 300 kbps | H264 1080p @ 15 fps |
* Opus 支持恒定和可变比特率编码,范围为 6 kbps 到 510 kbps。
Opus 是两个优化的 VDI 用户之间的点对点通话的首选编解码器。
G.722 和 H264 是加入会议的 VDI 用户的首选编解码器。
代理服务器
请注意以下事项,具体取决于代理的位置:
-
VDA 上的代理配置:
如果在 VDA 中配置了显式代理服务器并通过代理将连接路由到 localhost,重定向将失败。要正确配置代理服务器,必须在 Internet 选项 > 连接 > 局域网设置 > 代理服务器中选择对于本地地址不使用代理服务器设置,然后确保不使用
127.0.0.1:9002
。如果使用 PAC 文件,对于
wss://127.0.0.1:9002
,PAC 文件中的 VDA 代理配置脚本必须返回 DIRECT。如果没有,优化将失败。要确保脚本返回 DIRECT,请使用shExpMatch(url, "wss://127.0.0.1:9002/*")
。 -
Citrix Workspace 应用程序上的代理配置:
如果分支机构配置为通过代理访问 Internet,则适用于 Windows 的 Citrix Workspace 应用程序版本 2012(协商/Kerberos、NTLM、基本和摘要)、适用于 Linux 的 Citrix Workspace 应用程序版本 2101(匿名身份验证)和适用于 Mac 的 Citrix Workspace 应用程序 版本 2104(匿名身份验证)支持代理服务器。安装了 Citrix Workspace 应用程序的早期版本的客户端设备无法读取代理配置。这些设备将流量直接发送到 Office 365 TURN 服务器。
重要:
验证客户端设备是否可以连接到 DNS 服务器以执行 DNS 解析。客户端设备必须能够解析三个 Microsoft Teams TURN 服务器的 FQDN:
worldaz.turn.teams.microsoft.com
、usaz.turn.teams.microsoft.com
和euaz.turn.teams.microsoft.com
。
通话建立和媒体流路径
如有可能,Citrix Workspace 应用程序(HdxTeams.exe 或 HdxRtcEngine.exe)中的 HDX WebRTC 媒体引擎会尝试在点对点通话中通过用户数据报协议 (UDP) 建立直接网络安全实时传输协议 (SRTP) 连接。如果 UDP 端口被阻止,Media Engine 将回退到 TCP 443。
HDX Media Engine 支持 ICE、Session Traversal Utilities for NAT (STUN) 和 Traversal Using Relays around NAT (TURN) 进行候选发现和连接建立。
请注意,这意味着端点必须能够执行 DNS 解析。
如果两个对端之间或对端与会议服务器之间没有直接路径(如果用户正在加入多方通话或会议),媒体引擎将使用 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、52.120.0.0/14 | UDP: 3478、3479、3480、3481 TCP: 443(回退) |
这些范围包含传输中继和媒体处理器。 Teams 传输中继提供 STUN 和 TUN 功能,但它们不是 ICE 端点。此外,Teams 传输中继不会终止媒体,也不会执行任何转码。当它们将流量转发到其他对端或媒体处理器时,可以将 TCP(如果媒体引擎使用 TCP)桥接到 UDP。
Workspace 应用程序 WebRTC 媒体引擎在 Office 365 云中联系距离最近的 Microsoft Teams 传输中继。每天引擎使用任意广播 IP 和端口 3478—3481 UDP(每个工作负载使用不同的 UDP 端口,尽管会发生多路复用)或 443 TCP TLSv1.2 进行回退。通话质量取决于基础网络协议。由于始终推荐 UDP 而非 TCP,因此,我们建议将您的网络设计为适应分支机构中的 UDP 流量。
如果 Teams 是在优化模式下加载的并且 Workspace 应用程序 WebRTC 媒体引擎在端点上运行,则交互式连接建立 (ICE) 失败可能会导致呼叫设置失败或单程音频/视频。当呼叫无法完成或媒体流不是全双工时,请先检查端点上的 Wireshark 跟踪。有关 ICE 候选人收集过程的详细信息,请参阅支持部分中的“收集日志”。
注意:
如果端点无法访问 Internet,则仅当端点位于同一 LAN 上时,用户仍可以进行点对点呼叫。会议失败。在这种情况下,通话设置开始之前有 30 秒的超时。
呼叫设置
请使用此体系结构示意图作为调用流序列的可视参考。示意图中显示了相应的步骤。
体系结构:
- 启动 Microsoft Teams。
- Teams 将对 O365 进行身份验证。租户策略被向下推送到 Teams 客户端,并将相关 TURN 和信号通道信息中继到应用程序。
- Teams 检测到其正在 VDA 中运行,并对 Citrix JavaScript API 进行 API 调用。
- Teams 中的 Citrix JavaScript 将打开一个与在 VDA 上运行的 WebSocketService.exe 的安全 WebSocket 连接,这会在用户会话内部生成 WebSocketAgent.exe。
- WebSocketAgent.exe 通过调用到 Citrix HDX Teams Redirection Service (CtxSvcHost.exe) 来实例化通用虚拟通道。
- Citrix Workspace 应用程序的 wfica32.exe (HDX Engine) 产生一个名为 HdxTeams.exe 或 HdxRtcEngine.exe 的新进程,这是用于 Teams 优化的新 WebRTC 引擎。
-
Citrix 媒体引擎和 Teams.exe 有一个双向虚拟通道路径,可以开始处理多媒体请求。
—–用户呼叫——
- 对端 A 单击呼叫按钮。Teams.exe 与 Office 365 中的 Teams 服务通信,通过对端 B 建立端到端信号路径。Teams 向 Citrix Workspace 应用程序媒体引擎询问一系列受支持的呼叫参数(编解码器、分辨率等,称为会话描述协议 (SDP) 提议)。然后使用指向 Office 365 中的 Teams 服务的信令路径中继这些呼叫参数,并从该位置传输到另一个对端。
- 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 或 HdxRtcEngine.exe (HDX Overlay Teams) 的通信。
在 Windows Defender 防火墙 > 高级安全控制台的入站规则下添加了以下四个条目。如有需要,可以应用更严格的规则。
Microsoft Teams 和 Skype for Business 同时存在
可以并行部署 Microsoft Teams 和 Skype for Business,作为两个具有重叠功能的独立解决方案。 有关详细信息,请参阅了解 Microsoft Teams 和 Skype for Business 的共存与互操作性。
Citrix RealTime Optimization Pack 和适用于 Teams 多媒体引擎的 HDX 优化之后会遵守在您的环境中设置的任何配置(例如,岛屿模式、Skype for Business 与 Teams 协作,Skype for Business 与 Teams 协作和会议)。
此时只能向单个应用程序授予外围设备访问权限。例如,通话期间 RealTime Media Engine 访问网络摄像头会在通话期间锁定成像设备。松开设备后,它将可用于 Teams。
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 优化。
Microsoft Teams 中的库视图和活动扬声器
Microsoft Teams 支持 Gallery(库)、Large gallery(大型库)和 Together mode(共聚模式)布局。
Microsoft Teams 显示一个 2x2 网格,其中包含四名参与者的视频流(称为库)。在这种情况下,Teams 将 4 个单独的视频流发送到客户端设备进行解码。当共享视频的参与者超过四位时,屏幕上只会显示最后四位最活跃的发言者。
Microsoft Teams 还提供了具有一个高达 7x7 的网格的大型库视图。因此,Teams 会议服务器会合成单个视频源并将其发送到客户端设备进行解码,从而降低 CPU 消耗。这个单一的“好莱坞广场”源可能还包括用户的自我预览视频。
最后,Microsoft Teams 支持共聚模式,这是新会议体验的一部分。Teams 使用 AI 细分技术以数字方式将参与者置于共享背景中,将所有参与者都放在同一个大会堂中。
用户可以在电话会议期间通过在省略号菜单中选择 Gallery(库)、Large gallery(大型库)或 Together mode(共聚模式)布局来控制这些模式。
Microsoft Teams 中的屏幕共享
Microsoft Teams 依赖于基于视频的屏幕共享 (VBSS),有效地对正在与 H264 等视频编解码器共享的桌面进行编码,并创建高清晰度流。通过 HDX 优化,传入屏幕共享被视为视频流。因此,如果您正在进行视频通话,而其他对端开始共享桌面,则原始网络摄像机视频源将暂停。而是显示屏幕共享视频源。然后,对端必须手动恢复网络摄像机共享。
传出屏幕共享也进行了优化,并卸载到 Citrix Workspace 应用程序(1907 或更高版本)。在这种情况下,每天引擎捕获并仅传输 Citrix Desktop Viewer (CDViewer.exe) 窗口。如果要共享在客户端计算机上运行的本地应用程序,可以将其叠加在 CDViewer 之上,并且也可以捕获该应用程序。
适用于 Windows 的 Citrix Workspace 应用程序 2009.6 会执行窗口的本机位图捕获,因此不会捕获重叠窗口。
多显示器:在 CDViewer 处于全屏模式并跨越多显示器设置的情况下,仅共享主显示器。用户必须将虚拟桌面内感兴趣的应用程序拖动到主显示器,以便通话中的其他对端查看该应用程序。
注意:
如果要将 Teams 发布为独立的无缝应用程序,屏幕共享会捕获 Citrix Workspace 应用程序最低版本 1909 中物理端点的本地桌面。
Microsoft Teams 中的外围设备
当 Microsoft Teams 的优化处于活动状态时,Citrix Workspace 应用程序将访问外围设备(耳机、麦克风、相机、扬声器等)。然后在 Microsoft Teams UI(设置 > 设备)中正确枚举外围设备。
Microsoft Teams 不直接访问这些设备。相反,它依赖 Workspace 应用程序 WebRTC 媒体引擎来获取、捕获和处理媒体。Microsoft Teams 列出了供用户选择的设备。
建议:
- 具有内置回声消除功能的 Microsoft Teams 认证的耳机。在具有多个外围设备的设置中,麦克风和扬声器位于不同的设备上可能会出现回声。例如,带有内置麦克风的网络摄像机和带扬声器的显示器。使用外部扬声器时,请尽可能远离麦克风和可能将声音折射到麦克风的任何表面。
- Microsoft Teams 认证的相机,但 Skype for Business 认证的外围设备与 Microsoft Teams 兼容。
- Citrix Workspace 应用程序媒体引擎无法利用 CPU 卸载与执行板载 H.264 编码 -UVC 1.1 和 1.5 的网络摄像机。
注意:
适用于 Windows 的 Workspace 应用程序 2009.6 现在可以获取具有 24 位音频格式或频率高于 96 kHz 的外围设备。
HdxTeams.exe(在适用于 Windows 的 Workspace 应用程序 2009 或更高版本中)仅支持以下特定的音频设备格式(通道、位深度和采样率):
- 播放设备:最多 2 个通道,16 位,频率高达 96000 Hz
- 录制设备:多达 4 个通道,16 位,频率高达 96000 Hz
即使一个扬声器或麦克风与预期设置不匹配,Teams 中的设备枚举也会失败,并且设置 > 设备下显示无。
HdxTeams.exe 中的 Webrpc 日志显示以下类型的信息:
Mar 27 20:58:22.885 webrtcapi.WebRTCEngine Info: init. initializing...
Mar 27 20:58:23.190 webrtcapi.WebRTCEngine Error: init. couldn't create audio module!
解决方法为,打开声音控制面板 (mmsys.cpl),选择播放或录制设备,转到属性 > 高级,然后将设置更改为受支持的模式。或者,禁用特定设备。
回退模式
如果 Microsoft Teams 无法在优化的 VDI 模式下加载(在“Teams”/“关于”/“版本”中显示“Citrix HDX 未连接”),VDA 将回退到旧版 HDX 技术,例如网络摄像机重定向以及客户端音频和麦克风重定向。如果您使用的是不支持 Teams 优化的 Workspace 应用程序版本/平台操作系统,则不应用回退注册表项。 在回退模式下,外围设备映射到 VDA。外围设备在 Microsoft Teams 应用程序中显示,就像它们在本地连接到虚拟桌面一样。
您现在可以通过在 VDA 中设置以下注册表 DWORD 值之一精细控制回退机制:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Teams\DisableFallback
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Teams\DisableFallback
要禁用回退模式,请将值设置为 1。要仅启用音频,请将值设置为 2。如果该值不存在或设置为 0,则启用回退模式。此功能需要 Teams 版本 1.3.0.13565 或更高版本。
在查看 Teams 中的设置 > 设备选项卡时,要确定您处于优化模式还是未优化模式,最显著的区别是网络摄像机名称。如果 Microsoft Teams 在未优化模式下加载,旧版 HDX 技术将启动。网络摄像机名称具有 Citrix HDX 后缀,如下图所示。与优化模式相比,扬声器和麦克风设备名称可能略有不同(或被截断)。
使用旧版 HDX 技术时,Microsoft Teams 不会将音频、视频和屏幕共享处理卸载到端点的 Citrix Workspace 应用程序 WebRTC 媒体引擎。相反,HDX 技术使用服务器端呈现。打开视频时,预计 VDA 上的 CPU 消耗很高。实时音频性能可能不是最佳的。
已知限制
Citrix 限制
Citrix Workspace 应用程序的限制:
- 不支持 DTMF 音。
- HID 按钮 - 不支持接听呼叫和结束通话。支持调高和调低音量。
- 在多显示器设置中进行屏幕共享时,仅共享主显示器。
- 我们仅支持来自传入摄像机或屏幕共享流的一个视频流。当有一个传入屏幕共享时,该屏幕共享会显示,而非显示主扬声器的视频。
- 备用铃声(Teams > 设置 > 设备)不受支持。
- Microsoft Teams 管理中心中的 QoS 设置不适用于 VDI 用户。
- Citrix Workspace 应用程序的应用程序保护附加功能可防止出站屏幕共享。
- 不支持 Microsoft Teams 中的放大和缩小功能。
VDA 的限制:
- 将 Citrix Workspace 应用程序的“高 DPI”设置配置为是或否,使用本机分辨率时,如果显示器的 DPI 缩放系数设置为高于 100%,则重定向的视频窗口不会显示在恰当的位置。
Citrix Workspace 应用程序和 VDA 的限制:
- 传出屏幕共享:不支持应用程序共享。
- 只能使用客户端计算机上(而非 VDA 上)的音量栏控制优化的通话的音量 。
Microsoft 限制
- 不支持用于模糊或自定义背景的选项。
- 不支持 3x3 库视图。Microsoft Teams 依赖项 - 联系 Microsoft,了解何时可以期待 3x3 网格。
- 与 Skype for Business 的互操作性仅限于音频通话,没有视频模式。
- 传入和传出视频流的最大分辨率为 720p。Microsoft Teams 依赖项 — 联系 Microsoft,了解何时可以期待 1080p。
- 不支持 PSTN 呼叫回铃音。
- Microsoft Teams 管理中心的“通话质量”控制面板和“通话分析”不显示 VDI 用户的 QoE 数据。
- 不支持适用于直接路由的媒体旁路。
Citrix 和 Microsoft 限制
- 执行屏幕共享时,包括系统音频选项不可用。
- 不支持弹出式聊天(也称为多窗口聊天或新会议体验)。
- VDI 参与者支持分组讨论会议室。如果组织者是 VDI 用户,Microsoft Teams 将不支持分组讨论会议室。
- 授予控制权和获取控制权:在屏幕共享或应用程序共享会话期间不受支持. 仅在 PowerPoint 共享会话期间受支持。
- 不支持 E911 和基于位置的路由。