Pull to refresh

Comments 150

Текст очень познавательный, спасибо.

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

Уточнение: Географический DEF регион +7, к сожалению, остаётся под контролем России которая недавно выжала Казахстан и теперь в семёрке останется только Россия. Казахстан уйдёт на +99X

Выжала или Казахстан сам ушел?

Скажем так: стороны не приложили достаточно усилий чтобы разгрести пустячные по сути сложности и Казахстан был вынужден уйти.

Абсолютно идиотское решение.

Почему было не закрепить сложившееся по факту разделение, оставив за Казахстаном +77 - я совершенно не понимаю. США и Канада как-то ведь не парятся по поводу общей первой цифры?
Думаю, что тут больше политики и популизма, причем с обоих сторон, чем мозгов и рационального поведения.

Почему было не закрепить сложившееся по факту разделение, оставив за Казахстаном +77

Может еще и автомобильные коды регионов 77 и 777 отдать каким-нибудь Мухосранскам? Вы там думайте, что предлагаете!

Номера с кодом региона 777 одно время выдавались в Крыму. :))

Уточню - уйдёт на +997. В "зоне семёрки" останутся Россия и мало кем признанные Абхазия и Южная Осетия.

Есличо, на казахстанских симках уже давным-давно выбивается код страны 997 (с третьей по пятую цифры ICCID):

Фотки из гугла
MNC=01
MNC=01
MNC=02
MNC=02
MNC=07
MNC=07

Длина строго фиксирована 10 цифрами.

Нет. У меня сейчас домашний 11-значный. До переезда был 9-значный. В телефоне полно 11-значных номеров. И есть даже 8-значный - датский мобильный.

Был и остаюсь уверенным, что стандартный и единственно верный способ разбирать номер телефона - https://github.com/google/libphonenumber

Все остальное очень быстро перестаёт работать, как только появляются новые регионы, потому что правила формирования региональных (коротких) номеров мягко говоря случайно и не предсказуемо, но часто люди привыкают к ним достаточно сильно

В репозитории этой библиотеки обнаружил просто очень полезный текст. Там и про количество знаков в номере, про что тут в соседних комментах пишут (п. 16) и много всякого другого на тему "не всё так просто".

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

Как пример - Финляндия с 12-значным номером +358... Для локального вместо +358 используется 0, ровно так же как с восьмеркой в России

Звонили по межгороду "через восьмёрку". Возможно поэтому 8 ?

Как раз наоборот. Не 8, потому что звонили "через восьмерку", а звонили "через восьмерку", потому что 9.

А почему 9 тогда? понятнее не стало.

Цифра "8" это выход на муждугороднюю АТС. Поэтому в городе нет АТС где номера начинаются на "8" и на "0", так как "0" это выход на специальные службы города.

звонили "через восьмерку", потому что 9

Извините, ход Ваших мыслей туманен.

И вы извините, но очень ясный ход мыслей, как и то, что тут опечатка. Не 9, а 8, очевидно.

Цифра "8" это выход на междугороднюю АТС с городской АТС. Иногда в крупных офисах стоят собственные мини-АТС. Выход в "город" можно настроить на любую цифру, без набора цифры мини-АТС просто датс отказ, так как внутри нее используются 4х значные номера, а Вы набрали 6-ти значный.

> Выход в «город» можно настроить на любую цифру

Тем не менее классика советских ведомственных АТС — выход в город через 9, и это повторялось в типовых сетапах и постсоветского периода, когда массово ставили всякие панасоники в офисах.
У меня дома до 1985 был телефон подключен к такой ведомственной станции (видимо, проще варианта не нашли), в город надо было всё набирать через 9 :)

> без набора цифры мини-АТС просто датс отказ

На одной из работ по желанию начальства устроили разделение по префиксам (там стояли Nortel Meridian), внутренние телефоны начинались с 1, 3, 6, 9, а в городе были 2, 4, 5 (и 8 на межгород). Но через несколько лет стали выдавать номера на 3… и оказалось, что для них нужно вводить какой-то более длинный префикс…

Раньше 9 это был коммутатор
Набираешь 9 и ждешь ответ, потом говоришь: барышня, смольный мне
она руками соединяет провод.
в военных частях некоторых все еще так
а в офисах женщину вынули — автомат поставили

> Раньше 9 это был коммутатор
> Набираешь 9 и ждешь ответ, потом говоришь: барышня, смольный мне

Там был вообще не 9, а произвольный сигнал на линии — цепочка разрывов любой длины.

> в военных частях некоторых все еще так

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

АТС отказ даст только IP телефонам, потому что те, передают номер целым пакетом.

Если телефон аналоговый или цифровой, АТС примет первые набранные цифры и по ним попытается позвонить. Если такой не найдётся - тогда даст отказ.

А может и совпасть. Например у вас выход в горд на 9, а человек наберёт 123456; если у вас на АТС 4 или 5 цифр, АТС вызовет абонента 1234 или 12345 соответственно.

А ещё может быть вариант без отдельной цифры выхода в город. Например городская АТС продаёт вам тысячу номеров 43ххх. Тогда все набранные номер 43ххх будут ходить внутри АТС. А все остальные уходить на город.

«8» была изначально зарезервированным кодом выхода на межгород по всему Союзу. Собственно в том же контексте она и продолжает использоваться 8-код_города-локальный номер. Сейчас, как я понимаю, есть желание с 8 мигрировать на 0, в соответствии с какими-т международными правилами.

Правила действительно есть и очень простые: один 0 - выход на межгород, двойной 00 - выход на международную линию. Знак "+" взаимозаменяем с 00 - более того, именно поэтому на большинстве цифровых клавиатур он набирается либо долгим, либо двойным нажатием на кнопку с нулём.

Когда в СССР проектировали телефонные сети, правила придумали свои (с 8 для межгорода и 810 для международных звонков), поэтому в 90-х было куча костылей нагорожено, которые постепенно рассасывались.

В США 011. Но это именно межгород внутри страны и ряд стран, входящих в North American Numbering Plan. А на домашнем телефоне единица, потом код города и телефон. Причем часто не срабатывает (по крайней мере, лет 10-15 назад так было), если абонент решил сэкономить и не платит за межгород. И это именно для межгорода. Для международных звонков с домашнего телефона тоже 011.

