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
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ąć):
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ę
Otwórz
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
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.
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.
Jeśli potrzebujesz agenta na przykład/testowania, możesz skorzystać z naszego agenta pod tym linkiem:
Prosty backend na NodeJS
Wdróżmy prosty backend w węźle, na przykład tak:
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
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ć
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