Compartir vía


Registros de llamadas de voz y videollamadas de Azure Communication Services.

Azure Communication Services ofrece funcionalidades de registro que sirven para supervisar y depurar la solución de Communication Services. Estas funcionalidades se configuran a través de Azure Portal.

El contenido de este artículo hace referencia a los registros habilitados a través de Azure Monitor (consulte también preguntas más frecuentes). Para habilitar estos registros para Communication Services, consulte Habilitación del registro en Configuración de diagnósticos.

Conceptos de datos

Las siguientes descripciones generales de los conceptos de datos son específicas de las llamadas de voz y videollamadas. Estos conceptos son importantes para revisar para que pueda comprender el significado de los datos capturados en los registros.

Entidades e id.

Familiarícese con los siguientes términos:

  • Llamada: como se representa en los datos, una llamada es una abstracción representada por correlationId. Los valores de correlationId son únicos para cada llamada y están limitados por el tiempo en función de callStartTime y callDuration.

  • Participante: representa la conexión entre un punto de conexión y el servidor. Un participante (participantId) solo está presente cuando la llamada es una llamada de grupo.

  • Punto de conexión: es la entidad más única, representada por endpointId. Cada llamada es un evento que contiene datos de dos o más puntos de conexión. Los puntos de conexión representan a los participantes en la llamada.

    EndpointType indica si el punto de conexión es un usuario humano (RTC, VoIP), un bot o el servidor que administra varios participantes dentro de una llamada. Cuando un valor endpointType es "Server", el punto de conexión no tiene asignado un identificador único. Puede analizar endpointType y el número de valores endpointId para determinar cuántos usuarios y otros participantes no humanos (bots y servidores) se unen a una llamada.

    Los SDK nativos para Android e iOS reutilizan el mismo valor endpointId para un usuario en varias llamadas, por lo que puede comprender las experiencias entre sesiones. Este proceso difiere de los puntos de conexión basados en web, que siempre generan un nuevo valor endpointId para cada nueva llamada.

  • Stream: la entidad más granular. Hay una secuencia para cada dirección (entrante o saliente) y el valor mediaType (por ejemplo, Audio o Video).

Definiciones de datos

Esquema del registro de uso

Propiedad Descripción
Timestamp Marca de tiempo (UTC) de cuando se generó el registro.
Operation Name Operación asociada al registro.
Operation Version El valor api-version asociado a la operación, si la operación Operation Name se realizó a través de una API. Si ninguna API se corresponde con esta operación, la versión representa la versión de esa operación en caso de que las propiedades asociadas con la operación cambien en el futuro.
Category Categoría de registro del evento. La categoría es la granularidad con la que se pueden habilitar o deshabilitar los registros en un recurso. Las propiedades que aparecen en el blob properties de un evento son las mismas dentro de una categoría de registro y un tipo de recurso concretos.
Correlation ID Identificador de los eventos correlacionados. Se puede utilizar para identificar eventos correlacionados en varias tablas.
Properties Otros datos aplicables a distintos modos de Communication Services.
Record ID Id. único de un registro de uso.
Usage Type Modo de uso (por ejemplo, Chat, RTC o NAT).
Unit Type El tipo de unidad en la que se basa el uso para un modo de uso (por ejemplo, minutos, megabytes o mensajes).
Quantity Número de unidades usadas o consumidas en este registro.

Esquema del registro de resumen de llamadas

El registro de resumen de llamadas contiene datos que le ayudarán a identificar las propiedades clave de todas las llamadas. Se crea un registro de resumen de llamadas diferente para cada valor participantId (o endpointId en el caso de llamadas punto a punto [P2P]) en la llamada.

Importante

La información del participante en el registro de resumen de llamadas varía en función del inquilino del participante. La versión del SDK y la versión del sistema operativo se redactan si el participante no está dentro del mismo inquilino (también denominado entre inquilinos) que el recurso de Communication Services. Los participantes entre inquilinos se clasifican como usuarios externos que invita un inquilino de recursos para unirse y colaborar durante una llamada.

Propiedad Descripción
time Marca de tiempo (UTC) de cuando se generó el registro.
operationName Operación asociada al registro.
operationVersion El valor api-version asociado a la operación, si la operación operationName se realizó a través de una API. Si ninguna API se corresponde con esta operación, la versión representa la versión de esa operación en caso de que las propiedades asociadas con la operación cambien en el futuro.
category Categoría de registro del evento. Esta propiedad es la granularidad con la que se pueden habilitar o deshabilitar los registros en un recurso determinado. Las propiedades que aparecen en el blob properties de un evento son las mismas dentro de una categoría de registro y un tipo de recurso concretos.
correlationId El id. único de una llamada. Identifica los eventos correlacionados de todos los participantes y puntos de conexión que se conectan durante una sola llamada. Puede usarlo para combinar datos de distintos registros. Si alguna vez necesita abrir un caso de soporte técnico con Microsoft, puede usar el valor correlationId para identificar fácilmente la llamada que está solucionando.
identifier El identificador único del usuario. La identidad puede ser un usuario de Azure Communication Services, un id. de usuario de Microsoft Entra, un id. de usuario anónimo de Teams o un id. de bot de Teams. Puede usar este identificador para correlacionar eventos de usuario entre registros.
callStartTime Marca de tiempo para el inicio de la llamada, en función del primer intento de conexión desde cualquier punto de conexión.
callDuration Duración de la llamada expresada en segundos, en función del primer intento de conexión y el final de la última conexión entre dos puntos de conexión.
callType El tipo de llamada. Contiene "P2P" o "Group". Una llamada "P2P" es una conexión directa 1:1 entre solo dos puntos de conexión que no son de servidor. Una llamada "Group" es aquella que tiene más de dos puntos de conexión o que se crea como llamada "Group" antes de la conexión.
teamsThreadId El id. del subproceso de Teams. Este id. solo es relevante cuando la llamada se organiza como una reunión de Teams. En ese contexto, representa el caso de uso de la interoperabilidad entre Microsoft Teams y Azure Communication Services.

