Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Configurer

Pré-configuration

Diagramme du réseau

Configurations de coeur et de périphérie CMS

Vérifier

Dépannage

Informations connexes

Introduction

Ce document décrit comment configurer la périphérie de Cisco Meeting Server (CMS).

Conditions préalables

Exigences

Cisco vous recommande de connaître les composants CMS 3.X suivants :

- Webbridge 3

- Passerelle

- C2W

- Pare-Feu

- Transformer le serveur

Composants utilisés

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

- CMS3.X Open Virtual Appliance (OVA)

- Navigateur Chrome 122.0.6261.112

- Navigateur Firefox 123.0.1 (20240304104836)

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Configurer

Pré-configuration

1. Configurez le serveur NTP (Network Time Protocol) :

Il est préférable de configurer le même serveur NTP sur le serveur principal et le serveur Edge CMS.

2. Configurez le serveur de noms de domaine (DNS) :

1. Configurez le DNS interne pour le serveur principal CMS (l'enregistrement DNS interne CMS Edge A pointe vers l'adresse IP interne CMS Edge ; si cela est impossible, deux enregistrements CMS Edge A doivent être configurés, l'un pointant vers l'adresse IP interne CMS, l'autre vers l'adresse IP externe).

2. Configurez le DNS externe pour le serveur Edge CMS. L'enregistrement CMS DNS A externe pointe vers l'adresse IP externe de CMS Edge.

3. CMS Core utilise l'enregistrement interne CMS Edge A pour la connexion.

4. Les utilisateurs publics accèdent à CMS Edge via une adresse IP publique.

5. Domaine utilisateur : cms.demo:

a. Un enregistrement de CMS Edge :

- edge.cms.demo (internal user login with this A record)

- edge.cms.demo (public user also use same A record from internet, you could specify the different external A record)

b. Un enregistrement de CMS Core :

core.cms.demo

6. Produire la certification des serveurs principaux et périphériques CMS :

a. Produire une certification

- cmscore-fullchain.cer (tous les services impliquent les certificats de chaîne complète dans les travaux pratiques, vous pouvez également impliquer les certificats de serveur)

- cmsedge-fullchain.cer (tous les services impliquent les certificats de chaîne complète dans les travaux pratiques, vous pouvez également impliquer les certificats de serveur)

b. Produire la certification complète de deux serveurs.

- cmscore-fullchain.cer (ce certificat inclut un certificat racine)

- cmsedge-fullchain.cer (ce certificat inclut un certificat racine)

Diagramme du réseau

Configurations de coeur et de périphérie CMS

1. Activez les services CMS Core Server.

a. Configurez le réseau de signalisation.

Activer l'interface réseau :

ipv4 a add 10.124.56.224/24 10.124.56.1

b. Activez le composant Callbridge.

callbridge listen a

callbridge certs core.key cmscore-fullchain.cer

callbridge trust c2w cmsedge-fullchain.cer (if not, which result in WebRTC failed)

callbridge enable

2. Activez les services liés au serveur CMS Edge :

a. Configurez deux interfaces réseau.

Remarque : « b » est l'interface réseau publique et a est l'interface réseau interne.

- Activer le réseau a, b

- Configurez la passerelle par défaut b (il s'agit d'une interface réseau publique)

- Configurer la passerelle interne a

ipv4 a add 10.124.144.80/24 10.124.144.1

ipv4 b add 10.124.42.112/24 10.124.42.1

ipv4 b default

b. Activez les composants de tournage.

turn certs edge.key cmsedge-fullchain.cer

turn listen a b

turn credentials <username> <password> <cms.demo> (cms.demo is actual domain deployment)

turn public-ip x.x.x.x

turn tls 447

turn enable

Remarque :

1. x.x.x.x est une carte NAT Adresse IP publique ; s'il n'y a pas de carte NAT, il n'est pas nécessaire de configurer cette étape.

1. Le port peut être défini par lui-même, reportez-vous au guide CMS correspondant.

c. Activez les composants de webbridge3.

webbridge3 https certs cmsedge.key cmsedge-fullchain.crt (cmsedge-fullchain.crt ,please refer to CMS fullchain document)

webbridge3 https listen b:445 (b is public network interface , this step just provide public users WebRTC service)

webbridge3 https listen a:445 b:445 (this step could provide both internal and external WebRTC service, but need to edge.cms.demo has two A records on internal/external DNS servers.)

webbridge3 c2w certs edge.key cmsedge-fullchain.crt

webbridge3 c2w listen a:6000 (a is internal network interface, 6000 is self-defined port which need to keep the same with the below Webbridge URL)

webbridge3 c2w trust cmscore-fullchain.cer (if no this step, result in WebRTC failed)

webbridge3 enable

3. Créez la communication entre les composants associés.

a. Callbridge <—> Turn (service de média public)

b. Callbridge <—> WebBridge3 (service WebRTC)

Configurez turn et webbridge3 sur CMS Core :

a. Configurez la connexion entre Callbridge et Turn et activez le service de média public.

Connectez-vous à l'interface utilisateur graphique webadmin, accédez à Configuration > General.

