Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Konfigurieren

Netzwerkdiagramm

Konfigurationen

Überprüfung

Fehlerbehebung

Einleitung

In diesem Dokument werden die Schritte zur Konfiguration und Fehlerbehebung bei der Integration von Cisco Meeting Server (CMS) in den Next Generation Streamer und Uploader beschrieben. Der Streamer der nächsten Generation wurde in CMS Version 3.0 eingeführt und ist SIP-basiert (Session Initiation Protocol).

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- CMS Callbridge Version 3.0 oder höher mit Aufnahme-/Streaming-Lizenz(en) (eine Aufzeichnungslizenz erlaubt ein Streaming-Gespräch)

- Vbrick Distributed Media Engine (DME) (zur Veröffentlichung des Live-Streams vom CMS-Streaming-Service)

- Vbrick Rev (optional): nur erforderlich, wenn Live-Streaming außerhalb des internen Netzwerks oder von Multicast freigegeben werden muss

- NFS-Verzeichnis (Network File System) ist erforderlich und kann unter Windows Server oder Linux eingerichtet werden.

- Führen Sie für Windows-Server die Schritte zum Bereitstellen des Network File System (NFS) unter Windows aus.

- Führen Sie für Linux die Schritte zum Bereitstellen des Network File Systems unter Linux aus.

Verwendete Komponenten

Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:

- CMS 3.2 und höher mit 'Recorder' und/oder 'Streamer' Lizenz(en). (Rekorder-Lizenz ermöglicht Ihnen auch das Streaming)

- VBrick Distributed Media Engine (DME) 3.15.0 Rhel7

- Vbrick Rev (Uploader wird mit vBrick Rev-Server verwendet. Es ist kein manuelles Importieren von Aufzeichnungen erforderlich.)

- Windows Server 2012 R2 mit NFS

Hintergrundinformationen

Ab CMS Version 2.1 wird Live-Streaming über das Standard Real-Time Messaging Protocol (RTMP) mit dem CMS Streamer unterstützt. In CMS 3.0 wurde der Next Generation Streamer vorgestellt, eine SIP-basierte Komponente. Die Vorgängerversion von Version 3.0 verwendete Extensible Messaging and Presence Protocol (XMPP). CMS Version 3.1 und höher unterstützen das RTMPS-Protokoll, sodass die Kommunikation zwischen der CMS-Streamer-Komponente und dem externen Server verschlüsselt werden kann. Dadurch kann der CMS Streamer in jede Streaming-Plattform integriert werden, die RTMP(S) unterstützt (YouTube, Facebook, Wowza usw.). Der CMS Streamer wurde derzeit mit Vbrick DME als externer Streaming-Server getestet und ist die empfohlene Plattform für die Integration.

Dank der Integration von Live-Streaming (Webcast) mit VBrick DME können Benutzer von verschiedenen Geräten aus jede CMS-Live-Stream-Konferenz im gesamten Netzwerk verfolgen. Wenn VBrick Rev zusammen mit VBrick DME verwendet wird, erweitert dies diese Fähigkeit zur Anzeige von jedem autorisierten Benutzer von VBrick Rev von außerhalb des internen Netzwerks.Außerdem vereinfacht die CMS Uploader-Komponente den Arbeitsablauf beim Hochladen von Meeting Server-Aufzeichnungen von einem konfigurierten NFS, das mit einem Meeting Server verbunden ist, an den Video Content Manager Vbrick. Ein manuelles Importieren von Aufzeichnungen ist nicht erforderlich. Nach der Konfiguration und Aktivierung der Uploader-Komponente werden die Aufzeichnungen vom NFS auf Vbrick übertragen.

Streamer

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle hier verwendeten Geräte begannen mit gelöschten (Standard-)Konfigurationen. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.

Uploader

Die Uploader-Komponente kann auf demselben Server wie die Recorder-Komponente oder auf einem separaten Server installiert werden. Wenn sie auf demselben Server wie der Recorder installiert ist, fügen Sie einige vCPUs hinzu, die der Recorder verwenden kann. Wenn auf einem anderen Server ausgeführt wird, verwenden Sie die gleiche Serverspezifikation wie für den Recorder: dediziertes VM mit mindestens 4 physischen Cores und 4 GB RAM.

Der Meeting-Server, auf dem der Uploader ausgeführt wird, benötigt Lese- und Schreibberechtigungen für das Network File Sharing (NFS). Der Uploader muss auf einem anderen Meeting-Server ausgeführt werden und nicht auf der Call Bridge, die als Gastgeber für die Konferenzen fungiert.

Konfigurieren

Netzwerkdiagramm

Für die Bereitstellung von Streamer und Uploader mit CMS werden verschiedene Szenarien unterstützt, z. B.: Einzelne Callbridge mit mehreren Streaming-Servern, ein Callbridge-Cluster mit einem einzigen Streaming-Server und ein Callbridge-Cluster mit mehreren Streaming-Servern. Dieses Dokument basiert auf einer grundlegenden Bereitstellung mit einem Cluster von Callbridge, das mit einem einzelnen Streamer, Uploader-Server, verbunden ist, da alle Konfigurationsschritte in diesem Szenario auch für andere Szenarien gelten.

Wie in obigem Bild dargestellt

CMS-CallBridge-Cluster

CMS Streamer/Recorder

CMS-Uploader

VBrick DME für Streaming

VBrick Rev für Streaming

Konfigurationen

Streamer

Es wird davon ausgegangen, dass die Callbridge bereits eingerichtet ist und Anrufe annimmt.

Schritt 1: Zertifikate

Die neuen Streamer-Komponenten müssen keine HTTPS-Verbindungen abhören, jedoch muss der Streamer-Server über ein gültiges Zertifikat für die TLS-Kommunikation verfügen.

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

Das von der lokalen Zertifizierungsstelle (CA) signierte Zertifikat abrufen. Laden Sie das generierte Zertifikat mithilfe des Secure File Transfer Protocol (SFTP) auf den Streamer-Server hoch. Aktiviert, um die erfolgreich hochgeladenen Zertifikate zu bestätigen.

In diesem Dokument werden Platzhalterzertifikate für Streamer verwendet. Verwenden Sie den Zertifikatsleitfaden als Referenz.

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

Schritt 2: MMP-/SSH-Konfiguration

- Konfigurieren Sie die Überwachungsschnittstelle des Streamers sowie die SIP-TCP- und -TLS-Ports für die Überwachung mithilfe des MMP-Befehls.

streamer sip listen <Schnittstelle> <tcp-port|none> <tls-port|none>

streamer> streamer sip listen 7000 7001

Nur TLS-SIP-Verbindung verwenden. Konfigurieren Sie die TCP-SIP-Verbindung als "none" (keine). Der folgende Befehl lautet.

streamer> streamer sip listen a none 7001

- Zertifikate für den Streamer-Server anwenden

Streamer> Streamer sip certs tac.key tac.cer

- Auswahl der Streaming-Qualität

Streamer> Streamer SIP-Auflösung 720p

- Streamer aktivieren

Streamer> Streamer aktivieren

- Wenn TLS konfiguriert ist, können Sie optional eine TLS-Verifizierung für SIP auf dem Streamer durchführen.

streamer> tls sip trust ROOTCA.cer

Hinweis: Um die Sicherheit der TLS-Verbindung zu gewährleisten, empfehlen wir die Aktivierung der TLS-Verifizierung.

streamer> tls sip überprüfen aktivieren

- Überprüfen Sie, ob die oben eingegebenen Konfigurationsinformationen richtig sind.

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

- Aktivieren Sie den Streamer mithilfe des folgenden Befehls: "Streamer aktivieren". In allen Meldungen muss "SUCCESS" (Erfolg) angezeigt werden (siehe unten).

streamer> streamer enable

SUCCESS: Key and certificate pair match

SUCCESS: Streamer enabled

Schritt 3: API-Konfiguration

Diese Konfiguration wird im CMS durchgeführt, das CallBridge hostet. Unten, API auf WebAdmin-Schnittstelle von CMS. Jeder REST-Client wie Postman, Poster kann auch verwendet werden, um dies durchzuführen.

