Vytváříme své Google Call Screening na základě Voximplant a Dialogflow

Vytváříme své Google Call Screening na základě Voximplant a Dialogflow
Možná jste slyšeli nebo četli o funkci Call Screening, kterou Google představil pro své telefony Pixel v USA. Myšlenka je skvělá – když vám přijde příchozí hovor, virtuální asistent začne komunikovat, zatímco vy vidíte tento rozhovor ve formě chatu a kdykoliv můžete začít mluvit místo asistenta. To je velmi užitečné v dnešní době, kdy téměř polovina hovorů je spam, ale přitom nechcete propásnout důležité hovory od někoho, kdo není ve vašem seznamu kontaktů. Jediná hádanka – tato funkčnost je dostupná pouze na telefonu Pixel a pouze v USA. Což je, pravda, překážka, ale překážky existují, aby se překonávaly, že? Takže jsme se rozhodli ukázat, jak implementovat podobné řešení pomocí Voximplant a Dialogflow. Prosím, pokračujte s námi.

Architektura

Nehodlám ztrácet čas vysvětlováním, jak fungují Voximplant a Dialogflow; pokud chcete, snadno najdete informace na internetu. Tak se pojďme seznámit s konceptem našeho Call Screening.

Představte si, že máte telefonní číslo, které používáte každý den a na které dostáváte důležité hovory. V takovém případě budeme potřebovat druhé číslo, které bude uvedeno všude – v e-mailu, na vizitkách, při vyplňování online formulářů atd. Toto číslo bude propojeno se systémem zpracování přirozeného jazyka (v našem případě Dialogflow) a bude přesměrovávat hovory na vaše hlavní číslo, pouze pokud si to budete přát. V grafické podobě to vypadá takto (obrázek je klikací):
Vytváříme své Google Call Screening na základě Voximplant a Dialogflow
Pochopením architektury se můžeme pustit do realizace, ale s jednou podmínkou: nebudeme vytvářet mobilní aplikaci, abychom ukázali dialog mezi Dialogflow a příchozím účastníkem, vytvoříme jednoduchou webovou-aplikaci s renderováním dialogu, abychom názorně ukázali princip fungování Call Screening. V této aplikaci bude tlačítko Intervene, po jehož stisknutí Voximplant spojí příchozího účastníka s volaným účastníkem, pokud se rozhodl mluvit sám.

Implementace

Přihlaste se do svého účtu Voximplant a vytvořte novou aplikaci, například screening:

Vytváříme své Google Call Screening na základě Voximplant a Dialogflow
Otevřete sekci 'Čísla' a zakupte číslo, které bude fungovat jako zprostředkovatel:

Vytváříme své Google Call Screening na základě Voximplant a Dialogflow
Dále přejděte do aplikace screening, do sekce „Čísla“, záložka „Dostupné“. Zde uvidíte právě zakoupené číslo. Připojte ho k aplikaci pomocí tlačítka „Připojit“ – v zobrazeném okně nechte všechny výchozí hodnoty a klikněte na „Připojit“.

Pokud jste uvnitř aplikace, přejděte na kartu „Scénáře“ a vytvořte scénář myscreening – v něm použijeme kód z článku. Jak používat Dialogflow Connector. Kód bude mírně upraven, protože potřebujeme „vidět“ dialog mezi volajícím a asistentem; celý kód můžete vzít zde..

POZOR: Budete muset změnit hodnotu proměnné server na název vašeho ngrok serveru (podrobnosti o ngrok najdete níže). Také zadejte své hodnoty na 31. řádku, kde your phone number – to je vaše hlavní číslo (např. osobní mobilní), a voximplant number – číslo, které jste nedávno zakoupili.

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

Volejte callPSTN ve chvíli, kdy se rozhodnete přerušit hovor a osobně si promluvit s příchozím volajícím.

Jakmile uložíte scénář, musíte ho připojit k zakoupenému číslu. K tomu, stále uvnitř vaší aplikace, přejděte na kartu „Routing“, abyste vytvořili nové pravidlo – tlačítko „Nové pravidlo“ v pravém horním rohu. Zadejte název (např. allcalls), nechte masku výchozí (.* – což znamená, že všechny příchozí hovory budou zpracovávány scénáři vybranými pro toto pravidlo) a zadejte scénář myscreening.

Vytváříme své Google Call Screening na základě Voximplant a Dialogflow
Uložte pravidlo.

Od nynějška je telefonní číslo připojeno ke scénáři. Poslední krok, který je třeba udělat – připojit bota k aplikaci. K tomu přejděte na kartu „Dialogflow-connector“, stiskněte tlačítko „Přidat Dialogflow agenta“ v pravém horním rohu a nahrajte JSON soubor vašeho agenta Dialogflow.

Vytváříme své Google Call Screening na základě Voximplant a Dialogflow
Pokud potřebujete agenta pro příklad/testování, můžete vzít našeho na tomto odkazu: github.com/aylarov/callscreening/tree/master/dialogflow. Jen od něj nepožadujte moc, je to jen příklad, který můžete upravit podle svých představ a s výsledky se klidně podělit 🙂.

Jednoduchý backend na NodeJS

Pojďme rozjet jednoduchý backend na nodu, například takový:
github.com/aylarov/callscreening/tree/master/nodejs

Je to běžná aplikace, která vyžaduje pouze dva příkazy k spuštění:

npm install
node index.js

Server bude spuštěn na portu 3000 na vašem stroji, proto pro jeho připojení k cloudu Voximplant používáme nástroj ngrok. Jakmile nainstalujete ngrok, spusťte ho příkazem:

ngrok http 3000

Uvidíte doménové jméno, které ngrok vygeneroval pro váš místní server – zkopírujte ho a vložte do proměnné server.

Zákazník

Klientská aplikace vypadá jako jednoduchý chat, který si můžete vzít odsud.

Jednoduše zkopírujte všechny soubory do nějakého adresáře na vašem webovém serveru a bude to fungovat. V souboru script.js změňte hodnotu proměnné server na doménové jméno ngrok a hodnotu proměnné callee na číslo, které jste zakoupili. Uložte soubor a spusťte aplikaci v prohlížeči. Pokud je vše v pořádku, uvidíte WebSocketové spojení v panelu pro vývojáře.

Demo

Aplikaci v akci můžete vidět v tomto videu:

Přehrát video

P. S. Pokud stisknete tlačítko Intervene, bude volající přesměrován na moje telefonní číslo, a pokud stisknete Disconnect – ano, hovor bude přerušeno.

Zdroj: habr.com
Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster