Membuat Saringan Panggilan Google anda sendiri berdasarkan Voximplant dan Dialogflow

Membuat Saringan Panggilan Google anda sendiri berdasarkan Voximplant dan Dialogflow
Anda mungkin pernah mendengar atau membaca tentang ciri Saringan Panggilan yang dilancarkan Google untuk telefon Pixelnya di AS. Ideanya bagus - apabila anda menerima panggilan masuk, pembantu maya mula berkomunikasi, semasa anda melihat perbualan ini dalam bentuk sembang dan pada bila-bila masa anda boleh mula bercakap dan bukannya pembantu. Ini sangat berguna pada hari ini apabila hampir separuh daripada panggilan adalah spam, tetapi anda tidak mahu terlepas panggilan penting daripada seseorang yang tiada dalam senarai kenalan anda. Satu-satunya tangkapan ialah fungsi ini hanya tersedia pada telefon Pixel dan hanya di AS. Nah, halangan ada untuk diatasi, bukan? Oleh itu, kami memutuskan untuk memberitahu anda cara membuat penyelesaian serupa menggunakan Voximplant dan Dialogflow. Tolong di bawah kucing.

seni bina

Saya cadangkan anda tidak membuang masa menerangkan cara Voximplant dan Dialogflow berfungsi jika anda mahu, anda boleh mencari maklumat dengan mudah di Internet. Jadi mari kita berkenalan dengan konsep Saringan Panggilan kami.

Katakan anda sudah mempunyai nombor telefon tertentu yang anda gunakan setiap hari dan yang mana anda menerima panggilan penting. Dalam kes ini, kami memerlukan nombor kedua, yang akan ditunjukkan di mana-mana - dalam mel, pada kad perniagaan, apabila anda mengisi borang dalam talian, dsb. Nombor ini akan disambungkan kepada sistem pemprosesan bahasa semula jadi (dalam kes kami, Dialogflow) dan akan memajukan panggilan ke nombor utama anda hanya jika anda mahu. Dalam bentuk rajah ia kelihatan seperti ini (gambar boleh diklik):
Membuat Saringan Panggilan Google anda sendiri berdasarkan Voximplant dan Dialogflow
Memahami seni bina, kita boleh mengambil pelaksanaannya, tetapi dengan satu kaveat: kita tidak akan melakukannya mudah alih aplikasi untuk menunjukkan dialog antara Dialogflow dan pemanggil masuk, kami akan mencipta yang mudah web-aplikasi dengan pemapar dialog untuk menunjukkan dengan jelas cara Saringan Panggilan berfungsi. Aplikasi ini akan mempunyai butang Intervene, dengan menekan Voximplant yang akan menyambungkan pelanggan masuk dengan pelanggan yang didail, jika yang terakhir memutuskan untuk bercakap sendiri.

РСализация

Log masuk akaun Voximplant anda dan buat aplikasi baharu, contohnya saringan:

Membuat Saringan Panggilan Google anda sendiri berdasarkan Voximplant dan Dialogflow
Buka bahagian "Bilik" dan beli nombor yang akan berfungsi sebagai perantara:

Membuat Saringan Panggilan Google anda sendiri berdasarkan Voximplant dan Dialogflow
Seterusnya, pergi ke aplikasi saringan, dalam bahagian "Nombor", tab "Tersedia". Di sini anda akan melihat nombor yang baru anda beli. Pautkannya ke aplikasi menggunakan butang "Lampirkan" - dalam tetingkap yang muncul, biarkan semua nilai lalai dan klik "Lampirkan".

Sebaik sahaja di dalam aplikasi, pergi ke tab "Skrip" dan buat skrip myscreening - di dalamnya kami menggunakan kod dari artikel Cara menggunakan Penyambung Dialogflow. Dalam kes ini, kod akan diubah suai sedikit, kerana kita perlu "melihat" dialog antara pemanggil dan pembantu; semua kod boleh ambil di sini.