На практике может быть и на мобильном телефоне межгород вырублен, а заодно и междугородные звонки. Я так однажды залетел в счет около $500 за приходящие звонки из России в Нью-Йорк (не только, отвечал тоже) и вырубил их вообще! Фирма была Verizon, которая много чем неприятна, но речь в этой дискуссии не о ней.

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

А это точно работает? Вроде можно было менять только оператора внутри одного региона. Или уже можно и регион поменять?

Это точно не работает.

Нельзя сменить регион. Оператора можно, а регион нет.

На Йоте можно. На других не знаю.

На Йоте сменить регион тоже нельзя. Обслуживаться и ходить в офис другого региона, получать там симки и т.п. - можно, но номер останется в исходном регионе.

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

+7 - это как-бы инкремент (++7) и в итоге получается 8 xD

Это было сделано еще в СССР для удобства, чтобы не искать в телефоне знак плюс

Действительно, найти знак плюс на телефоне с дисковым номеронабирателем довольно затруднительно.

Как вы можете видеть выше если вы наберете в телефоне +8, то вы позвоните в Китай, либо Японию. Но если вы наберете 8 без плюса, то вы также попадаете в Россию.

Это называется национальный план нумерации. И там не только восьмерка, но и еще вагон префиксов.

Правда с внедрением услуги сохранения номера телефона, когда ты можешь менять симку сохраняя номер телефона, смысл кодов регионов стал теряться

Ну вы бы хоть википедию бы почитали что ли. DEF не выделяются по географическому признаку по определению. Один и тот же DEF может быть попилен на несколько регионов.

На самом деле при наборе такого номера оператор автоматически дописывал вначале двойки или шестёрки, чтобы цифр стало семь.

Вы описываете какой-то отдельный частный случай нормализации номера. Ни 2, ни 6, ни длина 7 знаков не являются сакральными числами. На самом деле все описано в национальном плане нумерации и его редакциях за предыдущие годы.

В общем я б побоялся использовать вашу либу для разбора номера :)

Я совсем перестал маски использовать. Потому что один напишет номер через +7, другой через 8, третий - совсем без них

Я еще не понял в какой момент, (код) страны образует с (кодом) региона почему-то префикс из первых трех цифр, так что последние 7 цифр из 10 достаются абоненту. Ведь код страны может быть из трехзначного числа? Да, и от куда лимит 10 в цифр взялся? Мой полный номер мобилы в италии без полюса(+) содержит 13 цифр.

6.1 Длина международного номера E.164 МСЭ-Т рекомендует, чтобы максимальная длина международных номеров для географических зон, глобальных служб, cетей и групп стран не превышала 15 цифр (не включая международный префикс).

Т.е. номер в м/н формате (код страны + национальный номер) не рекомендуется делать длиннее 15 знаков. Автор просто ошибочно экстаполировал российский стандарт (10 знаков) на весь мир.

Чисто теоретически, "Address Signals� The actual digits that comprise the called number. This includes digits 0�9 and the overdecadic digits (A�F), however, the overdecadic digits are not supported in all networks. Each digit is coded as a four-bit field." (из описания состава IAM в SS-7). Т.е. теоретически в конце номеров могут встречаться и буквы от A до F. Во всяком случае транзитное оборудование такой вызов, скорее всего, пропустит. Ну и кто-то где-то в буржуинии (у нас - нет, закон явно запрещает) может использовать такие номера. Впрочем лично я такое ни разу не встречал.

Для MNP Судя по https://habr.com/ru/company/beeline/blog/244595/ (первые строки) и https://habr.com/ru/post/216537/ есть такая штука как Routing Number и вот он — начинается с D именно чтобы нельзя было руками набрать.
Судя по https://cyberleninka.ru/article/n/dva-voprosa-uspeshnoy-realizatsii-mnp-v-rossii в мире — есть варианты где не только D в таких случаях используется

Ага. Часть разработчиков леняться читать стандарты, а ориентируются на свой (небольшой) опыт.

А потом не возможно ввести номер , формат которого отличается от их мировозрения..

Здорово - для меня оказалось новостью, что после 8-ки вместо кода города можно выбрать оператора, а 810 - считал просто выходом на межнарод, а оказывается это выбор оператора и можно звонить через разных.

В сотовой сети номера для оператора выдаются блоками по 10 тысяч. Первые 6 цифр сотового номера позволяют определить регион подключения. После введения закона об отмене цифрового рабства можно перейти со своим номером к другом оператору, но нельзя поменять регион. То есть при переезде Питер -> Самара номер Вы никак не перенесете.

В сотовой сети номера для оператора выдаются блоками по 10 тысяч. Первые 6 цифр сотового номера позволяют определить регион подключения.

По моему с приходом MVNO такие ограничения убрали. Сейчас дают любое кол-во номеров, втч. не кратное 10.

900;0062000;0062999;1000;ООО "Т2 Мобайл";Ростовская обл.
900;0063000;0099999;37000;ООО "Т2 Мобайл";Краснодарский край
...
958;4041920;4041989;70;ОАО "МТТ";Республика Татарстан
958;4041990;4042049;60;ОАО "МТТ";г. Москва * Московская область
Тот самый случай, когда комментарий ценнее статьи! Спасибо, pmcode.
А автору статьи двойка за плохую подготовку.

Интересно +8(800) у Китая купили/арендовали ?

А где такое используется? 8(800) только в голову приходит.

Новая тема у телефонных мошенников, звонят с номера, похожего на номер какого-нибудь колл-центра банка, но не 8-800, а +8-800, что является обычным номером где-то там в другой стране. А обманываемый про это не в курсе, видит что вроде начинается на 8800 а что там плюс есть - не понимает что это означает, и доверяет звонящему.

Ничего себе. Хитро придумано, думаю большинство действительно не в курсе таких нюансов про разницу между +8 и 8.

Интересно, а если у человека настоящий номер банка сохранен в телефонной книге, телефон отобразит имя из книги или всё-таки номер? Например, сохранен как "Мой банк" с номером +7(123)456-78-90 или 8(123)456-78-90, что покажет телефон, если позвонят с +8(123)456-78-90: имя или номер?

Зависит от логики приложения звонилки. На многих Xiaomi выборка из адресной книги идет по 10 цифрам начиная с конца.

А. Это видимо когда операторы наконец начали соблюдать требования и блокировать вызова с АОНом 8-800, они и решили пойти в контр-наступление.

Первое правило, все номера в международном формате, без исключения начинаются со знака +.

Знак "+" заменяет "00". Работают оба варианта.

Не столько к автору, сколько в общем к веб-разработчикам: пожалуйста хватит делать маскирование input'ов, 99.9% что чего-либо не учтёте и что-нибудь из привычного сломается. Вставка из буфера обмена, autocomplete из телефонной книги, переход по tab'у между элементами или ещё что нибудь. Оставьте type="tel" для того чтобы OS нужную клавиатуру подставила, при желании можно поиграться с autocomplete (в данном случае, то что начинается префикса tel) и удалите лишние пробельные и пробелы-тире-скобочки перед передачей на валидацию. А то нарисуют красивостей в формах, а потом, даже в банках, то номер телефона автоматом не подставить, то данные карты.

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

У них синдром вахтёра, сэр.

Про емейлы я даже статью перевёл, которая приходит к такому же выводу.

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

Возвращаясь к статье, на скриншоте после поиска префикса кода Франции по названию страны (уже, имхо, вещь в себе), подставляется префикс +33, а далее идёт привычный русскому человеку (___) ___ __-__. Итого 12 цифр с country code. При этом в статье «Telephone numbers in France» говорится:

When calling France from abroad, the leading zero should be omitted: for example, to call a number in Southwest France, one would dial +33 5 xx xx xx xx.

т.е. 11 цифр и с другой группировкой. При том что в стандарте на MSISDN (то что привычно называется номером телефона), в принципе, может быть до 15 цифр (регулируются международным и локальным законодательствами, попробуй их все найди, да ещё в актуальном состоянии поддерживай).

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

Согласен с вами целиком и полностью! Типичная для нашего времени ситуация: в погоне за «красотой» и пользователю неудобства создаются, и лишние ресурсы тратятся на подключение этих самых скриптов форматирования (траффик, память, процессорное время)!

На мой взгляд, с точки зрения юзабилити самое правильное решение такое: самый обычный input с type=tel и, возможно, уже прописанным значением +7. А под ним — вывод в виде обычного текста номера с разделителями и красивым форматированием (на полной версии сайта, на мобильной можно и без этого обойтись).

Как вариант, форматированный номер показывать при потере фокуса

Ещё половина не умеет удалять стандартное значение. И когда начинаешь вводить номер, то получаешь +7 905 +X XXX XXX XX XX.

Встречал даже более изощрённое, когда дефолтное значение удалялось, но если набирать быстрее, чем 1 цифру в секунду, то не успевало и дефолтное значение перемешивается с вводом. Это на Ozon было, кажется

еще неоднократно встречал глюк, что эта дебильная стилизация форм ввода просто едет крышей, и фактически номер вводится в случайном порядке, то есть вместо +71234567890 получается +18237506479

Да, такое тоже видел. Но я даже не могу предположить как можно так сломаться

> Но я даже не могу предположить как можно так сломаться

Корректор значения в форме, работающий асинхронно по результатам выборки откуда-то с сервера и игнорирующий последующий ввод.
Идеально работает в тестовых условиях (сервер в локалке или на той же машине, дизайнер спокойно вводит по одной цифре) и ломается в реальных (до сервера секунда RTT, он перегружен, клиент вводит 4-5 цифр в секунду привычным жестом).

Чаще не 905, а просто +7. +7 жёстко задано за пределами поля ввода, а автоподстановка своего номера телефона подставляет с +7, и вместо +7 (999) 111-22-33 получается +7 (799) 911-12-23, а последняя цифра просто исчезает

Особенно бесит когда просят ввести в формате +7... но при этом само подставляет +7 после ввода первой цифры.
Ещё натыкался просят ввести ФИО, тыкаешь в поле, а там уже надо ввести не ФИО, а только фамилию, для ИО другие поля. Я сутки не мог понять почему перевод не проходит (на смартфоне за клавиатурой не видно было полей ИО)

Мы не требуем формата и вводить можно со скобками, пробелами и тире (буквы нельзя, но это было бы уже слишком). Но мы вынуждены валидировать что он верный, иначе мы не сможем отправлять смс автоматически, а для нас это критично.

Но валидация внутри вычищает мусор, и используем библиотеку гугла, которая ест все номера, включая разрешённые региональные (и правильно восстанавливает страну по ним). Пока не нашли лучшего способа.

Вспоминая как устроен кейпад телефонов вы говорите - буквы нельзя ? Ой - вы кажется отрезали номера которые можно указывать в формате

букв - например +1-800-GOT-JUNK он же  +1-800-468-5865. В тех же штатах видимо весьма прижившаяся тема.

Ководство § 91. Краткая история телефонных номеров





Да я знаю. Но мы не работаем на американский регион, а если это американский экспат в Европе - мы далеко не первые кто ему не даст вводить буквами. Но, может, и расширим в будущем.

Самый лютый вариант - это когда используют 2 или более отдельных инпута.

Забавный случай произошел, когда на форме заказа из-за автоматически подставляемой семерки пропала последняя цифра номера. Но оператор был упорный и стал обзванивать все возможные 10 номеров по порядку :)

Так это вы дизанерам говорите и манагерам, которые хотят "кравсимый димзайн". Разработчки просто с фигмы верстает.

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

А зачем телефоны показывают клавиатуры с всякими точками и прочими непонятными знаками в инпутах, помеченных tel?

Точками иногда отделяют группы цифр (как мы минусами)

Запятая, точка с запятой - установка задержки после набора номера для передачи DTMF последовательности (например, добавочный номер в офисе, ПИН карты оплаты междугородних переговоров и т.д.)

Кстати, про добавочный — пользовался когда-то сервисом приёмки факса, его шлюзовали на электронную почту. ЕМНИП в качестве добавочного там был довольно длинный внутренний идентификатор клиента.

Для РФ формат 7(ABC|DEF|ИИС)XXXXXXX.

DEF (на данный момент 9XX) - мобильные

ИИС (на данный момент 8XX) - "бесплатные", "premium rate" и прочие сервисные

ABC - все остальное, земля (стационарные номера)

Оперативные изменения см. в документах Россвязь.

Лично я (при необходимости действительно серьезной обработки номеров) первые символы анализирую по таблице префиксов стран, дальше для РФ - см. выше, международку не трогаю, просто общий лимит в 15 символов (SS7 больше не пропустит, насколько я помню формат заголовка IAM).

В одной из книг нашел упоминание что изначально в плану нумерации для сотовой сети был выделен номер DEF 900.