Este id. se expone en los registros operativos. También puede obtener este id. a través de las API de chat.
participantId El identificador generado para representar la conexión bidireccional entre un punto de conexión "Participant" (endpointType = "Server") y el servidor. Cuando callType = "P2P", hay una conexión directa entre dos puntos de conexión y no se genera ningún valor participantId.
participantStartTime Marca de tiempo para el principio del primer intento de conexión del participante.
participantDuration Duración de cada conexión de participante en segundos, desde participantStartTime hasta la marca de tiempo cuando finaliza la conexión.
participantEndReason Motivo del final de una conexión de participante. Contiene códigos de error del SDK de llamada que el SDK emite (cuando procede) para cada valor participantId.
endpointId El id. único que representa cada punto de conexión conectado a la llamada, donde endpointType define el tipo de punto de conexión. Cuando el valor es null, la entidad conectada es el servidor de Communication Services (endpointType = "Server").

A veces, el valor endpointId puede persistir para el mismo usuario en varias llamadas (correlationId) para clientes nativos. El número de valores endpointId determina el número de registros de resumen de llamadas. Se crea un registro de resumen distinto para cada valor endpointId.
endpointType Este valor describe las propiedades de cada punto de conexión conectado a la llamada. Puede contener "Server", "VOIP", "PSTN", "BOT" o "Unknown".
sdkVersion La cadena de versión de la versión del SDK de llamadas de Communication Services que usa cada punto de conexión pertinente (por ejemplo, "1.1.00.20212500").
osVersion Una cadena que representa el sistema operativo y la versión de cada dispositivo de punto de conexión.
participantTenantId El Id. de inquilino de Microsoft asociado a la identidad del participante. El inquilino puede ser el inquilino de Azure que posee el recurso de Azure Communication Services o el inquilino de Microsoft de una identidad de Microsoft 365. Este campo se usa para guiar la redistribución entre inquilinos.
participantType Descripción del participante como una combinación de su cliente (Azure Communication Services o Teams) y su identidad (Azure Communication Services o Microsoft 365). Entre los valores posibles se incluyen: Azure Communication Services (identidad de Azure Communication Services y SDK de Azure Communication Services), Teams (identidad de Teams y cliente de Teams), Azure Communication Services como usuario externo de Teams (identidad de Azure Communication Services y SDK de Azure Communication Services en llamada o reunión de Teams), Azure Communication Services como usuario de Microsoft 365 (identidad de Microsoft 365 y cliente de Azure Communication Services) y aplicaciones de voz de Teams.
pstnParticipantCallType Representa el tipo y la dirección de los participantes de RTC, incluidas las llamadas de emergencia, el enrutamiento directo, la transferencia, el reenvío, etc.
ParticipantEndSubCode Representa el subcódigo de error del SDK de llamada que emite el SDK (cuando procede) para cada valor participantId.
ResultCategory Representa la categoría del participante que termina la llamada. Puede ser uno de estos 4 valores: Success, ExpectedError, UnexpectedClientError, UnexpectedServerError.

Esquema de los registros de diagnóstico de llamadas

Los registros de diagnóstico de llamadas proporcionan información importante sobre los puntos de conexión y las transferencias multimedia para cada participante. También proporcionan medidas que le ayudan a comprender los problemas de calidad.

Para cada punto de conexión de una llamada, se crea un registro de diagnóstico de llamadas distinto para las secuencias de datos salientes (audio o vídeo, por ejemplo) entre puntos de conexión. En una llamada P2P, cada registro contiene datos relacionados con cada una de las secuencias salientes asociadas a cada punto de conexión. En llamadas grupales, participantId sirve como identificador clave para unir los registros salientes relacionados en una conexión de participantes distintos. Los registros de diagnóstico de llamadas permanecen intactos y son los mismos independientemente del inquilino del participante.

Nota:

En este artículo, las llamadas de grupo y P2P se encuentran dentro del mismo inquilino, de forma predeterminada, para todos los escenarios de llamada que son entre inquilinos. Se especifican en consecuencia en todo el artículo.

Propiedad Descripción
operationName Operación asociada al registro.
operationVersion El valor api-version asociado a la operación, si la operación operationName se realizó a través de una API. Si ninguna API se corresponde con esta operación, la versión representa la versión de esa operación en caso de que las propiedades asociadas con la operación cambien en el futuro.
category Categoría de registro del evento. Esta propiedad es la granularidad con la que se pueden habilitar o deshabilitar los registros en un recurso determinado. Las propiedades que aparecen en el blob properties de un evento son las mismas dentro de una categoría de registro y un tipo de recurso concretos.
correlationId El id. único de una llamada. Identifica los eventos correlacionados de todos los participantes y puntos de conexión que se conectan durante una sola llamada. Si alguna vez necesita abrir un caso de soporte técnico con Microsoft, puede usar el valor correlationId para identificar fácilmente la llamada que está solucionando.
participantId El identificador generado para representar la conexión bidireccional entre un punto de conexión "Participant" (endpointType = "Server") y el servidor. Cuando callType = "P2P", hay una conexión directa entre dos puntos de conexión y no se genera ningún valor participantId.
identifier El identificador único del usuario. La identidad puede ser un usuario de Azure Communication Services, un id. de usuario de Microsoft Entra, un id. de objeto de Teams o un id. de bot de Teams. Puede usar este identificador para correlacionar eventos de usuario entre registros.
endpointId El id. único que representa cada punto de conexión conectado a la llamada, donde endpointType define el tipo de punto de conexión. Cuando el valor es null, la entidad conectada es el servidor de Communication Services. EndpointId puede persistir para el mismo usuario en varias llamadas (correlationId) para clientes nativos, pero es único para cada llamada cuando el cliente sea un explorador web.
endpointType El valor que describe las propiedades de cada instancia de endpointId. Puede contener "Server", "VOIP", "PSTN", "BOT", "Voicemail", "Anonymous" o "Unknown".
mediaType El valor de cadena que describe el tipo de medio que se transmite entre los puntos de conexión dentro de cada secuencia. Los valores posibles incluyen "Audio", "Video", "VBSS" (uso compartido de pantalla) y "AppSharing" (canal de datos).
streamId Un entero no único que, junto con mediaType, puede usar para identificar de forma única secuencias del mismo valor participantId.
transportType El valor de cadena que describe el protocolo de transporte de red para cada valor participantId. Puede contener "UDP", "TCP" o "Unrecognized". "Unrecognized" indica que el sistema no pudo determinar si el tipo de transporte era TCP o UDP.
roundTripTimeAvg El tiempo medio que tarda un paquete IP de un punto de conexión a otro dentro de un período de participantDuration. Este retraso de propagación de red está relacionado con la distancia física entre los dos puntos, la velocidad de la luz y cualquier sobrecarga que los distintos enrutadores suponen entre ellos.

La latencia se mide como el recorrido unidireccional o el tiempo de ida y vuelta (RTT). Su valor expresado en milisegundos. Un RTT mayor de 500 ms afecta negativamente a la calidad de la llamada.
roundTripTimeMax El RTT máximo (en milisegundos) medido para llegar a la secuencia multimedia durante un período de participantDuration en una llamada de grupo o durante un período de callDuration en una llamada P2P.
jitterAvg El cambio medio, en lo que se refiere al retraso, entre paquetes sucesivos. Azure Communication Services puede adaptarse a algunos niveles de inestabilidad a través del almacenamiento en búfer. Cuando la inestabilidad supera el almacenamiento en búfer, que es aproximadamente un tiempo de jitterAvg superior a 30 ms, puede afectar negativamente a la calidad. Los paquetes que llegan a velocidades diferentes hacen que la voz de un hablante suene robótica.

Esta métrica se mide para cada secuencia multimedia durante el período de participantDuration de una llamada de grupo o durante el período de callDuration de una llamada P2P.
jitterMax El valor de vibración máximo medido entre paquetes por cada secuencia multimedia. Las ráfagas en las condiciones de red pueden causar problemas en el flujo de tráfico de audio y vídeo.
packetLossRateAvg El porcentaje medio de paquetes que se pierden. La pérdida de paquetes afecta directamente a la calidad del audio. Los paquetes pequeños e individuales perdidos no tienen casi ningún impacto, mientras que las pérdidas de ráfagas consecutivas hacen que el audio se corte completamente. Los paquetes que se quitan y no llegan a su destino previsto provocan huecos en el contenido multimedia. Esta situación da lugar a que se pierdan las sílabas y las palabras, junto con el vídeo cortado y similar uso compartido en consecuencia.

Es probable que una tasa de pérdida de paquetes mayor que el 10 % (0,1) tenga un impacto negativo en la calidad. Esta métrica se mide para cada secuencia multimedia durante el período de participantDuration de una llamada de grupo o durante el período de callDuration de una llamada P2P.
packetLossRateMax Este valor representa la tasa máxima de pérdida de paquetes (porcentaje) para cada secuencia multimedia durante el período de participantDuration en una llamada grupal o durante el período de callDuration en una llamada P2P. Las ráfagas en las condiciones de red pueden causar problemas en el flujo de tráfico de audio y vídeo.
JitterBufferSizeAvg Tamaño medio del búfer de vibración durante la duración de cada secuencia multimedia. Un búfer de vibración es una área de datos compartida en la que se pueden recopilar, almacenar y enviar paquetes de voz al procesador de voz en intervalos espaciados de manera uniforme. El búfer de vibración se usa para contrarrestar los efectos de la vibración.

Los búferes de vibración pueden ser estáticos o dinámicos. Los búferes de vibración estáticos se establecen en un tamaño fijo, mientras que los búferes de vibración dinámicos pueden ajustar su tamaño en función de las condiciones de red. El objetivo del búfer de vibración es proporcionar una secuencia fluida e ininterrumpida de datos de audio y vídeo al usuario.

En el SDK web, este JitterBufferSizeAvg es el valor medio de jitterBufferDelay durante la llamada. jitterBufferDelay es la duración de una muestra de audio o un fotograma de vídeo que permanece en el búfer de inestabilidad.

Normalmente, cuando el valor JitterBufferSizeAvg es mayor que 200 ms, afecta negativamente a la calidad.
JitterBufferSizeMax Tamaño máximo del búfer de vibración medido durante la duración de cada secuencia multimedia.

Normalmente, cuando este valor es mayor que 200 ms, afecta negativamente a la calidad.
HealedDataRatioAvg Porcentaje medio de paquetes de datos perdidos o dañados que el reparador reconstruyó o recuperó correctamente durante la duración de la secuencia de audio. La relación de datos curados es una medida de la eficacia de las técnicas de corrección de errores usadas en los sistemas VoIP.

Cuando este valor es mayor que 0,1 (10 %), consideramos que la secuencia tiene mala calidad.
HealedDataRatioMax La proporción máxima de datos curados medida durante la duración de cada secuencia multimedia.

Cuando este valor es mayor que 0,1 (10 %), consideramos que la secuencia tiene mala calidad.
VideoFrameRateAvg Número medio de fotogramas de vídeo que se transmiten por segundo durante una llamada de vídeo/pantalla compartida. La velocidad de fotogramas de vídeo puede afectar a la calidad y la fluidez de la secuencia de vídeo. Las velocidades de fotogramas más altas suelen dar lugar a un movimiento más suave y fluido. La velocidad de fotogramas estándar para el vídeo WebRTC suele ser de 30 fotogramas por segundo (fps), aunque puede variar en función de la implementación y las condiciones de red específicas.

La calidad de la secuencia se considera deficiente cuando este valor es menor que 7 para la secuencia de vídeo o menor que 1 para la secuencia de pantalla compartida.
RecvResolutionHeight El promedio de tamaño vertical de la secuencia de vídeo entrante que se transmite durante una llamada de vídeo o de uso compartido de pantallas. Se mide en píxeles y es uno de los factores que determina la resolución general y la calidad de la secuencia de vídeo. La resolución específica utilizada puede depender de las funcionalidades de los dispositivos y las condiciones de red implicadas en la llamada.

La calidad de la secuencia se considera deficiente cuando este valor es menor que 240 para la secuencia de vídeo o menor que 768 para la secuencia de pantalla compartida.
RecvFreezeDurationPerMinuteInMs La duración media de inmovilización en milisegundos por minuto para la secuencia de vídeo entrante/pantalla compartida. Las inmovilizaciones suelen deberse a una condición de red incorrecta y pueden degradar la calidad de la secuencia.

La calidad de la secuencia se considera deficiente cuando este valor es mayor que 6000 ms para la secuencia de vídeo o mayor que 25 000 ms para la secuencia de pantalla compartida.
PacketUtilization Los paquetes enviados o recibidos para un flujo de medios determinado.

Normalmente, cuanto más larga sea la llamada, mayor será el valor. Si este valor es cero, podría indicar que el medio no fluye.
VideoBitRateAvg Velocidad de bits media (bits por segundo) para un flujo de vídeo o una pantalla compartida.

Un valor de velocidad de bits bajo podría indicar un problema de red deficiente. La velocidad de bits mínima (ancho de banda) necesaria se puede encontrar aquí: Ancho de banda de red.
VideoBitRateMax Velocidad de bits máxima (bits por segundo) para un flujo de vídeo o una pantalla compartida.

Un valor de velocidad de bits bajo podría indicar un problema de red deficiente. La velocidad de bits mínima (ancho de banda) necesaria se puede encontrar aquí: Ancho de banda de red.
StreamDirection Dirección de la secuencia multimedia. Es Entrante o Saliente.
CodecName Nombre del códec usado para procesar flujos de medios. Puede ser OPUS, G722, H264S, SATIN, etc.

Esquema de registro de operaciones de cliente de llamadas

El registro de operaciones de cliente de llamadas proporciona información del lado del cliente sobre los puntos de conexión de llamada y los participantes implicados en una llamada. Actualmente, estos registros se encuentran en versión preliminar y muestran los eventos de cliente que se produjeron en una llamada y qué acciones puede haber realizado un cliente durante una llamada.

Este registro proporciona información detallada sobre las acciones realizadas durante una llamada y se puede usar para visualizar e investigar problemas de llamadas mediante diagnósticos de llamadas para el recurso de Azure Communication Services. Más información sobre diagnósticos de llamadas

Propiedad Descripción
CallClientTimeStamp La marca de tiempo de cuándo se produjo una operación en el SDK en UTC.
OperationName El nombre de la operación desencadenada en el SDK de llamada.
CallId El id. único de una llamada. Identifica los eventos correlacionados de todos los participantes y puntos de conexión que se conectan durante una sola llamada. Puede usarlo para combinar datos de distintos registros. Es similar a correlationId en el registro de resumen de la llamada y el registro de diagnóstico de llamadas.
ParticipantId El identificador único de cada segmento de llamada (en llamadas de grupo) o participante de llamada (en llamadas punto a punto). Este id. es el punto de correlación principal entre los registros CallSummary, CallDiagnostic, CallClientOperations y CallClientMediaStats.
OperationType Llame a la operación de cliente.
OperationId Un GGUID único que identifica una operación del SDK.
DurationMs El tiempo que tarda una operación del SDK de llamada para producir un error o realizarse correctamente.
ResultType Campo que describe el éxito o el error de una operación.
ResultSignature Código de error o éxito similar a HTTP (200, 500).
SdkVersion Versión del SDK de llamada que se está usando.
UserAgent Se usa la cadena de agente de usuario estándar basada en el explorador o en el SDK de llamada de la plataforma.
ClientInstanceId Un GGUID único que identifica el objeto CallClient.
EndpointId Id. único que representa cada punto de conexión conectado a la llamada, donde endpointType se define mediante el tipo de punto de conexión. Cuando el valor es nulo, la entidad conectada es el servidor de Communication Services (endpointType = "Server").

El valor endpointId a veces puede persistir para el mismo usuario en varias llamadas (correlationId) para clientes nativos. El número de valores endpointId determina el número de registros de resumen de llamadas. Se crea un registro de resumen distinto para cada valor endpointId.
OperationPayload Una carga dinámica que varía en función de la operación, lo que proporciona detalles más específicos de la operación.

Llamar al esquema de registro de series temporales de estadísticas multimedia de cliente

El registro de llamar a la serie temporal de estadísticas de medios de cliente proporciona información del lado cliente sobre las secuencias multimedia entre los participantes individuales implicados en una llamada. Estos registros se encuentran actualmente en versión preliminar limitada y proporcionan datos detallados de series temporales sobre las secuencias multimedia de audio, vídeo y recursos compartidos de pantalla entre los participantes con un intervalo de agregación predeterminado de 10 segundos. Los registros contienen información de serie temporal pormenorizada sobre el tipo de secuencia multimedia, la dirección, el códec y las propiedades de velocidad de bits (por ejemplo, max, min, average).

Este registro proporciona información más detallada que el registro de diagnóstico de llamadas para comprender la calidad de los vapores multimedia entre los participantes. Se puede usar para visualizar e investigar problemas de calidad de las llamadas a través de Diagnóstico de llamadas para el recurso de Azure Communication Services. Más información sobre diagnósticos de llamadas

Propiedad Descripción
OperationName Operación asociada al registro.
CallId El id. único de una llamada. Identifica los eventos correlacionados de todos los participantes y puntos de conexión que se conectan durante una sola llamada. Puede usarlo para combinar datos de distintos registros. Es similar a correlationId en el registro de resumen de la llamada y el registro de diagnóstico de llamadas.
CallClientTimeStamp Marca de tiempo cuando se graban las estadísticas multimedia.
MetricName Nombre de las estadísticas multimedia, como Bitrate, JitterInMs, PacketsPerSecond, etc.
Count Número de puntos de datos muestreados en una marca de tiempo determinada.
Sum Suma de los valores de métrica de todos los puntos de datos muestreados.
Average Valor medio de métrica de los puntos de datos muestreados. Media = Suma / Recuento.
Minimum El mínimo de valores de métrica de todos los puntos de datos muestreados.
Maximum El máximo de valores de métrica de todos los puntos de datos muestreados.
MediaStreamDirection Dirección de la secuencia multimedia. Puede ser sendoreceive.
MediaStreamType Tipo de la secuencia de medios. Puede ser video, audio o screen.
MediaStreamCodec Códec usado para codificar o descodificar la secuencia multimedia, como H264OPUSVP8, etc.
ParticipantId Identificador único que se genera para representar cada punto de conexión de la llamada.
ClientInstanceId Identificador único que representa el objeto Call Client creado en el SDK que realiza la llamada.
EndpointId Identificador único que representa cada punto de conexión que está conectado a la llamada. EndpointId puede persistir para el mismo usuario en varias llamadas (callIds) para clientes nativos, pero es único para cada llamada cuando el cliente es un explorador web. EndpointId no se instrumenta actualmente en este registro. Cuando se implementa, coincide con los valores de los registros CallSummary/Diagnostics.
RemoteParticipantId Identificador único que representa el punto de conexión remoto en la secuencia de medios. Por ejemplo, un usuario puede representar varias secuencias de vídeo para los demás usuarios en la misma llamada. Cada secuencia de vídeo tiene un valor RemoteParticipantId diferente.
RemoteEndpointId Igual que EndpointId, pero representa al usuario en el lado remoto de la secuencia.
MediaStreamId Identificador único que representa cada secuencia multimedia de la llamada. MediaStreamId no se instrumenta actualmente en los clientes. Cuando se implementa, coincide con la columna streamId de los registros CallDiagnostics.
AggregationIntervalSeconds Intervalo de tiempo para agregar las estadísticas multimedia. Actualmente en el SDK de llamada, las métricas multimedia se muestran cada 1 segundo y, cuando se notifican en el registro, se agregan todas las muestras cada 10 segundos. Por lo tanto, cada fila de esta tabla tiene como máximo 10 puntos de muestreo.

P2P frente a llamadas grupales

