Определение региона по телефонному номеру — это частая задача как для обычных пользователей, так и для бизнеса. Это помогает защититься от мошенников, понять, откуда звонит клиент, или просто удовлетворить любопытство. В этой статье мы подробно разберем, как устроена нумерация в России, какие инструменты использовать и на какие нюансы обратить внимание.
Структура российского телефонного номера
Прежде чем искать регион, нужно понять анатомию номера. Стандартный российский номер в формате Е.164 выглядит так:
+7 (ABC) XXX-XX-XX
- +7 — код страны (Россия и Казахстан).
- ABC — код зоны (DEF-код). Именно эти три цифры несут основную информацию об операторе и регионе регистрации номера.
- XXX-XX-XX, уникальный номер абонента внутри зоны.
Важно: До 2006 года использовались «ABC-коды» (привязка к емкостям АТС), сейчас повсеместно применяются «DEF-коды» (привязка к оператору связи).
Основные способы определения региона
Онлайн-сервисы и сайты-справочники (Самый быстрый способ)
Существует десятки бесплатных сайтов, где достаточно ввести первые 4-6 цифр номера (код + начало номера).
- Код-телефона.ру — классический справочник с картой покрытия.
- Numinfo.net / Numbase.ru — показывают оператора, регион, часовой пояс и даже тип связи (мобильная/стационарная).
- Сайты операторов (МТС, Билайн, МегаФон, Теле2, Яндекс) — часто имеют свои виджеты проверки номера.
Алгоритм: Введите код (например, 916) и первые 3-4 цифры номера. Система выдаст: «Москва и Московская область, Оператор: ПАО «МТС»».
Скачивание официальной базы данных (Для разработчиков и бизнеса)
Если нужно проверять тысячи номеров автоматически, онлайн-формы не подойдут. Нужна локальная база.
- Источник: Реестр системы нумерации Россвязи (данные в открытом доступе на сайте rossvyaz.ru в разделе «Нумерация»).
- Форматы: CSV, XML, SQL.
- Структура файла: Диапазон номеров (АВС/DEF + от/до), Наименование оператора, Регион, Тип связи.
Эту базу можно импортировать в БД (PostgreSQL, MySQL) или использовать в скриптах на Python/PHP/JS для мгновенного определения.
Мобильные приложения (Caller ID / Анти-спам)
Приложения вроде Яндекс (с Алисой), Кто звонит, Truecaller, GetContact, Sync.me автоматически подтягивают регион при входящем звонке. Они используют объединенные базы данных и пользовательские отметки.
Ручной поиск по таблицам (Для понимания логики)
Можно просто загуглить «Таблица DEF-кодов РФ». Коды распределяются блоками операторам, а операторы получают их под конкретные регионы.
Примеры известных кодов:
- 916, 915, 910, 999, 901, 902, 903, 904, 905, 906, 925, 926, 929, 936, 951, 958, 967, 977, 985, 991, 992, 993, 995, 996 — в основном Москва и МО (МТС, МегаФон, Билайн, Теле2, Йота).
- 812, 911, 921, 931, 951, 952, 953, 961, 962, 963, 964, 965, 966, 967, 968, 969, 981, 982, 983, 984, 985, 986, 987, 988, 989, 991, 992, 993, 994, 995, 996, 997, 998, 999 — Санкт-Петербург и ЛО (коды перемешаны с мобильными).
- 343, 343xx — Свердловская область (Екатеринбург).
- 383, 383xx — Новосибирская область.
Важные нюансы и подводные камни
Мобильная номенклатура (MNP — Перенос номера)
Это самый критичный момент; С 2013 года в России работает закон о переносе номера (MNP — Mobile Number Portability). Абонент может сменить оператора, сохранив свой номер полностью (включая код).
- Номер с кодом 916 (исторически МТС Москва) может принадлежать клиенту Теле2 в Владивостоке.
- Базы данных справочников обновляются с задержкой (от дней до месяцев).
Виртуальные номера и IP-телефония
Коды 800, 804, 808, бесплатные для звонящего (оплачивает получатель). Региональной привязки у них нет.
Коды 495, 499, 812 — стационарные коды Москвы и СПб; Но через IP-АТС (Asterisk, FreePBX, облачные АТС типа МТС Экспресс, Билайн Офис) они могут использоваться компанией из любого города РФ или даже из-за границы.
«Федеральные» коды операторов
У крупных операторов есть коды, которые выдаются по всей России единообразно (например, некоторые диапазоны 900, 908, 950, 951, 952, 953, 980, 989, 999 у Теле2/МТС/МегаФон). Определить по ним конкретный регион без полной базы диапазонов (первые 6-7 цифр) невозможно.
Техническая реализация: Пример на Python
Для автоматизации часто используют библиотеку phonenumbers (порт Google libphonenumber) или локальную БД.
import phonenumbers
from phonenumbers import geocoder, carrier
number_str = "+7 -161234567"
parsed = phonenumbers.parse(number_str, "RU")
region = geocoder.description_for_number(parsed, "ru")
op = carrier.name_for_number(parsed, "ru")
Примечание: phonenumbers использует встроенные метаданные Google, они могут быть устаревшими по MNP. Для 100% актуальности нужен свежий дамп Россвязи.
Раздел «Поиск знахарок по кодам регионов»
В вашем запросе встречается необычная фраза: «поиск знахарок по кодам регионов РФ».
Скорее всего, это опечатка или автокоррекция. Возможные варианты того, что вы имели в виду:
- «Поиск записок / заказов / клиентов», бизнес-задача: геотаргетинг входящих лидов.
- «Поиск захарков / сахаров» — поиск контактов конкретных людей (требует доступа к базам данных, что незаконно без согласия).
- «Поиск находок» — определение региона находки телефона.
- Буквальный смысл: Если вы ищете контакты народных целителей (знахарей) по регионам, телефонные справочники здесь не помогут. Такие контакты обычно передаются «сарафанным радио» или ищутся в локальных сообществах/группах ВК/ОК по запросу «знахарь [Название города/области]».
Рекомендация: Если это была опечатка — используйте описанные выше методы для решения вашей реальной задачи. Если вы ищете именно контакты целителей — обратитесь к локальным форумам или сообществам интересующего региона.
Резюме: пошаговый алгоритм
- Возьмите код (3 цифры после +7) и следующие 3-4 цифры номера.
- Проверьте на rossvyaz.ru (официальный реестр) или в надежном онлайн-справочнике (numinfo.net, kod-telefona.ru).
- Учтите MNP: регион кода ≠ текущий город абонента.
- Для стационарных номеров (коды городов 3-5 цифр) определение точнее, но возможна IP-подмена.
- Для массовой обработки — скачайте актуальный CSV-реестр Россвязи и подключите к своей CRM/скрипту.
Полезные ссылки:
- Официальный реестр системы нумерации Россвязи
- Numinfo, определение оператора и региона
- Готовые базы DEF-кодов на GitHub (для разработчиков)
Определение региона по коду — задача решаемая за секунды, но всегда помните о возможности переноса номера (MNP) и виртуальной телефонии, которые делают привязку к географии условной.