Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Informations générales

Configuration

Diagramme du réseau

Configurations

Vérification

Dépannage

Introduction

Ce document décrit les étapes à suivre pour configurer et dépanner l'intégration de Cisco Meeting Server (CMS) avec le chargeur de flux et le chargeur de nouvelle génération. Le flux de nouvelle génération a été introduit à partir de CMS version 3.0 et est basé sur le protocole SIP (Session Initiation Protocol).

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- CMS Callbridge(s) version 3.0 ou ultérieure avec licence(s) d'enregistrement/de diffusion. (une licence d'enregistrement autorise un appel en continu)

- Vbrick Distributed Media Engine (DME) (utilisé pour publier le flux en direct à partir du service de diffusion CMS)

- Vbrick Rev (facultatif) : Uniquement requis si la diffusion en continu en direct doit être partagée en dehors du réseau interne ou de la multidiffusion

- Le répertoire NFS (Network File System) est nécessaire et peut être configuré sur Windows Server ou Linux.

- Pour le serveur Windows, suivez les étapes pour déployer le système de fichiers réseau (NFS) sous Windows

- Pour Linux, suivez les étapes pour déployer le système de fichiers réseau sous Linux

Components Used

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

- CMS 3.2 et plus avec licence 'Enregistreur' et/ou 'Streamer'. (la licence d'enregistreur vous permettra également de diffuser des données)

- VBrick Distributed Media Engine (DME) 3.15.0 Rhel7

- Vbrick Rev (Uploader est utilisé avec le serveur vBrick Rev. Aucune importation manuelle d'enregistrements n'est requise)

- Windows Server 2012 R2 avec NFS

Informations générales

Les versions 2.1 et ultérieures de CMS ont introduit la prise en charge de la diffusion en direct avec le flux CMS à l'aide du protocole RTMP (Real-Time Messaging Protocol) standard. Dans CMS 3.0, le flux de nouvelle génération (Next Generation Streamer) est un composant SIP. La version antérieure à 3.0 utilisait XMPP (Extensible Messaging and Presence Protocol) . Les versions 3.1 et ultérieures de CMS prennent en charge le protocole RTMPS et la communication entre le composant de flux CMS et le serveur externe peut donc être chiffrée. Cela permet au diffuseur CMS de s'intégrer à n'importe quelle plate-forme de diffusion en continu prenant en charge RTMP(S) (Youtube, Facebook, Wowza, etc.). Actuellement, le CMS Streamer a été testé avec Vbrick DME comme serveur de diffusion externe et est la plate-forme recommandée pour l'intégration.

L'intégration de la diffusion en continu en direct (Webcast) avec VBrick DME permet aux utilisateurs de visionner n'importe quelle conférence CMS en direct depuis n'importe quel périphérique du réseau. En outre, lorsque VBrick Rev est utilisé le long de VBrick DME, cela étend cette fonctionnalité d'affichage depuis l'extérieur du réseau interne pour chaque utilisateur autorisé VBrick Rev.En outre, le composant CMS Uploader simplifie le flux de travail pour le téléchargement d'enregistrements Meeting Server vers le gestionnaire de contenu vidéo Vbrick, à partir d'un NFS configuré connecté à un serveur de téléconférence. Aucune importation manuelle d'enregistrements n'est requise. Une fois le composant Uploader configuré et activé, les enregistrements sont repoussés de NFS vers Vbrick.

Flux

The information in this document was created from the devices in a specific lab environment. Tous les périphériques utilisés ici ont démarré avec des configurations effacées (par défaut). If your network is live, make sure that you understand the potential impact of any command.

Chargeur

Le composant Uploader peut être installé sur le même serveur que le composant Recorder ou sur un serveur distinct. S'il est installé sur le même serveur que l'enregistreur, ajoutez quelques vCPU à utiliser. Si elle est exécutée sur un autre serveur, utilisez la même spécification de serveur que pour l'enregistreur : VM dédiée avec un minimum de 4 coeurs physiques et 4 Go de RAM.

Le serveur de téléconférence exécutant le chargeur aura besoin d'autorisations de lecture et d'écriture pour le partage de fichiers réseau (NFS). Le chargeur doit s'exécuter sur un autre serveur de téléconférence et non sur le pont d'appel qui héberge les conférences.

Configuration

Diagramme du réseau

Plusieurs scénarios sont pris en charge pour déployer Streamer et Uploader avec CMS, tels que : pont d'appel unique avec plusieurs serveurs de diffusion en continu, cluster de pont d'appel avec un seul serveur de diffusion en continu et cluster de pont d'appel avec plusieurs serveurs de diffusion en continu. Ce document est basé sur un déploiement de base avec un cluster de pont d'appel se connectant à un serveur de chargeur de flux unique, car toutes les étapes de configuration de ce scénario s'appliquent également à d'autres scénarios.

Comme le montre l'image ci-dessus

Cluster CMS CallBridge

Streamer/Enregistreur CMS

Téléchargeur CMS

VBrick DME pour diffusion en continu

VBrick Rev pour diffusion en continu

Configurations

Flux

Il est supposé que le pont d'appel est déjà configuré et accepte les appels.

Étape 1. Certificats

Les nouveaux composants de l'analyseur de flux n'ont pas besoin d'écouter les connexions https, cependant, il écoute les connexions SIP , le serveur de l'analyseur de flux doit avoir un certificat valide pour la communication 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

Obtenez le certificat signé de l'autorité de certification locale. Téléchargez le certificat généré à l'aide du protocole SFTP (Secure File Transfer Protocol) sur le serveur Streamer. Coché pour confirmer que les certificats ont été téléchargés avec succès.

Dans ce document, les certificats génériques sont utilisés pour le flux. Veuillez utiliser le guide de certification pour référence.

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

Étape 2. Configuration MMP/SSH

- Configurez l'interface d'écoute du routeur et les ports TCP et TLS SIP pour écouter à l'aide de la commande MMP

stream sip hear <interface> <tcp-port|none> <tls-port|none>

stream> stream sip hear a 7000 7001

Pour utiliser uniquement la connexion TLS SIP. Configurez la connexion TCP sip comme étant « aucun ». La commande est ci-dessous

stream> stream sip hear a none 7001

- Appliquer des certificats pour le serveur de flux

Streer> streamer sip certs tac.key tac.cer

- Sélectionner la qualité pour la diffusion en continu

Streer> streaming sip résolution 720p

- Activer le flux

Streer> streamer enable

- Si TLS est configuré, vous pouvez éventuellement effectuer une vérification TLS pour SIP sur le routeur

stream> tls sip trust ROOTCA.cer

Remarque : pour que la connexion TLS soit sécurisée, nous vous recommandons d'activer la vérification TLS.

streamer> tls sip verify enable

- Vérifier que les informations de configuration entrées ci-dessus sont correctes

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

- Activez le diffuseur à l’aide de la commande suivante : "activer le débit« . Tous les messages doivent afficher « SUCCESS » comme ci-dessous

streamer> streamer enable

SUCCESS: Key and certificate pair match

SUCCESS: Streamer enabled

Étape 3. Configuration de l'API

Cette configuration est effectuée dans le CMS hébergeant CallBridge. Ci-dessous, API sur l'interface Webadmin de CMS. Tout client REST comme Postman, Poster peut également être utilisé pour effectuer ceci.

Une fois que le nouveau flux SIP est activé, il peut être configuré et utilisé dans le pont d'appel sous /callProfiles pour sipStreamerUri.

Pour utiliser l'API sur le serveur CMS. Accéder À Webadmin > Configuration > API

- Créer un profil d'appel

- Configurer sipStreamuri=demo@streamer.com & StreamingMode= Automatique/Manuel

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.

Configurer sipStreamuri=demo@streamer.com et StreamingMode= Automatique/Manuel

- Ajoutez le callProfile créé ci-dessus au répertoire /system/profile. Il s'agit d'une configuration globale et la configuration « sipStreamerUri » sera utilisée pour le fonctionnement du flux.

Ajouter callProfile au système/profils

- Ajoutez la 'streamURL' de VBrick à l'espace(s) utilisé(s) pour la diffusion en continu. Pour référence, un espace appelé 'Stream' a été créé à l'aide de l'interface Web CMS

Espace utilisé pour la diffusion en continu

- Modifiez l'espace pour ajouter “ StreamURL ”. 'streamURL' au format suivant :  rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP ou FQDN>/live/NameoftheStream. Par exemple, je l'ai configuré comme “ rtmp://broadcast:broadcast@10.106.81.40/live/SpaceStream77 ”

Étape 4. Créer des règles sortantes

Configure, un URI personnalisé qui correspond à une règle outboundDialPlan (le domaine peut être n'importe quoi par exemple « streamer.com »). Configurez une règle outboundDialPlan pour qu'elle corresponde au domaine utilisé dans l'Uri de flux pour router.

Créer des règles sortantes

Comme l'illustre l'image ci-dessus, pour le serveur SIP, si les ports par défaut du SIP (5060,5061) ne sont pas utilisés, il est obligatoire de spécifier des ports dans la configuration du serveur et d'inclure le numéro de port suivant pour se connecter au champ "proxy SIP à utiliser" lorsque outboundDialPlanRule est configuré pour le service.

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

Chargeur

- Spécifier le NFS et le répertoire dans lequel les enregistrements seront stockés que le chargeur surveillera

stream> uploader nfs 192.168.15.38:enregistrement

- Spécifier le serveur de téléconférence que le téléchargeur demandera pour obtenir des informations d'enregistrement

stream> uploader cms host join.mextp.local

- Spécifier le port Web Admin sur le serveur de téléconférence exécutant le pont d'appel

stream> uploader port cms 445

- Spécifier l'utilisateur ayant accès à l'API sur le serveur de téléconférence exécutant le pont d'appel

stream> uploader cms utilisateur apiadmin

stream> uploader le mot de passe cms

Entrez le mot de passe :

- Ajoutez l'offre groupée de certificats de CMS au magasin d'approbation Meeting Server

Créez un ensemble de certificats (crt-bundle) contenant une copie du certificat de l'autorité de certification racine et de tous les certificats intermédiaires de la chaîne pour l'administrateur Web sur le serveur de téléconférence exécutant le pont d'appel.

stream> uploader cms trust ROOTCA.cer

- Configurez l'hôte Vbrick et le port auquel le chargeur se connectera

stream> uploer rev hôte ciscotac.rev-na.demo.vbrick.com

Streer> uploader rev port 443

Remarque : le port est défini par défaut sur 443, sauf spécifié autrement

- Ajouter un utilisateur Vbrick Rev qui dispose d'une autorisation API pour télécharger des enregistrements vidéo

streamer> uploader rev user tacuser

stream> uploader rev password

Entrez le mot de passe :

- Ajouter l'ensemble de certificats au magasin d'approbation Vbrick Rev

Créer une offre groupée de certificats (crt-bundle) contenant une copie du certificat de l'autorité de certification racine et de tous les certificats intermédiaires de la chaîne pour le service Vbrick Rev

stream> uploer rev trust vbrickbundle.cer

- Vérifier la configuration du téléchargeur et activer le téléchargeur

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

Si la configuration est correcte, utilisez la commande "uploader enable" pour activer le composant Uploader. Tous les messages doivent afficher « SUCCESS » comme indiqué ci-dessous.

streamer> uploader enable

SUCCESS: uploader enabled

Vérification

Flux

Fonctionnement en continu et connexion d'un appel en continu SIP

Chargeur

Vous pouvez voir le journal d'un événement réussi dans le suivi syslog du téléchargeur.

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

Dépannage

Flux

1. Pas de licence

Le Streamer a besoin d'une licence « enregistreur » sur le serveur ayant un composant callbridge. Si ce n'est pas le cas ou si la licence est insuffisante, les erreurs indiquées ci-dessous apparaissent dans les journaux d'événements.

Veillez à ajouter la licence requise. L'état de la licence peut être vérifié CLI à l'aide de la commande « license »

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

· Si le port TLS est configuré et qu'aucun certificat n'est appliqué. Configurer les certificats pour que le diffuseur utilise TLS

· Si le certificat n'est pas disponible. Configurer le port TCP uniquement

streamer> streamer sip listen a 7000 7001

streamer> streamer enable

FAILURE: TLS port set but no certificates configured

FAILURE: Streamer configuration not complete

Vous disposez désormais de 2 options, soit pour supprimer le port TLS, soit pour ajouter le certificat de confiance et de flux TLS SIP

Cisco recommande d'activer le port TLS.

3. Le flux RTMP n'est pas configuré correctement

Une erreur s'affiche dans les journaux

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

Vérifiez la procédure dans la configuration du flux et configurez correctement l'URL RTMP au format "rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP ou FQDN>/live/NameoftheStream »

4.Problèmes liés au routage des appels

Comme le routeur CMS est un client SIP et comme nous l’avons vu plus haut, il nécessite la mise en place d’un routage. Cela peut entraîner des scénarios dans lesquels les appels risquent d'échouer. Prenons cet exemple, où CMS Callbridge a envoyé un appel sortant, mais a échoué avec le délai d'expiration de la transaction suivant - aucune réponse provisoire n'envoyant l'erreur 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)

Vérifiez les paramètres d'appels sortants sur les serveurs CMS Callbridge pour valider l'emplacement vers lequel il est envoyé et s'il est défini correctement. Vérifiez également si le profil d'appel est configuré avec l'URI de l'analyseur de flux correct et que la même valeur est associée à Cospace.

Chargeur

1. Les détails de Vbrick ne sont pas corrects.

Vous pouvez voir une erreur dans le journal du téléchargeur

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

Assurez-vous d'avoir configuré les informations d'identification et le port corrects pour le serveur vbrick.  Assurez-vous également que Uploader doit pouvoir atteindre le port webadmin CMS callbridge.