Skapa din egen Google Call Screening baserad pÄ Voximplant och Dialogflow

Skapa din egen Google Call Screening baserad pÄ Voximplant och Dialogflow
Du kanske har hört eller lĂ€st om funktionen Call Screening som Google lanserade för sina Pixel-telefoner i USA. IdĂ©n Ă€r fantastisk – nĂ€r du fĂ„r ett inkommande samtal, börjar den virtuella assistenten att kommunicera, medan du ser denna konversation i form av en chatt och kan nĂ€r som helst börja prata istĂ€llet för assistenten. Detta Ă€r mycket anvĂ€ndbart idag, nĂ€r nĂ€stan hĂ€lften av samtalen Ă€r skrĂ€ppost, men du vill samtidigt inte missa viktiga samtal frĂ„n nĂ„gon som inte finns i din kontaktlista. Den enda nackdelen Ă€r att denna funktionalitet endast Ă€r tillgĂ€nglig pĂ„ Pixel-telefonen och endast i USA. NĂ„vĂ€l, hinder finns för att övervinnas, eller hur? DĂ€rför har vi beslutat att berĂ€tta hur man kan uppnĂ„ nĂ„got liknande med hjĂ€lp av Voximplant och Dialogflow. VĂ€nligen fortsĂ€tt lĂ€sa.

Arkitektur

Jag föreslÄr att vi inte slösar tid pÄ att förklara hur Voximplant och Dialogflow fungerar, om du vill kan du lÀtt hitta information pÄ internet. SÄ lÄt oss bekanta oss med sjÀlva konceptet av vÄr Call Screening.

Anta att du redan har ett telefonnummer som du anvĂ€nder dagligen och till vilket du fĂ„r viktiga samtal. I sĂ„ fall kommer vi att behöva ett andra nummer, som kommer att anges överallt – i e-posten, pĂ„ visitkortet, nĂ€r du fyller i onlineformulĂ€r etc. Detta nummer kommer att anslutas till ett system för naturlig sprĂ„kbehandling (i vĂ„rt fall Ă€r det Dialogflow) och vidarebefordra samtal till ditt huvudnummer, men bara om du vill. I diagramform ser detta ut sĂ„ hĂ€r (bilder Ă€r klickbara):
Skapa din egen Google Call Screening baserad pÄ Voximplant och Dialogflow
NÀr vi förstÄr arkitekturen kan vi ta oss an implementeringen, men med en förutsÀttning: vi kommer inte att skapa en mobil app för att visa dialog mellan Dialogflow och den inkommande abonnenten, vi kommer att skapa en enkel webb-applikation med dialogrendering för att tydligt visa principen för Call Screening. I denna applikation kommer det finnas en knapp för Intervene, som nÀr den trycks pÄ kopplar Voximplant den inkommande abonnenten med den uppringda abonnenten, om den senare vill prata sjÀlv.

Implementering

Logga in pÄ ditt Voximplant-konto och skapa en ny applikation, till exempel screening:

Skapa din egen Google Call Screening baserad pÄ Voximplant och Dialogflow
Öppna sektionen "Nummer" och köp ett nummer som kommer att fungera som en mellanhand:

Skapa din egen Google Call Screening baserad pÄ Voximplant och Dialogflow
GĂ„ sedan in i screening-applikationen, i avsnittet "Nummer", fliken "TillgĂ€ngliga". HĂ€r ser du det nyligen köpta numret. Koppla det till applikationen med hjĂ€lp av knappen "Koppla" – i det som dyker upp, lĂ€mna alla standardvĂ€rden och klicka pĂ„ "Koppla".

NĂ€r du Ă€r inne i applikationen, gĂ„ till fliken "Scenarier" och skapa scenariot myscreening – hĂ€r anvĂ€nder vi koden frĂ„n artikeln How to use Dialogflow Connector. Koden kommer att Ă€ndras nĂ„got eftersom vi behöver "se" dialogen mellan den som ringer och assistenten; hela koden kan tas hĂ€r.

VÄNLIGEN NOTERA: du behöver Ă€ndra vĂ€rdet av variabeln server till namnet pĂ„ din ngrok-server (mer information om ngrok kommer lĂ€ngre ner). SĂ€tt ocksĂ„ in dina vĂ€rden pĂ„ rad 31, dĂ€r your phone number Ă€r ditt huvudsakliga nummer (exempelvis ett personligt mobilnummer), medan voximplant number Ă€r numret som du nyligen köpte.

outbound_call = VoxEngine.callPSTN(“DITT TELEFONNUMMER”, “VOXIMPLANT NUMMER”)

Anropet callPSTN kommer att ske nÀr du bestÀmmer dig för att hoppa in i samtalet och prata direkt med den inkommande abonnenten.

Efter att du har sparat scenariot behöver du koppla det till det köpta numret. För att göra detta, medan du fortfarande Ă€r inne i din applikation, gĂ„ till fliken "Routing" för att skapa en ny regel – knappen "Ny regel" i det övre högra hörnet. Ange ett namn (till exempel, allcalls), lĂ€mna mönstret som standard (.* – vilket betyder att alla inkommande samtal kommer att hanteras av de scenarier som valts för denna regel) och ange scenariot myscreening.

Skapa din egen Google Call Screening baserad pÄ Voximplant och Dialogflow
Spara regeln.

Numret Àr nu kopplat till scenariot. Det sista som behövs Àr att koppla boten till applikationen. För detta, gÄ till fliken "Dialogflow-koppling", klicka pÄ knappen "LÀgg till Dialogflow-agent" i det övre högra hörnet och ladda upp JSON-filen för din Dialogflow-agent.

Skapa din egen Google Call Screening baserad pÄ Voximplant och Dialogflow
Om du behöver en agent för exempel/testning kan du ta vĂ„r frĂ„n denna lĂ€nk: github.com/aylarov/callscreening/tree/master/dialogflow. Men förvĂ€nta dig inte för mycket av den, det Ă€r bara ett exempel som du fritt kan omarbeta hur du vill och gĂ€rna dela resultaten 🙂

En enkel backend pÄ NodeJS

LÄt oss sÀtta upp en enkel backend pÄ Node, till exempel sÄ hÀr:
github.com/aylarov/callscreening/tree/master/nodejs

Det hÀr Àr en vanlig applikation som krÀver bara tvÄ kommandon för att starta:

npm install
node index.js

Servern startar pÄ port 3000 pÄ din maskin, sÄ för att koppla den till Voximplant-molnet anvÀnder vi verktyget ngrok. NÀr du har installerat ngrok, kör det med kommandot:

ngrok http 3000

Du kommer att se det domĂ€nnamn som ngrok genererade för din lokala server – kopiera det och sĂ€tt in det i variabeln server.

Klient

Klientapplikationen ser ut som en enkel chatt som du kan hÀmta hÀrifrÄn.

Kopiera helt enkelt alla filer till en valfri katalog pÄ din webbserver sÄ kommer det att fungera. I filen script.js, Àndra vÀrdet pÄ variabeln server till ngroks domÀnnamn, och vÀrdet pÄ variabeln callee till numret du köpte. Spara filen och starta applikationen i webblÀsaren. Om allt Àr i ordning, kommer du att se WebSocket-anslutningen i utvecklarkonsolen.

Demo

Du kan se applikationen i aktion i den hÀr videon:

Spela video

P. S. Om du trycker pĂ„ knappen Intervene, kommer den som ringer att dirigeras till mitt telefonnummer, och om du trycker pĂ„ Disconnect – ja, samtalet kommer att... ? RĂ€tt, samtalet kommer att brytas.

KĂ€lla: habr.com
Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster