Membuat Skrining Panggilan Google Anda berdasarkan Voximplant dan Dialogflow


Anda mungkin pernah mendengar atau membaca tentang fitur Penyaringan Panggilan yang diluncurkan Google untuk ponsel Pixelnya di AS. Idenya bagus - ketika 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 akhir-akhir ini, ketika hampir setengah dari panggilan adalah spam , tetapi Anda tidak ingin ketinggalan panggilan penting dari seseorang di luar daftar kontak Anda. Satu-satunya tangkapan adalah bahwa fungsi ini hanya tersedia di telepon Pixel dan hanya di Amerika Serikat. Nah, ada hambatan untuk mengatasinya, kan? Oleh karena itu, kami memutuskan untuk memberi tahu bagaimana membuat keputusan seperti itu menggunakan Voximplant dan Dialogflow. Saya minta kucing.

Arsitektur


Saya sarankan jangan buang waktu untuk menjelaskan cara kerja Voximplant dan Dialogflow, jika Anda mau, Anda dapat dengan mudah menemukan informasi di Internet. Jadi mari kita berkenalan dengan konsep Screen Calling kami.

Misalkan Anda sudah memiliki nomor telepon yang Anda gunakan setiap hari dan Anda menerima panggilan penting. Dalam hal ini, kami memerlukan nomor kedua, yang akan ditunjukkan di mana-mana - dalam surat, pada kartu nama, ketika Anda mengisi formulir online, dll. Nomor ini akan terhubung ke sistem pemrosesan bahasa alami (dalam kasus kami, Dialogflow) dan meneruskan panggilan ke nomor utama Anda hanya jika Anda mau. Dalam bentuk diagram, terlihat seperti ini (gambar dapat diklik):

Memahami arsitektur, kita bisa mengambil implementasinya, tetapi dengan satu peringatan: kita tidak akan membuat aplikasi seluler untuk menampilkan dialog antara Dialogflow dan pelanggan yang masuk, kita akan membuat aplikasi web sederhana dengan penyaji dialog untuk secara visual menunjukkan cara kerja Pemindaian Panggilan. Dalam aplikasi ini, akan ada tombol Intervene, dengan menekan Voximplant mana yang akan menghubungkan pelanggan yang masuk ke pelanggan yang dihubungi, jika yang terakhir memutuskan untuk berbicara sendiri.

Implementasi


Masuk ke akun Voximplant Anda dan buat aplikasi baru, misalnya menyaring:


Buka bagian "Angka" dan beli nomor yang akan berfungsi sebagai perantara:


Selanjutnya, buka aplikasi penyaringan, di bagian "Angka", tab "Tersedia". Di sini Anda akan melihat nomor yang baru saja Anda beli. Lampirkan ke aplikasi menggunakan tombol "Lampirkan" - di jendela yang muncul, biarkan semua nilai default dan klik "Lampirkan".

Saat berada di dalam aplikasi, buka tab Script dan buat skrip myscreening - di dalamnya kita menggunakan kode dari artikel Cara menggunakan Konektor Dialogflow . Dalam hal ini, kode akan sedikit diubah, karena kita perlu "melihat" dialog antara penelepon dan asisten; semua kode dapat diambil di sini .

PERHATIAN: Anda perlu mengubah nilai variabel server ke nama server ngrok Anda (detail tentang ngrok akan sedikit lebih rendah). Juga, gantilah nilai Anda pada saluran 31, di mana nomor telepon Anda adalah nomor utama Anda (misalnya, nomor 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 secara pribadi mengobrol dengan pelanggan yang masuk.

Setelah Anda menyimpan skrip, Anda harus mengikatnya ke nomor yang dibeli. Untuk melakukan ini, ketika masih di dalam aplikasi Anda, buka tab "Routing" untuk membuat aturan baru - tombol "Aturan Baru" di sudut kanan atas. Tentukan nama (misalnya, panggilan semua), biarkan mask default (. * - yang berarti bahwa semua panggilan masuk akan diproses oleh skrip yang dipilih untuk aturan ini) dan tentukan skrip myscreening.


Simpan aturannya.

Mulai sekarang, nomor telepon terkait dengan skrip. Hal terakhir yang harus dilakukan adalah melampirkan bot ke aplikasi. Untuk melakukan ini, buka tab "Konektor Dialogflow", klik tombol "Tambahkan Agen Dialogflow" di sudut kanan atas dan unggah file JSON dari agen Dialogflow Anda.


Jika Anda membutuhkan agen untuk contoh / pengujian, Anda dapat mengambil agen kami dari tautan ini: github.com/aylarov/callscreening/tree/master/dialogflow . Hanya saja, jangan menuntut banyak darinya, ini hanyalah contoh bahwa Anda bebas untuk mengulang yang Anda inginkan dan dengan berani membagikan hasilnya :)

Backend sederhana di NodeJS


Mari kita gunakan backend sederhana pada sebuah node, misalnya, ini:
github.com/aylarov/callscreening/tree/master/nodejs

Ini adalah aplikasi normal yang hanya membutuhkan dua perintah untuk dijalankan:

 npm install node index.js 

Server akan mulai pada port 3000 mesin Anda, jadi untuk menghubungkannya ke cloud Voximplant, kami menggunakan utilitas ngrok. Saat Anda menginstal ngrok , jalankan dengan perintah:

 ngrok http 3000 

Anda akan melihat nama domain yang dihasilkan ngrok untuk server lokal Anda - salin dan gantilah dengan variabel server.

Pelanggan


Aplikasi klien terlihat seperti obrolan sederhana yang dapat Anda ambil dari sini .

Cukup salin semua file ke direktori di server web Anda dan itu akan berfungsi. Dalam 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. Jika semuanya beres, maka Anda akan melihat koneksi WebSocket di panel pengembang.

Demo


Anda dapat melihat aplikasi beraksi di video ini:


PS Jika Anda mengklik tombol Intervene, maka pemanggil akan diarahkan ke nomor telepon saya, dan jika Anda mengklik Disconnect, itu akan menjadi ...? Benar, panggilan itu akan terputus.

Source: https://habr.com/ru/post/id468725/


All Articles