Izrada vlastitog Google skrininga poziva na osnovu Voximplanta i Dialogflowa

Izrada vlastitog Google skrininga poziva na osnovu Voximplanta i Dialogflowa
Možda ste čuli ili čitali o funkciji skrininga poziva koju je Google uveo za svoje Pixel telefone u SAD-u. Ideja je odlična – kada primite dolazni poziv, virtuelni asistent počinje da komunicira, a vi ovaj razgovor vidite u obliku ćaskanja i u svakom trenutku možete da počnete da govorite umesto asistenta. Ovo je veoma korisno ovih dana kada je skoro polovina poziva je spam, ali ne želite da propustite važne pozive od nekoga ko nije na vašoj listi kontakata. Jedina kvaka je što je ova funkcija dostupna samo na Pixel telefonu i samo u SAD-u. Pa, prepreke postoje da se prevaziđu, zar ne? Stoga smo odlučili da vam kažemo kako da napravite slično rješenje koristeći Voximplant i Dialogflow. Molimo pod kat.

arhitektura

Predlažem da ne gubite vrijeme objašnjavajući kako funkcionišu Voximplant i Dialogflow; ako želite, lako možete pronaći informacije na internetu. Dakle, hajde da se upoznamo sa samim konceptom našeg skrininga poziva.

Pretpostavimo da već imate određeni broj telefona koji svakodnevno koristite i na koji primate važne pozive. U ovom slučaju trebat će nam drugi broj, koji će biti naveden svuda - u pošti, na vizit karti, kada ispunjavate online obrasce itd. Ovaj broj će biti povezan sa sistemom za obradu prirodnog jezika (u našem slučaju, Dialogflow) i prosleđivat će pozive na vaš glavni broj samo ako to želite. U obliku dijagrama to izgleda ovako (na sliku se može kliknuti):
Izrada vlastitog Google skrininga poziva na osnovu Voximplanta i Dialogflowa
Razumijevajući arhitekturu, možemo preuzeti implementaciju, ali uz jedno upozorenje: nećemo učiniti mobilni aplikaciju za prikaz dijaloga između Dialogflow-a i dolaznog pozivaoca, kreiraćemo jednostavnu web-aplikacija sa rendererom dijaloga koji jasno pokazuje kako funkcioniše skrining poziva. Ova aplikacija će imati dugme Intervene, pritiskom na koje će Voximplant povezati dolaznog pretplatnika sa pozvanim pretplatnikom, ako ovaj odluči sam da razgovara.

Реализация

Vojdite v vaš Voximplant nalog i kreirajte novu aplikaciju, na primjer screening:

Izrada vlastitog Google skrininga poziva na osnovu Voximplanta i Dialogflowa
Otvori odjeljak "Sobe" i kupite broj koji će raditi kao posrednik:

Izrada vlastitog Google skrininga poziva na osnovu Voximplanta i Dialogflowa
Zatim idite na aplikaciju za skrining, u odjeljku „Brojevi“, kartica „Dostupno“. Ovdje ćete vidjeti broj koji ste upravo kupili. Povežite ga sa aplikacijom pomoću dugmeta „Priloži“ - u prozoru koji se pojavi ostavite sve zadane vrednosti i kliknite na „Priloži“.

Kada uđete u aplikaciju, idite na karticu "Skripte" i kreirajte skriptu myscreening - u njoj koristimo kod iz članka Kako koristiti Dialogflow konektor. U ovom slučaju, kod će biti malo izmijenjen, jer moramo „vidjeti“ dijalog između pozivatelja i pomoćnika; sav kod je moguć uzmi ovde.

PAŽNJA: morat ćete promijeniti vrijednost varijable servera u ime vašeg ngrok servera (detalji o ngrok-u će biti ispod). Također zamijenite svoje vrijednosti u liniji 31, gdje je vaš broj telefona vaš glavni broj (na primjer, vaš lični mobilni telefon), a broj voximplanta je broj koji ste nedavno kupili.

outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)

Poziv PSTN poziv će se desiti u trenutku kada odlučite da uđete u razgovor i lično razgovarate sa dolaznim pretplatnikom.

Nakon što sačuvate skriptu, potrebno je da je povežete sa kupljenim brojem. Da biste to učinili, dok ste još u aplikaciji, idite na karticu "Routing" da kreirate novo pravilo - dugme "Novo pravilo" u gornjem desnom uglu. Navedite ime (na primjer, allcalls), ostavite zadanu masku (.* - što znači da će svi dolazni pozivi biti obrađeni skriptama odabranim za ovo pravilo) i navedite skriptu myscreening.

Izrada vlastitog Google skrininga poziva na osnovu Voximplanta i Dialogflowa
Sačuvajte pravilo.

Od sada, broj telefona je povezan sa skriptom. Posljednja stvar koju trebate učiniti je povezati bota sa aplikacijom. Da biste to učinili, idite na karticu “Dialogflow Connector”, kliknite na dugme “Add Dialogflow Agent” u gornjem desnom uglu i prenesite JSON datoteku vašeg Dialogflow agenta.

Izrada vlastitog Google skrininga poziva na osnovu Voximplanta i Dialogflowa
Ako vam je potreban agent na primjer/testiranje, možete uzeti našeg na ovom linku: github.com/aylarov/callscreening/tree/master/dialogflow. Samo nemojte puno tražiti od toga, ovo je samo primjer koji možete slobodno ponoviti kako želite i slobodno podijelite rezultate :)

Jednostavan backend na NodeJS-u

Hajde da implementiramo jednostavnu pozadinu na čvoru, na primjer, ovako:
github.com/aylarov/callscreening/tree/master/nodejs

Ovo je jednostavna aplikacija koja zahtijeva samo dvije naredbe za pokretanje:

npm install
node index.js

Server će raditi na portu 3000 vaše mašine, tako da da bismo ga povezali sa Voximplant oblakom, koristimo uslužni program ngrok. Kada instalirate ngrok, pokrenite ga naredbom:

ngrok http 3000

Vidjet ćete ime domene koje je ngrok generirao za vaš lokalni server - kopirajte ga i zalijepite u varijablu servera.

Kupac

Klijentska aplikacija izgleda kao jednostavan chat koji možete pokupi ga odavde.

Samo kopirajte sve datoteke u neki direktorij na vašem web serveru i radit će. U datoteci script.js zamijenite varijablu servera imenom domene ngrok i varijablu pozvanog s brojem koji ste kupili. Sačuvajte datoteku i pokrenite aplikaciju u svom pretraživaču. Ako je sve u redu, vidjet ćete WebSocket vezu na panelu za programere.

Demo

Aplikaciju u akciji možete vidjeti u ovom videu:


PS Ako kliknete na dugme Intervene, pozivalac će biti preusmjeren na moj broj telefona, a ako kliknete na Disconnect, to će biti...? Tako je, poziv će biti prekinut.

izvor: www.habr.com

Dodajte komentar