소개
이 문서에서는 CMM(Cisco Meeting Management)에서 한 미팅에서 다른 미팅으로 참가자를 이동하는 기능에 대해 설명합니다.CMM 관리자는 동일한 통화 브리지 또는 다른 통화 브리지의 회의 간에 웹 앱 참가자를 이동할 수 있습니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco CMS(Meeting Server) 기본 지식
- CMM 기본 지식.
- CMS 웹 앱 기본 지식
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- CMS 버전 3.2.
- CMM 버전 3.2.
- CMS 웹 앱 버전 3.2.
- 웹 브라우저 chrome 91.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
구성
배경 정보
CMM에서 한 미팅에서 다른 미팅으로 참가자를 이동할 수 있는 기능은 원래 CMS 2.6에 포함되어 있지만, Meeting App, 웹 앱, SfB(Skype for Business) 참가자는 이동할 수 없습니다.CMS 3.2부터 시작하여 CMM 관리자는 동일한 통화 브리지 또는 다른 통화 브리지의 회의 간에 웹 앱 참가자를 이동할 수 있습니다.
참고:이 기능은 웹 앱 참가자가 다른 참가자의 이동을 호출할 수 있다는 의미는 아닙니다.이전에는 CMM에서 웹 앱 참가자를 이동하려고 시도하면 경고가 발생하여 이를 방지할 수 있었습니다.이러한 제한은 CMM에서 자동으로 감지되며, CMS 3.2에서 회의를 호스팅하고 이동할 수 있습니다.
네트워크 다이어그램
구성
1단계. CMM은 메서드 POST /calls/<call_X_id>/participants/with "movedParticipant"=participant_A_guid를 사용하여 Callbridge B에 API(Application Programming Interface)를 호출합니다.
2단계. Callbridge B는 참가자 이동 요청을 Callbridge A로 전송합니다.
3단계. Callbridge A는 이동 요청을 다시 Callbridge B로 응답합니다.
4단계. Callbridge B는 로드 밸런싱을 수행하고 새 참가자를 Callbridge C에 배치하기로 결정합니다.
5단계. Callbridge B가 Callbridge C로 요청을 보내 새 참가자 인스턴스 및 참가자를 생성합니다.게스트의 경우 새 게스트 ID가 생성됩니다.새 참가자 인스턴스에는 새 JWT(JASON Web Tokens)가 있습니다.
6단계. Callbridge C는 Call Bridge를 통해 Web Bridge(C2W)로 웹 소켓 이동 메시지를 Webbridge A로 전송합니다.
7단계. Webbridge A는 웹 소켓 이동 메시지를 브라우저의 WC3(Webbridge Client)로 전송합니다.
8단계. 브라우저의 WC3에서는 최종 웹 소켓 메시지를 Webbridge A로 전송합니다.
9단계. Webbridge A는 종료 세션 메시지를 Callbridge A에 전달합니다.
10단계. Callbridge A는 참가자 인스턴스와 이전 JWT를 삭제합니다.
11단계. 브라우저의 WC3 클라이언트는 Webbridge A에 대한 새 웹 소켓 메시지를 인증하고 새 JWT를 사용합니다.
다음을 확인합니다.
다음은 게스트 웹 참가자가 Space 1(webapp.com) 공간에서 Space 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
웹 앱이 이동 요청을 받으면 현재 통화의 연결이 끊어진 다음 새 JWT로 가입 프로세스를 다시 시작합니다.이동 후 참가자는 오른쪽 하단 모서리에 있는 새 통화로 이동했다는 메시지를 볼 수 있습니다. 이 메시지는 다음 이미지에 표시된 대로 통화가 새 모임에 있음을 나타냅니다.Now in 메시지 뒤에 오는 텍스트는 이 경우 Space 2의 스페이스 이름입니다.
음소거 및 레이아웃과 같은 일부 로컬 웹 앱 모임 상태는 이전 통화에서 이월됩니다.예를 들어, 참가자가 로컬로 피트를 수행하면 새 통화에서 음소거 상태로 유지됩니다.
다음 기능은 새 통화로 전달되지 않습니다.
- 프레젠테이션 - 참가자가 이동되면 활성 프레젠테이션이 삭제됩니다.이동 후 새 모임에서 참가자는 공유하지 않습니다.
- 채팅 메시지 - 이전 채팅 메시지는 채팅에서 제거되며 새 모임으로 전송되지 않습니다.
문제 해결
문제:웹 앱 참가자가 이동되지 않습니다.
많은 것을 의미할 수 있습니다.
- 아무 일도 없었어통화가 첫 번째 통화에 연결되어 있습니다.
- 삭제되었지만 다시 연결되지 않았습니다.통화가 삭제되었지만 두 번째 통화에 연결되지 않습니다.
- 잘못된 모임에 연결합니다.
시나리오 a. 아무 일도 일어나지 않았습니다.
- 통화 브리지가 CMM에서 이동하라는 요청을 수신하는지 확인합니다.참가자 이동 작업과 같은 특정 키워드는 CMS 로그 메시지를 참조하십시오.CMS가 CMM에서 API를 수신하지 않는 경우 CMM과 CMS 간의 기본적인 트러블슈팅에는 양쪽에서 활성화된 API 추적, DNS(Domain Name Service) 확인, 연결 확인 등이 포함됩니다.
- /participants/<participant id> 또/callLeg/<callLeg id>에서 canMove 매개 변수가 true로 설정되어 있는지 확인합니다.
시나리오 b. 삭제되었지만 다시 연결되지 않은 경우:
- 연결이 이동 때문인지 확인합니다. 즉, 로그에서 참가자 이동 작업을 찾습니다.
- CMS 로그에서 참가자 생성 프로세스가 발생하는 것을 막을 수 있는 통화 브리지에서 리소스 오류/차단을 찾습니다.
- 참가자가 새 스페이스에 가입할 수 있는 권한이 있습니까?
- JWT에 오류가 있습니까?
- 수동으로 모임에 참가하십시오.
시나리오 c의 경우 잘못된 미팅에 연결합니다.
HTTP(Hyper Text Transport Protocol) HAR(Archive Format) 파일에서 첫 번째 호출의 웹 소켓을 보면 POST /api/call/session/move에 대한 액세스 방법 데이터에는 새 통화에 연결하는 데 사용되는 숫자 ID가 표시됩니다.이 숫자 ID가 예정된 모임인지 확인합니다.