Esquema de log de resumo das chamadas
O log de resumo das chamadas contém dados para ajudar a identificar as principais propriedades de todas as chamadas. Um log de resumo das chamadas diferente é criado para cada valor participantId
(ou endpointId
para chamadas de ponto a ponto [P2P]) na chamada.
Para cada participante em uma chamada, os Serviços de Comunicação criam um log de resumo de chamadas distinto. Se alguém reingressar em uma chamada, esse participante terá o mesmo valor EndpointId
, mas um valor ParticipantId
diferente. Esse ponto de extremidade pode ter dois logs de resumo de chamadas.
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.
Conceitos de dados
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.
Definições de dados
Esquema de log de resumo das chamadas
Importante
As informações do participante no log de resumo das chamadas variam de acordo com o locatário participante. A versão do SDK e a versão do sistema operacional serão redigidas se o participante não estiver dentro do mesmo locatário (também chamado de Entre locatários) que o recurso dos Serviços de Comunicação. Os participantes entre locatários são classificados como usuários externos convidados por um locatário de recursos para ingressar e colaborar durante uma chamada.
Essa tabela descreve cada propriedade.
Propriedade | Descrição |
---|---|
time |
O carimbo de data/hora (UTC) quando o log foi gerado. |
operationName |
A operação associada ao registro de log. |
operationVersion |
O valor api-version associado à operação, se a operação operationName foi executada por meio de uma API. Se nenhuma API corresponder a essa operação, a versão representará a versão da operação, caso as propriedades associadas à operação sejam alteradas no futuro. |
category |
A categoria de log do evento. A propriedade é a granularidade na qual você pode habilitar ou desabilitar os logs em determinado recurso. As propriedades exibidas no blob properties de um evento são as mesmas em uma categoria de log e um tipo de recurso. |
correlationId |
A ID exclusiva para uma chamada. Isso identifica eventos correlacionados de todos os participantes e pontos de extremidade que se conectam durante uma única chamada e você pode usar isso para ingressar dados de logs diferentes. Se você precisar abrir um caso de suporte na Microsoft, você pode usar o valor correlationId para identificar facilmente a chamada da qual você está solucionando problemas. |
identifier |
A ID exclusiva para o usuário. A identidade pode ser um usuário dos Serviços de Comunicação do Azure, uma ID de usuário do Microsoft Entra, uma ID de usuário anônima do Teams ou uma ID de bot do Teams. Você pode usar essa ID para correlacionar eventos do usuário em logs. |
callStartTime |
Um carimbo de data/hora para o início da chamada, com base na primeira tentativa de conexão de qualquer ponto de extremidade. |
callDuration |
A duração da chamada expressa em segundos, com base na primeira tentativa de conexão e o final da última conexão entre dois pontos de extremidade. |
callType |
O tipo da chamada. Contém "P2P" ou "Group" . Uma chamada "P2P" é uma conexão direta 1:1 entre apenas dois pontos de extremidade que não sejam do servidor. Uma chamada "Group" é uma chamada que tem mais de dois pontos de extremidade, ou é criada como chamada "Group" antes da conexão. |
teamsThreadId |
A ID de thread do Teams. Essa ID é relevante somente quando a chamada é organizada como uma reunião do Teams. Em seguida, isso representa o caso de uso de interoperabilidade entre o Microsoft Teams e os Serviços de Comunicação do Azure. Essa ID é exposta em logs operacionais. Você também pode obter essa ID por meio das APIs de chat. |
participantId |
A ID é gerada para representar a conexão de duas vias entre um ponto de extremidade "Participant" (endpointType = "Server" ) e o servidor. Quando for callType = "P2P" , há uma conexão direta entre dois pontos de extremidade e nenhum valor participantId é gerado. |
participantStartTime |
O carimbo de data/hora para o início da primeira tentativa de conexão do participante. |
participantDuration |
A duração de cada conexão do participante em segundos, de participantStartTime até o carimbo de data/hora de quando a conexão foi encerrada. |
participantEndReason |
O motivo do fim de uma conexão de participante. Ela contém códigos de erro do SDK de Chamada que o SDK emite (quando relevante) para cada valor participantId . |
endpointId |
A ID exclusiva que representa cada ponto de extremidade conectado à chamada, em que endpointType define o tipo de ponto de extremidade. Quando o valor é null , a entidade conectada é o servidor dos Serviços de Comunicação (endpointType = "Server" ). O valor endpointId às vezes pode persistir para o mesmo usuário em várias chamadas (correlationId ) para clientes nativos. O número de valores endpointId determina o número de logs de resumo das chamadas. Um log de resumo distinto é criado para cada valor endpointId . |
endpointType |
Esse valor descreve as propriedades de cada ponto de extremidade conectado à chamada. Pode conter "Server" , "VOIP" , "PSTN" , "BOT" ou "Unknown" . |
sdkVersion |
A cadeia de caracteres de versão para a versão do SDK de Chamada dos Serviços de Comunicação que cada ponto de extremidade relevante usa (por exemplo, "1.1.00.20212500" ). |
osVersion |
Uma cadeia de caracteres representando o sistema operacional e a versão de cada dispositivo de ponto de extremidade. |
participantTenantId |
A ID do locatário da Microsoft associada à identidade do participante. O locatário pode ser o locatário do Azure que possui o recurso dos Serviços de Comunicação do Azure ou o locatário da Microsoft de uma identidade do Microsoft 365. Esse campo é usado para orientar a edição entre locatários. |
participantType |
Descrição do participante como uma combinação de seu cliente (Serviços de Comunicação do Azure ou Teams) e sua identidade (Serviços de Comunicação do Azure ou Microsoft 365). Os valores possíveis incluem: Serviços de Comunicação do Azure (identidade dos Serviços de Comunicação do Azure e SDK dos Serviços de Comunicação do Azure), Teams (identidade do Teams e SDK dos Serviços de Comunicação do Azure na chamada ou reunião do Teams), Serviços de Comunicação do Azure como usuário do Microsoft 365 (identidade do Microsoft 365 e cliente dos Serviços de Comunicação do Azure) e aplicativos de Serviço de Voz do Teams. |
pstnParticipantCallType |
Representa o tipo e a direção dos participantes PSTN, incluindo chamada de emergência, roteamento direto, transferência, encaminhamento e assim por diante. |
ParticipantEndSubCode |
Representa o subcódigo de erro do SDK de Chamada que o SDK emite (quando relevante) para cada valor participantId . |
ResultCategory |
Representa a categoria do participante que encerra a chamada. Pode ser um destes quatro valores: Success, ExpectedError, UnexpectedClientError, UnexpectedServerError. |
DiagnosticOptions |
Esse valor permite que os desenvolvedores anexem marcas personalizadas à telemetria do cliente, que podem ser exibidas na seção Diagnóstico de Chamadas. Isso ajuda a identificar e solucionar problemas com mais eficiência. Para saber como adicionar marcas personalizadas a esse valor, consulte Tutorial sobre como adicionar marcas personalizadas à telemetria do cliente |
Códigos de erro
A propriedade participantEndReason
contém um valor do conjunto de códigos de erro do SDK de chamada. Você pode consultar esses códigos para solucionar problemas detectados durante a chamada, para cada ponto de extremidade. Consulte a Solução de problemas com códigos de resposta de término de chamadas para SDK de Chamada, SDK de Automação de Chamadas, PSTN, SDK de Chat e SDK de SMS.
Dados de exemplo para vários tipos de chamada
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.
Chamada P2P
Aqui estão os campos compartilhados para todos os logs em uma chamada P2P:
"time": "2021-07-19T18:46:50.188Z",
"resourceId": "SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/ACS-TEST-RG/PROVIDERS/MICROSOFT.COMMUNICATION/COMMUNICATIONSERVICES/ACS-PROD-CCTS-TESTS",
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
Logs de resumo de chamadas
Logs de resumo da chamadas compartilham informações de operação e categoria:
"operationName": "CallSummary",
"operationVersion": "1.0",
"category": "CallSummary",
Aqui está um resumo da chamada para o usuário de VoIP 1:
"properties": {
"identifier": "acs:61fddbe3-0003-4066-97bc-6aaf143bbb84_0000000b-4fee-66cf-ac00-343a0d003158",
"callStartTime": "2021-07-19T17:54:05.113Z",
"callDuration": 6,
"callType": "P2P",
"teamsThreadId": "null",
"participantId": "null",
"participantStartTime": "2021-07-19T17:54:06.758Z",
"participantDuration": "5",
"participantEndReason": "0",
"endpointId": "570ea078-74e9-4430-9c67-464ba1fa5859",
"endpointType": "VoIP",
"sdkVersion": "1.0.1.0",
"osVersion": "Windows 10.0.17763 Arch: x64"
}
Aqui está um resumo da chamada para o usuário de VoIP 2:
"properties": {
"identifier": "acs:7af14122-9ac7-4b81-80a8-4bf3582b42d0_06f9276d-8efe-4bdd-8c22-ebc5434903f0",
"callStartTime": "2021-07-19T17:54:05.335Z",
"callDuration": 6,
"callType": "P2P",
"teamsThreadId": "null",
"participantId": "null",
"participantStartTime": "2021-07-19T17:54:06.335Z",
"participantDuration": "5",
"participantEndReason": "0",
"endpointId": "a5bd82f9-ac38-4f4a-a0fa-bb3467cdcc64",
"endpointType": "VoIP",
"sdkVersion": "1.1.0.0",
"osVersion": "null"
}
Aqui está um log de resumo de chamadas entre locatários para o usuário de VoIP 1:
"properties": {
"identifier": "1e4c59e1-r1rr-49bc-893d-990dsds8f9f5",
"callStartTime": "2022-08-14T06:18:27.010Z",
"callDuration": 520,
"callType": "P2P",
"teamsThreadId": "null",
"participantId": "null",
"participantTenantId": "02cbdb3c-155a-4b95-b829-6d56a45787ca",
"participantStartTime": "2022-08-14T06:18:27.010Z",
"participantDuration": "520",
"participantEndReason": "0",
"endpointId": "02cbdb3c-155a-4d98-b829-aaaaa61d44ea",
"endpointType": "VoIP",
"sdkVersion": "Redacted",
"osVersion": "Redacted"
}
Aqui está um resumo de chamada para uma chamada PSTN:
Observação
Os logs de chamadas P2P ou de grupo têm versões do sistema operacional e do SDK redigidas independentemente de ser o locatário do participante ou o locatário do bot.
"properties": {
"identifier": "b1999c3e-bbbb-4650-9b23-9999bdabab47",
"callStartTime": "2022-08-07T13:53:12Z",
"callDuration": 1470,
"callType": "Group",
"teamsThreadId": "19:36ec5177126fff000aaa521670c804a3@thread.v2",
"participantId": " b25cf111-73df-4e0a-a888-640000abe34d",
"participantStartTime": "2022-08-07T13:56:45Z",
"participantDuration": 960,
"participantEndReason": "0",
"endpointId": "8731d003-6c1e-4808-8159-effff000aaa2",
"endpointType": "PSTN",
"sdkVersion": "Redacted",
"osVersion": "Redacted"
}
Chamadas em grupo
Os dados de uma chamada de grupo são gerados em três logs de resumo de chamadas e seis logs de diagnóstico de chamadas. Aqui estão os campos compartilhados para todos os logs na chamada:
"time": "2021-07-05T06:30:06.402Z",
"resourceId": "SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/ACS-TEST-RG/PROVIDERS/MICROSOFT.COMMUNICATION/COMMUNICATIONSERVICES/ACS-PROD-CCTS-TESTS",
"correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
Logs de resumo de chamadas
Logs de resumo da chamadas compartilham informações de operação e categoria:
"operationName": "CallSummary",
"operationVersion": "1.0",
"category": "CallSummary",
Resumo da chamada para o ponto de extremidade de VoIP 1:
"properties": {
"identifier": "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-729f-ac00-343a0d00d975",
"callStartTime": "2021-07-05T06:16:40.240Z",
"callDuration": 87,
"callType": "Group",
"teamsThreadId": "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
"participantId": "04cc26f5-a86d-481c-b9f9-7a40be4d6fba",
"participantStartTime": "2021-07-05T06:16:44.235Z",
"participantDuration": "82",
"participantEndReason": "0",
"endpointId": "5ebd55df-ffff-ffff-89e6-4f3f0453b1a6",
"endpointType": "VoIP",
"sdkVersion": "1.0.0.3",
"osVersion": "Darwin Kernel Version 18.7.0: Mon Nov 9 15:07:15 PST 2020; root:xnu-4903.272.3~3/RELEASE_ARM64_S5L8960X"
}
Resumo da chamada para o ponto de extremidade de VoIP 3:
"properties": {
"identifier": "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-57c6-ac00-343a0d00d972",
"callStartTime": "2021-07-05T06:16:40.240Z",
"callDuration": 87,
"callType": "Group",
"teamsThreadId": "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLTk2ZDUtYTZlM2I2ZjgxOTkw@thread.v2",
"participantId": "1a9cb3d1-7898-4063-b3d2-26c1630ecf03",
"participantStartTime": "2021-07-05T06:16:40.240Z",
"participantDuration": "87",
"participantEndReason": "0",
"endpointId": "5ebd55df-ffff-ffff-ab89-19ff584890b7",
"endpointType": "VoIP",
"sdkVersion": "1.0.0.3",
"osVersion": "Android 11.0; Manufacturer: Google; Product: redfin; Model: Pixel 5; Hardware: redfin"
}
Resumo da chamada para o ponto de extremidade de PSTN 2:
"properties": {
"identifier": "null",
"callStartTime": "2021-07-05T06:16:40.240Z",
"callDuration": 87,
"callType": "Group",
"teamsThreadId": "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
"participantId": "515650f7-8204-4079-ac9d-d8f4bf07b04c",
"participantStartTime": "2021-07-05T06:17:10.447Z",
"participantDuration": "52",
"participantEndReason": "0",
"endpointId": "46387150-692a-47be-8c9d-1237efe6c48b",
"endpointType": "PSTN",
"sdkVersion": "null",
"osVersion": "null"
}
Aqui está um log de resumo de chamadas entre locatários:
"properties": {
"identifier": "1e4c59e1-r1rr-49bc-893d-990dsds8f9f5",
"callStartTime": "2022-08-14T06:18:27.010Z",
"callDuration": 912,
"callType": "Group",
"teamsThreadId": "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
"participantId": "aa1dd7da-5922-4bb1-a4fa-e350a111fd9c",
"participantTenantId": "02cbdb3c-155a-4b95-b829-6d56a45787ca",
"participantStartTime": "2022-08-14T06:18:27.010Z",
"participantDuration": "902",
"participantEndReason": "0",
"endpointId": "02cbdb3c-155a-4d98-b829-aaaaa61d44ea",
"endpointType": "VoIP",
"sdkVersion": "Redacted",
"osVersion": "Redacted"
}
Aqui está um log de resumo de chamadas entre locatários com um bot como participante:
"properties": {
"identifier": "b1902c3e-b9f7-4650-9b23-9999bdabab47",
"callStartTime": "2022-08-09T16:00:32Z",
"callDuration": 1470,
"callType": "Group",
"teamsThreadId": "19:meeting_MmQwZDcwYTQtZ000HWE6NzI4LTg1YTAtNXXXXX99999ZZZZZ@thread.v2",
"participantId": "66e9d9a7-a434-4663-d91d-fb1ea73ff31e",
"participantStartTime": "2022-08-09T16:14:18Z",
"participantDuration": 644,
"participantEndReason": "0",
"endpointId": "69680ec2-5ac0-4a3c-9574-eaaa77720b82",
"endpointType": "Bot",
"sdkVersion": "Redacted",
"osVersion": "Redacted"
}
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
Examine a visão geral de todos os logs de voz e vídeo, confira: Visão geral dos logs de chamadas dos Serviços de Comunicação do Azure
Conheça as melhores práticas para gerenciar a qualidade e a confiabilidade da chamada, confira: Melhorar e gerenciar a qualidade da chamada
Saiba mais sobre o painel de insights para monitorar os logs de chamada de voz e chamada de vídeo.
Saiba como usar logs de chamadas para diagnosticar problemas de confiabilidade e qualidade da chamada com o Diagnóstico de chamadas, confira: Diagnóstico de chamadas