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.
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 | ✔️ | ✔️ | ✔️ | ✔️ | |
Mulai/Hentikan streaming audio (pratinjau publik) | ✔️ | ✔️ | ✔️ | ✔️ | |
Mulai/Hentikan transkripsi real-time (pratinjau publik) | ✔️ | ✔️ | ✔️ | ✔️ | |
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.
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.
Mulai/Hentikan streaming audio (pratinjau publik) - Streaming audio memungkinkan Anda berlangganan aliran audio real time dari panggilan yang sedang berlangsung. Untuk panduan lebih rinci tentang cara memulai streaming audio dan informasi tentang peristiwa panggilan balik streaming audio, lihat konsep dan mulai cepat kami.
Mulai/Hentikan transkripsi real time (pratinjau publik) - Transkripsi real time memungkinkan Anda mengakses transkripsi langsung untuk audio panggilan yang sedang berlangsung. Untuk panduan lebih rinci tentang cara memulai transkripsi real-time dan informasi tentang peristiwa panggilan balik transkripsi real-time, lihat konsep dan mulai cepat kami.
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. |
CreateCallFailed |
Aplikasi Anda gagal membuat 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
Artikel terkait
- Pahami bagaimana sumber daya Anda ditagih untuk berbagai kasus penggunaan panggilan dengan contoh.
- Lihat mulai cepat untuk melakukan panggilan keluar.
- Pelajari tentang penggunaan dan log operasional yang diterbitkan oleh otomatisasi panggilan.