Compartilhar via


Visão geral dos logs de chamadas dos Serviços de Comunicação do Azure

Os Serviços de Comunicação do Azure fornecem funcionalidades de log que você pode usar para monitorar e depurar a solução dos Serviços de Comunicação. Configurar esses recursos por meio do portal do Azure.

O conteúdo deste artigo refere-se aos logs habilitados por meio do Azure Monitor (consulte também as perguntas frequentes). Para habilitar esses logs para os Serviços de Comunicação, confira Habilitar o registro em log nas configurações de diagnóstico.

Importante

Você deve coletar os logs se quiser analisá-los. Para saber mais, confira: Como armazeno os logs?

O Azure não armazena seus dados de log de chamadas, a menos que você habilite essas Configurações de Diagnóstico específicas. Seus dados de chamada não estão disponíveis retroativamente. Você acumula dados depois de criar as Configurações de Diagnóstico.

Como usar os logs de chamada

Recomendamos que você colete todos os logs de chamada disponíveis em um recurso de análise de logs para monitorar o uso de chamadas e melhorar a qualidade da chamada e receber novos logs dos Serviços de Comunicação do Azure à medida que os liberamos.

Há duas ferramentas principais que você pode usar para monitorar suas chamadas e melhorar a qualidade da chamada.

É recomendável usar o Painel de insights de voz e vídeo para iniciar as investigações de qualidade e usar o Diagnóstico de chamadas conforme necessário para explorar chamadas individuais quando precisar de detalhes granulares.

Logs disponíveis

Os Serviços de Comunicação do Azure criam oito logs de chamadas:

Logs de atualizações de resumo de chamadas:

Esses dados de log chegam ao Azure Monitor mais rápido do que os logs de resumo de chamadas e recomendamos usar esses logs em vez do esquema de log de resumo de chamadas. Este log contém informações básicas sobre a chamada, incluindo todas as IDs relevantes, os carimbos de data/hora, os pontos de extremidade e as informações do SDK.

Para saber mais, confira: Esquema de log de atualizações de resumo da chamada

Logs de resumo da chamada:

Esse log é um subconjunto do esquema de log de atualizações de resumo da chamada. Contém informações básicas sobre a chamada, incluindo todas as IDs relevantes, os carimbos de data/hora, os pontos de extremidade e as informações do SDK. Para obter uma latência de log mais rápida, use os logs de atualizações de resumo da chamada.

Para saber mais, confira: Esquema de log de resumo da chamada

Logs de atualizações de diagnóstico de chamada::

Esses dados de log chegam ao Azure Monitor mais rápido do que os logs de diagnóstico de chamadas e recomendamos usar esses logs em vez do esquema de log de diagnóstico de chamadas. Esse log contém informações sobre o fluxo de mídia de chamada de um participante, juntamente com um conjunto de métricas que indicam a qualidade das medidas de experiência.

Para saber mais, confira: Chamar o esquema de log de atualizações de diagnóstico

Logs de diagnóstico de chamada:

Esse log é um subconjunto do esquema de log de atualizações de diagnóstico de chamada. Contém informações sobre o fluxo, bem como um conjunto de métricas que indicam a qualidade das medidas de experiência. Para obter uma latência de log mais rápida, use os logs de atualizações de resumo da chamada.

Para saber mais, confira: Esquema de log de diagnóstico de chamada

Chamar log de operações do cliente:

Contém eventos detalhados do cliente de chamada. Esses eventos de log são gerados para cada EndpointId em uma chamada e o número de logs de eventos gerados depende das operações executadas pelo participante durante a chamada.

Para saber mais, confira: Esquema de log de operações do cliente de chamada

Logs de estatísticas de mídia do cliente de chamada:

Contém valores detalhados de fluxo de mídia. Esses logs são gerados para cada fluxo de mídia em uma chamada. Para cada EndpointId em uma chamada (incluindo o servidor), os Serviços de Comunicação do Azure criam um log distinto para cada fluxo de mídia (áudio ou vídeo, por exemplo) entre pontos de extremidade. O volume de dados gerados em cada log depende da duração da chamada e do número de fluxos de mídia na chamada.

Em uma chamada P2P, cada log contém dados que tem relação com cada um dos fluxos de saída associados a cada ponto de extremidade. Em uma chamada de grupo, cada fluxo associado a endpointType = "Server" cria um log que contém dados para os fluxos de entrada. Todos os outros fluxos criam logs que contêm dados para os fluxos de saída para todos os pontos de extremidade que não são de servidor. Em chamadas de grupo, use o valor participantId como a chave para unir os logs de entrada e saída relacionados a uma conexão de participante distinta.

