Bagikan melalui


Gambaran Umum Automasi Panggilan

Azure Communication Services Call Automation memberi pengembang kemampuan untuk membangun alur kerja panggilan cerdas berbasis server, dan perekaman panggilan untuk saluran Jaringan Telepon Teralihkan Publik (PSTN). SDK, yang tersedia di C#, Java, JavaScript, dan Python, menggunakan model peristiwa tindakan untuk membantu Anda membangun interaksi pelanggan yang dipersonalisasi. Aplikasi komunikasi Anda dapat mendengarkan peristiwa panggilan real time dan melakukan tindakan sarana kontrol (seperti menjawab, mentransfer, memutar audio, mulai merekam, dan sebagainya) untuk mengarahkan dan mengontrol panggilan berdasarkan logika bisnis Anda.

Kasus penggunaan umum

Beberapa kasus penggunaan umum yang dapat Anda buat menggunakan Automasi Panggilan:

  • Panggilan VoIP program atau PSTN untuk alur kerja transaksi seperti pengingat klik-untuk-panggilan dan janji temu untuk meningkatkan layanan pelanggan.
  • Bangun alur kerja interaksi interaktif ke pelanggan mandiri untuk kasus penggunaan seperti pemesanan pesanan dan pembaruan, menggunakan tindakan Putar (URL Audio, Teks ke Ucapan, dan SSML) dan Kenali (DTMF dan Voice).
  • Integrasikan aplikasi komunikasi Anda dengan Pusat Kontak dan jaringan telepon privat Anda menggunakan Perutean Langsung.
  • Lindungi identitas pelanggan Anda dengan membangun layanan masking nomor untuk menghubungkan pembeli ke penjual atau pengguna ke vendor mitra di platform Anda.
  • Tingkatkan keterlibatan dengan membangun program pencapaian pelanggan otomatis untuk pemasaran dan layanan pelanggan.
  • Analisis dalam proses pasca-panggilan rekaman audio Anda yang tidak dimix untuk tujuan jaminan kualitas.

Gunakan Azure Communication Services Call Automation untuk membangun alur kerja panggilan untuk skenario layanan pelanggan, seperti yang digambarkan dalam arsitektur tingkat tinggi. Anda dapat menjawab panggilan masuk atau melakukan panggilan keluar. Jalankan tindakan seperti memutar pesan selamat datang atau menghubungkan pelanggan ke agen langsung di aplikasi klien Azure Communication Services Calling SDK untuk menjawab permintaan panggilan masuk. Dengan dukungan untuk PSTN Azure Communication Services atau Perutean Langsung, Anda kemudian dapat menyambungkan alur kerja ini kembali ke pusat kontak Anda.

Diagram alur panggilan untuk skenario layanan pelanggan.

Kemampuan

Fitur berikut saat ini tersedia di SDK Automasi Panggilan Azure Communication Services.

