Showing posts with label SS7. Show all posts
Showing posts with label SS7. Show all posts

3.20.2017

SS7 access

Hi everyone,
I'd like to know if you there many people still looking for SS7 exploits or any other way to access SS7 network?
Please write in comments (they won't be published - only I will see them) if you'd like to have some kind of tutorial for that.

Read More..

12.21.2011

Practical SS7, Part 3

В связи с повышенным вниманием к моим довольно старым статьям о практическом применении SS7 (Practical SS7 Part 1 и Practical SS7 Part 2), пришлось обновить материал и написать новую статью.
Вкратце, о чём эта статья. Она о том, как запустить стек SS7 на персональном компьютере с минимумом затрат по времени и нулевыми затратами по деньгам. При этом Вы получите полноценный промышленный стек SS7 от известного вендора - Dialogic (входит в состав компании Intel) с поддержкой Sigtran (M2PA, M3UA, SUA), SCCP, TCAP, MAP, IS41 и INAP (затрудняюсь сказать какой именно).

Кому это может быть интересно:

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


Немного о стеке SS7.
Раньше производитель назывался DataKinetics, потом его купила компания Dialogic, а сейчас это часть Intel (название так и оставили, потому что довольно раскрученное). Dialogic известен в мире голоса своими дорогими, но надёжными голосовыми (TDM) платами и не менее дорогим SDK. На них строят разные IVR-системы. Причём по своему опыту скажу, что треть предлагаемых решений IVR в мировом телеком рынке - это решения на базе Dialogic.

Что для этого понадобится:
Вариант 1. Два отдельных компьютера под управлением MS Windows (начиная с XP), Linux или Solaris.
Вариант 2. Один компьютер с установленным ПО для виртуализации. Я рекомендую Oracle VirtualBox. Гостевая ОС может быть любой из перечисленных в варианте 1. Проще всего Windows XP. Маленький ньюанс - очень желательна поддержка аппаратной виртуализации процессором (Intel, начиная с какого-то из Pentium IV. AMD - не знаю). Иначе скорость работы будет утомлять.
Вариант 3. Один компьютер и 1 виртуальный сервер от Amazon. Amazon предлагает попробовать свои услуги бесплатно в течении года, инструкция по настройке есть на Хабре. Важный момент - Sigtran будет работать только поверх VPN, потому что брендмауэр Амазона не понимает протокол SCTP.

Все дальнейшие инструкции будут относиться в равной степени к Вариантам 1 и 2. В случае Варианта 3 есть незначительные изменения, связанные с использованием адресации VPN-тоннеля.
В дальнейшем я предполагаю, что Вы используете Windows XP в качестве ОС. Отличия от Linux и Solaris незначительные и касаются только процесса установки.

Часть 1. Установка SS7 стека.

Все ссылки для скачивания находятся на этой странице:
http://www.dialogic.com/Products/signaling-and-ss7-components/download/dsi-interface-protocol-stacks.aspx

Надо скачать:
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), а дальше, в зависимости от назначения системы:
isup.exe (если платформа обрабатывает голосовой трафик);
sccp.exe+tcap.exe+map/inap.exe (для MAP/INAP трафика).


Есть возможность не использовать модули верхних уровней, а вместо этого написать собственное приложение для их обработки. Многие производители ПО для мобильных операторов так и поступают.
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_CONFIG\ уже есть готовый пример для "отправителя" сообщений (эмуляция SMSC).
Аналогично, в папке C:\DSI\UPD\RUN\MTR\M3UA_CONFIG\ есть пример для "получателя" сообщений.
Одна проблема - пример для Линукс, так что перемещаем system.txt в наш "корень" (C:\DSI\) и исправляем пути во всех FORK_PROCESS (системный вызов ОС, отвечает за создание процесса с новым process id). Дополнительно мне пришлось снять атрибут "Только чтение" с файла. У меня в итоге получилось что-то такое (привожу только окончание файла):
FORK_PROCESS tim.exe
FORK_PROCESS tick.exe
FORK_PROCESS s7_mgt -d
FORK_PROCESS s7_log -fss7.log -tt
*
* SCTP and SCTPD for non-native SCTP
FORK_PROCESS sctp.exe
FORK_PROCESS sctpd.exe
*
* SCTPn for native SCTP
*FORK_PROCESS ../../../../sctpn
*
FORK_PROCESS HSTBIN\m3ua -t
FORK_PROCESS HSTBIN\sccp -t
FORK_PROCESS HSTBIN\tcap -t
FORK_PROCESS HSTBIN\map -t

