?

Log in

dump -0f - /dev/mind
Я знаю Haskell, OCaml, GSM, эндофункторы и много других страшных слов
GSM: как работает "сохранение номера" (mobile number portability) 
1st-Dec-2006 04:14 pm
На днях Верховная Рада приняла (пока - в первом чтении) ряд поправок к закону о телекоммуникациях. В их числе - требование к операторам мобильной связи обеспечить сохранение телефонного номера за абонентом в случае перехода к другому оператору (т.н. mobile number protability или MNP).

Идея отнюдь не нова - с конца девяностых годов FCC в штатах, Комиссия по Связи в Евросоюзе и Ofcom в Англии выдвигают подобные требования к операторам, работающим на территории их юрисдикции. В принципе понятно, что это нововведение означает для абонента - исчезает "барьер" по смене оператора, и т.п.

А вот что это означает для операторов? Об этом я и попробую рассказать.

Проблемы, возникающие с введение MNP

Для начала, я постараюсь дать максимально упрощенное описание проблемной области, постаравшись, тем не менее, не упустить существенных деталей.

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

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

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

Правильный маршрут при этом определяется по статической таблице маршрутизации, в которой для каждой 10000-ой группы номеров (типа 50469xxxx) указан "адрес" HLR-а, в котором хранятся данные абонентов с такими номерами телефонов.

Понятно, что с введением MNP эта стройная картина разрушается. Если абонент с номером 5556677 перешел из сети оператора Orange в сеть оператора Vodafone, его информация будет находится в одном из HLR-ов Vodafone и именно туда должны маршрутизироваться сигнальные сообщения "request_current_location".

Но кто же их туда смаршрутизирует?

И тут на сцену выходит SRF ...

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

Такой черный ящик называется SRF - сокращение от signalling relay function. Как можно догадаться из название, это функциональность, которая позволяет перенаправлять (relay) запросы, касающиеся номеров, "уехавших" в другую сеть.

SRF должен позволять:
1)Определять, для каких номеров делать перенаправление маршрутизации (для этого нужна база таких номеров)
2)Знать, в какую конкретно сеть надо делать перенаправление для такого-то номера телефона (для этого, опять же, нужна база).
3)Уметь "подменять" SCCP-адреса(*) в сигнальном трафике (что-то вроде NAT-а в TCP/IP, с или без connection tracking)
*)SCCP - Signalling Connection Control Part, часть стэка протоколов SS7.

Тот, кто читал книжки/документацию/стандарты по GSM, наверняка заметил, что вещи, называемые "blah-blah-blah function" - это концепции, детали реализации которых обычно остаются "за кадром".

Однако в данном случае нас интересуют именно детали: какой элемент сети выполняет функцию SRF, где находится пресловутая база "уехавших" номеров, когда происходит перенаправление сигнального трафика и т.п.

Поехали по порядку.

Прямая vs косвенная маршрутизация vs N-1 маршрутизация

Сначала немного терминологии. Сетью-донором (donor network) будем называть сеть, "отдающую" свой мобильный номер вмесе с уходящим абонентом. Соответственно, сеть-получатель (recipient network) - это сеть, в которую этот номер "пришел" вместе с абонентом.

Итак, где же расположить SRF и как его использовать (когда к нему обращаться)?

Поскольку номера могут перемещаться между сетями произвольным образом, очевидно, что все сети (в рамках страны) должны иметь реализацию SRF. Полагаться на Единый Центральный SRF - глупо, т.к. он лопнет от нагрузки и будет служить single point of failure, рискующей оставить без связи пол-страны :)

ОК, договорились. Допустим, у каждого оператора есть волшебный черный ящик с надписью SRF, в функции которого входит отловить сигнальный трафик вроде "request_current_location for MSISDN" и перенаправить его на нужный HLR в сети-получателе. Кто и когда будет к этму черному ящику обращаться?

Как всегда, пусть у нас абонент А (обслуживаемый опертором Life) звонит на номер B (8050*). Этот номер изначально принадлежал UMC, но абонент B перешел с ним в KyivStar (KS).

Возможны три варианта:

