Конфигурация SIGTRAN-MEGACO в ECSS10 в командном режиме
Установка/модификация SIGTRAN/MEGACO конфигурации в командном режиме производится последовательностью следующих команд:
- /network/peer/
- /sigtran/as/
- /network/application/
- /mgc/gateway/
- /mgc/
- /sigtran/iua/link/
- /sigtran/q931/cic/
- /sigtran/q931/trunk/
- domain/<DOMAIN>/trunk/set
Ниже представлено описание конфигурации для следующих групп объектов:
- Транспорт;
- Сигнальный протокол MEGACO;
- IUA.
Транспорт
1. Установите два соединения между ECSS10 и SMG для протокола SIGTRAN и для протокола MEGACO.
Для SIGTRAN-соединения необходимо создать AS (application server / сервер приложений), который будут обслуживать M2UA-сессии. AS содержит в своем составе ASP (application server process / процесс сервера приложений), задача которого поддерживать sctp-сессии через заданные порты.
Схема логических объектов и их взаимодействия приведена ниже:
2. Запустите CoCon.
По умолчанию:
- login → admin
- password → password
ssh admin@localhost -p8023
Последовательность команд:
peers:
/network/peer/declare/<NAME> <PROTOCOL> <PROTOCOL_ARGS> <MODE> [<NODE_PARAMS_1> [ <NODE_PARAMS_2> [...]]]
, где:
- <NAME> — имя peer, уникальное на уровне системы;
- <PROTOCOL> — sctp | udp | tcp;
- <PROTOCOL_ARGS> — для sctp-протокола – <IN_STREAMS> <OUT_STREAMS>, для остальных протоколов параметры отсутствуют;
- <IN_STREAMS> :: 1..65535 — желаемое количество входящих sctp-потоков;
- <OUT_STREAMS> :: 1..65535 — желаемое количество исходящих sctp-потоков;
- <MODE> — client | server. server — в этом случае на уровне системы поднимается listen-интерфейс, и ожидается, что сторонние системы будут подключаться к нам; "client" – в этом случае мы подключаемся к удаленной стороне;
- <NODE_PARAMS_N> :: <NODE_N> <IP_1>[, <IP_2> [...]] <PORT>;
<NODE_N> — имя ноды, к которой привязан IPs/Port. Для режима "mode = client" также возможно значение any;
<IP_N> — в случае "mode = server" IP-адрес и порт, на котором поднимает listen-интерфейс (для mode = server); в случае "mode = client" – IP-адрес или имя хоста и порт, к которому в рамках данного peer-а будет предоставлен транспорт с указанной ноды.
Пример:
/network/peer/declare smg_iua sctp 10 10 client core1@ecss1 10.0.20.154 2905 core1@ecss2 10.0.20.154 2905
Создание пира для SIGTRAN:
/network/peer/declare sctp_iua1 sctp 10 10 client core1@ecss1 10.0.20.154 2905 core1@ecss2 10.0.20.154 2905
Создание пира для MEGACO:
/network/peer/declare smg_megaco sctp 10 10 server core1@ecss1 10.0.20.11 7000 core1@ecss2 10.0.20.11 7000
Результат:
/network/peer/info ┌─────────────────────────────┬──────────┬──┬─────────────────────────────┬─────────────────────────────────┬──────────────────────────────────────────────────────────────┐ │ Name │ Protocol │M │ Node │ IP:Port │ Description │ ├─────────────────────────────┼──────────┼──┼─────────────────────────────┼─────────────────────────────────┼──────────────────────────────────────────────────────────────┤ │sctp_iua1 │sctp │C │core1@ecss2 │10.0.20.154:2905 │ │ │ │ │ │core1@ecss1 │10.0.20.154:2905 │ │ │smg_megaco │sctp │S │core1@ecss2 │10.0.20.11:7000 │ │ │ │ │ │core1@ecss1 │10.0.20.11:7000 │ │ └─────────────────────────────┴──────────┴──┴─────────────────────────────┴─────────────────────────────────┴──────────────────────────────────────────────────────────────┘ Legend: M - mode of peer: S - server; C - client
ECSS10, работающие на серверах ecss1 (IP-адрес — 10.0.20.11) и ecss2 (IP-адрес — 10.0.20.12),
SMG через порт — 2905, ip-адрес — 10.0.20.154, по протоколу sctp, со стороны ECSS10 режим работы → client.
Количество потоков (instreams/outstreams) примере =10, это значение рекомендуется для большинства проектов.
3. Через порт 7000 установите соединение по протоколу sctp в режиме server для megaco, также работающее на обоих серверах ecss1/ecss2.
4. Создайте AS на стороне ecss, значение имени peers возьмите из предыдущего шага (в примере smg_iua1).
/sigtran/as/declare <NAME> <PEER> <CLASS> [<DESCRIPTION>]
где:
- <NAME> — уникальное в рамках системы имя M2UA AS;
- <PEER> — имя peer, к которому привязывается SG (только peer протокола SCTP, по умолчанию control stream выбирается 0);
- <CLASS> — тип AS;
- <DESCRIPTION> — описание данного M2UA AS.
Пример:
/sigtran/as/declare AS_IUA1 smg_iua1 iua Application Server for SMG IUA1
5. После создания AS командой set подключите идентификатор Application Service Process:
/sigtran/as/set <NAME> <KEY> <VALUE>
где:
- <NAME> — имя SIGTRAN AS;
- <KEY> :: peer | description | asp_id | ppid | control_stream;
- <VALUE> — новое значение. Формат значений:
- peer <PEER>;
- description <DESCRIPTION>;
- asp_id <NODE_1>/<ASP_ID_1> [<NODE_2>/<ASP_ID_2> [...]];
- ppid - payload protocol identifier — идентификатор протокола M2UA по SCTP. По умолчанию равен 2. Возможные значения: 0..4294967295;
- class <CLASS>.
- <PEER> — имя peer, к которому привязывается MG (только peers протокола SCTP);
- <CLASS> — новый тип AS. Возможные значения: iua, m2ua, megaco;
- <CONTROL_STREAM> — идентификатор потока SCTP для control-коннекции;
- <DESCRIPTION> — описание данного M2UA сетевого приложения;
- <NODE_N> — имя ноды;
- <ASP_ID_N> — идентификатор Application Service Process в рамках AS, привязанного к определенной ноде.
Пример:
/sigtran/as/set AS_IUA1 asp_id core1@ecss1/65 core1@ecss2/66
6. Создайте AS для SIGTRAN:
/sigtran/as/declare AS_IUA1 sctp_iua1 iua Application Server for SMG IUA1
7. Добавьте идентификаторы Application Service Process в рамках AS:
/sigtran/as/set AS_IUA1 asp_id core1@ecss1/65 core1@ecss2/66
8. Выполните проверку конфигурации Транспорта:
/network/application/info --extended
/network/application/info --extended
network/application/info --extended ┌─────────────────────────┬─────────────┬─────────────────────────┬───────────────────────────────────────────────────┬───────────────────────────────────────────────────┐ │ Name │ Protocol │ Peers │ Description │ Options │ ├─────────────────────────┼─────────────┼─────────────────────────┼───────────────────────────────────────────────────┼───────────────────────────────────────────────────┤ │AS_IUA1 │iua │sctp_uia1 │Application Server for SMG IUA1 │ppid = 1 │ │ │ │ │ │asp_id/core1@ecss1 = 65 │ │ │ │ │ │asp_id/core1@ecss2 = 66 │ │smgc │megaco │smg_megaco │MGC on SMG 10.0.20.154 │ppid = 7 │ │ │ │ │ │device_names = smg1 │ └─────────────────────────┴─────────────┴─────────────────────────┴───────────────────────────────────────────────────┴───────────────────────────────────────────────────┘ Total: 5
9. Укажите, что AS (application server) будет поддерживать iua, работать через peer=smg_iua1 (созданный ранее).
10. Командами создайте два ASP (application server process)-процесса для core1 node, на каждом сервере с указанием их идентификаторов asp_id =65/66 (в примере). С помощью этих идентификаторов будет установлено соединение между AS на стороне ecss и AS на стороне smg.
Транспортный уровень со стороны ecss создан, конфигурацию со стороны smg необходимо сделать уже в конфигурация в SMG.
MEGACO
Для конфигурации MEGACO необходимо прописать имена речевых В-каналов (media_ports), которые ECSS10 будет использовать как транки при установлении соединений посредством транкового шлюза SMG. Также необходимо будет указать, через какой peer (предварительно созданным в разделе Транспорт) будет осуществляться управление SMG, посредством протокола - H.248/MEGACO со стороны контроллера MGC.
1. Выполните следующие команды:
/mgc/gateway/declare <DEVICE_NAME> <TYPE> <MEDIA_PROFILE> <PORT_RANGE> <DESCRIPTION>
где:
- <DEVICE_NAME> — уникальное в рамках системы имя шлюза, который регистрирует (анонсирует) свои порты;
- <TYPE>- megaco — в настоящий момент поддерживается только медиа-шлюзы, управляемые по протоколу megaco;
- <MEDIA_PROFILE> — имя медиапрофиля, по умолчанию – default;
- <PORT_RANGE> — диапазон медиапортов, которые присутствуют на данном шлюзе (например, e1p{1-15,17-31} сформирует список портов e1p1, e1p2,...,e1p15,e1p16,...,e1p31);
Пример:
/mgc/gateway/declare smg1 megaco default e1_14p{1-15,17-31} MG on SMG 10.0.20.154
/mgc/gateway/declare smg1 megaco default e1_14p{1-15,17-31} MG on SMG 10.0.20.154
2. Добавьте следующий Е1-поток, выполнив команду (если требуется):
mgc/gateway/port/add <DEVICE_NAME> *|<PORT_RANGE>
где:
- <DEVICE_NAME> — media gateway, уникальное имя внутри системы;
- <PORT_RANGE> — диапазон media ports, которые будут добавлены к шлюзу (e.g. e1p{1-15,17-31}, можно использовать список портов (e1p1,e1p2,...,e1p15,e1p17,...,e1p31)).
Пример:
/mgc/gateway/port/add smg1 e1_2p{1-15,17-31}
3. После создания медиа-шлюза (MG) создайте контроллер медиа-шлюза MGC следующей командой:
/mgc/declare <NAME> <PEER_1> [, <PEER_2> [...]] [<DEVICE_NAME> [<DESCRIPTION>]]
где:
- <NAME> — уникальное в рамках системы имя MGC;
- <PEER_N> — имя peer, к которому привязывается MGC. В случаях нескольких peers,их необходимо записывать через запятую;
- <DEVICE_NAME> — имя шлюза, который регистрирует (анонсирует) свои порты на MGC;
- <DESCRIPTION> — описание данного шлюза.
Пример:
/mgc/declare smgc megaco smg_megaco smg1 MGC on SMG 10.0.20.154
Основное действие на этом шаге: связали речевые каналы на SMG с peer протокола SCTP. Управление речевыми каналами транкового шлюза SMG с именем smg1 будет нужно через peer с именем smg_megaco по протоколу MEGACO, этим будет занимается core1 node.
IUA-уровень
Создание объектов уровня IUA:
1. Создайте сигнальный iua-линк и укажите его идентификатор iid (в примере iua1), sapi = 0 и tei = 0, а также привяжите его к AS, который будет обслуживать данный линк.
Для этого использовать команду:
/sigtran/iua/link/declare <LINK> <APPLICATION_SERVER> <IID> <SLC> <DESCRIPTION>
где:
- <LINK> — имя линка (диапазон линков);
- <APPLICATION_SERVER> — имя IUA AS;
- <IID> — идентификатор интерфейса (текст или цифра);
- <SAPI> — Service Access Point Identifier как определено в Q.921 (number in the range 0..63);
- <TEI> — Terminal Endpoint Identifier как определено в Q.921 (number in the range 0..127);
- <DESCRIPTION> — описание линка.
Пример:
/sigtran/iua/link/declare iua1 AS_IUA1 iua1 0 0 IUA link #1
Просмотр:
sigtran/iua/link/info
┌───────────────────┬───────────────────┬───────────────────┬─┬───────┬─────┬─────────────────────────────────────────────────────────────────────────────────────────┐
│ IUA AS │ Link │ IID │D│ SAPI │ TEI │ Description │
├───────────────────┼───────────────────┼───────────────────┼─┼───────┼─────┼─────────────────────────────────────────────────────────────────────────────────────────┤
│AS_IUA1 │iua1 │iua1 │x│0 │0 │IUA link #1 │
└───────────────────┴───────────────────┴───────────────────┴─┴───────┴─────┴─────────────────────────────────────────────────────────────────────────────────────────┘
Total: 1
Legend:
D - disabled
- x - disabled link
- " " - enabled link
2. Активизируйте сигнальный линк, выполнив команду:
/sigtran/iua/link/set AS_IUA1 iua1 enable true
Результат:
/sigtran/iua/link/info
┌───────────────────┬───────────────────┬───────────────────┬─┬───────┬─────┬─────────────────────────────────────────────────────────────────────────────────────────┐
│ IUA AS │ Link │ IID │D│ SAPI │ TEI │ Description │
├───────────────────┼───────────────────┼───────────────────┼─┼───────┼─────┼─────────────────────────────────────────────────────────────────────────────────────────┤
│AS_IUA1 │iua1 │iua1 │ │0 │0 │IUA link #1 │
└───────────────────┴───────────────────┴───────────────────┴─┴───────┴─────┴─────────────────────────────────────────────────────────────────────────────────────────┘
Total: 1
Legend:
D - disabled
- x - disabled link
- " " - enabled link
IUA CIC и транки
Описание данного раздела:
- Объединение речевых В-каналов с сигнальной базой данных IUA;
- Создание диапазон CIC (circuit identification code) и одновременно назначение их на порты потоков Е1, которые были в секции MEGACO для SMG с именем smg1 (т. е. объединили реальные речевые В-каналы SMG с кодами, которые будут передаваться, по IUA к PSTN станции партнеру);
- Прописывание параметров речевой группы транков с именем → qsig1, включение ее в домен → test_domain и использование default_routing (в test_domain);
- Указание параметров iua → iua_link = iua1 (объединение речевой маршрутизации с сигнальной iua).
1. Создайте ISUP CIC, выполнив команду:
/sigtran/q931/cic/declare <IUA_AS> <LINK> <CIC> [<media gateway name> <PORT>]
где:
- <IUA_AS> — имя IUA AS;
- <LINK> — имя сигнального линка;
- <CIC> :: 0..16383 — идентификатор CIC либо диапазон CIC;
- <media gateway name> — имя медиашлюза;
- <PORT> — медиа-порт или диапазон медиапортов;
Пример:
/sigtran/q931/cic/declare AS_IUA1 iua1 {1-15,17-31} smg1 e1_14p{1-15,17-31}
2. Создайте CIC для потока:
/sigtran/q931/cic/declare AS_IUA1 iua1 {1-15,17-31} smg1 e1_14p{1-15,17-31}
3. Создайте IUA-транки, выполнив команду:
/sigtran/q931/trunk/declare <DOMAIN> <GROUP> <TRUNK> <ROUTING_CONTEXT> <IUA> <LINK> [<CICs>]
где:
- <DOMAIN> — имя домена;
- <GROUP> — имя интерфейс группы (существующей или новой);
- <TRUNK> — имя транка;
- <ROUTING_CONTEXT> — имя существующего контекста маршрутизации;
- <IUA> — имя IUA AS;
- <LINK> — имя IUA link;
- <CICs> — диапазое CIC.
Пример:
/sigtran/q931/trunk/declare test_domain default qsig1 default_routing AS_IUA1 iua1 {1-15,17-31}
4. Для создания транков укажите алгоритм занятия исходящего канала следующей командой:
/domain/<DOMAIN>/trunk/set <GROUP> <TRUNK> <PROPERTY> <VALUE>
где:
- <GROUP> — имя группы транка, символ "*" используется для указания любой группы;
- <TRUNKS> — имя транка, для которого выполняются настройки;
- <PROPERTIES> — имя свойства, значение которого необходимо изменить: bandwidth\in; bandwidth\out. Описание свойств приведено в таблице 1.
- <VALUE> — значение свойства.
Пример:
/domain/test_domain/trunk/set default qsig1 channels\distribution-strategy forward
5. Для транка укажите алгоритм занятия последовательно вперед (forward), а оператор станции партнера использует обратное значение, тем самым предотвратив коллизии при занятии канала.
/domain/test_domain/trunk/set default qsig1 channels\distribution-strategy forward
Примеры команд просмотра SIGTRAN-MEGACO конфигурации и их выходные сообщения расположены на отдельной странице.
На этом настройка конфигурации через командный файл в ECSS10 закончена, перейдите к настройки SIGTRAN-MEGACO в SMG.



