简介
本文档介绍如何配置 Cisco Video Integration (CVI) 与 Microsoft Teams (MS Teams) 的集成并对其进行故障排除。
先决条件
要求
Cisco 建议您了解以下主题:
- Webex Control Hub常规配置
- Office 365(O365)常规配置
- 终端Web管理员配置
- Windows Power Shell配置
- 设备配置的Webex Edge
使用的组件
本文档中的信息基于以下软件和硬件版本:
- O365管理站点
- 带A-MST-WX-CVI-ROOMS许可证的Cisco WebEx Control Hub
- Windows Power Shell版本5.1
- 适用于设备的DX70与Webex Edge
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
所需端口
信令所需的端口:

介质所需的端口:

一键式(OBTP)支持的设备类型
- Webex板、会议室和桌面设备
- Webex Room Kit和Room Phone
- Cisco MX、SX和DX系列
配置
在Control Hub中设置视频集成
步骤1.登录到Webex Control Hub。
步骤2.要检查是否为Webex会话初始协议(SIP)地址设置了子域,请导航到Organization Settings > SIP Address for Cisco Webex Calling。
注意:如果未设置,请查看下一文档更改您的Cisco Webex SIP地址。
步骤3.导航。找到Microsoft Teams的视频集成卡,选择设置。(需要额外的许可证)。

警告:此时,需要A-MST-WX-CVI-ROOMS许可证才能取得进一步进展。
步骤4.在Video Integration Setup屏幕上,选择Authorize。

步骤5.选择具有Microsoft Tenant Global Administrator权限的帐户,然后输入凭据。
注意:Microsoft用户至少必须经过两次身份验证。建议由Microsoft管理员执行这些步骤,Microsoft管理员的帐户具有对Control Hub的完全管理员访问权限。
第6步:要验证请求的权限,请选择接受。此授权 Webex Video Integration应用程序访问你的Microsoft租户。将重定向到Control Hub视频集成安装程序屏幕。

步骤7.在计算机上打开PowerShell窗口,如果尚未安装MicrosoftTeams PowerShell模块,请使用以下命令进行安装:
Install-Module MicrosoftTeams -AllowClobber
步骤8.导入MicrosoftTeams模块并使用下一个命令连接到您的Teams租户:
Import-Module MicrosoftTeams
Connect-MicrosoftTeams
步骤9.显示Microsoft登录页面。输入具有Microsoft Teams租户管理权限的用户的凭据。如果流程成功,则会提供有关帐户的反馈,并且租户成功登录。
第10步:导航到Control Hub中的Video Integration设置屏幕,选择剪贴板按钮,以便从第一个窗口复制New-CsVideoInteropServiceProvider部分的文本 文本框并将其粘贴到PowerShell会话中并进行确认。
步骤11.选择您想要为用户启用集成的方式。使用示例作为所有用户或每个用户的集成参考,如以下示例所示:
所有用户:
Grant-CsTeamsVideoInteropServicePolicy -PolicyName
CiscoServiceProviderEnabled -Global
每个用户:
Grant-CsTeamsVideoInteropServicePolicy -PolicyName
CiscoServiceProviderEnabled -Identity
步骤12.选择确定以完成设置。
注意:对Microsoft租户的PowerShell更改可能需要一段时间才能在Microsoft 365环境中传播。Microsoft说这可能需要6个小时,但通常需要不到20分钟。
步骤13.如果配置后未完成对PowerShell命令文本的访问,请导航到Control Hub > Hybrid > Services > Video Integration,然后选择Edit settings。

故障排除
案例1. Windows Power Shell中无法识别命令Install-Module
在Windows PowerShell上配置命令Install-Module时,控制台无法识别命令的任何变体:

步骤1.使用Windows Admin帐户打开Windows PowerShell并在控制台上运行命令Get-Command,以验证Install-Module是否列为有效命令。

步骤2.如果未列出该版本,请运行命令Get-Host并验证当前的PowerShell版本:

步骤3.如果PowerShell当前版本低于5.0,请升级到下一个Microsoft文档中提到的所有受支持版本:Install-Module Supported PowerShell version。
步骤4.升级后,再次使用Get-Host命令验证版本是否已更新。

步骤5.运行命令Install-Module MicrosoftTeams -AllowClobber,并使用Y命令进行确认以继续常规安装过程。

案例2. Windows PowerShell中无法识别命令Install-Module
即使使用正确的PowerShell版本,下载过程也可能失败,并出现类似错误,如下图所示:

步骤1.丢弃从服务器到统一资源定位器(URL)的可达性方面的任何问题。 复制PowerShell窗口中指定的URL,并将其粘贴到Web浏览器上,以验证显示的内容。

