Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
PlayAudioAndGetDigits
Lit le son et collecte des chiffres DTMF. En cas d'échec, par exemple si l'utilisateur ne saisit pas le nombre correct de chiffres DTMF, l'action joue le signal audio « défaillant », puis rejoue le son principal jusqu'à ce que l'application multimédia SIP ait épuisé le nombre de tentatives défini dans le paramètre. Repeat
Vous devez lire les fichiers audio à partir du compartiment S3. Le compartiment S3 doit appartenir au même AWS compte que l'application multimédia SIP. En outre, vous devez donner l's3:GetObject
autorisation au responsable du service Amazon Chime SDK Voice Connector,. voiceconnector.chime.amazonaws.com
Pour ce faire, vous pouvez utiliser la console S3 ou la CLI.
L'exemple de code suivant illustre une politique de compartiment S3 typique.
{ "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
" } } } ] }
Le service audio lit et écrit dans votre compartiment S3 pour le compte de votre application Sip Media. Pour éviter le problème des adjoints confus, vous pouvez restreindre l'accès au compartiment S3 à une seule application multimédia 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
" } } } ] }
L'exemple suivant montre une PlayAudioAndGetDigits
action typique.
{ "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
-
Description —
CallId
du participant à l'CallDetails
invocation de la AWS Lambda fonctionValeurs autorisées : un identifiant d'appel valide
Obligatoire — Non
Valeur par défaut – Aucune
- ParticipantTag
-
Description —
ParticipantTag
de l'un des participants connectés auCallDetails
Valeurs autorisées —
LEG-A
ouLEG-B
Obligatoire — Non
Valeur par défaut —
ParticipantTag
de la valeurcallLeg
ignorée invoquée si vous spécifiezCallId
- InputDigitsRegex
-
Description — Un modèle d'expression régulière
Valeurs autorisées : modèle d'expression régulière valide
Obligatoire — Non
Valeur par défaut – Aucune
- AudioSource.Type
-
Description — Type de source pour le type de fichier audio
Valeurs autorisées : un compartiment S3
Obligatoire — Oui
Valeur par défaut —
"S3"
- AudioSource.BucketName
-
Description — Pour
AudioSource.Type
les valeurs S3, le compartiment S3 doit appartenir au même AWS compte que l'application multimédia SIP. Le bucket S3 doit avoir accès au principal service Amazon Chime SDK Voice Connector,.voiceconnector.chime.amazonaws.com
Valeurs autorisées : compartiment S3 valide pour lequel le SDK Amazon Chime dispose
s3:GetObject
d'un accès aux actions.Obligatoire — Oui
Valeur par défaut – Aucune
- AudioSource.Key
-
Description — Le nom clé de l'objet audio dans le compartiment
AudioSource.BucketName
S3.Valeurs autorisées : fichiers audio valides
Obligatoire — Oui
Valeur par défaut – Aucune
- FailureAudioSource.Type
-
Description — Le nom clé de l'objet audio dans le compartiment
FailureAudioSource.BucketName
S3.Valeurs autorisées — S3
Obligatoire — Oui
Valeur par défaut – Aucune
- FailureAudioSource.BucketName
-
Description — Pour les types de source S3, le compartiment S3 doit appartenir au même AWS compte que l'application multimédia SIP. Le responsable du service Amazon Chime SDK Voice Connector doit avoir accès au compartiment S3.
voiceconnector.chime.amazonaws.com
Valeurs autorisées : compartiment S3 valide pour lequel le SDK Amazon Chime dispose
s3:GetObject
d'un accès aux actions.Obligatoire — Oui
Valeur par défaut – Aucune
- FailureAudioSource.Key
-
Description — Le nom clé de l'objet audio dans le compartiment
FailureAudioSource.BucketName
S3.Valeurs autorisées : fichiers audio valides
Obligatoire — Oui
Valeur par défaut – Aucune
- MinNumberOfDigits
-
Description — Le nombre minimum de chiffres à capturer avant l'expiration du délai imparti ou avant la lecture du signal audio « échec de l'appel ».
Valeurs autorisées : >=0
Obligatoire — Non
Valeur par défaut — 0
- MaxNumberOfDigits
-
Description — Le nombre maximum de chiffres à capturer avant l'arrêt sans un chiffre final.
Valeurs autorisées — >
MinNumberOfDigits
Obligatoire — Non
Valeur par défaut : 128
- TerminatorDigits
-
Description — Chiffres utilisés pour terminer la saisie si l'utilisateur saisit moins que
MaxNumberOfDigits
Valeurs autorisées — N'importe lequel de ces chiffres : 0123456789#*
Obligatoire — Non
Valeur par défaut — #
- InBetweenDigitsDurationInMilliseconds
-
Description — Le temps d'attente en millisecondes entre les entrées de chiffres avant de jouer.
FailureAudio
Valeurs autorisées : >0
Obligatoire — Non
Valeur par défaut : si elle n'est pas spécifiée, la
RepeatDurationInMilliseconds
valeur par défaut est la même. - Repeat
-
Description — Nombre total de tentatives pour obtenir des chiffres
Valeurs autorisées : >0
Obligatoire — Non
Valeur par défaut — 1
- RepeatDurationInMilliseconds
-
Description — Temps d'attente en millisecondes entre les tentatives
Repeat
Valeurs autorisées : >0
Obligatoire — Oui
Valeur par défaut – Aucune
L'application multimédia SIP invoque toujours sa AWS Lambda fonction après avoir exécuté l'PlayAudioAndGetDigits
action, avec un type d'événement d'ACTION_FAILED
invocation ACTION_SUCCESSFUL
ou. Lorsque l'application parvient à rassembler des chiffres, elle définit la ReceivedDigits
valeur dans l'ActionData
objet. L'exemple suivant montre la structure des événements d'invocation de cette AWS Lambda fonction.
{ "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": { ... } }
Gestion des erreurs
Lorsqu'une erreur de validation se produit, l'application multimédia SIP appelle la AWS Lambda fonction avec le message d'erreur correspondant. Le tableau suivant répertorie les messages d'erreur possibles.
Erreur | Message | Raison |
---|---|---|
|
La valeur du paramètre de source audio n'est pas valide. |
Cette erreur peut se produire pour plusieurs raisons. Par exemple, l'application multimédia SIP ne peut pas accéder au fichier en raison de problèmes d'autorisation ou de problèmes liés au compartiment S3. Il se peut également que la validation du fichier audio échoue en raison de sa durée, de sa taille ou de son format non pris en charge. |
|
|
Un |
|
Erreur système lors de l'exécution de l'action. |
Une erreur système s'est produite lors de l'exécution de l'action. |
Lorsque l'action ne parvient pas à collecter le nombre de chiffres spécifiés en raison d'un délai d'attente ou d'un trop grand nombre de tentatives, l'application multimédia SIP invoque la AWS Lambda fonction avec le type d'événement d'ACTION_FAILED
invocation.
{ "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": { ... } }
Consultez des exemples pratiques sur GitHub :