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.
Spielt Audio ab und sammelt DTMF-Ziffern. Tritt ein Fehler auf, z. B. wenn ein Benutzer nicht die richtige Anzahl von DTMF-Ziffern eingibt, spielt die Aktion das „Fehler“ -Audio ab und gibt dann das Haupt-Audio wieder, bis die SIP-Medienanwendung die im Parameter definierte Anzahl von Versuchen ausgeschöpft hat. Repeat
Sie müssen Audiodateien aus dem S3-Bucket abspielen. 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. voiceconnector.chime.amazonaws.com
Sie können dazu die S3-Konsole oder die CLI verwenden.
Das folgende Codebeispiel zeigt eine typische S3-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 Beispiel zeigt eine typische PlayAudioAndGetDigits
Aktion.
{
"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
-
Beschreibung —
CallId
des Teilnehmers amCallDetails
AWS Lambda FunktionsaufrufZulässige Werte — Eine gültige Anruf-ID
Erforderlich — Nein
Standardwert – Kein
- ParticipantTag
-
Beschreibung —
ParticipantTag
eines der verbundenen Teilnehmer an derCallDetails
Zulässige Werte —
LEG-A
oderLEG-B
Erforderlich — Nein
Standardwert —
ParticipantTag
der aufgerufene Wert wirdcallLeg
ignoriert, wenn Sie Folgendes angebenCallId
- InputDigitsRegex
-
Beschreibung — Ein Muster für reguläre Ausdrücke
Zulässige Werte — Ein gültiges Muster für reguläre Ausdrücke
Erforderlich — Nein
Standardwert – Kein
- AudioSource.Type
-
Beschreibung — Art der Quelle für den Audiodateityp
Zulässige Werte — Ein S3-Bucket
Erforderlich — Ja
Standardwert —
"S3"
- AudioSource.BucketName
-
Beschreibung — Für
AudioSource.Type
S3-Werte muss der S3-Bucket zu demselben AWS Konto gehören wie die SIP-Medienanwendung. Der Bucket S3 muss Zugriff auf den Amazon Chime SDK Voice Connector Service Principal haben,voiceconnector.chime.amazonaws.com
.Zulässige Werte — Ein gültiger S3-Bucket, für den Amazon Chime SDK
s3:GetObject
Aktionszugriff hat.Erforderlich — Ja
Standardwert – Kein
- AudioSource.Key
-
Beschreibung — Der Schlüsselname des Audioobjekts im
AudioSource.BucketName
S3-Bucket.Zulässige Werte — Gültige Audiodateien
Erforderlich — Ja
Standardwert – Kein
- FailureAudioSource.Type
-
Beschreibung — Der Schlüsselname des Audioobjekts im
FailureAudioSource.BucketName
S3-Bucket.Zulässige Werte — S3
Erforderlich — Ja
Standardwert – Kein
- FailureAudioSource.BucketName
-
Beschreibung — Für S3-Quelltypen muss der S3-Bucket demselben AWS Konto angehören wie die SIP-Medienanwendung. Der Amazon Chime SDK Voice Connector-Service Principal
voiceconnector.chime.amazonaws.com
, muss Zugriff auf den S3-Bucket haben.Zulässige Werte — Ein gültiger S3-Bucket, für den Amazon Chime SDK
s3:GetObject
Aktionszugriff hat.Erforderlich — Ja
Standardwert – Kein
- FailureAudioSource.Key
-
Beschreibung — Der Schlüsselname des Audioobjekts im
FailureAudioSource.BucketName
S3-Bucket.Zulässige Werte — Gültige Audiodateien
Erforderlich — Ja
Standardwert – Kein
- MinNumberOfDigits
-
Beschreibung — Die Mindestanzahl an Ziffern, die erfasst werden müssen, bevor eine Zeitüberschreitung eintritt oder die Audiodatei „Anruf fehlgeschlagen“ abgespielt wird.
Zulässige Werte — >=0
Erforderlich — Nein
Standardwert — 0
- MaxNumberOfDigits
-
Beschreibung — Die maximale Anzahl von Ziffern, die erfasst werden sollen, bevor ein Stopp ohne eine letzte Ziffer beendet wird.
Zulässige Werte — >
MinNumberOfDigits
Erforderlich — Nein
Standardwert — 128
- TerminatorDigits
-
Beschreibung — Ziffern, die verwendet werden, um die Eingabe zu beenden, wenn der Benutzer weniger als die eingibt
MaxNumberOfDigits
Zulässige Werte — Eine der folgenden Ziffern: 0123456789#*
Erforderlich — Nein
Standardwert — #
- InBetweenDigitsDurationInMilliseconds
-
Beschreibung — Die Wartezeit in Millisekunden zwischen Zifferneingaben vor der Wiedergabe.
FailureAudio
Zulässige Werte — >0
Erforderlich — Nein
Standardwert — Wenn nicht angegeben, wird standardmäßig der
RepeatDurationInMilliseconds
Wert verwendet. - Repeat
-
Beschreibung — Gesamtzahl der Versuche, Ziffern abzurufen
Zulässige Werte — >0
Erforderlich — Nein
Standardwert — 1
- RepeatDurationInMilliseconds
-
Beschreibung — Wartezeit in Millisekunden zwischen Versuchen
Repeat
Zulässige Werte — >0
Erforderlich — Ja
Standardwert – Kein
Die SIP-Medienanwendung ruft ihre AWS Lambda Funktion immer auf, nachdem sie die PlayAudioAndGetDigits
Aktion ausgeführt hat, und zwar mit dem ACTION_FAILED
Ereignistyp ACTION_SUCCESSFUL
oder. Wenn die Anwendung erfolgreich Ziffern erfasst hat, legt sie den ReceivedDigits
Wert im Objekt fest. ActionData
Das folgende Beispiel zeigt die Aufrufereignisstruktur dieser AWS Lambda Funktion.
{
"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": {
...
}
}
Fehlerbehandlung
Wenn ein Validierungsfehler auftritt, ruft die SIP-Medienanwendung die AWS Lambda Funktion mit der entsprechenden Fehlermeldung auf. In der folgenden Tabelle sind die möglichen Fehlermeldungen aufgeführt.
Fehler | Fehlermeldung | Grund |
---|---|---|
|
Der Wert des Audioquellenparameters ist ungültig. |
Dieser Fehler kann aus mehreren Gründen auftreten. Beispielsweise kann die SIP-Medienanwendung aufgrund von Berechtigungsproblemen oder Problemen mit dem S3-Bucket nicht auf die Datei zugreifen. Oder die Überprüfung der Audiodatei schlägt möglicherweise aufgrund von Dauer, Größe oder nicht unterstütztem Format fehl. |
|
|
Ein |
|
Systemfehler beim Ausführen der Aktion. |
Beim Ausführen der Aktion ist ein Systemfehler aufgetreten. |
Wenn die Aktion aufgrund eines Timeouts oder zu vieler Wiederholungen nicht die Anzahl der angegebenen Ziffern erfasst, ruft die SIP-Medienanwendung die AWS Lambda Funktion mit dem ACTION_FAILED
Aufrufereignistyp auf.
{
"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": {
...
}
}
Arbeitsbeispiele finden Sie unter: GitHub