Bagikan melalui


Konsep panggilan masuk

Azure Communication Services Call Automation memungkinkan pengembang membuat aplikasi yang dapat melakukan dan menerima panggilan. Ini memanfaatkan langganan Event Grid untuk mengirimkan IncomingCall peristiwa, sehingga sangat penting untuk mengonfigurasi lingkungan Anda untuk menerima pemberitahuan ini agar aplikasi Anda dapat mengalihkan atau menjawab panggilan secara efektif. Oleh karena itu, memahami dasar-dasar panggilan masuk sangat penting untuk memanfaatkan potensi penuh Azure Communication Services Call Automation.

Skenario panggilan

Sebelum menyiapkan lingkungan Anda, penting untuk memahami skenario yang dapat memicu IncomingCall peristiwa. Untuk memicu IncomingCall peristiwa, panggilan harus dilakukan ke identitas Azure Communication Services atau nomor Public Switched Telephone Network (PSTN) yang terkait dengan sumber daya Azure Communication Services Anda. Berikut ini adalah contoh sumber daya ini:

  1. Identitas Azure Communication Services
  2. Nomor telepon PSTN yang dimiliki oleh sumber daya Azure Communication Services Anda

Mengingat contoh-contoh ini, skenario berikut memicu peristiwa yang IncomingCall dikirim ke Event Grid:

Sumber Tujuan Skenario
Identitas Azure Communication Services Identitas Azure Communication Services Panggilan, Alihkan, Tambahkan Peserta, Transfer
Identitas Azure Communication Services Nomor PSTN yang dimiliki oleh sumber daya Azure Communication Services Anda Panggilan, Alihkan, Tambahkan Peserta, Transfer
PSTN Publik Nomor PSTN yang dimiliki oleh sumber daya Azure Communication Services Anda Panggilan, Alihkan, Tambahkan Peserta, Transfer

Catatan

Penting untuk dipahami bahwa identitas Azure Communication Services dapat mewakili pengguna atau aplikasi. Meskipun platform tidak memiliki fitur bawaan untuk secara eksplisit menetapkan identitas ke pengguna atau aplikasi, aplikasi atau infrastruktur pendukung Anda dapat menyelesaikan ini. Untuk mempelajari selengkapnya tentang topik ini, lihat panduan konsep identitas.

Mendaftarkan penyedia sumber daya Event Grid

Jika sebelumnya Anda belum menggunakan Event Grid di langganan Azure, Anda mungkin perlu mendaftarkan penyedia sumber daya Event Grid Anda. Untuk mendaftarkan penyedia, ikuti langkah-langkah berikut:

  1. Buka portal Microsoft Azure.
  2. Di menu sebelah kiri, pilih Langganan.
  3. Pilih langganan yang Anda gunakan untuk Event Grid.
  4. Di menu sebelah kiri, di bawah Pengaturan, pilih Penyedia sumber daya.
  5. Cari Microsoft.EventGrid.
  6. Jika penyedia sumber daya Anda tidak terdaftar, pilih Daftar.

Menerima pemberitahuan panggilan masuk dari Event Grid

Di Azure Communication Services, menerima IncomingCall pemberitahuan dimungkinkan melalui langganan Event Grid. Sebagai penerima pemberitahuan, Anda memiliki fleksibilitas untuk memilih cara menanganinya. Karena API Automation Panggilan memanfaatkan panggilan balik Webhook untuk peristiwa, biasanya menggunakan langganan Event Grid 'Webhook'. Namun, layanan ini menawarkan berbagai jenis langganan, dan Anda memiliki kebebasan untuk memilih yang paling cocok untuk kebutuhan Anda.

Arsitektur ini memiliki manfaat berikut:

  • Dengan menggunakan filter langganan Event Grid, Anda dapat merutekan IncomingCall pemberitahuan ke aplikasi tertentu.
  • Penetapan nomor PSTN dan logika perutean dapat ada di aplikasi Anda versus dikonfigurasi secara statis secara online.
  • Seperti yang diidentifikasi di bagian skenario panggilan, aplikasi Anda dapat diberi tahu bahkan ketika pengguna melakukan panggilan antara satu sama lain. Anda kemudian dapat menggabungkan skenario ini bersama dengan API Perekaman Panggilan untuk memenuhi kebutuhan kepatuhan.

Untuk contoh payload peristiwa dan informasi selengkapnya tentang peristiwa panggilan lain yang diterbitkan ke Event Grid, lihat panduan ini.

Berikut adalah contoh langganan Event Grid Webhook di mana filter jenis peristiwa hanya IncomingCall mendengarkan peristiwa.

Image showing IncomingCall subscription.

