目錄

簡介

必要條件

需求

採用元件

背景資訊

設定

網路圖表

組態

驗證

疑難排解

簡介

本檔案介紹設定Cisco Meeting Server(CMS)與下一代串流器和上傳程式整合的步驟以及疑難排解。下一代流處理器是從CMS 3.0版引入的，並且基於會話初始協定(SIP)。

必要條件

需求

思科建議您瞭解以下主題：

- CMS Callbridge版本3.0或更高版本及錄製/流許可證。（一個錄製許可證將允許一個流呼叫）

- Vbrick分散式媒體引擎(DME)（用於發佈來自CMS流服務的即時流）

- Vbrick Rev(可選：僅當需要在內部網路或組播外部共用直播流時才需要

- 需要網路檔案系統(NFS)目錄，可以在Windows Server或Linux上設定。

- 對於Windows伺服器，請按照步驟在Windows上部署網路檔案系統(NFS)

- 對於Linux，請按照Deploy Network File system on Linux的步驟操作

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- CMS 3.2及更高版本，帶「錄製器」和/或「串流」許可證。（錄製器許可證還允許您流式處理）

- VBrick分散式媒體引擎(DME)3.15.0 Rhel7

- Vbrick Rev(上傳程式與vBrick Rev伺服器一起使用。無需手動匯入錄製)

- 採用NFS的Windows Server 2012 R2

背景資訊

CMS版本2.1及更高版本引入了對使用標準即時消息協定(RTMP)的CMS流處理器的即時流處理的支援。 在CMS 3.0中，引入了基於SIP的下一代流處理器。3.0之前的版本使用了可擴展消息傳送和線上狀態協定(XMPP)。CMS版本3.1及更高版本支援RTMPS協定，因此可以加密CMS流處理器元件和外部伺服器之間的通訊。這允許CMS串流器與支援RTMP(S)的任何串流平台（Youtube、Facebook、Wowza等）整合。 目前，CMS Streamer已使用Vbrick DME作為外部流伺服器進行了測試，並且是推薦的整合平台。

通過Live Streaming（網播）與VBrick DME的整合，使用者可以從不同裝置觀看網路內任何位置的任何直播的CMS會議。此外，當將VBrick Rev與VBrick DME一起使用時，這將擴展從內部網路外部檢視每位VBrick Rev授權使用者的功能。此外，CMS上傳程式元件簡化了將會議伺服器錄製從已配置的NFS上傳到影片內容管理器Vbrick的工作流程，該NFS連線到會議伺服器。無需手動匯入錄製。配置並啟用上傳程式元件後，會將記錄從NFS推送到Vbrick。

串流器

本文中的資訊是根據特定實驗室環境內的裝置所建立。此處使用的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

上傳程式

上傳程式元件可以安裝在與記錄器元件相同的伺服器上，也可以安裝在單獨的伺服器上。如果與錄製器安裝在同一伺服器上，請新增幾個vCPU供它使用。如果在不同的伺服器上運行，則使用與錄製器相同的伺服器規格：專用虛擬機器，最少具有4個物理核心和4GB RAM。

運行上傳程式的會議伺服器將需要網路檔案共用(NFS)的讀寫許可權。 上載程式必須在不同的會議伺服器上運行，而不是在託管會議的呼叫橋上運行。

設定

網路圖表

有幾種支援使用CMS部署Streamer和Uploader的場景，例如：帶有多個流伺服器的單個callbridge、帶有單個流伺服器的callbridge集群和帶有多個流伺服器的callbridge集群。本文基於基本部署，其中一個callbridge群集連線到一個單流程式上傳程式伺服器，因為此方案的所有配置步驟也適用於其他方案。

如上圖所示

CMS CallBridge集群

CMS串流器/記錄器

CMS上傳程式

適用於串流的VBrick DME

適用於串流的VBrick Rev

組態

串流器

假定callbridge已設定並接受呼叫。

步驟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)獲取證書簽名。 使用安全檔案傳輸通訊協定(SFTP)將產生憑證上傳到串流器伺服器。已檢查以確認已成功上載證書。

本檔案中的萬用字元憑證用於串流器。請使用證書指南作為參考。

https://www.cisco.com/c/dam/en/us/td/docs/conferencing/ciscoMeetingServer/Deployment_Guide/Version-3-1/Certificate-Guidelines-for-all-Deployments-3-1.pdf

streamer> pki list

User supplied certificates and keys:

tac.key

tac.cer

ROOTCA.cer

example.key

example.csr

tac.csr

步驟2. MMP/SSH配置

- 使用MMP命令配置串流器的偵聽介面以及SIP TCP和TLS埠進行偵聽

串流器sip listen <interface> <tcp-port|none> <tls-port|none>