1)Коммутатор сети Life, обслуживающий A, обращается к SRF, который перенаправляет запрос на HLR KyivStar-а. Этот HLR возвращает коммутатору Life информацию о том, на какой именно коммутатор сети KS надо маршрутизировать звонок. Это так называемая "прямая маршрутизация", которая, если я не ошибаюсь, принята в Евросоюзе. При этом база, в которой хранится информация об "одолженых" номерах - централизована, и все операторы общаются с ней с помощью набора стандартизированых протоколов.

2)Коммутатор сети Life, обслуживающий А, видит, что номер B - из "национального кода" (NDC) 50, принадлежащего UMC, и отправляет звонок в UMC. Коммутатор UMC обращается к SRF, узнает, что номер уехал в KS, и перенаправляет звонок на нужный коммутатор сети KS. Это так называемая "косвенная маршрутизация", принятая в Англии. При этом UMC, в принципе, может иметь свою собственную базу SRF, следящую только за статусом номеров, принадлежащих UMC. На практике, в той же Англии используется централизованная база.

3)Развитие предыдущих двух способов. Договоримся, что по умолчанию работает "прямая маршрутизация", но если коммутатор сети Life, из которой исходит звонок, по каким-то причинам не обратился к SRF (например, сеть в процессе модернизации), то запрос уедет в сеть-донор, которая осуществит "косвенную маршрутизацию". При этом сеть-донор (UMC) выставит счет сети Life за "нарушение протокола" и дополнительную сигнальную нагрузку. Такая схема принята в США и называется "N-1 маршрутизация"

На самом деле, все три схемы немного сложнее, чем я описал (в основном по причине того, что необходимо обеспечить корректную генерацию CDR-ов и учет денег во всех возможных случаях, включая роуминг). Для примера, можете почитать про "Direct routeing override" в Английских нормативных документах (см. Литературу).

Какой вариант лучше?

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

Как номера попадают в базу MNP, к которой обращается SRF?

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

А почему без картинок?

А я ленивый :)

Берите первые две ссылки из литературы - там полно картинок.

О чем я не рассказал?

Я не рассказал, как делается number portability между наземными и мобильными операторами, но существенных отличий там нет - так, мелкие технические детали.

Давайте вопросы и замечания :)

Литература
Comments 
(Deleted comment)
2nd-Dec-2006 10:36 am (UTC)
То есть как, к чему это я? К указу ВР.
5th-May-2007 12:35 am (UTC)
извините за оффтопик.
вопрос. возможен ли телефонный номер вида NC-000-xx-xx ?
т.е. начинающиеся на ноль ?
1st-Jul-2010 02:02 pm (UTC)
Ха! Обещанного - три года ждут! :)

Да, такой номер технически возможен. Понятное дело, что если в сети абонентам дана возможность набирать номера без "сетевого префикса" и ведущий "00" используется для международной связи, то так лучше не делать, но в остальном я не вижут технических проблем.
1st-Dec-2006 02:34 pm (UTC)
А нельзя ль ввести в действие MNP без указа ВР?
1st-Dec-2006 02:52 pm (UTC)
Гмммм...
С точки зрения рынка Украины:
Большим операторам (Киевстар и ЮМЗ) это не есть выгодно, так как может означать отток абонентов, которые были у них из-за старого и привычного номера. Маленьким операторам это на первый взгляд как-бы выгодно, но и тут могут всплыть "тонкости реализации" техпарка, биллинговой системы, межоператорских соглашений, дополнительных лицензий, что в результате потребует масштабных финансовых вливаний... И не факт что деньги от новых юзеров перевесят затраты на введение. Это только в долгосрочной перспективе... Ну а эти перспективы компаниям проще решать тихо и спокойно между собой в договорном порядке, а не "соблюдая закон №81234723" вводить все сломя голову за два месяца, да так, чтобы всю мобильную связь Украины лихорадило.

Тут все ИМХО, не подтвержденное реальными экономическими расчетами. Но так уж сложилось, что хотят как лучше, а получается...
2nd-Dec-2006 10:37 am (UTC)
Это как с "а где файл-менеджер, копирующий FAR, но под linux?". Те, кто могут сделать - не хотят, а те, кто хотят - не могут сделать.

