Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
PlayAudioAndGetDigits
Memutar audio dan mengumpulkan digit DTMF. Jika terjadi kegagalan, seperti pengguna yang tidak memasukkan jumlah digit DTMF yang benar, tindakan memutar audio “kegagalan” dan kemudian memutar ulang audio utama hingga aplikasi media SIP menghabiskan jumlah upaya yang ditentukan dalam parameter. Repeat
Anda harus memutar file audio dari bucket S3. Bucket S3 harus memiliki AWS akun yang sama dengan aplikasi media SIP. Selain itu, Anda harus memberikan s3:GetObject izin kepada kepala layanan Amazon Chime SDK Voice Connector,. voiceconnector.chime.amazonaws.com Anda dapat menggunakan konsol S3 atau CLI untuk melakukan itu.
Contoh kode berikut menunjukkan kebijakan bucket S3 yang khas.
Layanan Audio membaca dan menulis ke bucket S3 Anda atas nama Aplikasi Sip Media Anda. Untuk menghindari masalah deputi yang membingungkan, Anda dapat membatasi akses bucket S3 ke satu aplikasi media SIP.
Contoh berikut menunjukkan PlayAudioAndGetDigits tindakan yang khas.
{ "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
-
Deskripsi —
CallIdpeserta dalamCallDetailspemanggilan AWS Lambda fungsiNilai yang diizinkan - ID panggilan yang valid
Diperlukan - Tidak
Nilai default - Tidak ada
- ParticipantTag
-
Deskripsi —
ParticipantTagsalah satu peserta yang terhubung diCallDetailsNilai yang diizinkan -
LEG-AatauLEG-BDiperlukan - Tidak
Nilai default -
ParticipantTagdari yang dipanggilcallLegDiabaikan jika Anda menentukanCallId - InputDigitsRegex
-
Deskripsi - Pola ekspresi reguler
Nilai yang diizinkan - Pola ekspresi reguler yang valid
Diperlukan - Tidak
Nilai default - Tidak ada
- AudioSource.Type
-
Deskripsi - Jenis sumber untuk jenis file audio
Nilai yang diizinkan - Bucket S3
Diperlukan - Ya
Nilai default -
"S3" - AudioSource.BucketName
-
Deskripsi — Untuk
AudioSource.Typenilai S3, bucket S3 harus memiliki AWS akun yang sama dengan aplikasi media SIP. Bucket S3 harus memiliki akses ke kepala layanan Amazon Chime SDK Voice Connector,.voiceconnector---chime.amazonaws.com.rproxy.govskope.caNilai yang diizinkan — Bucket S3 yang valid yang Amazon Chime SDK
s3:GetObjectmemiliki akses tindakan.Diperlukan - Ya
Nilai default - Tidak ada
- AudioSource.Key
-
Deskripsi — Nama kunci objek audio di bucket
AudioSource.BucketNameS3.Nilai yang diizinkan - File audio yang valid
Diperlukan - Ya
Nilai default - Tidak ada
- FailureAudioSource.Type
-
Deskripsi — Nama kunci objek audio di bucket
FailureAudioSource.BucketNameS3.Nilai yang diizinkan - S3
Diperlukan - Ya
Nilai default - Tidak ada
- FailureAudioSource.BucketName
-
Deskripsi — Untuk tipe sumber S3, bucket S3 harus memiliki AWS akun yang sama dengan aplikasi media SIP. Kepala layanan Amazon Chime SDK Voice Connector,
voiceconnector.chime.amazonaws.com, harus memiliki akses ke bucket S3.Nilai yang diizinkan — Bucket S3 yang valid yang Amazon Chime SDK
s3:GetObjectmemiliki akses tindakan.Diperlukan - Ya
Nilai default - Tidak ada
- FailureAudioSource.Key
-
Deskripsi — Nama kunci objek audio di bucket
FailureAudioSource.BucketNameS3.Nilai yang diizinkan - File audio yang valid
Diperlukan - Ya
Nilai default - Tidak ada
- MinNumberOfDigits
-
Deskripsi — Jumlah minimum digit yang harus diambil sebelum waktu habis atau memutar audio “panggilan gagal”.
Nilai yang diizinkan -> = 0
Diperlukan - Tidak
Nilai default - 0
- MaxNumberOfDigits
-
Deskripsi — Jumlah maksimum digit yang akan diambil sebelum berhenti tanpa digit penghentian.
Nilai yang diizinkan ->
MinNumberOfDigitsDiperlukan - Tidak
Nilai default - 128
- TerminatorDigits
-
Deskripsi — Digit yang digunakan untuk mengakhiri input jika pengguna memasukkan kurang dari
MaxNumberOfDigitsNilai yang diizinkan - Salah satu dari digit ini: 0123456789#*
Diperlukan - Tidak
Nilai default - #
- InBetweenDigitsDurationInMilliseconds
-
Deskripsi — Waktu tunggu dalam milidetik antara input digit sebelum bermain.
FailureAudioNilai yang diizinkan -> 0
Diperlukan - Tidak
Nilai default - Jika tidak ditentukan, default ke nilai.
RepeatDurationInMilliseconds - Repeat
-
Deskripsi - Jumlah total upaya untuk mendapatkan digit
Nilai yang diizinkan -> 0
Diperlukan - Tidak
Nilai default - 1
- RepeatDurationInMilliseconds
-
Deskripsi - Waktu dalam milidetik untuk menunggu di antara upaya
RepeatNilai yang diizinkan -> 0
Diperlukan - Ya
Nilai default - Tidak ada
Aplikasi media SIP selalu memanggil AWS Lambda fungsinya setelah menjalankan PlayAudioAndGetDigits tindakan, dengan jenis acara ACTION_SUCCESSFUL atau ACTION_FAILED pemanggilan. Ketika aplikasi berhasil mengumpulkan digit, ia menetapkan ReceivedDigits nilai dalam objek. ActionData Contoh berikut menunjukkan struktur acara pemanggilan fungsi itu 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": { ... } }
Penanganan kesalahan
Ketika kesalahan validasi terjadi, aplikasi media SIP memanggil AWS Lambda fungsi dengan pesan kesalahan yang sesuai. Tabel berikut mencantumkan kemungkinan pesan kesalahan.
| Kesalahan | Pesan | Alasan |
|---|---|---|
|
|
Nilai parameter sumber audio tidak valid. |
Kesalahan ini dapat terjadi karena berbagai alasan. Misalnya, aplikasi media SIP tidak dapat mengakses file karena masalah izin, atau masalah dengan bucket S3. Atau, file audio mungkin gagal validasi karena durasi, ukuran, atau format yang tidak didukung. |
|
|
|
A |
|
|
Kesalahan sistem saat menjalankan tindakan. |
Terjadi kesalahan sistem saat menjalankan tindakan. |
Ketika tindakan gagal mengumpulkan jumlah digit yang ditentukan karena batas waktu atau terlalu banyak percobaan ulang, aplikasi media SIP memanggil AWS Lambda fungsi dengan jenis acara pemanggilan. 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": { ... } }
Lihat contoh kerja di GitHub: