Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Configurar

Pré-configuração

Diagrama de Rede

Configurações de núcleo e borda do CMS

Verificar

Troubleshooting

Informações Relacionadas

Introdução

Este documento descreve como configurar a Borda do Cisco Meeting Server (CMS).

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes componentes do CMS 3.X:

- Webbridge 3

- Callbrige

- C2W

- Firewall

- Ativar servidor

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- Dispositivo virtual aberto (OVA) do CMS3.X

- Navegador Chrome 122.0.6261.112

- Navegador Firefox 123.0.1 (20240304104836)

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Configurar

Pré-configuração

1. Configurar o Servidor Network Time Protocol (NTP):

É melhor configurar o mesmo servidor NTP no CMS Edge e no servidor núcleo.

2. Configurar o Servidor de Nomes de Domínio (DNS):

1. Configure o DNS interno para o servidor CMS Core (o registro interno DNS CMS Edge A aponta para o endereço IP interno CMS Edge; se impossível, dois registros CMS Edge A devem ser configurados, um apontando para o endereço IP interno CMS e outro para o endereço IP externo).

2. Configure o DNS externo para o servidor de Borda do CMS. O registro CMS externo DNS A aponta para o endereço IP externo do CMS Edge.

3. CMS Core Usa o Registro Interno CMS Edge A para Conexão.

4. Usuários Públicos Acessam a Borda do CMS via Endereço IP Público.

5. Domínio do usuário: cms.demo:

a. Um registro 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. Um registro do CMS Core:

core.cms.demo

6. Produzir Certificação de Servidores CMS Core e Edge:

a. Certificação de produtos

- cmscore-fullchain.cer (todos os serviços envolvem os certificados de cadeia completa no laboratório, você também pode envolver os certificados do servidor)

- cmsedge-fullchain.cer (todos os serviços envolvem os certificados de cadeia completa no laboratório, você também pode envolver os certificados do servidor)

b. Produza a certificação de cadeia completa de dois servidores.

- cmscore-fullchain.cer (este certificado inclui um certificado raiz)

- cmsedge-fullchain.cer (este certificado inclui um certificado raiz)

Diagrama de Rede

Configurações de núcleo e borda do CMS

1. Ative os Serviços relacionados ao Servidor Principal do CMS.

a. Configure a rede de sinal.

Ativar interface de rede:

ipv4 a add 10.124.56.224/24 10.124.56.1

b. Ative o 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. Ativar serviços relacionados ao servidor CMS Edge:

a. Configure duas interfaces de rede.

Observação: 'b' é a interface de rede pública e 'a' é a interface de rede interna.

- Ative a rede a, b

- A configuração do gateway padrão é b (é uma interface de rede pública)

- Configure o 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. Ative os componentes da curva.

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

Note:

1. x.x.x.x é o endereço IP público do mapa de NAT; se não houver nenhum mapa de NAT, não será necessário configurar essa etapa.

1. A porta pode ser definida por si mesma; consulte o guia CMS relacionado.

c. Ative os componentes 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. Crie a comunicação entre os componentes relacionados.

a. Callbridge <—> Turn (serviço de mídia pública)

b. Callbridge <—> WebBridge3 (serviço WebRTC)

Configure turn e webbridge3 no CMS Core:

a. Configure a conexão entre Callbridge e Turn e ative o serviço de mídia pública.

Faça login na GUI do webadmin e navegue até Configuration > General.

b. Configure a conexão entre o Callbridge e o Webbridge3 e ative o serviço WebRTC.

Crie webbridge via API no CMS e adicione uma conexão C2W, por exemplo, c2w://edge.cms.demo:6000 (a porta deve ser mantida a mesma com a configuração do serviço webbridge3).

restart Callbridge component and apply all configuration

callbridge restart (go to CLI)

4. Habilite a função de firewall e desabilite o ssh (public 22 port).

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

firewall a deny 22

firewall a enable

Verificar

1. Verifique se todos os serviços estão em execução no CMS Core e Edge:

Status dos serviços principais do 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

Status dos serviços 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. Verifique o status de login do webrtc e ingresse na reunião:

Troubleshooting

1. CMS Edge: Você pode ver o Participante webrtc "Thomas" participar da chamada. ID do participante: fcfe42f4-ac94-4ab2-a14a-f4165ec960a7.

Esse ID de participante pode ser encontrado no arquivo de log do CMS Core.

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

O participante Webrtc sai da chamada:

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. Núcleo do CMS: A linha roxa é o ID da Conferência, existe o mesmo ID da Conferência quando outros participantes ingressarem nesta conferência. A linha azul é o ID de usuário específico: 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)

O usuário Webrtc deixa a chamada: guest1573064743 leave Space 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

Informações Relacionadas

- Cisco-Meeting-Server-3-8-Implantação-De-Servidor-Combinado-Único

- Cisco-Meeting-Server-3-8-Single-Split-Server-Implantação

- Suporte técnico e downloads da Cisco