Коды городов по телефону

Как выглядит номер телефона на вашем сайте? Может быть так — 123-45-67 или так — 8 (351) 123-45-67. А вы никогда не задумывались, смогут ли клиенты из другого города или страны дозвониться до Вас? Скорее всего они просто не смогут правильно набрать Ваш номер.
Идея этой заметки у меня пришла совершенно случайно. Мне понадобилось найти телефоны официальных дилеров Nissan в Украине и Болгарии. Каково было мое удивление когда на большей части сайтов содержались неточные или не полные номера телефонов.
Номер в Болгарии должен выглядеть примерно так тел: (+359) 2 93760160. Сколько времени нужно потратить чтобы догадаться какие цифры набрать на телефоне, чтобы позвонить в «Нипон-Моторс» — Тел. шоурум: 02 / 919 8670.
А что в России? Мы привыкли с каких-то старых времен писать номера телефонов начиная с 8 (код города) …, но мы ни разу не задумывались, что 8 — это просто код выхода на междугороднюю связь, и к плану нумерации она не имеет никакого отношения. Поверьте, ни один иностранец не догадается сходу заменить нашу 8-ку на стандартный код страны +7.
В итоге, как правильно оформить номер телефона на сайте, чтобы все могли дозвониться? Самый простой способ — указать полный номер телефона с кодом страны и кодом города.
+7 (351) 240-04-40 — с такой формой телефонного номер 100% не возникнет проблем. Для компаний чья география реализации товаров и услуг лежит в пределах РФ, допустимо опустить код страны (351) 240-04-40.
А теперь проверьте, как написан номер телефона у Вас на визитке?

Телефонные коды регионов и городов России. Поиск города по телефонному номеру.

Телефонный номер стационарного телефона России состоит из 10 цифр: код города + номер абонента. Код города может состоять из 3, 4 или 5 цифр в зависимости от числа абонентов городской телефонной сети. Первые три цифры в телефонном коде города являются кодом региона. Таким образом, все города одного региона имеют одинаковые первые три цифры. Исключение составляют регионы с несколькими кодами и города федерального значения.

Телефонные коды регионов в РФ трёхзначные и имеют вид 3xx, 4xx, 8xx в зависимости от округов:

  • 3xx — Урал, Западная и Восточная Сибирь
  • 4xx — Центральные регионы, Дальний Восток
  • 8xx — Северо-Западные регионы, Северный Кавказ, Поволжье

Телефонные номера могут состоять:

  • из 3 цифр кода города и 7 цифр номера абонента (Москва, Санкт-Петербург и другие города-миллионники),
  • из 4 цифр кода города и 6 цифр номера абонента (Вологда, Калуга и другие большие города),
  • из 5 цифр кода города и 5 цифр номера абонента (провинциальные города).

Введите номер телефона или код города (в любом формате телефонных номеров):

Телефонные коды регионов РФ:

  • 388 — Алтайская Республика
  • 385 — Алтайский край
  • 416 — Амурская область
  • 814, 818 — Архангельская область
  • 851 — Астраханская область
  • 472 — Белгородская область
  • 483 — Брянская область
  • 302 — Бурятский АО
  • 492 — Владимирская область
  • 844 — Волгоградская область
  • 817, 820, 844 — Вологодская область
  • 473 — Воронежская область
  • 426 — Еврейская область
  • 493 — Ивановская область
  • 395 — Иркутская область
  • 866 — Кабардино-Балкарская Республика
  • 401 — Калининградская область
  • 484 — Калужская область
  • 415 — Камчатка
  • 878 — Карачаево-Черкессия
  • 384 — Кемеровская область
  • 833 — Кировская область
  • 494 — Костромская область
  • 861, 862 — Краснодарский край
  • 391 — Красноярский край
  • 352 — Курганская область
  • 471 — Курская область
  • 812, 813 — Ленинградская область
  • 474 — Липецкая область
  • 413 — Магаданская область
  • 495 — Москва
  • 495, 496 — Московская область
  • 815 — Мурманская область
  • 818 — Ненецкий АО
  • 831 — Нижегородская область
  • 816 — Новгородская область
  • 383 — Новосибирская область
  • 381 — Омская область
  • 353 — Оренбургская область
  • 486 — Орловская область
  • 841 — Пензенская область
  • 342 — Пермская область
  • 423 — Приморский край
  • 811 — Псковская область
  • 877 — Республика Адыгея
  • 347 — Республика Башкортостан
  • 301 — Республика Бурятия
  • 872 — Республика Дагестан
  • 873 — Республика Ингушетия
  • 847 — Республика Калмыкия
  • 814 — Республика Карелия
  • 821 — Республика Коми
  • 836 — Республика Марий Эл
  • 834 — Республика Мордовия
  • 867 — Республика Северная Осетия (Алания)
  • 843, 855 — Республика Татарстан
  • 394 — Республика Тыва
  • 341 — Республика Удмуртия
  • 390 — Республика Хакасия
  • 835 — Республика Чувашия
  • 411 — Республика Якутия (Саха)
  • 863 — Ростовская область
  • 491 — Рязанская область
  • 846, 848 — Самарская область
  • 845 — Саратовская область
  • 424 — Сахалин
  • 343 — Свердловская область
  • 481 — Смоленская область
  • 863, 865, 879 — Ставропольский край
  • 475 — Тамбовская область
  • 482 — Тверская область
  • 382 — Томская область
  • 487 — Тульская область
  • 345, 346 — Тюменская область
  • 842 — Ульяновская область
  • 421 — Хабаровский край
  • 351 — Челябинская область
  • 871 — Чеченская республика
  • 302 — Читинская область
  • 427 — Чукотка
  • 349 — Ямало-Ненецкий Округ
  • 485 — Ярославская область

Для звонков на территории России по межгороду перед номером абонента стационарного телефона добавляется 8 (код выхода на межгород). Длина всего телефонного номера с учётом 8 равна 11. Например: 8 495 312-15-77. Для звонков из заграницы на стационарные телефоны России необходимо добавлять код страны +7. В этом случае набор номера из предыдущего примера будет иметь вид: +7 495 312-15-77.


Полезно знать, какого телефонного оператора выбрал клиент и в каком регионе. Тогда можно разбить клиентскую базу географически и не звонить ночами. Или проводить промоакции вместе с операторами. А некоторые наши заказчики экономят: для каждого оператора выбирают самого дешевого СМС-агрегатора.
Поэтому «Дадата» с давних пор находит оператора по номеру телефона. Алгоритм простой — сделай и пользуйся. Разве что в 2013 году, когда отменили «мобильное рабство», пришлось чуть скорректировать процесс. В этой статье расскажу, как у нас все работает.
В процессе есть большая сложность — получить доступ к базе перенесенных номеров. Частным лицам его не выдают, да и компаниям придется тяжело. Об этом — в отдельном разделе.

Разбить телефонный номер на части

Первое, что нужно сделать, — разобрать телефон на три части:

  • код страны — для России это +7 или 8;
  • код оператора — 3–5 цифр (на самом деле это не код оператора, а код зоны нумерации. Дальше расскажу);
  • собственно номер телефона — 5–7 цифр.


Код зоны нумерации у мобильного номера всегда состоит из трех цифр. У стационарного — из трех, четырех или пяти. Чтобы определить регион по номеру телефона, в любом случае достаточно трех первых цифр
Если не знать, какая часть номера из каких цифр состоит, дальше будет непросто. Выход — поставить маску, чтобы пользователи сразу вводили номера по частям. Или разбирать уже после, с задачей справится библиотека Google для работы с телефонами.

Найти оператора по номеру телефона, заглянув в план нумерации