Важное замечание для тех, кто устанавливает стек на Linux/Solaris. Поскольку это нормальные сетевые ОС (в отличии от Windows), то в них уже есть поддержка SCTP на уровне ядра.
Dialogic настоятельно рекомендует использовать именно реализацию SCTP операционной системы. Для этого вместо sctp и sctpd, надо запустить только sctpn.

3. Проверяем, что конфигурация правильная.
Для этого можно попробовать запустить стек. В первый раз это лучше сделать через консоль (Пуск-выполнить-cmd). Дальше перейти в папку c:\DSI, а в ней выполнить gctload.exe
В моём случае Виндовс ругнулся на отсутствующую библиотеку, поэтому в консоли вызвал
PATH=
Получил текущее значение путей поиска, а дальше
PATH=скопировать текущие пути;C:\DSI\LIB32 (или LIB64, если у Вас 64-битная ОС)

4. gctload при запуске выдаст некоторые сообщения:
(3588)gctload: Verification started.
(3588)gctload: Verification complete.
(3588)gctload: Initialisation complete.

S7_log : mod ID=0xef, options=0xaf0d, max_param_len=320
S7_log : Writing log file ss7.log --- это лог файл. Туда будут писаться разные полезные сообщения. Читать их, правда, иногда трудно

Failed to open s7_mgt configuration file : config.txt --- config.txt мы ещё не написали, так что не обращаем внимания

Cannot open configuration file config.txt
SS7 TCAP started in trial mode.
This binary will terminate after 1 hour. --- а вот и лицензия на 1 час

SS7 MAP started in trial mode.
This binary will terminate after 1 hour.
SS7 SCCP started in trial mode.
This binary will terminate after 1 hour.
SS7 M3UA started in trial mode.
This binary will terminate after 1 hour.

5. Важная информация.
Остановить gctload можно и по Ctrl-C. Но я крайне не рекомендую этого делать. Раньше даже во всей документации этого не рекомендовали. Для правильного останова надо в другой консоли сделать: gctload.exe -x
Иначе есть шанс, что стек оставит в памяти свои служебные очереди сообщений и в следующий раз просто не запустится или будет работать неправильно. Может это уже давно исправили, но лучше не рисковать.

6. В system.txt указан запуск s7_mgt. Это приложения для конфигурации SS7 параметров стека. По-умолчанию использует файл config.txt, пример которого есть в C:\DSI\UPD\RUN\MTU\M3UA_CONFIG\


Этот файл требует более детального исправления.
* Local IP Address Configuration
CNSYS:IPADDR=192.168.0.1; - адрес интерфейса, который будет использоваться для отправки/получения сообщений.
Перед тем, как указывать адрес, убедитесь, что обе ОС находятся в одной сети. Лучше всего сперва проверить с помощью ping что системы "видят" друг-друга, а потом уже настраивать стек. И НЕ ЗАБУДЬТЕ ОТКЛЮЧИТЬ ЗАЩИТНИК ВИНДОВС.

* SCTP Association configuration to Remote IPSP
SNSLI:SNLINK=1,IPADDR=192.168.0.2,SNTYPE=M3UA,SNEND=C; - тут указывается адрес второй ОС. Я надеюсь, понятно, что на втором компьютере адреса меняются местами?

SNEND определяет, кто будет сервером (SNEND=S), а кто клиентом (SNEND=С). Поэтому на одной машине ставим C, на другой S.
Ещё в этой команде можно указать порты (HPORT и PPORT), но по-умолчанию используется 2905.

