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.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMARead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::
bucket-name
/*", "Condition": { "StringEquals": { "aws:SourceAccount": "aws-account-id
" } } } ] }
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.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMARead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:GetObject" ], "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
" } } } ] }
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:
CallId
del participante en la invocaciónCallDetails
de la AWS Lambda funciónValores permitidos: un identificador de llamada válido
Obligatorio: no
Valor predeterminado: ninguno
- ParticipantTag
-
Descripción: la
ParticipantTag
de uno de los participantes conectados en losCallDetails
Valores permitidos:
LEG-A
oLEG-B
Obligatorio: no
Valor predeterminado:
ParticipantTag
delcallLeg
invocado 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.Type
los 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
.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.BucketName
del 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.BucketName
del 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.BucketName
del 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: – >
MinNumberOfDigits
Obligatorio: 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
MaxNumberOfDigits
Valores 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
Repeat
Valores 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": { ... } }
Control 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