Главный российский документ, согласно которому операторы получают телефонные номера, — это план нумерации Россвязи. В нем ясно прописали все расклады: какие коды и номера каким операторам в каких регионах принадлежат. Что приятно, справочник Россвязи свободно лежит на странице rossvyaz.ru/deyatelnost/resurs-numeracii/vypiska-iz-reestra-sistemy-i-plana-numeracii.

Справочник выложили сразу в двух форматах, что очень мило со стороны Россвязи. Обновляют раз в месяц
Внутри плана нумерации четыре файла: три для стационарных номеров и один — для мобильных. Разница между содержимым файлов заметна, если посмотреть на префиксы в названиях:

  • «ABC-» означает, что в файле лежат стационарные номера. Собственно, «ABC» — обозначение зон нумерации, определенных по географическому принципу;
  • «DEF-» — это файл с мобильными номерами. Префикс означает зоны нумерации, определенные не географически.

Уже здесь ясно: справочник подскажет не только оператора, но и тип телефона:

  • у стационарных код начинается с 3, 4 или 8;
  • у мобильных — с 9.

Есть еще прямые мобильные — внешне их не отличить от стационарных. Знаю только один способ раскрыть прямой мобильный: найти его оператора и сравнить со списком мобильных операторов России. Но даже так без гарантии, потому что некоторые операторы мобильной связи в то же время — и операторы фиксированной.
Номер +7 495 999-99-34 может быть прямым мобильным. А может быть, это офис покупает у сотового оператора фиксированную связь — знает только сам оператор.
Но я отвлекся, вернемся к плану нумерации. Внутри файлов все очень просто — таблица на шесть полей.

Порядок полей таков: ABC- или DEF-код зоны, начало диапазона, конец диапазона, емкость, оператор, регион. Емкость — просто количество номеров, входящих в диапазон
Искать по плану нумерации регион и оператора — одно удовольствие.

  1. Вытаскиваем код зоны нумерации из нужного номера.
  2. По коду выбираем из справочника подходящие диапазоны.
  3. Оставляем от телефона только то, что следует после кода зоны — собственно номер.
  4. Ищем, в какой диапазон попадает номер.
  5. Успех! Мы нашли для телефона регион, оператора и тип.


Номер +7 301 220-22-47 принадлежит ООО «Мобилон Телекоммуникации». Регион — Республика Бурятия
Порой телефон не укладывается ни в один диапазон. Это значит, что номер неправильный. Исключений нет. На этом, надо сказать, прокалывается упомянутая библиотека Google — она одобряет внешне верный телефон, не сопоставляя с планом нумерации.
Раньше на этом шаге изыскания заканчивались. Но в 2013 году власти приняли закон об отмене «мобильного рабства». С тех пор номера телефонов прибиты к операторам не так уж крепко.
Теперь закон разрешает: меняйте оператора, сохранив номер. Но, внимание, только внутри региона. Нельзя вытащить телефон из региона, предусмотренного Россвязью. Как нельзя и «сломать» диапазоны распределения номеров. Поэтому, если интересен лишь регион телефонного номера, дальше можно не читать. А я продолжу и расскажу, как найти сменившие операторов номера.

Получить доступ к базе перенесенных номеров

Это шаг бюрократический, соответственно, самый сложный. А для большинства компаний и вовсе непроходимый, к сожалению.
Номера, сменившие оператора, хранят в базе данных перенесенных абонентских номеров (БДПН). Ее оператор — уже не Россвязь, но Центральный научно-исследовательский институт связи.
Проблема в том, что получить доступ к БДПН очень непросто. Конечно, если вы не мобильный оператор, субъект национальной платежной системы, силовая структура или другое ведомство.

Все, что может рядовой пользователь — вручную проверить конкретный номер
Мы получили доступ к БДПН в далеком 2013 году как «иная организация». Но с тех пор правила, похоже, ужесточили. Даже бланк заявления сильно изменился, свежий лежит на сайте Института связи. Поэтому посоветовать здесь ничего не могу, увы.
UPD. В комментариях пишут, что с доступом все не так сурово: «Работал в энергосбытовой компании, без проблем за несколько дней получил доступ к бдпн. <…> заполнил заявление, подписал директором, поставил печать и отправил по электронике. Потом созвонился для верности».

Проверить, не ушел ли номер к другому оператору

Если получили доступ к официальной базе перенесенных номеров, дальше легко. Проверяем, не поменял ли абонент оператора, сбросив оковы «мобильного рабства».
Институт связи выкладывает БДПН на SFTP-сервер, в три папки.

В первой папке лежит полный справочник. Во второй — инкрементальные обновления. А третья хранит номера, вернувшиеся «владельцам»

  • В папке PortAllNew лежит полная версия справочника. Это один файл, который обновляют ежедневно в 00:00 по Москве;
  • PortIncrementNew — для инкрементальных обновлений. Каждые два часа сюда добавляют файл с последними перенесенными номерами;
  • ReturnIncrementNew — это номера, которые вернули «владельцам» согласно плану нумерации Россвязи. Здесь тоже каждые два часа появляется новый файл.

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

В название инкрементов вставляют дату и время обновления. Если хотите максимально срочно получать перенесенные номера — вот, пожалуйста. Если срочности нет, проще раз в сутки загружать полный справочник
Формат файлов — CSV, сжатые в ZIP. Внутри — проще некуда.
В файлах справочника три поля: номер, оператор и количество строк. Причем третье поле заполняют только для первой строки — изящное решение
Историю в БДПН не хранят: каждый день на сервер выкладывают все перенесенные номера. Если телефона нет в полном справочнике или в инкрементах за день, значит, он подчиняется плану Россвязи. Поэтому для наших целей папка с вернувшимися номерами — ReturnIncrementNew — не нужна.
Каждый день мы загружаем с сервера свежую БДПН. Для этого годится любой SFTP-клиент: на Windows подойдет WinSCP или FileZilla FTP Client, на Ubuntu — Nautilus. Классическая ошибка при этом: оставить в настройках дефолтный FTP вместо положенного SFTP. Так можно долго промучиться, не повторяйте наших ошибок.
Когда справочник перенесенных номеров под рукой, осталось поискать в нем исследуемый номер. Варианта два:

  • номер нашелся в БДПН. В этом случае мы меняем оператора из плана Россвязи на нового;
  • номера нет в БДПН — оставляем оператора как есть.

Вот и вся премудрость.

А можно разобрать номер «Дадатой»

Еще вариант — отдать номер телефона «Дадате», сервис вытащит из него полезное.
Распозна́ем оператора, исправим опечатки в номере, покажем страну, регион и часовой пояс. Наконец, отделим стационарник от мобильного
Обрабатываем номера по 10 копеек за штуку, если отдавать файлами или через API. Руками по одному телефону — бесплатно и даже без регистрации. Все это — на dadata.ru.

Чтобы узнать телефонный код города, отправьте его название на русском языке в тексте сообщения на номер 5050. В ответ вам поступит SMS, где будет указан телефонный код города и код страны, а также последовательность, как необходимо набирать номер телефона при звонке в этот город.

Например:
Отправьте SMS с текстом москва на номер 5050
Вы получите ответное SMS с текстом:
Москва (495), Московская обл., РФ (7).
Правила набора: +7495 НОМЕР АБОНЕНТА вызов.

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

Например:
Отправьте SMS с текстом сша на номер 5050
Вы получите ответное SMS с текстом:
Страна: США (1). Правила набора: +1 КОД ГОРОДА НОМЕР АБОНЕНТА вызов.

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

Отправка сообщений на номер 5050 не тарифицируется. В поездках по России и миру в сетях других операторов тарификация отправленных сообщений осуществляется в соответствии с тарифами на услуги связи в поездках по России и миру в сетях других операторов.