Tworzenie własnego Screeningu rozmów Google w oparciu o Voximplant i Dialogflow

Tworzenie własnego Screeningu rozmów Google w oparciu o Voximplant i Dialogflow
Być może słyszałeś lub czytałeś o funkcji sprawdzania połączeń, którą Google wdrożył w swoich telefonach Pixel w USA. Pomysł jest świetny – gdy odbierzesz połączenie przychodzące, wirtualny asystent zaczyna się komunikować, a Ty widzisz tę rozmowę w formie czatu i w każdej chwili możesz zacząć mówić zamiast asystenta. Jest to bardzo przydatne w dzisiejszych czasach, gdy prawie połowa połączeń to spam, ale nie chcesz przegapić ważnych połączeń od osoby spoza Twojej listy kontaktów. Jedynym haczykiem jest to, że ta funkcja jest dostępna tylko na telefonie Pixel i tylko w USA. Cóż, przeszkody są do pokonania, prawda? Dlatego postanowiliśmy powiedzieć Wam, jak wykonać podobne rozwiązanie przy użyciu Voximplant i Dialogflow. Proszę pod kotem.

Architektura

Proponuję nie tracić czasu na wyjaśnianie działania Voximplant i Dialogflow, jeśli chcesz, możesz łatwo znaleźć informacje w Internecie. Zapoznajmy się więc z samą koncepcją naszego Call Screeningu.

Załóżmy, że masz już konkretny numer telefonu, z którego korzystasz na co dzień i na który odbierasz ważne połączenia. W takim przypadku będziemy potrzebować drugiego numeru, który będzie wskazany wszędzie - w poczcie, na wizytówce, podczas wypełniania formularzy online itp. Numer ten zostanie podłączony do systemu przetwarzania języka naturalnego (w naszym przypadku Dialogflow) i będzie przekierowywał połączenia na Twój numer główny tylko wtedy, gdy będziesz tego chciał. W formie diagramu wygląda to tak (zdjęcie można kliknąć):
Tworzenie własnego Screeningu rozmów Google w oparciu o Voximplant i Dialogflow
Rozumiejąc architekturę możemy zająć się realizacją, ale z jednym zastrzeżeniem: tego nie zrobimy mobilny aplikację pokazującą dialog pomiędzy Dialogflow a rozmówcą przychodzącym, stworzymy prostą sieć-aplikacja z rendererem dialogów, która wyraźnie pokazuje, jak działa sprawdzanie połączeń. Aplikacja ta będzie posiadała przycisk Interweniuj, po naciśnięciu którego Voximplant połączy abonenta przychodzącego z abonentem wybieranym, jeżeli ten ostatni zdecyduje się sam porozmawiać.

realizacja

Zaloguj się Twoje konto Voximplant i utwórz nową aplikację, np. screening:

Tworzenie własnego Screeningu rozmów Google w oparciu o Voximplant i Dialogflow
Otwórz sekcja „Pokoje” i kup numer, który sprawdzi się jako pośrednik:

Tworzenie własnego Screeningu rozmów Google w oparciu o Voximplant i Dialogflow
Następnie przejdź do aplikacji przesiewowej, w sekcji „Numery”, zakładka „Dostępne”. Tutaj zobaczysz numer, który właśnie kupiłeś. Połącz go z aplikacją za pomocą przycisku „Dołącz” - w wyświetlonym oknie pozostaw wszystkie wartości domyślne i kliknij „Dołącz”.

Będąc już w aplikacji przechodzimy do zakładki „Skrypty” i tworzymy skrypt myscreening - wykorzystujemy w nim kod z artykułu Jak korzystać z łącznika Dialogflow. W tym przypadku kod zostanie nieco zmodyfikowany, ponieważ musimy „zobaczyć” dialog pomiędzy rozmówcą a asystentem; cały kod jest możliwy podjąć tutaj.

UWAGA: będziesz musiał zmienić wartość zmiennej serwera na nazwę swojego serwera ngrok (szczegóły na temat ngrok będą poniżej). Zastąp także swoje wartości w linii 31, gdzie Twój numer telefonu to Twój główny numer (na przykład Twój osobisty telefon komórkowy), a numer voximplant to numer, który niedawno kupiłeś.

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

Połączenie PSTN nastąpi w momencie, gdy zdecydujesz się włamać do rozmowy i osobiście porozmawiać z przychodzącym abonentem.

Po zapisaniu skryptu należy go powiązać z zakupionym numerem. W tym celu będąc jeszcze w aplikacji przejdź do zakładki „Routing” i utwórz nową regułę – przycisk „Nowa reguła” w prawym górnym rogu. Podaj nazwę (np. allcalls), pozostaw maskę domyślną (.* - co oznacza, że ​​wszystkie połączenia przychodzące będą przetwarzane przez skrypty wybrane dla tej reguły) i określ skrypt myscreening.

Tworzenie własnego Screeningu rozmów Google w oparciu o Voximplant i Dialogflow
Zapisz regułę.

Od tej chwili numer telefonu jest powiązany ze skryptem. Ostatnią rzeczą, którą musisz zrobić, to połączyć bota z aplikacją. Aby to zrobić, przejdź do zakładki „Dialogflow Connector”, kliknij przycisk „Dodaj Dialogflow Agent” w prawym górnym rogu i prześlij plik JSON swojego agenta Dialogflow.

Tworzenie własnego Screeningu rozmów Google w oparciu o Voximplant i Dialogflow
Jeśli potrzebujesz agenta na przykład/testowania, możesz skorzystać z naszego agenta pod tym linkiem: github.com/aylarov/callscreening/tree/master/dialogflow. Tylko nie wymagaj od tego zbyt wiele, to tylko przykład, który możesz przerobić, jak chcesz i możesz podzielić się wynikami :)

Prosty backend na NodeJS

Wdróżmy prosty backend w węźle, na przykład tak:
github.com/aylarov/callscreening/tree/master/nodejs

Jest to prosta aplikacja, której uruchomienie wymaga jedynie dwóch poleceń:

npm install
node index.js

Serwer będzie działał na porcie 3000 Twojej maszyny, zatem do połączenia go z chmurą Voximplant skorzystamy z narzędzia ngrok. Kiedy instalujesz nrok, uruchom go za pomocą polecenia:

ngrok http 3000

Zobaczysz nazwę domeny, którą ngrok wygenerował dla twojego lokalnego serwera - skopiuj ją i wklej do zmiennej serwera.

Klient

Aplikacja kliencka wygląda jak prosty czat, z którym możesz sobie poradzić zabierz to stąd.

Po prostu skopiuj wszystkie pliki do jakiegoś katalogu na serwerze internetowym i zadziała. W pliku script.js zamień zmienną serwera na nazwę domeny ngrok, a zmienną wywoływaną na zakupiony numer. Zapisz plik i uruchom aplikację w przeglądarce. Jeśli wszystko jest w porządku, w panelu programisty zobaczysz połączenie WebSocket.

Демо

Działanie aplikacji można zobaczyć na tym filmie:


PS Jeśli klikniesz przycisk Interweniuj, osoba dzwoniąca zostanie przekierowana na mój numer telefonu, a jeśli klikniesz przycisk Rozłącz, zostanie...? Zgadza się, połączenie zostanie rozłączone.

Źródło: www.habr.com

Dodaj komentarz