Lav din egen Google Call Screening baseret på Voximplant og Dialogflow

Lav din egen Google Call Screening baseret på Voximplant og Dialogflow
Du har måske hørt eller læst om opkaldsscreeningsfunktionen, som Google lancerede til sine Pixel-telefoner i USA. Ideen er fantastisk - når du modtager et indgående opkald, begynder den virtuelle assistent at kommunikere, mens du ser denne samtale i form af en chat, og du kan til enhver tid begynde at tale i stedet for assistenten. Dette er meget nyttigt i disse dage, hvor næsten halvdelen af ​​opkaldene er spam, men du vil ikke gå glip af vigtige opkald fra nogen, der ikke er på din kontaktliste. Den eneste fangst er, at denne funktionalitet kun er tilgængelig på Pixel-telefonen og kun i USA. Nå, der er forhindringer der skal overvindes, ikke? Derfor besluttede vi at fortælle dig, hvordan du laver en lignende løsning ved hjælp af Voximplant og Dialogflow. Venligst under kat.

arkitektur

Jeg foreslår, at du ikke spilder tid på at forklare, hvordan Voximplant og Dialogflow fungerer; hvis du ønsker det, kan du nemt finde information på internettet. Så lad os stifte bekendtskab med selve konceptet med vores opkaldsscreening.

Lad os antage, at du allerede har et bestemt telefonnummer, som du bruger hver dag, og som du modtager vigtige opkald på. I dette tilfælde har vi brug for et andet nummer, som vil blive angivet overalt - i posten, på et visitkort, når du udfylder onlineformularer osv. Dette nummer vil blive forbundet til et naturligt sprogbehandlingssystem (i vores tilfælde Dialogflow) og viderestiller kun opkald til dit hovednummer, hvis du ønsker det. I diagramform ser det sådan ud (billedet kan klikkes):
Lav din egen Google Call Screening baseret på Voximplant og Dialogflow
Når vi forstår arkitekturen, kan vi påtage os implementeringen, men med en advarsel: det gør vi ikke mobil applikation til at vise en dialog mellem Dialogflow og en indgående opkalder, vil vi oprette en enkel nettet-en applikation med en dialoggengiver til tydeligt at vise, hvordan opkaldsscreening fungerer. Denne applikation vil have en Intervener-knap, ved at trykke på hvilket Voximplant, der forbinder den indkommende abonnent med den kaldte abonnent, hvis sidstnævnte besluttede at tale selv.

implementering

Log ind din Voximplant-konto og opret en ny applikation, for eksempel screening:

Lav din egen Google Call Screening baseret på Voximplant og Dialogflow
Åbent afsnittet "Værelser" og køb et nummer, der fungerer som mellemmand:

Lav din egen Google Call Screening baseret på Voximplant og Dialogflow
Gå derefter til screeningsapplikationen i afsnittet "Numre", fanen "Tilgængelig". Her vil du se det nummer, du lige har købt. Knyt det til applikationen ved hjælp af knappen "Vedhæft" - i vinduet, der vises, skal du lade alle standardværdier og klikke på "Vedhæft".

Når du er inde i applikationen, skal du gå til fanen "Scripts" og oprette et script myscreening - i det bruger vi koden fra artiklen Sådan bruger du Dialogflow Connector. I dette tilfælde vil koden blive ændret lidt, fordi vi skal "se" dialogen mellem den, der ringer og assistenten; al kode er mulig tage her.

BEMÆRK: du bliver nødt til at ændre værdien af ​​servervariablen til navnet på din ngrok-server (detaljer om ngrok vil være nedenfor). Erstat også dine værdier på linje 31, hvor dit telefonnummer er dit hovednummer (for eksempel din personlige mobiltelefon), og voximplantnummer er det nummer, du for nylig har købt.

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

CallPSTN-opkaldet finder sted i det øjeblik, du beslutter dig for at bryde ind i samtalen og personligt tale med den indkommende abonnent.

Når du har gemt scriptet, skal du knytte det til det købte nummer. For at gøre dette, mens du stadig er inde i din applikation, skal du gå til fanen "Routing" for at oprette en ny regel - knappen "Ny regel" i øverste højre hjørne. Angiv et navn (f.eks. alle opkald), forlad standardmasken (.* - hvilket betyder, at alle indgående opkald vil blive behandlet af de scripts, der er valgt til denne regel), og angiv myscreening-scriptet.

Lav din egen Google Call Screening baseret på Voximplant og Dialogflow
Gem reglen.

Fra nu af er telefonnummeret knyttet til scriptet. Den sidste ting du skal gøre er at linke botten til applikationen. For at gøre dette skal du gå til fanen "Dialogflow Connector", klikke på knappen "Tilføj Dialogflow Agent" i øverste højre hjørne og uploade JSON-filen til din Dialogflow-agent.

Lav din egen Google Call Screening baseret på Voximplant og Dialogflow
Hvis du har brug for en agent for eksempel/test, kan du tage vores på dette link: github.com/aylarov/callscreening/tree/master/dialogflow. Bare kræve ikke meget af det, dette er blot et eksempel på, at du er fri til at lave om, som du vil, og du er velkommen til at dele resultaterne :)

Simpel backend på NodeJS

Lad os implementere en simpel backend på en node, for eksempel som dette:
github.com/aylarov/callscreening/tree/master/nodejs

Dette er et simpelt program, der kun kræver to kommandoer for at køre:

npm install
node index.js

Serveren kører på port 3000 på din maskine, så for at forbinde den til Voximplant-skyen bruger vi ngrok-værktøjet. Når du installerer ngrok, kør det med kommandoen:

ngrok http 3000

Du vil se domænenavnet, som ngrok genererede til din lokale server - kopier det og indsæt det i servervariablen.

Kunde

Klientapplikationen ligner en simpel chat, som du kan hente det herfra.

Bare kopier alle filerne til en mappe på din webserver, og det vil virke. I filen script.js skal du erstatte servervariablen med ngrok-domænenavnet og callee-variablen med det nummer, du har købt. Gem filen og start programmet i din browser. Hvis alt er ok, vil du se WebSocket-forbindelsen i udviklerpanelet.

Демо

Du kan se applikationen i aktion i denne video:


PS Hvis du klikker på knappen Intervene, vil den, der ringer, blive dirigeret til mit telefonnummer, og hvis du klikker på Afbryd, bliver det...? Det er rigtigt, opkaldet bliver afbrudt.

Kilde: www.habr.com

Tilføj en kommentar