简介
本文档介绍了通过思科会议管理(CMM)将参与者从一个会议移动到另一个会议的能力。CMM管理员可以在相同或不同呼叫桥的会议之间移动Web应用参与者。
先决条件
要求
Cisco 建议您了解以下主题:
- 思科会议服务器(CMS)基本知识。
- CMM基础知识。
- CMS Web应用基础知识。
使用的组件
本文档中的信息基于以下软件和硬件版本:
- CMS版本3.2。
- CMM版本3.2。
- CMS Web应用版本3.2。
- Web浏览器chrome 91。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
配置
背景信息
CMM将参与者从一个会议移动到另一个会议的功能最初在CMS 2.6中提供,但有一些限制,即,会议应用、Web应用和Skype for Business(SfB)参与者无法移动。从CMS 3.2开始,CMM管理员可以在相同或不同呼叫网桥的会议之间移动Web应用参与者。
注意:此功能并不意味着Web应用参与者可以调用其他参与者的移动。以前,当尝试移动Web应用参与者时,CMM会通过警报阻止此情况。CMM会自动检测到该限制,即会议在CMS 3.2上托管,并允许移动。
网络图
配置
步骤1. CMM使用POST /calls/<call_X_id>/participants/ "movedParticipant"=participant_A_guid方法对Callbridge B进行应用程序编程接口(API)调用。
步骤2. Callbridge B向Callbridge A发送参与者移动请求。
步骤3. Callbridge A以移动请求回复Callbridge B。
步骤4. Callbridge B执行负载均衡,并决定将新参与者安排到Callbridge C。
步骤5. Callbridge B向Callbridge C发送请求,以创建新的参与者实例和参与者。对于访客,会创建新的访客ID。新参与者实例具有新的JASON Web令牌(JWT)。
步骤6. Callbridge C通过Call Bridge向Web网桥(C2W)发送API移动Web套接字消息到Web网桥A。
步骤7. Webbridge A将移动Web套接字消息发送到浏览器中的Webbridge客户端(WC3)。
步骤8.浏览器中的WC3向Webbridge A发送结束Web套接字消息。
步骤9. Webbridge A将结束会话消息转发到Callbridge A。
步骤10. Callbridge A销毁参与者实例和旧JWT。
步骤11.浏览器中的WC3客户端以新的Web套接字消息向Webbridge A进行身份验证,并使用新的JWT。
验证
以下是将访客Web参与者从空间1(webapp.com)空间移动到空间2(webapp.com)空间的日志消息示例。为简化流程,移动到不同空间的操作将保留在同一呼叫网桥cbcms2(集群是负载均衡的)。
首先,移动流从API POST/calls/<call id>/participants开始。
2021-03-04 15:50:03.915 Info API trace 42003: POST for "/api/v1/calls/ae778701-7fed-410c-b3e6-c2860907a3f4/participants" (from 172.19.233.174)
2021-03-04 15:50:03.915 Info API trace 42003: content data size 75, type "application/x-www-form-urlencoded":
2021-03-04 15:50:03.915 Info API trace 42003: movedParticipant=26de0160-30b5-4d7b-8a05-304472a
2021-03-04 15:50:03.915 Info API trace 42003: f284a&
2021-03-04 15:50:03.915 Info API trace 42003: needsActivation=false
将参与者移至另一个呼叫,首先创建新的访客帐户(guest2316075499)。
2021-03-04 15:50:03.915 Info move participant operation: moving WC3 participant 26de0160-30b5-4d7b-8a05-304472af284a (guest921953266) (homed on this callbridge) to call ae778701-7fed-410c-b3e6-c2860907a3f4
2021-03-04 15:50:03.915 Info guest login request 0: credential storage scheduled (queue length: 1)
2021-03-04 15:50:03.915 Info created guest account with user ID "guest2316075499"
2021-03-04 15:50:03.915 Info guest login request 0: credential storage executed
2021-03-04 15:50:03.915 Info guest login request 0: credential storage in progress
2021-03-04 15:50:03.921 Info guest login request 0: successfully stored credentials
2021-03-04 15:50:03.921 Info replace query for conference c3958a89-3007-4959-99e7-f6ea84609aac: response from 'cbcms2' (priority: 0, load level: 0, conference is running: 1)
2021-03-04 15:50:03.921 Info replace query for conference c3958a89-3007-4959-99e7-f6ea84609aac: using local server 'cbcms2' (priority: 0, load level: 0, conference is running: 1)
2021-03-04 15:50:03.921 Info API call leg dd2bc8c6-fa80-495f-9a20-1da19010cfab in call c0cc4e15-bb74-4af3-948b-672c9571c7fc (API call ae778701-7fed-410c-b3e6-c2860907a3f4)
2021-03-04 15:50:03.922 Info 172.19.233.174: API user "admin" created new participant dd2bc8c6-fa80-495f-9a20-1da19010cfab, call ae778701-7fed-410c-b3e6-c2860907a3f4
2021-03-04 15:50:03.922 Info API trace 42003: sending 200 response, size 0
2021-03-04 15:50:03.922 Info API trace 42003: Location: /api/v1/participants/dd2bc8c6-fa80-495f-9a20-1da19010cfab
2021-03-04 15:50:03.923 Info new session created for user "guest2316075499"
2021-03-04 15:50:03.923 Info instantiating user "guest2316075499"
删除旧用户guest921953266并删除前一个呼叫,请致电19。
2021-03-04 15:50:03.947 Info user "guest921953266": deactivating due to session resource teardown
2021-03-04 15:50:03.948 Info call 19: tearing down ("guest921953266" conference media)
2021-03-04 15:50:03.948 Info participant "guest921953266" left space 89eae70d-5b67-41fc-97f7-38a655fa6467 (Space 1 (webapp.com))
2021-03-04 15:50:03.948 Info call 19: destroying API call leg 26de0160-30b5-4d7b-8a05-304472af284a
2021-03-04 15:50:03.948 Info removing guest account 'guest921953266' (name 'User X') on call drop
2021-03-04 15:50:03.948 Info destroying guest account with user ID "guest921953266"
已成功为新呼叫建立媒体会话,请呼叫20。
2021-03-04 15:50:04.106 Info call 20: allocated for guest2316075499 / "User X" conference participation (Chrome)
2021-03-04 15:50:04.106 Info call 20: removing h264 from video codec bitmask, because it's Chrome web client and we're using a compatibility profile
2021-03-04 15:50:04.106 Info call 20: configured - API call leg dd2bc8c6-fa80-495f-9a20-1da19010cfab
2021-03-04 15:50:04.107 Info call 20: setting up combined RTP session for DTLS (combined media and control)
2021-03-04 15:50:04.108 Info participant "guest2316075499" joined space 59b9e43e-b277-4d33-a244-e896d20f2049 (Space 2 (webapp.com))
2021-03-04 15:50:04.108 Info participant "guest2316075499" (dd2bc8c6-fa80-495f-9a20-1da19010cfab) joined conference c0cc4e15-bb74-4af3-948b-672c9571c7fc via WB3
当Web应用收到移动请求时,它断开当前呼叫,然后使用新的JWT再次启动加入过程。移动后,参与者将看到消息“您已移动到右下角的新呼叫”,该消息表示呼叫现在处于新会议中,如下图所示。“现在在消息中”后面的文本是空格名称,本例中为Space 2。
某些本地Web应用会议状态(如静音和布局)会从上一个呼叫转移。例如,如果参与者在本地静音,则新呼叫中会保持静音。
下一个功能不会转到新呼叫:
- 演示 — 当参与者被移动时,活动演示将被丢弃。在移动后的新会议中,参与者不共享。
- 聊天消息 — 之前的聊天消息会从聊天中删除,并且不会转接到新会议。
故障排除
问题:未移动Web应用参与者。
这可能意味着许多事情:
- 什么都没发生。该呼叫仍连接到第一个呼叫。
- 已丢弃但未重新连接。呼叫被丢弃,但未连接到第二个呼叫。
- 连接到错误的会议。
对于场景a,没有发生任何事情:
- 确保呼叫网桥收到从CMM移动的请求。请参阅CMS日志消息,了解特定关键字,如移动参与者操作。如果CMS没有从CMM接收API,则在CMM和CMS之间执行基本故障排除,包括两端启用的API跟踪、域名服务(DNS)检查、连接检查。
- 查看是否将canMove参数设置为/participants/<participant id>或/callLegs/<callLeg id>中的canMove参数true。
对于场景b。已丢弃但未重新连接:
- 确保断开连接是由于移动,即在日志中查找移动参与者操作。
- 在CMS日志中,在呼叫网桥上查找可能阻止参与者创建过程的资源错误/阻塞。
- 学员是否有权加入新共享空间?
- JWT是否有错误?
- 尝试手动加入会议。
对于场景c。连接到错误的会议:
在超文本传输协议(HTTP)存档格式(HAR)文件中,查看第一个调用的Web套接字,POST /api/call/session/move的访问方法数据显示用于连接新调用的数字ID。确保此数字ID是目标会议。