Area Fitur Kemampuan .NET Java JavaScript Python
Skenario pra-panggilan Menjawab panggilan satu-ke-satu ✔️ ✔️ ✔️ ✔️
Menjawab panggilan grup ✔️ ✔️ ✔️ ✔️
Melakukan panggilan keluar baru ke satu atau beberapa titik akhir ✔️ ✔️ ✔️ ✔️
Mengalihkan* (meneruskan) panggilan ke satu atau beberapa titik akhir ✔️ ✔️ ✔️ ✔️
Menolak panggilan masuk ✔️ ✔️ ✔️ ✔️
Menyambungkan ke panggilan atau Ruang yang sedang berlangsung (dalam pratinjau) ✔️ ✔️ ✔️ ✔️
Skenario pertengahan panggilan Menambahkan satu atau beberapa titik akhir ke panggilan yang sudah ada ✔️ ✔️ ✔️ ✔️
Batal menambahkan titik akhir ke panggilan yang sudah ada ✔️ ✔️ ✔️ ✔️
Memutar Audio dari file audio ✔️ ✔️ ✔️ ✔️
Memutar Audio menggunakan Teks ke Ucapan ✔️ ✔️ ✔️ ✔️
Mengenali input pengguna melalui DTMF ✔️ ✔️ ✔️ ✔️
Mengenali input suara pengguna ✔️ ✔️ ✔️ ✔️
Mulai pengenalan DTMF berkelanjutan ✔️ ✔️ ✔️ ✔️
Menghentikan pengenalan DTMF berkelanjutan ✔️ ✔️ ✔️ ✔️
Kirim DTMF ✔️ ✔️ ✔️ ✔️
Mematikan suara peserta ✔️ ✔️ ✔️ ✔️
Menghapus satu atau beberapa titik akhir dari panggilan yang sudah ada ✔️ ✔️ ✔️ ✔️
Transfer Buta panggilan 1:1 ke titik akhir lain ✔️ ✔️ ✔️ ✔️
Blind Transfer peserta dari panggilan grup ke titik akhir lain ✔️ ✔️ ✔️ ✔️
Menutup panggilan (menghapus kaki panggilan) ✔️ ✔️ ✔️ ✔️
Menghentikan panggilan (menghapus semua peserta dan mengakhiri panggilan) ✔️ ✔️ ✔️ ✔️
Batalkan operasi media ✔️ ✔️ ✔️ ✔️
Bagikan info kustom (melalui header VOIP atau SIP) dengan titik akhir saat menambahkannya ke panggilan atau mentransfer panggilan ke mereka ✔️ ✔️ ✔️ ✔️
Skenario kueri Mendapatkan status panggilan ✔️ ✔️ ✔️ ✔️
Mendapatkan peserta dalam panggilan ✔️ ✔️ ✔️ ✔️
Mencantumkan semua peserta dalam panggilan ✔️ ✔️ ✔️ ✔️
Rekaman Panggilan Mulai/jeda/lanjutkan/hentikan perekaman ✔️ ✔️ ✔️ ✔️

* Transfer atau alihkan panggilan VoIP ke nomor telepon saat ini tidak didukung.

Sistem

Automation Panggilan menggunakan antarmuka REST API untuk menerima permintaan dan memberikan respons terhadap semua tindakan yang dilakukan dalam layanan. Karena sifat panggilan asinkron, sebagian besar tindakan memiliki peristiwa yang sesuai yang dipicu ketika tindakan berhasil diselesaikan atau gagal.

Azure Communication Services menggunakan Event Grid untuk mengirimkan peristiwa IncomingCall dan HTTPS Webhooks untuk semua panggilan balik tindakan tengah panggilan.

Cuplikan layar alur untuk panggilan dan tindakan masuk.

Tindakan panggilan

Tindakan pra-panggilan

Tindakan ini dilakukan sebelum titik akhir tujuan yang tercantum dalam IncomingCall pemberitahuan peristiwa tersambung. Peristiwa panggilan balik web hook hanya mengomunikasikan answer tindakan pra-panggilan, bukan untuk reject atau redirect tindakan.

Jawaban – Menggunakan peristiwa IncomingCall dari Event Grid dan Call Automation SDK, aplikasi Anda dapat menjawab panggilan. Gunakan tindakan ini dalam skenario IVR di mana aplikasi Anda dapat menjawab panggilan PSTN masuk secara terprogram. Skenario lain termasuk menjawab panggilan atas nama pengguna.

Tolak – Untuk menolak panggilan berarti aplikasi Anda dapat menerima IncomingCall peristiwa dan mencegah panggilan tersambung ke titik akhir tujuan.

Pengalihan – Menggunakan IncomingCall peristiwa dari Event Grid, Anda dapat mengalihkan panggilan ke satu atau beberapa titik akhir yang membuat skenario dering tunggal atau simultan (sim-ring). Tindakan pengalihan tidak menjawab panggilan. Panggilan dialihkan atau diteruskan ke titik akhir tujuan lain untuk dijawab.