PERHATIAN: anda perlu menukar nilai pembolehubah pelayan kepada nama pelayan ngrok anda (perincian tentang ngrok akan dipaparkan di bawah). Gantikan juga nilai anda pada baris 31, di mana nombor telefon anda ialah nombor utama anda (contohnya, telefon bimbit peribadi anda), dan nombor voximplant ialah nombor yang anda beli baru-baru ini.

outbound_call = VoxEngine.callPSTN(β€œYOUR PHONE NUMBER”, β€œVOXIMPLANT NUMBER”)

Panggilan callPSTN akan berlaku pada masa anda memutuskan untuk menceroboh perbualan dan bercakap secara peribadi dengan pelanggan yang masuk.

Selepas anda menyimpan skrip, anda perlu memautkannya ke nombor yang dibeli. Untuk melakukan ini, semasa masih dalam aplikasi anda, pergi ke tab "Penghalaan" untuk membuat peraturan baharu - butang "Peraturan Baharu" di penjuru kanan sebelah atas. Berikan nama (contohnya, semua panggilan), biarkan topeng lalai (.* - yang bermaksud bahawa semua panggilan masuk akan diproses oleh skrip yang dipilih untuk peraturan ini) dan nyatakan skrip saringan saya.

Membuat Saringan Panggilan Google anda sendiri berdasarkan Voximplant dan Dialogflow
Simpan peraturan.

Mulai sekarang, nombor telefon dipautkan kepada skrip. Perkara terakhir yang perlu anda lakukan ialah memautkan bot ke aplikasi. Untuk melakukan ini, pergi ke tab "Penyambung Dialogflow", klik butang "Tambah Ejen Dialogflow" di penjuru kanan sebelah atas dan muat naik fail JSON ejen Dialogflow anda.

Membuat Saringan Panggilan Google anda sendiri berdasarkan Voximplant dan Dialogflow
Sekiranya anda memerlukan ejen sebagai contoh/ujian, anda boleh mengambil agen kami di pautan ini: github.com/aylarov/callscreening/tree/master/dialogflow. Hanya jangan menuntut banyak daripadanya, ini hanyalah contoh yang anda bebas buat semula sesuka hati dan berasa bebas untuk berkongsi hasilnya :)

Bahagian belakang ringkas pada NodeJS

Mari kita gunakan bahagian belakang mudah pada nod, contohnya, seperti ini:
github.com/aylarov/callscreening/tree/master/nodejs

Ini adalah aplikasi mudah yang memerlukan hanya dua arahan untuk dijalankan:

npm install
node index.js

Pelayan akan berjalan pada port 3000 mesin anda, jadi untuk menyambungkannya ke awan Voximplant, kami menggunakan utiliti ngrok. Apabila anda memasang ngrok, jalankannya dengan arahan:

ngrok http 3000

Anda akan melihat nama domain yang dijana ngrok untuk pelayan tempatan anda - salin dan tampalkannya ke dalam pembolehubah pelayan.

Pelanggan

Aplikasi pelanggan kelihatan seperti sembang mudah yang anda boleh ambil dari sini.

Hanya salin semua fail ke beberapa direktori pada pelayan web anda dan ia akan berfungsi. Dalam fail script.js, gantikan pembolehubah pelayan dengan nama domain ngrok dan pembolehubah yang dipanggil dengan nombor yang anda beli. Simpan fail dan lancarkan aplikasi dalam penyemak imbas anda. Jika semuanya ok, anda akan melihat sambungan WebSocket dalam panel pembangun.

Demo

Anda boleh melihat aplikasi dalam tindakan dalam video ini:


PS Jika anda klik pada butang Intervene, pemanggil akan diarahkan ke nombor telefon saya, dan jika anda klik pada Putuskan sambungan, ia akan menjadi...? Betul, panggilan akan diputuskan.

Sumber: www.habr.com

Tambah komen