Compartir a través de


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.

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.

Cómo usar los registros de llamadas

Se recomienda recopilar todos los registros de llamadas disponibles en un recurso de Log Analytics para que pueda supervisar el uso de las llamadas y mejorar la calidad de las llamadas y recibir nuevos registros de Azure Communication Services a medida que los publicamos.

Hay dos herramientas que son las que más se usan para supervisar las llamadas y mejorar su calidad.

Le recomendamos usar los paneles de conclusiones de voz y vídeo para iniciar cualquier investigación de calidad, así como usar diagnóstico de llamadas, siempre que sea necesario, para explorar llamadas individuales cuando se necesite un mayor nivel de detalle.

Conceptos de datos

Importante

Debe recopilar registros si quiere analizarlos. Para más información, consulte: ¿Cómo almaceno los registros?

Azure no almacena los datos del registro de llamadas hasta que habilite esta configuración de diagnóstico específica. Los datos de las llamadas no están disponibles de forma retroactiva. Los datos se acumulan una vez que se crea la configuración de diagnóstico.

Definiciones de datos

Esquema del registro de resumen de llamadas

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.

En esta tabla se describe cada una de las propiedades.

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 cuatro valores: Success, ExpectedError, UnexpectedClientError, UnexpectedServerError.
DiagnosticOptions Este valor permite a los desarrolladores adjuntar etiquetas personalizadas a la telemetría del cliente, que luego se puede ver en la sección Diagnósticos de llamadas. Esto ayuda a identificar y solucionar problemas de forma más eficaz. Para obtener información sobre cómo agregar etiquetas personalizadas a este valor, consulte Tutorial sobre cómo agregar etiquetas personalizadas a la telemetría del cliente

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 los problemas detectados 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.

Datos de ejemplo para varios tipos de llamadas

Nota:

En este artículo, las llamadas de grupo y P2P se encuentran dentro del mismo inquilino, de forma predeterminada. Todos los escenarios de llamada entre inquilinos se especifican a lo largo del artículo.

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

Llamadas de grupo

Los datos de una llamada grupal se generan en tres registros de resumen de llamadas y seis registros de diagnósticos 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"
}

Preguntas más frecuentes

¿Cómo almaceno los registros?

En la siguiente sección se explica este requisito.

Los registros de Azure Communication Services no se almacenan en su cuenta de Azure de forma predeterminada, por lo que debe empezar a almacenarlos para que herramientas como el panel de información de voz y vídeo y los diagnósticos de llamadas puedan funcionar. Para recopilar estos registros de llamadas, debe habilitar una configuración de diagnóstico que dirija los datos de las llamadas a un área de trabajo de Log Analytics.

Los datos no se almacenan de forma retroactiva, por lo que no comenzará a capturar registros de llamadas hasta que se configure el diagnóstico.

Siga las instrucciones para agregar la configuración de diagnóstico del recurso en Habilitar registros a través de la configuración de diagnóstico en Azure Monitor. Le recomendamos, en un inicio, recopilar todos los registros. Después de comprender las funcionalidades de Azure Monitor, determine qué registros desea conservar y durante cuánto tiempo. Al agregar la configuración de diagnóstico, se le pedirá que seleccione registros. Para recopilar todos los registros, seleccione allLogs.

El volumen, la retención y el uso de datos en Log Analytics dentro de Azure Monitor se factura a través de medidores de datos de Azure existentes. Se recomienda que supervise las directivas de uso y retención de datos por razones de costes según sea necesario. Para obtener más información, consulte Control de costos.

Si tiene varios identificadores de recursos de Azure Communications Services, debe habilitar esta configuración para cada identificador de recurso.

Pasos siguientes