StartCallRecording - Amazon Chime SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

StartCallRecording

La acción StartCallRecording inicia la grabación del tramo de una llamada. Puede iniciar la grabación de llamadas en sus aplicaciones multimedia SIP, ya sea bajo demanda o en respuesta a un evento SIP.

  • Para iniciar la grabación bajo demanda de una llamada, utilice la API UpdateSipMediaApplication para invocar la aplicación y devolver la acción StartCallRecording.

  • Para iniciar la grabación de llamadas en respuesta a un evento SIP, devuelva la acción de StartCallRecording a su aplicación.

Especifique si desea grabar la pista de audio para el tramo entrante, el tramo saliente o ambos. En las secciones siguientes se explica cómo utilizar la acción StartCallRecording.

nota

Las grabaciones realizadas con esta característica pueden estar sujetas a las leyes o reglamentos relativos a la grabación de comunicaciones electrónicas. Es su responsabilidad y la de sus usuarios finales cumplir con todas las leyes aplicables en relación con la grabación, incluida la notificación adecuada a todos los participantes de una sesión o comunicación grabada de que la sesión o la comunicación se está grabando y obtener su consentimiento.

Solicitar una StartCallRecording acción

El siguiente ejemplo muestra cómo restringir la acción StartCallRecording a BOTH pistas.

{ "Version": "2012-10-17", "Statement": [ { "Type": "StartCallRecording", "Parameters": { "CallId": "call-id-1", "Track": "BOTH", "Destination": { "Type": "S3", "Location": "valid-bucket-name-and-optional-prefix" } } } ] }
CallId

Descripción: CallId del participante en la invocación CallDetails de la AWS Lambda función

Valores permitidos: un identificador de llamada válido

Obligatorio: sí

Valor predeterminado: ninguno

Pista

Descripción: Track de audio de la grabación de la llamada.

Valores permitidos: BOTH, INCOMING o OUTGOING.

Obligatorio: sí

Valor predeterminado: ninguno

Tipo de destino

Descripción: tipo de destino. Solo se permite Amazon S3.

Valores permitidos: Amazon S3

Obligatorio: sí

Valor predeterminado: ninguno

Ubicación de destino

Descripción: un bucket de Amazon S3 válido y un prefijo de clave de Amazon S3 opcional. El bucket debe tener permisos para la entidad principal de servicio de Amazon Chime SDK Voice Connector, voiceconnector.chime.amazonaws.com.

Valores permitidos: una ruta de Amazon S3 válida para la que el Amazon Chime SDK tiene permisos para las acciones s3:PutObject y s3:PutObjectAcl.

Obligatorio: sí

Valor predeterminado: ninguno

Especificación de un destino de grabación

Amazon Chime SDK proporciona grabaciones de llamadas a su bucket de Amazon S3. El depósito debe pertenecer a tu AWS cuenta. La ubicación del bucket se especifica en el parámetro Destination de la acción StartCallRecording. El campo Type del parámetro Destination debe ser S3. El campo Location consta de su bucket de Amazon S3 y un prefijo de clave de objeto opcional en el que se entrega la grabación de la llamada.

La aplicación multimedia SIP utiliza la Location especificada, la fecha y hora del tramo de llamada, el identificador de transacción y el identificador de llamada para formatear la clave de objeto de Amazon S3. La respuesta a la acción StartCallRecording devuelve la clave de objeto completa de Amazon S3.

Si solo proporciona el bucket de Amazon S3 en el campo Location, la aplicación multimedia SIP añade un prefijo predeterminado, Amazon-Chime-SMA-Call-Recordings, a la ruta de Amazon S3. La aplicación multimedia SIP también agrega el año, el mes y el día de la hora de inicio de la llamada para ayudar a organizar las grabaciones. El siguiente ejemplo muestra el formato general de una ruta de Amazon S3 con el prefijo predeterminado. En este ejemplo myRecordingBucket se utiliza como valor de Location.

myRecordingBucket/Amazon-Chime-SMA-Call-Recordings/2019/03/01/2019–03–01–17–10–00–010_c4640e3b–1478–40fb-8e38–6f6213adf70b_7ab7748e–b47d–4620-ae2c–152617d3333c.wav

En el ejemplo siguiente se muestran los datos que se representan en la ruta de Amazon S3 de la grabación de la llamada.

s3Bucket/Amazon-Chime-SMA-Call-Recordings/year/month/date/year-month-date-hour-minute-second-millisecond_transactionId_callId.wav

Cuando proporciona el bucket de Amazon S3 y el prefijo de clave de objeto en el campo Location, la aplicación multimedia SIP utiliza su prefijo de clave de objeto en la ruta de Amazon S3 de destino en lugar del prefijo predeterminado. El siguiente ejemplo muestra el formato general de una llamada grabando la ruta de Amazon S3 con su prefijo. Por ejemplo, puede especificar myRecordingBucket /TechnicalSupport/English como. Location

myRecordingBucket/technicalSupport/english/2019/03/01/2019–03–01–17–10–00–010_c4640e3b1478–40fb–8e38-6f6213adf70b_7ab7748e–b47d–4620–ae2c–152617d3333c.wav

En el siguiente ejemplo, se muestran los datos de la ruta de Amazon S3.

s3Bucket/yourObjectKeyPrefix/year/month/date/year-month-date-hour-minute-second-millisecond_transactionId_callId.wav

La grabación enviada a su bucket de Amazon S3 contiene metadatos de objetos de Amazon S3 adicionales sobre el tramo de llamada. En la siguiente tabla se muestran los metadatos de objetos de Amazon S3 admitidos.

Nombre Descripción

transaction-id

ID de transacción de la llamada de teléfono

call-id

CallId del participante en la invocación de la función CallDetails AWS Lambda

recording-duration

Duración de la grabación de llamadas en segundos

recording-audio-file-format

Formato de archivo de audio para grabación de llamadas representado como tipo de medio de Internet

Conceder permisos de bucket de Amazon S3

El bucket de Amazon S3 de destino debe pertenecer a la misma AWS cuenta que la aplicación. Además, la acción debe otorgar a s3:PutObject y s3:PutObjectAcl permiso a la entidad principal del servicio Amazon Chime SDK Voice Connector, voiceconnector.chime.amazonaws.com. En el siguiente ejemplo, se otorgan los permisos.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SIP media applicationRead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::bucket-name/*", "Condition": { "StringEquals": { "aws:SourceAccount": "aws-account-id" } } } ] }

El servicio de audio PSTN lee y escribe en su bucket S3 en nombre de su aplicación multimedia Sip. Para evitar este problema de suplente confuso, puede restringir los permisos del bucket S3 a una sola aplicación multimedia SIP.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SIP media applicationRead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::bucket-name/*", "Condition": { "StringEquals": { "aws:SourceAccount": "aws-account-id", "aws:SourceArn": "arn:aws:chime:region:aws-account-id:sma/sip-media-application-id" } } } ] }

Respuesta correcta de la acción

Cuando la grabación de la llamada se inicia correctamente en un tramo de llamada, la aplicación multimedia SIP invoca una AWS Lambda función con el tipo de ACTION_SUCCESSFUL evento. En la respuesta se recupera la ubicación de la grabación de la llamada.

{ "SchemaVersion": "1.0", "Sequence": INTEGER, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type" : "StartCallRecording", "Parameters": { "CallId": "call-id-1", "Track": "BOTH", "Destination": { "Type": "S3", "Location": "valid-bucket-name" } } "CallRecordingDestination": { "Type": "S3", "Location": "call-recording-bucket-and-key" } } "CallDetails": { ... } }

Respuesta incorrecta de la acción

En caso de errores de validación, la aplicación multimedia SIP llama a la AWS Lambda función con el mensaje de error correspondiente. En la siguiente tabla se muestran los mensajes de error.

Error Mensaje Motivo

InvalidActionParameter

El parámetro de acción CallId no es válido

Cualquier parámetro no es válido.

SystemException

Error del sistema al ejecutar una acción.

Se ha producido otro tipo de error del sistema al ejecutar una acción.

Cuando la acción no graba el contenido multimedia de un tramo de llamada, la aplicación multimedia SIP invoca una función AWS Lambda con el tipo de evento ActionFailed.

El ejemplo siguiente muestra una respuesta de error típica.

{ "SchemaVersion": "1.0", "Sequence": 5, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type" : "StartCallRecording", "Parameters": { "CallId": "call-id-1", "Track": "BOTH", "Destination": { "Type": "S3", "Location": "valid-bucket-name" } } "Error": "NoAccessToDestination: Error while accessing destination" } "CallDetails": { ... } }

Consulte un ejemplo práctico en GitHub: https://github.com/aws-samples/ amazon-chime-sma-on -demand-recording