Jo hawwe miskien heard of lêzen oer de Call Screening-funksje dy't Google útrôle foar har Pixel-tillefoans yn 'e FS. It idee is geweldich - as jo in ynkommende oprop ûntfange, begjint de firtuele assistint te kommunisearjen, wylst jo dit petear sjogge yn 'e foarm fan in petear en op elk momint kinne jo begjinne te praten ynstee fan de assistint. Dit is heul nuttich dizze dagen doe't hast
arsjitektuer
Ik stel foar dat jo gjin tiid fergrieme om te ferklearjen hoe't Voximplant en Dialogflow wurkje as jo wolle, kinne jo maklik ynformaasje fine op it ynternet. Dat litte wy yn 'e kunde komme mei it heule konsept fan ús Call Screening.
Lit ús oannimme dat jo al in bepaald telefoannûmer hawwe dat jo alle dagen brûke en wêrop jo wichtige petearen ûntfange. Yn dit gefal sille wy in twadde nûmer nedich wêze, dat oeral sil wurde oanjûn - yn 'e post, op in visitekaartsje, as jo online formulieren ynfolje, ensfh. Dit nûmer sil ferbûn wêze mei in natuerlik taalferwurkingssysteem (yn ús gefal, Dialogflow) en sil oproppen allinich trochstjoere nei jo haadnûmer as jo dat wolle. Yn diagramfoarm sjocht it der sa út (ôfbylding is te klikken):
De arsjitektuer ferstean kinne wy de útfiering oannimme, mar mei ien caveat: wy sille net dwaan mobyl applikaasje om in dialooch te sjen tusken Dialogflow en in ynkommende beller, sille wy in ienfâldige oanmeitsje it web-in applikaasje mei in dialooch renderer om dúdlik sjen te litten hoe't Call Screening wurket. Dizze applikaasje sil in knop Yngripe hawwe, troch te drukken op hokker Voximplant de ynkommende abonnee sil ferbine mei de ynstelde abonnee, as de lêste besleat om sels te praten.
Ymplemintaasje
Ynlogge
Iepenje op
Gean dan nei de screeningapplikaasje, yn 'e seksje "Nûmers", ljepper "Beskikber". Hjir sille jo it nûmer sjen dat jo krekt kocht hawwe. Keppelje it oan 'e applikaasje mei de knop "Taheakje" - yn it finster dat ferskynt, lit alle standertwearden en klikje op "Taheakje".
Gean ienris yn 'e applikaasje nei it ljepblêd "Skripten" en meitsje in skript myscreening - dêryn brûke wy de koade fan it artikel
ATTENTION: jo moatte de wearde fan 'e serverfariabele feroarje nei de namme fan jo ngrok-tsjinner (details oer ngrok sille hjirûnder wêze). Ferfang jo wearden ek op rigel 31, wêr't jo tillefoannûmer jo haadnûmer is (bygelyks jo persoanlike mobile tillefoan), en it voximplantnûmer is it nûmer dat jo koartlyn kocht hawwe.
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)
De callPSTN-oprop sil plakfine op it momint dat jo beslute om yn it petear te brekken en persoanlik te praten mei de ynkommende abonnee.
Nei't jo it skript opslein hawwe, moatte jo it keppelje oan it kocht nûmer. Om dit te dwaan, wylst jo noch yn jo applikaasje binne, gean nei de ljepper "Routing" om in nije regel te meitsjen - de knop "Nije regel" yn 'e hoek rjochts boppe. Jou in namme (bygelyks alle oproppen), lit it standertmasker (.* - wat betsjut dat alle ynkommende oproppen wurde ferwurke troch de skripts dy't selekteare binne foar dizze regel) en spesifisearje it myscreening-skript.
Bewarje de regel.
Fan no ôf is it telefoannûmer keppele oan it skript. It lêste wat jo hoege te dwaan is de bot te keppeljen oan 'e applikaasje. Om dit te dwaan, gean nei it ljepblêd "Dialogflow Connector", klikje op de knop "Dialogflow Agent tafoegje" yn 'e rjochter boppeste hoeke en upload it JSON-bestân fan jo Dialogflow-agent.
As jo in agint nedich binne foar bygelyks / testen, kinne jo ús nimme op dizze keppeling:
Ienfâldige backend op NodeJS
Litte wy bygelyks in ienfâldige backend op in knooppunt ynsette, sa:
Dit is in ienfâldige applikaasje dy't mar twa kommando's fereasket om út te fieren:
npm install
node index.js
De tsjinner sil rinne op poarte 3000 fan jo masine, dus om it te ferbinen mei de Voximplant-wolk, brûke wy it ngrok-hulpprogramma. As jo ynstallearje
ngrok http 3000
Jo sille de domeinnamme sjen dy't ngrok generearre foar jo lokale server - kopiearje it en plak it yn 'e serverfariabele.
Klant
De kliïntapplikaasje liket in ienfâldich petear dat jo kinne
Kopiearje gewoan alle bestannen nei in map op jo webserver en it sil wurkje. Yn it script.js-bestân ferfange de tsjinnerfariabele mei de ngrok-domeinnamme en de callee-fariabele mei it nûmer dat jo kocht hawwe. Bewarje it bestân en start de applikaasje yn jo browser. As alles goed is, sille jo de WebSocket-ferbining sjen yn it ûntwikkelderspaniel.
Demo
Jo kinne de applikaasje yn aksje sjen yn dizze fideo:
PS As jo klikke op de Yngripe knop, de beller wurdt rjochte op myn telefoannûmer, en as jo klikke op Disconnect, it sil wêze ...? Dat kloppet, de oprop wurdt loskeppele.
Boarne: www.habr.com