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.
PlayAudioAndGetDigits
Reproduce audio y recopila dígitos DTMF. Si se produce un error, por ejemplo, si el usuario no introduce el número correcto de dígitos del DTMF, la acción reproduce el audio “defectuoso” y, a continuación, reproduce el audio principal hasta que la aplicación multimedia SIP agote el número de intentos definido en el parámetro Repeat.
Debe reproducir archivos de audio del bucket de S3. El bucket S3 debe pertenecer a la misma AWS cuenta que la aplicación multimedia SIP. Además, debe conceder el permiso s3:GetObject a la entidad principal del servicio Amazon Chime SDK Voice Connector, voiceconnector.chime.amazonaws.com. Para ello, puede utilizar la consola de S3 o la CLI.
La política de bucket de S3 típica se muestra en el ejemplo de código siguiente.
El servicio de audio lee y escribe en su bucket de S3 en nombre de su aplicación multimedia Sip. Para evitar el problema de adjunto confuso, puede restringir el acceso al bucket de S3 a una única aplicación multimedia SIP.
A continuación se muestra una acción típica de PlayAudioAndGetDigits.
{ "Type" : "PlayAudioAndGetDigits", "Parameters" : { "CallId": "call-id-1", "ParticipantTag": "LEG-A" "InputDigitsRegex": "^\d{2}#$", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-1.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-failure.wav" }, "MinNumberOfDigits":3, "MaxNumberOfDigits":5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds":5000, "Repeat": 3, "RepeatDurationInMilliseconds":10000} }
- CallId
-
Descripción:
CallIddel participante en la invocaciónCallDetailsde la AWS Lambda funciónValores permitidos: un identificador de llamada válido
Obligatorio: no
Valor predeterminado: ninguno
- ParticipantTag
-
Descripción: la
ParticipantTagde uno de los participantes conectados en losCallDetailsValores permitidos:
LEG-AoLEG-BObligatorio: no
Valor predeterminado:
ParticipantTagdelcallLeginvocado ignorado si se especifica elCallId - InputDigitsRegex
-
Descripción: patrón de expresión regular
Valores permitidos: un patrón de expresión regular válido
Obligatorio: no
Valor predeterminado: ninguno
- AudioSource.Type
-
Descripción: tipo de fuente para el tipo de archivo de audio
Valores permitidos: un bucket S3
Obligatorio: sí
Valor predeterminado: -
"S3" - AudioSource.BucketName
-
Descripción: para
AudioSource.Typelos valores de S3, el bucket de S3 debe pertenecer a la misma AWS cuenta que la aplicación multimedia SIP. El bucket S3 debe tener acceso al servidor de la entidad principal de Amazon Chime SDK Voice Connector,voiceconnector---chime.amazonaws.com.rproxy.govskope.ca.Valores permitidos: un bucket de S3 válido al que Amazon Chime SDK tiene acceso a las acciones de
s3:GetObject.Obligatorio: sí
Valor predeterminado: ninguno
- AudioSource.Key
-
Descripción: el nombre clave del objeto de audio del
AudioSource.BucketNamedel bucket de S3.Valores permitidos: archivos de audio válidos
Obligatorio: sí
Valor predeterminado: ninguno
- FailureAudioSource.Type
-
Descripción: el nombre clave del objeto de audio del
FailureAudioSource.BucketNamedel bucket de S3.Valores permitidos: S3
Obligatorio: sí
Valor predeterminado: ninguno
- FailureAudioSource.BucketName
-
Descripción: para los tipos de fuentes S3, el bucket S3 debe pertenecer a la misma AWS cuenta que la aplicación multimedia SIP. La entidad principal del servicio Amazon Chime SDK Voice Connector,
voiceconnector.chime.amazonaws.com, debe tener acceso al bucket de S3.Valores permitidos: un bucket de S3 válido al que Amazon Chime SDK tiene acceso a las acciones de
s3:GetObject.Obligatorio: sí
Valor predeterminado: ninguno
- FailureAudioSource.Key
-
Descripción: el nombre clave del objeto de audio del
FailureAudioSource.BucketNamedel bucket de S3.Valores permitidos: archivos de audio válidos
Obligatorio: sí
Valor predeterminado: ninguno
- MinNumberOfDigits
-
Descripción: el número mínimo de dígitos que se deben capturar antes de que se agote el tiempo de espera o se reproduzca el audio de “llamada fallida”.
Valores permitidos: – >=0
Obligatorio: no
Valor predeterminado: 0
- MaxNumberOfDigits
-
Descripción: el número máximo de dígitos que se deben capturar antes de detenerse sin un dígito final.
Valores permitidos: – >
MinNumberOfDigitsObligatorio: no
Valor predeterminado: 128
- TerminatorDigits
-
Descripción: dígitos que se utilizan para finalizar la entrada si el usuario introduce un número inferior al
MaxNumberOfDigitsValores permitidos: cualquiera de estos dígitos: 0123456789#*
Obligatorio: no
Valor predeterminado: #
- InBetweenDigitsDurationInMilliseconds
-
Descripción: el tiempo de espera en milisegundos entre las entradas de dígitos antes de la reproducción de
FailureAudio.Valores permitidos: >0
Obligatorio: no
Valor predeterminado: si no se especifica, el valor predeterminado es
RepeatDurationInMilliseconds. - Repeat
-
Descripción: número total de intentos de obtener dígitos
Valores permitidos: >0
Obligatorio: no
Valor predeterminado: 1
- RepeatDurationInMilliseconds
-
Descripción: tiempo de espera en milisegundos entre intentos de
RepeatValores permitidos: >0
Obligatorio: sí
Valor predeterminado: ninguno
La aplicación multimedia SIP siempre invoca su AWS Lambda función después de ejecutar la PlayAudioAndGetDigits acción, con un tipo de evento de ACTION_FAILED invocación ACTION_SUCCESSFUL o. Cuando la aplicación recopila dígitos correctamente, establece el valor ReceivedDigits del objeto ActionData. El siguiente ejemplo muestra la estructura de eventos de invocación de esa función. AWS Lambda
{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "PlayAudioAndGetDigits", "Parameters" : { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "InputDigitsRegex": "^\d{2}#$", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-1.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-failure.wav" }, "MinNumberOfDigits":3, "MaxNumberOfDigits":5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds":5000, "Repeat":3, "RepeatDurationInMilliseconds":10000}, "ErrorType": "InvalidAudioSource", "ErrorMessage": "Audio Source parameter value is invalid." }, "ReceivedDigits": "1234" }, "CallDetails": { ... } }
Gestión de errores
Cuando se produce un error de validación, la aplicación multimedia SIP llama a la función AWS Lambda con el mensaje de error correspondiente. En la siguiente tabla se enumeran los posibles mensajes de error.
| Error | Mensaje | Motivo |
|---|---|---|
|
|
El valor del parámetro de la fuente de audio no es válido. |
Este error puede producirse por varios motivos. Por ejemplo, la aplicación multimedia SIP no puede acceder al archivo debido a problemas con los permisos o con el bucket de S3. O bien, es posible que el archivo de audio no se valide debido a su duración, tamaño o formato no compatible. |
|
|
El parámetro |
Un |
|
|
Error del sistema al ejecutar la acción. |
Se ha producido un error del sistema al ejecutar la acción. |
Cuando la acción no recopila el número de dígitos especificado debido a un tiempo de espera o a demasiados reintentos, la aplicación multimedia SIP invoca la AWS Lambda función con el ACTION_FAILED tipo de evento de invocación.
{ "SchemaVersion": "1.0", "Sequence":4, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type": "PlayAudioAndGetDigits", "Parameters" : { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "InputDigitsRegex": "^\d{2}#$", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-1.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-failure.wav" }, "MinNumberOfDigits":3, "MaxNumberOfDigits":5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds":5000, "Repeat":3, "RepeatDurationInMilliseconds":10000}, "ErrorType": "InvalidAudioSource", "ErrorMessage": "Audio Source parameter value is invalid." } "CallDetails": { ... } }
Consulte algunos ejemplos prácticos sobre: GitHub