Телекомы

индекс
182,10

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

В этой статье я бы хотел рассмотреть небольшой «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 та же самая ситуация!

_________
Текст подготовлен в ХабраРедакторе
+63
19 марта 2010, 15:39
29

комментарии (46)

+6
rastych #
В украинских сетях (конкретно в Киевстаре, о других не знаю), если абонент отключил телефон, робот говорит «Сейчас, к сожалению, отсутствует связь с Вашим абонентом...», а если вне зоны/вытащил батарею, то «Ваш абонент находится вне зоны действия сети...»
–1
anjolio #
а попробуйте проверить, просто эти фразы зависят от коммутатора, в котором находился абонент в последний раз.
Так, например, если абонент летит из франции в россию и выключил телефон в аэропорту франции, то всем звонящим будут сообщать, что абонент недоступен по-французски.
Может быть именно с этим связано?
+2
rastych #
нет, моему номеру уже 8 лет и так всегда было — для отключенного телефона и находящегося вне зоны разные речевки
при чем речевка «вне зоны» с существенной задержкой, 15-20 сек, как вы и писали
0
anjolio #
Значит настроено в сети Киевстара так.
Интересно про другие сети, может быть кто-то ещё проверит на других операторах?
0
Demir0 #
Да, сто процентов. У нас в Украине об этой фишке много народу знает и активно ее используют. Уже давно.
0
Demir0 #
Я имею ввиду, то, что робот говорит по-разному.
+1
DeSh #
Да, это потому что на разные релизы — IMSI Detach и No page response, настроены разные ответы автоответчика.
В любом случае, как написал anjolio, перед «Ваш абонент находится вне зоны действия сети...» будет заметно продолжительная задержка.
0
DJonua #
Работает :)
0
Splin #
А в ситуации, когда человек спустился в метро, после этого ему кто-то позвонил, ему VLR не присваивает статус DETACHED, или каждый раз продолжает перенаправлять вызов?
А то, в таком случае, следующий звонящий уже сразу услышит, что абонент недоступен.
0
anjolio #
Я проводил эксперимент на сети Билайн Москва — не работало.

Не исключаю, что это зависит от настроек коммутатора, по идее такая фича быть должна.
+1
Splin #
то, что Билайн Москва особенные я понял давно, лет 10 назад, когда передвигаясь на автобусе от метро и пытаясь дозвониться девушке, я поочередно выслушал — сигнал «занято», затем «номер не существует», после чего «абонент недоступен», и потом уже длинные гудки)
+1
DeSh #
На Siemens'е точно не выставляется, сам обращал внимание :)
+1
botnet #
на CDMA такая процедура определения тоже работает?
+3
anjolio #
К сожалению, плохо знаю принципы работы сети CDMA, поэтому не буду лучше ничего отвечать. Может быть в комментариях появится знающий человек — он и даст точный ответ.
+1
botnet #
ну у меня CDMA, щас проведу эксперимент =)
+2
botnet #
проверил звонки на CDMA, та же ситуация: 5 секунд — сам выключен, 15 секунд — в метро (выдернул аккумулятор)
0
anjolio #
Спасибо, сейчас добавлю в статью!
+2
Ppord #
Для этого в свое время патчил свой к750 — выбор нужного профиля отключал радиотракт. Происходило это без отправки статус-пакета VLR — то бишь, полная симуляция выхода из зоны покрытия. Иногда пригождалось :)
0
Okloks #
Это как режим «Полет» в нокиях?
+1
Ppord #
Да, но в нокии при переводе во флайт-мод статус-пакет таки отсылается. А с этим патчем телефон просто исчезал из зоны покрытия.
+1
EVEN #
да, но перед этим, телефон все равно отправляет DETACHED.
+2
eucariot #
До этого я сам дошёл. Давно уже заметил разницу в ожидании. Логично, что если тебе сразу говорят, что абонент не доступен, значит информация о недоступности устройства уже есть на оборудовании и не нужно пытаться искать его в разных сотах.
0
cUlmEr #
Спасибо за полезную информацию, теперь будет понятно кто отмазывается, а кто реально вне сети был))
+1
eucariot #
За WiMAX могу сказать, что если от устройства не приходит сообщение о том, что устройство отключено, но оно недоступно, сессия скидывается автоматически.
0
anjolio #
Сделал небольшой апдейт на эту тему в посте
–1
Veter9 #
Достаточно бесполезный лайфхак для меня. Ибо у меня нет под категорий в недоступности абонента) Он недоступен и все)
+1
Doomsday_nxt #
помню во времена домашних телефоном и диал-ап модемов было замечено, что частота коротких гудков (занятость) заметно выше, если линия занята модемом…
+1
alexxxst #
Интересная другая ситуация, как искать абонента, который зашел в метро где-то, а вышел уже фиг знает где в другом месте, но регистрация в сети еще идет, а в этот момент приходит звонок (еще по старому местоположению, где его ищут БСки и не находят), когда он зарегистрируется в сети — звонок-таки дойдет или надо будет перезвонить?