* Remote Application Server Configuration
SNRAI:RAS=1,DPC=2; - Указываем Destination Point Code удалённой системы. Это адресация уровня MTP3 (M3UA, который мы настраиваем, это реализация MTP3 поверх SCTP).

* Add Remote AS to Association
SNALI:SNAL=1,RAS=1,SNLINK=1; - этот момент надо в документации читать. Но похоже на привязку удалённого Application Server к конкретной ассоциации (ассоциация это аналог signaling link в MTP2).

* SCCP_CONFIG
SCCP_CONFIG 1 0x8 0x0102 0x01

Тут указываем локальный Point Code (одна система будет с 1, вторая с 2), SSF (указатель на протокол, который после MTP3. В данном случае это будет SCCP (0x08).
Опции (0x0102) описаны в документации и их вычисление задача нетривиальная. Надо перевести число в двоичную форму, выбрать нужные биты (сделать их равными 1), потом всё перевести в 16-ричную.
Send UIS - User In Service (0x01). Здесь мои знания расходятся с тем, что написано в документации, поэтому если Вам интересно - читайте Software Environment Manual.

Остальные параметры не трогаем. Сохраняем файл config.txt.

7. Теперь пробуем по-очереди запустить стек на обоих системах.
Если всё было правильно, то в консоли получим что-то такое:
S7_MGT Boot complete --- важная строка. Говорит, что стек запустился
S7L:00:08:48.131 I0000 M3UA Association Status : id=0 UP
S7L:00:08:48.131 I0000 M3UA Indication : ASP UP, Association=0
S7L:00:08:48.131 I0000 M3UA Notify : AS Inactive, Association=0 ASP=0
S7L:00:08:48.131 I0000 M3UA Indication : ASP ACTIVE, Association=0 AS=0
S7L:00:08:48.131 I0000 M3UA Indication : AS ACTIVE, AS=0
S7L:00:08:48.131 I0000 M3UA Notify : AS Active, Association=0 ASP=0 --- Ассоциация доступна

После того, как стек запущен, можно попробовать отправлять смс.
MTR.exe уже должно быть запущено на стороне получателя (приложение в system.txt для MTR прописано).
MTU надо запускать вручную в консоли.
Пример запуска пишется, если ввести параметры неправильно (или совсем без параметров).
Хотя указанные при этом параметры - неправильные. Как вариант, можно попробовать так:
mtu -d0 -p2 -a43020008 -g43010008 -i222331234567890  -s"Test message"

Я очень рекомендую запустить Wireshark в одной из ОС и следить за всеми сообщениями, которые будут передаваться между системами. Можете использовать фильтр "sctp" для начальной настройки, а потом "sccp".

Если есть вопросы - задавайте в коментариях. Постараюсь ответить.

Read More..

9.29.2011

ITU/ANSI Conversion

От одного из читателей блога поступил интересный вопрос - как происходит конвертация планов нумерации, если необходимо передать сообщение из европейской (ITU) в американскую (ANSI) сеть SS7?


Если Вы не очень хорошо помните о планах нумерации в сетях GSM, то можете почитать мою старую статью здесь. Вопрос читателя относился конкретно к процедуре регистрации абонента одной из американских сетей в европейской. "Европейская" процедура регистрации включает в себя конвертацию IMSI абонента (E.212) в гибридный номерной план - E.214, который легко маршрутизируется по префиксу (аналогично E.164) в сетях транзитных операторов. Конвертация осуществляется на VLR (или MSC?) и состоит в замене MCC на CC и MNC на NDC.
Всё хорошо, пока мы в Европе, где операторам выделены отдельные (не географические) телефонные коды. В Северной Америке ситуация более запутанная - изначально у каждого оператора была масса географических кодов (area codes), которые они используют для нумерации абонентов из разных регионов. Если я не ошибаюсь, то сейчас операторы дополнительно используют не географические коды. В любом случае, простой конвертации MNC в area code осуществить нельзя - кодов слишком много. Вместо этого американский оператор "просит" транслировать MNC в какой-то один свой код.
Если бы не отличия в ANSI/ITU протоколах SS7, достаточно было бы отправить E.214 сообщение в сеть и ожидать ответа. Но в данном случае необходима конвертация между форматами с помощью какого-либо промежуточного узла. Таких узлов много, но каждый конкретный оператор работает только с определёнными узлами. Например, один из крупнейших американских операторов AT&T пользуется услугами 2х узлов - Syniverse и TELEGLOBE (сейчас Tata Communications). В европейской части сети SS7 эти узлы подключены ко многим большим операторским и транзитным сетям, таким как France Telecom, Deutche Telecom, Belgacom, British Telecom и др. В американской части сети они подключены напрямую к GSM операторам.
Следовательно, вся процедура регистрации американского абонента в европейской сети выглядит так:
  1. IMSI абонента транслируется в MGT, используя предварительную информацию от американского оператора;
  2. сообщение в формате E.214 (ITU) с CountryCode=1 маршрутизируется на ITU/ANSI conversion point;
  3. модифицированное в ANSI-формат сообщение отправляется американскому оператору.
  4. американский оператор отвечает через предпочтительный ITU/ANSI conversion point (не обязательно тот, с которого пришёл запрос).

Read More..

4.28.2008

SS7 hacks

I'm using Septel stack mostly for good things, but sometimes it’s too boring to be good. And if you know nuances of GSM signaling, then you can spend your time with fun.
It could be that some of you already sent SMSes to your friends with their on numbers as sender address. If no, then I'll tell you how to do this in latest articles. But today I'm going to more "disastrous" - I'll disable all incoming calls to friend of mine. Actually we won't disable calls, but will route them through another switch (MSC).
This can be easily done if you know how registration procedure in GSM occurs. Every registration starts with MAP SAI (sendAuthInfo), which isn't interesting for us. But next message, called MAP updateLocation is quite interesting. This message contains subscriber's IMSI and MSC/VLR addresses. This is not a news and you can get this info from open sources (e.g., MAP specifications). The news is that once UL reached HLR, it changes serving MSC/VLR address in subscriber's profile. It's not necessary to complete whole UL-ISD-ISDAck-ULAck transaction! Once we sent UL, HLR will use MSC/VLR addresses from it as addresses of real MSC/VLR. It will also send MAP cancelLocation message to serving MSC/VLR to delete subscriber's information from it.
So what will happens if create some Dummy UL with MSC/VLR addresses of another MSC/VLR? This will result in failure of all incoming calls to the particular IMSI. Because once someone try to call "victim", it's MSC will fire SRI (sendRoutingInfo) to HLR. HLR will check victim's profile, gets VLR address and send PRN (provideRoamingNumber) to that VLR. But that VLR doesn't know anything about victim! So it won't provide MSRN and call will be dropped. Victim will be unavailable until it make outgoing call from it's mobile or move from one MSC area to another (new VLR will fire new UL). Actually, the first outgoing call from "victim" also could be failed, because VLR will request data from HLR.
You could say, that this is quite theoretical. But believe me - it works! All you need is working Septel stack connected to SS7 network. Yes, this is exacting requirements, but who knows - may be you have access to some GSM systems which uses Septel as SS7 stack.
Once you got the access you need to create small txt file and call it ul.ms7. The contains of this file really depends on your network configuration, so all I can do is to explain format of that file:
M-tcf00-i0000-f33-d81-pHEX_MESSAGE

"M-tcf00-i0000-f33-d81-p" is the standard beginning of all messages that you need to send to network (source SCCP, destination MTP2)
HEX_DATA is the whole SS7 message (MTP3, SCCP, TCAP, MAP). Let me know if you need an example and I'll give it to you (I can't share it here because all examples I have were taken from real GSM networks).

