Monitorar e gerenciar a qualidade da chamada
Este artigo apresenta as principais ferramentas que você pode usar para monitorar, solucionar problemas e aprimorar a qualidade da chamada nos Serviços de Comunicação do Azure. Os materiais a seguir ajudarão você a planejar a melhor experiência do usuário.
Antes de ler este artigo, familiarize-se com as informações de visão geral sobre a chamada:
- Chamada de voz e vídeo: Visão geral do SDK de Chamadas dos Serviços de Comunicação do Azure
- Chamadas telefônicas: Conceitos sobre a integração da PSTN (Rede Telefônica Pública Comutada)
Preparar sua rede e priorizar o tráfego importante usando a QoS
À medida que os usuários começam a usar os Serviços de Comunicação do Azure para chamadas e reuniões, eles podem enfrentar problemas de interrupção ou de corte da voz de um chamador de uma chamada ou uma reunião. O vídeo compartilhado pode congelar, pixelar ou falhar por completo. Esse problema ocorre devido aos pacotes de IP que representam o tráfego de voz e vídeo encontrando congestionamento de rede e chegando fora de sequência ou não. Se isso acontecer (ou impedir que isso aconteça em primeiro lugar), use a QoS seguindo as recomendações sobre rede.
Com a QoS, você prioriza o tráfego no qual qualquer atraso é crucial (por exemplo, fluxos de voz ou vídeo). Você permite que esse tráfego “fure a fila” na frente do tráfego que é menos crítico. Um exemplo de tráfego de prioridade mais baixa é o download de um novo aplicativo. Nesse caso, um segundo extra para download não é um problema significativo.
A QoS identifica e marca todos os pacotes em fluxos em tempo real usando objetos da Política de Grupo do Windows e um recurso de roteamento chamado Listas de Controle de Acesso baseadas em porta. Esse recurso instrui a rede a fornecer uma largura de banda de rede dedicada e própria à voz, ao vídeo e ao compartilhamento de tela.
O ideal é que você implemente a QoS na rede interna enquanto se prepara para implantar sua solução dos Serviços de Comunicação do Azure. No entanto, você pode fazer isso a qualquer momento. Se a sua rede é pequena o suficiente, talvez você não precise da QoS.
Para obter diretrizes detalhadas, confira Otimização de rede.
Preparar sua implantação para investigações de qualidade e confiabilidade
A qualidade tem definições diferentes dependendo do caso de uso da comunicação em tempo real e da perspectiva dos usuários. Muitas variáveis afetam a qualidade percebida de uma experiência de chamada em tempo real. Um aprimoramento em uma variável pode causar uma alteração negativa em outra variável. Por exemplo, aumentar a taxa de quadros e a resolução de uma chamada de vídeo aumenta a utilização da largura de banda de rede e o poder de processamento.
Determine os casos de uso e os requisitos do cliente antes de iniciar o desenvolvimento. Por exemplo, um cliente que precisa monitorar dezenas de feeds de câmeras de segurança simultaneamente pode não precisar da resolução máxima e da taxa de quadros que cada fluxo de vídeo pode fornecer. Nesse cenário, você pode usar a funcionalidade API de Restrições de Vídeo para limitar a quantidade de largura de banda que cada fluxo de vídeo usa.
Implementar o log em plataformas nativas
Implementar o log conforme descrito no tutorial sobre a recuperação de arquivos de log é fundamental para coletar detalhes para o desenvolvimento nativo. Os logs detalhados ajudam a diagnosticar problemas específicos de modelos de dispositivo ou de versões do sistema operacional. Incentivamos os desenvolvedores que começam a configurar a API de Logs a obter detalhes sobre o tempo de vida da chamada.
Implementar funcionalidades de qualidade e confiabilidade existentes antes da implantação
Recomendamos que você use estas amostras de chamada fáceis de implementar, pois eles já estão otimizados para dar aos usuários a melhor qualidade de chamada.
Se as amostras não atenderem às suas necessidades e você decidir personalizar sua solução de chamada dos Serviços de Comunicação do Azure, implemente as funcionalidades a seguir para dar suporte a uma experiência de chamada de alta qualidade. As ferramentas para essas funcionalidades ajudam a impedir que problemas comuns de qualidade e confiabilidade ocorram e diagnosticam os problemas caso eles ocorram. Tenha em mente que alguns dados de chamada não são criados ou armazenados, a menos que você implemente essas funcionalidades.
As seguintes seções fornecem detalhes das ferramentas a serem implementadas nas fases de uma chamada:
- Antes de uma chamada: preparação de pré-chamada.
- Durante uma chamada: comunicação em chamada.
- Após uma chamada: monitoramento e solução de problemas de qualidade e confiabilidade da chamada.
Antes de uma chamada
Ao usar as verificações de pré-chamada fornecidas pelos Serviços de Comunicação do Azure, você pode saber o status de conexão de um usuário antes da chamada e tomar medidas proativas em nome dele. Por exemplo, se você souber que a conexão de um usuário é ruim, você poderá sugerir que ele desative o vídeo antes de ingressar na chamada para ter uma conexão de áudio melhor.
Ferramenta Diagnóstico de Rede
A ferramenta Diagnóstico de Rede oferece uma experiência hospedada para os desenvolvedores validarem a preparação de chamadas durante o desenvolvimento. Você pode verificar se o dispositivo e as condições de rede de um usuário são ideais para se conectar ao serviço para ajudar a garantir uma ótima experiência de chamada. A ferramenta executa diagnósticos na rede, dispositivos e qualidade de chamada.
Usando a ferramenta Diagnóstico de Rede, você pode incentivar os usuários a resolver problemas de confiabilidade e aprimorar a conexão de rede antes de eles ingressarem em uma chamada.
Para obter mais informações, confira Ferramenta Diagnóstico de Rede.
API de pré-chamada para diagnóstico
Talvez você queira criar sua ferramenta de diagnóstico ou fazer uma integração mais profunda da ferramenta Diagnóstico de Rede ao seu aplicativo. Nesse caso, você pode usar a API de Pré-Chamada para executar a ferramenta de diagnóstico do SDK de Chamada.
A API de Pré-Chamada permite personalizar a experiência na interface do usuário. Em seguida, você pode executar a mesma série de testes que a ferramenta Diagnóstico de Rede usa para garantir a compatibilidade, a conectividade e as permissões de dispositivo com uma chamada de teste. Você pode decidir a melhor maneira de informar aos usuários sobre como corrigir problemas antes do início das chamadas. Também é possível fazer verificações específicas ao solucionar problemas de qualidade e de confiabilidade.
Por exemplo, se o teste de hardware de um usuário tiver um problema, você poderá notificar o usuário para gerenciar as expectativas e alterar as chamadas futuras.
Para obter mais informações, confira Diagnóstico de Pré-chamada.
Clientes de chamadas conflitantes
Como as chamadas de voz e vídeo dos Serviços de Comunicação do Azure são executadas em navegadores da Web e móveis, os usuários podem ter várias guias do navegador executando instâncias separadas do SDK de Chamada dos Serviços de Comunicação do Azure. Essa situação pode ocorrer por vários motivos, como estes exemplos:
- O usuário esqueceu de fechar uma guia anterior.
- O usuário não pôde ingressar em uma chamada sem um organizador da reunião presente. O usuário tenta novamente selecionar o link para ingressar na reunião, o que abre uma guia separada do navegador móvel.
Ter várias guias do navegador da chamada ao mesmo tempo causa interrupções no comportamento de áudio e vídeo na chamada em que o usuário está tentando ingressar (ou seja, a chamada de destino). Você deve garantir que várias guias do navegador não estejam abertas antes do início de uma chamada e (por meio do monitoramento) durante todo o ciclo de vida da chamada. Você pode notificar de maneira proativa os clientes para fecharem as guias em excesso ou ajudá-los a ingressar em uma chamada corretamente com mensagens úteis, caso eles não possam ingressar em uma chamada inicialmente.
Para verificar se o usuário tem várias instâncias dos Serviços de Comunicação do Azure em execução em um navegador, confira Como detectar se um aplicativo que usa o SDK dos Serviços de Comunicação do Azure está ativo em várias guias de um navegador.
Durante uma chamada
Durante uma chamada, as condições de rede de um usuário podem piorar ou apresentar problemas de confiabilidade e compatibilidade. Essas situações podem resultar em uma experiência de chamada ruim. As seções a seguir ajudam você a aplicar funcionalidades para gerenciar problemas em uma chamada e se comunicar com os usuários.
Diagnóstico voltado para o usuário
Quando um usuário está em uma chamada, é importante notificá-lo em tempo real sobre os problemas na chamada. O recurso Diagnóstico Voltado para o Usuário fornece sinalizadores em tempo real para problemas que afetam o usuário, como ter o microfone mudo durante a conversa ou ter uma qualidade de rede ruim.
Você pode adaptar as mensagens de interface do usuário para definir melhor seus cenários. Por exemplo:
- Se um sinalizador identificar um problema de rede, você poderá solicitar que os usuários desativem o vídeo, alterem as redes ou mudem para uma localização que tenha uma melhor condição de rede ou conexão.
- Se um sinalizador identificar um problema de dispositivo, você poderá chamar a atenção do usuário para que ele mude de dispositivo.
Além das mensagens, você pode agir em nome dos usuários e considerar abordagens proativas para proteger a largura de banda limitada que um usuário tem. Se você descobrir que os usuários não desativam de maneira consistente o vídeo após receberem uma notificação sua, poderá desativar de maneira proativa o vídeo de um usuário para priorizar a conexão de áudio. Você pode até mesmo ocultar a funcionalidade de vídeo dos clientes na interface do usuário antes que eles ingressem em uma chamada.
Para obter mais informações, consulte Diagnósticos voltados para o usuário.
Restrições de vídeo
Os fluxos de vídeo consomem grandes quantidades de largura de banda de rede. Se você souber que os usuários têm largura de banda de rede limitada ou condições de rede ruins, poderá controlar o uso de rede da conexão de vídeo de um usuário usando as restrições de vídeo. Quando você limita a quantidade de largura de banda que o fluxo de vídeo de um usuário pode consumir, você pode proteger a largura de banda necessária para uma boa qualidade de áudio em ambientes de rede ruins.
Para saber mais, confira Restrições de vídeo.
Indicador de volume
Às vezes, os usuários não conseguem ouvir uns aos outros. Talvez o alto-falante esteja muito baixo, o dispositivo do ouvinte não receba os pacotes de áudio ou um problema de dispositivo de áudio esteja bloqueando o som. Os usuários não sabem quando a outra pessoa não consegue ouvi-los. Você pode usar o indicador de entrada e saída para:
- Indicar se o volume de um usuário está baixo ou ausente.
- Solicitar que o usuário fale mais alto ou investigue um problema de dispositivo de áudio por meio da interface do usuário.
Para obter mais informações, confira o início rápido sobre como adicionar um indicador de volume à chamada da Web.
Estatísticas de qualidade de mídia
Como as condições de rede podem mudar durante uma chamada, os usuários poderão relatar uma qualidade de áudio e vídeo ruim mesmo se iniciarem a chamada sem problemas. O recurso estatísticas de qualidade de mídia fornece métricas detalhadas de qualidade sobre cada fluxo de compartilhamento de entrada e saída, vídeo e compartilhamento de tela. Esses insights detalhados ajudam você a monitorar chamadas em andamento, mostrar aos usuários seu status de qualidade de rede em uma chamada e depurar chamadas individuais.
As métricas desse recurso ajudam a indicar problemas nos fluxos de mídia do SDK do Cliente dos Serviços de Comunicação do Azure para envio e recebimento. Por exemplo, você pode monitorar ativamente o valor availableBitrate
do fluxo de vídeo de saída, perceber uma queda persistente abaixo dos 1,5 Mbps recomendados e notificar o usuário de que a qualidade do vídeo está degradada.
Os dados de log do servidor fornecem apenas um resumo geral da chamada após o término. As estatísticas detalhadas de mídia fornecem métricas de baixo nível ao longo da duração da chamada e posteriormente para uma análise mais profunda.
Para saber mais, confira Estatísticas de qualidade da mídia.
API de Contagem de Vídeo Ideal
Durante uma chamada em grupo com dois ou mais participantes, a qualidade do vídeo de um usuário pode flutuar devido a alterações nas condições de rede e limitações de hardware específicas. Usando a API de Contagem de Vídeo Ideal, você pode aprimorar a qualidade da chamada de um usuário entendendo quantos fluxos de vídeo o ponto de extremidade local pode renderizar por vez sem piorar a qualidade.
Ao implementar esse recurso, você pode preservar a qualidade da chamada e a largura de banda dos pontos de extremidade locais que, de outra forma, tentariam renderizar o vídeo mal. A API expõe a propriedade, optimalVideoCount
, que muda dinamicamente em resposta às funcionalidades de rede e hardware de um ponto de extremidade local. Essas informações estão disponíveis em runtime e são atualizadas em toda a chamada, de modo que você ajuste a experiência visual de um usuário à medida que as condições de rede e hardware mudam.
Para implementar esse recurso, confira as diretrizes da plataforma da Web Gerenciar o vídeo durante as chamadas.
Após uma chamada
Antes de lançar e escalar sua solução de chamada dos Serviços de Comunicação do Azure, implemente as funcionalidades de monitoramento a seguir para qualidade e confiabilidade, a fim de garantir que você esteja coletando os logs e as métricas disponíveis. Os dados de chamada não são armazenados até que você implemente as funcionalidades. Portanto, não é possível monitorar e depurar a qualidade e a confiabilidade da chamada sem elas.
Para obter mais informações, confira Logs de chamada de voz e chamada de vídeo dos Serviços de Comunicação do Azure.
Começar a coletar logs de chamadas
Examine esta documentação para começar a coletar logs de chamadas: Habilitar logs por meio de Configurações de Diagnóstico no Azure Monitor.
Para ver e analisar os dados no Azure Monitor, recomendamos que você escolha o grupo de categorias allLogs e escolha os detalhes de destino de Enviar para o workspace do Log Analytics. Se você não tiver um workspace do Log Analytics para o qual seus dados podem ser enviados, crie um.
Recomendamos que você monitore o uso de dados e as políticas de retenção em relação às considerações de custo, conforme necessário. Para obter mais informações, confira Como controlar os custos.
Diagnosticar chamadas usando o Diagnóstico de Chamadas
O Diagnóstico de Chamadas é uma experiência do Azure Monitor que fornece insights personalizados por meio de páginas especializadas de telemetria e diagnóstico no portal do Azure.
Depois de começar a armazenar dados de log no workspace do Log Analytics, você poderá visualizar sua pesquisa por chamadas individuais e visualizar os dados no Diagnóstico de Chamadas. Na sua conta do Azure Monitor, acesse o recurso dos Serviços de Comunicação do Azure e localize o Diagnóstico de Chamadas no menu de serviço. Para saber como usar melhor essa funcionalidade, confira Diagnóstico de Chamadas.
Analisar a qualidade da chamada usando insights de voz e vídeo
Depois de habilitar os logs, você poderá ver os insights de chamada no seu recurso do Azure usando os exemplos de visualização em Insights de voz e vídeo.
Você pode modificar as pastas de trabalho existentes ou até mesmo criar as suas. Para saber mais, confira Workbooks do Azure.
Para ver exemplos de uma sugestão de análise mais detalhada, confira Consultar logs de chamada.
Analisar o sentimento do usuário usando a Pesquisa de Fim de Chamada
Os comentários dos clientes são inestimáveis. A Pesquisa de Fim de Chamada ajuda você a entender a opinião dos usuários sobre a qualidade geral e a confiabilidade da sua solução de chamada do SDK da Web ou do JavaScript.
Você poderá modificar a pesquisa para vários formatos se já tiver uma solução de pesquisa em vigor. Depois de publicar dados da pesquisa, você poderá exibir os resultados no Azure Monitor para análise e aprimoramentos. Os Serviços de Comunicação do Azure também usam os resultados da API da Pesquisa para monitorar e aprimorar a qualidade e a confiabilidade da chamada.
Para implementar o recurso, confira Tutorial: Usar a Pesquisa de Fim de Chamada para coletar comentários do usuário. Depois de habilitar as configurações de diagnóstico para capturar os dados da pesquisa, você poderá usar as consultas de log de chamada de exemplo do Azure Log Analytics para analisar a experiência de qualidade percebida pelo usuário. Os comentários dos usuários podem mostrar problemas de chamada que você não sabia que tinha e ajudar você a priorizar seus aprimoramentos de qualidade.
Para saber mais, confira Visão geral da Pesquisa de Fim de Chamada.
Analisar seus dados de chamada diretamente do cliente
Ao coletar dados de chamada, como as estatísticas de mídia, o Diagnóstico Voltado para o Usuário e as informações de API de pré-chamada, você pode analisar chamadas de baixa qualidade para conduzir a análise de causa raiz ao solucionar problemas.
Por exemplo, um usuário pode ter uma chamada de uma hora de duração e relatar áudio ruim em um ponto da chamada. A chamada pode ter disparado um sinalizador de diagnóstico voltado para o usuário que indicava um problema grave com a qualidade de um fluxo de mídia de entrada ou saída.
Ao armazenar as estatísticas detalhadas de mídia da chamada, você pode analisar quando o sinalizador do Diagnóstico Voltado para o Usuário ocorreu para ver se os altos níveis de perda de pacotes, a tremulação ou a latência por volta desta hora indicavam uma condição de rede ruim. Por exemplo, você pode explorar se a rede foi afetada pela rede não gerenciada de um cliente externo, o tráfego desnecessário devido a políticas de priorização de rede de QoS inadequadas ou uma VPN (rede virtual privada) desnecessária.
Observação
Como regra, recomendamos priorizar a largura de banda da conexão de áudio de um usuário antes da conexão de vídeo. Recomendamos priorizar o áudio e o vídeo antes de outro tráfego. Quando uma rede não pode dar suporte a áudio e vídeo, você pode desabilitar de maneira proativa o vídeo de um usuário ou chamar a atenção de um usuário para desabilitar o vídeo.
Solicitar suporte
Se você encontrar problemas de qualidade ou confiabilidade que não consegue resolver, envie uma solicitação de suporte técnico. Quanto mais informações você puder fornecer na solicitação, melhor. (Os logs nativos são cruciais para otimizar o tempo de resposta). No entanto, você ainda poderá enviar solicitações com informações parciais para iniciar sua investigação. Para obter mais informações, confira Criar uma solicitação de Suporte do Azure.
Caso você seja notificado sobre os requisitos de licença ao tentar solicitar o suporte técnico, talvez seja necessário escolher um plano de suporte pago do Azure que melhor se alinhe às suas necessidades. Confira Comparar planos de suporte.
Se preferir não comprar o suporte, aproveite o suporte da comunidade. Confira Suporte da Comunidade do Azure.
Outras considerações
Se você não tiver acesso ao portal do Azure do cliente para ver os dados vinculados à ID do recurso do Azure, solicite a consulta dos workspaces para aprimorar a qualidade em seu nome. Para obter mais informações, confira Consultar dados em workspaces do Log Analytics, aplicativos e recursos no Azure Monitor.
Conteúdo relacionado
- Aprenda outras melhores práticas: Melhores práticas: SDKs de chamada dos Serviços de Comunicação do Azure.
- Explore problemas conhecidos: Problemas conhecidos nos SDKs e nas APIs.
- Saiba como depurar chamadas: Diagnóstico de Chamadas.
- Saiba como usar o workspace do Log Analytics: Tutorial do Log Analytics.
- Crie suas consultas: Introdução às consultas de log no Azure Monitor.