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

PlayAudio

Spielen Sie bei einem beliebigen Teil eines Anrufs eine Audiodatei ab. Das Audio kann beliebig oft wiederholt werden. Das laufende Audio kann mit den in der eingestellten DTMF-Ziffern beendet werden. PlaybackTerminators

Derzeit unterstützt das Amazon Chime SDK nur die Wiedergabe von Audiodateien aus dem Amazon Simple Storage Service (Amazon S3) -Bucket. Der S3-Bucket muss zu demselben AWS Konto gehören wie die SIP-Medienanwendung. Darüber hinaus müssen Sie dem Amazon Chime SDK Voice Connector-Service Principal die s3:GetObject Genehmigung erteilen. Sie können dies mithilfe der S3-Konsole oder der Befehlszeilenschnittstelle (CLI) tun.

Das folgende Codebeispiel zeigt eine typische 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 Audiodienst liest und schreibt im Namen Ihrer Sip-Medienanwendung in Ihren S3-Bucket. Um das Problem mit dem verwirrten Deputy zu vermeiden, können Sie den Zugriff auf den S3-Bucket auf eine einzelne SIP-Medienanwendung beschrä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:chime:region:aws-account-id:sma/sip-media-application-id" } } } ] }

Das folgende Codebeispiel zeigt eine typische Aktion.

{ "Type": "PlayAudio", "Parameters": { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "PlaybackTerminators": ["1", "8", "#"], "Repeat": "5", "AudioSource": { "Type": "S3", "BucketName": "valid-S3-bucket-name", "Key": "wave-file.wav" } } }
CallID

BeschreibungCallId des Teilnehmers amCallDetails.

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

Erforderlich — Nein, ParticipantTag wenn vorhanden.

Standardwert — Keiner.

ParticipantTag

BeschreibungParticipantTag eines der verbundenen Teilnehmer amCallDetails.

Zulässige WerteLEG-A oderLEG-B.

Erforderlich — Nein, CallId wenn vorhanden.

StandardwertParticipantTag des aufgerufenencallLeg. Wird ignoriert, wenn Sie angebenCallId.

PlaybackTerminator

Beschreibung — Beendet die laufende Audiowiedergabe mithilfe von DTMF-Eingaben des Benutzers

Zulässige Werte — Ein Array mit den folgenden Werten: „0“,“ 1“,“ 2“,“ 3“,“ 4“,“ 5“,“ 6“,“ 7“,“ 8“,“ 9“,“ #“,“ *“

Erforderlich — Nein

Standardwert – Kein

Repeat

Beschreibung — Wiederholt das Audio so oft wie angegeben

Zulässige Werte — Eine Ganzzahl größer als Null

Erforderlich — Nein

Standardwert — 1

AudioSource.Type

Beschreibung — Art der Quelle für die Audiodatei.

Zulässige Werte — S3.

Erforderlich — Ja.

Standardwert — Keiner.

AudioSource.BucketName

Beschreibung — Für S3-Quelltypen muss der S3-Bucket zu demselben AWS Konto gehören wie die SIP-Anwendung. Der Bucket muss Zugriff auf den Amazon Chime SDK Voice Connector-Service Principal haben, der voiceconnector.chime.amazonaws.com lautet.

Zulässige Werte — Ein gültiger S3-Bucket, für den Amazon Chime SDK Zugriff auf die s3:GetObject Aktion hat.

Erforderlich — Ja.

Standardwert — Keiner.

AudioSource.key

Beschreibung — Für S3-Quelltypen der Dateiname aus dem S3-Bucket, der im AudioSource.BucketName Attribut angegeben ist.

Zulässige Werte — Eine gültige Audiodatei.

Erforderlich — Ja.

Standardwert — Keiner.

Die SIP-Medienanwendung versucht, das Audio von der Quell-URL abzuspielen. Sie können unkomprimierte PCM-.wav-Dateien mit einer Größe von nicht mehr als 50 MB verwenden. Das Amazon Chime SDK empfiehlt 8-kHz-Mono.

Wenn die letzte Anweisung in einem Wählplan lautet PlayAudio und die Datei die Wiedergabe beendet, oder wenn ein Benutzer die Wiedergabe mit einem Tastendruck stoppt, ruft die Anwendung die AWS Lambda Funktion mit dem im folgenden Beispiel gezeigten Ereignis auf.

{ "SchemaVersion": "1.0", "Sequence": INTEGER, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "PlayAudio", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "valid-S3-bucket-name", "Key": "wave-file.wav", } } }

Wenn eine abschließende Ziffer die Audiowiedergabe stoppt, wird sie nicht wiederholt.

Fehlerbehandlung

Wenn die Validierungsdatei Fehler enthält oder beim Ausführen einer Aktion ein Fehler auftritt, ruft die SIP-Medienanwendung eine AWS Lambda Funktion mit dem entsprechenden Fehlercode auf.

Fehler Fehlermeldung Grund

InvalidAudioSource

Der Audioquellenparameter ist ungültig.

Dieser Fehler kann aus mehreren Gründen auftreten. Beispielsweise kann die SIP-Medienanwendung aufgrund von Berechtigungsproblemen oder Problemen mit der URL nicht auf die Datei zugreifen. Oder die Überprüfung der Audiodatei schlägt möglicherweise aufgrund von Format, Dauer, Größe usw. fehl.

SystemException

Systemfehler beim Ausführen der Aktion.

Beim Ausführen der Aktion ist ein weiterer Systemfehler aufgetreten.

InvalidActionParameter

CallId oder der ParticipantTag Parameter für die Aktion ist ungültig.

Die Aktion enthält einen ungültigen Parameter.

Das folgende Codebeispiel zeigt einen typischen Aufruffehler.

{ "SchemaVersion": "1.0", "Sequence": 2, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type": "PlayAudio", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file.wav" }, }, "ErrorType": "InvalidAudioSource", "ErrorMessage": "Audio Source parameter value is invalid." } "CallDetails": { ... } }

Arbeitsbeispiele finden Sie unter GitHub: