Как определить к какому оператору относится номер мобильного телефона

Определение оператора, региона, страны по телефонному номеру

На данной странице можно определить сотового оператора и регион (или город и страну) по любому номеру телефона в России или в мире. Мобильные операторы России определяются с учетом базы данных перенесенных номеров. Для номеров фиксированной связи можно определить регион, город и оператора.

Введите номер телефона:

Популярное

Коды операторов

  • 900
  • 902
  • 903
  • 904
  • 905
  • 908
  • 909
  • 925
  • 926
  • 929
  • 950
  • 951
  • 960
  • 961
  • 962
  • 967
  • 977
  • 999

Коды городов России

  • Москва
  • Санкт-Петербург
  • Новосибирск
  • Екатеринбург
  • Нижний Новгород
  • Самара
  • Казань
  • Омск
  • Челябинск
  • Ростов-на-Дону
  • Уфа
  • Пермь
  • Волгоград
  • Красноярск
  • Воронеж
  • Саратов
  • Тольятти
  • Краснодар
  • Ижевск
  • Ярославль

Коды стран мира

  • Украина
  • Казахстан
  • Беларусь
  • Германия
  • Великобритания
  • США
  • Франция
  • Израиль
  • Узбекистан
  • Китай

© KODY.SU, 2010-2022

  • Определение номера
  • Коды операторов
  • Коды городов России
  • Коды стран мира
  • Контакты
  • Виджет для сайта
  • API

Определение кто звонил, оператора, региона, страны по телефонному номеру

Чтобы узнать кто звонил, определить страну, регион и название оператора мобильной связи для указанного номера
мобильного телефона введите номер телефона в любом формате и нажмите Найти

Пример:

+79515200611

89515200611

+7 (951) 520-06-11

Внимание! Сервис не определяет местоположение абонента, владельца телефона, его ФИО и другие персональные данные.
Сервис не позволяет пробить номер телефона,
а также производит поиск номера телефона в нашей базе номеров для определения мошеннических номеров, предложения финансовых услуг, различных видов нежелательных звонков.

Сервис определяет следующие данные: страну, регион и название оператора мобильной связи, время в регионе, перенос номера к другому сотовому оператору.

Если телефонный номер был перенесен к другому оператору, то он также определяется с использованием базы данных перенесенных абонентских номеров.

Если номер есть в базе данных сервиса «Кто звонит», то будет отображена информация о данном номере.

О базе данных

На данной странице вы очень быстро можете определить оператора по номеру телефона — у нас самая полная база телефонных номеров, получаемая из государственной базы данных Федерального агентства связи.
Мы постоянно поддерживаем базу в актуальном состоянии, данные обновляются 1 раз в месяц.

База данных сервиса «Кто звонит» содержит данные о 504 458 телефонных номерах. База данных собирается на основании отзывов пользователей Справочного портала, отзывов в сети Интернет, отзывов в социальных сетях и обрабатывается с помощью разработанных нами алгоритмов машинного обучения.

Кем предоставлены данные

Данные предоставлены Федеральным агентством связи и содержатся в выписке из реестра российской системы и плана нумерации.

У каждого абонента мобильной сети есть персональный номер IMSI. Он содержит коды оператора и региона, в котором зарегистрирована SIM-карта. Его стоит отличать от IMEI, который присваивается смартфону или другом устройству, способному подключаться к сотовой сети.

Зачем нужен этот сервис?

Безлимитные разговоры предоставляются внутри сети. Для общения с абонентами других операторов предусмотрены пакетные минуты. Стоимость звонков устанавливается в зависимости от местоположения собеседника. Определив регион по номеру телефона, вы сможете планировать расходы на оплату услуг связи.

Почему важна проверка абонента?

Владелец SIM-карты может сменить оператора, сохранив за собой номер. При разговоре с ним вы будете использовать деньги на счёте или минуты, включённые в тариф. Чтобы избежать лишних затрат, следует проверить оператора и регион по номеру телефона.

Как пользоваться сервисом?

Узнать оператора и регион регистрации просто:

— укажите номер мобильного телефона;

— введите проверочное число с картинки, а если вы не можете разобрать его, обновите изображение;

— нажмите кнопку «Проверить».

Онлайн-сервис найдёт название оператора и регион, в котором зарегистрирован номер. Услуга предоставляется бесплатно.

Для чего нужно знать оператора мобильного номера

Стоимость исходящего звонка почти всегда зависит от того, какой оператор на другой стороне, — ваш или другой. Например, на некоторых тарифах МТС звонки абонентам МТС существенно дешевле или вовсе бесплатны.

