Melhorar e gerir a qualidade das chamadas
Este artigo apresenta as principais ferramentas que você pode usar para monitorar, solucionar problemas e melhorar a qualidade da chamada nos Serviços de Comunicação do Azure. Os materiais a seguir ajudam você a planejar a melhor experiência do usuário.
Antes de ler este artigo, familiarize-se com as informações gerais sobre chamadas:
- Chamadas de voz e vídeo: visão geral do SDK de Chamada dos Serviços de Comunicação do Azure
- Chamadas telefónicas: conceitos de integração da rede telefónica pública comutada (PSTN)
Prepare sua rede e priorize o tráfego de rede importante usando QoS
À medida que seus usuários começam a usar os Serviços de Comunicação do Azure para chamadas e reuniões, eles podem experimentar a voz de um chamador quebrando ou cortando dentro e fora de uma chamada ou reunião. O vídeo compartilhado pode congelar, pixelizar ou falhar completamente. Esse problema é devido aos pacotes IP que representam o tráfego de voz e vídeo encontrando congestionamento de rede e chegando fora de sequência ou não em tudo. Se isso acontecer (ou para evitar que aconteça em primeiro lugar), use a Qualidade de Serviço (QoS) seguindo as recomendações da rede.
Com a QoS, você prioriza o tráfego de rede sensível a atrasos (por exemplo, fluxos de voz ou vídeo). Você permite que o tráfego "corte na linha" na frente do tráfego que é menos sensível. Um exemplo de tráfego de prioridade mais baixa é o download de um novo aplicativo. Nesse caso, um segundo extra para fazer o download não é um problema significativo.
A QoS identifica e marca todos os pacotes em fluxos em tempo real usando objetos de Diretiva de Grupo do Windows e um recurso de roteamento chamado Listas de Controle de Acesso baseadas em Porta. Esse recurso instrui sua rede a fornecer voz, vídeo e compartilhamento de tela sua própria largura de banda de rede dedicada.
Idealmente, você implementa a QoS em sua rede interna enquanto se prepara para implantar sua solução dos Serviços de Comunicação do Azure. Mas você pode fazê-lo a qualquer momento. Se a sua rede for pequena o suficiente, talvez você não precise de QoS.
Para obter orientações detalhadas, consulte Otimização de rede.
Prepare sua implantação para investigações de qualidade e confiabilidade
A qualidade tem diferentes definições, dependendo do caso de uso da comunicação em tempo real e da perspetiva dos usuários. Muitas variáveis afetam a qualidade percebida de uma experiência de chamada em tempo real. Uma melhoria numa variável pode causar uma alteração negativa noutra. 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 da 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 o recurso de API de restrições de vídeo para limitar a quantidade de largura de banda que cada fluxo de vídeo usa.
Implementar o registro em log em plataformas nativas
A implementação do registro em log conforme descrito no tutorial sobre a recuperação de arquivos de log é fundamental para reunir detalhes para o desenvolvimento nativo. Os registos detalhados ajudam a diagnosticar problemas específicos de modelos de dispositivos ou versões de SO. Incentivamos os desenvolvedores que começarem a configurar a API de Logs a obter detalhes sobre o tempo de vida da chamada.
Implementar recursos de qualidade e confiabilidade existentes antes da implantação
Recomendamos que você use esses exemplos de chamadas fáceis de implementar, porque eles já estão otimizados para oferecer aos usuários a melhor qualidade de chamada.
Se os exemplos não atenderem às suas necessidades e você decidir personalizar sua solução de chamada dos Serviços de Comunicação do Azure, implemente os seguintes recursos para dar suporte a uma experiência de chamada de alta qualidade. As ferramentas para esses recursos ajudam a evitar que problemas comuns de qualidade e confiabilidade aconteçam e a diagnosticar problemas se eles ocorrerem. Lembre-se de que alguns dados de chamadas não são criados ou armazenados, a menos que você implemente esses recursos.
As seções a seguir detalham as ferramentas a serem implementadas nas fases de uma chamada:
- Antes de uma chamada: Prontidão 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
Usando as verificações de pré-chamada que os Serviços de Comunicação do Azure fornecem, você pode saber o status da conexão de um usuário antes da chamada e tomar medidas proativas em seu nome. Por exemplo, se você descobrir que a conexão de um usuário é fraca, você pode sugerir que ele desligue o vídeo antes de participar da chamada para ter uma conexão de áudio melhor.
Ferramenta de diagnóstico de rede
A ferramenta de diagnóstico de rede fornece uma experiência hospedada para os desenvolvedores validarem a prontidão da chamada 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 realiza diagnósticos na rede, dispositivos e qualidade da chamada.
Usando a ferramenta de diagnóstico de rede, você pode incentivar os usuários a resolver problemas de confiabilidade e melhorar sua conexão de rede antes de ingressar em uma chamada.
Para obter mais informações, consulte Ferramenta de diagnóstico de rede.
API de pré-chamada para diagnóstico
Talvez você queira criar sua própria ferramenta de diagnóstico ou realizar uma integração mais profunda da ferramenta de diagnóstico de rede em seu aplicativo. Em caso afirmativo, você pode usar a API de pré-chamada para executar a ferramenta de diagnóstico para o 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 de diagnóstico de rede usa para garantir compatibilidade, conectividade e permissões de dispositivo com uma chamada de teste. Você pode decidir a melhor maneira de dizer aos usuários como corrigir problemas antes que as chamadas comecem. Você também pode executar verificações específicas ao solucionar problemas de qualidade e confiabilidade.
Por exemplo, se o teste de hardware de um usuário tiver um problema, você poderá notificá-lo para gerenciar expectativas e alterações para chamadas futuras.
Para obter mais informações, consulte Diagnóstico pré-chamada.
Clientes de chamada 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, seus 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. Esta situação pode acontecer por vários motivos, como estes exemplos:
- O utilizador esqueceu-se de fechar um separador anterior.
- O usuário não poderia participar de uma chamada sem a presença de um organizador da reunião. O usuário tenta selecionar novamente o link para ingressar na reunião, que abre uma guia separada do navegador móvel.
Ter várias guias do navegador de chamadas ao mesmo tempo causa interrupções no comportamento de áudio e vídeo na chamada que o usuário está tentando participar (ou seja, a chamada de destino). Certifique-se de que vários separadores do navegador não estão abertos antes do início de uma chamada e (através da monitorização) durante todo o ciclo de vida da chamada. Você pode notificar proativamente os clientes para fechar as guias em excesso ou ajudá-los a participar de uma chamada corretamente com mensagens úteis se eles inicialmente não puderem participar de uma chamada.
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, consulte Como detetar se um aplicativo usando 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 eles podem ter 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 recursos para gerenciar problemas em uma chamada e se comunicar com seus usuários.
Diagnóstico voltado para o usuário
Quando um usuário está em uma chamada, é importante notificá-lo em tempo real sobre problemas em sua 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 silenciado enquanto fala ou ter uma qualidade de rede ruim.
Você pode personalizar suas mensagens de interface do usuário para melhor se adequar aos seus cenários. Por exemplo:
- Se um sinalizador identificar um problema de rede, você poderá solicitar que os usuários desliguem o vídeo, alterem as redes ou mudem para um local que tenha uma melhor condição de rede ou conexão.
- Se um sinalizador identificar um problema de dispositivo, você pode incentivar o usuário a trocar 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ê achar que os usuários não desligam consistentemente o vídeo depois de receber uma notificação sua, você pode desativar proativamente o vídeo de um usuário para priorizar sua conexão de áudio. Você pode até mesmo ocultar o recurso de vídeo dos clientes em sua interface de usuário antes que eles participem de uma chamada.
Para obter mais informações, consulte Diagnóstico voltado 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ê sabe que seus usuários têm largura de banda de rede limitada ou condições de rede ruins, você pode controlar o uso de rede da conexão de vídeo de um usuário usando 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 pobres.
Para saber mais, consulte 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 silencioso, o dispositivo do ouvinte não receba os pacotes de áudio ou um problema no dispositivo de áudio esteja bloqueando o som. Os usuários não sabem quando a outra pessoa não consegue ouvi-los. Pode utilizar o indicador de entrada e de saída para:
- Indique se o volume de um usuário está baixo ou ausente.
- Solicite que o usuário fale mais alto ou investigue um problema de dispositivo de áudio através da interface do usuário.
Para obter mais informações, consulte o guia de início rápido sobre como adicionar um indicador de volume à chamada pela Web.
Estatísticas sobre a qualidade dos meios de comunicação social
Como as condições da rede podem mudar durante uma chamada, os usuários podem relatar má qualidade de áudio e vídeo, mesmo que tenham iniciado a chamada sem problemas. O recurso de estatísticas de qualidade de mídia fornece métricas de qualidade detalhadas em cada fluxo de áudio, vídeo e compartilhamento de tela de entrada e saída. Essas informações detalhadas ajudam a monitorar chamadas em andamento, mostrar aos usuários o status de qualidade da rede durante 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. Como exemplo, você pode monitorar ativamente o valor do fluxo de availableBitrate
vídeo de saída, notar 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 depois que ela termina. As estatísticas detalhadas de mídia fornecem métricas de baixo nível durante toda a duração da chamada e depois para uma análise mais profunda.
Para saber mais, consulte Estatísticas de qualidade de mídia.
API de contagem de vídeo ideal
Durante uma chamada em grupo com dois ou mais participantes, a qualidade de vídeo de um usuário pode flutuar devido a alterações nas condições da rede e suas limitações específicas de hardware. Usando a API de contagem de vídeo ideal, você pode melhorar a qualidade da chamada de um usuário entendendo quantos fluxos de vídeo seu ponto de extremidade local pode renderizar ao mesmo tempo 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 aos recursos de rede e hardware de um ponto de extremidade local. Essas informações estão disponíveis em tempo de execução e recebem atualizações durante toda a chamada, para que você possa ajustar a experiência visual de um usuário à medida que as condições de rede e hardware mudam.
Para implementar esse recurso, consulte as orientações da plataforma Web Gerenciar vídeo durante chamadas.
Após uma chamada
Antes de lançar e dimensionar sua solução de chamada dos Serviços de Comunicação do Azure, implemente os seguintes recursos de monitoramento de qualidade e confiabilidade para garantir que você esteja coletando logs e métricas disponíveis. Os dados da chamada não são armazenados até que você implemente os recursos, portanto, você não pode monitorar e depurar a qualidade e a confiabilidade da chamada sem eles.
Para obter mais informações, consulte Logs de chamadas de voz e chamadas de vídeo dos Serviços de Comunicação do Azure.
Comece a coletar registros de chamadas
Reveja esta documentação para começar a recolher registos de chamadas: Ative os registos através das Definições de Diagnóstico no Azure Monitor.
Para exibir e analisar os dados no Azure Monitor, recomendamos que você escolha o grupo de categorias allLogs e escolha os detalhes de destino do espaço de trabalho Enviar para o Log Analytics. Se você não tiver um espaço de trabalho do Log Analytics para enviar seus dados, crie um.
Recomendamos que você monitore suas políticas de retenção e uso de dados para considerações de custo, conforme necessário. Para obter mais informações, consulte Controlando custos.
Diagnosticar chamadas usando o Diagnóstico de Chamadas
O Diagnóstico de Chamadas é uma experiência do Azure Monitor que fornece informações personalizadas através de telemetria especializada e páginas de diagnóstico no portal do Azure.
Depois de começar a armazenar dados de log no espaço de trabalho do Log Analytics, você pode visualizar sua pesquisa de chamadas individuais e visualizar os dados no Diagnóstico de chamadas. Na sua conta do Azure Monitor, aceda ao recurso dos Serviços de Comunicação do Azure e localize Diagnóstico de Chamadas no menu de serviço. Para saber como usar melhor esse recurso, consulte Diagnóstico de chamada.
Examine a qualidade da chamada usando insights de voz e vídeo
Depois de habilitar os logs, você pode exibir informações de chamadas em 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 próprias. Para obter mais informações, consulte Pastas de trabalho do Azure.
Para obter exemplos de sugestões de análise mais profundas, consulte Consultar logs de chamadas.
Analise o sentimento do usuário usando a Pesquisa de Fim de Chamada
O feedback dos clientes é inestimável. A Pesquisa de Fim de Chamada ajuda você a entender como seus usuários percebem a qualidade geral e a confiabilidade de sua solução de chamada JavaScript ou SDK da Web.
Você pode modificar a pesquisa para vários formatos se já tiver uma solução de pesquisa em vigor. Depois de publicar os dados da pesquisa, você pode exibir os resultados no Azure Monitor para análise e melhorias. Os Serviços de Comunicação do Azure também usam os resultados da API de pesquisa para monitorar e melhorar a qualidade e a confiabilidade das chamadas.
Para implementar o recurso, consulte Tutorial: Use a pesquisa de fim de chamada para coletar comentários dos usuários. Depois de habilitar as configurações de diagnóstico para capturar os dados da pesquisa, você pode usar consultas de log de chamadas de exemplo no Azure Log Analytics para analisar a experiência de qualidade percebida do usuário. O feedback dos usuários pode mostrar problemas que você não sabia que tinha e ajudá-lo a priorizar suas melhorias de qualidade.
Para saber mais, consulte Visão geral da pesquisa de fim de chamada.
Analise seus dados de chamada diretamente do cliente
Ao coletar dados de chamadas, como estatísticas de mídia, diagnósticos voltados para o usuário e informações de API pré-chamada, você pode revisar chamadas de baixa qualidade para realizar análises de causa básica ao solucionar problemas.
Por exemplo, um usuário pode ter uma chamada de uma hora 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 revisar quando o sinalizador Diagnóstico Voltado para o Usuário ocorreu para ver se altos níveis de perda de pacotes, desvios ou latência nesse momento indicam 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, tráfego de rede desnecessário devido a políticas de priorização de rede QoS inadequadas ou uma VPN (rede virtual privada) desnecessária.
Nota
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 áudio e vídeo antes de outro tráfego de rede. Quando uma rede não suporta áudio e vídeo, pode desativar proativamente o vídeo de um utilizador ou incentivar um utilizador a desativar o vídeo.
Pedir suporte
Se você encontrar problemas de qualidade ou confiabilidade que não pode resolver, envie uma solicitação de suporte técnico. Quanto mais informações puder fornecer no seu pedido, melhor. (Os logs nativos são cruciais para otimizar o tempo de resposta.) No entanto, você ainda pode enviar solicitações com informações parciais para iniciar sua consulta. Para obter mais informações, veja Criar um pedido de suporte do Azure.
Se você for notificado sobre os requisitos de licença enquanto tenta solicitar suporte técnico, talvez seja necessário escolher um plano de suporte pago do Azure que melhor se alinhe às suas necessidades. Consulte Comparar planos de suporte.
Se preferir não adquirir suporte, pode tirar partido do apoio da comunidade. Consulte Suporte da Comunidade do Azure.
Outras considerações
Se você não tiver acesso ao portal do Azure do seu cliente para exibir dados vinculados à ID de recurso do Azure, poderá solicitar a consulta de seus espaços de trabalho para melhorar a qualidade em seu nome. Para obter mais informações, consulte Consultar dados em espaços de trabalho, aplicativos e recursos do Log Analytics no Azure Monitor.
Conteúdos relacionados
- Conheça outras práticas recomendadas: Práticas recomendadas: Serviços de Comunicação do Azure chamando SDKs.
- Explore problemas conhecidos: problemas conhecidos nos SDKs e APIs.
- Saiba como depurar chamadas: Diagnóstico de chamadas.
- Saiba como usar o espaço de trabalho do Log Analytics: tutorial do Log Analytics.
- Crie suas próprias consultas: Introdução às consultas de log no Azure Monitor.