streamer> streamer sip listen a 7000 7001

僅使用TLS sip連線。將TCP sip連線配置為「none」，命令如下

streamer> streamer sip listen a none 7001

- 為流伺服器應用證書

streamer> streamer sip certs tac.key tac.cer

- 選擇流式處理的品質

streamer> streamer sip解析度720p

- 啟用流處理器

streamer> streamer enable

- 或者，如果配置了TLS，則可以在串流器上對SIP執行TLS驗證

streamer> tls sip trust ROOTCA.cer

注意：為了確保TLS連線安全，我們建議啟用TLS驗證。

streamer> 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 enable"。 所有消息必須如下所示顯示「成功」

streamer> streamer enable

SUCCESS: Key and certificate pair match

SUCCESS: Streamer enabled

步驟3. API配置

此配置在CMS託管CallBridge中執行。下面是CMS的Web管理介面上的API。任何REST客戶端（如Postman， Postman）也可用於執行此任務。

啟用新的SIP流處理器後，可以在Call Bridge中的sipStreamerUri /callProfiles下配置和使用該流處理器。

在CMS伺服器上使用API。轉到Webadmin > Configuration > API

- 建立呼叫配置檔案

- 配置sipStreamuri=demo@streamer.com & StreamingMode=自動/手動

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.

配置sipStreamuri=demo@streamer.com & StreamingMode=自動/手動

- 將上面建立的流處理器callProfile新增到/system/profiles。這是全域性配置，配置的「sipStreamerUri」將用於流處理器操作。

將callProfile新增到系統/配置檔案

- 將VBrick「streamURL」新增到用於流式處理的空間。為便於參考，已使用CMS Web介面建立名為「Stream」的空間

用於流式處理的空間

- 修改空間以新增「StreamURL」。以下格式的「streamURL」： rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP或FQDN>/live/NameofStream。在示例中，我將其配置為「rtmp://broadcast:broadcast@10.106.81.40/live/SpaceStream77」

步驟4. 建立「出站規則」

Configure，一個對映到出站DialPlan規則的自定義URI（域可以是任何內容，例如「streamer.com」）。 請配置outboundDialPlan規則以匹配流器Uri中要路由的域。

建立出站規則

如上圖所示，對於SIP串流器，如果未使用SIP的預設埠(5060,5061)，則在為服務配置出站DialPlanRule時，必須在串流器的配置中指定埠並包括以下埠號以連線到「sip proxy to use」欄位。

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

上傳程式

- 指定上載程式將監視的記錄儲存的NFS和目錄

streamer> uploader nfs 192.168.15.38:Recording

- 指定上載程式將查詢以記錄資訊的會議伺服器

streamer> uploader cms host join.mextp.local

- 指定運行呼叫網橋的會議伺服器上的Web管理埠

streamer> uploader cms port 445

- 指定在運行呼叫網橋的會議伺服器上具有API訪問許可權的使用者

streamer> uploader cms user apiadmin

streamer> uploader cms password

請輸入密碼：

- 將證書捆綁從CMS新增到會議伺服器信任儲存

為運行呼叫網橋的會議伺服器上的Web管理員建立證書捆綁包（crt捆綁包），其中包含根CA證書的副本以及鏈中的所有中間證書。

streamer> uploader cms trust ROOTCA.cer

- 設定Vbrick主機和上傳程式要連線的連線埠

streamer> uploader rev host ciscotac.rev-na.demo.vbrick.com

streamer>上傳程式反向連線埠443

註：除非另有說明，否則埠預設為443。

- 新增具有API許可權上傳影片錄製的Vbrick Rev使用者

streamer> uploader rev user tacuser

streamer> uploader rev password

請輸入密碼：

- 將證書捆綁新增到Vbrick Rev信任儲存

建立一個證書捆綁包（crt捆綁包），其中包含根CA證書的副本以及鏈中用於Vbrick Rev伺服器的所有中間證書

streamer> uploader rev trust vbrickbundle.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」命令啟用上傳程式元件。所有消息必須顯示「成功」，如下所示。

streamer> uploader enable

SUCCESS: uploader enabled

驗證

串流器

流工作和SIP流呼叫已連線

上傳程式

您可以在上傳程式的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元件的伺服器上擁有「recorder」許可證。如果沒有，或許可證不足，則事件日誌中將出現如下所示的錯誤。

確保新增所需的許可證。可使用命令「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

現在您有2個選擇，可以刪除TLS埠或新增SIP TLS信任和流處理器證書

思科建議啟用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://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP或FQDN>/live/NameofStream」格式正確配置RTMP URL

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，並且是否與Cospace關聯。

上傳程式

1. Vbrick詳細資訊不正確。

您可以在上傳程式記錄中看到錯誤

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連線埠。