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à.
Riproduce l'audio e raccoglie le cifre DTMF. Se si verifica un errore, ad esempio se un utente non inserisce il numero corretto di cifre DTMF, l'azione riproduce l'audio di «errore» e quindi riproduce l'audio principale finché l'applicazione multimediale SIP non esaurisce il numero di tentativi definito nel parametro. Repeat
È necessario riprodurre file audio dal bucket S3. Il bucket S3 deve appartenere allo stesso AWS account dell'applicazione multimediale SIP. Inoltre, devi concedere l's3:GetObject
autorizzazione al responsabile del servizio Amazon Chime SDK Voice Connector,. voiceconnector.chime.amazonaws.com
Puoi usare la console S3 o la CLI per farlo.
Il seguente esempio di codice mostra una tipica policy sui bucket S3.
{
"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
"
}
}
}
]
}
L'esempio seguente mostra un'azione tipica. PlayAudioAndGetDigits
{
"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
-
Descrizione:
CallId
del partecipante all'CallDetails
invocazione della AWS Lambda funzioneValori consentiti: un ID di chiamata valido
Obbligatorio: no
Valore predefinito - nessuno
- ParticipantTag
-
Descrizione:
ParticipantTag
di uno dei partecipanti connessi alCallDetails
Valori consentiti,
LEG-A
oppureLEG-B
Obbligatorio: no
Valore predefinito:
ParticipantTag
del valorecallLeg
Ignorato richiamato, se si specificaCallId
- InputDigitsRegex
-
Descrizione: un modello di espressione regolare
Valori consentiti: un modello di espressione regolare valido
Obbligatorio: no
Valore predefinito - nessuno
- AudioSource.Type
-
Descrizione: tipo di sorgente per il tipo di file audio
Valori consentiti: un bucket S3
Obbligatorio: Sì
Valore predefinito:
"S3"
- AudioSource.BucketName
-
Descrizione: per
AudioSource.Type
i valori S3, il bucket S3 deve appartenere allo stesso AWS account dell'applicazione multimediale SIP. Il bucket S3 deve avere accesso al principale servizio Amazon Chime SDK Voice Connector,.voiceconnector.chime.amazonaws.com
Valori consentiti: un bucket S3 valido a cui Amazon Chime SDK
s3:GetObject
ha accesso alle azioni.Obbligatorio: sì
Valore predefinito - nessuno
- AudioSource.Key
-
Descrizione: il nome chiave dell'oggetto audio nel bucket
AudioSource.BucketName
S3.Valori consentiti: file audio validi
Obbligatorio: Sì
Valore predefinito - nessuno
- FailureAudioSource.Type
-
Descrizione: il nome chiave dell'oggetto audio nel bucket
FailureAudioSource.BucketName
S3.Valori consentiti: S3
Obbligatorio: Sì
Valore predefinito - nessuno
- FailureAudioSource.BucketName
-
Descrizione: per i tipi di sorgenti S3, il bucket S3 deve appartenere allo stesso AWS account dell'applicazione multimediale SIP. Il responsabile del servizio Amazon Chime SDK Voice Connector deve avere accesso al bucket S3.
voiceconnector.chime.amazonaws.com
Valori consentiti: un bucket S3 valido a cui Amazon Chime SDK
s3:GetObject
ha accesso alle azioni.Obbligatorio: sì
Valore predefinito - nessuno
- FailureAudioSource.Key
-
Descrizione: il nome chiave dell'oggetto audio nel bucket
FailureAudioSource.BucketName
S3.Valori consentiti: file audio validi
Obbligatorio: Sì
Valore predefinito - nessuno
- MinNumberOfDigits
-
Descrizione: il numero minimo di cifre da acquisire prima del timeout o della riproduzione dell'audio «chiamata non riuscita».
Valori consentiti: >=0
Obbligatorio: no
Valore predefinito: 0
- MaxNumberOfDigits
-
Descrizione: il numero massimo di cifre da acquisire prima di interrompere l'operazione senza una cifra di terminazione.
Valori consentiti — >
MinNumberOfDigits
Obbligatorio: no
Valore predefinito: 128
- TerminatorDigits
-
Descrizione: cifre utilizzate per terminare l'immissione se l'utente immette meno di
MaxNumberOfDigits
Valori consentiti: una qualsiasi di queste cifre: 0123456789#*
Obbligatorio: no
Valore predefinito: #
- InBetweenDigitsDurationInMilliseconds
-
Descrizione: il tempo di attesa in millisecondi tra gli input numerici prima della riproduzione.
FailureAudio
Valori consentiti: >0
Obbligatorio: no
Valore predefinito: se non specificato, il valore predefinito è il
RepeatDurationInMilliseconds
valore. - Repeat
-
Descrizione: numero totale di tentativi di ottenere cifre
Valori consentiti: >0
Obbligatorio: no
Valore predefinito: 1
- RepeatDurationInMilliseconds
-
Descrizione: tempo di attesa in millisecondi tra un tentativo e l'altro
Repeat
Valori consentiti: >0
Obbligatorio: Sì
Valore predefinito - nessuno
L'applicazione multimediale SIP richiama sempre la sua AWS Lambda funzione dopo aver eseguito l'PlayAudioAndGetDigits
azione, con un tipo di evento di ACTION_FAILED
chiamata ACTION_SUCCESSFUL
or. Quando l'applicazione raccoglie correttamente le cifre, imposta il valore nell'oggetto. ReceivedDigits
ActionData
L'esempio seguente mostra la struttura degli eventi di invocazione di tale funzione. AWS Lambda
{
"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": {
...
}
}
Gestione degli errori
Quando si verifica un errore di convalida, l'applicazione multimediale SIP chiama la AWS Lambda funzione con il messaggio di errore corrispondente. La tabella seguente elenca i possibili messaggi di errore.
Errore | Messaggio | Motivo |
---|---|---|
|
Il valore del 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 il bucket S3. Oppure, il file audio potrebbe non riuscire nella convalida a causa della durata, delle dimensioni o del formato non supportato. |
|
|
Un |
|
Errore di sistema durante l'esecuzione dell'azione. |
Si è verificato un errore di sistema durante l'esecuzione dell'azione. |
Quando l'azione non riesce a raccogliere il numero di cifre specificato a causa di un timeout o di troppi tentativi, l'applicazione multimediale SIP richiama la AWS Lambda funzione con il tipo di evento di invocazione. ACTION_FAILED
{
"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": {
...
}
}
Vedi esempi di lavoro su: GitHub