Hay dos tipos de llamadas, como se representa mediante callType:

  • Llamadas punto a punto (P2P): una conexión entre solo dos puntos de conexión, sin ningún punto de conexión de servidor. Las llamadas P2P se inician como una llamada entre esos puntos de conexión y no se crean como un evento de llamada grupal antes de la conexión.

    Diagrama que muestra una llamada P2P entre dos puntos de conexión.

  • Llamada grupal: cualquier llamada que tenga más de dos puntos de conexión conectados. Las llamadas grupales incluyen un punto de conexión de servidor, la conexión entre cada punto de conexión y el servidor. Las llamadas P2P que agregan otro punto de conexión durante la llamada dejan de ser P2P y se convierten en una llamada grupal. Puede determinar la escala de tiempo de cuándo cada punto de conexión se unió a la llamada mediante las métricas participantStartTime y participantDuration.

    Diagrama que muestra una llamada grupal entre varios puntos de conexión.

Estructura de los registros

Azure Communication Services crea cuatro tipos de registros:

  • Registros de resumen de llamadas: contienen información básica sobre la llamada, incluidos todos los id. pertinentes, las marcas de tiempo, el punto de conexión y la información del SDK. Para cada participante dentro de una llamada, Communication Services crea un registro de resumen de llamadas distinto.

    Si alguien vuelve a unirse a una llamada, ese participante tiene el mismo valor EndpointId, pero un valor ParticipantId diferente. Ese punto de conexión puede tener dos registros de resumen de llamadas.

  • Registros de diagnóstico de llamadas: contienen información sobre la secuencia, así como un conjunto de métricas que indican las medidas de la calidad de la experiencia. Por cada EndpointId dentro de una llamada (incluido el servidor), Azure Communication Services crea un registro de diagnóstico de llamadas distinto para cada secuencia multimedia (audio o vídeo, por ejemplo) entre puntos de conexión.

  • Llamar a los registros de operaciones de cliente: contiene eventos detallados de cliente de llamadas. Estos eventos de registro se generan para cada EndpointId en una llamada y el número de registros de eventos generados dependerá de las operaciones que el participante haya realizado durante la llamada.

  • Llamar a los registros de estadísticas multimedia del cliente: contenga valores detallados de flujo multimedia. Estos registros se generan para cada secuencia multimedia en una llamada. Para cada EndpointId dentro de una llamada (incluido el servidor), Azure Communication Services crea un registro distinto para cada secuencia de medios (audio o vídeo, por ejemplo) entre puntos de conexión. El volumen de datos generados en cada registro depende de la duración de la llamada y del número de vapores multimedia de la llamada.

En una llamada P2P, cada registro contiene datos relacionados con cada una de las secuencias salientes asociadas a cada punto de conexión. En una llamada de grupo, cada secuencia asociada a endpointType = "Server" crea un registro que contiene datos para las secuencias entrantes. Todas las demás secuencias crean registros que contienen datos para las secuencias salientes de todos los puntos de conexión que no son de servidor. En las llamadas de grupo, use el valor participantId como clave para unir los registros entrantes y salientes relacionados a una conexión de participante distinta.

Ejemplo: llamada P2P

El diagrama siguiente representa dos puntos de conexión conectados directamente en una llamada P2P. En este ejemplo, Communication Services crea dos registros de resumen de llamadas (uno para cada valor participantID) y cuatro registros de diagnóstico de llamadas (uno para cada secuencia multimedia).

En el caso de los participantes del cliente de llamadas de Azure Communication Services (ACS), también hay una serie de registros de operaciones de cliente de llamadas y registros de series temporales de estadísticas multimedia de cliente. El número exacto de estos registros depende del tipo de operaciones del SDK que se llaman y de la duración de la llamada.

Diagrama que muestra una llamada P2P dentro del mismo inquilino.

Ejemplo: llamada grupal

El siguiente diagrama representa un ejemplo de llamada grupal con tres valores participantId (lo que significa tres participantes) y un punto de conexión de servidor. Varios valores de endpointId pueden aparecer potencialmente en varios participantes, por ejemplo, cuando vuelven a unirse a una llamada desde el mismo dispositivo. Communication Services crea un registro de resumen de llamadas para cada valor participantId. Crea cuatro registros de diagnóstico de llamadas: uno para cada secuencia multimedia por participantId.

En el caso de los participantes del cliente de llamadas de Azure Communication Services (ACS), los registros de operaciones de cliente de llamada son los mismos que las llamadas P2P. Para cada participante que use el SDK de llamada, habrá una serie de registros de operaciones del cliente de llamadas.

En el caso de los participantes del cliente de llamadas de Azure Communication Services (ACS), los registros de operaciones del cliente de llamadas y los registros de series temporales de estadísticas multimedia del cliente son los mismos que en las llamadas P2P. Para cada participante que use el SDK de llamada, habrá una serie de registros de operaciones del cliente de llamadas y registros de series temporales de estadísticas multimedia del cliente.

Diagrama que muestra una llamada grupal dentro del mismo inquilino.

Ejemplo: llamada P2P entre inquilinos

En el diagrama siguiente, se representan dos participantes entre varios inquilinos que están conectados directamente en una llamada P2P. En este ejemplo, Communication Services crea un registro de resumen de llamadas (uno para cada participante) con versiones redactadas del sistema operativo y del SDK. Communication Services también crea cuatro registros de diagnóstico de llamadas (uno para cada secuencia multimedia). Cada registro contiene datos relacionados con el flujo de salida de participantID.

Diagrama que muestra una llamada P2P entre inquilinos.

