El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe los pasos para configurar y resolver problemas de integración de Cisco Meeting Server (CMS) con Next Generation Streamer y Uploader. Next Generation Streamer se introdujo desde la versión 3.0 de CMS y se basa en el protocolo de inicio de sesión (SIP).
Cisco recomienda que tenga conocimiento sobre estos temas:
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
La versión 2.1 y posteriores de CMS introdujeron la compatibilidad con la transmisión en directo con la retransmisión de CMS mediante el protocolo de mensajería en tiempo real (RTMP) estándar. En CMS 3.0, se introdujo Next Generation Streamer, un componente basado en SIP. La versión anterior a la 3.0 utilizaba Extensible Messaging and Presence Protocol (XMPP) . La versión 3.1 de CMS y las versiones posteriores son compatibles con el protocolo RTMPS y, por lo tanto, la comunicación entre el componente de transmisión de CMS y el servidor externo se puede cifrar. Esto permite que la transmisión CMS se integre con cualquier plataforma de transmisión que admita RTMP(S) (Youtube, Facebook, Wowza, etc.). En la actualidad, CMS Streamer se ha probado con Vbrick DME como servidor de transmisión externo y es la plataforma recomendada para la integración.
La integración de la transmisión en directo (Webcast) con VBrick DME permite a los usuarios ver cualquier conferencia CMS transmitida en directo desde cualquier lugar de la red desde diferentes dispositivos. Además, cuando se utiliza VBrick Rev junto con VBrick DME, se amplía esta capacidad de visualización desde fuera de la red interna para cada usuario autorizado de VBrick Rev.Además, el componente CMS Uploader simplifica el flujo de trabajo para cargar grabaciones de Meeting Server en el gestor de contenido de vídeo, Vbrick, desde un NFS configurado conectado a Meeting Server. No es necesario importar manualmente las grabaciones. Una vez configurado y activado el componente Uploader, las grabaciones se transfieren desde el NFS a Vbrick.
Transmisor
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos utilizados aquí comenzaron con configuraciones desactivadas (predeterminadas). If your network is live, make sure that you understand the potential impact of any command.
Cargador
El componente Cargador se puede instalar en el mismo servidor que el componente Grabadora o en un servidor independiente. Si está instalado en el mismo servidor que la grabadora, añada un par de vCPU para que la utilice. Si se ejecuta en un servidor diferente, utilice la misma especificación de servidor que para la grabadora: VM dedicada con un mínimo de 4 núcleos físicos y 4 GB de RAM.
El servidor de la reunión que ejecuta el cargador requerirá permisos de lectura y escritura para el uso compartido de archivos de red (NFS). El cargador debe ejecutarse en un servidor de reuniones diferente y no en un puente de llamadas que aloje las conferencias.
Existen varios escenarios admitidos para implementar Streamer y Uploader con CMS, tales como: callbridge único con varios servidores de transmisión, un clúster de callbridge con un único servidor de transmisión y un clúster de callbridge con varios servidores de transmisión. Este documento se basa en una implementación básica con un clúster de callbridge que se conecta a un único servidor de transmisión y cargador, ya que todos los pasos de configuración con este escenario se aplican también a otros escenarios.
Como se muestra en la imagen anterior
Clúster CMS CallBridge
Transmisor/grabador CMS
Cargador de CMS
VBrick DME para transmisión
VBrick Rev para transmisión
Transmisor
Se supone que el callbridge ya está configurado y aceptando llamadas.
Paso 1. Certificados
Los nuevos componentes de la transmisión no requieren escuchar conexiones https, sin embargo, si escuchan conexiones SIP , el servidor de la transmisión debe tener un certificado válido para la comunicación 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
Obtenga el certificado firmado por la autoridad de certificación (CA) local. Cargue el certificado generado mediante el protocolo seguro de transferencia de archivos (SFTP) en el servidor Streamer. Se marca para confirmar que los certificados se han cargado correctamente.
En este documento, los certificados comodín se utilizan para la transmisión. Utilice la guía de certificados como referencia.
streamer> pki list
User supplied certificates and keys:
tac.key
tac.cer
ROOTCA.cer
example.key
example.csr
tac.csr
Paso 2. Configuración de MMP/SSH
streamer sip listen <interface> <tcp-port|none> <tls-port|none>
streamer> streamer sip listen a 7000 7001
Para utilizar sólo la conexión SIP de TLS. Configure la conexión TCP sip como "ninguna". El comando se muestra a continuación
streamer> streamer sip listen a none 7001
streamer> streamer sip resolution 720p
streamer> streamer enable
streamer> tls sip trust ROOTCA.cer
Nota: para que la conexión TLS sea segura, se recomienda habilitar la verificación 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
Paso 3. Configuración de API
Esta configuración se realiza en el CMS que aloja CallBridge. A continuación, API en la interfaz Webadmin de CMS. Cualquier cliente REST como Postman, Poster también se puede utilizar para realizar esto.
Una vez habilitada la nueva transmisión SIP, se puede configurar y utilizar en Call Bridge en /callProfiles para sipStreamerUri.
Para utilizar la API en el servidor CMS. Vaya A Webadmin > Configuration > 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
Agregar callProfile al sistema/perfiles
Espacio utilizado para transmisión
Paso 4. Crear "Reglas de Salida"
Configure, un URI personalizado que se asigna a una regla de plan de marcación saliente (el dominio puede ser cualquier cosa, por ejemplo, "streamer.com"). Configure una regla de plan de marcación saliente para que coincida con el dominio utilizado en streamerUri para enrutar.
Crear reglas de salida
Como se muestra en la imagen anterior, para el transmisor SIP, si no se utilizan puertos predeterminados para SIP (5060.5061), es obligatorio especificar puertos en la configuración del transmisor e incluir el siguiente número de puerto para conectarse al campo "sip proxy to use" cuando se configura outboundDialPlanRule para el servicio.
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
Cargador
streamer> upload nfs 192.168.15.38:Recording
streamer> upload cms host join.mextp.local
streamer> cargador cms port 445
streamer> upload cms user apiadmin
streamer> upload cms password
Introduzca la contraseña:
Nota: El puerto predeterminado es 443 a menos que se especifique lo contrario
Cree un paquete de certificados (crt-bundle) que contenga una copia del certificado de la CA raíz y todos los certificados intermedios de la cadena para el servidor Vbrick Rev
streamer> upload 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
Si la configuración es correcta, utilice el comando "upload enable" para habilitar el componente Uploader. Todos los mensajes deben mostrar "SUCCESS" como se muestra a continuación.
streamer> uploader enable
SUCCESS: uploader enabled
Transmisor
Streaming en funcionamiento y una llamada de streaming SIP conectada
Cargador
Puede ver el registro de un evento exitoso en el registro del sistema de seguimiento del cargador.
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
Transmisor
1. Sin licencia
Streamer necesitaba una licencia de "grabadora" en el servidor que tiene el componente callbridge. Si no existe o la licencia no es suficiente, se verán los errores que se muestran a continuación en los registros de eventos.
Asegúrese de agregar la licencia necesaria. El estado de la licencia se puede comprobar en la CLI mediante el 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)
Puerto 2.TLS
· Si el puerto TLS está configurado y no se aplican certificados. Configurar certificados para que el transmisor utilice TLS
· Si el certificado no está disponible. Configure sólo el puerto TCP
streamer> streamer sip listen a 7000 7001
streamer> streamer enable
FAILURE: TLS port set but no certificates configured
FAILURE: Streamer configuration not complete
Ahora tiene 2 opciones, ya sea para quitar el puerto TLS o para agregar el certificado de transmisión y confianza de TLS de SIP
Cisco recomienda tener habilitado el puerto TLS.
3. Secuencia RTMP no configurada correctamente
Verá errores en los registros
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
Compruebe el procedimiento en la configuración del transmisor y configure la URL de RTMP correctamente con el formato "rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP o FQDN>/live/Name of theStream"
4.Problemas relacionados con el enrutamiento de llamadas
Dado que el transmisor CMS es un cliente basado en SIP y como se mencionó anteriormente, es necesario que el routing esté en su lugar. Esto podría provocar situaciones en las que las llamadas podrían fallar. Considere este ejemplo, donde el CMS Callbridge envió una llamada saliente, pero falló con el siguiente error 'tiempo de espera de la transacción - no hay respuestas provisionales 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 la configuración de Llamadas salientes en los servidores CMS Callbridge para validar la ubicación a la que se envía y si se establece correctamente. Compruebe también si el perfil de llamada está configurado con el URI de la secuencia correcto y si el mismo está asociado con Cospace.
Cargador
1. Los detalles de Vbrick no son correctos.
Puede ver un error en el registro del cargador
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
Asegúrese de haber configurado las credenciales y el puerto correctos para el servidor vbrick. También asegúrese de que Uploader pueda alcanzar el puerto de administración web de callbridge de CMS.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
23-Aug-2021
|
Versión inicial |