?

Log in

No account? Create an account
dump -0f - /dev/mind
Я знаю Haskell, OCaml, GSM, эндофункторы и много других страшных слов
Почему в GSM такой кривой роутинг? 
29th-Apr-2009 11:39 pm
Сегодняшний пост вызван вот таким комментарием: "Пример. Я и мой сосед Вася живём в мухосранске. Там, в мухосранске, мы подключились к местному GSM оператору, а заодно зарегистрировались в skype. После чего взявшись за руки ломанулись в роуминг в зимбабве. И там, в зимбабве, севши за соседние столики интернет-кафешки с wifi, расчехлили ноуты и сотовые, и начали звонить друг другу.
При этом звонок через GSM дойдёт от зимбабве до мухосранска только для того чтобы вернуться обратно, в то время как голосовые данные при звонке по skype скорее всего не покинут пределов кафешки (а "служебные" данные - не будут даже приближаться к мухосранску).

Что кроме "50-летнего кода на коболе" мешает сделать так же в GSM?
"

Optimal Routing

Да вобщем-то с технической точки зрения ничего не мешает так сделать. Есть нужные технологии, и есть нужные стандарты. Так почему же не делается?

Чтобы ответить на этот вопрос, посмотрим сначала, как происходит маршрутизация звонка в "классическом GSM" образца 1985-го года.

Итак, F и M имеют симки компании "Гондурас Телеком". В какой-то момент они решают поехать в давно заслуженый отпуск, и отправляются любоваться красотами Зимбабве. В роуминге их обслуживает оператор "Зимбабве Мобайл".

Когда F звонит M, происходит следующее:
  1. Коммутатор "Z" смотрит на набранный номер и понимает, что он - не из местной сети. И даже не из этой страны. Что это за номер - мобильный, фиксированный, какой-то еще - коммутатору "Z" неизвестно (это первый важный момент). Но по префиксу номера понятно, что это где-то в Гондурасе. Как маршрутизировать траффик в Гондурас, коммутатор "Z" в курсе. Звонок отправлятся туда и попадает в сеть "Гондурас Телеком".
  2. Коммутатор "H" получает звонок из-за рубежа для одного из абонентов "Гондурас Телеком". Строго говоря, коммутатор "H" может вообще не смотреть на номер вызывающего абонента (это второй важный момент), и не быть в курсе, что это звонит родной абонент в роуминге. Коммутатор "H" обращается в HLR и узнает, что абонент M сейчас в роуминге, в Зимбабве, в такой-то сети.
  3. Коммутатор "H" направляет звонок в Зимбабве Мобайл, где он и доставляется абоненту M. Голосовой канал проключается по маршруту (1)-(3).
Какие минусы у этой схемы?
  1. Траффик зазря ездит в Гондурас, чтобы тут же вернуться обратно
  2. Абоненты платят за это дурные деньги
Какие плюсы (с точки зрения операторов) у этой схемы?
  1. Гондурас-Телеком имеет контроль над совершаемым звонком. Поскольку траффик идет через его сеть, он получит запись учета стоимости об этом звонке и сможет проконтролировать "счет за роуминг", выставленный со стороны Зимбабве Мобайл
  2. Абоненты платят дурные деньги :)
  3. Когда в Гонудрасе меняется план нумерации или появляются новые номерные диапазоны, в Зимбабве Мобайл не надо менять роутинг на коммутаторе Z - все и так работает (см. первый важный момент).
  4. В Гондурас Телеком тоже можно не парится сложными правилами роутинга - см. второй важный момент.
А как все могло бы быть (следим за зелеными стрелками)?
  1. Сигнальный траффик, как и раньше, приезжает в Гондурас. Однако, помимо коммутатора, в действие вовлекается еще и SCP, который видит, что вызываемый абонент - в роуминге, и пытается оптимизировать маршрутизацию. Для этого SCP извлекает из HLR-а не только "адрес" MSC/VLR гостевой сети, которая обслуживает M, но и его "номер телефона в роуминге" (MSRN). Естественно, необходимо, чтобы кто-то (гостевая сеть) его туда вовремя помещал - и это первое изменение по сравнению с классической схемой. Имея на руках текущий location F и MSRN M, SCP в Гондурасе может увидеть, что они реально в одной сети.
  2. Далее SCP может уведомить MSC, что легенда меняется, а задание остается прежним - мы маршрутизируем звонок для M, но уже совсем на другой номер, причем об этом надо уведомить гостевую сеть.
  3. В Зимбабве смотрят на новый номер M и говорят: "о! так это ж прямо тут!". Голосовой канал проключается по пунктирным зеленым стрелкам.
Что нужно, чтобы эта схема работала?

Самое главное - Гондурас Телеком должен доверять Зимбабве Мобайл, и наоборот. В Зимбабве должны позволять чужой сети на ходу изменять роутинг звонков, а в Гондурасе должны верить, что в Зимбабве честно посчитают длительность и расходы на такие оптимизированные звонки и выставят нормальный счет за роуминг. Ведь сам Гондурас уже никак не может контролировать ход и длительность звонка. А фрод на роуминге - это у всех операторов больная тема.

Ну, кроме того, в Гондурасе должен быть SCP. Строго говоря, можно все сделать и без SCP, но обоим сторонам надо будет прописывать у себя кучу "лишних" статических маршрутов и регулярно их обновлять. Впрочем, и при наличии SCP работ по настройке оптимального роутинга инженерам с обоих строн мало не покажется.

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

Надеюсь, после прочтения поста стало понятно, что сравнение из оригинального комментария - некорректно, ведь сравнивается взаимодейтсвие двух независимых операторов в случае GSM и работа в рамках одного оператора в случае skype. Корректне было бы вместо skype взять, например, XMPP/SIP/Jingle, при условии, что F и M имеют аккаунты на двух разных jabber-серверах, или что-то в этом роде.

Литература: GSM 23.079 "Support for Optimal Routeing (SOR); Technical realization". Там куча слайдов и детальных рассказов о том, как устроена сигнализация между разными элементами сетей для обеспечения нужного результата.

PS
karma kzayko++ :)
Comments 
29th-Apr-2009 09:27 pm (UTC)
пардон, мне всегда казалось, что ss7 для того и придуман, чтобы гонять сигнализацию отдельно от голоса
что мешает гонять сигнализацию через гондурас, грубо изнасиловать кошелек жертвы, но голос оставлять в пределах MSC Z?
29th-Apr-2009 09:47 pm (UTC)
Мне казалось, что именно об этом и есть мой пост :)
29th-Apr-2009 09:39 pm (UTC)
Что-то всюду последнее время вылезает prisoners' dilemma.

(к вопросу об удобной позиции "моя хата с краю")
29th-Apr-2009 09:51 pm (UTC)
тут оно не катит
т.к. злоупотребления являются органической частью бизнесхемы любого более-менее крупного оператора сотовой связи
29th-Apr-2009 09:41 pm (UTC)
Коммунтация каналов по-любому уходит в прошлое. Пройдет ..ну.... ну десять лет. И ее не останется. Так?

29th-Apr-2009 09:48 pm (UTC)
Ну, типо так. Главное, чтобы пакетов на всех хватило :)
29th-Apr-2009 10:52 pm (UTC)
усложним схему. кроме HT и ZM введем еще двух-трех транзитчиков вроде Guatemala Transit Telecom, какой-нибудь Verizon и, например, Mozambique Networks.

сколько коммутаторов минимально включается в цепочку сигнализации? какие к ним требования? просто маршрутизировать MTP или еще как-то дополнительно работать с SCP?
2nd-Jun-2009 09:16 pm (UTC)
разумеется, ряд требований к сети возникает. Но CAMEL-роуминг доступен во все большем количестве стран.
Его же необязательно всем и сразу. А кроме Мозамбика и Зимбабве есть и нормальные страны.
29th-Apr-2009 11:28 pm (UTC)
a) терпиле можно об этом не говорить и продолжать драть с него дурные деньги, уже совсем дармовые

b) по крайней мере это сделали для т н внутрисетевого роуминга (тьфу!). раньше и того не было. ну то есть как я слышал.
(Deleted comment)
(Deleted comment)
30th-Apr-2009 05:23 am (UTC)
+2
По мне некорректность такого сравнения еще в прошлом посте очевидна была.
30th-Apr-2009 08:05 am (UTC) - > траффик
«трафик», «буфер», «офис»…
30th-Apr-2009 08:43 am (UTC)
И еще один аргумент в пользу коммунизма.
Прав был Маркс - развитие производственных отношений сделает рынок нецелесообразным. :-)
30th-Apr-2009 08:49 am (UTC)
А на всей Земле установить мировое правительство? А то может так случится, что пролетарская рука коммунизма не дотянется до Зимбабве.

Короче, те же аргументы подходят для агитирования за транснациональную монополию на сотовую связь.
8th-May-2009 08:29 am (UTC)
всё понятно, только вот почему это самое не может сделать тот же МТС между своими регионами. Я с коллегой был на Сахалине. При звонке на местный номер в полной натации +7*** голос шёл через материк, в тоже время, если я набирал местный номер без кода, а на прямую, то звонок замечательно роутился локально. Ну и звонок коллеге больше походил на разговор по рации.
3rd-Oct-2009 07:53 pm (UTC)
Сахалин - там вроде все нормально, а вот Магадан - тихий ужас - половина баз висят на спутнике, свич на "материк" тоже через спутник o_O
25th-May-2009 08:24 am (UTC)
Дима написал письмо, предыдущие не дошли судя по отлупам. На всякий случай и здесь пишу.
2nd-Jun-2009 09:09 pm (UTC)
есть и еще нюанс. Если Вован и Колян поедут в Гондурас и там у них случится вот это щастье с оптимальным роутингом, то они смогут спокойно перетереть о делах, а товарищ майор останется ни с чем. Потому что MSC Гондураса к нашему СОРМу не подключен.
21st-Mar-2011 06:43 am (UTC)
хм, и вправду слово "routeing" в доке написано, интересно, чем оно от теплого лампового "routing" отличается?
This page was loaded Nov 22nd 2019, 7:53 pm GMT.