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ónStartCallRecording
.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.
Temas
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ónCallDetails
de la AWS Lambda funciónValores 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
oOUTGOING
.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
ys3: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 |
---|---|---|
|
El parámetro de acción |
Cualquier parámetro no es válido. |
|
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