Мало известный за пределами телеком-тусовки факт: когда вы звоните куда-нибудь со своего телефона, ваш номер, который отображается для входящего звонка – это просто произвольная текстовая строка, которую подставил ваш оператор сотовой связи. И если между двумя устройствами есть что-нибудь интересное, к примеру, машина с 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-коде.
Фотография до ката взята из блога.
Комментарии (21)
mkll
24.07.2017 17:02+4Все-таки, когда облако звонит обоим абонентам, а потом внутри себя «закорачивает» их между собой — это вовсе не маскировка номера при звонке. Это вообще два разных звонка. Еще это похоже на конференц-вызов.
aylarov
24.07.2017 17:15-1Это callback, но при коллбэке тоже можно делать маскировку номера, так же как и при пробросе звонков через proxy-номера
easty
24.07.2017 20:31+2Вы правы. Автор лукавит, это не маскировка номера в том виде, в котором его знает телеком тусовка. Это всего лишь звонок через посредника.
nickkee
24.07.2017 21:24+1У такой штуки есть и обратная сторона — есть у меня сервер на астериске и иногда его конкретно DDOS'ят кучей одновременных звонков и как показало расследование — все эти номера фейковые и концов не найти.
Так что я за то, чтобы такой технологией запретили пользоваться всем подряд без какой-нибудь лицензии, либо посерьезнее относились к разрешению изменения номера.Shvedov
25.07.2017 18:09Не смешите, спокойно отслеживается всё. А если вы гостевые звонки разрешили и Вас бомбят по IP, то ССЗБ.
З.Ы. Нормальные операторы всегда фильтруют АОНы на входе, если это не апстрим.nickkee
25.07.2017 19:03>спокойно отслеживается всё
Я готов предложить вам денег, если вы поможете разрешить мою проблему.
>Нормальные операторы всегда фильтруют АОНы на входе
А если оператор не нормальный и не фильтрует, то как отследить? Вы же пишете, что отслеживается всё.bravo-ej
27.07.2017 01:48оператор обязан фиксировать, так как биллинг никто не отменял, даже для не нормальных. деньги всем посчитать хочется правильно, или как минимум не себе в убыток.
а ещё есть СОРМ, который должен видеть пару номеров и их признаки.
Всё это значит, что номера должны быть
Насчёт отслеживания — правда нет никаких проблем. Ведь они откуда то к вам поступают. Скорее всего от встречного оператора. Соответственно к нему они как то попадают. Опять же биллинг требует хранить достаточную информацию о том, что бы определить направление входящего и исх трафика.
grieverrr
25.07.2017 00:58Раскрыли великую тайну про групповой аон, с совершенно невнятной завязкой на самописный апи.
Ваш коньтент непродающий.
Sergey6661313
26.07.2017 19:05Больше бесит когда САМ звонишь на известный номер, а андроид записывает этот звонок как на неизвестный номер… ЗАчем???
nickkee
26.07.2017 22:31А как позвонить на неизвестный номер и зачем?
Sergey6661313
27.07.2017 22:26Яж написал. Звонишь то на номер известный. Просто после того как звонок дошел до абонента телефон вдруг пишет — номер скрыт.
mickvav
То есть воткнув абстрактный asterisk между мной и трубкой и зная рабочий телефон кого-то важного, можно позвонить кому-то менее важному и при надлежащей актерской игре, принудить того сделать что-нибудь полезное, так?
Simplevolk
Хм… а не так ли разыгрывают депутатов пранкеры?
easty
Не совсем так. Чтобы воткнуть астериск и набрать абонанта, на этот самый астериск подключить к провайдеру. Провайдер добросрвестный не позволит подменить номер вызывающего не из его пула. Такое можно сделать если иметь например свою окс7 точку.
varnav
А недобросовестный? :)
easty
Думаю недобросовестного должны компетентные органы вычислять и принимать меры.
А то получается какой размах для мошенничества)
Хотя не уверен есть ли какие законодательные акты регулирующие ограничение подмены CALLER ID
mva
с SMS, кстати, такое можно даже вполне легально. Точнее можно БЫЛО.
Сейчас абсолютное большинство сервисов заставляют таки регистрировать имя отправителя и по каждому отдельному подписывать гарантийное письмо (что обещаешь не хулиганить).
Но есть парочка, которая позволяет иметь лишь одно гарантийное письмо для каждого ОПСОСа (из российских), и выбирать любое имя.
Но текст гарантийного письма подразумевает что если тебя поймают на хулиганстве — вся ответственность (включая финансовую) на тебе.
gionet
Неужели вы про www.spoofcard.com не слышали?
Аж приложение для телефона есть. Вбивай любой номер, и звони от имени кого угодно