Buat Panggilan - Gunakan tindakan Buat Panggilan untuk melakukan panggilan keluar ke nomor telepon dan ke pengguna komunikasi lainnya. Kasus penggunaan termasuk aplikasi Anda yang melakukan panggilan keluar untuk secara proaktif memberi tahu pengguna tentang pemadaman atau memberi tahu tentang pembaruan pesanan.

Sambungkan Panggilan (dalam pratinjau) - Gunakan tindakan Sambungkan Panggilan untuk menyambungkan ke panggilan yang sedang berlangsung dan mengambil tindakan panggilan di dalamnya. Anda juga dapat menggunakan tindakan ini untuk menyambungkan dan mengelola panggilan Kamar secara terprogram, seperti melakukan dial out PSTN untuk Ruang menggunakan layanan Anda.

Tindakan panggilan tengah

Aplikasi Anda dapat melakukan tindakan ini pada panggilan yang dijawab atau ditempatkan menggunakan SDK Automasi Panggilan. Setiap tindakan pertengahan panggilan memiliki peristiwa panggilan balik web hook keberhasilan atau kegagalan yang sesuai.

Tambahkan/Hapus peserta – Anda dapat menambahkan satu atau beberapa peserta dalam satu permintaan dengan setiap peserta menjadi variasi titik akhir tujuan yang didukung. Panggilan balik web hook dikirim untuk setiap peserta yang berhasil ditambahkan ke panggilan.

Putar – Saat aplikasi Anda menjawab panggilan atau melakukan panggilan keluar, Anda dapat memutar perintah audio untuk pemanggil. Audio ini dapat diulang jika diperlukan dalam skenario seperti memutar musik tahan. Untuk mempelajari selengkapnya, lihat Memutar audio dalam panggilan dan Menyesuaikan perintah suara kepada pengguna dengan tindakan Putar.

Kenali input – Setelah aplikasi memutar perintah audio, Anda dapat meminta input pengguna untuk mendorong logika bisnis dan navigasi di aplikasi Anda. Untuk mempelajari selengkapnya, lihat Mengumpulkan input pengguna dan panduan cara Mengumpulkan input pengguna dengan tindakan Kenali.

Pengenalan DTMF berkelanjutan – Ketika aplikasi Anda harus dapat menerima nada DTMF kapan saja dalam panggilan tanpa aplikasi perlu memicu tindakan pengenalan tertentu. Kemampuan ini dapat berguna dalam skenario di mana agen sedang melakukan panggilan dan mengharoskan pengguna untuk memasukkan semacam ID atau nomor pelacakan. Untuk mempelajari lebih lanjut, lihat Cara mengontrol tindakan media tengah panggilan.

Kirim DTMF – Saat aplikasi Anda perlu mengirim nada DTMF ke peserta eksternal. Gunakan tindakan ini untuk menghubungi agen eksternal dan menyediakan nomor ekstensi, atau menavigasi menu IVR eksternal.

Bisu - Aplikasi Anda dapat mematikan suara pengguna tertentu berdasarkan logika bisnis Anda. Pengguna kemudian perlu menyalakan suara mereka sendiri secara manual jika mereka ingin berbicara.

Transfer – Saat aplikasi Anda menjawab panggilan atau melakukan panggilan keluar ke titik akhir, panggilan tersebut dapat ditransfer ke titik akhir tujuan lain. Mentransfer panggilan 1:1 akan menghapus kemampuan aplikasi Anda untuk mengontrol panggilan menggunakan SDK Automasi Panggilan.

Catatan – Anda memutuskan kapan harus memulai/menjeda/melanjutkan/menghentikan perekaman berdasarkan logika bisnis aplikasi Anda, atau Anda dapat memberikan kontrol kepada pengguna akhir untuk memicu tindakan tersebut. Untuk mempelajari lebih lanjut, lihat konsep dan mulai cepat kami.

