журналы записи вызовов Службы коммуникации Azure
Службы коммуникации Azure предоставляют возможности ведения журналов, которые можно использовать для мониторинга и отладки решения Служб коммуникации. Эти возможности можно настроить с помощью портал Azure.
Содержимое этой статьи относится к журналам, включенным с помощью Azure Monitor (см. также вопросы и ответы). Чтобы включить эти журналы для служб коммуникации, см . раздел "Включить ведение журнала в параметрах диагностики".
Категории журналов ресурсов
Службы коммуникации предоставляют следующие типы журналов, которые можно включить:
- Журналы использования: предоставьте данные об использовании, связанные с каждым выставленным предложением службы.
- Журналы сводных вызовов: укажите сводную информацию для записей звонков, например:
- Длительность вызова.
- Содержимое мультимедиа (например, аудио/видео, несоотредованное или транскрибирование).
- Типы форматирования, используемые для записи (например, WAV или MP4).
- Причина окончания записи.
- Запись входящих журналов операций: укажите сведения о входящих запросах для операций записи звонков. Каждая запись соответствует результату вызова API записи вызовов, таких как StartRecording, StopRecording, PauseRecording и ResumeRecording.
Файл записи создается в конце звонка или собрания. Пользователь или приложение (бот) могут запускать и останавливать запись. Запись также может завершиться из-за сбоя системы.
Сводные журналы публикуются после того, как запись готова к загрузке. Журналы публикуются в течение стандартного времени задержки для журналов ресурсов Azure Monitor. См . сведения о времени приема данных журнала в Azure Monitor.
Схема журнала использования
Свойство | Description |
---|---|
timestamp |
Метка времени создания журнала (в формате UTC). |
operationName |
Операция, связанная с записью журнала. |
operationVersion |
Значение api-version , связанное с операцией, если operationName операция была выполнена через API. Если API не соответствует этой операции, версия представляет версию операции, если свойства, связанные с операцией, изменяются в будущем. |
category |
Категория журнала для события. Категория — это степень детализации, при которой можно включить или отключить журналы в ресурсе. Свойства, отображаемые в большом двоичном объекте события, совпадают с properties категорией журнала и типом ресурса. |
correlationID |
Идентификатор для коррелированных событий. Его можно использовать для выявления коррелированных событий между несколькими таблицами. |
Properties |
Другие данные, применимые к различным режимам служб коммуникации. |
recordID |
Уникальный идентификатор записи об использовании. |
usageType |
Режим использования (например, чат, ТСОП или NAT). |
unitType |
Тип единицы использования основан на режиме использования (например, минутах, мегабайтах или сообщениях). |
quantity |
Количество единиц, использованных или потребленных для данной записи. |
Схема сводного журнала записи вызовов
Имя свойства | Тип данных | Description |
---|---|---|
timeGenerated |
Дата/время | Метка времени (UTC) о том, когда был создан журнал. |
operationName |
Строка | Операция, связанная с записью журнала. |
correlationId |
Строка | Идентификатор, используемый для сопоставления событий между таблицами. |
recordingID |
Строка | Идентификатор записи, на которую ссылается этот журнал. |
category |
Строка | Категория журнала для события. Журналы с той же категорией журналов и типом ресурсов имеют одинаковые поля свойств. |
resultType |
Строка | Состояние операции. |
level |
Строка | Уровень серьезности операции. |
chunkCount |
Целое | Общее количество блоков, созданных для записи. |
channelType |
Строка | Тип канала записи, например смешанный или несмешанный. |
recordingStartTime |
Дата/время | Время начала записи. |
contentType |
Строка | Содержимое записи, например только аудио, аудио/ видео или транскрибирование. |
formatType |
Строка | Формат файла записи. |
recordingLength |
Двойной | Длительность записи в секундах. |
audioChannelsCount |
Целое | Общее количество аудиоканалов в записи. |
recordingEndReason |
Строка | Причина окончания записи. |
Запись звонков и примеры данных
"operationName": "Call Recording Summary",
"operationVersion": "1.0",
"category": "RecordingSummary",
Вызов может иметь одну запись или несколько записей в зависимости от того, сколько раз активируется событие записи.
Например, если агент запускает исходящий вызов в записанной строке, а вызов удаляется из-за плохого сетевого сигнала, callID
будет иметь одно recordingID
значение. Если агент вызывает клиента, система создает новый callID
экземпляр и новое recordingID
значение.
Пример. Запись звонков для одного вызова одной записи
"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
}
Если агент запускает запись, а затем останавливает и перезапускает запись несколько раз во время вызова, callID
будет иметь много recordingID
значений. Количество значений зависит от того, сколько раз активировались события записи.
Пример. Запись звонков для одного вызова для многих записей
{
"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
}
Журналы ACSCallRecordingIncomingOperations
Ниже приведены свойства:
Свойство | Description |
---|---|
timeGenerated |
Метка времени (UTC) о том, когда был создан журнал. |
callConnectionId |
Идентификатор подключения или ноги вызова, если он доступен. |
callerIpAddress |
IP-адрес вызывающего объекта, если операция соответствует вызову API, который поступает из сущности с общедоступным IP-адресом. |
correlationId |
Идентификатор для коррелированных событий. Его можно использовать для выявления коррелированных событий между несколькими таблицами. |
durationMs |
Время выполнения операции в миллисекундах. |
level |
Уровень серьезности операции. |
operationName |
Операция, связанная с записями журнала. |
operationVersion |
Версия API, связанная с операцией или версией операции (если версия API отсутствует). |
resourceId |
Уникальный идентификатор ресурса, с которым связана запись. |
resultSignature |
Подстатус операции. Если эта операция соответствует вызову REST API, то это поле содержит код состояния HTTP соответствующего вызова REST. |
resultType |
Состояние операции. |
sdkType |
Тип пакета SDK, используемый в запросе. |
sdkVersion |
Версия пакета SDK. |
serverCallId |
Идентификатор вызова сервера. |
URI |
URI-адрес запроса. |
Приведем пример:
"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"
}
Следующие шаги
- Получение аналитических сведений о записи звонков.
- Дополнительные сведения о записи звонков.