Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Configureren

Netwerkdiagram

Configuraties

Verifiëren

Probleemoplossing

Inleiding

In dit document worden de stappen beschreven om de integratie van Cisco Meeting Server (CMS) met Next Generation Streamer en Uploader te configureren en problemen op te lossen. De Next Generation Streamer werd geïntroduceerd vanuit CMS versie 3.0 en is Session Initiation Protocol (SIP)-gebaseerd.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- CMS Callbridge(s) versie 3.0 of hoger met een opname/streaming licentie(s). (één opnamevergunning staat één streaming vraag toe)

- Vbrick Distributed Media Engine (DME) (gebruikt voor het publiceren van de live stream van CMS Streaming Service)

- Vbrick Rev (optioneel: Alleen vereist als Live streaming buiten het interne netwerk of multicast moet worden gedeeld

- U hebt een NFS-map (Network File System) nodig en deze kan worden ingesteld op Windows Server of Linux.

- Voor Windows server volgt u de stappen om het systeem van het netwerkbestand (NFS) op Windows te implementeren

- Voor Linux voert u de stappen uit om het systeem voor netwerkbestanden te implementeren voor Linux

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- CMS 3.2 en hoger met 'recorder'- en/of 'streamer'-licentie(s). (licentie van recorder geeft ook toegang tot stream)

- VBrick Distributed Media Engine (DME) 3.15.0 Rel7

- Vbrick Rev (Uploader) wordt gebruikt met vBrick Rev server. Er is geen handmatige invoer van opnames vereist)

- Windows Server 2012 R2 met NFS

Achtergrondinformatie

CMS versie 2.1 en later geïntroduceerde ondersteuning voor live streaming met de CMS-streamer met behulp van standaard Real-Time Messaging Protocol (RTMP). In CMS 3.0 is de Next Generation Streamer geïntroduceerd, een op SIP gebaseerde component. Eerdere versie dan 3.0 gebruikt Extensible Messaging and Presence Protocol (XMPP) . CMS versie 3.1 en hoger ondersteunen RTMPS-protocol en kunnen dus worden versleuteld tussen de CMS-stroomverdeler en de externe server. Hiermee kan de CMS-streamer integreren met elk streamingplatform dat RTMP(S) ondersteunt (YouTube, Facebook, Wowza, enzovoort). Momenteel is de CMS Streamer getest met Vbrick DME als een externe streaming server en is het aanbevolen platform voor integratie.

Dankzij de integratie van Live Streaming (Webcast) met VBrick DME kunnen gebruikers vanuit verschillende apparaten elke live gestreamde CMS-conferentie overal in het netwerk bekijken. Bovendien, wanneer VBrick Rev via VBrick DME wordt gebruikt, breidt deze mogelijkheid om van buiten het interne netwerk te bekijken voor elke erkende gebruiker van VBrick Rev.Rel. Tevens vereenvoudigt de component CMS Uploader de werkstroom voor het uploaden van de opnames van de Server van de Vergadering aan de videocontentmanager, Vbrick, van een gevormde NFS verbonden met een Server van de Vergadering. Er is geen handmatige invoer van opnames vereist. Als de Uploader-component is ingesteld en ingeschakeld, worden de opnames van de NFS naar Vbrick geduwd.

Streamer

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die hier gebruikt werden begonnen met geklaarde (standaard) configuraties. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.

Uploader

De component Uploader kan op dezelfde server als de component Recorder of op een afzonderlijke server worden geïnstalleerd. Indien geïnstalleerd op dezelfde server als de recorder, voeg dan een aantal vCPU’s toe voor gebruik. Indien uitgevoerd op een andere server, gebruik dan dezelfde serverspecificatie als voor de Recorder: specifieke VM met een minimum van 4 fysieke kernen en 4 GB geheugen.

De vergaderserver die met Uploader wordt uitgevoerd, moet beschikken over lees- en schrijftoegang voor de Network File Sharing (NFS). Uploader moet op een andere vergaderserver en niet op Call Bridge lopen om de conferenties te organiseren.

Configureren

Netwerkdiagram

Er worden meerdere scenario's ondersteund om Streamer en Uploader in te zetten met CMS, zoals: één enkele brug met meerdere streaming servers, een callbridge cluster met één enkele streaming server en callbridge cluster met meerdere streaming servers. Dit document is gebaseerd op een basistoepassing met een cluster van callbridge dat verbinding maakt met één stroomverdeler, Uploader server aangezien alle configuratiestappen met dit scenario ook op andere scenario's van toepassing zijn.

Zoals in de bovenstaande afbeelding wordt getoond

CMS CallBridge-cluster

CMS-streamer/recorder

CMS-uploader

VBrick DME voor streaming

VBrick Rev voor streaming

Configuraties

Streamer

Er wordt aangenomen dat de callbridge al is ingesteld en oproepen accepteert.

Stap 1. Certificaten

De nieuwe stroomlijncomponenten hoeven niet te luisteren naar https-verbindingen, maar luisteren naar SIP-verbindingen, de stroomlijnserver moet beschikken over een geldig certificaat voor TLS-communicatie.

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

Ontvang het certificaat dat is ondertekend door de lokale certificeringsinstantie (CA). Upload het genereerde certificaat met Secure File Transfer Protocol (SFTP) naar de Streamer-server. Gecontroleerd om te bevestigen dat de certificaten met succes zijn geüpload.

In dit document worden jokercertificaten gebruikt voor het stroomlijnen. Gebruik de certificaathandleiding ter referentie.

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

Stap 2: MMP/SSH-configuratie

- Configureer de luisterinterface van de stroomschakelaar en de SIP TCP- en TLS-poorten om te luisteren bij het gebruik van de MMP-opdracht

stroomlijning <interface><interface-poort|geen> <poort</TS-poort|geen>

stroomregelaar> slokzool luisteren naar een 7000 7001

U kunt alleen de TLS-verbinding gebruiken. De TCP-SIP-verbinding configureren als "geen" de opdracht is hieronder weergegeven

stroomregelaar> ijskraan naar één nummer 7001

- Certificaten toepassen voor de stroomlijnserver

stroomlijning> strip optie tac.key tac.cer

- Selecteer de kwaliteit voor streaming

stroomregelaar> resolutie 720p

- stroomregelaar inschakelen

stroomlijning> stroomlijning

- Optioneel: als TLS is ingesteld, kunt u TLS-verificatie voor SIP op de stroomregelaar uitvoeren

stroomlijning> TTS sip trust ROOTCA.cer

Opmerking: om de TLS-verbinding veilig te maken, raden we aan om TLS-verificatie mogelijk te maken.

stroomlijnen> TCP-bestand controleren om te schakelen

- Controleer of de configuratie-informatie hierboven juist is

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

- Schakel de stroomregelaar in met de opdracht: "stroomlijning mogelijk". Al het bericht moet "SUCCESS" als volgt laten zien

streamer> streamer enable

SUCCESS: Key and certificate pair match

SUCCESS: Streamer enabled

Stap 3. API-configuratie

Deze configuratie wordt uitgevoerd in de CMS-host CallBridge. Hieronder vind je API op Webadmin Interface van CMS. Elke REST-client zoals Postman kan ook gebruikt worden om dit uit te voeren.

Zodra de nieuwe SIP-streamer is ingeschakeld, kan deze worden geconfigureerd en gebruikt in de Call Bridge onder /CallProfiles voor sipStreamerUri.

Om API te gebruiken op CMS server. Ga naar WebAdmin > Configuration > API

- Call Profile maken

- sipStreamuri =demo@streamer.com configureren en streamingMode= automatisch/handmatig instellen

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 configureren en streamingMode= automatisch/handmatig instellen

- Voeg het gemaakte radiogolf toe aan het /systeem/profielen. Dit is een wereldwijde configuratie en de geconfigureerde "sipStreamerUri" wordt gebruikt voor de stroomlijnbediening.

Voeg CallProfile toe aan systeem/profielen

- Voeg de VBrick 'streamURL' toe aan de ruimte(s) die voor streaming gebruikt wordt. Ter referentie is een ruimte gemaakt die 'stream' wordt genoemd met behulp van de CMS web interface

Gebruikte ruimte voor streaming

- Wijzig de ruimte om "StreamURL" toe te voegen. De 'streamURL' in de volgende indeling:  <VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP of FQDN>/live/naam van de stream. Ik heb het bijvoorbeeld ingesteld als "rtmp://broadcast:broadcast@10.106.81.40/live/SpaceStream77"

Stap 4. "Uitgaande regels" maken

Configureer, een aangepaste URI dat naar een uitgaande DialPlan-regel wijst (het domein kan om het even wat zijn, bijvoorbeeld "stroomlijning.com"). Configureer een uitgaandeDialPlan-regel die overeenkomt met het domein dat in stroomlijnUri wordt gebruikt om de route uit te voeren.

Uitgaande regels maken

Zoals in de bovenstaande afbeelding wordt getoond, is het voor SIP-streamer verplicht om poorten voor SIP (5060,5061) te specificeren in de configuratie van de stroomregelaar en het volgende poortnummer op te nemen om verbinding te maken met het veld "sip proxy to use" wanneer uitgaande DialPlanRule voor de service is geconfigureerd.

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

- Specificeer de NFS en directory waarin de opnames worden opgeslagen die door de Uploader worden weergegeven

