Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Configurazione

Preconfigurazione

Esempio di rete

Configurazioni core e edge CMS

Verifica

Risoluzione dei problemi

Informazioni correlate

Introduzione

Questo documento descrive come configurare Cisco Meeting Server (CMS) Edge.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti componenti di CMS 3.X:

- Webbridge 3

- Callbridge

- C2W

- Firewall

- Attivare il server

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- CMS3.X Open Virtual Appliance (OVA)

- Browser Chrome 122.0.6261.112

- Browser Firefox 123.0.1 (20240304104836)

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Configurazione

Preconfigurazione

1. Configurare il server NTP (Network Time Protocol):

È preferibile configurare lo stesso server NTP sul server CMS Edge e sul server core.

2. Configurare il DNS (Domain Name Server):

1. Configurare il DNS interno per il server di base CMS (il record A interno di CMS Edge punta all'indirizzo IP interno di CMS Edge; se impossibile, è necessario configurare due record A di CMS Edge, uno che punta all'indirizzo IP interno di CMS Edge e l'altro all'indirizzo IP esterno).

2. Configurare il DNS esterno per il server CMS Edge. Il record CMS A DNS esterno punta all'indirizzo IP esterno di CMS Edge.

3. CMS Core utilizza il record interno CMS Edge A per la connessione.

4. Gli utenti pubblici accedono al perimetro del CMS tramite un indirizzo IP pubblico.

5. Dominio utente: cms.demo:

a. Record di 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 record di CMS Core:

core.cms.demo

6. Produrre la certificazione CMS Core and Edge Server:

a. Certificazione dei prodotti

- cmscore-fullchain.cer (tutti i servizi implicano i certificati fullchain nel laboratorio, è possibile coinvolgere anche i certificati server)

- cmsedge-fullchain.cer (tutti i servizi implicano i certificati fullchain nel laboratorio, è possibile coinvolgere anche i certificati server)

b. Produrre la certificazione fullchain di due server.

- cmscore-fullchain.cer (questo certificato include un certificato radice)

- cmsedge-fullchain.cer (questo certificato include un certificato radice)

Esempio di rete

Configurazioni core e edge CMS

1. Attivare i servizi correlati a CMS Core Server.

a. Configurare la rete di segnalazione.

Attiva interfaccia di rete:

ipv4 a add 10.124.56.224/24 10.124.56.1

b. Attivare il componente 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. Attivare i servizi correlati al server CMS Edge:

a. Configurare due interfacce di rete.

Nota: 'b' è l'interfaccia della rete pubblica e a è l'interfaccia della rete interna.

- Attiva rete a, b

- Configurare il gateway predefinito b (è un'interfaccia di rete pubblica)

- Configurazione gateway interno 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. Attivare i componenti di tornitura.

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

Nota:

1. x.x.x.x è l'indirizzo IP pubblico della mappa NAT; se non è presente alcuna mappa NAT, non è necessario configurare questo passaggio.

1. La porta può essere definita dall'utente stesso. Fare riferimento alla guida CMS correlata.

c. Attivare i componenti di 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. Creare la comunicazione tra i componenti correlati.

a. Callbridge <—> Turn (servizio di media pubblici)

b. Callbridge <—> WebBridge3 (servizio WebRTC)

Configurare turn e webbridge3 su CMS Core:

a. Configurare la connessione tra Callbridge e Turn e attivare il servizio multimediale pubblico.

Accedere alla GUI di webadmin e passare a Configuration > General.

b. Configurare la connessione tra Callbridge e Webbridge3 e attivare il servizio WebRTC.

Creare webbridge tramite API su CMS, quindi aggiungere una connessione C2W, ad esempio, c2w://edge.cms.demo:6000 (la porta deve essere mantenuta invariata con la configurazione del servizio webbridge3).

restart Callbridge component and apply all configuration

callbridge restart (go to CLI)

4. Abilitare la funzione firewall e disabilitare la porta pubblica (ssh) a 22 porte.

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

firewall a deny 22

firewall a enable

Verifica

1. Verificare che tutti i servizi siano in esecuzione su CMS Core e Edge:

Stato servizi di 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

Stato servizi Edge CMS:

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. Verificare lo stato di accesso a webrtc e partecipare alla riunione:

Risoluzione dei problemi

1. CMS Edge: Vedete il partecipante a webrtc "Thomas" unirsi alla chiamata. ID partecipante: fcfe42f4-ac94-4ab2-a14a-f4165ec960a7.

Questo ID partecipante è disponibile nel file di log dei componenti di base del 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

Il partecipante a Webrtc abbandona la chiamata:

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 linea viola è ID conferenza, c'è lo stesso ID conferenza quando altri partecipanti partecipano a questa conferenza. La linea blu è l'ID utente specifico: 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'utente Webrtc abbandona la chiamata: guest1573064743 lascia spazio ID: 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

Informazioni correlate

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

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

- Supporto tecnico Cisco e download