Registros de grabación de llamadas 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.
Categorías del registro de recursos
Communication Services ofrece los siguientes tipos de registros que se pueden habilitar:
- Registros de uso: proporcionan datos de uso asociados a cada oferta de servicio facturada.
- Registros de resumen de grabación de llamadas: proporcionan información de resumen para las grabaciones de llamadas, como lo siguiente:
- Duración de la llamada.
- Contenido multimedia (por ejemplo, audio o vídeo, sin mezclar o transcripción).
- Tipos de formato usados para la grabación (por ejemplo, WAV o MP4).
- Motivo por el que ha finalizado la grabación.
- Registros de operaciones entrantes de grabación: proporcionan información sobre las solicitudes entrantes para las operaciones de grabación de llamadas. Cada entrada se corresponde con el resultado de una llamada a las API de grabación de llamadas, como StartRecording, StopRecording, PauseRecording y ResumeRecording.
Se genera un archivo de grabación al final de una llamada o de una reunión. Un usuario o una aplicación (bot) pueden iniciar y detener la grabación. La grabación también puede finalizar debido a un error del sistema.
Los registros de resumen se publican después de que una grabación esté lista para descargarse. Los registros se publican dentro del tiempo de latencia estándar para los registros de recursos de Azure Monitor. Vea Tiempo de la ingesta de datos de registro en Azure Monitor.
Esquema del registro de uso
Propiedad | Descripción |
---|---|
timestamp |
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. 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. |
correlationID |
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. |
recordID |
Id. único de un registro de uso. |
usageType |
Modo de uso (por ejemplo, Chat, RTC o NAT). |
unitType |
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 de registro de resumen de grabación de llamadas
Nombre de propiedad | Tipo de datos | Descripción |
---|---|---|
timeGenerated |
DateTime | Marca de tiempo (UTC) de cuándo se generó el registro. |
operationName |
Cadena | Operación asociada a un registro. |
correlationId |
Cadena | Id. que se usa para poner en correlación eventos entre tablas. |
recordingID |
Cadena | Id. de la grabación a la que hace referencia este registro. |
category |
Cadena | Categoría de registro del evento. Los registros con la misma categoría de registro y tipo de recurso tienen los mismos campos de propiedad. |
resultType |
Cadena | Estado de la operación. |
level |
Cadena | Nivel de gravedad de la operación. |
chunkCount |
Entero | Número total de fragmentos creados para la grabación. |
channelType |
Cadena | Tipo de canal de la grabación, como mezclado o sin mezclar. |
recordingStartTime |
DateTime | Hora a la que se ha iniciado la grabación. |
contentType |
Cadena | Contenido de la grabación, es decir, solo audio, audio y vídeo, o transcripción. |
formatType |
Cadena | Formato de archivo de la grabación. |
recordingLength |
Double | Duración de la grabación en segundos. |
audioChannelsCount |
Entero | Número total de canales de audio de la grabación. |
recordingEndReason |
Cadena | Motivo por el que ha finalizado la grabación. |
Grabación de llamadas y datos de ejemplo
"operationName": "Call Recording Summary",
"operationVersion": "1.0",
"category": "RecordingSummary",
Una llamada puede tener una o varias grabaciones en función de cuántas veces se desencadene un evento de grabación.
Por ejemplo, si un agente inicia una llamada saliente en una línea grabada y la llamada se interrumpe debido a una señal de red deficiente, callID
tendrá un valor de recordingID
. Si el agente devuelve la llamada al cliente, el sistema genera una nueva instancia de callID
y un nuevo valor recordingID
.
Ejemplo: grabación de llamadas para una llamada a una grabación
"properties"
{
"TimeGenerated":"2022-08-17T23:18:26.4332392Z",
"OperationName": "RecordingSummary",
"Category": "CallRecordingSummary",
"CorrelationId": "zzzzzz-cada-4164-be10-0000000000",
"ResultType": "Succeeded",
"Level": "Informational",
"RecordingId": "eyJQbGF0Zm9ybUVuZHBvaW5xxxxxxxxFmNjkwxxxxxxxxxxxxSZXNvdXJjZVNwZWNpZmljSWQiOiJiZGU5YzE3Ni05M2Q3LTRkMWYtYmYwNS0yMTMwZTRiNWNlOTgifQ",
"RecordingEndReason": "CallEnded",
"RecordingStartTime": "2022-08-16T09:07:54.0000000Z",
"RecordingLength": "73872.94",
"ChunkCount": 6,
"ContentType": "Audio - Video",
"ChannelType": "mixed",
"FormatType": "mp4",
"AudioChannelsCount": 1
}
Si el agente inicia una grabación y, después, detiene y reinicia la grabación varias veces mientras la llamada sigue activada, callID
tendrá muchos valores recordingID
. El número de valores depende de cuántas veces se hayan desencadenado los eventos de grabación.
Ejemplo: grabación de llamadas de una llamada a muchas grabaciones
{
"TimeGenerated": "2022-08-17T23:55:46.6304762Z",
"OperationName": "RecordingSummary",
"Category": "CallRecordingSummary",
"CorrelationId": "xxxxxxx-cf78-4156-zzzz-0000000fa29cc",
"ResultType": "Succeeded",
"Level": "Informational",
"RecordingId": "eyJQbGF0Zm9ybUVuZHBxxxxxxxxxxxxjkwMC05MmEwLTRlZDYtOTcxYS1kYzZlZTkzNjU0NzciLCJSxxxxxNwZWNpZmljSWQiOiI5ZmY2ZTY2Ny04YmQyLTQ0NzAtYmRkYy00ZTVhMmUwYmNmOTYifQ",
"RecordingEndReason": "CallEnded",
"RecordingStartTime": "2022-08-17T23:55:43.3304762Z",
"RecordingLength": 3.34,
"ChunkCount": 1,
"ContentType": "Audio - Video",
"ChannelType": "mixed",
"FormatType": "mp4",
"AudioChannelsCount": 1
}
{
"TimeGenerated": "2022-08-17T23:55:56.7664976Z",
"OperationName": "RecordingSummary",
"Category": "CallRecordingSummary",
"CorrelationId": "xxxxxxx-cf78-4156-zzzz-0000000fa29cc",
"ResultType": "Succeeded",
"Level": "Informational",
"RecordingId": "eyJQbGF0Zm9ybUVuxxxxxxiOiI4NDFmNjkwMC1mMjBiLTQzNmQtYTg0Mi1hODY2YzE4M2Y0YTEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI2YzRlZDI4NC0wOGQ1LTQxNjEtOTExMy1jYWIxNTc3YjM1ODYifQ",
"RecordingEndReason": "CallEnded",
"RecordingStartTime": "2022-08-17T23:55:54.0664976Z",
"RecordingLength": 2.7,
"ChunkCount": 1,
"ContentType": "Audio - Video",
"ChannelType": "mixed",
"FormatType": "mp4",
"AudioChannelsCount": 1
}
Registros ACSCallRecordingIncomingOperations
Estas son las propiedades:
Propiedad | Descripción |
---|---|
timeGenerated |
Marca de tiempo (UTC) de cuándo se generó el registro. |
callConnectionId |
Id. de la conexión de llamada o de la escala, si está disponible. |
callerIpAddress |
Dirección IP del autor de la llamada, si la operación se corresponde con una llamada API que procede de una entidad con una dirección IP disponible públicamente. |
correlationId |
Identificador de los eventos correlacionados. Se puede utilizar para identificar eventos correlacionados en varias tablas. |
durationMs |
Duración de la operación en milisegundos. |
level |
Nivel de gravedad de la operación. |
operationName |
Operación asociada al registro. |
operationVersion |
Versión de API asociada a la operación o versión de la operación (si no hay ninguna versión de API). |
resourceId |
Identificador único del recurso al que está asociado el registro. |
resultSignature |
Subestado de la operación. Si esta operación se corresponde con una llamada API de REST, este campo es el código de estado HTTP de la llamada REST correspondiente. |
resultType |
Estado de la operación. |
sdkType |
Tipo de SDK que se usa en la solicitud. |
sdkVersion |
Versión del SDK. |
serverCallId |
Id. de llamada del servidor. |
URI |
URI de la solicitud. |
Este es un ejemplo:
"properties"
{ "TimeGenerated": "2023-05-09T15:58:30.100Z",
"Level": "Informational",
"CorrelationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"OperationName": "ResumeCallRecording",
"OperationVersion": "2023-03-06",
"URI": "https://acsresouce.communication.azure.com/calling/recordings/ eyJQbGF0Zm9ybUVuZHBviI0MjFmMTIwMC04MjhiLTRmZGItOTZjYi0...:resume?api-version=2023-03-06",
"ResultType": "Succeeded",
"ResultSignature": 202,
"DurationMs": 130,
"CallerIpAddress": "127.0.0.1",
"CallConnectionId": "d5596715-ab0b-test-8eee-575c250e4234",
"ServerCallId": "aHR0cHM6Ly9hcGk0vjCCCCCCQd2pRP2k9OTMmZT02Mzc5OTQ3xMDAzNDUwMzg...",
"SdkVersion": "1.0.0-alpha.20220829.1",
"SdkType": "dotnet"
}
Pasos siguientes
- Obtenga información de grabación de llamadas.
- Más información sobre la grabación de llamadas.