簡介
本文檔描述了通過思科會議管理(CMM)將參與者從一個會議移動到另一個會議的能力。CMM管理員可以在相同或不同呼叫網橋的會議之間移動Web應用參與者。
必要條件
需求
思科建議您瞭解以下主題:
- 思科會議伺服器(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/ with "movedParticipant"=participant_A_guid對Callbridge B進行應用程式程式設計介面(Application Programming Interface, 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將API move web socket消息通過呼叫網橋傳送到Web Bridge(C2W)到Web Bridge A。
步驟7. Webbridge A將move Web socket訊息傳送到瀏覽器中的Webbridge Client(WC3)。
步驟8.瀏覽器中的WC3將端口Web套接字消息傳送到Webbridge A。
步驟9. Webbridge A將結束作業階段訊息轉送到Callbridge A。
步驟10. Callbridge A銷毀參與者例項和舊JWT。
步驟11.瀏覽器中的WC3客戶端在發給Webbridge A的新Web套接字消息中驗證並使用新的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再次啟動加入過程。移動後,參與者會在右下角看到消息「You have been moved to a new call(您已移動到新呼叫)」 ,這表示該呼叫現在位於新會議中,如下圖所示。Now in消息後的文本是本例中的空格Space 2。

某些本地Web應用會議狀態(如靜音和佈局)是從上一個來電轉駁的。例如,如果參與者在本地靜音,則在新的呼叫中仍保持靜音。
後續功能不會轉移到新呼叫中:
- 演示 — 移動參與者時,會丟棄活動的演示。在移動後的新會議中,參與者不共用。
- 聊天消息 — 以前的聊天消息將從聊天中刪除並且不會轉移到新會議。
疑難排解
問題:未移動Web應用參與者。
這可能意味著很多事情:
- 什麼事都沒有發生。該呼叫仍連線到第一個呼叫。
- 已刪除,但未重新連線。該呼叫被丟棄,但無法連線到第二個呼叫。
- 連線到錯誤的會議。
對於場景a,沒有發生任何事情:
- 確保呼叫網橋收到來自CMM的轉移請求。有關特定關鍵字(如移動參與者操作),請參閱CMS日誌消息。如果CMS沒有從CMM接收API,則在CMM和CMS之間執行基本故障排除,包括兩端已啟用的API跟蹤、域名服務(DNS)檢查、連線檢查。
- 檢視/participants/<participant id>或/callLegs/<callLeg id>中的canMove引數是否設定為true。
對於方案b。已丟棄但未重新連線:
- 確保斷開連線是由於移動造成的,即在日誌中查詢移動參與者操作。
- 在CMS日誌中,在呼叫網橋上查詢可能阻止參與者建立進程發生的資源錯誤/阻塞。
- 參與者是否具有加入新共用空間的許可權?
- JWT是否有錯誤?
- 嘗試手動加入會議。
對於情況c。連線到錯誤的會議:
在超文本傳輸協定(HTTP)存檔格式(HAR)檔案中,檢視第一次呼叫的Web套接字,POST /api/call/session/move的訪問方法資料顯示用於連線到新呼叫的數字ID。確保此數字ID是預定會議的數字ID。