понедельник, 13 сентября 2010 г.

С чем и как едят MNP


Mobile Number Portability - это сохранение телефонного номера за абонентом в случае перехода к другому оператору.

Инновационная услуга MNP (Mobile Number Portability) будет предоставляться на базе отдельного провайдера. Об этом «proIT» сообщил глава Национальной комиссии по вопросам регулирования связи Владимир Олейник.

По MNP уже есть ряд документов. Принципы создания отдельного сервис-провайдера уже сформулированы. Поэтому осталось только принять решение и эти принципы реализовывать», - добавил глава регулятора. Он также сообщил, что комиссия запросила мнения всех общественных организаций, которые бы могли взяться за внедрение MNP. «Будут поступать предложения, и мы кого-то определим», - уточнил Олейник.

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

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

А вот что это означает для операторов?

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

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

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

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

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

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

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

Волшебный сундучек SRF ...

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

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

SRF должен позволять:

Определять, для каких номеров делать перенаправление маршрутизации (для этого нужна база таких номеров)
Знать, в какую конкретно сеть надо делать перенаправление для такого-то номера телефона (для этого, опять же, нужна база).
Уметь "подменять" 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).

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

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


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

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

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


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

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

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

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


мда..проще простого....

в обзоре использованы материалы из статьи Дмитрия Астапова

Комментариев нет:

Отправить комментарий