Обзор записи звонков
Запись вызовов позволяет записывать несколько сценариев вызова, доступных в Службы коммуникации Azure, предоставляя набор API для запуска, остановки, приостановки и возобновления записи. Независимо от того, является ли это вызов ТСОП, WebRTC или SIP, эти API можно получить из бизнес-логики на стороне сервера. Кроме того, записи могут быть активированы действием пользователя, которое сообщает серверу приложению начать запись.
В зависимости от бизнес-потребностей можно использовать запись звонков для различных Службы коммуникации Azure реализации вызовов.
Например, можно записать аудио- и видеозвонки 1:1 или 1:N:
Запись звонков также можно использовать для записи сложных ТСОП или VoIP входящих и исходящих вызовов рабочих процессов, управляемых службой автоматизации вызовов.
Независимо от того, как вы установили вызов, запись звонков позволяет создавать смешанные или несмешанные файлы мультимедиа, которые хранятся в течение 24 часов во встроенном временном хранилище. Вы можете получить файлы, переместить их в собственном хранилище BLOB-объектов Azure с помощью собственных служба хранилища или решение для хранения. Запись звонков поддерживает все Службы коммуникации Azure области данных.
Запись звонков, которая поддерживает бизнес-потребности
Запись звонков поддерживает несколько выходных данных мультимедиа и типов контента для решения бизнес-потребностей и вариантов использования. Вы можете использовать смешанные форматы для таких сценариев, как хранение записей, заметки о собраниях, коучинг и обучение, или даже соответствие и соблюдение. Кроме того, вы можете использовать несмешанный формат звука для решения вариантов использования проверки качества или еще более сложных сценариев, таких как расширенная аналитика или искусственный интеллект (искусственный интеллект) сложные процессы после вызова.
Видео
Тип канала | Формат содержимого | Разрешение | Частота дискретизации | Скорость | Скорость передачи данных | Выходные данные | Description |
---|---|---|---|---|---|---|---|
mixed | mp4 | 1920x1080, 16 FPS (кадры в секунду) | 16 кГц | 1 мбит/с | 7.5 МБ/мин* | один файл, один канал | смешанное видео в расположении плитки по умолчанию 3x3 (большинство активных динамиков) с поддержкой отображаемого имени |
Аудио
Тип канала | Формат содержимого | Частота дискретизации | Скорость | Скорость передачи данных | Выходные данные | Description |
---|---|---|---|---|---|---|
mixed | MP3 | 16 кГц | 48 кб/с | 0,36 МБ/мин* | один файл, один канал | смешанный звук всех участников |
mixed | WAV | 16 кГц | 256 Кбит/с | 1.92 МБ/мин | один файл, один канал | смешанный звук всех участников |
несмешанный | WAV | 16 кГц | 256 Кбит/с | 1.92 МБ/min* на канал | один файл, до 5 каналов wav | несмешанный звук, один участник на канал, до пяти каналов |
[*ПРИМЕЧАНИЕ] Форматы Mp3 и Mp4 используют сжатие потери, которое приводит к переменной скорости; Таким образом, значения скорости данных в предыдущих таблицах отражают теоретический максимум. Формат WAV распаковлен, а скорость передачи данных фиксирована, поэтому вычисления скорости данных точны.
Полный контроль над записями с помощью API записи звонков
Api записи вызовов можно использовать для управления записью с помощью триггеров внутренней бизнес-логики, таких как приложение, создающее групповой вызов и запись беседы. Кроме того, записи могут быть активированы действием пользователя, которое сообщает серверу приложению начать запись. API записи вызовов используют исключительно serverCallId
для запуска записи. Чтобы узнать, как получить проверка краткое serverCallId
руководство по записи звонков.
Возвращается recordingId
при запуске записи, которая затем может использоваться для последующих операций, таких как приостановка и возобновление.
Операция | Область применения | Комментарии |
---|---|---|
Начать запись | serverCallId |
Возвращает recordingId . |
Отобразить состояние записи | recordingId |
Возвращает RecordingStateResult . |
Приостановить запись | recordingId |
Функция приостановки и возобновления записи разговора позволяет пропустить запись части разговора или встречи и возобновить запись в один файл. |
Возобновить запись | recordingId |
Возобновляет операцию приостановки записи. Содержимое добавляется в тот же файл, что и перед приостановкой. |
Остановить запись | recordingId |
Останавливает запись и инициирует окончательную обработку данных мультимедиа для скачивания файла. |
Уведомления в сетке событий
Запись вызовов использует Сетка событий Azure для предоставления уведомлений, связанных с мультимедиа и метаданными.
Примечание.
Службы коммуникации Azure предоставляют краткосрочное хранилище носителей для записей. Записи доступны для скачивания в течение 24 часов. Через 24 часа записи больше не доступны.
Уведомление Microsoft.Communication.RecordingFileStatusUpdated
сетки событий публикуется, когда запись готова к получению, как правило, через несколько минут после завершения процесса записи, например завершения собрания или остановки записи. Запись уведомлений о событиях включает значения contentLocation
и metadataLocation
, которые можно использовать для получения записанного носителя и файла метаданных записи.
Справочник по схемам уведомлений
{
"id": string, // Unique guid for event
"topic": string, // /subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}
"subject": string, // /recording/call/{call-id}/serverCallId/{serverCallId}/recordingId/{recordingId}
"data": {
"recordingStorageInfo": {
"recordingChunks": [
{
"documentId": string, // Document id for retrieving from storage
"index": int, // Index providing ordering for this chunk in the entire recording
"endReason": string, // Reason for chunk ending: "SessionEnded", "ChunkMaximumSizeExceeded”, etc.
"metadataLocation": <string>, // url of the metadata for this chunk
"contentLocation": <string>, // url of the mp4, mp3, or wav for this chunk
"deleteLocation": <string> // url of the mp4, mp3, or wav to delete this chunk
}
]
},
"recordingStartTime": string, // ISO 8601 date time for the start of the recording
"recordingDurationMs": int, // Duration of recording in milliseconds
"sessionEndReason": string // Reason for call ending: "CallEnded", "InitiatorLeft", etc.
},
"eventType": string, // "Microsoft.Communication.RecordingFileStatusUpdated"
"dataVersion": string, // "1.0"
"metadataVersion": string, // "1"
"eventTime": string // ISO 8601 date time for when the event was created
}
Справочник по схеме метаданных
{
"resourceId": <string>, // stable resource id of the Azure Communication Services resource recording
"callId": <string>, // id of the call
"chunkDocumentId": <string>, // object identifier for the chunk this metadata corresponds to
"chunkIndex": <number>, // index of this chunk with respect to all chunks in the recording
"chunkStartTime": <string>, // ISO 8601 datetime for the start time of the chunk this metadata corresponds to
"chunkDuration": <number>, // [Chunk duration has a maximum of 4 hours] duration of the chunk this metadata corresponds to in milliseconds
"pauseResumeIntervals": [
"startTime": <string>, // ISO 8601 datetime for the time at which the recording was paused
"duration": <number> // duration of the pause in the recording in milliseconds
],
"recordingInfo": {
"contentType": <string>, // content type of recording, e.g. audio/audioVideo
"channelType": <string>, // channel type of recording, e.g. mixed/unmixed
"format": <string>, // format of the recording, e.g. mp4/mp3/wav
"audioConfiguration": {
"sampleRate": <number>, // sample rate for audio recording
"bitRate": <number>, // bitrate for audio recording
"channels": <number> // number of audio channels in output recording
},
"videoConfiguration": {
"longerSideLength": <number>, // longerSideLength for video recording
"shorterSideLength": <number>, // shorterSideLength for video recording
"frameRate": <number>, // frameRate for video recording
"bitRate": <number> // bitrate for video recording
}
},
"participants": [
{
"participantId": <string>, // participant identifier of a participant captured in the recording
"channel": <number> // channel the participant was assigned to if the recording is unmixed
}
]
}
Нормативные требования и защита конфиденциальности
Многие страны или регионы и государства имеют законы и правила, применимые к записи звонков. ТСОП, голосовые и видеозвонки часто требуют, чтобы пользователи предоставили согласие на запись своих сообщений. Вы обязаны использовать возможности записи разговоров в соответствии с законом. Вы должны получить согласие сторон записываемых коммуникаций в соответствии с законами, применимыми к каждому участнику.
Нормативам по обслуживанию персональных данных требуется возможность экспорта данных пользователей. Для поддержки этих требований файлы метаданных записей включают participantId
каждый участник вызова в participants
массив. Вы можете перекрестно ссылаться на Службы коммуникации Azure удостоверение пользователя в массиве participants
с внутренними удостоверениями пользователей для идентификации участников вызова.
Следующие шаги
Начало работы с записью звонков.
Ниже приведены некоторые статьи, интересующие вас:
- Дополнительные сведения о записи вызовов Аналитика и журналах
- Дополнительные сведения об автоматизации вызовов.
- Дополнительные сведения о видеозвонках.