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 o Uploader. O Streamer de próxima geração foi apresentado a partir do CMS versão 3.0 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 transmissão ao vivo com o carregador CMS usando o protocolo de mensagens em tempo real (RTMP - Real-Time Messaging Protocol) padrão. No CMS 3.0, o Next Generation Streamer foi introduzido, que é um componente baseado em SIP. A versão anterior à 3.0 usava Extensible Messaging and Presence Protocol (XMPP) . O CMS versão 3.1 e superior suportam o protocolo RTMPS e, portanto, a comunicação entre o componente de fluxo do CMS e o servidor externo pode ser criptografada. Isso permite que o streaming CMS se integre a qualquer plataforma de streaming que suporte RTMP(S) (Youtube, Facebook, Wowza, etc.). Atualmente, o CMS Streamer foi testado com Vbrick DME como um servidor de transmissão externa e é a plataforma recomendada para integração.
A integração do Live Streaming (Webcast) com o VBrick DME permite que os usuários assistam a qualquer conferência CMS ao vivo em qualquer lugar dentro da rede, a partir de diferentes dispositivos. Além disso, quando o VBrick Rev é usado ao longo do VBrick DME, isso estende essa capacidade de visualização de fora da rede interna para cada usuário autorizado do VBrick Rev. Além disso, o componente Uploader do CMS simplifica o fluxo de trabalho para carregar gravações do Meeting Server para o gerenciador de conteúdo de vídeo, Vbrick, de um NFS configurado conectado a um Meeting Server. Nenhuma importação manual de gravações é necessária. Quando o componente Carregador é configurado e ativado, as gravações são enviadas do NFS para Vbrick.
Streamer
The information in this document was created from the devices in a specific lab environment. Todos os dispositivos usados aqui começaram com configurações limpas (padrão). If your network is live, make sure that you understand the potential impact of any command.
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 executado em um servidor diferente, use a mesma especificação de servidor do Gravador: VM dedicada com no mínimo 4 núcleos físicos e 4 GB de RAM.
O Servidor de Reunião executando o Uploader exigirá permissões de Leitura e Gravação para o NFS (Network File Sharing, compartilhamento de arquivos de rede). O carregador deve ser executado em um servidor de reunião diferente e não em Call Bridge que hospeda as conferências.
Há vários cenários compatíveis 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 baseia-se em uma implantação básica com um cluster de callbridge conectando-se a um único servidor de carregador, já que todas as etapas de configuração com esse cenário também se aplicam a outros cenários.
Como mostrado na imagem acima
Cluster CMS CallBridge
Streamer/Recorder do CMS
Carregador CMS
VBrick DME para transmissão
VBrick Rev para transmissão
Streamer
Supõe-se que a callbridge já está configurada e aceitando chamadas.
Etapa 1. Certificados
Os novos componentes do navegador não exigem a escuta de conexões https, no entanto, ele ouve as conexões SIP , o servidor do navegador deve ter um certificado válido para a 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 (AC) local. Carregue o certificado de geração usando o protocolo SFTP para o servidor Streamer. Verificado se os certificados foram carregados com êxito.
Neste documento, os certificados curinga são usados para simplificar. Use o guia de 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
stream sip Listen <interface> <tcp-port|none> <tls-port|none>
Streader> Streader SIP Listen a 7000 7001
Para usar somente a conexão sip TLS. Configure a conexão TCP sip como "none" o comando está abaixo
Streader> Streader SIP Ouça um none 7001
stream> resolução de sip mais simples 720p
Streer> Streader Habilitar
stream> tls sip trust ROOTCA.cer
Observação: para que a conexão TLS seja segura, recomendamos habilitar a verificação TLS.
stream> 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 de API
Essa configuração é executada no CMS que hospeda o CallBridge. Abaixo, API na interface Webadmin do CMS. Qualquer cliente REST como Postman, Poster também pode ser usado para fazer isso.
Quando o novo streaming SIP estiver ativado, ele poderá ser configurado e usado na Call Bridge em /callProfiles para sipStreamerUri.
Para usar API no servidor CMS. Ir 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.
Etapa 4. Criar "Regras de Saída"
Configure, uma URI personalizada que mapeia para uma regra outboundDialPlan (o domínio pode ser qualquer coisa, por exemplo, "stream.com"). Configure uma regra outboundDialPlan para corresponder ao domínio usado em StreerUri para rotear.
Como mostrado na imagem acima, para o Stream SIP, se portas padrão para SIP (5060,5061) não forem usadas, então é obrigatório especificar portas na configuração do Stream e incluir o seguinte número de porta para conectar ao campo "proxy sip para usar" quando outboundDialPlanRule está configurado 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
stream> uploader nfs 192.168.15.38:Gravação
stream> uploader cms host join.mextp.local
stream> uploader cms port 445
carregador> carregador cms user apiadmin
stream> uploader cms password
Insira a senha:
Observação: o padrão da porta é 443, a menos que especificado de outra forma
Crie um pacote de certificados (crt-bundle) contendo uma cópia do certificado da AC raiz e todos os certificados intermediários na cadeia do servidor Vbrick Rev
stream> 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 "SUCESSO" como mostrado abaixo.
streamer> uploader enable
SUCCESS: uploader enabled
Streamer
Carregador
Você pode ver o log 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 exigia uma licença de "gravador" no servidor com componente callbridge. Se isso não estiver presente ou se a licença for insuficiente, os erros como mostrado abaixo serão vistos nos registros de eventos.
Certifique-se de adicionar a licença necessária. O status da licença pode ser verificado na 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)
2.Porta TLS
Se a porta TLS estiver configurada e nenhum certificado for aplicado. Configurar certificados para streaming para usar 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 2 opções para remover a porta TLS ou para adicionar o certificado SIP TLS Trust e Streamer
A Cisco recomenda ter a porta TLS habilitada.
3. Sream RTMP não configurado corretamente
Você verá um erro 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 navegador e configure corretamente a URL RTMP no formato "rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP ou FQDN>/live/NameoftheStream"
4.Problemas relacionados ao roteamento de chamadas
Como o CMS Streader é um cliente baseado em SIP e, conforme discutido anteriormente, ele exige que o roteamento esteja estabelecido. 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 falhou com o seguinte 'timeout de transação - nenhuma resposta provisória enviando erro de CONVITE'
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á sendo enviado e se está sendo definido corretamente. Verifique também se o perfil de chamada está configurado com URI de fluxo correto e se o mesmo está associado ao Cospace.
Carregador
1. Os detalhes de Vbrick não estão corretos.
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. Verifique também se o Uploader deve conseguir acessar a porta do webadmin do CMS callbridge.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
23-Aug-2021 |
Versão inicial |