Часто вызовы становятся дороже, если звонить на номер другого региона, даже если у собеседников один и тот же оператор. Заранее узнав оператора и регион, вы сможете сориентироваться, насколько дорогим будет звонок.

Как определить оператора и российский регион по мобильному номеру

Специальная страница на сайте ЦНИИ Связи — федеральный сервис, который позволяет быстро решить задачу, вбив номер в формате 9ххххххххх и нажав кнопку «Найти».

Как снизить зависимость стоимости звонков от оператора и региона

Часть тарифов и подписок МТС включает пакеты минут для исходящих вызовов на любые российские номера. Среди таких предложений НЕТАРИФ и «Тарифище».

У МТС есть подписка, которая позволяет не думать ни об операторе, ни о регионе, ни о количестве звонков: подключите «МТС Доступ» и звоните по России, сколько вам нужно — это входит в абонентскую плату.

Как определить мобильного оператора и домашний регион по номеру телефона

Время прочтения
5 мин

Просмотры 48K

Когда мы пытаемся определить какому оператору принадлежит номер телефона, то обычно смотрим на его DEF код. Например, если номер начинается на 916, то это МТС, на 968 – Билайн, 926 – Мегафон (все зависит от вашего региона). Но этот метод очень условный и совершенно не подходит когда нужны точные данные. В реальности все сложнее: DEF коды часто делят между собой несколько операторов, и совсем необязательно, что искомый номер относится к операторам большой четверки. Ну и наконец, номер можно просто портировать.

В статье я расскажу о том, как по номеру телефона достоверно определить мобильного оператора который его обслуживает, а также получить дополнительную, «бесплатную» информацию – домашний регион абонента. Использовать эти данные можно как угодно, начиная от предзаполнения адреса в анкете пользователя и перенаправления на региональную версию вашего сервиса, до использования этих данных в процессинге и статистике. В конце статьи будет ссылка на github с исходниками.

Сразу оговорюсь, что домашний регион абонента, по большому счету, никак не связан с текущим месторасположением пользователя, т.е. определяемый регион отвечает на вопрос «Откуда номер?», а не «Где пользователь?».

Источники данных

Россвязь

Свой номер телефона мы получаем когда заключаем договор на обслуживание с оператором связи. В свою очередь, распределением диапазонов номеров между операторами связи, а также стандартизацией и общим контролем за услугами связи занимаются соответствующие государственные и международные организации. В России такой организацией является Федеральное агентство связи (Россвязь).

Таким образом, самым надежным источником информации кто обслуживает российский номер телефона является Россвязь, причем это открытые данные, которые агентство публикует у себя на сайте: www.rossvyaz.ru/opendata. Свежий список диапазонов мобильных номеров находится в CSV по ссылке. Каждая строка в файле выглядит как:

DEF-код, начало диапазона, конец диапазона, название оператора, название региона

Однако, с 2013 года появилась возможность переносить номер от оператора к оператору. Значит, руководствуясь только реестрами Россвязи, нельзя однозначно сказать, что номер обслуживается определенным оператором. Зато это вполне можно сказать про регион, ведь переносимость номера работает только в рамках домашнего региона и перенести номер из МТС Новосибирск в Tele2 Санкт-Петербург не получится в принципе.

Таким образом, если по задаче нужно определить только регион пользователя, то реестров Россвязи будет достаточно.

База Данных Перенесенных Номеров

Если нужно точно определять оператора, тогда не обойтись без Базы Данных Перенесенных Номеров, оператором которой является ЦНИИC. Процедуру подключения к базе можно найти у них на сайте: zniis.ru. Но, к сожалению, насколько я знаю, напрямую подключиться к ним не просто, а получив подключение, делиться базой ни с кем нельзя.

Структура этой базы крайне проста: это три CSV файла в которых в формате «номер, название оператора» перечислены:

  • все перенесенные номера на текущий день (обновляется раз в день);
  • все перенесенные номера за последний час (обновляется раз в час);
  • все номера возращенные родному оператору обратно за последний час (обновляется раз в час).

На момент написания статьи, в БДПН находится около 6 миллионов записей.

Суммируя: у нас есть некие диапазоны номеров, которые соответствуют определенным операторам и регионам (Россвязь), и список номеров-исключений из этих диапазонов (БДПН), который распространяется только на название оператора.

Как определять абонентов

Самое очевидное решение этой задачи: посмотреть на слово «диапазон» и использовать перечисленные емкости буквально. Т.е. для определения номера, сортируем всех операторов по их диапазонам и ищем запись, которая относится к минимальному диапазону, в который попадает конкретный номер. Сложность этого алгоритма будет как у бинарного поиска, что довольно неплохо.

Но есть более оригинальный и универсальный способ реализации, сложность которого – константа, независимо от размера данных. Этот метод предполагает использование масок номеров.

Маска номера

Маска номера – это строка состоящая из цифр и спецсимвола со значением «wildcard одиночного символа» («?»), который говорит, что на его месте может быть любая цифра. Причем после знака вопроса может стоять только знак вопроса.

Таким образом, один из диапазонов Билайн в Москве «79031000000 – 79031999999», в виде маски будет записан как «79031??????».

С такими масками очень удобно работать, например, задавать их вручную в конфигурации. Кроме того, представление диапазонов в виде масок дает возможность использовать более эффективные методы хранения и простые алгоритмы поиска.

Хеш-таблица

Например, один из таких алгоритмов это хранение соответствий «маска-оператор» в хеш-таблице (или любом другом key-value хранилище). Суть алгоритма в следующем: все подобные маски складываются в хеш-таблицу, где они являются ключами. Значениями в таблице являются объекты-операторы с регионами.

Работу поиска нагляднее всего объяснить на примере. Скажем, мы ищем информацию по номеру: 7(903)100-1234, и у нас есть маска 79031?????? – Билайн, Москва.

Сперва ищем в таблице запись по ключу в точности как исходный номер: 79031001234.
Если не найдено, то меняем последнюю цифру номера на «?» и ищем по ключу 7903100123?.

Если опять ничего не нашли, то снова меняем последнюю цифру на «?» и ищем по 790310012??, и так далее.

В конце концов мы сделаем поиск по ключу 79031?????? и обнаружим, что номер относится к оператору Билайн, Москва.

Видно, что в данном случае сложность алгоритма равна сложности нескольких взятий из хеш-таблицы, что при правильной реализации обычно равно константе. Сложность поиска в таком дереве зависит от длины телефонных номеров, которая по рекомендации ITU-T E.164 не превышает 15 символов.

Этот же алгоритм можно применить и к портированным номерам – их можно просто добавить в ту же самую хеш-таблицу.

Префиксное дерево

Гораздо более эффективный по производительности метод – построение префиксного дерева из масок, который будет опираться на то, что номера состоят из цифр. Каждая нода этого дерева сможет иметь до 10 цифровых нод-потомков (0-9) и одной wildcard-ноды. Wildcard-нода может иметь только wildcard-потомков. При добавлении очередной маски в дерево, каждый символ маски последовательно превратится в ноду. Таким образом, фактически мы представляем все имеющиеся у нас маски в виде одного дерева.

Например, дерево состоящее из масок:
7913? – Mno1
791?? – Mno3
7952 – Mno2
7953 – Mno3
795? – Mno1
будет иметь вид, как на картинке (перечисленные маски в дереве идут слева направо).

Алгоритм поиска в дереве, думаю, уже понятен: берем по порядку каждую цифру из искомого номера и последовательно спускаемся по дереву начиная с корня. В первую очередь спускаемся по цифровым нодам, если цифровых нод нет, то смотрим есть ли «?»-нода. Если есть, то в конечном итоге проверяем длину маски, и если она соответствует номеру, то оператор найден.

Заключение

В зависимости от ограничений, можно комбинировать эти подходы и разделять хранилища перенесенных номеров и масок Россвязи. Например, по памяти выгоднее для портированных номеров использовать подход с хеш-таблицей, а для реестров Россвязи всегда выгоднее использовать дерево масок. При поиске сначала смотреть в таблице, а если в ней ничего не найдено, то искать в дереве. Разделение хранилищ в первую очередь удобно для их автообновления, т.е. если изменилась БДПН (а она меняется постоянно), то совсем необязательно перечитывать диапазоны Россвязи.

Для максимальной производительности можно хранить всю информацию прямо в оперативной памяти. В моей реализации на Java, дерево масок Россвязи занимает не более 20-30Мб, хеш-таблица с масками портированных номеров: около 500-600 Мб. Если же портированные номера хранить в префиксном дереве, то из-за того, что ноды дерева получаются очень разреженные, памяти потребуется примерно в 1.5 раза больше. Но зато, это дает достаточно весомый прирост производительности.

Спасибо за внимание!

→ Весь исходный код доступен на github.

Понравилась статья? Поделить с друзьями:
  • Как начинается номер украины сотовый телефона
  • Как определить имя владельца номера телефона
  • Как начинается номер телефона тинькофф
  • Как определить золотой номер телефона
  • Как определить есть ли ватсап на номер телефона