Read More..

3.27.2008

Practical SS7. Part2

Внимание! Информация немного устарела, поэтому дополнительно прочтите статью "Practical SS7, Part 3"

Введение
Итак, после прочтения первой части SS7 Practice у вас должен быть рабочий стек SS7, установленный на двух хостах. Теперь уже можно перейти к непосредственному использованию этих стеков. Забегу немного вперёд и скажу, что сам стек позволяет сохранять все полученные/переданные сообщения в лог-файл. Этот файл затем может быть преобразован в Wireshark-совместимый формат с помощью моего septel decoder. Но это больше применимо к случаю, когда используются E1-потоки для передачи сигнальных сообщений. В нашем же, SigTRAN случае, достаточно просто анализировать пакеты, передаваемые через TCP/IP-стек вашей операционной системы. Благо, Wireshark умеет декодировать SigTRAN (точнее sctp). Что ж, запускаем Wireshark и начинаем его настраивать.


Настройка Wireshark
Выбираем «Capture -> Interfaces…»
Wireshark Capture-Interfaces menu
В полученном окне нужно выбрать тот интерфейс, через который будут передаваться пакеты, и нажать «Options».

В поле Capture Filter необходимо ввести «sctp». Убедитесь, что все 3 опции выбраны в разделе «Display Options» (выделены красным на рисунке).
Теперь можно нажать Start!

