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 jedem Abschnitt eines Anrufs ab. Das Audio kann beliebig oft wiederholt werden. Das laufende Audio kann mit den DTMF-Ziffern beendet werden, die imPlaybackTerminatorsaus.

Derzeit unterstützt Amazon Chime SDK nur das Abspielen von Audiodateien aus dem Amazon-Simple-Storage-Service Simple Storage Service (Amazon S3) Bucket. Der S3-Bucket muss demselben gehörenAWSKonto als SIP-Medienanwendung. Außerdem müssen Sie dies3:GetObjectBerechtigung für den Amazon Chime Voice Connector-Dienstprinzipal. Sie können dies über die S3-Konsole oder die Befehlszeilenschnittstelle (CLI) tun.

Das folgende Code-Beispiel veranschaulicht 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 PSTN Audio-Dienst liest und schreibt im Auftrag Ihrer Sip Media Application in Ihren S3-Bucket. Um dasVerwirrtes Deputy Problemkö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: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" } } }
CalLid

BeschreibungCallIddes Teilnehmers derCallDetailsaus.

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

Erforderlich— Nein, wennParticipantTagIst vorhanden.

Standardwert— Keine.

ParticipantTag

BeschreibungParticipantTageines der verbundenen Teilnehmer imCallDetailsaus.

Zulässige WerteLEG-AoderLEG-Baus.

Erforderlich— Nein, wennCallIdIst vorhanden.

StandardwertParticipantTagdes AngerufenencallLegaus. Ignoriert wenn Sie angebenCallIdaus.

PlaybackTerminator

Beschreibung— Beendet das laufende Audio mithilfe der DTMF-Eingabe des Benutzers

Zulässige Werte— Ein Array der folgenden Werte; „0“,“ 1“,“ 2“,“ 3“,“ 4“,“ 5“,“ 6“,“ 7“,“ 8“,“ 9“,“ #“,“ *“

Erforderlich— Nein

Standardwert – Keine

REPEAT

Beschreibung— Wiederholt das Audio mit der 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— Keine.

AudioSource-BucketName

Beschreibung— Für S3-Quelltypen muss der S3-Bucket demselben angehörenAWSKonto als SIP-Anwendung. Der Bucket muss Zugriff auf den Amazon Chime Voice Connector-Dienstprinzipal haben, nämlich voiceconnector.chime.amazonaws.com.

Zulässige Werte— Ein gültiger S3-Bucket, für den Amazon Chime SDK Zugriff auf dies3:GetObjectAktion

Erforderlich— Ja.

Standardwert— Keine.

AudioSource.key

Beschreibung— Bei S3-Quelltypen wird der Dateiname aus dem S3-Bucket angegeben, der imAudioSource.BucketNameAttribut.

Zulässige Werte- Eine gültige Audiodatei.

Erforderlich— Ja.

Standardwert— Keine.

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 die letzte Anweisung in einem Dialplan lautetPlayAudiound die Datei beendet die Wiedergabe oder wenn ein Benutzer die Wiedergabe mit einem Tastendruck stoppt, ruft die Anwendung denAWS LambdaFunktion mit dem im folgenden Codebeispiel gezeigten Ereignis.

{ "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 das Audio gestoppt hat, wird es nicht wiederholt.

Fehlerbehandlung

Wenn die Validierungsdatei Fehler enthält oder beim Ausführen einer Aktion ein Fehler auftritt, ruft die SIP-Medienanwendung eineAWS LambdaFunktion mit dem entsprechenden Fehlercode.

Fehler

Fehlermeldung

Grund

InvalidAudioSource

Der Audioquellenparameter ist ungültige.

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 Audiodatei kann aufgrund von Format, Dauer, Größe usw. nicht validiert werden.

SystemException

Systemfehler beim Ausführen der Aktion.

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

InvalidActionParameter

CalliD oder ParticipantTag -Parameter für Aktion ist ungültig.

Die Aktion enthält einen ungültigen Parameter.

Das folgende Code-Beispiel 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": { ... } }

Siehe Arbeitsbeispiele auf GitHub: