PlayAudioAndGetDigits - Amazon Chime SDK

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

PlayAudioAndGetDigits

Spielt Audio ab und sammelt DTMF-Ziffern. Wenn ein Fehler auftritt, z. B. ein Benutzer, der nicht die richtige Anzahl von DTMF-Ziffern eingibt, spielt die Aktion das „Failure“ -Audio ab und gibt dann das Haupt-Audio wieder ab, bis die SIP-Medienanwendung die Anzahl der imRepeat-Parameter.

Sie müssen Audiodateien aus dem S3-Bucket abspielen. Der S3-Bucket muss demselben angehörenAWSKonto als SIP-Medienanwendung. Außerdem müssen Sie dass3:GetObjectErlaubnis zumPrinzipal des Amazon Chime Voice Connector-Dienstes,voiceconnector.chime.amazonaws.comaus. Sie können dazu die S3-Konsole oder die CLI verwenden.

Das folgende Codebeispiel zeigt eine typische S3-Bucket-Richtlinie.

{ "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" } } } ] }

Der PSTN Audio-Dienst liest und schreibt im Auftrag Ihrer Sip Media Application in Ihren S3-Bucket. Um das zu vermeidenverwirrtes Stellvertreterproblemkönnen Sie den S3-Bucket-Zugriff auf eine einzelne SIP-Medienanwendung einschränken.

{ "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:region:aws-account-id:sma/sip-media-application-id" } } } ] }

Das folgende Beispiel zeigt einen typischenPlayAudioAndGetDigitsAktion

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

BeschreibungCallIddes Teilnehmers derCallDetailsderAWS LambdaAufrufen der -Funktion

Zulässige Werte- Eine gültige Anruf-ID

Erforderlich— Nein

Standardwert – Keine

ParticipantTag

BeschreibungParticipantTageines der verbundenen Teilnehmer imCallDetails

Zulässige WerteLEG-AoderLEG-B

Erforderlich— Nein

StandardwertParticipantTagdes AufruftetencallLegIgnoriert wenn Sie angebenCallId

InputDigitsRegex

Beschreibung— Ein Muster von regulären Ausdrücken

Zulässige Werte— Ein gültiges Muster von regulären Ausdrücken

Erforderlich— Nein

Standardwert – Keine

AudioSource-Typ

Beschreibung— Art der Quelle für den Audiodateityp

Zulässige Werte— Einen S3-Bucket

Erforderlich— Ja

Standardwert"S3"

AudioSource-BucketName

Beschreibung— Für S3AudioSource.TypeWerte, muss der S3-Bucket demselben angehörenAWSKonto als SIP-Medienanwendung. Der Bucket S3 muss Zugriff auf diePrinzipal des Amazon Chime Voice Connector-Dienstes,voiceconnector.chime.amazonaws.comaus.

Zulässige Werte— Ein gültiger S3-Bucket, für den Amazon Chime SDK verfügts3:GetObjectZugriff auf Aktionen.

Erforderlich— Ja

Standardwert – Keine

AudioSource.Key

Beschreibung— Der Schlüsselname des Audio-Objekts imAudioSource.BucketNameEinen S3-Bucket.

Zulässige Werte- Gültige Audiodateien

Erforderlich— Ja

Standardwert – Keine

FailureAudioSource-Typ

Beschreibung— Der Schlüsselname des Audio-Objekts imFailureAudioSource.BucketNameEinen S3-Bucket.

Zulässige Werte— S3

Erforderlich— Ja

Standardwert – Keine

FailureAudioSource.BucketName

Beschreibung— Für S3-Quelltypen muss der S3-Bucket demselben angehörenAWSKonto als SIP-Medienanwendung. DiePrinzipal des Amazon Chime Voice Connector-Dienstes,voiceconnector.chime.amazonaws.com, muss Zugriff auf den S3-Bucket haben.

