Anda mungkin pernah mendengar atau membaca tentang fitur Penyaringan Panggilan yang diluncurkan Google untuk ponsel Pixel-nya di AS. Idenya bagus - saat Anda menerima panggilan masuk, asisten virtual mulai berkomunikasi, sementara Anda melihat percakapan ini dalam bentuk obrolan dan kapan saja Anda dapat mulai berbicara alih-alih asisten. Ini sangat berguna saat ini ketika hampir
Arsitektur
Saya sarankan Anda tidak membuang waktu untuk menjelaskan cara kerja Voximplant dan Dialogflow; jika mau, Anda dapat dengan mudah menemukan informasi di Internet. Jadi, mari kenali konsep Penyaringan Panggilan kami.
Anggaplah Anda sudah memiliki nomor telepon tertentu yang Anda gunakan setiap hari dan yang digunakan untuk menerima panggilan penting. Dalam hal ini, kita memerlukan nomor kedua, yang akan ditunjukkan di mana saja - di surat, di kartu nama, saat Anda mengisi formulir online, dll. Nomor ini akan terhubung ke sistem pemrosesan bahasa alami (dalam kasus kami, Dialogflow) dan akan meneruskan panggilan ke nomor utama Anda hanya jika Anda menginginkannya. Bentuk diagramnya seperti ini (gambar dapat diklik):
Memahami arsitekturnya, kita dapat menerapkannya, tetapi dengan satu peringatan: kita tidak akan melakukannya seluler aplikasi untuk menampilkan dialog antara Dialogflow dan penelepon masuk, kita akan membuat yang sederhana web-sebuah aplikasi dengan penyaji dialog untuk menunjukkan dengan jelas cara kerja Penyaringan Panggilan. Aplikasi ini akan memiliki tombol Intervensi, dengan menekan Voximplant mana yang akan menghubungkan pelanggan masuk dengan pelanggan yang dihubungi, jika pelanggan tersebut memutuskan untuk berbicara sendiri.
Implementasi
Masuk
Buka
Selanjutnya, masuk ke aplikasi penyaringan, di bagian “Nomor”, tab “Tersedia”. Di sini Anda akan melihat nomor yang baru saja Anda beli. Tautkan ke aplikasi menggunakan tombol "Lampirkan" - di jendela yang muncul, biarkan semua nilai default dan klik "Lampirkan".
Setelah berada di dalam aplikasi, buka tab "Skrip" dan buat skrip myscreening - di dalamnya kami menggunakan kode dari artikel
PERHATIAN: Anda perlu mengubah nilai variabel server menjadi nama server ngrok Anda (detail tentang ngrok ada di bawah). Gantikan juga nilai-nilai Anda pada baris 31, di mana nomor telepon Anda adalah nomor utama Anda (misalnya, ponsel pribadi Anda), dan nomor voximplant adalah nomor yang baru saja Anda beli.
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)
Panggilan CallPSTN akan terjadi pada saat Anda memutuskan untuk masuk ke percakapan dan berbicara secara pribadi dengan pelanggan masuk.
Setelah Anda menyimpan skrip, Anda perlu menautkannya ke nomor yang dibeli. Untuk melakukan ini, saat masih berada di dalam aplikasi Anda, buka tab "Perutean" untuk membuat aturan baru - tombol "Aturan Baru" di sudut kanan atas. Berikan nama (misalnya, allcalls), biarkan mask default (.* - yang berarti semua panggilan masuk akan diproses oleh skrip yang dipilih untuk aturan ini) dan tentukan skrip myscreening.
Simpan aturannya.
Mulai sekarang, nomor telepon ditautkan ke skrip. Hal terakhir yang perlu Anda lakukan adalah menautkan bot ke aplikasi. Untuk melakukannya, buka tab “Dialogflow Connector”, klik tombol “Tambahkan Agen Dialogflow” di sudut kanan atas dan unggah file JSON agen Dialogflow Anda.
Jika Anda membutuhkan agen untuk contoh/pengujian, Anda dapat mengambil agen kami di tautan ini:
Backend sederhana di NodeJS
Mari kita terapkan backend sederhana pada sebuah node, misalnya seperti ini:
Ini adalah aplikasi sederhana yang hanya memerlukan dua perintah untuk dijalankan:
npm install
node index.js
Server akan berjalan pada port 3000 mesin Anda, jadi untuk menghubungkannya ke cloud Voximplant, kami menggunakan utilitas ngrok. Saat Anda menginstal
ngrok http 3000
Anda akan melihat nama domain yang dibuat ngrok untuk server lokal Anda - salin dan tempel ke variabel server.
Klien
Aplikasi klien terlihat seperti obrolan sederhana yang Anda bisa
Cukup salin semua file ke beberapa direktori di server web Anda dan itu akan berfungsi. Pada file script.js, ganti variabel server dengan nama domain ngrok dan variabel callee dengan nomor yang Anda beli. Simpan file dan luncurkan aplikasi di browser Anda. Jika semuanya baik-baik saja, Anda akan melihat koneksi WebSocket di panel pengembang.
Demonstrasi
Anda dapat melihat aplikasinya beraksi di video ini:
PS Jika Anda mengklik tombol Intervene, penelepon akan diarahkan ke nomor telepon saya, dan jika Anda mengklik Disconnect, itu akan...? Benar, panggilan akan terputus.
Sumber: www.habr.com