Morda ste slišali ali brali o funkciji Call Screening, ki jo je Google predstavil za svoje telefonske naprave Pixel v ZDA. Ideja je odlična – ko prejmete klic, virtualni asistent začne komunicirati, medtem ko vi vidite ta pogovor v obliki klepeta in v vsakem trenutku lahko začnete govoriti namesto asistenta. To je zelo koristno v današnjih časih, ko skoraj , vendar ne želite zamuditi pomembnih klicev nekoga, ki ni v vašem seznamu stikov. Edina težava je, da je ta funkcionalnost na voljo le na telefonu Pixel in le v ZDA. No, ovire so, da jih premagamo, prav? Zato smo se odločili, da povemo, kako narediti podobno rešitev z uporabo Voximplant in Dialogflow. Prosim, preberite naprej.
Arhitektura
Predlagam, da ne porabimo časa za razlago, kako delujeta Voximplant in Dialogflow, če želite, lahko na spletu enostavno najdete informacije. Torej, se spoznamo s samo konceptom našega Call Screening.
Predpostavimo, da imate že kakšno telefonsko številko, ki jo uporabljate vsak dan in na katero prejemate pomembne klice. V tem primeru potrebujemo drugo številko, ki bo navedena povsod – v e-pošti, na vizitki, ko izpolnjujete spletne obrazce itd. Ta številka bo povezana s sistemom obdelave naravnega jezika (v našem primeru Dialogflow) in preusmerjala klice na vašo glavno številko, le če to želite. Kot shema to izgleda takole (slika je klikabilna):
Razumevajoč arhitekturo, se lahko lotimo implementacije, vendar z eno pripombo: ne bomo izdelali mobilne aplikacije, da prikažemo dialog med Dialogflow in prihajajočim klicateljem, ustvarili bomo enostavno spletno-aplikacijo z rišem dialoga, da jasno pokažemo princip delovanja Call Screening. V tej aplikaciji bo gumb Intervene, ob katerem bo Voximplant povezal prihajajočega klicatelja s klicanim, če se ta odloči, da želi govoriti sam.
Implementacija
Prijavite se v in ustvarite novo aplikacijo, na primer screening:

Odprite in kupite številko, ki bo delovala kot posrednik:

Nato vstopite v aplikacijo screening, v razdelku 'Številke', zavihek 'Na voljo'. Tukaj boste videli pravkar kupljeno številko. Povežite jo z aplikacijo s klikom na gumb 'Poveži' – v pojavnem oknu pustite vse privzete vrednosti in pritisnite 'Poveži'.
Obstaja v aplikaciji, preidite na zavihek 'Skripti' in ustvarite skripto myscreening – v njej uporabimo kodo iz članka . Ob tem bo koda nekoliko spremenjena, ker moramo 'videti' dialog med klicateljem in asistentom; vso kodo lahko .
POZOR: spremeniti boste morali vrednost spremenljivke server na ime vašega ngrok strežnika (podrobnosti o ngrok bodo kmalu navedene). Prav tako vstavite svoje vrednosti v vrstici 31, kjer je your phone number – vaš glavni številka (npr. osebni mobilni), in voximplant number – številka, ki ste jo nedavno kupili.
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)Klic callPSTN se bo zgodil, ko se odločite, da boste vstopili v pogovor in osebno spregovorili z dohodnim klicateljem.
Ko shranite skripto, jo morate povezati s kupljeno številko. V ta namen, še vedno znotraj vaše aplikacije, preidite na zavihek 'Usmerjanje', da ustvarite novo pravilo – gumb 'Novo pravilo' v zgornjem desnem kotu. Vnesite ime (npr. allcalls), pustite masko privzeto (.* – kar pomeni, da bodo vsi dohodni klici obdelani s skripti, izbranimi za to pravilo) in navedite skripto myscreening.

Shrani pravilo.
Od zdaj naprej je telefonska številka povezana z skripto. Zadnje, kar morate storiti, je povezati bota z aplikacijo. V ta namen preidite na zavihek 'Dialogflow-konektor', kliknite gumb 'Dodaj Dialogflow agent' v zgornjem desnem kotu in naložite JSON datoteko svojega agenta Dialogflow.

Če potrebujete agenta za primerjavo/testiranje, lahko vzamete našega na tej povezavi: . Samo ne zahtevajte od njega preveč, to je le primer, ki ga lahko prosto predelate, kot želite, in brez zadržkov delite rezultate 🙂
Preprost backend na NodeJS
Postavimo preprost backend na nodu, na primer, takšen:
To je običajna aplikacija, ki zahteva le dve ukazi za zagon:
npm install
node index.js
Server bo zaganjal na 3000 vrata vaše naprave, zato za povezovanje z oblakom Voximplant uporabljamo orodje ngrok. Ko ga namestite, , ga zaženite z zaščito:
ngrok http 3000Videli boste domeno, ki jo je ngrok generiral za vaš lokalni strežnik – kopirajte jo in jo vstavite v spremenljivko server.
Korisnik
Klientska aplikacija izgleda kot preprost klepet, ki ga lahko.
Preprosto kopirajte vse datoteke v poljuben imenik na vašem spletnega strežniku in delovalo bo. V datoteki script.js spremenite vrednost spremenljivke server na domeno ngrok in vrednost spremenljivke callee na številko, ki ste jo kupili. Shrani datoteko in odprite aplikacijo v brskalniku. Če je vse v redu, boste videli povezavo WebSocket v orodni vrstici razvijalca.
Demo
Aplikacijo v akciji lahko vidite v tem videu:

P. S. Če pritisnete gumb Intervene, bo klicatelj usmerjen na mojo telefonsko številko, če pa pritisnete gumb Disconnect – potem bo…? Prav, klic bo prekinjen.
Izvor: habr.com