Opsi perutean panggilan dengan Automasi Panggilan dan Event Grid

Di Automasi Panggilan dan Event Grid, perutean panggilan dapat disesuaikan dengan kebutuhan spesifik Anda. Dengan menggunakan filter tingkat lanjut dalam langganan Event Grid, Anda dapat berlangganan IncomingCall pemberitahuan yang berkaitan dengan nomor telepon sumber/tujuan tertentu atau identitas Azure Communication Services. Pemberitahuan ini kemudian dapat diarahkan ke titik akhir, seperti langganan Webhook. Dengan menggunakan Call Automation SDK, aplikasi titik akhir kemudian dapat membuat keputusan untuk mengalihkan panggilan ke identitas Azure Communication Services lain atau ke PSTN.

Catatan

Untuk memastikan bahwa aplikasi Anda hanya menerima peristiwa yang diperlukan, disarankan untuk mengonfigurasi pemfilteran di Event Grid. Ini sangat penting dalam skenario yang menghasilkan IncomingCall peristiwa, seperti mengalihkan panggilan PSTN masuk ke titik akhir Azure Communication Services. Jika filter tidak digunakan, langganan Event Grid Anda menerima dua IncomingCall peristiwa - satu untuk panggilan PSTN dan satu untuk pengguna Azure Communication Services - meskipun Anda hanya ingin menerima pemberitahuan pertama. Mengabaikan untuk menangani skenario tersebut menggunakan filter atau mekanisme lain dalam aplikasi Anda dapat mengakibatkan perulangan tak terbatas dan perilaku lain yang tidak diinginkan.

Berikut adalah contoh filter tingkat lanjut pada langganan Event Grid yang mengawasi string yang data.to.PhoneNumber.Value dimulai dengan nomor telepon PSTN '+18005551212.

Image showing Event Grid advanced filter.

Penetapan angka

Saat menggunakan IncomingCall pemberitahuan di Azure Communication Services, Anda memiliki kebebasan untuk mengaitkan angka tertentu dengan titik akhir apa pun. Misalnya, jika Anda mendapatkan nomor +14255551212 telepon PSTN dan ingin menetapkannya kepada pengguna dengan identitas 375f0e2f-e8db-4449-9bf7-2054b02e42b4 di aplikasi Anda, Anda harus mempertahankan pemetaan nomor tersebut ke identitas. IncomingCall Saat pemberitahuan dikirim yang cocok dengan nomor telepon di bidang ke, Anda dapat memanggil Redirect API dan memberikan identitas pengguna. Dengan kata lain, Anda dapat mengelola penetapan nomor dalam aplikasi Anda dan merutekan atau menjawab panggilan saat runtime.

Praktik Terbaik

  1. Untuk memastikan bahwa Event Grid mengirimkan peristiwa ke titik akhir Webhook Anda dan mencegah pengguna berbahaya membanjiri titik akhir Anda dengan peristiwa, Anda perlu membuktikan kepemilikan titik akhir Anda. Untuk mengatasi masalah dengan menerima peristiwa, konfirmasikan bahwa Webhook yang Anda konfigurasi diverifikasi dengan menangani SubscriptionValidationEvent. Untuk informasi selengkapnya, lihat panduan ini.

  2. Saat peristiwa panggilan masuk diterima, jika aplikasi Anda gagal merespons kembali dengan kode status 200Ok ke Event Grid dalam jangka waktu yang diperlukan, Event Grid menggunakan backoff eksponensial untuk mengirim peristiwa lagi. Namun, panggilan masuk hanya berdering selama 30 detik, dan merespons panggilan setelah waktu tersebut tidak akan efektif. Untuk mencegah percobaan kembali untuk panggilan kedaluwarsa atau kedaluwarsa, sebaiknya atur kebijakan coba lagi sebagai Upaya Pengiriman Peristiwa Maks ke 2 dan Waktu Acara untuk Hidup hingga 1 menit. Anda dapat menemukan pengaturan ini di bawah tab Fitur Tambahan dari langganan peristiwa. Pelajari selengkapnya tentang percobaan ulang di sini.

  3. Kami menyarankan Anda untuk mengaktifkan pengelogan untuk sumber daya Event Grid Anda untuk memantau peristiwa yang gagal dikirimkan. Untuk melakukan ini, navigasikan ke topik sistem di bawah tab Peristiwa sumber daya Komunikasi Anda dan aktifkan pengelogan dari pengaturan Diagnostik. Log kegagalan dapat ditemukan di tabel 'AegDeliveryFailureLogs'.

    AegDeliveryFailureLogs
    | limit 10 
    | where Message has "incomingCall"
    

Langkah berikutnya