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
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):
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
Öppna upp
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
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.
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.
Om du behöver en agent till exempel/testning kan du få vår från denna länk:
Enkel NodeJS-backend
Låt oss distribuera en enkel backend på en nod, så här:
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 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
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