19 March 2010

Вне зоны доступа

Wireless technologiesCellular communication
В этой статье я бы хотел рассмотреть небольшой «lifehack», который можно понять обладая небольшими знаниями в области функционирования сети GSM.
Смысл lifehack'а — когда вы звоните кому-нибудь и в ответ слышите «Абонент временно недоступен», то можно приблизительно понять по какой же причине человек сейчас недоступен.
out of service

В своей предыдущей статье, посвящённой структуре сетей GSM/UMTS, я упоминал про такой узел как VLR. Вот как раз он то и будет здесь ключевым звеном.

Для начала стоит ещё рассмотреть такой вопрос как состояния мобильной станции.

Состояния мобильной станции в сети GSM


В сети GSM мобильная станция может находиться в следующих состояниях:
  • IDLE — или по-русски режим ожидания, это такое состояние, когда ваш телефон просто лежит у вас в кармане/на столе, никаких вызовов не происходит, никакие sms'ки не отправляются. В этом состоянии мобильный телефон почти ничего не передаёт в сеть, основная его задача — слушать сигналы, посылаемые базовой станцией, если он услышит, что вызывают его, то только тогда он будет отвечать и начинать что-то передавать в сеть.
  • BUSY/ACTIVE — или активное состояние, это режим в котором мобильный телефон участвует в передаче голоса/данных.
  • DETACHED — или отключен от сети. Это состояние, когда ваш телефон выключен.

Информация об этих состояниях записывается в тот самый VLR. Этот узел хранит информацию о состояниях всех абонентов, находящихся в его зоне действия.
Когда вы выключаете свой мобильный телефон, либо у него садится батарейка он успевает отправить в сеть информацию о том, что он теперь выключен. В VLR записывается данная информация.
В случае же, если вы вытащили батарейку, либо вышли из зоны действия сети, то в VLR будет хранится информация о том, что вы, якобы, сейчас в состоянии IDLE.

Процесс входящего вызова


Теперь давайте посмотрим как происходит входящий вызов тому абоненту, которого вы вызываете в случае, если всё ОК и его телефон находится в состоянии IDLE.


Ваш вызов поступает на коммутатор оператора вашего друга/знакомого, нас будет интересовать именно то, что происходит дальше:
  1. Коммутатор (MSC) запрашивает в своей внутренней базе данных (VLR) состояние и местоположение вызываемого абонента. Мы рассматриваем ситуацию, когда VLR отвечает, что состояние сейчас — IDLE.
  2. Коммутатор перенаправляет вызов на контроллер базовых станций (BSC), в зоне действия которого находится мобильный телефон.
  3. Контроллер направляет сигнал «пейджинга» на все свои базовые станции (в самом простом и нередко встречающемся варианте).
  4. Все базовые станции ретранслируют этот сигнал пейджинга в радиоэфир. Таким образом, все мобильные станции, которые находятся в зоне действия данного BSC услышат этот пейджинг. В этом сигнале пейджинга содержится уникальный идентификатор TMSI, услышав который мобильный телефон с таким же TMSI откликнется на пейджинг. После того, как мобильный телефон откликнулся, и этот отклик доходит до коммутатора, в вашей трубке слышны длинные гудки вызова, а телефон друга заиграл его любимой мелодией.

Здесь всё красиво и понятно.
В случае, если в VLR была запись о том, что абонент сейчас DETACHED, то вы услышите, что «Абонент временнно недоступен» сразу же после этапа проверки, описанного в пункте 1 (примерно 5 секунд после нажатия вами зелёной кнопки посыла вызова).
А вот теперь самый интересный для нас вариант — ваш друг спустился в метро, где нет сигнала сотовой сети. В этом же случае, вы услышите стандартное «Абонент временнно недоступен» только после этапа 4, который длится несколько секунд. Таким образом, пройдёт порядка 15-17 секунд от момента того, как вы нажали на зелёную кнопку посыла вызова до момента, когда вам скажут, что собеседник Out of Service.

Вывод:


Если перед стандартной речёвкой о недоступности проходит 15-17 секунд, то абонент, наиболее вероятно вышел из зоны действия.
Если вы сразу (4-6 секунд) слышите, что абонент недоступен — либо он сам выключил телефон, либо у него села батарейка, либо он довольно давно ушёл из зоны действия и VLR его уже пометил как detached (в зависимости от оператора это «довольно давно» как правило варьируется от 40 минут до 6 часов).

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

UPD: возникают вопросы, поэтому добавлю ещё кое-что:

Процедура Periodic Location Update


Смысл этой процедуры — абонент должен периодически отправлять в сеть пакет, подтверждающий, что он всё ещё здесь. Это вы можете услышать, когда телефон лежит без дела уже давно, вдруг у вас начинают трещать колонки, но ни входящего вызова, ни смс не приходит.
В зависимости от настроек сети эта процедура происходит периодически с периодом от 6 минут до 6 часов. Как правило, на практике нижняя граница у операторов — 40 минут.

Таким образом, еслы вы вытащили батарейку/давно вышли из сети и в установленное время ваш телефон не произвёл процедуру Periodic Location Update, то на VLR вам выставляется статус Implicit Detached (принудительно отключен от сети).

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

UPD2:

В этом комментарии привели ещё один способ для сети Киевстара.

UPD3:

Вот в этой ветке комментариев выяснилось, что в системе CDMA та же самая ситуация!
Tags:gsmoosout of service
Hubs: Wireless technologies Cellular communication
+63
6.6k 38
Comments 46