Спасибо, статья небольшая, но познавательная. Вот бы дать её почитать тем, кто упорно использует 8 в начале номера, вместо +7. Это чревато! Из необычных багов - на браслете у родственника при входящем звонке не отображалось имя контакта. Оказалось, что все номера в книге записаны через 8-ку, и браслет, видимо, не мог сопоставить входящий с адресной книгой.

В старых моделях телефонов была такая проблема. Телефон не определял контакт, приходилось ручками менять номер с "8" на "+7".

Угу, а я просто привык набирать сразу +7 если записываю номер вручную.

Mi band 4 не умеет показывать имя контакта с 8, приходится записывать +7 в телефоне.

Например все страны Африки начинаются с 2. Все страны Северной Америки с 1 и т.д.
но что-то, как обычно, пошло не так, и Гренландия имеет код 299.

Физически это — Америка, политически — Европа, а «телефонно» — Африка.

Фарерские острова (автономный регион в составе Королевства Дании) тоже имеют "африканский" код, +298

Коды раздавали в лохматых годах. Политически могло бы быть иначе, но чисто экономически было просто выгоднее дать код, который проще маршрутизировать. Это сейчас, в эпоху интернета, с номерами делать можно что угодно. А тогда это были механические устройства и чтобы загнать какой-то код в определённую точку земли нужно было нехило так железок поставить по пути.

Не нашел в статье ответа на самый интересный вопрос: как именно определяется где закончился код страны и начался номер абонента в стране, если длина кода и длина номера не фиксированы (между разными странами есть отличия) и набираются без разделителей?

Никак. Вернее по таблице кодов стран ITU.

Загоняете таблицу всех международных кодов в prefix trie и ищете максимальное совпадение.

Прошло почти 10 лет с завершения обучения по связной специальности ( Сети связи и системы коммутации ). Добавлю некоторые моменты в текст статьи.

На обычном дисковом телефоне нет знака "+" , чтобы позвонить зарубеж надо набрать "8" - ( выход на междугороднюю АТС ), затем "10" ( выход на международную АТС ), потом набрать номер абонента. Не думаю что сейчас найдутся люди, которые знают почему именно такие цифры и такой порядок был придуман в СССР.

По сотовым номерам. Номер сотового телефона выглядит следующим образом (912-345)-ХХХХ, где последние четыре цифры и определяют номер абонента. Первые шесть цифр определяют оператора сотовой связи и регион. Проверить принадлежность номера к региону можно через различные бесплатные сайты. Операторы арендуют номера у государства блоками по 10 тысяч штук ( от 0000 до 9999 ). Обычно арендуют несколько блоков по 10 тысяч номер в каждом.

Изначально для сотовой связи планировалось выделить номерную емкость 900-ХХХ-ХХХХ.

Вступил закон об отмене "цифрового рабства", по которому можно поменять оператора сотовой связи, но нельзя поменять регион. Переезжая из одного региона РФ в другой ( Воронеж -> Омск ) нельзя забрать с собой сотовый номер.

В некоторых телефонах была недоработка распознавания номеров при звонках. Если абонент записан 8-9хх.., при звонке высвечивается как +7-9хх, то телефон считает эти два номера различными.

Некоторые люди не знают что в России номера должны начинаться либо "+7", либо "8", поэтому может произойти недопонимание, если Ваш номер запишут как "9хх.." в телефонную книжку, а затем не смогут до Вас дозвониться.

На гифке в начале статьи баг (лишняя цифра): французский номер мог бы писаться так: +33 (123) 456-78-9, но никто никогда так не пишет. Пишут либо +33 123 456 789, либо +33 1 23 45 67 89. Местный номер пишут с нулём вместо +33 группами по две цифры.

Я для французов свой номер всегда переформатирую +7 903 123 45 67 -> +7 90 31 23 45 67.

первые 3 цифры из 10

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

С самой дикой записью столкнулся в Словении: телефон записывается в справочниках/рекламе в виде +386(0)xx xxx xxx. И пока я не понял, что это _или_ +386 _или_ 0 префикса выхода на нумерацию страны — не мог дозвониться :((
Сейчас вроде это уже не в традиции, но несколько лет назад было типовым…
С точки зрения синтаксиса языка как раз очень логично.
Меня, наоборот, всегда раздражала наша традиция писать код города в скобках.
8 (495) 123 45 67
Почему, почему «495» в скобках?! Это такая же обязательная часть номера, как и остальные. Кроме звонков с местных городских телефонов, но тогда и «8» надо убрать в скобки.
> Почему, почему «495» в скобках?!

Потому что наглядный стиль выделить эту часть номера — чтобы было очень заметно при парсинге глазами.
Когда в номере много цифр (помните правило «7±2»?) — становится неудобно читать, особенно в варианте, как вы написали — с пробелами.
«8 495 123 45 67» — даже я, привыкший работать с числами, на таком может запнуться. Хотя бы дефисы сделали: «8-495-123-45-67» — было бы лучше.
А скобки помогают выделить этот код. К тому же на него в номере отдельное внимание (у нас, например, (50) — о, Vodafone, (98) — о, Киевстар, сразу понятно, сколько будет стоить звонок, (90) — особо платные, сюда не звонить).

Тут скобки — это не скобки в смысле необязательности или чего-то такого, а средство выделения, и это, я считаю, очень правильно. Если вам не нравятся конкретные символы для этого — ну я сомневаюсь, что была адекватная альтернатива на момент введения…

> Кроме звонков с местных городских телефонов, но тогда и «8» надо убрать в скобки.

Что-то мне помнится, что в Москве в связи с тем, что у неё сейчас 3 префикса, любой набор надо делать в 11 цифр — 8(49z)xxx-xx-xx (z∈{5,8,9}). Так что пример чуть неудачный:)

Скобки для кода города использовались еще когда мобильных не было. Помню, конечно, смутно, но в 90-е могли писать вроде

(095) 123-45-67

Без восьмерки.

При этом москвичи (логично) опускали скобки, а остальные понимали, что звонок будет междугородний. Заметим, что скобки там были вряд ли для зрительного выделения.

Потом появились мобильники. Звонить с них нужно было всегда по полному номеру. Типа 8-916-123-45-67 или 8-095-123-45-67. В мобильных номерах скобки не писали, потому что там нет кода города. В полных городских номерах код города был, и его по привычке начали писать в скобках, теперь уже не несущих никакого смысла.

Потом кто-то додумался так же поступать с кодами операторов.

P.S. Ни с чем из написанного вами я не спорю.

> но в 90-е могли писать вроде
> (095) 123-45-67
> Без восьмерки.

Это стандартная запись в Украине и во многих европейских странах. Например, мой мобильный телефон будет записан как (067)4xx-xx-xx.
(Тут, однако, есть одна особенность Украины. Реально NDC код двузначный, и надо было бы писать (67)4xx-xx-xx, и так тоже пишут. Код страны +380, и писать +380(67)4xx-xx-xx правильно. Но некоторые не понимают и пишут +38(067)4xx-xx-xx, что уже некорректно.
Набор с телефона у всех мобильщиков понимает и 9-значный без нуля, и 10-значный с нулём, и 12-значный с плюсом. А вот со стационарного (как минимум Укртелеком), если не тот же городской узел, надо набирать с 0 в 10 цифр или 00 плюс 12 цифр.)

Если правда, что в России переведут набор на евростиль, то будет так же, с поправкой 380->7. Хотя с нынешней политикой я сомневаюсь, что это будет скоро.

> Заметим, что скобки там были вряд ли для зрительного выделения.

Я думаю, что как раз для этого, учитывая, что ой не все номера московские (киевские, и так далее).

> P.S. Ни с чем из написанного вами я не спорю.

Ну вот по факту возразили сразу по двум пунктам :)