Большим операторам это неинтересно, а мелким - не хватит "массы" это продавить. А внедрять MNP в одностороннем порядке "в своей песочнице" нет никакой выгоды и никакого интереса.
1st-Dec-2006 03:36 pm (UTC)
"Красиво" будет в случае, если горе-пользователь будет 10 раз в год перебегать между операторами... ;)
2nd-Dec-2006 10:39 am (UTC)
А какая разница, сколько раз он перебегает? Если абонент ушел из сети А в сеть B, а оттуда - в сеть C, то номер сначала возвращается от B к A, а потом еще раз выделяется - на этот раз для C.
1st-Dec-2006 04:01 pm (UTC)
Подозреваю, что глупый вопрос, но. А у UMC нету маленького такого, локального MNP для своих абонентов, которые мигрировали с Sim-Sim с сохранением номера ? Или там нет разделения абонентской базы ?
1st-Dec-2006 04:40 pm (UTC)
Миграция с SIM-SIM на контракт UMC заключается в том, что не будет происходить обращения к IN-платформе
1st-Dec-2006 10:10 pm (UTC)
Т.е. просто меняется содержимое соответсвующей записи абонента в нужном HLR'е ? И HLRы для prepaid и контрактников, в общем, одинаковые, а теперь стало быть одни и те же ?
2nd-Dec-2006 10:40 am (UTC)
Естественно. А какая HLR-у разница, кто, как и где считает деньги абонента?
2nd-Dec-2006 11:31 am (UTC)
Не знаю. Но учитывая, что такая возможность (переползти с припейда на контракт с сохранением номера) появилась далеко не сразу... Какие-то причины этому были.
2nd-Dec-2006 12:47 pm (UTC)
Менеджеры тому причина =)
Технических трудностей в этом нет...
2nd-Dec-2006 04:59 pm (UTC)
Да, например - разные цены на звонки UMC-UMC и UMC-SimSim :)
2nd-Dec-2006 10:39 am (UTC)
По поределению, MNP нужен при уходе абонентов в другую сеть. У UMC "миграция" происходит в пределах сети. Зачем при этом MNP?
1st-Dec-2006 08:18 pm (UTC)
Соответственно, сеть-получатель (recepient network)
recipient
2nd-Dec-2006 10:40 am (UTC)
thnx
2nd-Dec-2006 01:24 pm (UTC)
Не совсем понятным для меня остался механизм пополнения этой мегабазы?
Достаточно ли пользователю проделать какие-то манипуляции с телефоном, что бы уйти со своим номером в чужую сеть, уведимов _один_ раз обоих, или надо каждый раз "просить" оператора ?
2nd-Dec-2006 05:02 pm (UTC)
Пользователю со своим телефоном (терминалом) делать ничего не надо в любом случае.

А сам процесс (для абонента) - зависит от того, как организован протокол общения операторов с держателями базы.

В той же Англии, например, абонент обращается к "старому" оператору с просьбой выдать ему т.н. PAC - porting authorization code (как правило, за это хотят 15-25 фунтов), а потом, имея PAC, он в течении не то месяца, не то полугода может подключиться к любому другому оператору, сохранив номер. Если он в течении этого периода не переподключился - номер становится свободным и может быть выдан другому абоненту.
2nd-Dec-2006 04:21 pm (UTC)
Дмитрий, а можно на будущее что-то про Push to Talk. Я так понял, что сервис может предоставлятся вне сети оператора, насколько это правда?
2nd-Dec-2006 05:03 pm (UTC)
Да, про PTT меня уже просили рассказать, и пост обязательно будет.
2nd-Dec-2006 06:20 pm (UTC)
POC =)
2nd-Dec-2006 08:38 pm (UTC)
Мне правильная аббревиатура никогда не нравилась :)

PTT звучит как-то .. корректнее.
2nd-Dec-2006 06:31 pm (UTC)
Не понятно, зачем Life внедрил эту услугу.
Тем более, что разговоры в сети у них стоят копейки, да и конференция, помоему бесплатная.
Единственное преимущество вижу только в том, что можно сформировать UserGroup, но все-равно HalfDuplex (Наверное приятно себя чувствовать диспетчером) :-)
2nd-Dec-2006 08:38 pm (UTC)
Может быть, simply because they can? :)
3rd-Dec-2006 06:18 pm (UTC)
Ну не сможешь ты концеренцию на 25 человек собрать так быстро. Позвонив на группу.
3rd-Dec-2006 09:52 pm (UTC)
>Ну не сможешь ты концеренцию на 25 человек собрать так быстро. Позвонив на >группу.
>>Единственное преимущество вижу только в том, что можно сформировать >>UserGroup
Но все же, это будет сложно назвать конференцией.
3rd-Dec-2006 10:55 pm (UTC)
Мне, как человеку, регулярно использующему walkie-talkie, в принципе понятен use case, в котором я предпочту push to talk, а не conference call.

