본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 Next Generation Streamer 및 Uploader와의 Cisco CMS(Meeting Server) 통합을 구성하고 문제를 해결하는 단계에 대해 설명합니다.Next Generation Streamer는 CMS 버전 3.0에서 도입되었으며 SIP(Session Initiation Protocol) 기반 솔루션입니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
CMS 버전 2.1 이상에서는 표준 RTMP(Real-Time Messaging Protocol)를 사용하여 CMS 스트리밍으로 라이브 스트리밍을 지원합니다. CMS 3.0에서는 SIP 기반 구성 요소인 Next Generation Streamer가 도입되었습니다.3.0 이전 버전에서는 XMPP(Extensible Messaging and Presence Protocol)를 사용했습니다.CMS 버전 3.1 이상은 RTMPS 프로토콜을 지원하므로 CMS 스트림 구성 요소와 외부 서버 간의 통신을 암호화할 수 있습니다.이를 통해 CMS 스트림은 RTMP(Youtube, Facebook, Wowza 등)를 지원하는 모든 스트리밍 플랫폼과 통합할 수 있습니다. 현재 CMS Streamer는 Vbrick DME를 외부 스트리밍 서버로 테스트했으며 통합을 위해 권장되는 플랫폼입니다.
VBrick DME와 라이브 스트리밍(웹캐스트) 통합을 통해 사용자는 다양한 디바이스에서 네트워크 내부의 어디서든 실시간 스트리밍 CMS 회의를 볼 수 있습니다.또한 VBrick Rev가 VBrick DME와 함께 사용될 경우, 이 기능은 모든 VBrick Rev 권한 사용자의 내부 네트워크 외부에서 볼 수 있도록 확장됩니다. 또한 CMS 업로더 구성 요소는 회의 서버에 연결된 구성된 NFS에서 비디오 콘텐츠 관리자 Vbrick에 회의 서버 녹음을 업로드하는 작업 흐름을 간소화합니다.녹음을 수동으로 가져올 필요가 없습니다.업로더 구성 요소를 구성하고 활성화하면 녹화가 NFS에서 Vbrick으로 푸시됩니다.
스트리머
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.여기에서 사용된 모든 디바이스는 지워진(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
업로더
Uploader 구성 요소는 Recorder 구성 요소와 같은 서버에 설치하거나 별도의 서버에 설치할 수 있습니다.레코더와 동일한 서버에 설치된 경우 사용할 vCPU 몇 개를 추가합니다.다른 서버에서 실행되는 경우 레코더와 동일한 서버 사양을 사용합니다.최소 4개의 물리적 코어 및 4GB의 RAM을 갖춘 전용 VM.
업로더를 실행하는 모임 서버에는 NFS(네트워크 파일 공유)에 대한 읽기 및 쓰기 권한이 필요합니다. 업로더는 회의를 호스팅하는 통화 브리지가 아닌 다른 회의 서버에서 실행해야 합니다.
CMS와 함께 Streamer 및 Uploader를 구축하는 데 다음과 같은 몇 가지 시나리오가 지원됩니다.여러 스트리밍 서버가 포함된 단일 callbridge, 단일 스트리밍 서버가 있는 callbridge 클러스터, 여러 스트리밍 서버가 있는 callbridge 클러스터이 문서는 단일 스트림, 업로더 서버에 연결하는 callbridge 클러스터를 포함하는 기본 구축을 기반으로 하며, 이 시나리오의 모든 구성 단계가 다른 시나리오에도 적용됩니다.
위 이미지에 표시된 대로
CMS CallBridge 클러스터
CMS Streamer/Recorder
CMS 업로더
스트리밍용 VBrick DME
스트리밍용 VBrick Rev
스트리머
통화 브리지가 이미 설정되고 통화를 수락하는 것으로 가정합니다.
1단계. 인증서
새 스트리밍 구성 요소는 https 연결을 수신할 필요가 없지만 SIP 연결을 수신하므로 스트리밍 서버에 TLS 통신을 위한 유효한 인증서가 있어야 합니다.
streamer> pki csr tac CN:.*.tptac9.com subjectAltName:streamer.tptac9.com
..............
......
Created key file tac.key and CSR tac.csr
CSR file tac.csr ready for download via SFTP
로컬 CA(Certificate Authority)에서 서명된 인증서를 가져옵니다. SFTP(Secure File Transfer Protocol)를 사용하여 생성 인증서를 스트리밍 서버에 업로드합니다.인증서를 업로드했는지 확인했습니다.
이 문서에서 와일드카드 인증서는 스트리밍에 사용됩니다.인증서 가이드를 참조하여 주십시오.
streamer> pki list
User supplied certificates and keys:
tac.key
tac.cer
ROOTCA.cer
example.key
example.csr
tac.csr
2단계. MMP/SSH 컨피그레이션
streaming sip listen <interface> <tcp-port|none> <tls-port|none>
streamer> streamer sip listen 7000 7001
TLS sip 연결만 사용하려면TCP SIP 연결을 "none"으로 구성합니다. 명령은 다음과 같습니다.
streamer> streamer sip listen none 7001
streamer> streamer sip resolution 720p
streamer> streamer enable
streamer> tls sip trust ROOTCA.cer
참고: TLS 연결이 안전하려면 TLS 확인을 활성화하는 것이 좋습니다.
streaming > tls sip verify enable
streamer> streamer
Enabled : false
SIP interfaces : tcp a:7000, tls a:7001
SIP key file : tac.key
SIP certificate file : tac.cer
SIP CA Bundle file : none
SIP Resolution : 720p
SIP traffic trace : Disabled
Call Limit : none
streamer> streamer enable
SUCCESS: Key and certificate pair match
SUCCESS: Streamer enabled
3단계. API 컨피그레이션
이 컨피그레이션은 CallBridge를 호스팅하는 CMS에서 수행됩니다.아래는 CMS의 웹 관리자 인터페이스에 대한 API입니다.Postman, Poster와 같은 모든 REST 클라이언트를 사용하여 이 작업을 수행할 수도 있습니다.
새 SIP 스트리밍이 활성화되면 Call Bridge에서 sipStreamerUri용 /callProfiles를 사용하여 구성하고 사용할 수 있습니다.
CMS 서버에서 API를 사용하려면Webadmin > Configuration > API로 이동
The user part of the configured "sipStreamuri" (i.e. the part before '@' symbol) has no significant meaning, and for the new SIP streamer component, although required, it can usually be anything, e.g. "streamer@streamer.com".The important part of the URI is the "domain" part.
4단계. "아웃바운드 규칙" 생성
outboundDialPlan 규칙에 매핑되는 사용자 지정 URI인 Configure(구성)(도메인은 "streamer.com"과 같은 모든 것이 될 수 있음). 라우팅할 streamerUri에 사용된 도메인과 일치하도록 outboundDialPlan 규칙을 구성하십시오.
위 이미지에 표시된 것처럼 SIP Streamer의 경우 SIP(5060,5061)에 대한 기본 포트를 사용하지 않는 경우, 서비스에 대해 outboundDialPlanRule이 구성된 경우 스트리밍 컨피그레이션에서 포트를 지정하고 다음 포트 번호를 포함하여 "사용할 sip proxy" 필드에 연결해야 합니다.
streamer> streamer
Enabled : true
SIP interfaces : tcp a:7000, tls a:7001
SIP key file : tac.key
SIP certificate file : tac.cer
SIP CA Bundle file : none
SIP Resolution : 720p
SIP traffic trace : Disabled
Call Limit : none
업로더
streamer> uploader nfs 192.168.15.38:녹음
streamer > uploader cms host join.mextp.local
streamer> uploader cms port 445
streaming > uploader cms user api admin
streaming > uploader cms 비밀번호
암호를 입력하십시오.
참고: 별도로 지정하지 않는 한 포트는 기본적으로 443입니다.
루트 CA 인증서 및 Vbrick Rev 서버의 체인에 있는 모든 중간 인증서를 포함하는 인증서 번들(crt-bundle)을 생성합니다.
streamer> uploader rev trust vbricbundle.cer
streamer> uploader
Enabled : false
NFS hostname : 192.168.15.38
NFS directory : Recording
CMS host : join.mextp.local
CMS port : 445
CMS user : apiadmin
CMS trust bundle : ROOTCA.cer
Vbrick Rev hostname : ciscotac.rev-na.demo.vbrick.com
Vbrick Rev port : 443
Vbrick Rev username : tacuser
Vbrick Rev trust bundle : brick.cer
View access : Public
cospace_member_access : edit
recording_owned_by_cospace_owner : false
fallback_owner : admin
comments_enabled : true
ratings_enabled : true
downloads_enabled : true
active_upon_upload : true
delete_after_upload : false
컨피그레이션이 올바른 경우 "uploader enable" 명령을 사용하여 업로더 구성 요소를 활성화합니다.모든 메시지는 아래와 같이 "SUCCESS(성공)"를 표시해야 합니다.
streamer> uploader enable
SUCCESS: uploader enabled
스트리머
업로더
syslog 후속 업로더에서 성공적인 이벤트에 대한 로그를 볼 수 있습니다.
Jun 17 22:24:41.867 user.info cms-02 Uploader[1]: scanning directory: /mnt/recordings/forwardedCalls
Jun 17 22:24:41.867 user.info cms-02 Uploader[1]: scanning directory: /mnt/recordings/spaces
Jun 17 22:24:41.869 user.info cms-02 Uploader[1]: checking the status of /mnt/recordings/spaces/8a7076e2-6db6-47e9-98ee-3bd063e32559/20210618032309+0000_vid-id=c4605aaf-dc49-4cd7-9174-c46185ba1983@vbrick.mp4
Jun 17 22:24:41.870 user.info cms-02 Uploader[1]: Getting from: https://ciscotac.rev-na.demo.vbrick.com:443/api/v1/videos/c4605aaf-dc49-4cd7-9174-c46185ba1983/status
Jun 17 22:24:42.035 user.info cms-02 Uploader[1]: Received vbrick response status code: 200
Jun 17 22:24:42.035 user.info cms-02 Uploader[1]: vbrick response: main.vbrickStatusResp{Status:"Ready"}
Jun 17 22:24:42.035 user.info cms-02 Uploader[1]: file 20210618032309+0000_vid-id=c4605aaf-dc49-4cd7-9174-c46185ba1983@vbrick.mp4 vid c4605aaf-dc49-4cd7-9174-c46185ba1983 status Ready
Jun 17 22:24:42.035 user.info cms-02 Uploader[1]: Getting from: https://ciscotac.rev-na.demo.vbrick.com:443/api/v1/videos/c4605aaf-dc49-4cd7-9174-c46185ba1983/playback-url
Jun 17 22:24:42.200 user.info cms-02 Uploader[1]: Received vbrick response 200
스트리머
1. 라이센스 없음
Streamer에는 callbridge 구성 요소가 있는 서버에 "레코더" 라이센스가 필요합니다.라이센스가 없거나 부족한 경우, 아래에 표시된 오류가 이벤트 로그에 표시됩니다.
필수 라이센스를 추가해야 합니다.라이센스 상태는 "license" 명령을 사용하여 CLI를 확인할 수 있습니다.
cms1> license
Feature: callbridge status: Activated expiry: 2023-Apr-28 (690 days remain)
Feature: turn status: Activated expiry: 2023-Apr-28 (690 days remain)
Feature: webbridge status: Activated expiry: 2023-Apr-28 (690 days remain)
Feature: customizations status: Activated expiry: 2023-Apr-28 (690 days remain)
Feature: local_license_mode status: Activated expiry: 2023-Apr-28 (690 days remain)
Feature: recording status: Activated expiry: 2023-Apr-28 (690 days remain)
Feature: personal status: Activated expiry: 2023-Apr-28 (690 days remain)
Feature: shared status: Activated expiry: 2023-Apr-28 (690 days remain)
2.TLS 포트
· TLS 포트가 구성되었고 인증서가 적용되지 않은 경우TLS를 사용하도록 스트리밍에 대한 인증서 구성
· 인증서를 사용할 수 없는 경우TCP 포트만 구성
streamer> streamer sip listen a 7000 7001
streamer> streamer enable
FAILURE: TLS port set but no certificates configured
FAILURE: Streamer configuration not complete
이제 TLS 포트를 제거하거나 SIP TLS Trust and Streamer Certificate(SIP TLS 신뢰 및 스트리밍 인증서)를 추가하는 두 가지 옵션이 있습니다
Cisco에서는 TLS 포트를 사용하도록 설정하는 것이 좋습니다.
3. RTMP 스트림이 올바르게 구성되지 않았습니다.
로그에 오류가 표시됩니다.
daemon.info streamer streamer-sip[2280]: 144500.368 : INFO : call 3: retrieved stream URL from RTCP: "rtmp://broadcast:broadcast@10.106.81.40/test"
daemon.info streamer streamer-sip[2280]: 144500.368 : INFO : call 3: parsing rtmp://broadcast:broadcast@10.106.81.40/test
daemon.info streamer streamer-sip[2280]: 144500.368 : INFO : call 3: RTMP stream="test"
daemon.info streamer streamer-sip[2280]: 144500.368 : INFO : call 3: RTMP server="rtmp://10.106.81.40:1935/test"
daemon.info streamer streamer-sip[2280]: 144500.370 : INFO : call 3: Connected to RTMP server
daemon.info streamer streamer-sip[2280]: 144500.370 : INFO : call 3: C2 pending - len 1536
daemon.info streamer streamer-sip[2280]: 144500.370 : : call 3: snd: create new chunk stream 2
daemon.info streamer streamer-sip[2280]: 144500.370 : : call 3: snd: create new chunk stream 3
daemon.info streamer streamer-sip[2280]: 144500.370 : INFO : call 3: RTMP sent chunk size of 4096 and connect message
daemon.info streamer streamer-sip[2280]: 144500.410 : ERROR : call 3: connection : far end closed connection 5
스트림 컨피그레이션의 절차를 확인하고 RTMP URL을 "rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP 또는 FQDN>/live/NameoftheStream" 형식으로 올바르게 구성하십시오.
4.통화 라우팅 관련 문제
CMS 스트리밍은 SIP 기반 클라이언트이며 앞서 설명한 대로 라우팅을 구축해야 합니다.이로 인해 통화가 실패할 수 있는 시나리오가 발생할 수 있습니다.CMS Callbridge에서 아웃바운드 통화를 보냈지만 다음 '트랜잭션 시간 초과 - INVITE를 보내는 임시 응답 없음' 오류로 인해 실패했습니다.
2021-06-28 17:37:02.412 Info user 'guest300535034' starting streaming (space 'test') 2021-06-28 17:37:02.413 Info API call leg bc0917df-589c-4628-887d-79481d322fed in call 63f0b174-831e-4a12-b4ee-27186d4162af (API call 00286960-9af9-4d5d-9ca7-20dd40425292) 2021-06-28 17:37:02.413 Info call 44: outgoing SIP call to "demo@streamer.com" from space "test" 2021-06-28 17:37:02.413 Info call 44: configured - API call leg bc0917df-589c-4628-887d-79481d322fed with SIP call ID "7d37a80e-7996-4e8d-aa87-77c9d4729cec" 2021-06-28 17:37:04.482 Info call 42: receiver report 1 interval for rx video 0 = 6113ms (period 6108ms) 00000000 2021-06-28 17:37:22.074 Info call 44: falling back to unencrypted control connection... 2021-06-28 17:37:54.075 Info call 44: ending; local SIP teardown with reason 7 (transaction timeout - no provisional responses sending INVITE) - not connected after 0:52 2021-06-28 17:37:54.075 Info call 44: destroying API call leg bc0917df-589c-4628-887d-79481d322fed 2021-06-28 17:37:54.076 Info streaming call leg for space 'test' disconnected with reason 7 (transaction timeout - no provisional responses sending INVITE)
CMS Callbridge 서버에서 아웃바운드 통화 설정을 검토하여 전송 대상 위치 및 올바르게 설정되었는지 확인합니다.또한 통화 프로파일이 올바른 스트리밍 URI로 구성되어 있고 동일한 URI가 Cospace와 연결되어 있는지 확인합니다.
업로더
1. 브릭 정보가 올바르지 않습니다.
업로더 로그에 오류가 표시됩니다.
Jun 27 11:29:27.864 user.info streamer Uploader[1]: Received vbrick response 500
Jun 27 11:29:27.864 user.info streamer Uploader[1]: posting to: https://sales.vbrick.com:443/api/v1/user/login
Jun 27 11:29:47.870 user.info streamer Uploader[1]: Received vbrick response 500
Jun 27 11:29:47.870 user.err streamer Uploader[1]: Failed to initialise Vbrick Client
Jun 27 11:29:47.870 user.err streamer Uploader[1]: vbrick returned status code: 500
vbrick 서버에 대한 올바른 자격 증명 및 포트를 구성했는지 확인하십시오. 또한 업로더가 CMS callbridge webadmin 포트에 연결할 수 있어야 합니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
23-Aug-2021 |
최초 릴리스 |