b. Configurez la connexion entre Callbridge et Webbridge3 et activez le service WebRTC.

Créez un pont Web via l'API sur CMS, puis ajoutez une connexion C2W, par exemple, c2w://edge.cms.demo:6000 (le port doit être conservé avec la configuration du service webbridge3).

restart Callbridge component and apply all configuration

callbridge restart (go to CLI)

4. Activez la fonction de pare-feu et désactivez le port public 22 (ssh).

firewall a default allow ( a is the external/public network interface)

firewall a deny 22

firewall a enable

Vérifier

1. Vérifiez que tous les services sont exécutés sur CMS Core et Edge :

État des services de base CMS :

CMS> webadmin Enabled : true TLS listening interface : a TLS listening port : 443 Key file : core.key Certificate file : cmscore-fullchain.cer HTTP redirect : Disabled STATUS : webadmin running CMS> callbridge Listening interfaces : a Preferred interface : none Key file : core.key Certificate file : cmscore-fullchain.cer Address : none C2W trusted certs : cmsedge-fullchain.cer Callbridge cluster trusted certs : none Callbridge trust branding certs : none UCM trusted certs : none UCM verification mode : disabled IMPS trusted certs : none IMPS verification mode : disabled WC3 JWT Expiry in hours : 24

État des services CMS Edge :

CMS> webbridge3 Enabled : true HTTPS listening ports and interfaces : a:445 b:445 HTTPS Key file : edge.key HTTPS Full chain certificate file : cmsedge-fullchain.cer HTTPS Frame-Ancestors : none HTTP redirect : Disabled C2W listening ports and interfaces : a:6000 C2W Key file : edge.key C2W Full chain certificate file : cmsedge-fullchain.cer C2W Trust bundle : cmscore-fullchain.cer Meetingapps address : none Meetingapps port : none Audio priority flag : Enabled Beta options : none CMS> turn Enabled : true Username : admin Password : Cisco.123 Short term credentials : disabled Shared secret : none Realm : cms.demo Public IP : none High Capacity Mode : enabled Relay address : 10.124.144.80 TLS port : 447 TLS cert : cmsedge-fullchain.cer TLS key : edge.key TLS bundle : none Listen interface a Listen interface b

2. Vérifiez l'état de connexion de webrtc et rejoignez la téléconférence :

Dépannage

1. CMS Edge : vous pouvez voir le participant webrtc « Thomas » se joindre à l'appel. ID du participant : fcfe42f4-ac94-4ab2-a14a-f4165ec960a7.

Cet ID de participant se trouve dans le fichier journal de base de CMS.

Feb 23 09:02:21.588 local0.info CMS client_backend: INFO : WebApp Audit : Session: a77d94b1-ba12-4e4e-8f3e-86b3e9c1de8f : Participant Thomas performed action of join call

Feb 23 09:02:21.599 local7.info CMS 3b8086e0e5a0 wb3_frontend: [Join call:fcfe42f4-ac94-4ab2-a14a-f4165ec960a7] 10.140.248.52 - - [23/Feb/2024:09:02:21 +0000] status 200 "POST /api/join HTTP/1.1" bytes_sent 1003 http_referer "https://edge.cms.demo:445/" http_user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0" toupstream 192.0.2.2:9000: upstream_response_time 0.008 request_time 0.007 msec 1708678941.598 upstream_response_length 1027 200

Feb 23 09:02:21.633 user.info CMS client_backend: INFO : WebSocket : Got authenticated JWT for guest1573064743 callbridge 320d02c3-7af5-4e4f-b51c-9a7a4dc0b8b9 call 04704220-95a8-4d36-a6ec-3d4d789d9250 participant fcfe42f4-ac94-4ab2-a14a-f4165ec960a7 tracing 0

Le participant Webrtc quitte l'appel :

Feb 23 09:02:37.982 local0.info CMS client_backend: INFO : WebApp Audit : Session: a77d94b1-ba12-4e4e-8f3e-86b3e9c1de8f : Participant Thomas(fcfe42f4-ac94-4ab2-a14a-f4165ec960a7) performed action of leave call

2. CMS Core : la ligne violette est l'ID de conférence, il y a le même ID de conférence lorsque d'autres participants rejoignent cette conférence. La ligne bleue correspond à l'ID utilisateur spécifique : guest1573064743.

Feb 23 09:02:21.594 user.info CMS host:server: INFO : guest login request 1450660605: resolution in progress

Feb 23 09:02:21.594 user.info CMS host:server: INFO : guest login request 1450660605: call ID lookup scheduled

Feb 23 09:02:21.594 user.info CMS host:server: INFO : guest login request 1450660605: resolution in progress

Feb 23 09:02:21.597 user.info CMS host:server: INFO : guest login request 1450660605: credential storage scheduled (queue length: 1)

Feb 23 09:02:21.597 user.info CMS host:server: INFO : created guest account with user ID "guest1573064743"

Feb 23 09:02:21.597 user.info CMS host:server: INFO : guest login request 1450660605: credential storage executed

Feb 23 09:02:21.597 user.info CMS host:server: INFO : guest login request 1450660605: credential storage in progress

Feb 23 09:02:21.598 user.info CMS host:server: INFO : guest login request 1450660605: successfully stored credentials

Feb 23 09:02:21.598 user.info CMS host:server: INFO : instantiating user "guest1573064743"

Feb 23 09:02:21.598 user.info CMS host:server: INFO : conference db0fafc3-ad47-43bd-bcbd-47886416451b: locked due to lack of lock consensus

Feb 23 09:02:21.598 user.info CMS host:server: INFO : conference db0fafc3-ad47-43bd-bcbd-47886416451b: lock state has changed to locked

Feb 23 09:02:21.598 user.info CMS host:server: INFO : API "9999" Space GUID: 58ef98d1-5181-4e63-a386-4b60597be7e4 <--> Call Correlator GUID: 5d031ae1-1c94-44ec-afd4-fa0e76230e3f<--> Internal GUID: db0fafc3-ad47-43bd-bcbd-47886416451b

Feb 23 09:02:21.598 user.info CMS host:server: INFO : unable to apply logo (space '9999') -- no license

Feb 23 09:02:21.599 user.info CMS host:server: INFO : conference db0fafc3-ad47-43bd-bcbd-47886416451b: lock state has changed to unlocked

Feb 23 09:02:21.599 user.info CMS host:server: INFO : API call leg fcfe42f4-ac94-4ab2-a14a-f4165ec960a7 in call db0fafc3-ad47-43bd-bcbd-47886416451b (API call 04704220-95a8-4d36-a6ec-3d4d789d9250)

Feb 23 09:02:21.599 user.info CMS host:server: INFO : conference db0fafc3-ad47-43bd-bcbd-47886416451b has control/media GUID: bf286660-6e5d-403f-8926-514d385dad3c

Feb 23 09:02:21.599 user.info CMS host:server: INFO : conference db0fafc3-ad47-43bd-bcbd-47886416451b named "9999"

Feb 23 09:02:21.601 user.info CMS host:server: INFO : new session created for user "guest1573064743"

Feb 23 09:02:21.603 local0.info CMS postgres[54639]: [6-1] 2024-02-23 09:02:21.603 UTC [54639] LOG: could not send data to client: Broken pipe

Feb 23 09:02:21.603 local0.err CMS postgres[54639]: [7-1] 2024-02-23 09:02:21.603 UTC [54639] FATAL: connection to client lost

Feb 23 09:02:21.768 user.info CMS host:server: INFO : call 11: allocated for guest1573064743 / "Thomas" conference participation (Firefox)

Feb 23 09:02:21.768 user.info CMS host:server: INFO : call 11: configured - API call leg fcfe42f4-ac94-4ab2-a14a-f4165ec960a7

Feb 23 09:02:21.768 user.info CMS host:server: INFO : call 11: ActiveControlState change, unknown -> unknown

Feb 23 09:02:21.769 user.info CMS host:server: INFO : call 11: setting up combined RTP session for DTLS (combined media and control)

Feb 23 09:02:21.770 user.info CMS host:server: INFO : call 11: ActiveControlState change, unknown -> inactive

Feb 23 09:02:21.770 user.info CMS host:server: INFO : call 11: ActiveControlState finality change (inactive, final=1)

Feb 23 09:02:21.770 local0.info CMS host:server: INFO : participant "guest1573064743" joined space 58ef98d1-5181-4e63-a386-4b60597be7e4 (9999)

Feb 23 09:02:21.770 user.info CMS host:server: INFO : participant "guest1573064743" (fcfe42f4-ac94-4ab2-a14a-f4165ec960a7) joined conference db0fafc3-ad47-43bd-bcbd-47886416451bvia WB3

Feb 23 09:02:21.772 user.info CMS host:server: INFO : call 11: starting DTLS combined media negotiation (as initiator)

L'utilisateur Webrtc quitte l'appel : guest1573064743 laissez l'ID d'espace : 58ef98d1-5181-4e63-a386-4b60597be7e4 (9999).

Feb 23 09:02:37.943 user.info CMS host:server: INFO : user "guest1573064743": deactivating due to session resource teardown

Feb 23 09:02:37.943 user.info CMS host:server: INFO : call 11: tearing down ("guest1573064743" conference media)

Feb 23 09:02:37.943 user.info CMS host:server: INFO : call 11: destroying API call leg fcfe42f4-ac94-4ab2-a14a-f4165ec960a7

Feb 23 09:02:37.943 local0.info CMS host:server: INFO : participant "guest1573064743" left space 58ef98d1-5181-4e63-a386-4b60597be7e4 (9999)

Feb 23 09:02:37.943 user.info CMS host:server: INFO : removing guest account 'guest1573064743' (name 'Thomas') on call drop

Feb 23 09:02:37.943 user.info CMS host:server: INFO : destroying guest account with user ID "guest1573064743"

Feb 23 09:02:37.944 user.info CMS host:server: INFO : conference bf286660-6e5d-403f-8926-514d385dad3c destroyed

Informations connexes

- Cisco-Meeting-Server-3-8-Single-Combined-Server-Deployment

- Cisco-Meeting-Server-3-8-Single-Split-Server-Deployment

- Assistance technique de Cisco et téléchargements