Ключевая тема: "много молчим, мало говорим". Например, пошли в лес собирать грибы и время от времени давим кнопку и говорим "я пошел в квадрат 42"/"я нашел мину"/"идите все сюда, тут ...!" и т.п.
3rd-Dec-2006 04:41 pm (UTC)
Anonymous
прокомментируете?
http://news.com.com/FBI+taps+cell+phone+mic+as+eavesdropping+tool/2100-1029_3-6140191.html
3rd-Dec-2006 10:57 pm (UTC)
А я как раз искал ссылку в тему :)

Спасибо.

Прокомментировал тут
5th-Dec-2006 04:49 pm (UTC)
А правда что в UMC офис такой какой показан в рекламе?
Ну большие-светлые-помещения, тетеньки-в-белых-халатах, большие-показывающие-панели-на-всю-стену и прозрачные-мониторы?

:))
8th-Dec-2006 10:35 pm (UTC)
Ага. И Том Круз в перчатках, как в "Minority Report" :))
12th-Dec-2006 01:54 pm (UTC) - Тарификация
В данный момент у меня звонки внутри сети стоят дешевле, чем на других сотовых операторов. Интересно, как изменится тарификация услуг при утверждении данных изменений в законе? После этого я уже не смогу знать по номеру абонента, подключен ли он к моей сети. Вдобавок, пострадает или изменится услуга "список любимых номеров". Или же понятие внутрисетевого траффика исчезнет вообще?
21st-Dec-2006 09:37 pm (UTC) - Re: Тарификация
Изменится она очень просто - тарифы будут "плоскими", без дифференциации между "внутри сети" и "на чужую сеть". Будет только "внутри страны" и "зарубеж".

А "список любимых номеров" - расшириться. Станет возможно указывать там номера из "других" сетей.
9th-Nov-2009 06:49 am (UTC) - Статья с ошибками!
Anonymous
Или я что-то не так понял, или статья написана с ошибками. К этому выводу я пришел, прочитав следующий опус :

"Коммутатор сети Life, обслуживающий A, обращается к SRF, который перенаправляет запрос на HLR KyivStar-а. Этот HLR возвращает коммутатору Life информацию о том, на какой именно коммутатор сети KS надо маршрутизировать звонок.".

Простите, описанная процедура смахивает на описание процедуры "HLR interrogation", но делается описанная процедура в ДОМАШНЕЙ сети ее гейтовым коммутатором, гейтовые коммутаторы посторонних сетей просто доводят вызов по ISUP до гейтового коммутатора домашней сети, а далее он сам внутри своей сети разбирается, где и кто находится. Речь в правильной транскрипции может идти о ПЕРЕАДРЕСАЦИИ либо о проключении вызова шлейфом, но это все делается по телефонной сигнализации ISUP без каких-то бы то ни было HLR!
1st-Jul-2010 02:06 pm (UTC) - Re: Статья с ошибками!
(пусть и запоздало, но отвечу)

Так ведь речь-то как раз и идет о том, _как_ определить эту самую домашнюю сеть.

Некоторые упрощения в описании interrogation сделаны для того, чтобы не превращать длинную простыню текста в совсем уже длинную простыню текста.
13th-Feb-2014 05:15 am (UTC)
Дмитрий, сорри за некропостинг, а вот такой вопрос есть (поскольку в России MNP вот-вот заработает в полную силу)

до настоящего времени у российских мобильных абонентов есть возможность посмотреть в справочнике кодов DEF, откуда был звонок
например тут - http://www.mtt.ru/mtt/def

а смогут ли реально продолжить корректную работу такие сервисы после начала масштабных переходов номеров от оператора к оператору? как это решено на Украине?
This page was loaded Jul 26th 2017, 6:50 am GMT.