Membuat Penyaringan Panggilan Google Anda sendiri berdasarkan Voximplant dan Dialogflow

Membuat Penyaringan Panggilan Google Anda sendiri berdasarkan Voximplant dan Dialogflow
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 setengah dari panggilan tersebut adalah spam, namun Anda tidak ingin melewatkan panggilan penting dari seseorang yang tidak ada dalam daftar kontak Anda. Satu-satunya kekurangannya adalah fungsi ini hanya tersedia di ponsel Pixel dan hanya di AS. Nah, rintangan-rintangan itu ada yang harus diatasi, bukan? Oleh karena itu, kami memutuskan untuk memberi tahu Anda cara membuat solusi serupa menggunakan Voximplant dan Dialogflow. Tolong di bawah kucing.

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):
Membuat Penyaringan Panggilan Google Anda sendiri berdasarkan Voximplant dan Dialogflow
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 akun Voximplant Anda dan membuat aplikasi baru, misalnya screening:

Membuat Penyaringan Panggilan Google Anda sendiri berdasarkan Voximplant dan Dialogflow
Buka bagian "Kamar" dan beli nomor yang akan berfungsi sebagai perantara:

Membuat Penyaringan Panggilan Google Anda sendiri berdasarkan Voximplant dan Dialogflow
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 Cara menggunakan Konektor Dialogflow. Dalam hal ini, kodenya akan sedikit dimodifikasi, karena kita perlu “melihat” dialog antara penelepon dan asisten; semua kode dimungkinkan ambil disini.

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.

Membuat Penyaringan Panggilan Google Anda sendiri berdasarkan Voximplant dan Dialogflow
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.

Membuat Penyaringan Panggilan Google Anda sendiri berdasarkan Voximplant dan Dialogflow
Jika Anda membutuhkan agen untuk contoh/pengujian, Anda dapat mengambil agen kami di tautan ini: github.com/aylarov/callscreening/tree/master/dialogflow. Asal jangan menuntut banyak, ini hanya contoh saja, Anda bebas mengulanginya sesuka Anda dan bebas membagikan hasilnya :)

Backend sederhana di NodeJS

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

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, jalankan dengan perintah:

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 mengambilnya dari sini.

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

Tambah komentar