Lag din egen Google Call Screening basert på Voximplant og Dialogflow

Lag din egen Google Call Screening basert på Voximplant og Dialogflow
Du har kanskje hørt eller lest om Call Screening-funksjonen som Google lanserte for sine Pixel-telefoner i USA. Ideen er flott - når du mottar et innkommende anrop, begynner den virtuelle assistenten å kommunisere, mens du ser denne samtalen i form av en chat og når som helst kan du begynne å snakke i stedet for assistenten. Dette er veldig nyttig i disse dager når nesten halvparten av anropene er spam, men du vil ikke gå glipp av viktige anrop fra noen som ikke er på kontaktlisten din. Den eneste haken er at denne funksjonaliteten kun er tilgjengelig på Pixel-telefonen og kun i USA. Vel, hindringer er til for å overvinnes, ikke sant? Derfor bestemte vi oss for å fortelle deg hvordan du lager en lignende løsning ved å bruke Voximplant og Dialogflow. Vennligst under katt.

arkitektur

Jeg foreslår at du ikke kaster bort tid på å forklare hvordan Voximplant og Dialogflow fungerer, hvis du ønsker det, kan du enkelt finne informasjon på Internett. Så la oss bli kjent med selve konseptet med vår Call Screening.

La oss anta at du allerede har et bestemt telefonnummer som du bruker hver dag og som du mottar viktige anrop på. I dette tilfellet trenger vi et annet nummer, som vil bli angitt overalt - i posten, på et visittkort, når du fyller ut elektroniske skjemaer, etc. Dette nummeret vil være koblet til et naturlig språkbehandlingssystem (i vårt tilfelle Dialogflow) og vil viderekoble anrop til hovednummeret ditt bare hvis du ønsker det. I diagramform ser det slik ut (bildet er klikkbart):
Lag din egen Google Call Screening basert på Voximplant og Dialogflow
Når vi forstår arkitekturen, kan vi ta på oss implementeringen, men med ett forbehold: vi vil ikke gjøre det mobil applikasjon for å vise en dialog mellom Dialogflow og en innkommende oppringer, vil vi lage en enkel nettet-en applikasjon med en dialoggjengiver for å tydelig vise hvordan samtalescreening fungerer. Denne applikasjonen vil ha en Intervener-knapp ved å trykke på hvilket Voximplant som vil koble den innkommende abonnenten til den oppringte abonnenten, hvis sistnevnte bestemte seg for å snakke selv.

implementering

Logg inn din Voximplant-konto og opprette en ny applikasjon, for eksempel screening:

Lag din egen Google Call Screening basert på Voximplant og Dialogflow
Åpent delen "Rom" og kjøp et nummer som fungerer som mellomledd:

Lag din egen Google Call Screening basert på Voximplant og Dialogflow
Deretter går du til screeningsapplikasjonen, i "Tall"-delen, fanen "Tilgjengelig". Her vil du se nummeret du nettopp har kjøpt. Koble den til applikasjonen ved å bruke "Legg ved" -knappen - i vinduet som vises, la alle standardverdiene og klikk "Legg ved".

Når du er inne i applikasjonen, gå til fanen "Skript" og lag et skript myscreening - i det bruker vi koden fra artikkelen Slik bruker du Dialogflow Connector. I dette tilfellet vil koden bli litt modifisert, fordi vi trenger å "se" dialogen mellom den som ringer og assistenten; all kode er mulig ta her.

OBS: du må endre verdien av servervariabelen til navnet på ngrok-serveren din (detaljer om ngrok vil være nedenfor). Bytt også ut verdiene dine på linje 31, der telefonnummeret ditt er hovednummeret ditt (for eksempel din personlige mobiltelefon), og voximplantnummeret er nummeret du nylig kjøpte.

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

CallPSTN-anropet vil skje i det øyeblikket du bestemmer deg for å bryte inn i samtalen og personlig snakke med den innkommende abonnenten.

Etter at du har lagret skriptet, må du koble det til det kjøpte nummeret. For å gjøre dette, mens du fortsatt er inne i applikasjonen, går du til "Ruting"-fanen for å lage en ny regel - knappen "Ny regel" øverst i høyre hjørne. Oppgi et navn (for eksempel alle anrop), la standardmasken (.* - som betyr at alle innkommende anrop vil bli behandlet av skriptene som er valgt for denne regelen) og spesifiser myscreening-skriptet.

Lag din egen Google Call Screening basert på Voximplant og Dialogflow
Lagre regelen.

Fra nå av er telefonnummeret knyttet til manuset. Det siste du trenger å gjøre er å koble boten til applikasjonen. For å gjøre dette, gå til "Dialogflow Connector"-fanen, klikk på "Add Dialogflow Agent"-knappen i øvre høyre hjørne og last opp JSON-filen til Dialogflow-agenten din.

Lag din egen Google Call Screening basert på Voximplant og Dialogflow
Hvis du trenger en agent for eksempel/testing, kan du ta vår på denne linken: github.com/aylarov/callscreening/tree/master/dialogflow. Bare ikke krev mye av det, dette er bare et eksempel på at du står fritt til å gjøre om som du vil og gjerne dele resultatene :)

Enkel backend på NodeJS

La oss distribuere en enkel backend på en node, for eksempel slik:
github.com/aylarov/callscreening/tree/master/nodejs

Dette er et enkelt program som bare krever to kommandoer for å kjøre:

npm install
node index.js

Serveren vil kjøre på port 3000 på maskinen din, så for å koble den til Voximplant-skyen bruker vi ngrok-verktøyet. Når du installerer ngrok, kjør den med kommandoen:

ngrok http 3000

Du vil se domenenavnet som ngrok genererte for din lokale server - kopier det og lim det inn i servervariabelen.

kunde

Klientapplikasjonen ser ut som en enkel chat som du kan hente den herfra.

Bare kopier alle filene til en eller annen katalog på webserveren din, så vil det fungere. I script.js-filen erstatter du servervariabelen med ngrok-domenenavnet og callee-variabelen med nummeret du kjøpte. Lagre filen og start programmet i nettleseren din. Hvis alt er ok, vil du se WebSocket-tilkoblingen i utviklerpanelet.

demo

Du kan se applikasjonen i aksjon i denne videoen:


PS Hvis du klikker på Intervener-knappen, vil den som ringer bli dirigert til telefonnummeret mitt, og hvis du klikker på Koble fra blir det...? Det stemmer, samtalen vil bli avbrutt.

Kilde: www.habr.com

Legg til en kommentar