Ejemplo: llamada grupal entre inquilinos

En el diagrama siguiente, se representa un ejemplo de llamada grupal con tres valores participantId en varios inquilinos. Communication Services crea un registro de resumen de llamadas para cada participante con versiones redactadas del SO y del SDK. Communication Services también crea cuatro registros de diagnóstico de llamadas relacionados con cada valor participantId (uno para cada secuencia multimedia).

Diagrama que muestra una llamada grupal entre inquilinos.

Nota:

Esta versión solo admite registros de diagnóstico de salida. Las versiones del SO y del SDK asociadas al bot y el participante se pueden censurar porque Communication Services trata las identidades de los participantes y bots de la misma manera.

Datos de ejemplo

Llamada P2P

Estos son campos compartidos para todos los registros de una llamada 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",

Registros de resumen de llamadas

Los registros de resumen de la llamada contienen información compartida de categoría y operación:

"operationName":            "CallSummary",
"operationVersion":         "1.0",
"category":                 "CallSummary",

Este es un resumen de llamadas para el usuario 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"
}

Este es un resumen de llamadas para el usuario 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"
}

Este es un registro de resumen de llamadas entre inquilinos para el usuario 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"
}

Este es un resumen de llamadas para una llamada RTC:

Nota:

Los registros de llamadas grupales o P2P tienen versiones del SO y del SDK redactadas independientemente de si es el inquilino del participante o el inquilino del 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"
}

Registros de diagnóstico de llamadas

Los registros de diagnóstico de llamadas comparten información de la operación:

"operationName":            "CallDiagnostics",
"operationVersion":         "1.0",
"category":                 "CallDiagnostics",

Este es un registro de diagnóstico de una secuencia de audio del punto de conexión VoIP 1 al punto de conexión VoIP 2:

"properties": {
    "identifier":           "acs:61fddbe3-0003-4066-97bc-6aaf143bbb84_0000000b-4fee-66cf-ac00-343a0d003158",
    "participantId":        "null",
    "endpointId":           "570ea078-74e9-4430-9c67-464ba1fa5859",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "1000",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "82",
    "roundTripTimeMax":     "88",
    "jitterAvg":            "1",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Este es un registro de diagnóstico de una secuencia de audio del punto de conexión VoIP 2 al punto de conexión VoIP 1:

"properties": {
    "identifier":           "acs:7af14122-9ac7-4b81-80a8-4bf3582b42d0_06f9276d-8efe-4bdd-8c22-ebc5434903f0",
    "participantId":        "null",
    "endpointId":           "a5bd82f9-ac38-4f4a-a0fa-bb3467cdcc64",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "1363841599",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "78",
    "roundTripTimeMax":     "84",
    "jitterAvg":            "1",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Este es un registro de diagnóstico de una secuencia de vídeo del punto de conexión VoIP 1 al punto de conexión VoIP 2:

"properties": {
    "identifier":           "acs:61fddbe3-0003-4066-97bc-6aaf143bbb84_0000000b-4fee-66cf-ac00-343a0d003158",
    "participantId":        "null",
    "endpointId":           "570ea078-74e9-4430-9c67-464ba1fa5859",
    "endpointType":         "VoIP",
    "mediaType":            "Video",
    "streamId":             "2804",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "103",
    "roundTripTimeMax":     "143",
    "jitterAvg":            "0",
    "jitterMax":            "4",
    "packetLossRateAvg":    "3.146336E-05",
    "packetLossRateMax":    "0.001769911"
}

Llamada grupal

Los datos de una llamada grupal se generan en tres registros de resumen de llamadas y seis registros de diagnóstico de llamadas. Estos son los campos compartidos para todos los registros de la llamada:

"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",

Registros de resumen de llamadas

Los registros de resumen de la llamada contienen información compartida de categoría y operación:

"operationName":            "CallSummary",
"operationVersion":         "1.0",
"category":                 "CallSummary",

Este es un resumen de llamadas para el punto de conexión 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"
}

Este es un resumen de llamadas para el punto de conexión 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"
}

Este es un resumen de llamadas para el punto de conexión RTC 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"
}

Este es un registro de resumen de llamadas entre inquilinos:

"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"
}

Este es un registro de resumen de llamadas entre inquilinos con un 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"
}

Registros de diagnóstico de llamadas

Los registros de diagnóstico de llamadas comparten información de la operación:

"operationName":            "CallDiagnostics",
"operationVersion":         "1.0",
"category":                 "CallDiagnostics",

Este es un registro de diagnóstico de una secuencia de audio del punto de conexión VoIP 1 al punto de conexión del servidor:

"properties": {
    "identifier":           "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-729f-ac00-343a0d00d975",
    "participantId":        "04cc26f5-a86d-481c-b9f9-7a40be4d6fba",
    "endpointId":           "5ebd55df-ffff-ffff-89e6-4f3f0453b1a6",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "14884",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "46",
    "roundTripTimeMax":     "48",
    "jitterAvg":            "0",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Este es un registro de diagnóstico para una secuencia de audio de un punto de conexión del servidor al punto de conexión de VoIP 1:

"properties": {
    "identifier":           null,
    "participantId":        "04cc26f5-a86d-481c-b9f9-7a40be4d6fba",
    "endpointId":           null,
    "endpointType":         "Server",
    "mediaType":            "Audio",
    "streamId":             "2001",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "42",
    "roundTripTimeMax":     "44",
    "jitterAvg":            "1",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Este es un registro de diagnóstico para una secuencia de audio del punto de conexión de VoIP 3 a un punto de conexión de servidor:

"properties": {
    "identifier":           "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-57c6-ac00-343a0d00d972",
    "participantId":        "1a9cb3d1-7898-4063-b3d2-26c1630ecf03",
    "endpointId":           "5ebd55df-ffff-ffff-ab89-19ff584890b7",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "13783",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "45",
    "roundTripTimeMax":     "46",
    "jitterAvg":            "1",
    "jitterMax":            "2",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Este es un registro de diagnóstico para una secuencia de audio de un punto de conexión del servidor al punto de conexión de VoIP 3:

"properties": {
    "identifier":           "null",
    "participantId":        "1a9cb3d1-7898-4063-b3d2-26c1630ecf03",
    "endpointId":           null,
    "endpointType":         "Server"    
    "mediaType":            "Audio",
    "streamId":             "1000",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "45",
    "roundTripTimeMax":     "46",
    "jitterAvg":            "1",
    "jitterMax":            "4",
    "packetLossRateAvg":    "0",

Llamar al registro de operaciones de cliente y llamar a los registros de estadísticas multimedia del cliente para las llamadas de grupo y P2P

Para el registro de operaciones del cliente de llamadas y el registro de series temporales de estadísticas multimedia del cliente de llamadas, no hay ninguna diferencia entre los escenarios de llamada grupal y P2P y el número de registros depende de las operaciones del SDK y la duración de la llamada. El código siguiente es un ejemplo genérico que muestra el esquema de estos registros.

Llamada al registro de operaciones de cliente

Este es un registro de operaciones de cliente de llamada para la operación "CreateView":

"properties": {
    "TenantId":               "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "TimeGenerated":          "2024-01-09T17:06:50.3Z",
    "CallClientTimeStamp":    "2024-01-09T15:07:56.066Z",
    "OperationName":          "CreateView" ,   
    "CallId":                 "92d800c4-abde-40be-91e9-3814ee786b19",
    "ParticipantId":          "2656fd6c-6d4a-451d-a1a5-ce1baefc4d5c",
    "OperationType":          "client-api-request",
    "OperationId":            "0d987336-37e0-4acc-aba3-e48741d88103",
    "DurationMs":             "577",
    "ResultType":             "Succeeded",
    "ResultSignature":        "200",
    "SdkVersion":             "1.19.2.2_beta",
    "UserAgent":              "azure-communication-services/1.3.1-beta.1 azsdk-js-communication-calling/1.19.2-beta.2 (javascript_calling_sdk;#clientTag:904f667c-5f25-4729-9ee8-6968b0eaa40b). Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
    "ClientInstanceId":       "d08a3d05-db90-415f-88a7-87ae74edc1dd",
    "OperationPayload":       "{"StreamType":"Video","StreamId":"2.0","Source":"remote","RemoteParticipantId":"remote"}",
    "Type":                   "ACSCallClientOperations"
}

Cada participante puede tener muchas métricas diferentes para una llamada. La consulta siguiente se puede ejecutar en Log Analytics en Azure Portal para enumerar todas las operaciones posibles en el registro de operaciones del cliente de llamadas:

ACSCallClientOperations | distinct OperationName

Llamada al registro de series temporales de estadísticas multimedia de cliente

A continuación se muestra un ejemplo del registro de series temporales de estadísticas multimedia. Muestra la métrica Jitter del participante para recibir una secuencia de audio en una marca de tiempo específica.

"properties": {
    "TenantId":                     "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "TimeGenerated":                "2024-01-10T07:36:51.771Z",
    "OperationName":                "CallClientMediaStatsTimeSeries" ,  
    "CallId":                       "92d800c4-abde-40be-91e9-3814ee786b19", 
    "CallClientTimeStamp":          "2024-01-09T15:07:56.066Z",
    "MetricName":                   "JitterInMs",
    "Count":                        "2",
    "Sum":                          "34",
    "Average":                      "17",
    "Minimum":                      "10",
    "Maximum":                      "25",
    "MediaStreamDirection":         "recv",
    "MediaStreamType":              "audio",
    "MediaStreamCodec":             "OPUS",
    "ParticipantId":                "2656fd6c-6d4a-451d-a1a5-ce1baefc4d5c",
     "ClientInstanceId":            "d08a3d05-db90-415f-88a7-87ae74edc1dd",
    "AggregationIntervalSeconds":   "10",
    "Type":                         "ACSCallClientMediaStatsTimeSeries"
}

Cada participante puede tener muchas métricas de estadísticas multimedia diferentes para una llamada. La consulta siguiente se puede ejecutar en Log Analytics en Azure Portal para mostrar todas las métricas posibles en este registro:

ACSCallClientMediaStatsTimeSeries | distinct MetricName

Códigos de error

La propiedad participantEndReason contiene un valor del conjunto de códigos de error del SDK de llamada. Puede consultar estos códigos para solucionar problemas durante la llamada, por cada punto de conexión. Solución de problemas con los códigos de respuesta de finalización de llamada para el SDK de llamada, el SDK de automatización de llamadas, RTC, el SDK de chat y el SDK de SMS.

Pasos siguientes