Hang-up – Saat aplikasi Anda menjawab panggilan satu-ke-satu, tindakan tutup telepon akan menghapus kaki panggilan dan mengakhiri panggilan dengan titik akhir lainnya. Jika ada lebih dari dua peserta dalam panggilan (panggilan grup), melakukan tindakan 'tutup' akan menghapus titik akhir aplikasi Anda dari panggilan grup.

Hentikan – Apakah aplikasi Anda menjawab panggilan satu-ke-satu atau grup, atau melakukan panggilan keluar dengan satu atau beberapa peserta, tindakan ini menghapus semua peserta dan mengakhiri panggilan. Operasi ini dipicu dengan mengatur properti ke forEveryOne true dalam tindakan panggilan Hang-Up.

Batalkan operasi media – Berdasarkan logika bisnis, aplikasi Anda mungkin perlu membatalkan operasi media yang sedang berlangsung dan antre. Bergantung pada operasi media yang dibatalkan dan yang dalam antrean, aplikasi Anda mungkin menerima peristiwa webhook yang menunjukkan bahwa tindakan dibatalkan.

Skenario kueri

Daftar peserta – Mengembalikan daftar semua peserta dalam panggilan. Bot perekaman dan transkripsi dihilangkan dari daftar ini.

Acara

Tabel berikut menguraikan peristiwa saat ini yang dipancarkan oleh Azure Communication Services. Dua tabel berikut ini menjelaskan peristiwa yang dipancarkan oleh Event Grid dan dari peristiwa Call Automation sebagai webhook.

Peristiwa Azure Event Grid

Sebagian besar peristiwa yang dikirim oleh Event Grid adalah agnostik platform. Mereka dikirim terlepas dari SDK (Panggilan atau Automasi Panggilan). Meskipun Anda dapat membuat langganan untuk peristiwa apa pun, sebaiknya gunakan peristiwa untuk IncomingCall semua kasus penggunaan Automation Panggilan tempat Anda ingin mengontrol panggilan secara terprogram. Gunakan peristiwa lain untuk tujuan pelaporan/telemetri.

Kejadian Deskripsi
IncomingCall Pemberitahuan panggilan ke pengguna komunikasi atau nomor telepon.
CallStarted Membuat panggilan (masuk atau keluar).
CallEnded Menghentikan panggilan dan menghapus semua peserta.
ParticipantAdded Menambahkan peserta ke panggilan.
ParticipantRemoved Menghapus peserta dari panggilan.
RecordingFileStatusUpdated File perekaman tersedia.

Baca selengkapnya tentang peristiwa dan skema payload ini di Azure Communication Services - Peristiwa panggilan suara dan video

Memanggil peristiwa webhook Automation

Peristiwa Automasi Panggilan dikirim ke URI panggilan balik hook web yang ditentukan saat Anda menjawab atau melakukan panggilan keluar baru.