Sobald der neue SIP-Streamer aktiviert ist, kann er unter /callProfiles für sipStreamerUri in der Anrufbrücke konfiguriert und verwendet werden.

API auf dem CMS-Server verwenden. Gehen Sie zu WebAdmin > Configuration > API

- Anrufprofil erstellen

- Konfigurieren Sie sipStreamuri=demo@streamer.com & StreamingMode= Automatisch/Manuell

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.

Konfigurieren Sie sipStreamuri=demo@streamer.com & StreamingMode= Automatic/Manual

- Fügen Sie das oben erstellte Streamer-Anrufprofil dem Verzeichnis /system/profiles hinzu. Hierbei handelt es sich um eine globale Konfiguration, und der konfigurierte "sipStreamerUri" wird für den Streamer-Betrieb verwendet.

Anrufprofil zu System/Profilen hinzufügen

- Fügen Sie die VBrick 'streamURL' zu den für das Streaming verwendeten Speicherbereichen hinzu. Zur Referenz wurde ein Speicherbereich mit der Bezeichnung 'Stream' über die CMS-Webschnittstelle erstellt.

Für das Streaming verwendeter Speicherplatz

- Ändern Sie den Platz, um "StreamURL" hinzuzufügen. Die 'streamURL' im folgenden Format:  rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP or FQDN>/live/Name des Streams. Im Beispiel habe ich es als "rtmp://broadcast:broadcast@10.106.81.40/live/SpaceStream77" konfiguriert.

Schritt 4: Ausgehende Regeln erstellen

Konfigurieren Sie einen benutzerdefinierten URI, der einer outboundDialPlan-Regel zugeordnet ist (bei der Domäne kann es sich um ein beliebiges Element handeln, z. B. "streamer.com"). Konfigurieren Sie eine outboundDialPlan-Regel, die mit der Domäne übereinstimmt, die in streamerUri für die Weiterleitung verwendet wird.

Ausgehende Regeln erstellen

Wie in der Abbildung oben gezeigt, für SIP-Streamer, wenn Standard-Ports für SIP (5060,5061) nicht verwendet werden, dann ist es erforderlich, Ports in der Konfiguration des Streamers anzugeben und die folgende Port-Nummer einzuschließen, um eine Verbindung mit dem "sip proxy to use"-Feld herzustellen, wenn outboundDialPlanRule für den Dienst konfiguriert ist.

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

Uploader

- Geben Sie das NFS und das Verzeichnis an, in dem die Aufzeichnungen gespeichert werden, die vom Uploader überwacht werden.

streamer> uploader nfs 192.168.15.38:Aufzeichnung

- Geben Sie den Meeting Server an, den der Uploader für die Aufzeichnungsinformationen abfragt.

streamer> uploader cms host join.mextp.local

- Geben Sie den Web-Admin-Port auf dem Meeting-Server an, auf dem die Anrufbrücke ausgeführt wird.

streamer> uploader cms port 445

- Angeben des Benutzers mit API-Zugriff auf dem Meeting-Server, auf dem die Anrufbrücke ausgeführt wird

streamer> uploader cms user apiadmin

streamer> uploader cms Kennwort

Geben Sie ein Kennwort ein:

- Zertifikatpaket vom CMS zum Meeting Server-Vertrauensspeicher hinzufügen

Erstellen Sie ein Zertifikatpaket (crt-bundle) mit einer Kopie des Zertifikats der Root-Zertifizierungsstelle und allen Zwischenzertifikaten in der Kette für den Web-Administrator auf dem Meeting-Server, auf dem die Anrufbrücke ausgeführt wird.

streamer> uploader cms trust ROOTCA.cer

- Konfigurieren Sie den Vbrick-Host und den Port, mit dem der Uploader verbunden wird.

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

streamer> uploader rev port 443

Hinweis: Wenn nicht anders angegeben, wird standardmäßig der Port 443 verwendet

- Hinzufügen eines Vbrick Rev-Benutzers mit API-Berechtigung zum Hochladen von Videoaufzeichnungen

streamer> uploader rev user tacuser

streamer> uploader rev Kennwort

Geben Sie ein Kennwort ein:

- Fügen Sie das Zertifikatpaket zum Vbrick Rev-Vertrauensspeicher hinzu.

Erstellen Sie ein Zertifikatspaket (crt-bundle) mit einer Kopie des Zertifikats der Root-Zertifizierungsstelle und allen Zwischenzertifikaten in der Kette für den Vbrick-Rev-Server.

streamer> uploader rev trust vbrickbundle.cer

- Uploader-Konfiguration prüfen und Uploader aktivieren

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

Wenn die Konfiguration korrekt ist, verwenden Sie den Befehl "uploader enable", um die Uploader-Komponente zu aktivieren. In allen Meldungen muss "SUCCESS" (Erfolg) angezeigt werden, wie unten gezeigt.

streamer> uploader enable

SUCCESS: uploader enabled

Überprüfung

Streamer

Streaming funktioniert und ein SIP-Streaming-Anruf ist verbunden

Uploader

Sie können das Protokoll für ein erfolgreiches Ereignis in der Syslog-Folge von Uploader sehen.

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

Fehlerbehebung

Streamer

1. Keine Lizenz

Streamer benötigte "Recorder"-Lizenz auf dem Server mit Callbridge-Komponente. Wenn dies nicht der Fall ist oder keine ausreichende Lizenz vorhanden ist, werden die unten aufgeführten Fehler in den Ereignisprotokollen angezeigt.

Stellen Sie sicher, dass Sie die erforderliche Lizenz hinzufügen. Der Status der Lizenz kann mithilfe des Befehls "license" in der CLI überprüft werden.

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-Port

・ Wenn der TLS-Port konfiguriert wurde und keine Zertifikate angewendet wurden. Konfigurieren von Zertifikaten für den Streamer zur Verwendung von TLS

・ Wenn kein Zertifikat verfügbar ist. Konfigurieren Sie nur den TCP-Port

streamer> streamer sip listen a 7000 7001

streamer> streamer enable

FAILURE: TLS port set but no certificates configured

FAILURE: Streamer configuration not complete

Sie haben jetzt zwei Optionen, um den TLS-Port zu entfernen oder das SIP TLS Trust and Streamer-Zertifikat hinzuzufügen.

Cisco empfiehlt, den TLS-Port zu aktivieren.

3. Der RTMP-Stream ist nicht richtig konfiguriert.

In den Protokollen werden Fehler angezeigt.

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

Überprüfen Sie das Verfahren in der Streamer-Konfiguration, und konfigurieren Sie die RTMP-URL im Format "rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP or FQDN>/live/Name des Streams".

4.Probleme im Zusammenhang mit der Anrufweiterleitung

Da der CMS-Streamer ein SIP-basierter Client ist und wie bereits erwähnt, muss Routing aktiviert sein. Dies kann zu Szenarien führen, in denen Anrufe fehlschlagen. In diesem Beispiel hat CMS Callbridge einen ausgehenden Anruf gesendet, der jedoch mit dem folgenden 'Transaktions-Timeout' fehlgeschlagen ist - keine vorläufigen Antworten, die den INVITE-Fehler senden.

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)

Überprüfen Sie die Einstellungen für ausgehende Anrufe auf den CMS Callbridge-Servern, um den Standort zu überprüfen, an den die Anrufe gesendet werden, und ob sie richtig eingestellt sind. Überprüfen Sie außerdem, ob das Anrufprofil mit der richtigen Streamer-URI konfiguriert wurde und ob dies mit Cospace verknüpft ist.

Uploader

1. Vbrick Details nicht korrekt.

Sie sehen einen Fehler im Uploader-Protokoll

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

Stellen Sie sicher, dass Sie die richtigen Anmeldeinformationen und den richtigen Port für den vBrick-Server konfiguriert haben.  Stellen Sie außerdem sicher, dass der Uploader den CMS callbridge webadmin-Port erreichen kann.