PlayAudio - Amazon Chime SDK

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

PlayAudio

Riproduci un file audio in qualsiasi fase di una chiamata. L'audio può essere ripetuto un numero illimitato di volte. L'audio in corso può essere interrotto utilizzando le cifre DTMF impostate in. PlaybackTerminators

Attualmente, Amazon Chime SDK supporta solo la riproduzione di file audio dal bucket Amazon Simple Storage Service (Amazon S3). Il bucket S3 deve appartenere allo stesso AWS account dell'applicazione multimediale SIP. Inoltre, devi concedere l's3:GetObjectautorizzazione al responsabile del servizio Amazon Chime SDK Voice Connector. Puoi farlo utilizzando la console S3 o l'interfaccia a riga di comando (CLI).

Il seguente esempio di codice mostra una tipica policy del 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" } } } ] }

Il servizio audio legge e scrive nel bucket S3 per conto dell'applicazione multimediale Sip. Per evitare il problema confuso, puoi limitare l'accesso al bucket S3 a una singola applicazione multimediale 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" } } } ] }

Il seguente esempio di codice mostra un'azione tipica.

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

Descrizione: CallId del partecipante alCallDetails.

Valori consentiti: un ID di chiamata valido.

Obbligatorio: no, se ParticipantTag è presente.

Valore predefinito: nessuno.

ParticipantTag

Descrizione: ParticipantTag di uno dei partecipanti connessi alCallDetails.

Valori consentiti: LEG-A oLEG-B.

Obbligatorio: no, se CallId presente.

Valore predefinito: ParticipantTag quello richiamatocallLeg. Ignorato se si specifica. CallId

PlaybackTerminator

Descrizione: interrompe l'audio in corso utilizzando l'input DTMF dell'utente

Valori consentiti: una matrice dei seguenti valori: «0»,» 1»,» 2»,» 3»,» 4»,» 5»,» 6»,» 7»,» 8»,» 9»,» #»,» *»

Obbligatorio: no

Valore predefinito - nessuno

Repeat

Descrizione: ripete l'audio il numero di volte specificato

Valori consentiti: un numero intero maggiore di zero

Obbligatorio: no

Valore predefinito: 1

AudioSource.Type

Descrizione: tipo di sorgente per il file audio.

Valori consentiti: S3.

Obbligatorio: Sì.

Valore predefinito: Nessuno.

AudioSource.BucketName

Descrizione: per i tipi di sorgenti S3, il bucket S3 deve appartenere allo stesso AWS account dell'applicazione SIP. Il bucket deve avere accesso al principale servizio Amazon Chime SDK Voice Connector, che è voiceconnector.chime.amazonaws.com.

Valori consentiti: un bucket S3 valido per il quale Amazon Chime SDK ha accesso all'azione. s3:GetObject

Obbligatorio: sì.

Valore predefinito: Nessuno.

AudioSource.key

Descrizione: per i tipi di origine S3, il nome del file del bucket S3 specificato nell'attributo. AudioSource.BucketName

Valori consentiti: un file audio valido.

Obbligatorio: sì.

Valore predefinito: Nessuno.

L'applicazione multimediale SIP tenta di riprodurre l'audio dall'URL di origine. È possibile utilizzare file PCM .wav non compressi non elaborati di dimensioni non superiori a 50 MB. L'SDK Amazon Chime consiglia 8 kHz in modalità mono.

Quando l'ultima istruzione in un dialplan è PlayAudio e il file termina la riproduzione, o se un utente interrompe la riproduzione premendo un tasto, l'applicazione richiama la AWS Lambda funzione con l'evento mostrato nell'esempio seguente.

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

Dopo che una cifra finale interrompe l'audio, questo non verrà ripetuto.

Gestione degli errori

Quando il file di convalida contiene errori o si verifica un errore durante l'esecuzione di un'azione, l'applicazione multimediale SIP richiama una AWS Lambda funzione con il codice di errore appropriato.

Errore Messaggio Motivo

InvalidAudioSource

Il parametro della sorgente audio non è valido.

Questo errore può verificarsi per diversi motivi. Ad esempio, l'applicazione multimediale SIP non può accedere al file a causa di problemi di autorizzazione o problemi con l'URL. In alternativa, il file audio potrebbe non essere convalidato a causa del formato, della durata, delle dimensioni e così via.

SystemException

Errore di sistema durante l'esecuzione dell'azione.

Si è verificato un altro errore di sistema durante l'esecuzione dell'azione.

InvalidActionParameter

CallId o ParticipantTag il parametro per l'azione non è valido.

L'azione contiene un parametro non valido.

Il seguente esempio di codice mostra un tipico errore di invocazione.

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

Vedi esempi di lavoro su: GitHub