Especificar acciones en respuesta a eventos de telefonía - 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.

Especificar acciones en respuesta a eventos de telefonía

En el servicio de audio, las aplicaciones SIP multimedia invocan AWS Lambda funciones. A su vez, una función de Lambda puede devolver una lista de instrucciones conocidas como acciones. Una acción es un elemento que se desea ejecutar en un tramo de una llamada telefónica, como enviar o recibir dígitos, unirse a una reunión, etc. Para obtener más información sobre las acciones que invoca el servicio PSTN de audio, consulteDescripción de los eventos de telefonía.

Cuando una aplicación SIP multimedia ejecuta correctamente una lista de acciones, llama a la AWS Lambda función con un tipo de evento de invocación deACTION_SUCCESSFUL. Si alguna de las acciones no se completa, la aplicación SIP multimedia llama a la AWS Lambda función con el ACTION_FAILED evento.

La aplicación SIP multimedia solo vuelve ACTION_SUCCESSFUL si todas las acciones de la lista se han realizado correctamente. Si alguna de las acciones de la lista falla, la aplicación SIP multimedia invoca la AWS Lambda función con el ACTION_FAILED evento y borra las acciones restantes de la lista después de la fallida. A continuación, la aplicación SIP multimedia ejecuta la siguiente acción devuelta por la AWS Lambda función. La clave ActionData se utiliza para identificar qué llamada ha invocado la función.

El siguiente evento muestra un ejemplo de carga útil para el tipo de evento de invocación ACTION_SUCCESSFUL después de una acción PlayAudioAndGetDigits.

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "PlayAudioAndGetDigits", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "failure-audio-file.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "failure-audio-file.wav" }, "MinNumberOfDigits": 3, "MaxNumberOfDigits": 5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds": 5000, "Repeat": 3, "RepeatDurationInMilliseconds": 10000 }, "ReceivedDigits": "123" } "CallDetails": { "TransactionId": "transaction-id", "AwsAccountId": "aws-account-id", "AwsRegion": "us-east-1", "SipRuleId": "sip-rule-id", "SipApplicationId": "sip-application-id", "Participants": [ { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "To": "+12065551212", "From": "+15105550101", "Direction": "Inbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Connected" } ] } } }

Cuando una acción de una lista no se completa correctamente, la aplicación SIP multimedia invoca la AWS Lambda función para notificarle el error y ejecutar un nuevo conjunto de acciones en esa llamada. El siguiente evento muestra un ejemplo de carga útil para el tipo de evento de invocación ACTION_FAILED después de una acción PlayAudio.

{ "SchemaVersion": "1.0", "Sequence": 4, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type": "PlayAudio", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file.wav" } }, "ErrorType": "InvalidAudioSource", "ErrorMessage": "Audio Source parameter value is invalid." } "CallDetails": { "TransactionId": "transaction-id", "AwsAccountId": "aws-account-id", "AwsRegion": "us-east-1", "SipRuleId": "sip-rule-id", "SipApplicationId": "sip-application-id", "Participants": [ { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "To": "+12065551212", "From": "+15105550101", "Direction": "Inbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Connected" } ] } } }