Vi gör vår egen Google Call Screening baserad på Voximplant och Dialogflow

Vi gör vår 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 jättebra – när du får ett inkommande samtal börjar den virtuella assistenten prata, medan du ser den här konversationen som en chatt och när som helst kan du börja prata istället för assistenten. Detta är mycket användbart nuförtiden, när nästan hälften av samtalen är skräppost, men du vill inte missa viktiga samtal från någon som inte finns på din kontaktlista. Den enda haken är att den här funktionen bara är tillgänglig på Pixel-telefonen och endast i USA. Nåväl, hinder finns att övervinna, eller hur? Därför bestämde vi oss för att berätta hur man gör en liknande lösning med hjälp av Voximplant och Dialogflow. Vänligen under katt.

Arkitektur

Jag föreslår att du inte slösar tid på att förklara hur Voximplant och Dialogflow fungerar, om du vill kan du enkelt hitta information på Internet. Så låt oss bekanta oss med själva konceptet med vår Call Screening.

Låt oss säga att du redan har ett telefonnummer som du använder varje dag som du får viktiga samtal på. I det här fallet kommer vi att behöva ett andra nummer, som kommer att anges överallt - i posten, på ett visitkort, när du fyller i onlineformulär, etc. Detta nummer kommer att ansluta till ett naturligt språkbehandlingssystem (dialogflöde i vårt fall) och vidarekoppla samtal till ditt huvudnummer endast om du vill det. I form av ett diagram ser det ut så här (bilden är klickbar):
Vi gör vår egen Google Call Screening baserad på Voximplant och Dialogflow
Genom att förstå arkitekturen kan vi ta oss an implementeringen, men med en varning: vi kommer inte att göra det mobil applikation för att visa en dialog mellan Dialogflow och en inkommande uppringare kommer vi att skapa en enkel bana-applikation med en dialogrenderare för att visuellt visa hur samtalsscreening fungerar. Denna applikation kommer att ha en Ingripa-knapp, genom att trycka på vilken Voximplant som kopplar den inkommande abonnenten till den uppringda abonnenten, om den senare bestämmer sig för att prata själv.

genomförande

Logga in ditt Voximplant-konto och skapa en ny applikation som screening:

Vi gör vår egen Google Call Screening baserad på Voximplant och Dialogflow
Öppna upp avsnittet "Nummer" och köp ett nummer som fungerar som mellanhand:

Vi gör vår egen Google Call Screening baserad på Voximplant och Dialogflow
Gå sedan till screeningapplikationen, i avsnittet "Number", fliken "Tillgänglig". Här ser du numret du just köpt. Länka den till applikationen med knappen "Bifoga" - i fönstret som visas, lämna alla standardvärden och klicka på "Bifoga".

Väl inne i applikationen, gå till fliken "Scripts" och skapa ett myscreening-skript - i det använder vi koden från artikeln Hur man använder Dialogflow Connector. I det här fallet kommer koden att ändras något, eftersom vi måste "se" dialogen mellan den som ringer och assistenten; all kod kan vara ta här.

VARNING: du måste ändra värdet på servervariabeln till namnet på din ngrok-server (mer om ngrok nedan). Koppla också in dina värden på rad 31, där ditt telefonnummer är ditt huvudnummer (till exempel din personliga mobil) och voximplantnummer är det nummer du nyligen köpte.

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

CallPSTN-samtalet kommer att inträffa i det ögonblick då du bestämmer dig för att bryta in i konversationen och ha en personlig konversation med den inkommande uppringaren.

När du har sparat skriptet måste du länka 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 alla samtal), lämna standardmasken (.* - vilket innebär att alla inkommande samtal kommer att behandlas av de skript som valts för denna regel), och ange myscreening-skriptet.

Vi gör vår egen Google Call Screening baserad på Voximplant och Dialogflow
Spara regeln.

Från och med nu är telefonnumret kopplat till scenariot. Det sista du ska göra är att länka boten till applikationen. För att göra detta, gå till fliken "Dialogflow-anslutare", klicka på knappen "Lägg till Dialogflow-agent" i det övre högra hörnet och ladda upp din Dialogflow-agent JSON-fil.

Vi gör vår egen Google Call Screening baserad på Voximplant och Dialogflow
Om du behöver en agent till exempel/testning kan du få vår från denna länk: github.com/aylarov/callscreening/tree/master/dialogflow. Kräv bara inte för mycket av honom, detta är bara ett exempel på att du är fri att göra om som du vill och dela gärna med dig av resultatet 🙂

Enkel NodeJS-backend

Låt oss distribuera en enkel backend på en nod, så här:
github.com/aylarov/callscreening/tree/master/nodejs

Detta är ett normalt program som bara kräver två kommandon för att köras:

npm install
node index.js

Servern kommer att starta på port 3000 på din maskin, så vi använder ngrok-verktyget för att ansluta den till Voximplant-molnet. När du installerar ngrok, kör den med kommandot:

ngrok http 3000

Du kommer att se domännamnet som ngrok genererade för din lokala server - kopiera det och ersätt det med servervariabeln.

kund

Klientapplikationen ser ut som en enkel chatt som du kan hämta härifrån.

Kopiera bara alla filer till någon katalog på din webbserver så fungerar det. I filen script.js ändrar du värdet på servervariabeln till ngrok-domännamnet och värdet på callee-variabeln till numret du köpte. Spara filen och kör programmet i en webbläsare. Om allt är i sin ordning, kommer du att se en WebSocket-anslutning i utvecklarpanelen.

Демо

Du kan se appen i funktion i den här videon:


PS Om du klickar på knappen Ingrip, så kommer den som ringer att dirigeras till mitt telefonnummer, och om du klickar på Koppla från blir det...? Det stämmer, samtalet kommer att kopplas bort.

Källa: will.com

Lägg en kommentar