Introducción a las Virtual Rooms
Las Virtual Rooms permiten a los desarrolladores tener funcionalidades esenciales de seguridad y control para crear experiencias de comunicación bien estructuradas, como citas virtuales y comunicaciones de grupo. Los desarrolladores pueden usar salas virtuales para realizar llamadas de voz, vídeo y RTC. La seguridad y los controles de las salas se pueden clasificar de la siguiente manera.
La seguridad y los controles de acceso de usuario se aplican a los participantes de la llamada, controlando quién puede unirse a una llamada y qué acciones pueden realizar durante la llamada. Por ejemplo, durante la cita virtual de un paciente con un médico, solo el personal autorizado del hospital y los pacientes pueden unirse a la llamada. Limitar a los participantes conserva la privacidad del paciente y los participantes no superan sus roles y privilegios asignados para interrumpir la llamada en curso.
La seguridad y los controles de nivel de sala se aplican en el nivel de llamada para controlar cuándo se puede realizar la llamada y qué funcionalidades están disponibles durante la llamada. Por ejemplo, los alumnos solo están autorizados para unirse a una llamada de clase durante el tiempo asignado, pero un autor de llamada RTC no puede unirse a la misma llamada educativo.
Funcionalidades de alto nivel admitidas en Virtual Rooms
Funcionalidad | Se admite en la llamada en las salas |
---|---|
Voz (VoIP) | ✔️ |
Vídeo | ✔️ |
Acceso telefónico local iniciado por el cliente a un número RTC | ✔️ |
Acceso telefónico local iniciado por el servidor a un número RTC | ✔️ |
Administración de llamadas del lado servidor (Automatización de llamadas)* | ✔️ |
Acceso telefónico RTC | ❌ |
Mensajería asincrónica (chat) | ❌ |
Interoperabilidad con Microsoft Teams | ❌ |
* Se aplican algunas excepciones. En este documento se muestra la lista completa de las funcionalidades admitidas de Automatización de llamadas.
Cuándo usar Virtual Rooms
En la tabla siguiente se muestra cuándo usar Virtual Rooms.
Condición | Usar salas |
---|---|
Cuando es importante controlar quién puede unirse a una llamada (experiencia de solo invitación). | ✔️ |
Cuando es importante controlar cuándo se inicia y finaliza la llamada. | ✔️ |
Cuando se necesitan roles y permisos de usuario para realizar comunicaciones bien administradas. | ✔️ |
Cuando la solución requiere interoperabilidad de Teams.* | ❌ |
* Si la solución requiere interoperabilidad entre Teams y Azure Communication Services, use llamadas de interoperabilidad de Teams
Cómo realizar llamadas en Virtual Rooms
En un nivel alto, para realizar llamadas en las Virtual Rooms necesita crear y administrar salas. En la tabla siguiente se describe cómo permitir que los participantes se unan llamadas y ejecuten operaciones en llamada desde el SDK de llamadas en el lado cliente y en el servidor.
Funcionalidad | SDK de ACS | SDK de cliente frente a servidor | Descripción |
---|---|---|---|
Creación y administración de Virtual Rooms | SDK de Virtual Rooms | Server | El SDK de Virtual Rooms permite a los desarrolladores crear y administrar Virtual Rooms, agregar o quitar usuarios, asignar o actualizar roles de usuario, establecer o actualizar programaciones de Virtual Rooms. Los desarrolladores también pueden establecer límites de seguridad, como restringir el acceso telefónico RTC desde Rooms. |
Únase a una llamada de Virtual Rooms con voz, vídeo o RTC y ejecute las operaciones iniciadas por el cliente en la llamada | SDK de llamada | Cliente | El SDK de cliente de llamada permite a los usuarios unirse a una llamada de Virtual Rooms y ejecutar operaciones del lado cliente según lo permitido por sus roles de usuario asignados. La seguridad en una llamada a Virtual Rooms se garantiza mediante el cumplimiento de la lista, la programación, los roles de usuario y los límites de control establecidos mediante la creación y administración de Virtual Rooms. Con el SDK de llamadas de cliente, los desarrolladores permiten a los participantes de la llamada ejecutar operaciones en llamada, como silenciar o desactivar, compartir pantalla, activar o desactivar el vídeo y llamar a un participante RTC, etc. |
Administración del lado servidor de las operaciones en llamada | SDK de Automatización de llamadas | Server | El SDK de Automatización de llamadas permite a los desarrolladores ejecutar operaciones en llamada desde el lado servidor. Entre las operaciones de llamada se incluyen el acceso telefónico local iniciado por el servidor a un número RTC, la grabación de llamadas, el envío o recepción de DTMF, el envío de anuncios a usuarios específicos, etc. Dado que la ejecución de operaciones en el lado servidor en la llamada son independientes de los usuarios y las controlan los desarrolladores, estas acciones no se controlan mediante roles de usuario. |
Los desarrolladores usan el SDK de Virtual Rooms, el SDK de cliente de llamadas y el SDK de Automatización de llamadas para proteger sus llamadas y desencadenar operaciones en el lado cliente o servidor.
Funcionalidad | SDK de Rooms Server | SDK de llamada a cliente | SDK de automatización de servidor de llamadas |
---|---|---|---|
Administración de Virtual Rooms: crear, obtener, actualizar, enumerar y eliminar Virtual Rooms | ✔️ | ❌ | ❌ |
Administración de listas de Virtual Rooms: agregar, actualizar o quitar usuario a una sala virtual | ✔️ | ❌ | ❌ |
Administración de permisos de participantes de llamadas de Virtual Rooms: asignación o actualización de roles de usuario | ✔️ | ❌ | ❌ |
Administración de la programación de Virtual Rooms: programación de establecimiento o actualización de Virtual Rooms permitidas | ✔️ | ❌ | ❌ |
Administración de controles de seguridad de Virtual Rooms: establecimiento o actualización de la marca para permitir el acceso telefónico local RTC desde Virtual Rooms específicas | ✔️ | ❌ | ❌ |
Obtener la lista de usuarios invitados a unirse a una sala virtual | ✔️ | ❌ | ❌ |
Un usuario inicia una llamada a Virtual Rooms o se une a una llamada en curso | ❌ | ✔️ | ❌ |
Acceso telefónico a un usuario RTC | ❌ | ✔️ | ✔️ |
Agregar o quitar participantes de VoIP a una llamada en curso | ❌ | ✔️ | ✔️ |
Obtener la lista de participantes que se unieron a la llamada en curso | ❌ | ✔️ | ✔️ |
Iniciar o detener subtítulos de llamada y cambiar el idioma de los subtítulos | ❌ | ✔️ | ❌ |
Administrar la grabación de llamadas | ❌ | ❌ | ✔️ |
Enviar o recibir DTMF a/desde participantes RTC | ❌ | ❌ | ✔️ |
Reproducir avisos de audio a los participantes | ❌ | ❌ | ✔️ |
El SDK de cliente de llamada proporciona la lista completa de operaciones en llamada del lado cliente y explica cómo usarlos.
Administración de llamadas a Virtual Rooms desde el lado servidor mediante el SDK del servidor de Automatización de llamadas
El SDK de Automatización de llamadas permite a los desarrolladores administrar llamadas de Virtual Rooms desde el lado servidor y ejecutar operaciones en llamada. Las funcionalidades de Automatización de llamadas se están habilitando progresivamente en las llamadas a Virtual Rooms. En la tabla siguiente se muestra el estado actual de estas funcionalidades. Los desarrolladores administran y controlan las funcionalidades de Automatización de llamadas del lado servidor, que funcionan en un nivel superior a los privilegios de un participante de la llamada. Por lo tanto, las funcionalidades de Automatización de llamadas no se controlan a través de roles y permisos de usuario.
Funcionalidad de automatización de llamadas | Se admite en la llamada en las salas |
---|---|
Marcar para invitar participante RTC | ✔️ |
Enviar/leer DTMF a/desde el participante RTC | ✔️ |
Envío de anuncios a participantes de llamadas específicos | ✔️ |
Agregar o quitar un participante de VoIP de una llamada en curso | ✔️ |
Llamada final para todos los usuarios | ✔️ |
Transcripciones de llamadas | ❌ |
Streaming multimedia de audio | ❌ |
* Actualmente en versión preliminar pública.
En esta ilustración se muestran los conceptos para administrar y unir las salas.
Acceso telefónico RTC iniciado por el servidor mediante el SDK del servidor de Automatización de llamadas
Los desarrolladores pueden activar o desactivar la capacidad de llamar a un participante RTC estableciendo la marca pstnDialoutEnabled específica de la sala. Una vez que el desarrollador establece pstnDialoutEnabled=TRUE para una sala, los desarrolladores pueden llamar a un participante RTC desde el lado servidor mediante Automatización de llamadas, sin necesidad de ninguna participación del lado cliente.
Por ejemplo, un paciente podría solicitar servicio de interpretación para su próxima cita virtual con su médico. En la mayoría de los casos, el número de teléfono para el servicio de interpretación se determina dinámicamente a través de un proceso de back-end. Esta funcionalidad de acceso telefónico RTC del lado servidor permite a los desarrolladores determinar el número de teléfono de destino, iniciar la llamada y agregarla a la llamada a la cita virtual del paciente, sin necesidad de realizar ninguna acción del lado cliente.
Siga estos pasos para agregar un número RTC a una llamada de sala mediante el SDK de Automatización de llamadas:
- Creación de una sala con la marca pstnDialoutEnabled establecida en
True
- Los participantes inician una llamada de sala
- Uso del SDK de Automatización de llamadas para conectarse a una llamada de sala mediante un identificador de sala
- Uso del SDK de Automatización de llamadas para llamar a un número RTC
- El usuario RTC acepta y se une a una llamada de sala
Administración de llamadas a Virtual Rooms desde SDK de llamadas del lado cliente
Use los SDK de llamada para unirse a la llamada a la sala. Se puede unir a las llamadas de sala mediante los SDK de llamadas web, iOS o Android. Puede encontrar ejemplos de inicio rápido para unirse a llamadas de sala aquí.
También se puede acceder a las salas mediante la Biblioteca de interfaz de usuario de Azure Communication Services. Con la biblioteca de interfaz de usuario, los desarrolladores pueden agregar un cliente de llamada que está habilitado para salas a su aplicación con solo un par de líneas de código.
Acceso telefónico RTC iniciado por el cliente mediante el SDK de cliente de llamada
Los desarrolladores pueden permitir o denegar la capacidad de llamar a los participantes para que llamen a un participante RTC estableciendo la marca pstnDialoutEnabled específica de la sala. Una vez que el desarrollador establece pstnDialoutEnabled=TRUE para una sala, los participantes de la llamada con el rol Moderador pueden llamar a un participante RTC desde su cliente de llamada. Los pasos siguientes se usan para agregar un número RTC a una llamada de sala mediante el SDK de cliente de llamadas.
- Creación de una sala con la marca pstnDialoutEnabled establecida en True
- Los participantes inician una llamada de sala
- Un participante con rol moderador agrega un número RTC a una llamada
- El usuario RTC acepta y se une a una llamada de sala
API y SDK de Virtual Rooms
Las salas se crean y administran a través de API o SDK de salas. Use la API o el SDK de las salas en su aplicación para operaciones room
:
- Crear
- Modificar
- Eliminar
- Establecer y actualizar la lista de participantes
- Establecer y modificar la validez de la sala
- Asignación de roles y permisos a los usuarios
SDK de Virtual Rooms | Versión | Estado |
---|---|---|
SDK de Virtual Rooms | 2024-04-15 | Disponible con carácter general: totalmente compatible |
SDK de Virtual Rooms | 14-06-2023 | Disponible con carácter general: totalmente compatible |
SDK de Virtual Rooms | 30-10-2023 | Versión preliminar pública: totalmente compatible |
SDK de Virtual Rooms | 31-03-2023 | Versión preliminar pública: retirada |
SDK de Virtual Rooms | 01/02/2022 | Versión preliminar pública: retirada |
SDK de Virtual Rooms | 07-04-2021 | Versión preliminar pública: retirada |
Roles y permisos de participantes predefinidos en llamadas a Virtual Rooms
A los participantes de la sala se les puede asignar uno de los siguientes roles: Moderador, Asistente y Consumidor.
En la tabla siguiente se proporcionan funcionalidades detalladas asignadas a los roles. En un alto nivel, el rol moderador tiene control total, las funcionalidades de asistente se limitan a audio y vídeo, mientras que el consumidor solo puede recibir audio, vídeo y uso compartido de pantalla.
Nota: un participante de llamada RTC no forma parte de la lista de salas, por lo que no se le asigna un rol de usuario. Las funcionalidades se limitan a silenciar o reactivar audio en el dispositivo local.
Funcionalidad | Rol: Moderador | Rol: Asistente | Rol: Consumidor |
---|---|---|---|
Control durante la llamada | |||
- Encender/Apagar vídeo | ✔️ | ✔️ | ❌ |
- Desactivar/activar audio del micrófono | ✔️ | ✔️ | ❌ |
- Silenciar usuario remoto | ✔️ | ❌ | ❌ |
- Cambiar entre las cámaras | ✔️ | ✔️ | ❌ |
- Altavoz activo | ✔️ | ✔️ | ✔️ |
- Elegir el altavoz para llamadas | ✔️ | ✔️ | ✔️ |
- Elegir micrófono para llamadas | ✔️ | ✔️ | ❌ |
- Mostrar el estado de los participantes (inactivo, conexión, conectado, en espera, desconectando, desconectado, etc.) | ✔️ | ✔️ | ✔️ |
- Mostrar estado de la llamada (Elementos multimedia iniciales, entrante, conectando, llamando, conectada, en espera, desconectando, desconectado | ✔️ | ✔️ | ✔️ |
- Mostrar si un participante está silenciado | ✔️ | ✔️ | ✔️ |
- Mostrar el motivo por el que un participante ha abandonado una llamada | ✔️ | ✔️ | ✔️ |
- Títulos de llamada de inicio | ✔️ | ✔️ | ✔️ |
- Cambiar el idioma de los subtítulos | ✔️ | ✔️ | ❌ |
- Finalizar reunión para todos los participantes | ✔️ | ❌ | ❌ |
- Invitar a unirse a un participante de la sala virtual a una llamada | ✔️ | ❌ | ❌ |
Uso compartido de pantalla | |||
- Compartir pantalla | ✔️ * | ❌ | ❌ |
- Compartir aplicaciones | ✔️ * | ❌ | ❌ |
- Compartir una pestaña del explorador | ✔️ * | ❌ | ❌ |
- Los participantes pueden ver la pantalla compartida | ✔️ | ✔️ | ✔️ |
Administración de listas | |||
- Quitar un participante | ✔️ | ❌ | ❌ |
Administración de dispositivos | |||
Solicitar permiso para usar audio y/o vídeo | ✔️ | ✔️ | ❌ |
- Obtener la lista de cámaras | ✔️ | ✔️ | ❌ |
- Establecer cámara | ✔️ | ✔️ | ❌ |
- Obtener la cámara seleccionada | ✔️ | ✔️ | ❌ |
- Obtener lista de micrófonos | ✔️ * | ✔️ * | ❌ |
- Establecer micrófono | ✔️ * | ✔️ * | ❌ |
- Obtener micrófono seleccionado | ✔️ * | ✔️ * | ❌ |
- Obtener la lista de altavoces | ✔️ * | ✔️ * | ✔️ * |
- Establecer el altavoz | ✔️ * | ✔️ * | ✔️ * |
- Obtener el altavoz seleccionado | ✔️ | ✔️ | ✔️ |
Representación de vídeo | |||
- Representar un vídeo en muchos lugares (cámara local o flujo remoto) | ✔️ | ✔️ | ✔️ (Solo remoto) |
- Establecer o actualizar el modo de escalado de vídeo | ✔️ | ✔️ | ✔️ (Solo remoto) |
- Representar secuencias de vídeo remoto | ✔️ | ✔️ | ✔️ |
Acceso telefónico local a participantes RTC desde el lado cliente | |||
- Acceso telefónico a participantes RTC desde llamadas a Virtual Rooms | ✔️ | ❌ | ❌ |
* Solo disponible en el SDK de llamada web. No disponible en los SDK de llamadas de iOS y Android
** Actualmente en versión preliminar pública.
Control de eventos
Los eventos de llamadas de voz y vídeo publicados a través de Event Grid se anotan con información de llamadas de sala.
- CallStarted se publica cuando se inicia una llamada a sala.
- CallEnded se publica cuando finaliza una llamada a sala.
- CallParticipantAdded se publica cuando un nuevo participante se une a una llamada de sala.
- CallParticipantRemoved se publica cuando un participante cae de una llamada a la sala.
Características desusadas
Una versión preliminar pública anterior de Rooms API admitía dos configuraciones para el control de lista de salas, como se indica a continuación:
- Una sala Solo por invitación que solo permite a los usuarios invitados unirse a la llamada de Salas.
- Una Sala abierta que era menos segura. En la configuración de salas abiertas, todos los usuarios de Azure Communication Services podían unirse a una llamada sin que se les invitara explícitamente mediante la lista de salas.
El concepto Sala abierta ya está en desuso. En el futuro, las salas Solo por invitación serán el único tipo de sala admitido.
Limitaciones conocidas
- Actualmente, las funcionalidades de automatización de llamadas de Azure Communication Services no admiten llamadas de Salas.
Pasos siguientes:
- Use la Guía de inicio rápido para crear, administrar y unir una sala.
- Obtenga información sobre cómo unirse a una llamada de sala.
- Obtenga información sobre cómo administrar una llamada a la sala.
- Revise los Requisitos de red para elementos multimedia y señalización.
- Para analizar los datos de salas, consulte Registros de salas.
- Para aprender a usar el área de trabajo de Log Analytics, consulte Tutorial de Log Analytics.
- Para crear sus propias consultas en Log Analytics, consulte Introducción a las consultas.