Meitsje jo eigen Google Call Screening basearre op Voximplant en Dialogflow

Meitsje jo eigen Google Call Screening basearre op Voximplant en Dialogflow
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 de helte fan de oproppen binne spam, mar jo wolle gjin wichtige oproppen misse fan ien dy't net op jo kontaktlist stiet. De ienige fangen is dat dizze funksjonaliteit allinich beskikber is op 'e Pixel-tillefoan en allinich yn' e FS. No, obstakels binne der om te oerwinnen, krekt? Dêrom besleaten wy jo te fertellen hoe't jo in ferlykbere oplossing meitsje kinne mei Voximplant en Dialogflow. Graach ûnder kat.

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):
Meitsje jo eigen Google Call Screening basearre op Voximplant en Dialogflow
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 jo Voximplant-akkount en meitsje in nije applikaasje, bygelyks screening:

Meitsje jo eigen Google Call Screening basearre op Voximplant en Dialogflow
Iepenje op seksje "Keamers" en keapje in nûmer dat sil wurkje as tuskenpersoan:

Meitsje jo eigen Google Call Screening basearre op Voximplant en Dialogflow
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 Hoe kinne jo Dialogflow Connector brûke. Yn dit gefal sil de koade wat wizige wurde, om't wy de dialooch tusken de beller en de assistint "sjogge" moatte; alle koade is mooglik nim hjir.

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.

Meitsje jo eigen Google Call Screening basearre op Voximplant en Dialogflow
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.

Meitsje jo eigen Google Call Screening basearre op Voximplant en Dialogflow
As jo ​​​​in agint nedich binne foar bygelyks / testen, kinne jo ús nimme op dizze keppeling: github.com/aylarov/callscreening/tree/master/dialogflow. Freegje der gewoan net folle fan, dit is gewoan in foarbyld dat jo frij binne om opnij te meitsjen lykas jo wolle en fiel jo frij om de resultaten te dielen :)

Ienfâldige backend op NodeJS

Litte wy bygelyks in ienfâldige backend op in knooppunt ynsette, sa:
github.com/aylarov/callscreening/tree/master/nodejs

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, útfiere it mei it kommando:

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 helje it hjirwei.

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

Add a comment