Gambaran Umum Automasi Panggilan

Azure Communication Services Call Automation memberi pengembang kemampuan untuk membangun alur kerja panggilan berbasis server, cerdas, 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, dll.) untuk mengarahkan dan mengontrol panggilan berdasarkan logika bisnis Anda.

Catatan

Automasi Panggilan saat ini tidak mendukung panggilan Kamar .

Kasus penggunaan umum

Beberapa kasus penggunaan umum yang dapat dibuat menggunakan Automasi Panggilan meliputi:

  • 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 dan pembaruan pesanan, 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.

Azure Communication Services Call Automation dapat digunakan 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, 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

Daftar berikut menyajikan sekumpulan fitur yang 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 ✔️ ✔️ ✔️ ✔️
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 pemberitahuan peristiwa IncomingCall tersambung. Peristiwa panggilan balik web hook hanya mengomunikasikan tindakan pra-panggilan "jawaban", bukan untuk tindakan penolakan atau pengalihan.

Jawab Menggunakan peristiwa IncomingCall dari Event Grid dan Call Automation SDK, panggilan dapat dijawab oleh aplikasi Anda. Tindakan ini memungkinkan 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 peristiwa IncomingCall dan mencegah panggilan tersambung ke titik akhir tujuan.

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

Membuat tindakan Buat Panggilan Panggilan dapat digunakan 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.

Tindakan panggilan tengah

Tindakan ini dapat dilakukan 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 Satu atau beberapa peserta dapat ditambahkan 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 lebih lanjut, lihat konsep dan panduan cara menyesuaikan permintaan suara kepada pengguna dengan tindakan Putar.

Kenali input Setelah aplikasi Anda memutar perintah audio, Anda dapat meminta input pengguna untuk mendorong logika bisnis dan navigasi di aplikasi Anda. Untuk mempelajari lebih lanjut, lihat konsep dan panduan cara mengumpulkan input pengguna.

Pengenalan DTMF berkelanjutan Ketika aplikasi Anda harus dapat menerima nada DTMF kapan saja dalam panggilan tanpa aplikasi perlu memicu tindakan pengenalan tertentu. Hal ini dapat berguna dalam skenario di mana agen sedang melakukan panggilan dan memerlukan pengguna untuk memasukkan semacam ID atau nomor pelacakan. Untuk mempelajari selengkapnya tentang cara menggunakan tampilan ini, panduan kami.

Kirim DTMF Ketika aplikasi Anda perlu mengirim nada DTMF ke peserta eksternal, ini bisa untuk tujuan seperti menghubungi agen eksternal dan menyediakan nomor ekstensi, atau sesuatu seperti menavigasi menu IVR eksternal.

Mematikan suara 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.

Tutup Saat aplikasi Anda telah 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 telah 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 forEveryOne properti ke 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, Anda akan menerima peristiwa webhook yang menunjukkan bahwa tindakan telah dibatalkan.

Skenario kueri

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

Peristiwa

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 yang berarti dipancarkan terlepas dari SDK (Automasi Panggilan atau Panggilan). Meskipun Anda dapat membuat langganan untuk peristiwa apa pun, kami sarankan Anda menggunakan peristiwa IncomingCall untuk semua kasus penggunaan Call Automation 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 Panggilan dibuat (masuk atau keluar)
CallEnded Panggilan dihentikan dan semua peserta dihapus
PesertaTambahkan Peserta telah ditambahkan ke panggilan
PesertaRemoved Peserta telah dihapus dari panggilan
RecordingFileStatusUpdated File rekaman tersedia

Baca selengkapnya tentang peristiwa dan skema payload ini di sini

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
Panggilan Koneksi Kaki panggilan aplikasi Anda tersambung (masuk atau keluar)
CallDisconnected Kaki panggilan aplikasi Anda terputus
CallTransferAccepted Kaki panggilan aplikasi Anda telah ditransfer ke titik akhir lain
CallTransferFailed Transfer kaki panggilan aplikasi Anda gagal
AddParticipantSucceeded Aplikasi Anda menambahkan peserta
AddParticipantFailed Aplikasi Anda tidak dapat menambahkan peserta
CancelAddParticipantSucceededed Aplikasi Anda dibatalkan penambahan peserta
CancelAddParticipantFailed Aplikasi Anda tidak dapat membatalkan penambahan peserta
RemoveParticipantSucceeded Aplikasi Anda telah berhasil menghapus peserta dari panggilan.
RemoveParticipantFailed Aplikasi Anda tidak dapat menghapus peserta dari panggilan.
PesertaDiupdated Status peserta berubah saat kaki panggilan 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 kenali yang diminta telah dibatalkan
RecognizeFailed Pengenalan input pengguna tidak berhasil
untuk mempelajari 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 menjalankan StopContinuousRecognition
SendDtmfCompleted SendDTMF berhasil diselesaikan dan nada DTMF dikirim ke peserta target
SendDtmfFailed Terjadi kesalahan saat mengirim nada DTMF

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

Saat mengakui peristiwa panggilan balik, praktik terbaik adalah merespons 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 panduan ini.

Operasi Callback Uri

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

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

Langkah berikutnya

Berikut adalah beberapa artikel yang menarik bagi Anda: