Може да сте чували или чели за функцията за проверка на обажданията, която Google пусна за своите телефони Pixel в САЩ. Идеята е страхотна - когато получите входящо обаждане, виртуалният асистент започва да говори, докато вие виждате този разговор като чат и по всяко време можете да започнете да говорите вместо асистента. Това е много полезно в наши дни, когато почти
архитектура
Предлагам да не губите време да обяснявате как работят Voximplant и Dialogflow, ако желаете, можете лесно да намерите информация в Интернет. Така че нека се запознаем със самата концепция на нашия Call Screening.
Да приемем, че вече имате телефонен номер, който използвате всеки ден и на който получавате важни обаждания. В този случай ще ни трябва втори номер, който ще бъде посочен навсякъде - в пощата, на визитка, когато попълвате онлайн формуляри и т.н. Този номер ще бъде свързан към система за обработка на естествен език (в нашия случай Dialogflow) и ще пренасочва повикванията към вашия основен номер само ако искате това. Под формата на диаграма изглежда така (снимката може да се кликне):
Разбирайки архитектурата, можем да поемем изпълнението, но с едно предупреждение: няма да правим Подвижен приложение за показване на диалог между Dialogflow и входящ обаждащ се, ние ще създадем прост мрежа-приложение с визуализатор на диалог, за да покаже визуално как работи проверката на повикванията. Това приложение ще има бутон Intervene, чрез натискането на който Voximplant ще свързва входящия абонат с набрания абонат, ако последният реши сам да говори.
Изпълнение
Впиши се
Отворен
След това отидете на приложението за скрининг, в секцията „Числа“, раздел „Налични“. Тук ще видите номера, който току-що сте закупили. Свържете го с приложението, като използвате бутона „Прикачване“ - в прозореца, който се показва, оставете всички стойности по подразбиране и щракнете върху „Прикачване“.
След като влезете в приложението, отидете в раздела „Скриптове“ и създайте скрипт myscreening – в него използваме кода от статията
ПРЕДУПРЕЖДЕНИЕ: ще трябва да промените стойността на сървърната променлива на името на вашия ngrok сървър (повече за ngrok по-долу). Също така включете вашите стойности на ред 31, където вашият телефонен номер е вашият основен номер (например личният ви мобилен), а номерът на voximplant е номерът, който сте закупили наскоро.
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)
CallPSTN повикването ще се случи в момента, в който решите да влезете в разговора и да проведете личен разговор с входящия повикващ.
След като запазите скрипта, трябва да го свържете към закупения номер. За да направите това, докато все още сте във вашето приложение, отидете в раздела „Маршрутизиране“, за да създадете ново правило – бутона „Ново правило“ в горния десен ъгъл. Посочете име (например allcalls), оставете маската по подразбиране (.* - което означава, че всички входящи повиквания ще бъдат обработени от избраните за това правило скриптове) и посочете скрипта myscreening.
Запазете правилото.
Оттук нататък телефонният номер е обвързан със сценария. Последното нещо, което трябва да направите, е да свържете бота с приложението. За да направите това, отидете в раздела „Dialogflow connector“, щракнете върху бутона „Add Dialogflow agent“ в горния десен ъгъл и качете своя JSON файл на Dialogflow agent.
Ако имате нужда от агент за пример/тестване, можете да получите нашия от тази връзка:
Прост бекенд на NodeJS
Нека разположим прост бекенд на възел, като този:
Това е нормално приложение, което изисква само две команди за изпълнение:
npm install
node index.js
Сървърът ще стартира на порт 3000 на вашата машина, така че ние използваме помощната програма ngrok, за да го свържем с облака Voximplant. Когато инсталирате
ngrok http 3000
Ще видите името на домейна, което ngrok генерира за вашия локален сървър - копирайте го и го заменете в сървърната променлива.
клиент
Клиентското приложение изглежда като обикновен чат, който можете
Просто копирайте всички файлове в някоя директория на вашия уеб сървър и ще работи. Във файла script.js променете стойността на променливата на сървъра на името на домейна ngrok и стойността на променливата callee на номера, който сте закупили. Запазете файла и стартирайте приложението в браузър. Ако всичко е наред, тогава ще видите WebSocket връзка в панела за програмисти.
демонстрация
Можете да видите приложението в действие в този видеоклип:
PS Ако щракнете върху бутона Intervene, тогава обаждащият се ще бъде насочен към моя телефонен номер, а ако щракнете върху Disconnect, той ще бъде ...? Точно така, обаждането ще бъде прекъснато.
Източник: www.habr.com