O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve as etapas para configurar e solucionar problemas de integração do Cisco Meeting Server (CMS) com o Next Generation Streamer e Uploader. O Next Generation Streamer foi introduzido a partir da versão 3.0 do CMS e é baseado no Session Initiation Protocol (SIP).
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento são baseadas nestas versões de software e hardware:
O CMS versão 2.1 e posterior introduziu suporte para streaming ao vivo com o CMS streaming usando o protocolo de mensagens em tempo real (RTMP - Real-Time Messaging Protocol). No CMS 3.0, o Next Generation Streamer foi introduzido, que é um componente baseado em SIP. A versão anterior à 3.0 usava o Extensible Messaging and Presence Protocol (XMPP) . A versão 3.1 e superior do CMS suporta o protocolo RTMPS e, assim, a comunicação entre o componente de stream do CMS e o servidor externo pode ser criptografada. Isso permite que o streaming CMS se integre com qualquer plataforma de streaming que suporta RTMP(S) (Youtube, Facebook, Wowza, etc). Atualmente, o CMS Streamer foi testado com Vbrick DME como um servidor de streaming externo e é a plataforma recomendada para integração.
A integração de transmissão ao vivo (Webcast) com o VBrick DME permite que os usuários assistam a qualquer conferência de transmissão ao vivo do CMS em qualquer lugar dentro da rede a partir de diferentes dispositivos. Além disso, quando o VBrick Rev é usado junto com o VBrick DME, isso amplia essa capacidade de exibição de fora da rede interna para cada usuário autorizado do VBrick Rev. Além disso, o componente Carregador do CMS simplifica o fluxo de trabalho para carregar gravações do Servidor de Reunião para o gerenciador de conteúdo de vídeo, Vbrick, de um NFS configurado conectado a um Servidor de Reunião. Nenhuma importação manual de gravações é necessária. Quando o componente Carregador estiver configurado e habilitado, as gravações serão enviadas do NFS para o Vbrick.
Streamer
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos usados aqui começaram com configurações limpas (padrão). Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.
Carregador
O componente Carregador pode ser instalado no mesmo servidor que o componente Gravador ou em um servidor separado. Se estiver instalado no mesmo servidor que o Gravador, adicione algumas vCPUs para ele usar. Se for executado em um servidor diferente, use a mesma especificação de servidor usada para o Gravador: VM dedicada com um mínimo de 4 núcleos físicos e 4 GB de RAM.
O Servidor de Reunião que executa o Carregador exigirá permissões de Leitura e Gravação para o NFS (Network File Sharing). O Carregador deve ser executado em um Servidor de Reunião diferente e não na Ponte de Chamada que hospeda as conferências.
Há vários cenários suportados para implantar o Streamer e o Uploader com o CMS, como: um único callbridge com vários servidores de streaming, um cluster callbridge com um único servidor de streaming e um cluster callbridge com vários servidores de streaming. Este documento é baseado em uma implantação básica com um cluster de callbridge que se conecta a um único dinamizador, servidor Uploader, já que todas as etapas de configuração com este cenário se aplicam a outros cenários também.
Como mostrado na imagem acima
Cluster CallBridge do CMS
CMS Streamer/Gravador
Carregador do CMS
VBrick DME para transmissão
VBrick Rev para transmissão
Streamer
Supõe-se que o callbridge já esteja configurado e aceitando chamadas.
Etapa 1. Certificados
Os novos componentes do streamer não exigem a escuta de conexões https; no entanto, ele ouve conexões SIP , o servidor do streamer deve ter um certificado válido para comunicação 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
Obter o certificado assinado da Autoridade de Certificação (CA) local. Carregue o certificado gerado usando o protocolo SFTP para o servidor do Streamer. Verificado se os certificados foram carregados com êxito.
Neste documento, os certificados curinga são usados para o streamer. Use o guia do certificado para referência.
streamer> pki list
User supplied certificates and keys:
tac.key
tac.cer
ROOTCA.cer
example.key
example.csr
tac.csr
Etapa 2. Configuração de MMP/SSH
streamer sip listen <interface> <tcp-port|none> <tls-port|none>
streamer> streamer sip ouça um 7000 7001
Para usar somente a conexão SIP TLS. Configure a conexão TCP sip como "none" (nenhum), o comando está abaixo
streamer> streamer sip ouça um nenhum 7001
streamer> streamer resolução sip 720p
streamer> habilitar
streamer> tls sip trust ROOTCA.cer
Observação: para que a conexão TLS seja segura, recomendamos ativar a verificação TLS.
streamer> tls sip verify enable
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
streamer> streamer enable
SUCCESS: Key and certificate pair match
SUCCESS: Streamer enabled
Etapa 3. Configuração da API
Essa configuração é executada no CMS que hospeda o CallBridge. Abaixo, a API na interface Webadmin do CMS. Qualquer cliente REST como Postman, Poster também pode ser usado para executar isso.
Quando o novo fluxo SIP estiver habilitado, ele poderá ser configurado e usado na Call Bridge em /callProfiles para sipStreamerUri.
Para usar a API no servidor CMS. Vá Para Webadmin > Configuração > API
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.
Configure sipStreamuri=demo@streamer.com & StreamingMode= Automático/Manual
Adicionar o callProfile ao sistema/perfis
Espaço usado para streaming
Etapa 4. Criar "Regras de Saída"
Configure, um URI personalizado que mapeia para uma regra outboundDialPlan (o domínio pode ser qualquer um, por exemplo, "streamer.com"). Configure uma regra outboundDialPlan para corresponder ao domínio usado em streamerUri para rotear.
Criar regras de saída
Como mostrado na imagem acima, para o fluxo SIP, se as portas padrão para SIP (5060,5061) não forem usadas, será obrigatório especificar as portas na configuração do fluxo e incluir o seguinte número de porta para conectar ao campo "proxy sip a ser usado" quando outboundDialPlanRule estiver configurada para o serviço.
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
Carregador
streamer> uploader nfs 192.168.15.38:Gravação
streamer> uploader cms host join.mextp.local
streamer> uploader cms port 445
streamer> uploader cms user apiadmin
streamer> senha cms do carregador
Digite a senha:
Observação: o padrão da porta é 443, a menos que especificado de outra forma
Crie um pacote de certificados (pacote crt) que contenha uma cópia do certificado da CA raiz e todos os certificados intermediários na cadeia para o servidor Vbrick Rev
streamer> uploader rev trust vbrickbundle.cer
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
Se a configuração estiver correta, use o comando "uploader enable" para ativar o componente Uploader. Todas as mensagens devem mostrar "ÊXITO" conforme mostrado abaixo.
streamer> uploader enable
SUCCESS: uploader enabled
Streamer
Transmissão em funcionamento e uma chamada de transmissão SIP conectada
Carregador
Você pode ver o registro de um evento bem-sucedido no syslog após o uploader.
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
Streamer
1. Sem Licença
O Streamer exigiu uma licença de "gravador" no servidor que tem o componente callbridge. Se isso não for feito ou se a licença for insuficiente, os erros mostrados abaixo serão vistos nos logs de eventos.
Certifique-se de adicionar a licença necessária. O status da licença pode ser verificado pela CLI usando o comando "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)
Porta 2.TLS
· Se a porta TLS estiver configurada e nenhum certificado for aplicado. Configurar certificados para que o otimizador use TLS
· Se o certificado não estiver disponível. Configurar somente a porta TCP
streamer> streamer sip listen a 7000 7001
streamer> streamer enable
FAILURE: TLS port set but no certificates configured
FAILURE: Streamer configuration not complete
Agora você tem duas opções: remover a porta TLS ou adicionar confiança SIP TLS e certificado do Streamer
A Cisco recomenda ter a porta TLS ativada.
3. Fluxo RTMP não configurado corretamente
Você verá erros nos logs
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
Verifique o procedimento na configuração do streaming e configure a URL RTMP corretamente no formato "rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrickIP or FQDN>/live/NameofStream"
4.Problemas relacionados ao roteamento de chamadas
Como o CMS Streamer é um cliente baseado em SIP e como discutido anteriormente, ele exige que o roteamento esteja em vigor. Isso pode causar situações em que as chamadas podem falhar. Considere este exemplo, em que o CMS Callbridge enviou uma chamada de saída, mas ela falhou com o seguinte erro 'timeout de transação - nenhuma resposta provisória enviando 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)
Revise as configurações de Chamadas de saída nos servidores CMS Callbridge para validar o local para o qual estão sendo enviadas e se estão definidas corretamente. Verifique também se o perfil de chamada está configurado com o URI do dinamizador correto e se o mesmo está associado ao Cospace.
Carregador
1. Detalhes de Vbrick incorretos.
Você pode ver um erro no log do Carregador
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
Certifique-se de ter configurado as credenciais e a porta corretas para o servidor vbrick. Certifique-se também de que o Carregador possa acessar a porta webadmin do callbridge do CMS.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
23-Aug-2021
|
Versão inicial |