Zulässige Werte— Ein gültiger S3-Bucket, für den Amazon Chime SDK verfügts3:GetObjectZugriff auf Aktionen.

Erforderlich— Ja

Standardwert – Keine

FailureAudioSource.Key

Beschreibung— Der Schlüsselname des Audio-Objekts imFailureAudioSource.BucketNameEinen S3-Bucket.

Zulässige Werte- Gültige Audiodateien

Erforderlich— Ja

Standardwert – Keine

minNumberOfDigits

Beschreibung— Die Mindestanzahl von Ziffern, die vor dem Timing Out oder Wiedergabe von „Call fehlgeschlagen“ -Audio erfasst werden sollen

Zulässige Werte— >=0

Erforderlich— Nein

Standardwert— 0

MaxNumberOfDigits

Beschreibung— Die maximale Anzahl von Ziffern, die vor dem Anhalten ohne eine abschließende Ziffer erfasst werden sollen.

Zulässige Werte— >MinNumberOfDigits

Erforderlich— Nein

Standardwert— 128

TerminatorDigits

Beschreibung— Ziffern, die verwendet werden, um die Eingabe zu beenden, wenn der Benutzer weniger als dieMaxNumberOfDigits

Zulässige Werte— Eine dieser Ziffern: 0123456789#*

Erforderlich— Nein

Standardwert— #

InbetweenDigitsDurationInMilliseconds

Beschreibung— Die Wartezeit in Millisekunden zwischen Zifferneingaben vor dem AbspielenFailureAudioaus.

Zulässige Werte— >0

Erforderlich— Nein

Standardwert— Falls nicht anders festgelegt, gilt der StandardwertRepeatDurationInMillisecondsWert.

REPEAT

Beschreibung- Gesamtzahl der Versuche, Ziffern zu erhalten

Zulässige Werte— >0

Erforderlich— Nein

Standardwert— 1

RepeatDurationInMilliseconds

Beschreibung— Zeit in Millisekunden, zwischenRepeatVersuche

Zulässige Werte— >0

Erforderlich— Ja

Standardwert – Keine

Die SIP-Medienanwendung ruft immer ihreAWS LambdaFunktion nach dem Ausführen desPlayAudioAndGetDigitsAktion, mit einemACTION_SUCCESSFULoderACTION_FAILED-Aufruftyp. Wenn die Anwendung erfolgreich Ziffern sammelt, wird dieReceivedDigitsWert imActionData-Objekt. Das folgende Beispiel zeigt die Aufruftastruktur dieserAWS LambdaFunktion.

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

Fehlerbehandlung

Wenn ein Validierungsfehler auftritt, ruft die SIP-MedienanwendungAWS LambdaFunktion mit der entsprechenden Fehlermeldung. In der folgenden Tabelle werden die möglichen Fehlermeldungen aufgeführt.

Fehler

Fehlermeldung

Grund

InvalidAudioSource

Der Parameterwert der Audioquelle ist ungültig.

Dieser Fehler kann aus mehreren Gründen auftreten. Beispielsweise kann die SIP-Medienanwendung aufgrund von Berechtigungsproblemen oder Problemen mit dem S3-Bucket nicht auf die Datei zugreifen. Oder die Audiodatei kann aufgrund von Dauer, Größe oder nicht unterstütztem Format die Validierung fehlschlagen.

InvalidActionParameter

CallIdoderParticipantTag-Parameter für die Aktion ist ungültig.

EINCallId,ParticipantTag, oder anderer Parameter ist ungültig.

SystemException

Systemfehler beim Ausführen der Aktion.

Beim Ausführen der Aktion ist ein Systemfehler aufgetreten.

Wenn die Aktion die Anzahl der angegebenen Ziffern aufgrund eines Timeouts oder zu vieler Wiederholungen nicht erfasst, ruft die SIP-Medienanwendung dieAWS LambdaFunktion mit demACTION_FAILED-Aufruftyp.

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

Siehe Arbeitsbeispiele auf GitHub: