PlayAudioAndGetDigits - Kit SDK Amazon Chime

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:GetObjectautorisation 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

DescriptionCallId du participant à l'CallDetailsinvocation de la AWS Lambda fonction

Valeurs autorisées : un identifiant d'appel valide

Obligatoire — Non

Valeur par défaut – Aucune

ParticipantTag

DescriptionParticipantTag de l'un des participants connectés au CallDetails

Valeurs autoriséesLEG-A ou LEG-B

Obligatoire — Non

Valeur par défautParticipantTag de la valeur callLeg ignorée invoquée si vous spécifiez CallId

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'PlayAudioAndGetDigitsaction, avec un type d'événement d'ACTION_FAILEDinvocation ACTION_SUCCESSFUL ou. Lorsque l'application parvient à rassembler des chiffres, elle définit la ReceivedDigits valeur dans l'ActionDataobjet. 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

InvalidAudioSource

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.

InvalidActionParameter

CallIdou le ParticipantTag paramètre de l'action n'est pas valide.

Un CallIdParticipantTag, ou un autre paramètre n'est pas valide.

SystemException

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_FAILEDinvocation.

{ "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 :