P.S. а про разные фразы ответа и время знал, да, интересно слушать иногда чужое вранье :)
+3
anjolio #
В сети GSM есть такое понятие как Location Area (LA).
В узле VLR записан ваш текущий идентификатор LA и процедура пейджинга (поиска при входящем вызове/смс) осуществляется в этой самой LA.

Таким образом имеем 2 возможных ситуации:
1. Вы вышли из метро и оказались в той же LA, тогда вызов до вас сразу дойдёт.
2. Вы вышли из метро и оказались в другой LA. В этом случае мобильный телефон понимает, что поменялся идентификатор LA и осуществляет процедуру Normal Location Update, которая длится примерно 5-10 секунд. В результате этой процедуры в VLR перезаписывается идентификатор LA и все новые вызовы будут поступать вам уже в новую LA. Вызов может быть пропущен только в том случае, если он поступил в период, пока проходила процедура Normal Location Update, то есть в течение 5-10 секунд с момента как ваш телефон перешёл в новую LA.
+1
vvvvvv #
«Когда вы выключаете свой мобильный телефон, либо у него садится батарейка он успевает отправить в сеть информацию о том, что он теперь выключен.»

Только теперь осознал, по какой причине перед выключением телефона колонки фонят. Как-то и не задумывался.
+1
OrangeHollow #
как выражается гугл:
Did you mean: implicit detach? )
0
anjolio #
Конечно, спасибо!
+1
mind #
чтоб не палиться для случая «я в метро», можно вместо выключения телефона, вынимать батарею «по-живому», чтоб телефон не успел ничего передать и якобы вышел из зоны действия сети :)
0
anjolio #
Верно, теперь вы это знаете! :)
А те, кто хотят вам соврать — вряд ли!
+1
mind #
да я кагбэ и раньше знал ;)

но вам спасибо за материал
–3
Alaunquirie #
в 3/4 случаев у меня именно говорят, когда телефон «выключен», а когда «вне зоны действия». Видимо, в выключенном состоянии все равно мониторинг сети идет.
0
anjolio #
нет, в выключенном состоянии, телефон выключен :)
Колонки же не шумят, когда телефон выключен.
0
elych #
Ах вот как меня мама палит!
+1
egorinsk #
> В этом сигнале пейджинга содержится уникальный идентификатор TMSI, услышав который мобильный телефон с таким же TMSI откликнется на пейджинг. После того, как мобильный телефон откликнулся, и этот отклик доходит до коммутатора, в вашей трубке слышны длинные гудки вызова, а телефон друга заиграл его любимой мелодией.

Значит ли это, что мы, слушая эфир, можем легко узнать, когда кому-то звонят? И что он ответил на звонок? Где взять TMSI? И пакет о входящем звонке, который рассылается по всем станциям, он зашифрован?
0
anjolio #
Мы можем узнать только, что в данный момент сети что-то нужно от абонента с каким-либо TMSI.
TMSI = Temporary Mobile Subscriber Id
То есть временный идентификатор. Его меняют часто. Понять кому какой TMSI принадлежит тяжело.

Процедура сигнализации в целом выглядит так:
1. Пейджинг
2. Ответ на пейджинг
3. Присвоение канала
4. Включение шифрования

Дальше передаётся зашифрованная информация о том, кто звонит, которую сторонний человек не может услышать.
+1
the_ghost #
Чтобы не доставать батарейку из телефона, просто положите его в металлическую кастрюлю с металлической крышкой. Если все равно ловит — соедените кастрюлю с батареей проводом :)
–1
lasc #
В микроволновку!
–1
the_ghost #
У меня нет микроволновки. Вредная штука :)
–1
gene4000 #
Разрушает кристаллическую структуры воды? :)
+1
dobersoft #
> если вы пытались вызвонить человека, а вам коммутатор сразу же ответил, что он недоступен, а потом сам человек вам рассказывает о том, что он якобы был в метро, то это повод задуматься

После петвого такого звонка VLR разве не помечает абонента как DETACHED?
Нельзя же исключить, что после спуска в метро и перед Вашим звонком ему уже кто-то звонил?
0
anjolio #
Здесь как раз это обсуждали.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.