Как работает международный роуминг

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

Об услуге

Роуминг – услуга, позволяющая абонентам совершать вызовы, пользоваться услугой передачи данных, пользоваться другими услугами, предоставляемыми оператором, находясь в сетях других операторов, в том числе и зарубежных, с которыми оператор абонента имеет роуминг-соглашение. При этом номер телефона абонента остаётся неизменным.
Национальный роуминг – это возможность пользоваться услугами «чужой» сети в пределах одной страны.
Международный роуминг – это возможность пользоваться услугами мобильной сети зарубежного оператора, с которыми имеется соглашение. В статье будет описываться именно этот тип роуминга.

Авторизация
Первое действие, которое происходит при попытки зарегистрироваться в сети зарубежного партнера, – это проверка абонента на «валидность». Этим занимается VLR/MSC, в зоне действия которого находится MS. После того как гостевой VLR/MSC получит команду «Location Update» от MS, зная IMSI абонента, по MAP отправляет сообщение «Send Authentication Info» на HLR; он же в свою очередь проверяет, что MS и полученный IMSI действительны. Если проверка прошла успешно и абонент является «валидным», HLR отправляет IMSI в AUC. AUС генерирует триплет (SRES, RAND, Kc) и отправляет его в HLR, затем HLR отправляет эти данные на VLR/MSC, который обслуживает MS. После того как VLR/MSC получил эти данные, VLR/MSC посылает RAND на MS. Получив запрос RAND, MS подставляет полученный RAND и Ki(записан на SIM карте) и вычисляет SRES, который отправляет в VLR/MSC. Если SRES, полученный от MS, совпадает со SRES, полученным от AUC, тогда MS считается авторизованный.





Update Location
После того как VLC/MSC авторизовал MS, он отправляет на домашний HLR сообщение «Update Location». Это сообщение отправляется для того, чтобы HRL знал, в зоне действия какого VLR/MSC находится абонент. Сообщение «Update Location» содержит в себе IMSI абонента и GT VLR/MSC. HLR, получив данные, проверит, подключена ли услуга роуминг. Если у абонента нет запрета, то HLR удалит профиль абонента с того VLR/MSC, где был абонент зарегистрирован до этой процедуры, отправив сообщение «Cancel Location». Также HLR с помощью сообщения «Insert Subscriber Data» пересылает профиль абонента на запросивший эту информацию VLC/MSC. После того как VLR/MSC получит эту информацию, «Update location» будет закончено, и HLR сохранит у себя в профиле абонента адрес VLR/MSC, запросившего Update location. На данном этапе «Update Location» закончен. При поступлении вызова или SMS HLR знает, какому VLR/MSC отправить его.
После этих процедур абонент считается зарегистрированным в сети, т.е. он может совершать и принимать вызовы, SMS, пользоваться другими доступными услугами. Рассмотрим подробней процедуры входящего и исходящего вызова.


Входящий вызов
От абонента А поступает вызов на абонента Б, который находится в роуминге. Абонент А набирает номер абонента А (MSISDN). Если это вызов с городской сети, то сообщение IAM подсистемы ISUP поступит на GMSC, далее GMSC определяет адрес HLR исходя из полученного MSISDN и отправляет сообщение «sendRoutingInfo» по протоколу MAP на HLR. HLR, получив MSISND, определяет IMSI абонента Б, а также, в каком VLR/MSC находится абонент. Далее HLR отправляет на VLR/MSC сообщение «ProvideRoamingNumber» по протоколу MAP в котором содержится IMSI абонента Б. Сообщение «ProvideRoamingNumber» служит для запроса временного номера MSRN из пула номеров, зарегистрированных на VLR/MSC. MSRN имеет формат (GT) той страны, в которой находится VLR/MSC, обслуживающий абонента. MSRN выдаётся на время установления вызова, затем снова попадает в пул номеров MSRN.
После того как MSRN был выделен, он отправляется на HLR; HLR в свою очередь отправляет этот MSRN на GMSC. GMSC маршрутизирует этот вызов по MSRN до VLR/MSC, обслуживающий абонента Б, отправляя сообщение IAM подсистемы ISUP на выделенный MSRN.


В статье процедура пейджинга и установления вызова по ISUP рассматриваться не будет.

Исходящий вызов
Абонент А, находясь в роуминге, звонит Абоненту Б. При исходящем вызове первым делом происходят процедуры Авторизация и Update Location, описанные выше. Первым делом VLR/MSC, в котором зарегистрирован абонент А, отправляет сообщение «sendRoutingInfo» (в котором содержится MSISDN вызывающего абонента Б) на GMSC. GMSC, в свою очередь, по ISUP отправляет IAM на номер MSISDN. Если MSISND принадлежит проводной сети, то вызов идет на обслуживающий данный абонентский номер АТС. Если же MSISDN принадлежит сотовому оператору, то сообщение IAM идет на GMSC абонента Б. Далее GMSC отправляет запрос «sendRoutingInfo» в HLR для того, чтобы узнать адрес VLR/MSC, обслуживающий абонента Б, и его IMSI. После того как HLR предоставил эту информацию, GMSC отправляет IAM на этот VLR/MSC.

Исходящее SMS
Абонент А, находясь в роуминге, отправляет SMS на абонента Б. После того как VLR/MSC получил сообщение от абонента, передает его через SCCP провайдера на SMSC домашней сети через GMSC. SMSC отправляет сообщение «sendRoutingInfoForSM» на HLR абонента Б, после чего HLR отвечает адресом VLR/MSC (в зоне действия которого находится абонент Б) и IMSI смс-центру. Далее SMSC отправляет сообщение «forwardSM» на VLR/MSC абонента Б.

Входящее SMS
Абонент А отправляет SMS абоненту Б, который находится в роуминге. Принцип аналогичен тому, что описан при исходящем сообщении. От SMSC абонента А через SCCP провайдера поступает сообщение «sendRoutingInfoForSM» на GMSC, а затем на VLR/MSC, в зоне которого находится абонент Б. После этого VLR/MSC отвечает IMSI и своим адресом. После этой процедуры от SMSC абонента А поступает сообщение «forwardSM». VLR/MSC, получив это сообщение, делает попытку доставки сообщения абонента. Если сообщение доставлено, VLR/MSC отвечает «forwardSM END».

Home Routing
При «хоумрутинге» HLR выдает фиктивный IMSI и адрес VLR/MSC. SMS поступает на виртуальный MSC, а затем уже виртуальный MSC передает SMS на реальный MSC.

Источник: habrahabr.ru/post/228527/