Introducción a la grabación de llamadas
La grabación de llamadas le permite grabar varios escenarios de llamada disponibles en Azure Communication Services al proporcionar un conjunto de API para iniciar, detener, pausar y reanudar la grabación. Ya se trate de una llamada PSTN, WebRTC o SIP, se puede acceder a estas API desde su lógica empresarial del lado del servidor. Además, las grabaciones se pueden desencadenar con una acción del usuario que indica a la aplicación del servidor que inicie la grabación.
En función de sus necesidades empresariales, puede usar la grabación de llamadas para diferentes implementaciones de llamadas de Azure Communication Services.
Por ejemplo, puede grabar llamadas de audio y vídeo 1:1 o 1:N:
También puede usar la grabación de llamadas para grabar flujos de trabajo complejos de llamadas entrantes y salientes RTC o VoIP administrados por automatización de llamadas.
Independientemente de cómo haya establecido la llamada, la grabación de llamadas le permite producir archivos multimedia mezclados o sin mezclar que se guardan durante 24 horas en un almacenamiento temporal incorporado. Puede recuperar los archivos, moverlos a su propio almacén de blobs de Azure Traiga su propio almacenamiento o una solución de almacenamiento de su elección. La característica de grabación de llamadas puede usarse en todas las regiones de datos de Azure Communication Services.
Grabación de llamadas compatible con sus necesidades empresariales
La grabación de llamadas admite múltiples salidas multimedia y tipos de contenido para satisfacer las necesidades y los casos de uso de su empresa. Puede utilizar formatos mezclados para situaciones como el mantenimiento de registros, las notas de las reuniones, el entrenamiento y la formación, o incluso el cumplimiento y la adhesión. O bien, puede usar formatos sin mezclar para abordar casos de uso de control de calidad o incluso escenarios más complejos, como análisis avanzados o sofisticados procesos posteriores a la llamada basados en la IA (inteligencia artificial).
Vídeo
Tipo de canal | Formato de contenido | Solución | Frecuencia de muestreo | Velocidad de bits | Velocidad de datos | Output | Descripción |
---|---|---|---|---|---|---|---|
mixta | mp4 | 1920x1080, 16 FPS (fotogramas por segundo) | 16 KHz | 1 Mbps | 7.5 MB/min* | Archivo único, canal único | vídeo mixto en una disposición predeterminada de iconos de 3x3 (la mayoría de los altavoces activos) con compatibilidad con el nombre para mostrar |
Audio
Tipo de canal | Formato de contenido | Frecuencia de muestreo | Velocidad de bits | Velocidad de datos | Output | Descripción |
---|---|---|---|---|---|---|
mixta | mp3 | 16 KHz | 48 kbps | 0.36 MB/min* | Archivo único, canal único | audio mezclado de todos los participantes |
mixta | wav | 16 KHz | 256 kbps | 1.92 MB/min | Archivo único, canal único | audio mezclado de todos los participantes |
sin mezclar | wav | 16 KHz | 256 kbps | 1.92 MB/min* por canal | un solo archivo de hasta 5 canales wav | audio sin mezclar, un participante por canal, hasta cinco canales |
[*NOTA] Los formatos Mp3 y Mp4 usan compresión con pérdida de información que da como resultado una velocidad de bits variable; por lo tanto, los valores de velocidad de datos de las tablas anteriores reflejan el máximo teórico. El formato WAV es sin comprimir y la velocidad de bits es fija, por lo que los cálculos de velocidad de datos son exactos.
Obtenga control total sobre sus grabaciones con nuestras API de grabación de llamadas
Puede usar las API de grabación de llamadas para administrar la grabación mediante desencadenadores de lógica de negocios internos, por ejemplo, una aplicación que cree una llamada grupal y grabe la conversación. Además, las grabaciones se pueden desencadenar con una acción del usuario que indica a la aplicación del servidor que inicie la grabación. Las API de grabación de llamadas usan exclusivamente serverCallId
para iniciar la grabación. Para obtener información sobre cómo obtener serverCallId
, consulte nuestro inicio rápido de grabación de llamadas.
Cuando se inicia la grabación, se devuelve un recordingId
, que luego se puede usar para las operaciones de seguimiento, como pausar y reanudar.
Operación | Opera en | Comentarios |
---|---|---|
Inicie la grabación | serverCallId |
Devuelve recordingId |
Obtener el estado de la grabación | recordingId |
Devuelve RecordingStateResult |
Pausar la grabación | recordingId |
Pausar y reanudar la grabación de llamadas le permite omitir la grabación de una parte de una llamada o reunión, y reanudar la grabación en un solo archivo. |
Reanudar la grabación | recordingId |
Reanuda una operación de grabación en pausa. El contenido se incluye en el mismo archivo que el contenido anterior a la pausa. |
Detener grabación | recordingId |
Detiene la grabación e inicia el procesamiento multimedia final para la descarga de archivos. |
Notificaciones de Event Grid
La grabación de llamadas usa Azure Event Grid para proporcionarle notificaciones relacionadas con los elementos multimedia y los metadatos.
Nota:
Azure Communication Services proporciona almacenamiento de elementos multimedia a corto plazo para las grabaciones. Las grabaciones quedan disponibles para descargarse durante 24 horas. Después de 24 horas, las grabaciones ya no estarán disponibles.
Se publica una notificación Microsoft.Communication.RecordingFileStatusUpdated
de Event Grid cuando una grabación está lista para que la recupere, normalmente unos minutos después de que se complete el proceso de grabación, por ejemplo, cuando finalizó la reunión o se detuvo la grabación. Las notificaciones de eventos de grabación incluyen los elementos contentLocation
y metadataLocation
, que se usan para recuperar los elementos multimedia grabados y un archivo de metadatos de la grabación.
Referencia del esquema de notificación
{
"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
}
Referencia del esquema de metadatos
{
"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
}
]
}
Problemas normativos y de privacidad
Muchos países y estados tienen leyes y reglamentos aplicables a la grabación de llamadas. Las llamadas PSTN y de voz, y las videollamadas requieren a menudo que los usuarios den su consentimiento para la grabación de sus comunicaciones. Es su responsabilidad utilizar las capacidades de grabación de llamadas en cumplimento con la ley. Debe obtener el consentimiento de las partes que integran la comunicación grabada de forma que cada participante cumpla las leyes aplicables.
La normativa sobre el mantenimiento de datos personales requiere la capacidad de exportar datos de usuario. Para cumplir con estos requisitos, la grabación de archivos de metadatos incluye el elemento participantId
de cada participante de la llamada en la matriz participants
. Puede hacer referencia cruzada a la identidad de usuario de Azure Communication Services en la participants
matriz con las identidades de usuario internas para identificar a los participantes en una llamada.
Pasos siguientes
Estos son algunos artículos de interés para usted:
- Más información sobre la grabación de llamadas Insights y Registros
- Más información sobre la automatización de llamadas.
- Obtenga más información sobre las videollamadas.