Možno ste už počuli alebo čítali o funkcii filtrovania hovorov, ktorú spoločnosť Google zaviedla pre svoje telefóny Pixel v USA. Je to skvelý nápad: keď prijmete prichádzajúci hovor, začne hovoriť virtuálny asistent, zatiaľ čo vy vidíte konverzáciu ako chat a môžete kedykoľvek začať hovoriť namiesto asistenta. Toto je v dnešnej dobe veľmi užitočné, keď takmer , ale nechcete zmeškať dôležité hovory od niekoho mimo vášho zoznamu kontaktov. Jediný háčik je, že táto funkcia je dostupná iba na telefónoch Pixel a iba v USA. Prekážky sú na to, aby sa prekonávali, však? Preto sme sa rozhodli podeliť sa o to, ako vytvoriť podobné riešenie pomocou Voximplant a Dialogflow. Čítajte ďalej.
architektúra
Navrhujem, aby ste nestrácali čas vysvetľovaním, ako fungujú Voximplant a Dialogflow; ak máte záujem, informácie si ľahko nájdete online. Poďme sa teda zoznámiť s konceptom nášho filtrovania hovorov.
Predpokladajme, že už máte telefónne číslo, ktoré používate denne a na ktoré prijímate dôležité hovory. V tomto prípade budeme potrebovať druhé číslo, ktoré bude uvedené všade – v e-maile, na vizitke, pri vypĺňaní online formulárov atď. Toto číslo bude pripojené k systému na spracovanie prirodzeného jazyka (v našom prípade Dialogflow) a bude presmerovávať hovory na vaše hlavné číslo iba vtedy, ak o to požiadate. Tu je diagram (klikateľný obrázok):
Po pochopení architektúry sa môžeme pustiť do implementácie, ale s jednou výhradou: nebudeme robiť mobilné Na zobrazenie dialógu medzi Dialogflow a prichádzajúcim volajúcim vytvoríme jednoduchú aplikáciu webAplikácia s dialógovým oknom, ktoré jasne demonštruje fungovanie filtrovania hovorov. Táto aplikácia bude obsahovať tlačidlo „Zasiahnuť“, ktoré Voximplant stlačí, aby spojil prichádzajúceho volajúceho s volaným, ak sa volajúci rozhodne hovoriť.
Реализация
Prihlásiť sa a vytvorte novú aplikáciu, napríklad skríning:

Otvorte a kúpte si číslo, ktoré bude slúžiť ako sprostredkovateľ:

Ďalej prejdite do aplikácie Screening, prejdite do sekcie „Čísla“ a vyberte kartu „Dostupné“. Tu uvidíte číslo, ktoré ste si práve zakúpili. Prepojte ho s aplikáciou pomocou tlačidla „Pripojiť“. V zobrazenom okne ponechajte všetky predvolené hodnoty a kliknite na tlačidlo „Pripojiť“.
V aplikácii prejdite na kartu „Skripty“ a vytvorte skript s názvom myscreening – v ňom použijeme kód z článku V tomto prípade bude kód mierne upravený, pretože potrebujeme „vidieť“ dialóg medzi volajúcim a asistentom; celý kód môže byť .
POZNÁMKA: Budete musieť zmeniť hodnotu premennej server na názov vášho servera ngrok (podrobnosti o ngrok budú uvedené nižšie). Taktiež nahraďte svoje hodnoty v riadku 31, kde vaše telefónne číslo je vaše hlavné číslo (napr. vaše osobné číslo mobilného telefónu) a číslo voximplant je číslo, ktoré ste si nedávno zakúpili.
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)HovorHovor cez PSTN sa uskutoční v momente, keď sa rozhodnete prerušiť konverzáciu a osobne sa porozprávať s prichádzajúcim účastníkom.
Po uložení skriptu ho musíte priradiť k zakúpenému číslu. Ak to chcete urobiť, stále v aplikácii prejdite na kartu „Smerovanie“ a vytvorte nové pravidlo (kliknite na tlačidlo „Nové pravidlo“ v pravom hornom rohu). Zadajte názov (napr. „všetkyhovory“), ponechajte predvolenú masku (.* – čo znamená, že všetky prichádzajúce hovory budú spracované skriptmi vybratými pre toto pravidlo) a zadajte skript „myscreening“.

Uložte pravidlo.
Telefónne číslo je teraz prepojené so scenárom. Posledná vec, ktorú musíte urobiť, je prepojiť bota s aplikáciou. Ak to chcete urobiť, prejdite na kartu „Dialogflow Connector“, kliknite na tlačidlo „Pridať agenta Dialogflow“ v pravom hornom rohu a nahrajte súbor JSON pre vášho agenta Dialogflow.

Ak potrebujete napríklad agenta/testovanie, nášho si môžete stiahnuť z tohto odkazu: Len od neho neočakávajte priveľa; toto je len príklad, ktorý si môžete prepracovať podľa vlastného uváženia a pokojne sa podeľte o výsledky 🙂
Jednoduchý backend na NodeJS
Nasaďme jednoduchý backend na uzol, takto:
Toto je jednoduchá aplikácia, ktorá na spustenie vyžaduje iba dva príkazy:
npm install
node index.js
Server bude na vašom počítači bežať na porte 3000, takže na jeho pripojenie ku cloudu Voximplant použijeme utilitu ngrok. Po nainštalovaní , spustite ho príkazom:
ngrok http 3000Uvidíte názov domény, ktorý ngrok vygeneroval pre váš lokálny server – skopírujte ho a dosaďte ho do premennej server.
zákazník
Klientska aplikácia vyzerá ako jednoduchý chat, ktorý môžete.
Jednoducho skopírujte všetky súbory do adresára na vašom webovom serveri a bude to fungovať. V súbore script.js nahraďte premennú server názvom domény ngrok a premennú callee zakúpeným číslom. Uložte súbor a spustite aplikáciu vo vašom prehliadači. Ak všetko funguje, uvidíte pripojenie WebSocket v nástrojoch pre vývojárov.
demonštrácie
Aplikáciu v akcii si môžete pozrieť v tomto videu:

P.S. Ak kliknem na Zasiahnuť, volajúci bude presmerovaný na moje telefónne číslo, ale čo sa stane, ak kliknem na Odpojiť? Presne tak, hovor sa preruší.
Zdroj: hab.com
