Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Memperbarui panggilan yang sedang berlangsung untuk audio Amazon Chime SDK PTSN

Mode fokus
Memperbarui panggilan yang sedang berlangsung untuk audio Amazon Chime SDK PTSN - Amazon Chime SDK

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Sebagai bagian dari layanan PSTN audio, aplikasi SIP media memungkinkan Anda untuk mengatur tindakan yang dijalankan pada panggilan dengan menjalankan fungsi Lambda yang ditentukan pengguna berdasarkan peristiwa panggilan, seperti panggilan masuk atau digit. DTMF Sebuah UpdateSipMediaApplicationCallAPImemungkinkan Anda untuk memicu fungsi Lambda kapan saja saat panggilan aktif, menggantikan tindakan saat ini dengan tindakan baru yang dikembalikan oleh pemanggilan.

Alur kerja

Anda menggunakan UpdateSipMediaApplicationCallAPIdalam berbagai kasus, seperti menambahkan peserta ke rapat, mematikan dan melepas pengguna, memutuskan koneksi mereka, dan sebagainya. Kasus penggunaan berikut menjelaskan alur kerja yang khas.

Seorang pengguna menelepon dan mendengarkan musik saat Amazon SDK Chime mengatur rapat. Setelah penyiapan selesai, Amazon SDK Chime menghentikan audio dan memasukkan penelepon ke dalam rapat. Selanjutnya, asumsikan penggunaan sistem terpisahMyMeetingService, yang mengelola rapat. Setiap panggilan masuk harus ditunda. Chime memberi tahu MyMeetingService tentang panggilan masuk, dan MyMeetingService kemudian membuat peserta untuk setiap panggilan, dan ketika siap untuk memulai rapat, itu memberi tahu aplikasi SIP media dan memberikan token untuk bergabung dengan rapat. MyMeetingService

Untuk menangani kasus ini, fungsi Lambda harus mengimplementasikan logika berikut.

  • Ketika panggilan masuk baru tiba, Lambda dipanggil dengan acara. NEW_INBOUND_CALL Lambda memanggil MyMeetingService dan meneruskan transactionId yang mengidentifikasi panggilan saat ini, dan mengembalikan tindakan. PlayAudio

  • Ketika MyMeetingService siap untuk menambahkan penelepon ke rapat, layanan memanggil UpdateSipMediaApplicationCallAPIdan melewati panggilan transactionId dan JoinToken sebagai bagian dari argumennya. APIPanggilan ini memicu fungsi Lambda lagi, sekarang dengan CALL_UPDATE_REQUESTED acara tersebut. MyMeetingService Lolos JoinToken ke fungsi Lambda sebagai bagian dari acara, dan token digunakan untuk mengembalikan JoinChimeMeeting tindakan ke aplikasi SIP media, yang mengganggu PlayAudio tindakan dan menghubungkan penelepon ke rapat.

Diagram yang menunjukkan aliran data dalam UpdateSipMediaApplicationCallAPI.
catatan

Sebuah UpdateSipMediaApplicationCallAPImengembalikan HTTP 202 (Diterima). Aplikasi SIP media mengonfirmasi bahwa panggilan sedang berlangsung dan dapat diperbarui, sehingga mencoba untuk memanggil fungsi Lambda. Pemanggilan dilakukan secara asinkron, sehingga respons yang berhasil dari API tidak menjamin bahwa fungsi Lambda telah dimulai atau diselesaikan.

Contoh berikut menunjukkan sintaks permintaan.

{ "SipMediaApplicationId": "string", "TransactionId": "string", "Arguments": { "string": "string" } }

Parameter permintaan

  • SipMediaApplicationId— ID aplikasi SIP media yang menangani panggilan.

  • TransactionId— ID transaksi panggilan. Untuk panggilan masuk, TransactionId dapat diperoleh dari NEW_INCOMING_CALL acara yang diteruskan ke fungsi Lambda pada pemanggilan pertamanya. Untuk panggilan keluar, TransactionId dikembalikan sebagai tanggapan CreateSipMediaApplicationCall.

  • Argumen - Argumen khusus yang tersedia untuk fungsi Lambda sebagai bagian dari data CallUpdateRequest tindakan. Dapat berisi 0 hingga 20 pasangan kunci-nilai.

