https://habrahabr.ru/company/Voximplant/blog/333972/- Разработка мобильных приложений
- Разработка веб-сайтов
- Программирование
- JavaScript
- Блог компании Voximplant
Мало известный за пределами телеком-тусовки факт: когда вы звоните куда-нибудь со своего телефона, ваш номер, который отображается для входящего звонка – это просто произвольная текстовая строка, которую подставил ваш оператор сотовой связи. И если между двумя устройствами есть что-нибудь интересное, к примеру, машина с Asterisk или облако с Voximplant, то эту строку можно поменять на любую другую. Ситуация, когда при звонке вместо номера звонящего человека «рисуется» совсем другой номер называется маскировка телеком-данных (Phone Number Masking). И этот прием широко используется для решения ряда интересных задач. Читайте о них под катом.
Такси и другие Uber-like решения
Давать водителю настоящий номер клиента – не самая лучшая идея. Потом водитель может позвонить не по делу, – вот это всё. Подмена номера работает так: как только водитель принял заказ, это становится известно backend'у сервиса такси. И если водителю нужно позвонить клиенту, то вместо этого он звонит на специальный сервисный номер. Звонок приходит в облако Voximplant, где из JavaScript делается HTTP-запрос к backend и получает информацию о заказе. После чего облако звонит клиенту, и, как только он берет трубку, соединяет его со входящим звонком от водителя. Если вам интересны подробности, почитайте,
как это реализовано у Wheely.
Такой способ позволяет водителю и клиенту не знать номера друг друга: все звонки идут через облако. В исходящем звонке до клиента Caller ID устанавливается в номер контакт-центра. Благодаря этому, если клиент после поездки позвонит на “номер водителя”, его встретит голосовое меню и предложит связаться либо с водителем, либо с оператором контакт-центра. И если водитель не работает, то клиенту можно предложить что сервис сам ему перезвонит когда водитель выйдет на работу. Также все разговоры можно записать, запись распознать – для более быстрого контроля качества. Все эти функции можно реализовать в несколько строчек JavaScript-кода:
Доставка и курьерские службы
Похоже на сервисы такси, но со своими нюансами. Очень часто звонки делают не через сотовую связь, а с помощью приложений: курьеры звонят для согласования логистики, а интернет сейчас сильно дешевле даже оптовых предложений на сотовую связь для компаний. Выглядит это следующим образом: у курьера есть веб/android/ios-приложение с кнопкой «связаться с заказчиком». При нажатии на неё соответствующий SDK устанавливает TCP/WebSocket подключение к облаку Voximplant, сигнализирует звонок и передает голос по протоколу (S)RTP. При звонке обратно курьеру используется механизм Push-уведомлений, так что даже если приложение закрыто, это не помешает «достучаться» до службы доставки.
Если использовать одно облако для всей коммуникационной автоматики, то можно делать интересные интегрированные решения. Например, вызвав облачный JavaScript-сценарий через HTTP API можно подтвердить доставку. А с помощью голосового меню клиент может прямо из этого звонка связаться с курьером, если он сейчас доступен, или с контакт-центром. При этом маскировка номера делает клиенту «один номер» на который он «просто звонит». А под капотом JavaScript по положению звезд определяет, куда отправить звонок.
Веб интерфейсы систем управления заказами
Благодаря WebRTC (
наша свежая статья про WebRTC) можно звонить с веб-страниц и на веб-страницы, а облако с JavaScript наперевес коммутирует эти звонки с традиционной телефонией. Маскировка номера работает и здесь. Откуда номер у веб страницы? Для всех исходящих звонков из CRM облако клиенты подставляют свой «внешний» номер телефона. Если на этот телефон позвонят, то дальнейшие действия со звонком просто прописывается в JavaScript-сценарии. Например, распределить на того оператора колл-центра, с которым клиент общался последний раз. Или автоматически рассказать о статусе заказа. Или эскалировать звонок на поддержку второго уровня, если это пятый звонок за час.
Зачем нужна маскировка номера
Многие компании, например Uber, напрямую связывают своих клиентов с водителями. Но по интернету гуляет много историй, когда сохранившийся в логах звонка номер затем использовался не по назначению, особенно в ночь с пятницы на понедельник, после тяжелых трудовых будней. Маскировка номера позволяет избежать случайностей и звонков в три часа ночи. А делается это одной строкой в JavaScript-коде.
Фотография до ката взята из блога.