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 eine Audiodatei in einer beliebigen Phase eines Anrufs ab. Das Audio kann beliebig oft wiederholt werden. Das laufende Audio kann mit den DTMF-Ziffern beendet werden, die in der festgelegt sindPlaybackTerminators.

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

Das folgende Codebeispiel veranschaulicht eine typische Bucket.

{ "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 Media-Anwendung in Ihren S3-Bucket. Um das verwirrte Stellvertreterproblem 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 Code-Beispiel veranschaulicht 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" } } }
Ruf ID an

BeschreibungCallId des Teilnehmers an derCallDetails.

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

Erforderlich — Nein, fallsParticipantTag vorhanden.

Standardwert — Keiner.

ParticipantTag

BeschreibungParticipantTag von einem der verbundenen Teilnehmer an derCallDetails.

Zulässige WerteLEG-A oderLEG-B.

Erforderlich — Nein, fallsCallId vorhanden.

StandardwertParticipantTag des aufgerufenencallLeg. Wird ignoriert, wenn Sie dies angebenCallId.

PlaybackTerminator

Beschreibung — Beendet die laufende Audiowiedergabe mithilfe der DTMF-Eingabe 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

Wiederhole

Beschreibung — Wiederholt das aussehen kann, sehen Sie am angegebenen Häufigkeit.

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

Erforderlich — Nein

Standardwert — 1

AudioSource.Typ

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 demselbenAWS 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 dies3:GetObject Aktion hat.

Erforderlich — Ja.

Standardwert — Keiner.

AudioSource.schlüssel

Beschreibung — Für S3-Quelltypen der Dateiname aus dem imAudioSource.BucketName Attribut angegebenen S3-Bucket.

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 rohe, unkomprimierte PCM-.wav-Dateien mit einer Größe von nicht mehr als 50 MB verwenden. Amazon Chime SDK empfiehlt 8-kHz-Mono.

Wenn der letzte Befehl in einem Dialplan lautetPlayAudio und die Datei die Wiedergabe beendet oder wenn ein Benutzer die Wiedergabe mit einem Tastendruck stoppt, ruft die Anwendung dieAWS Lambda Funktion mit dem im folgenden Codebeispiel 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", } } }

Nachdem eine abschließende Ziffer den Ton beendet hat, wird er nicht wiederholt.

Fehlerbehandlung

Wenn die Validierungsdatei Fehler enthält oder bei der Ausführung einer Aktion ein Fehler auftritt, ruft die SIP-Medienanwendung eineAWS Lambda Funktion mit dem entsprechenden Fehlercode auf.

Fehler Fehlermeldung Grund

InvalidAudioSource

Der Parameter für die Audioquelle ist ungültig.

Dieser Fehler kann aus verschiedenen Gründen auftreten. Beispielsweise kann die SIP-Medienanwendung aufgrund von Berechtigungsproblemen oder Problemen mit der URL nicht auf die Datei zugreifen. Oder die Audiodatei kann aufgrund von Format, Dauer, Größe usw. nicht validiert werden.

SystemException

Systemfehler beim Ausführen der Aktion.

Ein weiterer Systemfehler ist beim Ausführen der Aktion aufgetreten.

InvalidActionParameter

CallId oder der ParticipantTag Aktionsparameter ist ungültig.

Die Aktion enthält einen ungültigen Parameter.

Das folgende Codebeispiel veranschaulicht 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: