![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
На днях Верховная Рада приняла (пока - в первом чтении) ряд поправок к закону о телекоммуникациях. В их числе - требование к операторам мобильной связи обеспечить сохранение телефонного номера за абонентом в случае перехода к другому оператору (т.н. 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 между наземными и мобильными операторами, но существенных отличий там нет - так, мелкие технические детали.
Давайте вопросы и замечания :)
Литература
Идея отнюдь не нова - с конца девяностых годов 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 между наземными и мобильными операторами, но существенных отличий там нет - так, мелкие технические детали.
Давайте вопросы и замечания :)
Литература
- Дипломная работа, посвященная MNP в сетях третьего поколения. Содержит массу картинок и приличное введение в GSM вообще. Recommended
- Британский нормативный документ от Ofcom. Содержит кучу картинок и детальное описание того, как устроен роутинг в Англии. Recommended.
- RFC-3482. Number Portability in the Global Switched Telephone Network (GSTN): An Overview. Очень технический текст, рекомендуется только тем, кто уже "в материале". Подчеркнуты отличия между ситуацией в США и Европе.
- Статья "Number portability" в Wikipedia. Вводный текст можно прочесть. Техническое описание однобоко - оно описывает ситуацию в США.
- Tutorial от IEC, объясняющий local number portability. Опять-таки, все про США.
(no subject)
Date: 2006-12-01 02:29 pm (UTC)(no subject)
Date: 2006-12-02 10:36 am (UTC)(no subject)
Date: 2007-05-05 12:35 am (UTC)вопрос. возможен ли телефонный номер вида NC-000-xx-xx ?
т.е. начинающиеся на ноль ?
(no subject)
Date: 2010-07-01 02:02 pm (UTC)Да, такой номер технически возможен. Понятное дело, что если в сети абонентам дана возможность набирать номера без "сетевого префикса" и ведущий "00" используется для международной связи, то так лучше не делать, но в остальном я не вижут технических проблем.
(no subject)
Date: 2006-12-01 02:34 pm (UTC)(no subject)
Date: 2006-12-01 02:52 pm (UTC)С точки зрения рынка Украины:
Большим операторам (Киевстар и ЮМЗ) это не есть выгодно, так как может означать отток абонентов, которые были у них из-за старого и привычного номера. Маленьким операторам это на первый взгляд как-бы выгодно, но и тут могут всплыть "тонкости реализации" техпарка, биллинговой системы, межоператорских соглашений, дополнительных лицензий, что в результате потребует масштабных финансовых вливаний... И не факт что деньги от новых юзеров перевесят затраты на введение. Это только в долгосрочной перспективе... Ну а эти перспективы компаниям проще решать тихо и спокойно между собой в договорном порядке, а не "соблюдая закон №81234723" вводить все сломя голову за два месяца, да так, чтобы всю мобильную связь Украины лихорадило.
Тут все ИМХО, не подтвержденное реальными экономическими расчетами. Но так уж сложилось, что хотят как лучше, а получается...
(no subject)
Date: 2006-12-02 10:37 am (UTC)Большим операторам это неинтересно, а мелким - не хватит "массы" это продавить. А внедрять MNP в одностороннем порядке "в своей песочнице" нет никакой выгоды и никакого интереса.
(no subject)
Date: 2006-12-01 03:36 pm (UTC)(no subject)
Date: 2006-12-02 10:39 am (UTC)(no subject)
Date: 2006-12-01 04:01 pm (UTC)(no subject)
Date: 2006-12-01 04:40 pm (UTC)(no subject)
Date: 2006-12-01 10:10 pm (UTC)(no subject)
Date: 2006-12-02 10:40 am (UTC)(no subject)
Date: 2006-12-02 11:31 am (UTC)(no subject)
Date: 2006-12-02 12:47 pm (UTC)Технических трудностей в этом нет...
(no subject)
Date: 2006-12-02 04:59 pm (UTC)(no subject)
Date: 2006-12-02 10:39 am (UTC)(no subject)
Date: 2006-12-01 08:18 pm (UTC)recipient
(no subject)
Date: 2006-12-02 10:40 am (UTC)(no subject)
Date: 2006-12-02 01:24 pm (UTC)Достаточно ли пользователю проделать какие-то манипуляции с телефоном, что бы уйти со своим номером в чужую сеть, уведимов _один_ раз обоих, или надо каждый раз "просить" оператора ?
(no subject)
Date: 2006-12-02 05:02 pm (UTC)А сам процесс (для абонента) - зависит от того, как организован протокол общения операторов с держателями базы.
В той же Англии, например, абонент обращается к "старому" оператору с просьбой выдать ему т.н. PAC - porting authorization code (как правило, за это хотят 15-25 фунтов), а потом, имея PAC, он в течении не то месяца, не то полугода может подключиться к любому другому оператору, сохранив номер. Если он в течении этого периода не переподключился - номер становится свободным и может быть выдан другому абоненту.
(no subject)
Date: 2006-12-02 04:21 pm (UTC)(no subject)
Date: 2006-12-02 05:03 pm (UTC)(no subject)
Date: 2006-12-02 06:20 pm (UTC)(no subject)
Date: 2006-12-02 08:38 pm (UTC)PTT звучит как-то .. корректнее.
(no subject)
Date: 2006-12-02 06:31 pm (UTC)Тем более, что разговоры в сети у них стоят копейки, да и конференция, помоему бесплатная.
Единственное преимущество вижу только в том, что можно сформировать UserGroup, но все-равно HalfDuplex (Наверное приятно себя чувствовать диспетчером) :-)
(no subject)
Date: 2006-12-02 08:38 pm (UTC)(no subject)
Date: 2006-12-03 06:18 pm (UTC)(no subject)
Date: 2006-12-03 09:52 pm (UTC)>>Единственное преимущество вижу только в том, что можно сформировать >>UserGroup
Но все же, это будет сложно назвать конференцией.
(no subject)
Date: 2006-12-03 10:55 pm (UTC)Ключевая тема: "много молчим, мало говорим". Например, пошли в лес собирать грибы и время от времени давим кнопку и говорим "я пошел в квадрат 42"/"я нашел мину"/"идите все сюда, тут ...!" и т.п.
(no subject)
Date: 2006-12-03 04:41 pm (UTC)http://news.com.com/FBI+taps+cell+phone+mic+as+eavesdropping+tool/2100-1029_3-6140191.html
(no subject)
Date: 2006-12-03 10:57 pm (UTC)Спасибо.
Прокомментировал тут (http://users.livejournal.com/_adept_/47915.html)
(no subject)
Date: 2006-12-05 04:49 pm (UTC)Ну большие-светлые-помещения, тетеньки-в-белых-халатах, большие-показывающие-панели-на-всю-стену и прозрачные-мониторы?
:))
(no subject)
Date: 2006-12-08 10:35 pm (UTC)Тарификация
Date: 2006-12-12 01:54 pm (UTC)Re: Тарификация
Date: 2006-12-21 09:37 pm (UTC)А "список любимых номеров" - расшириться. Станет возможно указывать там номера из "других" сетей.
Статья с ошибками!
Date: 2009-11-09 06:49 am (UTC)"Коммутатор сети Life, обслуживающий A, обращается к SRF, который перенаправляет запрос на HLR KyivStar-а. Этот HLR возвращает коммутатору Life информацию о том, на какой именно коммутатор сети KS надо маршрутизировать звонок.".
Простите, описанная процедура смахивает на описание процедуры "HLR interrogation", но делается описанная процедура в ДОМАШНЕЙ сети ее гейтовым коммутатором, гейтовые коммутаторы посторонних сетей просто доводят вызов по ISUP до гейтового коммутатора домашней сети, а далее он сам внутри своей сети разбирается, где и кто находится. Речь в правильной транскрипции может идти о ПЕРЕАДРЕСАЦИИ либо о проключении вызова шлейфом, но это все делается по телефонной сигнализации ISUP без каких-то бы то ни было HLR!
Re: Статья с ошибками!
Date: 2010-07-01 02:06 pm (UTC)Так ведь речь-то как раз и идет о том, _как_ определить эту самую домашнюю сеть.
Некоторые упрощения в описании interrogation сделаны для того, чтобы не превращать длинную простыню текста в совсем уже длинную простыню текста.
(no subject)
Date: 2014-02-13 05:15 am (UTC)до настоящего времени у российских мобильных абонентов есть возможность посмотреть в справочнике кодов DEF, откуда был звонок
например тут - http://www.mtt.ru/mtt/def
а смогут ли реально продолжить корректную работу такие сервисы после начала масштабных переходов номеров от оператора к оператору? как это решено на Украине?