Приветствую.
В жизни так бывает, что любовь деньги, особенно в текущей неясной ситуации, хочется сэкономить. Да и раньше хотелось, но сейчас этот вопрос встал крайне остро. Но сегодня речь пойдет не о том, как купить тонну гречки и не прогореть, а о том, как сэкономить на мобильной связи.
Практически все операторы мобильной связи имеют тарифы в которых стоимость звонков "внутри" сети гораздо ниже (в некоторых случаях даже бесплатно), чем звонки на "конкурентов". Именно по этой причине наши клиенты часто прибегают к маршрутизации звонков по схеме "все звонки внутри родной сети" и именно это позволяло и позволяет им сильно экономить на исходящей связи. Однако.
Практически все операторы мобильной связи имеют тарифы в которых стоимость звонков "внутри" сети гораздо ниже (в некоторых случаях даже бесплатно), чем звонки на "конкурентов". Именно по этой причине наши клиенты часто прибегают к маршрутизации звонков по схеме "все звонки внутри родной сети" и именно это позволяло и позволяет им сильно экономить на исходящей связи. Однако.
Ранее все было просто и понятно - смотрим первые цифры номера и звоним на соответствующего им оператора. Сейчас все немного усложнилось, т.к. с отменой мобильного рабства по DEF-коду точно определить оператора стало невозможно, ибо номер остается неизменным, а оператор может быть уже другой. Это значит, что появилась необходимость в сервисе, который бы в режиме "онлайн" возвращал нам текущего оператора обслуживающего указанный телефон.
Сервисов таких до поры до времени не было и можно было полагаться лишь на то, что РосСвязь будет часто обновлять свой справочник кодов текущих операторов. Но этого не произошло, а я наткнулся на сервис от ФГУП ЦНИИС , который решил данную проблему.
Сделать было решено для "синего" сценария. А уже из него таскать компоненты в другие сценарии по необходимости.
Сценарий довольно простой:
Сервисов таких до поры до времени не было и можно было полагаться лишь на то, что РосСвязь будет часто обновлять свой справочник кодов текущих операторов. Но этого не произошло, а я наткнулся на сервис от ФГУП ЦНИИС , который решил данную проблему.
Сделать было решено для "синего" сценария. А уже из него таскать компоненты в другие сценарии по необходимости.
Сценарий довольно простой:
- В меню определяем тип номера (город, межгород, сотовый). Если город, то уходим в компонент присвоения, где переменной направление присваиваем константу город.
- Если 11 символов, то проверим на межгород. Если вторая цифра в номере не равно 9, то это междугородная или международная связь .
- Делаем запрос к сервису http://np.zniis.ru/np.php?num=9123456789, где num - это номер для проверки (обратите внимание, что никаких международных или междугородных кодов указывать не надо, т.е. номер в формате 10 знаков). Если ошибка или таймаут, то присваиваем переменной направление константу другое.
- Парсим ответ от запроса с помощью OQuery-запроса div[id='operator'] и получаем результат в переменную оператор. Если ошибка, то уходим в компонент присвоения не найден.
- В меню разбираем полученный результат и, в зависимости, от оператора, которого мы получили уходим в нужный нам компонент присвоения, где переменной направление присваиваем константу-код соответствующего направления (о направлениях расскажу ниже).
- Звоним на наш номер с соответствующего направления. Компонент переключение выглядит так (в качестве направления выбрана переменная направление, тип набора равен Использовать команду направления, а остальное по желанию):
Вы, конечно, можете обойтись без направлений и использовать данный сервис в своем сценарии как угодно, но с направлениями все становится проще и нет необходимости плодить компоненты переключения для каждого оператора отдельно, а в случае изменения линий вы просто сможете скорректировать их в направлениях Октелла, что очень удобно (там же и изменить правила набора при необходимости). Вот так выглядит примерный список направлений, которые используются вместе с этим сценарием:
- Код который указывается в компоненте переключения для того, чтобы октелл понял с какого направления нужно звонить.
- Линии которые соответствуют выбранному в направлениях оператору.
- Правило набора номера можно указать непосредственно в направлении, что очень удобно.
Пользуйтесь на здоровье. Скачать можно тут.
Комментариев нет:
Отправить комментарий