Содержание
Разбить телефонный номер на части
Первое, что нужно сделать, — разобрать телефон на три части:
- код страны — для России это +7 или 8;
- код оператора — 3–5 цифр (на самом деле это не код оператора, а код зоны нумерации. Дальше расскажу);
- собственно номер телефона — 5–7 цифр.
Код зоны нумерации у мобильного номера всегда состоит из трех цифр. У стационарного — из трех, четырех или пяти. Чтобы определить регион по номеру телефона, в любом случае достаточно трех первых цифр Если не знать, какая часть номера из каких цифр состоит, дальше будет непросто. Выход — поставить маску, чтобы пользователи сразу вводили номера по частям. Или разбирать уже после, с задачей справится библиотека Google для работы с телефонами.
Что мешает точно определить оператора без сервисов
Казалось бы, всё просто: можно запомнить коды стран и операторов связи или взять справочник с такими кодами, а дальше искать нужные значения. Но есть нюансы.
Пересечение кодов
Вопросами распределения номеров занимается Международный консультационный комитет по телефонии и телеграфии (МККТТ, ITU‑T). В его постановлении № E.164 говоритсяМеждународный план нумерации электросвязи общего пользования, что номера могут иметь до 15 цифр и обычно записываются с префиксом «+».
Сразу после префикса следует код страны. И уже здесь начинаются сложности. Так, код +7 принадлежит не только России, но ещё Казахстану и Абхазии. +1 — США, Канаде и множеству островных государств Атлантики. Поэтому нужно смотреть и на следующие цифры.
Чем меньше абонентов в стране, тем больше цифр в той части номера, которая отличает её от других государств. Так, украинскиеНаказ 29.09.2008 N 1200 «Про затвердження Плану переходу на перспективну систему нумерації телефонної мережі загального користування України» номера в международном формате начинаются с +380, а белорусскиеОСТАНОВЛЕНИЕ СОВЕТА МИНИСТРОВ РЕСПУБЛИКИ БЕЛАРУСЬ 22 июня 2006 г. № 787 «ОБ УТВЕРЖДЕНИИ СИСТЕМЫ И ПЛАНА НУМЕРАЦИИ СЕТИ ЭЛЕКТРОСВЯЗИ ОБЩЕГО ПОЛЬЗОВАНИЯ» — с +375.

В телефонных планах нумерации для конкретных государств описывают коды для городов и мобильных операторов, правила набора. Например, в РоссииВыписка из реестра российской системы и плана нумерации номер выглядит так.
- Код страны: +7 (международный формат для звонков из‑за границы) или 8 (для звонков внутри страны).
- Зона нумерации: 3–5 цифр. Для мобильных операторов это 3 цифры, для стационарных номеров в крупных городах тоже 3, а в мелких — 4 или 5.
- Номер абонента: 5–7 цифр. В мобильных номерах и телефонах крупных городов 7 цифр, в мелких городах — 5–6.

Так как абонентов и операторов много, диапазоны мобильных номеров иногда пересекаются. Так, изначально у МТС номера начинались на 91x и 98x, у «МегаФона» — на 92х и 93х, у «Билайна» — на 903 и 96х. Но с ростом числа абонентов добавились новые коды, в том числе одинаковые.
Сейчас на 999 могутКод 999 начинаться номера «МегаФона», Yota, Tele2 и других более мелких компаний, на 986Код 986 — «Билайна», МТС и не только. Так что, помимо кода оператора, нужно смотреть на первые цифры номера.
У стационарных номеров обычно более жёсткая географическая привязка, и диапазоны не пересекаются. Но бывает, что в небольших городах действуют, например, 5- и 6‑значные номера. Тогда перед 5‑значным номером дописывают определённую цифру и используют по аналогии с 6‑значными.
А в крупных городах может быть несколько номерных зон. Например, у Москвы сразу три кода: 495, 498 и 499. К районам они не привязаны. Но номер с одним и тем же кодом могут обслуживать разные поставщики услуг. Например, для 499Телефонный код города Москва — 495 или 499 это «Билайн», МТС, «Комкор» («Акадо Телеком») и «Телеком ТЗ».
Отмена мобильного рабства
Во многих странах мира привязку номера к оператору отменили в начале 2000‑х. В России же это стало возможным только с 1 декабря 2013 года. Власти решили, что номер телефона — собственность абонента, поэтому разрешили MNP (Mobile Number Portability).
Именно поэтому поиск определённой комбинации цифр в многочисленных таблицах планов нумераций — занятие не только долгое, но часто и бесполезное.
Использование цифровых номеров
VoIP‑телефония (голосовые звонки по протоколу IP через интернет) дополнительно усложняет определение номеров. Если не вдаваться в подробности технологии, то можно сказать, что здесь выбирается как можно более дешёвый способ связать абонентов различных операторов, в том числе из разных стран, соответствующие прокси и узлы.
Если вам, к примеру, звонят из Skype на мобильный, то вы каждый раз видите разные номера. Соответственно, даже если вы определите код страны и оператора по такому набору цифр, это практически ничего не скажет о реальном местоположении абонента и даже о том, каким VoIP‑сервисом он пользуется.
Как определить оператора с помощью приложений
Сотовые операторы
- География: РФ (c учётом переноса номера), другие страны (без учёта переноса).
- Тип номера: только мобильные номера.
Простое приложение, которое довольно точно определяет оператора и регион. База обновляется регулярно, но данные по переносу номеров порой показываются с опозданием.
В числе дополнительных функций — проверка номеров из телефонной книги на предмет смены оператора связи, статистика вызовов, которая позволяет понять, на что вы тратите деньги с вашего телефонного счёта, и блокировка звонков от нежелательных абонентов (спамеров, коллекторов и других).
Из‑за ограничений iOS в версии для этой системы функций меньше, чем в Android. Например, при входящем звонке не показывается информация об операторе.
Загрузить
Цена: Бесплатно
Сотовые операторыOleg KuzmenkoЦена: 99 рублей
Загрузить
Цена: 99 рублей
Оператор связи по номеру
- География: только РФ.
- Тип номера: только мобильные номера.
Лаконичное приложение, созданное с единственной целью: показать оператора и регион по номеру телефона. Занимает минимум места, но требует доступа в интернет для определения номеров.
По отзывам пользователей, база данных приложения регулярно обновляется, так что информация о номерах, перенесённых к другим операторам, показывается достаточно точно. Вводить номера можно вручную, а также выбирать из истории вызовов или списка контактов.
Загрузить
Цена: Бесплатно
Caller ID‑Phone number tracker
- География: весь мир.
- Тип номера: мобильные и стационарные номера.
Приложение показывает оператора и регион (для стран, у которых есть региональная привязка мобильных номеров), а также работает со стационарными номерами. Оно может показать и дополнительную информацию из собственной базы: имя, пол звонящего, адрес компании (если звонок от лица бизнеса) и так далее. Помогает защититься от спама и автоматически анализирует звонки с незнакомых номеров.
Приложение не найдено
Проверить, не ушел ли номер к другому оператору
Если получили доступ к официальной базе перенесенных номеров, дальше легко. Проверяем, не поменял ли абонент оператора, сбросив оковы «мобильного рабства». Институт связи выкладывает БДПН на SFTP-сервер, в три папки.В первой папке лежит полный справочник. Во второй — инкрементальные обновления. А третья хранит номера, вернувшиеся «владельцам»
- В папке PortAllNew лежит полная версия справочника. Это один файл, который обновляют ежедневно в 00:00 по Москве;
- PortIncrementNew — для инкрементальных обновлений. Каждые два часа сюда добавляют файл с последними перенесенными номерами;
- ReturnIncrementNew — это номера, которые вернули «владельцам» согласно плану нумерации Россвязи. Здесь тоже каждые два часа появляется новый файл.
Внутри папок данные по всем операторам всех регионов хранят без деления по файлам. Файлы нужны, чтобы различать обновления.В название инкрементов вставляют дату и время обновления. Если хотите максимально срочно получать перенесенные номера — вот, пожалуйста. Если срочности нет, проще раз в сутки загружать полный справочник Формат файлов — CSV, сжатые в ZIP. Внутри — проще некуда.В файлах справочника три поля: номер, оператор и количество строк. Причем третье поле заполняют только для первой строки — изящное решение Историю в БДПН не хранят: каждый день на сервер выкладывают все перенесенные номера. Если телефона нет в полном справочнике или в инкрементах за день, значит, он подчиняется плану Россвязи. Поэтому для наших целей папка с вернувшимися номерами — ReturnIncrementNew — не нужна. Каждый день мы загружаем с сервера свежую БДПН. Для этого годится любой SFTP-клиент: на Windows подойдет WinSCP или FileZilla FTP Client, на Ubuntu — Nautilus. Классическая ошибка при этом: оставить в настройках дефолтный FTP вместо положенного SFTP. Так можно долго промучиться, не повторяйте наших ошибок. Когда справочник перенесенных номеров под рукой, осталось поискать в нем исследуемый номер. Варианта два:
- номер нашелся в БДПН. В этом случае мы меняем оператора из плана Россвязи на нового;
- номера нет в БДПН — оставляем оператора как есть.
Вот и вся премудрость.</ul></h3>