Немного теории
Прежде чем начать отправлять SMS, давайте немного рассмотрим теорию.

Так теоретически выглядит наша тестовая система. Возле каждого из уровней (а фактически приложения) в скобках указан т.н. ModuleID. Это внутренний идентификатор, который служит для обмена сообщениями между модулями в самом стеке.
Теперь, на одной из систем выполните mtpsl deact 0 0 для деактивации линка (сигнального звена), а зетем mtpsl act 0 0, чтобы активировать его вновь.
Посмотрите, что при этом происходит. Через 30 сек, после того, как линк был активирован, вы увидите SCCP SST (sub-system test) сообщения, которыми обменяются системы. В ответ на каждое из них приходит SSA (subsystem allowed). Только после этого можно проверить правильность конфигурации путём отправки тестовой смс.

Отправляем SMS
На узле MTR выполните
mtr.exe –m0x2d
На узле MTU выполните:
mtu.exe –d0 –a43020008 –g43010008 –i987654321 –s”Test message”
Проверьте успешность доставки в Wireshark. Вы должны увидеть сообщение «SMS-Deliver» с вашим текстом.

Вместо заключения

Если вы не просто прочли, а ещё и выполнили все указанные действия, то мир SS7 (а за ним и GSM) распахнул перед вами свои широкие объятия. Понятно, что mtr.exe и mtu.exe всего лишь простые примеры применения стека. Но никто не мешает вам написать собственное. Некоторые компании (в частности и та, где я работаю) пошли дальше и написали свои приложения ещё и для уровней TCAP и MAP.
А пока что всё. Как всегда, комментарии приветствуются.

Read More..

3.12.2008

Practical SS7. Part 1

Внимание! Информация немного устарела, поэтому дополнительно прочтите статью "Practical SS7, Part 3"

Вместо введения
Многие из нас готовы ринуться в бой, изучить всё и вся, но не могут сделать первый шаг. Очень часто, причина этого слишком большой объём информации вокруг нас. Да, именно так. Задавшись целью попрактиковаться с SS7, вы найдёте массу информации, но вот с чего начать понять трудно. Есть масса реализаций, часть из них даже открытые. И если потратить пару недель, то в итоге можно найти простую и работающую реализацию. Но кто даст гарантию, что вашего терпения на столько хватит? :)


О чём эта статья?
Ниже я собираюсь рассказать и показать, как запустить полноценный рабочий стек SS7 на обычном компьютере. От вас не потребуется ни покупки сигнальных карт, ни установки специальных операционных систем, ни часов компиляции с кучей ошибок. Всё что нужно это просто скачать, распаковать, немного настроить и запустить.