Contoh berikut menunjukkan permintaan khas.

aws chime update-sip-media-application-call --sip-media-application-id feb37a7e-2b66-49fb-b2dd-30f4780dc36d --transaction-id 1322a4e7-c106-4e70-aaaf-a8fa4c77c0cb --arguments '{"JoinToken": "abc123"}'

Sintaks respons

{ "SipMediaApplicationCall": { "TransactionId": "string" } }

Elemen respons

  • TransactionId— ID transaksi panggilan, ID yang sama dengan permintaan.

Contoh berikut menunjukkan acara CALL_UPDATE_REQUESTED pemanggilan.

{ "SchemaVersion": "1.0", "Sequence": 2, "InvocationEventType": "CALL_UPDATE_REQUESTED", "ActionData": { "Type": "CallUpdateRequest", "Parameters": { "Arguments": { "string": "string" } } }, "CallDetails": { ... } }

Elemen acara

  • SchemaVersion— Versi JSON skema (1.0)

  • Urutan - Nomor urut acara dalam panggilan

  • InvocationEventType— Jenis acara doa Lambda, dalam hal ini, CALL_UPDATE_REQUESTED

  • ActionData— Data yang terkait dengan CallUpdateRequest tindakan.

    • Jenis — Jenis tindakan, dalam hal ini, CallUpdateRequest

    • Parameter — Parameter tindakan

      • Argumen — Argumen diteruskan sebagai bagian dari UpdateSipMediaApplicationCall API permintaan

  • CallDetails— Informasi tentang status panggilan saat ini

Memahami tindakan yang dapat terputus dan tidak dapat diinterupsi

Saat fungsi Lambda menampilkan daftar tindakan baru saat tindakan yang ada berjalan, semua tindakan yang mengikuti tindakan yang sedang berlangsung akan diganti dengan tindakan baru. Dalam beberapa kasus, fungsi Lambda mengganggu tindakan yang sedang berlangsung untuk segera menjalankan tindakan baru.

Diagram berikut menunjukkan contoh khas. Teks di bawah digram menjelaskan logika.

Diagram yang menunjukkan bagaimana tindakan dapat diganti selama panggilan aplikasi SIP media yang sedang berlangsung.

Jika Action 2 dapat diinterupsi, kami menghentikannya dan menjalankan Action 1 baru sebagai gantinya.

Jika Action 2 tidak terputus, itu selesai sebelum Action 1 baru dimulai.

Dalam kedua kasus, Action 3 tidak dijalankan.

Jika sesuatu mengganggu suatu tindakan, fungsi Lambda dipanggil dengan suatu peristiwa. ACTION_INTERRUPTED Acara ini hanya digunakan untuk tujuan informasi. Aplikasi SIP media mengabaikan semua tindakan yang dikembalikan oleh pemanggilan ini.

Jenis tindakan yang dapat diinterupsi:

  • PlayAudio

  • RecordAudio

  • Pause

Contoh fungsi Lambda

Contoh ini menunjukkan fungsi Lambda khas yang memutar file audio, meneruskan token gabungan, dan memperbarui panggilan.

const MMS = require('my-meeting-service'); const myMeetingServiceClient = new MMS.Client(); exports.handler = async (event) => { console.log('Request: ' + JSON.stringify(event)); const playAudio = () => { return { Type: 'PlayAudio', Parameters: { ParticipantTag: 'LEG-A', AudioSource: { Type: 'S3', BucketName: 'chime-meetings-audio-files-bucket-name', Key: 'welcome.wav' } } } } const joinChimeMeeting = (joinToken) => { return { Type: 'JoinChimeMeeting', Parameters: { JoinToken: joinToken } } } const response = (...actions) => { const r = { SchemaVersion: '1.0', Actions: actions }; console.log('Response: ' + JSON.stringify(r)); return r; }; switch (event.InvocationEventType) { case 'NEW_INBOUND_CALL': myMeetingServiceClient.addPendingCall(event.CallDetails.TransactionId); return response(playAudio()); case 'CALL_UPDATE_REQUESTED': const joinToken = event.ActionData.Parameters.Arguments['JoinToken'] return response(joinChimeMeeting(joinToken)); default: return response(); } }
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.