Ошибочные представления программистов о телефонных номерах

Развенчиваем 15 мифов о телефонных номерах, из-за которых вы можете сделать ошибки при проектировании приложения, где номер используется, например, для регистрации.

Телефонные номера, которые валидны сегодня, останутся валидными всегда. Формат номеров, вероятно, никогда не изменится.

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

Телефонный номер принадлежит только одному человеку

Когда мобильных телефонов ещё не было, считалось обычным делом иметь один домашний телефон на семью. Такое положение дел всё ещё сохраняется в некоторых частях мира.

У человека может быть только один телефонный номер

Разумеется, это не так.

Телефонный номер не может сменить владельца

Старые неиспользуемые телефонные номера выдаются заново другим людям

Телефонный код уникален для каждой страны

США, Канада и некоторые Карибские острова делят код +1. В России и Казахстане действует телефонный код +7. И это не единственные примеры.

В каждой стране действует только один телефонный код

В настоящее время (март 2016-го), телефоны на территории частично признанного государства Косово могут быть доступны по телефонном коду Сербии (+381), Словении (+386) или Монако (+377), в зависимости от того где и когда телефон был приобретён.

На телефонный номер можно позвонить откуда угодно

По некоторым номерам можно звонить только изнутри страны. По некоторым — только внутри группы стран, как, например, международные номера формата 00800. На некоторые номера могут звонить только абоненты определённых операторов.

Есть два способа вызвать определённый номер: из домашнего региона и из-за границы

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

  • В Бразилии для вызова междугородних или международных номеров может требоваться код оператора.
  • В Непале ноль в начале номера ставится в зависимости от того, производится ли звонок с мобильного устройства или со стационарного.
  • В Новой Зеландии вам требуется вводить территориальный код (например 03), даже если вы находитесь в том месте с таким же кодом, за исключением ситуаций, когда вы находитесь “совсем близко” (в рамках города или района).

Чтобы иметь возможность набрать номер, нужно просто проверить префикс

В Аргентине, чтобы позвонить по номеру из домашнего региона, цифры “15” должны быть вставлены после кода региона, но перед самим номером, а “9” после кода страны (+54) набирать не нужно. Таким образом, “+54 9 2982 123456” превращается в “02982 15 123456”.

Префикс валидного телефонного номера не может быть телефонным номером

В некоторых странах возможно одновременное существование номеров “123456” и «12345678», которые указывают на разных абонентов.

По некорректному номеру нельзя никуда дозвониться

В некоторых странах лишние цифры после номера просто игнорируются. Так, например, “1-800-MICROSOFT”1 некорректный номер, но по нему можно дозвониться до Microsoft, т.к. лишние цифры игнорируются. По номеру “911” вы можете дозвониться, набрав “911 123”, правда, не во всех странах. В других странах, некорректные номера могут автоматически исправляться операторами, например может автоматически добавляться код, указывающий на то, что это мобильное устройство.

Все валидные номера сответствуют спецификации Международного Союза Электросвязи (ITU)

Это не так. Например, согласно спецификации “национальные номера не могут быть длиннее 16 цифр”, и, несмотря на это, в Германии успешно существуют и более длинные номера.

Все корректные номера относятся к какой-то стране

Существует много телефонных кодов, которые не относятся к географическим образованиям, например “800”.

Телефонные номера могут содержать только числа

В Израиле, например, некоторые рекламные номера начинаются с символа “*”.

Телефонные номера всегда набираются в ASCII

В Египте считается нормальным записывать телефонные номера индо-арабскими цифрами: (٠١٢٣٤٥٦٧٨٩).

  1. Буквы в номере — американский аналог наших “красивых” номеров.  На кнопочных телефонах на кнопах присутствуют одновременно буквы и цифры, и, чтобы набрать подобный номер, нужно набирать те цифры, на кнопке с которыми находятся указанные буквы. Таким образом “1-800-75-EARTH” трансформируется в “1-800-75-32784”

Источник: libphonenumber