Описание технологии
Я надеюсь, что вы уже хоть немного понимаете, что такое SS7 и каким образом сообщения передаются на физическом/канальном уровне. Вариантов на самом деле немного. Это может быть классический поток E1 (вернее тайм-слоты в этом потоке, 16 максимум), либо SigTRAN (технология передачи сигнальных сообщений через IP сеть).
Раз уж я сказал, что специальных плат покупать не придётся, то логично предположить, что наш практикум будет использовать SigTRAN для передачи сообщений между узлами.
Теперь самый неприятный момент: для тестов нужны 2 хоста. Не обязательно 2 компьютера (хотя это и самый простой вариант), можно один компьютер с Vmware (с установленным Linux или Windows).
Использоваться будет стек от компании Dialogic. Стек модульный, может использоваться как для классического SS7 (Dialogic выпускает специальные сигнальные карты для этого), так и с SigTRAN. Поскольку это промышленное решение (я его использую в своей работе, например), то оно стоит денег. Но для целей разработки есть возможность использовать стек в «триальном» режиме – 10 часов. После этого все приложения следует перезапустить. Для нас с вами это ограничение вовсе и не ограничение, а для систем 24/7 конечно покупают лицензию.
Сам стек, как я сказал, модульный. Есть несколько разных модулей для реализации различных типов SigTRAN - M2PA, M2UA, M3UA и SUA. Не буду вас пока пугать расшифровкой этих терминов, а скажу, что мы будем использовать «самый простой» тип – M2PA. Для проведения тестов мы установим и настроим такой вот стек протоколов:
M2PA->MTP3->SCCP->TCAP->MAP. Далее специальное приложение будет отправлять SMS через MAP на второй хост, где другое приложение будет получать эту смс.

Процесс установки
Далее я буду рассматривать процесс установки для Windows.
1. Заходим на сайт Dialogic
2. Выбираем «SS7 Development Package for Windows», скачиваем и устанавливаем. Когда установщик предложит выбрать тип карты (SS7HD или SPCI2S), не выбираем ни одну из карт.
3. Заходим на вторую страничку
4. Скачиваем в c:\septel следующие файлы: «Binary for Windows – MTP3», «Binary for Windows – SCCP», «Binary for Windows – TCAP», «Binary for Windows – MAP» и «Binary for Windows – M2PA».
5. Скачиваем Wireshark (свободнораспростаняемый анализатор протоколов).

Процесс настройки
Теперь надо определиться, кто будет отправлять SMS, а кто получать. У нас всего 2 хоста, поэтому один из них будет отправителем (MTU), а второй получателем (MTR). После того, как определились, выполняем всё строго по пунктам:
1. Проверяем через ipconfig IP адреса обоих хостов. На всякий случай отключаем Firewalls, проверяем что хосты «видят» друг-друга (с помощью ping, например).
2. Скачиваем архив, откуда изымаем mtr.exe и mtu.exe. Копируем их в c:\septel на соотвествующих хостах (MTU и MTR).
3. В этом же архиве содержаться начальные файлы конфигурации, которые нужно записать в c:\septel под именами config.txt и system.txt:
config.mtr.txt записываем как config.txt на хост MTR
config.mtu.txt записываем как config.txt на хост MTU
В зависимости от типа операционной системы записываем в c:\septel на обоих хостах под именем system.txt файл system.linux.txt или system.windows.txt.
4. Редактируем config.txt на обоих хостах:
В CNSYS:IPADDR устанавливаем локальный IP адрес (из п.1)
В SNSLI:SNLINK устанавливаем IP адрес второго хоста.
Естественно, что на втором хосте в config.txt IP адреса просто меняются местами.

Тестирование
1. На каждом из хостов необходимо по 2 консоли. В MS Windows это делается через Пуск-Выполнить-cmd.
2. В первой консоли выполните 2 команды
cd c:\septel
gctload –d
Если запуск произошёл успешно (последнее сообщение будет S7_MGT Boot Complete), то переходим к пункту 3. Если нет, то пишем комментарий внизу страницы, где просим помочь разобраться ))
3. Во второй консоли выполните
cd c:\septel
mtpsl act 0 0
Как только вы выполните эту команду на обоих хостах, это активирует M2PA линк. В окне должно появиться: point code=00000001 Destination available
4. Чтобы остановить стек, выполните gctload –x

Анализ полученных результатов
В результате проделанных выше действий мы получили полноценный стек протоколов ОКС (SS7). В следующей статье я расскажу как и для чего его можно использовать (не зря же вы устанавливали приложения mtu и mtr).

Read More..