3.21.2012
12.21.2011
Practical SS7, Part 3
http://www.dialogic.com/
Надо скачать:
1. DPK for Windows
2. Software Environment Programmer's Manual (пригодится позже. Также содержит инструкцию по установке стека в Linux и Solaris)
3. MAP Test Utility User Guide (это описания тестовых утилит, которые будут генерировать трафик. Интерес представляет как минимум раздел 5 Running the MTU and MTR application)
При установке DSI не надо отмечать драйвера (SS7HD, SPCI, etc) - мы будем работать только с Sigtran, который не требует специального оборудования.
После установки в папке C:\DSI\UPD\RUN будет 2 важные папки - MTU (генерирует сообщения протокола MAP) и MTR (отвечает на сообщения).
MAP это Mobile Application Part, протокол, который отвечает в сети GSM за многое, в т.ч. - регистрацию абонентов и передачу смс. Эти тестовые приложения генерируют несколкьо видов сообщений, но самое показательное - MAP-FORWARD-SHORT-MESSAGE. Простым языком - передача смс.
На этом этап установки закончен.
Часть 2. Описание SS7 стека
1. Во-первых используется модульная система. SS7 это набор протоколов. Так вот, каждый из них реализован в этом стеке отдельным модулем (читай приложением).
Поясню на примере. Если используется SS7 over TDM (через Е1 потоки), то сигнальная плата обрабатывает MTP1 (физика) и MTP2 (канальный уровень). На сервере запускается mtp3.exe (модуль MTP3 - частично сетевой уровень модели OSI), а дальше, в зависимости от назначения системы:

2. У каждого модуля есть идентификатор (module_id), который используется для маршрутизации сообщений внутри стека. Это номера от 0 до 254, обычно пишутся в 16-ричном формате.
Часть модулей имеют зарезервированные номера. Об этом можно почитать в Software Environment Manual. Документ сложный для понимания, потому что написан скорее для разработчиков и содержит много программистской специфики.
3. Запуск стека осуществляет утилита gctload. Она читает главный конфигурационный файл system.txt, создаёт в памяти очереди сообщений для всех модулей, запускает все эти модули (прописаны в system.txt) и что-то там ещё (всех деталей я, к сожалению, не знаю).
В файле system.txt прописаны все модули, которые инициализируются при запуске, все приложения (путь к приложению, параметры запуска).
4. Лицензирование. Самый интересный момент :)
Поскольку стек модульный, то лицензии идут к каждому модулю. Плюс, если используется сигнальная карта, то на ней есть место для установки специальной licence button для протокола MTP2 (выглядит как батарейка для материнской платы, но толще). Новые сигнальные карты уже используют программную лицензию.
Самое приятное в лицензировании от Dialogic это возможность использования пробного режима (trial mode). Для его использования нужно при запуске модуля (m3ua.exe, m2pa.exe, sccp.exe) указать ключ -t.
Ещё пару лет тому назад, trial mode разрешал работать 8 часов (чем как-то пришлось пользоваться даже в production системе). Сейчас только 1 час. Модули честно об этом признаются при запуске и по прошествии одного часа просто перестают обрабатывать трафик. Для продолжения работы стек должен быть перезапущен.
Часть 3. Запуск SS7 стека.
1. Если Вы используете Virtual Box, то в настройках надо выбрать Bridged network (Сетевой мост) и скорее всего настроить IP адреса вручную. У меня заработало ещё и через "Виртуальный адаптер хоста". Не уверен, что это единственные опции, но через NAT, который используется по-умолчанию, Sigtran скорее всего работать не будет. Ещё очень важный момент - надо выключить грёбаный защитник Виндовс. Я полчаса не мог понять почему пакеты только в одну сторону ходят :)
2. Перед запуском надо написать правильный system.txt. Благо Dialogic тут помог и в папке C:\DSI\UPD\RUN\MTU\M3UA_
FORK_PROCESS tim.exe
3. Проверяем, что конфигурация правильная.
Получил текущее значение путей поиска, а дальше
5. Важная информация.
Остановить gctload можно и по Ctrl-C. Но я крайне не рекомендую этого делать. Раньше даже во всей документации этого не рекомендовали. Для правильного останова надо в другой консоли сделать: gctload.exe -x
Иначе есть шанс, что стек оставит в памяти свои служебные очереди сообщений и в следующий раз просто не запустится или будет работать неправильно. Может это уже давно исправили, но лучше не рисковать.
Этот файл требует более детального исправления.
SNEND определяет, кто будет сервером (SNEND=S), а кто клиентом (SNEND=С). Поэтому на одной машине ставим C, на другой S.
Ещё в этой команде можно указать порты (HPORT и PPORT), но по-умолчанию используется 2905.
Тут указываем локальный Point Code (одна система будет с 1, вторая с 2), SSF (указатель на протокол, который после MTP3. В данном случае это будет SCCP (0x08).
Остальные параметры не трогаем. Сохраняем файл config.txt.
Если всё было правильно, то в консоли получим что-то такое:
После того, как стек запущен, можно попробовать отправлять смс.
Пример запуска пишется, если ввести параметры неправильно (или совсем без параметров).
mtu -d0 -p2 -a43020008 -g43010008 -i222331234567890 -s"Test message"
Tags: SS7
9.29.2011
Telecom operating systems (cont)
Спасибо всем, кто откликнулся на мою просьбу и ответил на вопросы анкеты Telecom Operating Systems. Мои самые страшные подозрения подтвердились - продукция от Microsoft таки используется повсеместно :)
ITU/ANSI Conversion
От одного из читателей блога поступил интересный вопрос - как происходит конвертация планов нумерации, если необходимо передать сообщение из европейской (ITU) в американскую (ANSI) сеть SS7?
Если Вы не очень хорошо помните о планах нумерации в сетях GSM, то можете почитать мою старую статью здесь. Вопрос читателя относился конкретно к процедуре регистрации абонента одной из американских сетей в европейской. "Европейская" процедура регистрации включает в себя конвертацию IMSI абонента (E.212) в гибридный номерной план - E.214, который легко маршрутизируется по префиксу (аналогично E.164) в сетях транзитных операторов. Конвертация осуществляется на VLR (или MSC?) и состоит в замене MCC на CC и MNC на NDC.
- IMSI абонента транслируется в MGT, используя предварительную информацию от американского оператора;
- сообщение в формате E.214 (ITU) с CountryCode=1 маршрутизируется на ITU/ANSI conversion point;
- модифицированное в ANSI-формат сообщение отправляется американскому оператору.
- американский оператор отвечает через предпочтительный ITU/ANSI conversion point (не обязательно тот, с которого пришёл запрос).
8.10.2011
Telecom operating systems
Недавно был удивлён тем фактом, что есть вендоры, строящие свои VAS системы на основе MS Windows Server. Сразу стало интересно - а на каких операционных системах сейчас больше всего делают сервисы и системы?
Уважаемые читатели блога, у меня есть к Вам небольшая просьба - заполните, пожалуйста, опросник. Укажите операционные системы, с которыми Вы постоянно сталкиваетесь на работе. Я понимаю, что часто ОС скрыта за красивым ГУИ (как WinFIOL), но всё же есть возможность узнать, что там внутри скрыто :)
6.08.2011
IPv6 Day
Событие довольно эпохальное - впервые поддержка IPv6 будет тестироваться глобально. Причем участие в тестировании примут гиганты Интернет - Гугл, Facebook, Yahoo и прочие большие организации. В течении 24х часов веб-сайты и приложениях этих компаний должны быть доступны как по IPv4, так и по IPv6.
Если Ваш провайдер предоставляет Вам доступ к сети IPv6 (а проверить это можно перейдя по ссылке IPv6-тест), то несколько сотен сайтов будут доступны для Вас в двух сетях - IPv4 и IPv6.
Tags: IPv6
5.26.2011
Приграничный роуминг - зло под контролем
В отличии от обычного роуминга, скандальные истории с которым происходят довольно часто, проблема приграничного роуминга не очень популярна в Интернет. Тем не менее, проблема существует достаточно долго и затрагивает куда большее количество пользователей.
Так что же это за проблема?
Существует несколько видов приграничного роуминга:
- Случайный/неумышленный роуминг
- Удержание путешественников, которые возвращаются домой
- Национальный роуминг
Рассмотрим их по-порядку.
- обучение абонентов
- СМС-нотификация при регистрации в чужой сети (Welcome SMS)
- изменение настроек таймеров в телефонах
- использование роуминг-платформ (SS7 steering)
- профилирование абонентов
- биллинг-решения
Welcome SMS
Более продвинутый и эффективный (на первый взгляд) метод борьбы. Казалось бы, достаточно предупредить абонента о регистрации в роуминг-сети и он не будет жаловаться когда получит шокирующий счёт за использование услуг.
Однако не всё так просто. Во-первых, дополнительные СМС сообщения от оператора не всегда восторженно воспринимаются абонентами - для многих абонентов это очередной спам. Т.е. часто такие сообщения отправлять не получится. В итоге, в определённый момент абонент окажется не проинформирован о регистрации в "чужой" сети.
Во-вторых, быстрая доставка смс может быть невозможна из-за проблем покрытия у роуминг-партнёра.
Изменение настроек таймеров в телефонах
Основная проблема приграничного роуминга состояит не в том, что абонент зарегистрировался в сети другого оператора - как я уже говорил, это случается из-за проблем с покрытием домашней сети, а значит силами своей сети обеспечить связь для абонента просто невозможно. Проблема состоит в том, чтобы вернуть абонента обратно в свою сеть. По-умолчанию, это может произойти в двух случаях:
- исчезло покрытие зарубежной сети, в которой зарегистрировался абонент. Телефон абонента вынужден осуществить поиск, который может обнаружить домашнюю сеть. В этом случае телефон сразу же её и выберет;
- телефон абонента провёл периодическую процедуру сканирования и обнаружил домашнюю сеть.
Первый случай не очень интересен, потому что повлиять на ситуацию нет возможности. А вот во втором случае есть возможность влияния. По-умолчанию, период составляет 30 минут (чем он больше, тем лучше с т.зр. экономии ресурсов батареи), но у оператора есть возможность уменьшить этот период (и тем самым сократить время жизни батареи).
Использование роуминг-платформ (SS7 steering)
В "обычном" международном роуминге довольно распространена практика заключения договоров с несколькими операторами из одной страны. С одной стороны это даёт возможность обеспечить абонента связью на большей территории (провалы в покрытии одного оператора могут быть компенсированы покрытием другого оператора), а с другой - позволяет поторговаться за межоператорские тарифы. При этом хорошую скидку можно получить только если брать "оптом" - обеспечить большое количество роуминг-трафика в определённой сети.
При этом сами абоненты обычно ничего не знают о межоператорских расценках - для них установлена единая цена за услуги в любой сети из определённой страны. Задача домашнего оператора - "заставить" абонентов регистрироваться в сети с более низкими тарифами, может быть выполнена с помощью роуминг платформ - систем управления международным сигнальным трафиком.
В задачу подобных систем входит анализ данных, извлечённых из сообщения MAP update location. По номеру VLR есть возможность определить сеть, а затем исходя из настроек системы - разрешить или отказать в регистрации абонента в этой сети. В случае отказа, телефон выберет следующую доступную сеть и попытается зарегистрироваться в ней. Таким образом, у оператора появляется возможность "зарегистрировать" абонентов в определенной сети роуминг-партнёра.
Подобные системы могут быть дополнены модулем для специальной обработки сообщений update location от приграничных VLR в соседних странах. Идея состоит в том, чтобы отказать в попытке регистрации, выиграть немного времени (порядка 90 сек) и тем самым увеличить вероятность возвращения в домашнюю сеть.
Хотел бы отметить, что современные системы противодействия приграничному роумингу достаточно интеллектуальные и могут определять местоположение абонента (с точностью до соты), удалять и восстанавливать регистрацию абонента в сети роуминг-партнёра, отслеживать факт возвращения абонента в домашнюю сеть и ещё кучу плюшек. Если у Вас возник интерес к подобным решениям - обратите внимание на Border Roaming Gateway от Roamware .
Главный недостаток такого решения очевиден - абонент лишается связи в течении всего процесса принудительной регистрации.
Профилирование абонентов
Врага нужно знать в лицо, а абонента - в профиль. Собирая и анализируя данные по активности абонента, его местоположению, количеству жалоб и т.п. можно отнести его к одному из предустановленных профилей. Этот профиль затем может быть определен на системе рассылки смс (Welcome SMS ), системе изменения таймеров, роуминг-платформе.
Например, бизнес-клиенты не так чувствительны к расходам, но зато не любят лишние смс и очень не любят ситуаций недоступности услуг. Поэтому для них можно создать профиль с минимальным влиянием на процесс регистрации в зарубежной сети.
Биллинг-решения
Вместо решения проблемы, операторы могут договориться друг с другом об отсутствии дополнительной оплаты за услуги, предоставленные в приграничном роуминге. Это более вероятно, если оба оператора входят в состав одной большой компании.
Вместо заключения
Данная статья является вольным переводом этой статьи. Компания Evolved intelligence предлагает своё уникальное решение проблемы приграничного роуминга. Решение базируется на использовании ресурсов сети и самого телефона (SIM based application). Насколько эффективна такая связка - покажет время. Я же могу только сказать, что решения на базе роуминг-платформ, которые я разворачивал, довольно эффективны и уже установлены у многих операторов.
Tags: GSM