Но некоторые не понимают и пишут +38(067)4xx-xx-xx, что уже некорректно.

О, у меня из-за этой заморочки накрылось одно свидание в Киеве: в остальной Европе такая запись означает "либо +38 из-за рубежа, либо 0 внутри страны", и я вводил номер без нуля (11 цифр с плюсом) :-/

Но некоторые не понимают и пишут +38(067)4xx-xx-xx, что уже некорректно.

Некорректно, но очень удобно, потому как со стационарного телефона мобильные набираются именно начиная с 0.
В вашем примере получится 067-4xx-xx-xx
И когда диктуют свой номер телефона, обычно начинают именно с нуля, чтобы показать, что диктуют вместе с кодом оператора, а не местный наземный номер
> Некорректно, но очень удобно

Ну вот представим себе, что Украине выдали бы не 380, а 386. Было бы точь-в-точь как я рассказывал пример про Словению — +386(0)67-4xx-xx-xx, и все должны были знать, что надо набирать или +386, или 0?
Но ведь в остальной Европе все это знают! (хотя скобки ставят всюду по-разному)
Например на www.uksmallbusinessdirectory.co.uk/listing-contact/94539 указан номер "+44 (020) 3287 6050", и это значит «020 3287 6050 изнутри Британии, +44 20 3287 6050 извне».

Только вчера прятель не дозвонился по номеру из 10 цифр (Москва), который я ему написал, полагая, что +7 -то уж он сообразит добавить.

"Неправильно набран номер"

Не обязательная, хотя как в Москве не знаю. Но в других городах когда вы звоните из города (неважно с городского телефона или с мобильного) в этот же город 8 и код города можно отбросить, набрать номер просто как 123 45 67 и все сработает.
Однажды посреди ночи звонок с номера на +4 и на немецком начали что-то втирать со словами «банк», «карта» — по всей видимости, евромошенники ошиблись с кодом страны.

Хорошо написано, но я и так это знала😊

А вот тем, кто родился уже в отсутствие стационарных телефонов в квартирах, и никогда не ходил на телеграф позвонить в др город/страну весьма полезная информация 👍

Вопрос почти в тему. Огромное количество сервисов присылают SMS с кодом, используя SIM-карту в качестве модуля безопасности. Беда в том, что SIM-карты без использования (а точнее - оплаты, ведь всё в этом мире про деньги) в течение нескольких месяцев становятся неактивны. Есть ли страны, в которых законодательно запрещено отбирать у абонента телефонный номер и где можно получить вечную SIM-карту без абонентской платы?

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

Что-то я уверен, что таких нет и не будет, потому что номерной ресурс ограничен (местами — заметно ограничен) и даже нормативы ITU-T требуют от операторов мер по поддержанию актуальности этого ресурса. Оператор должен за него регулярно платить какие-то деньги регулятору, а дальше компенсирует это на своих абонентах.
Хотите уникальный идентификатор — не вопрос, может, кто-то сделает, но это будет не телефонный номер.

Насчёт ограниченности номерного ресурса, если посчитать для России, то при номерах вида +7 XXX YYY ZZZZ получается, что каждому из 146 миллионов можно выдать по 68 номеров и ещё останется.
Ну и, если вдруг невиданный экономический скачок приведёт к увеличению популяции на два порядка, что помешает добавить ещё одну циферку, увеличив "ограниченный ресурс" ещё в 10 раз? Чай тут не четыре октета в так любимом всеми IPv4.

И сколько опсосы платят регулятору за каждый номер?

> что каждому из 146 миллионов можно выдать по 68 номеров и ещё останется.

1. Сократите это XXX раза в полтора: не может быть 0, 2, 80x, 90x…
YYY аналогично (если не сотовые или иной вариант цифрового телефона с посылкой полного номера, а не по цифре за раз) пропускается ряд первых цифр.

2. Вы не учитываете неравномерность распределения. Например, сколько людей в Москве и сколько в каком-нибудь Красноярском крае? А ведь каждый такой регион получает свой код. Да, есть многорегионные коды, это смягчает неравномерность, но она всё равно остаётся.

3. Подсчитайте лучше количество кодов, доступных сотовым операторам. Возьмите какой-нибудь самый населённый регион (вроде центра), сколько кодов у него и сколько потенциальных желающих получить и сохранить номер. Сколько всяких 8-916 (или какой там код) надо выделить на Москву с окрестностями? Я думаю, вместо 68 у вас быстро получится что-то вроде 2-3.
Я принципиально не хочу закапываться в российские реалии, а вот украинские для сравнения. Вроде бы тоже колоссальный запас (9 цифр, но 40 миллионов человек — 25-кратный запас, да?)
Считаем теперь, 3 оператора по 20 миллионов клиентов (упрощение, но близко; многие имеют 2 номера от разных операторов). 60 миллионов — это полностью забитые 6 NDC кодов. Сотовикам сейчас выдано: 50, 63, 66, 67, 68, 70, 73, 91, 93, 95, 96, 97, 98, 99 — 14 кодов. Запас в 2 с хвостиком раза. Маловато, если будет вечное сохранение — выжрется максимум за 5 лет (а если учесть, что многие бросают старый номер и берут новый по акции, оповещая только ближайший круг — так вообще за год). Можно ещё чуть раздать, но половину пространства занимает стационарная связь (которой столько не нужно — местами можно 2-3 области посадить на один NDC код — но административно не хотят так делать).

