Google Call Screening készítése a Voximplant és Dialogflow alapján

Google Call Screening készítése a Voximplant és Dialogflow alapján
Lehetséges, hogy hallott vagy olvasott a Call Screening funkcióról, amelyet a Google indított el Pixel telefonjaival az Egyesült Államokban. Az ötlet nagyszerű – amikor bejövő hívást kap, a virtuális asszisztens beszélni kezd, miközben a beszélgetést csevegés formájában látja, és bármikor átveheti a szót az asszisztenstől. Ez nagyon hasznos manapság, amikor szinte a hívások fele spam, de nem szeretné, ha fontos hívások elvesznének olyanoktól, akik nem szerepelnek a névjegyzékében. Az egyetlen bökkenő, hogy ez a funkció csak Pixel telefonon érhető el és csak az Egyesült Államokban. Nos, a nehézségek azért vannak, hogy leküzdjük őket, igaz? Ezért úgy döntöttünk, hogy elmondjuk, hogyan lehet hasonló megoldást létrehozni a Voximplant és a Dialogflow segítségével. Kérem, folytassa a cikket.

Architektúra

Javaslom, hogy ne pazaroljunk időt a Voximplant és a Dialogflow működésének magyarázására, ha szeretné, könnyen talál információt az interneten. Tehát ismerkedjünk meg a Call Screening koncepciójával.

Tegyük fel, hogy már van egy telefonszáma, amelyet naponta használ, és amelyre fontos hívásokat kap. Ebben az esetben szükségünk van egy második számra, amit mindenütt megadunk – az e-mailben, a névjegykártyán, amikor online űrlapokat töltünk ki stb. Ez a szám egy természetes nyelvfeldolgozó rendszerhez lesz csatlakoztatva (jelen esetben a Dialogflow), és csak akkor irányítja át a hívásokat a fő számra, ha azt ön kívánja. A sémás megjelenítés így néz ki (a kép kattintható):
Google Call Screening készítése a Voximplant és Dialogflow alapján
A felépítés megértése után nekiláthatunk a megvalósításnak, de egy feltétellel: nem fogunk mobil alkalmazást készíteni, hogy bemutassuk a dialógust a Dialogflow és a bejövő előfizető között, hanem egy egyszerű web-alkalmazást hozunk létre, amely megjeleníti a dialógust, hogy szemléltessük a Call Screening működésének elvét. Ebben az alkalmazásban lesz egy Intervene gomb, amelynek megnyomásakor a Voximplant összeköti a bejövő előfizetőt a hívott előfizetővel, ha az utóbbi beszélni kíván.

Megvalósítás

Jelentkezzen be a Voximplant fiókjába és hozzon létre egy új alkalmazást, például screening:

Google Call Screening készítése a Voximplant és Dialogflow alapján
Nyisd meg a "Számok" szakaszban és vásároljon egy számot, amely közvetítőként fog működni:

Google Call Screening készítése a Voximplant és Dialogflow alapján
Ezután lépjen be a screening alkalmazásba, a „Számok” szakaszba, az „Elérhető” fülre. Itt látni fogja a nemrégiben megvásárolt számot. Csatolja a gomb segítségével a „Csatolás” – a megjelenő ablakban hagyjon minden értéket az alapértelmezett beállításon, majd nyomja meg a „Csatolás” gombot.

Az alkalmazásban a „Forgatókönyvek” fülre lépve hozzon létre egy myscreening elnevezésű forgatókönyvet – ebben fogjuk használni a cikkben található kódot. Hogyan használjuk a Dialogflow Connector-t. A kód azonban kissé módosulni fog, mivel látnunk kell a hívó és a segítő közötti párbeszédet; a teljes kódot innen vehetjük.

FIGYELEM: módosítania kell a server változó értékét az Ön ngrok szerverének nevére (az ngrok részletei lentebb találhatók). Ezenkívül az értékeket is cserélje ki a 31. sorban, ahol a your phone number az Ön fő száma (például személyes mobil), míg a voximplant number az a szám, amelyet nemrég vásárolt.

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

A callPSTN hívás akkor történik, amikor úgy dönt, hogy belép a beszélgetésbe és személyesen beszél a bejövő hívóval.

Miután elmentette a forgatókönyvet, a megvásárolt számhoz kell csatolnia. Ehhez, továbbra is az alkalmazásában maradva, lépjen a „Routing” fülre, hogy új szabályt hozzon létre – a jobbra fent található „Új szabály” gombbal. Adja meg a nevet (például allcalls), hagyja az alapértelmezett maszkot (.* – ami azt jelenti, hogy az összes bejövő hívást azok a forgatókönyvek kezelik, amelyek az adott szabályhoz vannak kiválasztva), és adja meg a myscreening forgatókönyvet.

Google Call Screening készítése a Voximplant és Dialogflow alapján
Mentse a szabályt.

Mostantól a telefonszám a forgatókönyvhöz van csatolva. Az utolsó lépés az, hogy a botot csatolja az alkalmazáshoz. Ehhez lépjen a „Dialogflow csatoló” fülre, nyomja meg a „Dialogflow ügynök hozzáadása” gombot jobbra fent, és töltse fel a Dialogflow ügynökének JSON fájlját.

Google Call Screening készítése a Voximplant és Dialogflow alapján
Ha minta/teszteléshez ügynökre van szüksége, akkor a miénket is felhasználhatja ezen a linken: github.com/aylarov/callscreening/tree/master/dialogflow. Csak ne várjon tőle túl sokat, ez csupán egy példa, amelyet kedve szerint módosíthat és bátran megoszthatja az eredményeket 🙂

Egyszerű backend NodeJS-en

Hozzunk létre egy egyszerű backendet Node.js-ben, például a következő módon:
github.com/aylarov/callscreening/tree/master/nodejs

Ez egy szokásos alkalmazás, amely csak két parancsot igényel a futtatáshoz:

npm install
node index.js

A szerver a gépeden a 3000-es porton fog elindulni, ezért a Voximplant felhővel való összekapcsolásához az ngrok segédprogramot használjuk. Miután telepítetted, ngrokműködtesd a következő paranccsal:

ngrok http 3000

Látni fogod a domaint, amelyet az ngrok generált a helyi szervered számára – másold ki és állítsd be a server változóba.

Ügyfél

A kliensalkalmazás egyszerű csevegőként néz ki, amelyet innen letölthetsz.

Egyszerűen másold át az összes fájlt a webkiszolgálód egyik könyvtárába, és az működni fog. A script.js fájlban cseréld ki a server változó értékét az ngrok doménra, és a callee változó értékét a megvásárolt számra. Mentsd el a fájlt, és indítsd el az alkalmazást a böngészőben. Ha minden rendben van, látni fogod a WebSocket kapcsolatot a fejlesztői panelen.

Demos

Az alkalmazást élőben a következő videón tudod megnézni:

Videó lejátszása

P. S. Ha megnyomod az Intervene gombot, a hívó a telefonszámomra lesz irányítva, és ha a Disconnect gombra kattintasz – akkor…? Így van, a hívás megszakad.

Forrás: habr.com
Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster