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 la configuración de diagnóstico.
Categorías del registro de recursos
Communication Services ofrece los siguientes tipos de registros que se pueden habilitar:
- Registros de uso: proporcione los datos de uso asociados a cada oferta de servicio facturado.
- Registros de resumen de grabación de llamadas: proporcione información de resumen para las grabaciones de llamadas, como:
- Duración de la llamada.
- Contenido multimedia (por ejemplo, audio/vídeo, sin mezclar o transcripción).
- Tipos de formato usados para la grabación (por ejemplo, WAV o MP4).
- Motivo por el que finalizó la grabación.
- Registros de operaciones entrantes de grabación: proporcione información sobre las solicitudes entrantes para las operaciones de grabación de llamadas. Cada entrada corresponde al 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 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. Consulte Tiempo de 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 |
Valor api-version asociado a la operación, si la operationName operación se realizó a través de una API. Si ninguna API corresponde a esta operación, la versión representa la versión de la operación, en caso de que las propiedades asociadas a la operación cambien en el futuro. |
category |
Categoría de registro del evento. La categoría es la granularidad en la que puede habilitar o deshabilitar los registros en un recurso. Las propiedades que aparecen dentro del properties blob de un evento son las mismas dentro de una categoría de registro y un tipo de recurso. |
correlationID |
Identificador de los eventos correlacionados. Puede usarlo para identificar eventos correlacionados entre varias tablas. |
Properties |
Otros datos aplicables a varios modos de Communication Services. |
recordID |
Identificador ú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 del registro de resumen de grabación de llamadas
Nombre de propiedad | Tipo de datos | Descripción |
---|---|---|
timeGenerated |
DateTime | Marca de tiempo (UTC) de cuando se generó el registro. |
operationName |
String | Operación asociada a un registro de registro. |
correlationId |
String | Identificador que se usa para correlacionar eventos entre tablas. |
recordingID |
String | Identificador de la grabación a la que hace referencia este registro. |
category |
String | 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 |
String | Estado de la operación. |
level |
String | Nivel de gravedad de la operación. |
chunkCount |
Entero | Número total de fragmentos creados para la grabación. |
channelType |
String | Tipo de canal de la grabación, como mixto o sin mezclar. |
recordingStartTime |
DateTime | Hora a la que se inició la grabación. |
contentType |
String | Contenido de la grabación, como solo audio, audio/vídeo o transcripción. |
formatType |
String | Formato de archivo de la grabación. |
recordingLength |
Doble | Duración de la grabación en segundos. |
audioChannelsCount |
Entero | Número total de canales de audio en la grabación. |
recordingEndReason |
String | Motivo por el que finalizó 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 grabación o varias grabaciones, dependiendo 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 cae debido a una señal de red deficiente, callID
tendrá un recordingID
valor. Si el agente llama al cliente, el sistema genera una nueva callID
instancia y un nuevo recordingID
valor.
Ejemplo: Llamada a grabación 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, a continuación, detiene y reinicia la grabación varias veces mientras la llamada sigue activada, callID
tendrá muchos recordingID
valores. El número de valores depende de cuántas veces se desencadenaron los eventos de grabación.
Ejemplo: Llamada a grabación para 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 de ACSCallRecordingIncomingOperations
Estas son las propiedades:
Propiedad | Descripción |
---|---|
timeGenerated |
Marca de tiempo (UTC) de cuando se generó el registro. |
callConnectionId |
Identificador de la conexión de llamada o de la pierna, si está disponible. |
callerIpAddress |
La dirección IP del autor de la llamada, si la operación corresponde a una llamada API que procede de una entidad con una dirección IP disponible públicamente. |
correlationId |
Identificador de los eventos correlacionados. Puede usarlo para identificar eventos correlacionados entre varias tablas. |
durationMs |
Duración de la operación en milisegundos. |
level |
Nivel de gravedad de la operación. |
operationName |
Operación asociada a registros de 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 |
Identificador de llamada del servidor. |
URI |
URI de la solicitud. |
Este es un ejemplo:
"properties"
{ "TimeGenerated": "2023-05-09T15:58:30.100Z",
"Level": "Informational",
"CorrelationId": "a999f996-b4e1-xxxx-ac04-a59test87d97",
"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.
- Obtenga más información sobre la grabación de llamadas.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de