Для России, вы говорили про 68 раз… делим на 10 по результату украинского подсчёта, и ещё на 2 за счёт сильно большей неравномерности плотности населения. Остаётся около 3 раз. Этого явно недостаточно. Кстати, почему у вас «несколько месяцев»? Киевстар вроде держит год-полтора от последней оплаты, Водафон — 3 года. У вас уже давка, или народ сильно больше любит акции на новое подключение?

Ну и на уровне интернациональной ITU-T это чисто наши заморочки — какая разница, что людей мало — всё равно принцип общий и надо платить, вон, Индия только плодится :)

> Ну и, если вдруг невиданный экономический скачок приведёт к увеличению популяции на два порядка, что помешает добавить ещё одну циферку, увеличив «ограниченный ресурс» ещё в 10 раз? Чай тут не четыре октета в так любимом всеми IPv4.

Ну да, а потом ещё добавить, ещё…
С теми же IP адресами уже так просчитались дважды: что для IPv4, что для IPv6 не назначено политики «плати рыночную цену», есть разве что косвенное «тут бесхозный ресурс, можно продать». В результате куча монстров держит целые /8 не отдавая никому. Для IPv6 спасает, что адресов заведомо слишком много, и проблема не вспухнет, наверно, лет сто. Для IPv4 уже горит во весь рост.
А для телефонных номеров откуда взять такой запас? Заставлять набирать по 20 цифр? Не надо. Думаю, текущая политика — хоть копейку, но выложи каждый год — вполне разумна.

> И сколько опсосы платят регулятору за каждый номер?

Сейчас — без малейшего понятия. Лет 10 назад интересовался, было что-то вроде 1$/год. Но это от страны зависит.

Заставлять набирать по 20 цифр? Не надо. 

Теперь, когда номера не набирают пальцами по одной цифре, а вызывают из памяти телефона -- какая разница, какой они длины?

> Теперь, когда номера не набирают пальцами по одной цифре, а вызывают из памяти телефона

Кто «вызывают»? Абстрактные некто?
Много номеров таки набираются из рекламы, с веба и т.д., в среднем раз в неделю таки делается — и это я очень мало общаюсь за пределами привычного круга, а есть те, у которого таких десяток в день.

Возможно ли сосуществование дорогих коротких номеров для бизнеса и рекламы, и околобесплатных длинных номеров для простых людей? По аналогии с тем, как короткие домены на порядки дороже длинных.

Мы говорим о внешней терминации номера (как на сотовом, пока не нажмёшь зелёную трубку — сколько угодно цифр) или самотерминации (как с проводного телефона, станция определяет)? Случаи совершенно разные.

Для самотерминации: технически — нет проблем, до тех пор пока выполняется условие Фано.
Собственно 01, 02 по-старому, 101, 102 по-новому это показывают.
Можно хоть так — если первая цифра 1, то после неё 1 цифра номера, 2 — две, и так далее :)
Был анекдот лет 15 назад. Один новый русский говорит другому:
— Запиши мой номер. 8-916…
— Какой-то не пацанский номер.
— 8-916. Это весь номер.
Насколько мне помнится, ещё недавно не то в Харькове, не то в Одессе соседствовали одновременно 6- и 7-значные номера внутригородского набора, отличались первой цифрой. (С межгорода перед 6-значными ставилось 2.)

В случае внешней терминации проблем меньше, но тут возникают свои заморочки. С сотового, например, 4 цифры — это местный короткий номер на 4 цифры или короткий номер под оператором? С плюсом проблем нет, но другого префикса не придумали (все эти короткие входят в «национальный план», вариантов только два — международный или национальный), поэтому надо их как-то разделять иначе.
Может, например, быть, что префикс NDC (область/регион/оператор) обязателен, но короткие спец. фирм не более 5 знаков, а региональные от 6 (а полный, самый дешёвый, 9 или 10). Технология такое позволяет, дело оператора, как их различать.
Такое возможно, например в Нидерландах есть «обычные» мобильные номера длиной в 9 цифр, а есть номера (типа ip телефонии), в которых может быть сколько угодно цифр (обычно 12). На такие номера можно звонить, отправлять смс и так далее, правда почему-то оно через раз работает и не любой сайт такой номер примет.

А есть еще короткие номера по 4 цифры для крупных компаний. Типа как у нас у условного Билайна 0611 номер справочной, только там это не привязано к оператору.

А есть еще короткие номера по 4 цифры для крупных компаний. 

Извне страны они недостижимы; а речь шла о международных номерах.

Не получится. Номер принадлежит по прежнему оператору, а не абоненту.

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

Номера не переносяться между регионами, только внутри одного региона.

В СССР звонили по межгороду через 07, не?!

…я хватаюсь за диск телефона И набираю вечное "ноль семь" Девушка, здравствуйте Как Вас звать?

Или

Швейцар его за ворот
Тут решил открыться он
Говорит: "07 я" - "Вам межгород?
Так надо взять талон"

"07" во времена СССР - заказ межгорода через оператора.

> В СССР звонили по межгороду через 07, не?!

Не-а. То есть не совсем, не всегда, не везде.

1. 07 это оператор, а не автоматический набор. Автоматического становилось постепенно всё больше, но в некоторые места так и не сделали автоматический набор. На международку вообще надо было только через оператора звонить.

Песня Высоцкого, по-моему, про международную связь (в Париж к Марине Влади).

А ещё во многих местах с большей части города междугородный набор не работал, надо было ходить на спец. пункты звонить из профильных автоматов (и тоже варианты — на локального оператора или автоматом). И тоже постепенно подключали к междугородной связи всё больше и больше локальных станций.

2. 07 — это чисто московская особенность (может, ещё каких-то городов, но не всех). В других местах делали иначе. В Киеве, например, разделялись всякие 071, 072, 078… не помню точно, какой для чего, но разделялись междугородка несрочная (заказ за 1-2 часа или на конкретное время), междугородка срочная, международка…

3. Бывали более хитрые системы. Из Луганска (Ворошиловграда) в 1990-м, я помню, звонил через особую сеть, которая была локальной для Донбасса и там наборы содержали длинные цепочки единиц(!) то есть Киев набирался чем-то вроде 1-1-1-1-3-1 (и подождать ещё промежуточного сигнала).
Где-то в начале 2000-х её ликвидировали, совместив с общей системой.

07 - заказ соединения через оператора. АТС не сразу же появились, в начале были коммутаторы с живыми людьми. 8 и 810 - префиксы для автоматического соединения.

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

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

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

Это было сделано еще в СССР для удобства, чтобы не искать в телефоне знак плюс, для внутренних звонков, если оператор получает от вас телефон без знака плюс с 8, то просто меняет его на +7

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

Нет, увы, было не так, никто никуда ничего не подставлял. Оно вообще иначе было устроено. Декадно-шаговые механические АТС по-другому и не умели. Они не работали с цифрами, они имели дело с сигналами (тональными или пульсовыми) и коммутацией физических каналов связи.

Вообще, есть одно принципиальное отличие в процедуре набора номера на мобильном телефоне и на стационарном:

Когда вы набираете номер на мобильном, вы сначала его набираете весь целиком, а потом отсылаете. При этом вы можете набрать и меньше цифр, чем надо, и больше (звонок не пройдет, но именно набрать вам никто не помешает). Мобильный оператор получает номер полностью, парсит его и принимает решение, куда зароутить звонок. В процессе парсинга возможны разнообразные подмены и т.д. — всё как мы любим в программировании. Условно говоря, номер передается оператору в "пакетном режиме". Сама возможность этого обусловлена тем, что АТС мобильных операторов — это современные "софтверные" АТС.

Когда же вы набирали номер на классическом стационарном аппарате, то каждая цифра "отсылалась" сразу по мере набора. Хотя, конечно, трудно говорить об отсылке — между телефонным аппаратом и АТС уже в момент подъема трубки было установлено соединение (был гудок в трубке). Дальше вы начинали набирать номер, при этом АТС в реальном времени анализировала каждую набранную цифру, и если вы набрали что-то не так, то она прерывала вас, например, короткими гудками, еще до того, как вы закончили набор. В процессе набора вы не смогли бы набрать меньше цифр, чем надо (АТС будет ждать очередной цифры, в трубке будет тишина и больше ничего не будет происходить), вы не смогли бы набрать больше цифр, чем надо (АТС начнет устанавливать соединение с абонентом по поступлении последней цифры из ожидаемого кол-ва). Не уверен насчет маршрутизации локальных внутригородских номеров, но если вы в самом начале набрали "8", то вас тут же прокидывало на междугороднюю АТС и дальше ваш телефонный аппарат общался уже с ней (как правило, после прокидывания на межгород даже тональность гудка в трубке менялась, это же всё аналоговое было). Дальше междугородняя АТС ждала от вас либо код города, либо команду на выход на межгород ("10"). Таким образом, маршрутизация звонка осуществляется пошагово, с переключениями в реальном времени на те АТС, которые отвечают за то или иное направление. Условно говоря, номер передавался оператору в диалоговом режиме, а соединение устанавливалось прямо в процессе набора, поэтапно, от АТС к АТС. Ну и сами АТС были громоздкими механизмами с физической коммутацией соединений, отличаясь от нынешних даже больше, чем мэйнфреймы 70-80-х отличались от PC. Чуть лучше, чем тетенька-оператор в совсем уж старых фильмах — но принцип ровно тот же.

P.S. Отсюда, кстати, вытекает, что только международный формат записи номера (с плюсиком и т.д.) определяет универсальный и не зависящий от местонахождения звонящего "адрес" абонента в мировой телефонной сети. Заданный, говоря современным ИТ-языком, в декларативном стиле. Дескать, вот номер — а теперь давай, соедини меня с ним, мне все равно как ты это сделаешь.

Формат же записи с восьмерками, нулями, десятками, выходом на межгород и вот это всё — это, фактически, не номер, это маршрут ("сначала выйди на межгород, набрав 8, потом на международ, набрав 10..., а если ведомственная АТС, то прежде всего выйди в городскую сеть, набрав 9"). И этот маршрут зависит от того, в какой точке телефонной сети набирается номер. Императивный стиль, определенно.

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

Кстати, забавный факт — в SIP для поддержки такого набора есть спец. метод:

21.4.22 484 Address Incomplete

The server received a request with a Request-URI that was incomplete.
Additional information SHOULD be provided in the reason phrase.

This status code allows overlapped dialing. With overlapped
dialing, the client does not know the length of the dialing
string. It sends strings of increasing lengths, prompting the
user for more input, until it no longer receives a 484 (Address
Incomplete) status response.


Если FXS порт (средство подключения аналогового терминала) настроить на это, то будет общение типа
<- INVITE 1
-> 484 Address Incomplete
<- INVITE 10
-> 484 Address Incomplete
<- INVITE 101
-> 180 Ringing
-> 200 OK
"Оператор 29, МЧС, что у вас горит?"


Но большинство всё-таки затачиваются или на таймаут от последней цифры, или явный '#' как признак «цифры кончились, посылаем полный запрос».

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

От местонахождения, или от оператора?

Грубо говоря, если я с российской симкой нахожусь в роуминге на Кубе, то будет ли работать восьмёрка в начале номера, и будет ли работать кубинский код межгорода 119?

> то будет ли работать восьмёрка в начале номера

Так это же как раз не международный формат.

> и будет ли работать кубинский код межгорода 119?

С плюсом — не должен работать, по определению. Будет работать некий шлюз по умолчанию (скорее всего, самый дорогой).
А вот без плюса уже куча вариантов.
У Киевстара так работало несколько лет. Хотите через классический PSTN — ходите через +. Хотите через VoIP, в разы дешевле, но может быть забит — вместо плюса набирайте 015 (012? не помню точно).
Сейчас убрали — видно, всё загнали на VoIP :)

Так это же как раз не международный формат.

Именно про это и вопрос: нужен ли мне, при каком бы то ни было местонахождении, международный формат?

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

Так я уже в третий раз задаю вопрос: это реалии российской территории, или реалии российских операторов?

Если у меня российская симка и я с ней еду в тмутаракань, я оттуда дозвонюсь по восьмёрке или нет?

Я честно не знаю.

> Если у меня российская симка и я с ней еду в тмутаракань, я оттуда дозвонюсь по восьмёрке или нет?

Нет, насколько я знаю. На своего оператора гарантированно раутятся только *100...*119, остальное — дело того, к кому попал в роуминг. А у них таких правил нет, но могут быть свои местные.

Так я уже в третий раз задаю вопрос: это реалии российской территории, или реалии российских операторов?

В обсуждаемом контексте это тождественные понятия. Реалии российских операторов являются таковыми только на российской территории, в их, этих операторов, сетях.

Когда же вы в роуминге — в чужой сети, где имеют место ее (оператора/территории) собственные реалии.

> нужен ли мне, при каком бы то ни было местонахождении, международный формат?

Если задача универсально дозвониться — да, нужен.
Иначе будет как в высокофидошные времена: на тот же локальный блок (город, сельский район) звонить через восьмёрку было нельзя, а все телефоны в нодлисте писались в международном формате, поэтому строились правила вида (первое сработавшее останавливает, пример для Киева):

380442 -> 2
380444 -> 4
380445 -> 5
38044 -> 8w2 (выход на область; пока область не перевели в 045, у них были блоки на 6, 7, 9)
380 -> 8w0 (например, Львов — 38032 превращался в 8w032)
-> 8w10 (вся международка)

Поверьте, вы не захотите сейчас разбираться в том, как из конкретного села куда-то звонить;) и даже как из-под конкретного оператора роуминга.

Грубо говоря, если я с российской симкой нахожусь в роуминге на Кубе, то будет ли работать восьмёрка в начале номера, и будет ли работать кубинский код межгорода 119?

Поскольку я не настоящий сварщик и с телефонией знаком постольку-поскольку, я могу лишь обоснованно предполагать. Обоснованное предположение заключается в том, что когда вы в роуминге на Кубе, вы находитесь в сети местного оператора, звонки в которой маршрутизируются оборудованием местного оператора и по его правилам. Соответственно, раз местный оператор ничего не знает про российскую практику подмены 8 на +7, то вы никуда не дозвонитесь. Кубинский код межгорода, возможно, работать будет, а возможно и нет — это зависит от настроек маршрутизации местного оператора. Если у абонентов местной мобильной сети этот код работает — будет работать и у вас.

Именно потому, что все другие форматы записи номера — это "маршруты", использующие "команды" (8, 10, 8-10, 9, 0, 00 и т.д.), понимаемые (или не понимаемые, или понимаемые не так) оборудованием сети, к которой вы подключены.

номер, при этом АТС в реальном времени анализировала каждую набранную цифру,

Размечтались, "анализировала" она.

Декадно-шаговой искатель

Кадлый "щёлк!" в трубке - это отправка в линию импульса тока. Который вынуждает искатель продвинуться на следующий контакт.

После какого-то времени отсутствия в линии импульсов (в это время диск оттягивают до очередной цифры) линия переключается на следующий искатель.

Размечтались, "анализировала" она.

"Обрабатывала" сойдет? Ну вот и славно.

> Кадлый «щёлк!» в трубке — это отправка в линию импульса тока.

Вообще-то чуть наоборот: это отключение нагрузки в виде телефона, ток, наоборот, перестаёт идти и напряжение между двумя проводами возрастает до несущей абонкомплекта (48-60 вольт). Точно так же можно было простучать по рычагу (или тем пластинам, что в последних аппаратах вместо рычага), работало, при правильных длительностях, как импульсный набор. Я развлекался — набирал 11 импульсов — станции иногда странно реагировали ;)

> После какого-то времени отсутствия в линии импульсов (в это время диск оттягивают до очередной цифры)

Нет, таймаут срабатывает уже когда диск вращается назад — у него специально сделан этот замедленный ход и даже единица стоит не в самом начале, а через 3-4 возможных позиции.

> Декадно-шаговой искатель

А вот лучше расскажите в подробностях устройство координатной АТС :) на уровне обучающей статьи хабра ;)
Она на порядок сложнее педально-шаговой (или древесно-шаговой, не знаю, какие оставались в последние годы) и со множеством хитрых решений.

Ну, я сварщик телефонист не настоящий, в 1985 году на АТС не работал, поэтому про конкретные детали реализации могу быть не точен, но на общеобразовательном уровне принцип работы знаю.

А вот лучше расскажите в подробностях устройство координатной АТС :) на уровне обучающей статьи хабра ;)

Это уж лучше Вы, раз уж Вы в этом хозяйстве варились: если начну я, то меня такие как Вы ногами запинают.

> Это уж лучше Вы, раз уж Вы в этом хозяйстве варились

Увы, мой опыт админа интернет-провайдера (пусть и с пачкой диалап-приёмников нескольких видов) не может помочь собственно в АТС.

> в 1985 году на АТС не работал

И я в этом году не работал на АТС, а школьником утаскивал куски кабелей со стройки новой станции.:)

и даже единица стоит не в самом начале, а через 3-4 возможных позиции.

https://commons.wikimedia.org/wiki/File:TrimlineExposed.jpg
https://commons.wikimedia.org/wiki/File:TrimlineExposed.jpg
«To miniaturize the rotary dial sufficiently to fit in the Trimline handset, the designers invented an unusual moving fingerstop.»
www.youtube.com/watch?v=3VqMunmL484&t=470
то же самое, запас времени на детект — на обратном ходе.
Не раскрыта тема спутниковой связи. К примеру, телефонный префикс сети Thuraya: +88216.
Любому мальчишке раньше из фильмов про Джеймса Бонда было известно, что достаточно набрать нужный номерок с ближайшего телефона-автомата, воспользоваться своим верным Blue box'ом или набрать код по памяти, чтобы дозвониться на спутник, оснащённый мощным лазером и сыграть в морской бой.

Не понял вопроса. Коды спутников +88216 или +870 или +8816 явно указывает куда ваш вызов маршрутизировать.

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

Когда я создавал правила валидации номеров телефона, я сначала спросил знающих людей, и они мне подсказали, что в номерах, записанных в международном формате, реально встречаются от 8 до 15 цифр, а ни в одном стандарте нет жёстко заданной длины номера.
Вы поверхностно ознакомились с темой, ваше изложение не соответствует реальности.

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

Я живу во Франции и постоянно сталкиваюсь с этой проблемой. Например, когда Тинькофф сменили форму входа в интернет-банк, я несколько недель не мог залогиниться через браузер, потому что он требовал ввести телефон, а мой телефон туда не вводился.

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

Only those users with full accounts are able to leave comments. Log in, please.