Para saber mais, confira: Esquema de log de séries temporais de estatísticas de mídia do cliente de chamada

Logs da pesquisa de fim de chamada:

Esses logs são preenchidos quando o cliente de chamada da Web envia uma pesquisa no final da chamada. Você poderá usar esses logs para aprender a percepção subjetiva da qualidade da chamada de seus usuários.

Para saber mais, confira: Visão geral da pesquisa de fim de chamada

Logs de métricas de chamada:

Esses logs contêm métricas de chamada agregadas em compartimentos diários com base em atributos como versão do SDK, nome do sistema operacional e subcodificação de erro. Esses logs são usados no painel de insights de voz e vídeo para visualizar grafos de longo prazo de confiabilidade, qualidade e desempenho com base na contagem de chamadas bem-sucedidas e com falha de chamadas à API do SDK de várias operações.

Para saber mais, confira: Esquema de log de métricas de chamada

Conceitos de dados

As descrições de alto nível a seguir dos conceitos de dados são específicas para chamada de voz e vídeo. É importante revisar esses conceitos para que você possa entender o significado dos dados capturados nos logs.

Entidades e IDs

Familiarize-se com os seguintes termos:

  • Chamada: conforme representado nos dados, uma chamada é uma abstração representada por correlationId. Os valores de correlationId são exclusivos para cada chamada e são associados ao tempo com base em callStartTime e callDuration.

  • Participante: representa a conexão entre um ponto de extremidade e o servidor. Um participante (participantId) só está presente quando há uma chamada em grupo.

  • Ponto de extremidade: a entidade mais exclusiva, representada por endpointId. Cada chamada é um evento que contém dados de dois ou mais pontos de extremidade. Os pontos de extremidade representam os participantes na chamada.

    EndpointType informa se o ponto de extremidade é um usuário humano (PSTN ou VoIP), um bot ou o servidor que está gerenciando vários participantes em uma chamada. Quando um valor de endpointType é "Server", o ponto de extremidade não recebe uma ID exclusiva. Você pode analisar endpointType e o número de valores endpointId para determinar quantos usuários e outros participantes não humanos (bots e servidores) ingressam em uma chamada.

    Os SDKs nativos para Android e iOS reutilizam o mesmo valor endpointId para um usuário em várias chamadas, para que você possa entender as experiências entre as sessões. Esse processo difere dos pontos de extremidade baseados na Web, que sempre geram um novo valor endpointId para cada nova chamada.

  • Fluxo: a entidade mais granular. Há um fluxo para cada direção (entrada ou saída) e um valor mediaType (por exemplo, Audio ou Video).

P2P versus chamadas em grupo

Observação

Neste artigo, o P2P e as chamadas de grupo estão dentro do mesmo locatário por padrão. Todos os cenários de chamada que são entre locatários são especificados adequadamente ao longo do artigo.

Há dois tipos de chamadas, conforme representado por callType:

  • Chamadas P2P (ponto a ponto): uma conexão entre apenas dois pontos de extremidade, sem nenhum ponto de extremidade de servidor. As chamadas P2P são iniciadas como uma chamada entre esses pontos de extremidade e não são criadas como um evento de chamada em grupo antes da conexão.

    Diagrama mostrando uma chamada P2P em dois pontos de extremidade.

  • Chamada de grupo: qualquer chamada com mais de dois pontos de extremidade conectados. As chamadas em grupo incluem um ponto de extremidade do servidor, e a conexão entre cada ponto de extremidade e o servidor. As chamadas P2P que adicionam outro ponto de extremidade durante a chamada deixam de ser P2P e se tornam uma chamada em grupo. Você pode determinar a linha do tempo de quando cada ponto de extremidade ingressou na chamada usando as métricas participantStartTime e participantDuration.

    Diagrama mostrando uma chamada de grupo em vários pontos de extremidade.

Exemplos de vários tipos de chamadas

Observação

Neste artigo, o P2P e as chamadas de grupo estão dentro do mesmo locatário por padrão. Todos os cenários de chamada que são entre locatários são especificados adequadamente ao longo do artigo.

Exemplo: chamada P2P

O diagrama a seguir representa dois pontos de extremidade conectados diretamente em uma chamada P2P. Neste exemplo, os Serviços de Comunicação criam dois logs de resumo de chamadas (um para cada valor participantID) e quatro logs de diagnóstico de chamadas (um para cada fluxo de mídia).

Para os participantes do cliente de chamada do Serviços de Comunicação do Azure, há também uma série de logs de operações de cliente de chamada e logs de série temporal de estatísticas de mídia do cliente. O número exato desses logs depende de que tipo de operações do SDK são chamadas e da duração da chamada.

Diagrama mostrando uma chamada P2P dentro do mesmo locatário.

Exemplo: chamada de grupo

O diagrama a seguir representa um exemplo de chamada de grupo com três valores participantId (o que significa três participantes) e um ponto de extremidade do servidor. Vários valores para endpointId podem aparecer potencialmente em vários participantes, por exemplo, quando eles reencontram uma chamada do mesmo dispositivo. Os Serviços de Comunicação criam um log de resumo de chamadas para cada valor participantId. Ele cria quatro logs de diagnóstico de chamada: um para cada fluxo de mídia por participantId.

Para os Serviços de Comunicação do Azure chamar os participantes do cliente, os logs de operações de cliente de chamada são iguais às chamadas P2P. Para cada participante que usa o SDK de chamada, há uma série de logs de operações de cliente de chamada.

Para os participantes do cliente de chamada do Serviços de Comunicação do Azure, os logs de operações de cliente de chamada e logs de série temporal de estatísticas de mídia do cliente são os mesmos que nas chamadas P2P. Para cada participante que usa o SDK de chamada, há uma série de logs de operações de cliente de chamada e chamará logs de série temporal de estatísticas de mídia do cliente.

Diagrama mostrando uma chamada de grupo dentro do mesmo locatário.

Exemplo: chamada P2P entre locatários

O diagrama a seguir representa dois participantes em vários locatários conectados diretamente em uma chamada P2P. Neste exemplo, os Serviços de Comunicação criam um log de resumo de chamadas (um para cada participante) com versões redigidas do sistema operacional e do SDK. Os Serviços de Comunicação também criam quatro logs de diagnóstico de chamadas (um para cada fluxo de mídia). Cada log contém dados relacionados ao fluxo de saída de participantID.

Diagrama mostrando uma chamada P2P entre locatários.

Exemplo: chamada de grupo entre locatários

O diagrama a seguir representa um exemplo de chamada de grupo com três valores participantId entre vários locatários. Os Serviços de Comunicação criam um log de resumo de chamadas para cada participante com versões redigidas do sistema operacional e do SDK. Os Serviços de Comunicação também criam quatro logs de diagnóstico de chamadas relacionados a cada valor participantId (um para cada fluxo de mídia).

Diagrama mostrando uma chamada de grupo entre locatários.

Observação

Esta versão dá suporte apenas aos logs de diagnóstico de saída. As versões do sistema operacional e do SDK associadas ao bot e ao participante podem ser redigidas porque os Serviços de Comunicação tratam identidades de participantes e bots da mesma maneira.

Perguntas frequentes

Como armazenar logs?

A seção a seguir explica esse requisito.

Os logs dos Serviços de Comunicação do Azure não são armazenados em sua conta do Azure por padrão, portanto, você precisa começar a armazená-los para que as ferramentas como painel de insights de voz e vídeo e o diagnóstico de chamadas funcionem. Para coletar esses logs de chamadas, habilite uma configuração de diagnóstico que direcione os dados de chamada para um workspace do Log Analytics.

Os dados não são armazenados retroativamente, portanto, você começa a capturar logs de chamadas somente depois de definir a configuração de diagnóstico.

Siga as instruções para adicionar configurações de diagnóstico ao seu recurso em Habilitar logs via Configurações de Diagnóstico no Azure Monitor. Recomendamos que você inicialmente colete todos os logs. Depois de entender as funcionalidades no Azure Monitor, determine quais logs você deseja manter e por quanto tempo. Ao adicionar sua configuração de diagnóstico, você será solicitado a selecionar logs. Para coletar todos os logs, selecione allLogs.

O volume, a retenção e a utilização de dados no Log Analytics no Azure Monitor são cobrados por meio de medidores de dados existentes do Azure. 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.

Se você tiver várias IDs de recurso dos Serviços de Comunicação do Azure, deverá habilitar essas configurações para cada ID de recurso.

Próximas etapas