Kejadian Deskripsi
CallConnected Panggilan berhasil dimulai (saat menggunakan Answer atau Create tindakan) atau aplikasi Anda berhasil tersambung ke panggilan yang sedang berlangsung (saat menggunakan Connect tindakan).
CallDisconnected Aplikasi Anda telah terputus dari panggilan.
ConnectFailed Aplikasi Anda gagal tersambung ke panggilan (hanya untuk Connect tindakan panggilan).
CallTransferAccepted Tindakan transfer berhasil diselesaikan dan penerima transfer terhubung ke peserta target.
CallTransferFailed Tindakan transfer gagal.
AddParticipantSucceeded Aplikasi Anda berhasil menambahkan peserta ke panggilan.
AddParticipantFailed Aplikasi Anda tidak dapat menambahkan peserta ke panggilan (karena kesalahan atau peserta tidak menerima undangan)
CancelAddParticipantSucceeded Aplikasi Anda berhasil membatalkan AddParticipant permintaan (peserta tidak ditambahkan ke panggilan).
CancelAddParticipantFailed Aplikasi Anda tidak dapat membatalkan permintaan AddParticipant (ini bisa jadi karena permintaan telah diproses).
RemoveParticipantSucceeded Aplikasi Anda berhasil menghapus peserta dari panggilan.
RemoveParticipantFailed Aplikasi Anda tidak dapat menghapus peserta dari panggilan.
ParticipantsUpdated Status peserta berubah saat aplikasi Anda tersambung ke panggilan.
PlayCompleted Aplikasi Anda berhasil memutar file audio yang disediakan.
PlayFailed Aplikasi Anda gagal memutar audio.
PlayCanceled Tindakan putar yang diminta telah dibatalkan.
RecognizeCompleted Pengenalan input pengguna berhasil diselesaikan.
RecognizeCanceled Tindakan yang Recognize diminta telah dibatalkan.
RecognizeFailed Pengenalan input pengguna tidak berhasil.
Untuk informasi selengkapnya tentang mengenali peristiwa tindakan, lihat panduan cara mengumpulkan input pengguna.
RecordingStateChanged Status tindakan perekaman telah berubah dari aktif menjadi tidak aktif atau sebaliknya.
ContinuousDtmfRecognitionToneReceived StartContinuousDtmfRecognition berhasil diselesaikan dan nada DTMF diterima dari peserta.
ContinuousDtmfRecognitionToneFailed StartContinuousDtmfRecognition selesai tetapi terjadi kesalahan saat menangani nada DTMF dari peserta.
ContinuousDtmfRecognitionStopped Berhasil dijalankan StopContinuousRecognition.
SendDtmfCompleted SendDTMF berhasil diselesaikan dan mengirim nada DTMF ke peserta target.
SendDtmfFailed Terjadi kesalahan saat mengirim nada DTMF.

Untuk memahami peristiwa mana yang diterbitkan untuk tindakan yang berbeda, lihat Tindakan untuk kontrol panggilan. Artikel ini menyediakan sampel kode dan diagram urutan untuk berbagai alur kontrol panggilan.

Sebagai praktik terbaik saat mengakui peristiwa panggilan balik, tanggapi dengan kode status HTTP standar seperti 200 OK. Informasi terperinci tidak perlu dan lebih cocok untuk proses penelusuran kesalahan Anda.

Untuk mempelajari cara mengamankan pengiriman peristiwa panggilan balik, lihat Cara mengamankan titik akhir webhook.

Operasi Callback URI

URI Callback Operasi adalah parameter opsional di beberapa API panggilan tengah yang menggunakan peristiwa sebagai respons asinkron mereka. Secara default, semua peristiwa dikirim ke URI panggilan balik default yang ditetapkan oleh CreateCall / AnswerCall peristiwa API saat pengguna membuat panggilan. Dengan menggunakan URI Panggilan Balik Operasi, API mengirimkan peristiwa yang sesuai untuk permintaan individu ini (hanya satu kali) ke URI baru.

API yang didukung Peristiwa yang sesuai
AddParticipant AddParticipantSucceed / AddParticipantFailed
RemoveParticipant RemoveParticipantSucceed / RemoveParticipantFailed
TransferCall CallTransferAccepted / CallTransferFailed
CancelAddParticipant CancelAddParticipantSucceeded / CancelAddParticipantFailed
Play PlayCompleted / PlayFailed / PlayCanceled
PlayToAll PlayCompleted / PlayFailed / PlayCanceled
Recognize RecognizeCompleted / RecognizeFailed / RecognizeCanceled
StopContinuousDTMFRecognition ContinuousDtmfRecognitionStopped
SendDTMF ContinuousDtmfRecognitionToneReceived / ContinuousDtmfRecognitionToneFailed

Langkah berikutnya