stroomlijning> uploader nfs 192.168.15.38:Opnemen

- Specificeer de vergaderserver waarop Uploader informatie zal vragen voor het opnemen van de informatie

stroomlijning> uploader cms host meedoen.mextp.local

- Specificeer de poort op Webex in de vergaderserver die de Call Bridge voert

stroomregelaar> uploader cms-poort 445

- Specificeer de gebruiker met API toegang op de Meeting Server die de Call Bridge voert

stroomlijning> cms-gebruiker apiadmin

gestroomlijnd> cms-wachtwoord uploaden

Voer het wachtwoord in:

- Voeg de certificaatbundel van CMS aan de trustwinkel van de vergaderserver toe

Maak een certificatiebundel (crt-bundle) met een kopie van het certificaat van de Root CA en alle tussentijdse certificaten in de keten voor de Web Admin op de server van de Vergadering die de Call Bridge runt.

gestroomlijnd> uploader cms trust ROOTCA.cer

- De Vbrick-host en de poort waarnaar Uploader wordt aangesloten configureren

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

stroomlijning> uploader rev poort 443

Opmerking: de poort is standaard ingesteld op 443, tenzij anders aangegeven

- Voeg een Vbrick Rev-gebruiker toe die API-toestemming heeft om video-opnames te uploaden

stroomlijning> gebruiker rev

stroomlijning> Wachtwoord voor uploader uploaden

Voer het wachtwoord in:

- Voeg de certificaatbundel toe aan de trustwinkel van Vbrick Rev

Maak een certificaatbundel (crt-bundle) met een kopie van het certificaat van de Root CA en alle tussentijdse certificaten in de keten voor de Vbrick Rev-Serv

gestroomlijnd> uploader rev trust vbrickbundle.cer

- Configuratie uploader controleren en uploader inschakelen

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

Als de configuratie juist is, gebruikt u de opdracht "uploader activeren" om de component Uploader in te schakelen. Alle berichten moeten "SUCCESS" laten zien zoals hieronder wordt weergegeven.

streamer> uploader enable

SUCCESS: uploader enabled

Verifiëren

Streamer

Streamingwerk en een streaming-gesprek verbonden

Uploader

U kunt loggen voor een geslaagd evenement in automatische follow-up van uploader zien.

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

Probleemoplossing

Streamer

1. Geen licentie

Streamer vereiste "recorder" licentie op de server met callbridge component. Als dat niet het geval is of er onvoldoende licentie is, worden er fouten weergegeven zoals hieronder in Event Logs weergegeven.

Zorg ervoor dat u de vereiste licentie toevoegt. Status van licentie kan CLI worden gecontroleerd met behulp van de opdracht "licentie"

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

・ Als TLS-poort is ingesteld en er geen certificaten worden toegepast. ceremonies instellen voor stroomlijning om TLS te gebruiken

・ Als er geen certificaat beschikbaar is. Alleen de TCP-poort configureren

streamer> streamer sip listen a 7000 7001

streamer> streamer enable

FAILURE: TLS port set but no certificates configured

FAILURE: Streamer configuration not complete

U hebt nu twee opties: om TLS-poort te verwijderen of om SIP TLS Trust and Streamer-certificaat toe te voegen

Cisco raadt aan om TLS Port te hebben ingeschakeld.

3. RTMP-serie is niet goed ingesteld

U ziet een fout in de logbestanden

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

Controleer de procedure in de configuratie van het stroomgebied en stel RTMP-URL correct in het formaat "rtmp://<VBrickBroadcastUser>:<VBrickBroadcastPassword>@<VBrick IP of FQDN>/live/naam van de stream"

4.Bel-routing

Omdat de CMS-streamer een op SIP gebaseerde client is en zoals eerder besproken, is de routing vereist om op zijn plaats te zijn. Dit zou scenario's kunnen veroorzaken waar de vraag zou kunnen mislukken. Neem dit voorbeeld, waar de CMS Callbridge een uitgaande oproep verstuurde, maar het faalde met de volgende 'transactietimeout': geen voorlopige antwoorden verzenden INVITE's'-fout

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)

Bekijk de instellingen voor uitgaande oproepen op de CMS Callbridge servers om de locatie te valideren waar deze naar wordt verzonden en indien deze correct wordt ingesteld. Controleer ook of het callprofiel is ingesteld met de juiste stroomlijn URI en dat hetzelfde wordt gekoppeld aan Cospace.

Uploader

1. Materialen van steen kloppen niet.

U kunt een fout in het logbestand van Uploader zien

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

Zorg ervoor dat u de juiste aanmeldingsgegevens hebt ingesteld en dat u de juiste poort op de Vbrick server hebt geopend.  Zorg er ook voor dat Uploader de webadmin-poort van CMS kan bereiken.