Ons maak ons ​​eie Google Call Screening gebaseer op Voximplant en Dialogflow

Ons maak ons ​​eie Google Call Screening gebaseer op Voximplant en Dialogflow
Jy het dalk gehoor of gelees van die oproepsifting-funksie wat Google vir sy Pixel-fone in die VSA ontplooi het. Die idee is wonderlik - wanneer jy 'n inkomende oproep ontvang, begin die virtuele assistent kommunikeer, terwyl jy hierdie gesprek in die vorm van 'n klets sien en te eniger tyd kan jy begin praat in plaas van die assistent. Dit is baie nuttig deesdae wanneer amper die helfte van die oproepe is strooipos, maar jy wil nie belangrike oproepe mis van iemand wat nie op jou kontaklys is nie. Die enigste vangplek is dat hierdie funksionaliteit slegs op die Pixel-foon beskikbaar is en slegs in die VSA. Wel, struikelblokke is daar om te oorkom, reg? Daarom het ons besluit om jou te vertel hoe om 'n soortgelyke oplossing te maak met behulp van Voximplant en Dialogflow. Asseblief onder kat.

Argitektuur

Ek stel voor dat jy nie tyd mors om te verduidelik hoe Voximplant en Dialogflow werk as jy wil nie, jy kan maklik inligting op die internet vind. Kom ons maak dus kennis met die konsep van ons oproepsifting.

Kom ons neem aan dat jy reeds 'n sekere telefoonnommer het wat jy elke dag gebruik en waarop jy belangrike oproepe ontvang. In hierdie geval sal ons 'n tweede nommer nodig hê, wat oral aangedui sal word - in pos, op 'n besigheidskaartjie, wanneer jy aanlynvorms invul, ens. Hierdie nommer sal gekoppel word aan 'n natuurlike taalverwerkingstelsel (in ons geval, Dialogflow) en sal oproepe na jou hoofnommer aanstuur net as jy dit wil hê. In diagramvorm lyk dit so (prent is klikbaar):
Ons maak ons ​​eie Google Call Screening gebaseer op Voximplant en Dialogflow
As ons die argitektuur verstaan, kan ons die implementering aanpak, maar met een voorbehoud: ons sal nie doen nie selfoon toepassing om 'n dialoog tussen Dialogflow en 'n inkomende oproeper te wys, sal ons 'n eenvoudige skep die web-'n toepassing met 'n dialoogweergawe om duidelik te wys hoe oproepsifting werk. Hierdie toepassing sal 'n Ingryp-knoppie hê, deur te druk watter Voximplant die inkomende intekenaar met die geskakelde intekenaar sal verbind, indien laasgenoemde besluit om self te praat.

Implementering

Meld aan jou Voximplant-rekening en skep 'n nuwe toepassing, byvoorbeeld sifting:

Ons maak ons ​​eie Google Call Screening gebaseer op Voximplant en Dialogflow
Maak oop afdeling "Kamers" en koop 'n nommer wat as 'n tussenganger sal werk:

Ons maak ons ​​eie Google Call Screening gebaseer op Voximplant en Dialogflow
Gaan dan na die keuringstoepassing, in die "Nommers"-afdeling, "Beskikbaar"-oortjie. Hier sal jy die nommer sien wat jy pas gekoop het. Koppel dit aan die toepassing deur die "heg" -knoppie te gebruik - in die venster wat verskyn, laat al die verstekwaardes en klik "heg aan".

Sodra jy binne die toepassing is, gaan na die "Scripts"-oortjie en skep 'n script myscreening - daarin gebruik ons ​​die kode van die artikel Hoe om Dialogflow Connector te gebruik. In hierdie geval sal die kode effens gewysig word, want ons moet die dialoog tussen die oproeper en die assistent "sien"; alle kode is moontlik neem hier.

AANDAG: jy sal die waarde van die bedienerveranderlike moet verander na die naam van jou ngrok-bediener (besonderhede oor ngrok sal hieronder wees). Vervang ook jou waardes op reël 31, waar jou foonnommer jou hoofnommer is (byvoorbeeld jou persoonlike selfoon), en voksimplantnommer is die nommer wat jy onlangs gekoop het.

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

Die oproepPSTN-oproep sal plaasvind op die oomblik wanneer jy besluit om by die gesprek in te breek en persoonlik met die inkomende intekenaar te praat.

Nadat jy die skrif gestoor het, moet jy dit aan die gekoopte nommer koppel. Om dit te doen, terwyl jy nog in jou toepassing is, gaan na die "Roeting"-oortjie om 'n nuwe reël te skep - die "Nuwe reël"-knoppie in die regter boonste hoek. Verskaf 'n naam (byvoorbeeld alle oproepe), laat die verstekmasker (.* - wat beteken dat alle inkomende oproepe verwerk sal word deur die skrifte wat vir hierdie reël gekies is) en spesifiseer die myscreening-skrif.

Ons maak ons ​​eie Google Call Screening gebaseer op Voximplant en Dialogflow
Stoor die reël.

Van nou af is die telefoonnommer aan die skrif gekoppel. Die laaste ding wat jy moet doen is om die bot aan die toepassing te koppel. Om dit te doen, gaan na die “Dialogflow Connector”-oortjie, klik op die “Add Dialogflow Agent”-knoppie in die regter boonste hoek en laai die JSON-lêer van jou Dialogflow-agent op.

Ons maak ons ​​eie Google Call Screening gebaseer op Voximplant en Dialogflow
As jy byvoorbeeld 'n agent benodig/toets, kan jy ons s'n by hierdie skakel neem: github.com/aylarov/callscreening/tree/master/dialogflow. Moet net nie veel daarvan eis nie, hierdie is net 'n voorbeeld wat jy vry is om oor te doen soos jy wil en voel vry om die resultate te deel :)

Eenvoudige backend op NodeJS

Kom ons ontplooi 'n eenvoudige backend op 'n nodus, byvoorbeeld, soos volg:
github.com/aylarov/callscreening/tree/master/nodejs

Dit is 'n eenvoudige toepassing wat slegs twee opdragte benodig om uit te voer:

npm install
node index.js

Die bediener sal op poort 3000 van jou masjien loop, so om dit aan die Voximplant-wolk te koppel, gebruik ons ​​die ngrok-nutsding. Wanneer jy installeer ngrok, voer dit uit met die opdrag:

ngrok http 3000

U sal die domeinnaam sien wat ngrok vir u plaaslike bediener gegenereer het - kopieer dit en plak dit in die bedienerveranderlike.

kliënt

Die kliënttoepassing lyk soos 'n eenvoudige klets wat jy kan haal dit van hier af.

Kopieer net al die lêers na een of ander gids op jou webbediener en dit sal werk. In die script.js lêer, vervang die bediener veranderlike met die ngrok domein naam en die oproep veranderlike met die nommer wat jy gekoop het. Stoor die lêer en begin die toepassing in jou blaaier. As alles in orde is, sal jy die WebSocket-verbinding in die ontwikkelaarpaneel sien.

Демо

Jy kan die toepassing in aksie sien in hierdie video:


NS As jy op die Intervene-knoppie klik, sal die beller na my foonnommer herlei word, en as jy op Disconnect klik, sal dit wees...? Dit is reg, die oproep sal ontkoppel word.

Bron: will.com

Voeg 'n opmerking