Visão geral do Virtual Rooms
O Virtual Rooms capacita os desenvolvedores com funcionalidades essenciais de segurança e controle para criar experiências de comunicação bem estruturadas, como compromissos virtuais e comunicações em grupo. Os desenvolvedores podem usar salas virtuais para realizar chamadas de voz, vídeo e PSTN. A segurança e os controles nas salas podem ser classificados conforme descrito a seguir.
A segurança e os controles de acesso do usuário são aplicados aos participantes da chamada, controlando quem pode ingressar em uma chamada e quais ações podem ser realizadas durante a chamada. Por exemplo, durante a consulta virtual de um paciente com um médico, apenas os funcionários e os pacientes autorizados do hospital podem ingressar na chamada. Limitar os participantes preserva a privacidade do paciente e os participantes não excedem as funções e os privilégios atribuídos a eles para interromper a chamada em andamento.
A segurança e os controles na sala são aplicados no nível de chamada para controlar quando a chamada pode ser realizada e quais recursos estão disponíveis durante ela. Por exemplo, os estudantes só estão autorizados a ingressar em uma chamada de sala de aula durante o tempo alocado, mas um chamador da PSTN não pode ingressar na mesma chamada de sala de aula.
Funcionalidades de alto nível com suporte no Virtual Rooms
Funcionalidade | Com suporte em chamadas do Rooms |
---|---|
Voz (VoIP) | ✔️ |
Vídeo | ✔️ |
Discagem iniciada pelo cliente para um número PSTN | ✔️ |
Discagem iniciada pelo servidor para um número PSTN** | ✔️ |
Gerenciamento de chamadas do servidor (Automação de Chamadas)* | ✔️ |
Discagem PSTN | ❌ |
Mensagens assíncronas (Chat) | ❌ |
Interoperabilidade com o Microsoft Teams | ❌ |
* Algumas exceções se aplicam. Confira a lista completa das funcionalidades da Automação de Chamadas neste documento.
** Atualmente em versão prévia pública.
Quando usar o Virtual Rooms
A tabela a seguir mostra quando usar o Virtual Rooms.
Condição | Usar Salas |
---|---|
Quando for importante controlar quem tem permissão para ingressar em uma chamada (experiência somente por convite). | ✔️ |
Quando for importante controlar o início e o término da chamada. | ✔️ |
Quando são necessários papéis e permissões de usuário para realizar comunicações bem gerenciadas. | ✔️ |
Quando a solução exige a interoperabilidade do Teams.* | ❌ |
* Se a solução exigir interoperabilidade entre o Teams e os Serviços de Comunicação do Azure, use as chamadas de interoperabilidade do Teams
Como realizar chamadas no Virtual Rooms
Em um alto nível, para realizar chamadas no Virtual Rooms, você precisa criar e gerenciar salas. A tabela a seguir descreve como permitir que os participantes ingressem em chamadas e executem operações de chamada do SDK de Chamada no lado do cliente e no servidor.
Funcionalidade | SDK do ACS | SDK do cliente vs. do servidor | Descrição |
---|---|---|---|
Criar e gerenciar o Virtual Rooms | SDK do Virtual Rooms | Servidor | O SDK do Virtual Rooms permite que os desenvolvedores criem e gerenciem salas virtuais, adicionem/removam usuários, atribuam/atualizem funções de usuário e definam/atualizem agendamentos do Virtual Rooms. Os desenvolvedores também podem definir limites de segurança, como restringir a discagem PSTN no Rooms. |
Ingressar em uma chamada do Virtual Rooms com voz, vídeo ou PSTN e executar as operações de chamada iniciadas pelo cliente | SDK de Chamada | Cliente | O SDK do cliente de Chamada permite que os usuários ingressem em uma chamada do Virtual Rooms e executem operações do lado do cliente, conforme permitido pelas respectivas funções de usuário atribuídas. A segurança em uma chamada do Virtual Rooms é assegurada por meio da imposição de lista, do agendamento, das funções de usuário e dos limites de controle definidos por meio da criação e gerenciamento do Virtual Rooms. Com o SDK do cliente de Chamada, os desenvolvedores capacitam os participantes da chamada a executar operações de chamada como ativar/desativar mudo, compartilhar a tela, ligar/desligar o vídeo, fazer uma discagem para um participante PSTN etc. |
Gerenciamento no servidor das operações em chamada | SDK de Automação de Chamada | Servidor | O SDK de Automação de Chamadas permite que os desenvolvedores executem operações em chamada no servidor. As operações de chamada incluem discagem iniciada pelo servidor para um número PSTN, gravação de chamadas, envio/recebimento de DTMF, envio de comunicados para usuários específicos etc. Como a execução de operações em chamada no servidor é independente dos usuários e controlada por desenvolvedores, essas ações não são controladas por funções de usuário. |
Os desenvolvedores usam o SDK do Virtual Rooms, o SDK do cliente de Chamada e o SDK de Automação de Chamadas para proteger as chamadas e disparar operações no lado do cliente/servidor.
Funcionalidade | SDK do Servidor do Rooms | SDK do cliente de Chamada | SDK do Servidor de Automação de Chamadas |
---|---|---|---|
Gerenciamento do Virtual Rooms – Criar/Obter/Atualizar/Listar/Excluir Salas Virtuais | ✔️ | ❌ | ❌ |
Gerenciamento da lista de participantes do Virtual Rooms – Adicionar/Atualizar/Remover usuário em uma Sala Virtual | ✔️ | ❌ | ❌ |
Gerenciamento de permissões de participantes da chamada do Virtual Rooms – Atribuir/Atualizar funções de usuário | ✔️ | ❌ | ❌ |
Gerenciamento de agendamento do Virtual Rooms – Definir/Atualizar agendamento permitido do Virtual Rooms | ✔️ | ❌ | ❌ |
Gerenciamento de controles de segurança do Virtual Rooms – Definir/Atualizar sinalizador para permitir a discagem PSTN em Salas Virtuais específicas | ✔️ | ❌ | ❌ |
Obter a lista de usuários convidados a ingressar em uma Sala Virtual | ✔️ | ❌ | ❌ |
Um usuário inicia uma chamada do Virtual Rooms ou ingressa em uma chamada em andamento | ❌ | ✔️ | ❌ |
Discar para um usuário PSTN | ❌ | ✔️ | ✔️* |
Adicionar/remover participantes do VoIP em uma chamada em andamento | ❌ | ✔️ | ✔️* |
Obter a lista de participantes que ingressaram na chamada em andamento | ❌ | ✔️ | ✔️* |
Iniciar/Parar legendas da chamada e alterar o idioma das legendas | ❌ | ✔️ | ❌ |
Gerenciar a gravação de chamada | ❌ | ❌ | ✔️ |
Enviar/receber DTMF de/para participantes PSTN | ❌ | ❌ | ✔️* |
Reproduzir prompts de áudio para os participantes | ❌ | ❌ | ✔️* |
O SDK do cliente de Chamada fornece a lista completa de operações de chamada do lado do cliente e explica como usá-las.
* Atualmente, em visualização pública.
Como gerenciar chamadas do Virtual Rooms no servidor usando o SDK do Servidor de Automação de Chamadas
O SDK de Automação de Chamadas capacita os desenvolvedores a gerenciar chamadas do Virtual Rooms no servidor e executar operações em chamada. As funcionalidades da Automação de Chamadas estão sendo habilitadas progressivamente nas chamadas do Virtual Rooms. A tabela a seguir mostra o status atual dessas funcionalidades. Os desenvolvedores gerenciam e controlam as funcionalidades da Automação de Chamadas no servidor, que operam em um nível mais alto do que os privilégios de um participante da chamada. Portanto, as funcionalidades da Automação de Chamadas não são controladas por meio de funções de usuário e permissões.
Capacidade da Automação de Chamadas | Com suporte em chamadas do Rooms |
---|---|
Discagem para participante PSTN * | ✔️ |
Enviar/Ler DTMF para/do participante PSTN * | ✔️ |
Enviar comunicados para participantes de chamadas específicos * | ✔️ |
Adicionar/remover um participante VoIP em uma chamada em andamento | ✔️ |
Encerrar chamada para todos os usuários | ✔️ |
Transcrições de chamada | ❌ |
Streaming de mídia de áudio | ❌ |
* Atualmente, em visualização pública.
Esta ilustração mostra os conceitos de gerenciamento e ingresso nas salas.
Discagem PSTN iniciada pelo servidor por meio do SDK do Servidor de Automação de Chamadas
Os desenvolvedores podem ativar/desativar a capacidade de discagem para um participante PSTN definindo o sinalizador pstnDialoutEnabled específico da sala. Depois que o desenvolvedor define pstnDialoutEnabled=TRUE para uma sala, os desenvolvedores podem discar para um participante PSTN no servidor usando a Automação de Chamadas, sem precisar de nenhuma participação do lado do cliente.
Por exemplo, um paciente pode solicitar um serviço de interpretação para a próxima consulta virtual com o médico. Na maioria dos casos, o número de telefone para o serviço de interpretação é determinado dinamicamente por meio de um processo de back-end. Essa funcionalidade de discagem PSTN no servidor permite que os desenvolvedores determinem o número de telefone de destino, iniciem a chamada e a adicionem à chamada de compromisso virtual do paciente, sem a necessidade de ações do lado do cliente.
Siga estas etapas para adicionar um número PSTN a uma chamada de sala usando o SDK de Automação de Chamadas:
- Criar uma sala com o sinalizador pstnDialoutEnabled definido como
True
- Os participantes iniciam uma chamada de sala
- Usar o SDK de Automação de Chamadas para se conectar a uma chamada de sala usando uma ID de sala
- Usar o SDK de Automação de Chamadas para discar para um número PSTN
- O usuário da PSTN aceita uma chamada de sala e ingressa nela
Como gerenciar chamadas do Virtual Rooms por meio de SDKs de Chamadas do lado do cliente
Use os SDKs de chamada para ingressar na chamada de sala. É possível ingressar nas chamadas de sala usando os SDKs de Chamada para Web, do iOS ou do Android. Você pode encontrar exemplos de início rápido para ingressar em chamadas de sala aqui.
As salas também podem ser acessadas usando a biblioteca de interface do usuário do Serviços de Comunicação do Azure. A Biblioteca de Interface do Usuário permite que os desenvolvedores adicionem um cliente de chamada habilitado para o Rooms ao aplicativo com apenas algumas linhas de código.
Discagem PSTN iniciada pelo cliente pro meio do SDK do cliente de Chamada
Os desenvolvedores podem permitir/não permitir a capacidade de chamar os participantes para discagem para um participante PSTN, definindo o sinalizador pstnDialoutEnabled específico da sala. Depois que o desenvolvedor define pstnDialoutEnabled=TRUE para uma sala, os participantes da chamada com a função Apresentador podem discar para um participante PSTN por meio do cliente de chamada. As etapas a seguir são usadas para adicionar um número PSTN a uma chamada de sala usando o SDK do cliente de Chamada.
- Criar uma sala com o sinalizador pstnDialoutEnabled definido como True
- Os participantes iniciam uma chamada de sala
- Um participante com a função Apresentador adiciona um número da PSTN a uma chamada
- O usuário da PSTN aceita uma chamada de sala e ingressa nela
API/SDKs de Virtual Rooms
As salas são criadas e gerenciadas por meio de APIs SDKs de salas. Use a API/SDK de salas em seu aplicativo para servidores para operações room
:
- Criar
- Modificar
- Excluir
- Definir e atualizar a lista de participantes
- Definir e modificar a validade da sala
- Atribuir funções e permissões a usuários
SDK de Virtual Rooms | Versão | Estado |
---|---|---|
SDKs de Virtual Rooms | 2024-04-15 | Disponibilidade Geral - Totalmente compatível |
SDKs de Virtual Rooms | 2023-06-14 | Disponibilidade Geral - Totalmente compatível |
SDKs de Virtual Rooms | 2023-10-30 | Visualização Pública - Totalmente compatível |
SDKs de Virtual Rooms | 2023-03-31 | Visualização Pública – desativada |
SDKs de Virtual Rooms | 2022-02-01 | Visualização Pública – desativada |
SDKs de Virtual Rooms | 2021-04-07 | Visualização Pública – desativada |
Funções e permissões predefinidas de participantes em chamadas do Virtual Rooms
Os participantes da sala podem receber uma das seguintes funções: Apresentador, Participante e Consumidor.
A tabela a seguir fornece funcionalidades detalhadas mapeadas para as funções. Em um alto nível, a função Apresentador tem controle total, as funcionalidades do Participante são limitadas a áudio e vídeo e o Consumidor só pode receber áudio, vídeo e compartilhamento de tela.
Funcionalidade | Função: Apresentador | Função: Participante | Função: Consumidor |
---|---|---|---|
Controle de chamada intermediária | |||
– Ativar/desativar vídeo | ✔️ | ✔️ | ❌ |
– Ativar/desativar mudo do microfone | ✔️ | ✔️ | ❌ |
- Ativar mudo do usuário remoto | ✔️ | ❌ | ❌ |
– Alternar entre câmeras | ✔️ | ✔️ | ❌ |
– Alto-falante ativo | ✔️ | ✔️ | ✔️ |
– Escolher alto-falante para chamadas | ✔️ | ✔️ | ✔️ |
– Escolher microfone para chamadas | ✔️ | ✔️ | ❌ |
– Mostrar o estado dos participantes (Ocioso, Conectando, Conectado, Em espera, Desconectando, Desconectado etc.) | ✔️ | ✔️ | ✔️ |
– Mostrar estado da chamada (Mídia inicial, Realizando, Conectando, Tocando, Conectada, Em espera, Desconectando, Desconectada | ✔️ | ✔️ | ✔️ |
– Mostrar se um participante está com o mudo ativado | ✔️ | ✔️ | ✔️ |
– Mostrar o motivo pelo qual um participante saiu de uma chamada | ✔️ | ✔️ | ✔️ |
– Iniciar legendas da chamada | ✔️ | ✔️ | ✔️ |
– Alterar o idioma das legendas | ✔️ | ✔️ | ❌ |
- Encerrar a reunião para todos os participantes | ✔️ | ❌ | ❌ |
- Convidar um participante para ingressar em uma sala virtual em uma chamada | ✔️ | ❌ | ❌ |
Compartilhamento de tela | |||
– Compartilhar tela | ✔️ * | ❌ | ❌ |
– Compartilhar um aplicativo | ✔️ * | ❌ | ❌ |
– Compartilhar uma guia do navegador | ✔️ * | ❌ | ❌ |
– Os participantes podem exibir a tela compartilhada | ✔️ | ✔️ | ✔️ |
Gerenciamento de lista | |||
– Remover um participante | ✔️ | ❌ | ❌ |
Gerenciamento de dispositivos | |||
– Solicitar permissão para usar áudio e/ou vídeo | ✔️ | ✔️ | ❌ |
– Obter lista de câmeras | ✔️ | ✔️ | ❌ |
– Definir câmera | ✔️ | ✔️ | ❌ |
– Obter câmera selecionada | ✔️ | ✔️ | ❌ |
– Obter lista de microfones | ✔️ * | ✔️ * | ❌ |
– Definir microfone | ✔️ * | ✔️ * | ❌ |
– Obter microfone selecionado | ✔️ * | ✔️ * | ❌ |
– Obter lista de alto-falantes | ✔️ * | ✔️ * | ✔️ * |
– Definir o alto-falante | ✔️ * | ✔️ * | ✔️ * |
– Obter alto-falante selecionado | ✔️ | ✔️ | ✔️ |
Renderização de vídeo | |||
– Renderizar um vídeo em vários locais (câmera local ou fluxo remoto) | ✔️ | ✔️ | ✔️ (Somente remoto) |
– Definir/atualizar modo de escala de vídeo | ✔️ | ✔️ | ✔️ (Somente remoto) |
– Renderizar fluxo de vídeo remoto | ✔️ | ✔️ | ✔️ |
Discagem para participantes PSTN do lado do cliente | |||
- Discar para participantes PSTN em chamadas do Virtual Rooms | ✔️ | ❌ | ❌ |
* Disponível apenas na web chamando SDK. Não disponível em SDKs de chamada para iOS e Android
** Atualmente em versão prévia pública.
Manipulação de eventos
Os eventos de chamada de voz e vídeo publicados por meio da Grade de Eventos são anotados com informações de chamada da sala.
- CallStarted é publicado quando uma chamada de sala é iniciada.
- CallEnded é publicado quando uma chamada de sala é encerrada.
- CallParticipantAdded é publicado quando um novo participante ingressa em uma chamada de sala.
- CallParticipantRemoved é publicado quando um participante sai de uma chamada de sala.
Recursos preteridos
A versão de visualização pública anterior da API de Salas dava suporte a duas configurações para o controle da lista de participantes do Rooms, da seguinte forma:
- Uma sala Somente para Convidados, que permitia apenas que usuários convidados participassem da chamada do Rooms.
- Uma Sala Aberta que era menos segura. Na configuração de salas abertas, todos os usuários dos Serviços de Comunicação do Azure podiam ingressar em uma chamada sem serem explicitamente convidados por meio da lista de participantes da sala.
O conceito de Sala Aberta ficou obsoleto. A partir de agora, as salas Somente para Convidados são o único tipo de sala com suporte.
Limitações conhecidas
- As funcionalidades de Automação de Chamadas dos Serviços de Comunicação do Azure atualmente não dão suporte a chamadas do Rooms.
Próximas etapas:
- Use o Início rápido para criar, gerenciar e ingressar em uma sala.
- Saiba como ingressar em uma chamada de sala.
- Saiba como gerenciar uma chamada de sala.
- Examine os Requisitos de rede para mídia e sinalização.
- Analise os dados das suas salas, veja Registros das salas.
- Saiba como usar o espaço de trabalho Log Analytics, veja: Tutorial Log Analytics.
- Crie suas próprias consultas no Log Analytics, veja: Consultas de introdução.