步骤2.如果连通性不是问题,这可能意味着问题与传输层安全(TLS)协议版本有关。Microsoft已弃用TLS版本1.0和1.1,如下文所示:Microsoft TLS 1.0和1.1禁用通知。
步骤3.要更改TLS默认PowerShell版本,请运行以下命令:
[Net.ServicePointManager]::SecurityProtocol = Net.SecurityProtocolType]::Tls12

步骤4.运行命令Install-Module MicrosoftTeams -AllowClobber,并使用Y命令进行确认,以尝试常规安装过程。

步骤5.使用Y命令确认第二次选择,以便开始下载过程。


步骤6.使用命令Get-InstalledModule确认Microsoft Teams模块已安装,然后继续执行部署过程。


案例3.会议已安排但未在设备上显示
当您在MS Teams上安排会议时,详细信息将显示在邀请中,但终端不会显示会议。

Microsoft Teams会议邀请中列出了设备会议室邮箱,某些详细信息未正确配置。
Webex Control Hub也不显示会议信息。

步骤1.导航到O365管理站点https:管理员.Microsoft 。com并使用管理员帐户登录。
步骤2.导航到用户>活动用户菜单。

步骤3.找到会议组织者用户帐户并展开其详细信息。
第4步:导航到用户详细信息中的许可证和应用部分,以查找为其分配的许可证。

步骤5.必须在O365上为每个用户分配Microsoft Teams Exploration许可证。如果未分配此许可证,MS Teams会议详细信息将不会发送到Webex Control Hub上的设备日历。
步骤6.分配许可证并进行测试。
案例4.已分配MS Teams许可证,但设备仍未显示会议
即使已设置正确的许可证,会议仍不会显示在设备日历上,且来自Webex Control Hub的标语相同:

步骤1.导航到Webex Control Hub。
步骤2.导航到Management > Workspaces,以查找列出的受影响设备。

步骤3.打开设备详细信息,然后找到Calendar部分。验证为该设备配置的Email Address。

分配给设备的电子邮件地址必须与Control Hub上的设备工作空间显示名称以及O365用户配置上的用户名和电子邮件匹配。如果此信息不匹配,控制中心将无法识别会议并将其转发到正确的设备。


注意:此字段不区分大小写。但是,它必须与任何其它字母或符号完全匹配。
验证
使用来自可行场景的日志的示例:
当一切就绪且完全正常运行时,您可以验证实施是否可以在三个不同的角度上正常工作:
Webex Control hub上的设备日历显示安排的会议以及开始、结束、持续时间和组织者会议的详细信息:

设备显示“一键式”按钮,以及触摸屏上的MS Teams图标:

此外,这可以在终端日志的All.log文件中进行验证。您可以看到以下信息:
它包含指令calendar.meeting.create和唯一的TrackingID。MSTEAMS列为会议类型:
2021-07-02T15:51:49.571-05:00 appl[2073]: Wx2 I: NotificationChannel: calendar.meeting.create, trackingid ccc_d0965d59-34ea-437e-9c09-c621e871e873
2021-07-02T15:51:49.572-05:00 appl[2073]: Wx2[3]: CalendarClientImpl::on_meeting_updated_event
2021-07-02T15:51:49.573-05:00 appl[2073]: Wx2[1]: Inserting new meeting - organizer='7ad83eb6-549d-4282-86a4-bf3c05e4b6f3' start='2021-07-02T21:00:00.000Z' id='8fd64402-f665-6bd3-bf15-be436bbe2c97' meetingJoinType='MSTEAMS' meetingJoinURI=true meetingJoinURL=true webexURI=false spaceURI=false callURI=false"
new meeting - organizer='7ad83eb6-549d-4282-86a4-bf3c05e4b6f3' start='2021-07-02T21:00:00.000Z' id='8fd64402-f665-6bd3-bf15-be436bbe2c97' meetingJoinType='MSTEAMS' meetingJoinURI=true meetingJoinURL=true webexURI=false spaceURI=false callURI=false"
来自Webex的更新事件被推送到终端:
2021-07-02T15:51:49.579-05:00 appl[2073]: Wx2[5]: Creating new Meeting (id=2)
2021-07-02T15:51:49.579-05:00 appl[2073]: Wx2[5]: Attaching CalendarEvent (id=8fd64402-f665-6bd3-bf15-be436bbe2c97) to Meeting (id=2)
2021-07-02T15:51:49.579-05:00 appl[2073]: Wx2 I: Wx2MeetingsHandlerImpl::meetings_updated: num meetings=1