M3UA
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/M3UA-scheme.svg/404px-M3UA-scheme.svg.png)
M3UA, MTP-3 User Adaptation Layer - протокол адаптации пользовательского уровня MTP-3 из телефонного стека протоколов ОКС-7 (SS7), используемый в программных коммутаторах и IMS-системах в сетях NGN. Протокол M3UA описан в рекомендации инженерного совета Интернета (IETF) RFC 4666 и базируется на открытом стандарте SIGTRAN, описанном в RFC 4166. Для установления разговорных соединений в ТфОП на основе технологии TDM и цифровых потоков E1 между узлами связи, как правило используется протокол ISUP. Протокол ISUP предназначенный для управления каналами связи (соединительными линями) в цифровом потоке или потоках и передаётся в одном из таких каналов (выделенном специально под эту задачу и называемом сигнальным). Современные же сети NGN и такие её элементы как софтсвитч и IMS подразумевают интеграцию технологий на основе IP - т.е. стек TCP/IP. Таким образом возникает задача передачи сообщений протокола ISUP в пакетной IP-сети. Для конвертации протоколов и данных, используемых в коммутируемое телефонной сети в данные, передаваемые в пакетной сети применяются сигнальные и медиа-шлюзы. Сигнальные шлюзы используются для передачи только управляющих сообщений (сигнального трафика), медиа-шлюзы обеспечивают преобразование данных передаваемых в голосовых каналах в блоки данных, передаваемых в пакетах и наоборот. При этом одно и то же устройство может одновременно выполнять роли и сигнального и медиа-шлюза.
Протокол M3UA позволяет контроллеру медиа-шлюзов (MGC) получать необходимые сигнальные сообщения, что бы выполнять роль логики коммутатора сети ОКС №7. Передачу же целевых медиа-данных, (ради чего и устанавливается телефонное соединение) осуществляет медиа-шлюз, управляемый этим контроллером.
M3UA обеспечивает передачу сигнальных сообщений протоколов телефонии ISUP и SCCP в пакетной сети. Он использует возможности транспортного протокола SCTP, который, в свою очередь, передает информацию через IP-сеть. Протокол M3UA может использоваться либо между сигнальным шлюзом (SG) и контроллером медиа-шлюзов либо между двумя приложениями MGC, работающими в режиме передачи сигнального трафика по IP-сети, без участия SG. Сигнальный шлюз в M3UA является пунктом сигнализации (SP), в котором реализован MTP-3. Протокол M3UA реализует необходимую функциональность MTP3, в то же время не поддерживает некоторые стандартные функции.
В связи с тем, что с точки зрения организации сети сигнализации ОКС №7, при использовании M3UA, сигнальный шлюз является пунктом сигнализации (SP), сообщения протоколов стека ОКС №7, поступающие в SGW, обрабатываются в МТР3 и перенаправляются в M3UA. Контроллер медиа-шлюзов в M3UA включает в себя элементы - процессов сервера приложений (Application Server Process, ASP), которые в свою очередь связаны с серверам приложений (Application Server, AS). Каждый ASP создаётся для обработки трафиком определенного пойнт-кода из сети ОКС-7.
На основании полученных параметров, таких как пойнт-коды локальной точки сигнализации, а также точки назначения и диапазон используемых каналов (CIC) производится выбор соответствующих элементов - сервера приложений (AS) и процесса сервера приложений (ASP). M3UA подготавливает полученное сигнальное сообщение для передачи SCTP в качестве фрагмента DATA в заданном потоке (Stream).
В контроллере медиа-шлюзов (MGC) принятый фрагмент обрабатывается в SCTP и поступает в M3UA, который отправляет это сообщение в ASP.
Возможны различные варианты организации сети с использованием M3UA.
Протоколы адаптации SIGTRAN
[править | править код]Общие принципы построения протоколов адаптации изложены в RFC 4166. Считается, что в контроллере MGC имеется набор логических объектов, называемых серверами приложений AS (Application Server). Они обрабатывают сигнализацию. Для каждого AS определен набор параметров. Например, для AS, обрабатывающего сигнализацию ISUP, данный список включает коды OPC/DPC и заданный диапазон значений идентификаторов соединительных линий CIC (Circuit Identification Code). Каждый сервер приложений AS может иметь один или несколько процессов ASP (Application Server Process) [3]. Обмен сигнальной информацией происходит между пунктами сигнализации SGW и ASP или между пунктами сигнализации и группами ASP. Каждый ASP должен иметь свой код пункта сигнализации (PC). Однако назначение этих кодов может быть достаточно гибким. Например, несколько ASP, связанных с конкретным шлюзом SGW, имеют один и тот же код пункта сигнализации, такой же, как и у сигнального шлюза. Поэтому, с точки зрения сети ОКС №7, это будет один пункт сигнализации. Если ASP имеют различные коды, отличные от кода SGW, тогда сеть ОКС №7 будет рассматривать SGW как пункт транзита сигнализации STP.
Общая схема протоколов и адаптаций в SIGTRAN
[править | править код]Протоколы ОКС-7 |
TCAP | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
V5.2 | MTP3 | MTP3 | ISUP | SCCP | DSS1 | TCAP | ||||||||||||||
SIGTRAN | V5UA | M2UA | M2PA | M3UA | IUA | SUA | ||||||||||||||
Компьютерная сеть |
SCTP | |||||||||||||||||||
IP |
Термины M3UA
[править | править код]![Модель объектов M3UA](http://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/M3UA_Model.png/377px-M3UA_Model.png)
Часть терминов перекликается с аналогичными терминами в MEGACO/H.248.
- AS, Aplication Server — сервер приложений, в протоколах SIGTRAN. Обрабатывают сигнализацию (например, ISUP), работая с конкретным уникальным ключом маршрутизации (Routing key). AS в некотором смысле — это виртуальный коммутатор, который служит для обработки всех вызовов, связанных между собой конкретными пойнт-кодами OPC/DPC. Набор параметров AS для ISUP определяют коды OPC/DPC и заданный диапазон значений CIC. Каждый сервер приложений AS может иметь один или несколько процессов ASP.
- ASP, Application Server Process — инструмент обработки трафика конкретной точки сигнализации (PC) в AS. Каждый ASP должен иметь свой уникальный пойнт-код или общий для нескольких ASP. При совпадении пойнт-кода с SGW, ASP и SGW выглядят как полноценный коммутатор SSP. Если ASP имеют различные пойнт-коды, отличные от пойнт-кода SG, тогда сеть ОКС №7 будет рассматривать SGW как пункт транзита сигнализации STP.
- Каждый ASP необходимо ассоциировать с кодом пункта сигнализации. Однако назначение кодов пунктов для процессов ASP является абсолютно гибким. Например, все ASP, подсоединенные к определенному SG, могут совместно использовать тот же код пункта, что и этот SG. В таком случае комбинация SG и процессов ASP видна сети ОКС7 как единый оконечный пункт сигнализации. Или же все ASP, подсоединенные к одному SG, могут иметь один и тот же код пункта, который отличается от кода пункта сигнализации, присвоенного этому SG. В таком случае SG будет виден сети ОКС7 как STР, а объединенные общим кодом ASP — как единый оконечный пункт сигнализации, расположенный за этим STP.
- Еще одним вариантом назначения кодов может быть присвоение каждому ASP своего кода пункта, или группам ASP — разных общих кодов, отличных от кода, присвоенного SG. В этом случае SG виден как STP, а каждый ASP (или группа процессов ASP) — как один оконечный пункт сигнализации. Дело в том, что если некий ASP или некая группа ASP может связываться с сетью ОКС7 не через один, а через два SG, то этот ASP или эта группа ASP должны иметь код пункта, который отличается от кодов этих двух SG. В таком сценарии шлюзы SG работают как транзитные пункты сигнализации STP.
- IPSP, IP Server Process — в логике протокола M3UA — экземпляр процесса сигнализации, специализированное приложение в IP-сети. IPSP по существу то же самое, что и ASP, за исключением того, что он использует M3UA в режиме точка-точка и концептуально не пользуется услугами шлюза сигнализации. Режим IPSP позволяет отказаться от конвертации сигнального трафика на сигнальном шлюзе в ситуации, когда обе стороны поддерживают M3UA и имеют связь по IP-сети.
- MGC, Media Gateway Controler — контролер сигнальных и медиа-шлюзов (аналог Call Agent в MGCP), а также режим работы NGN-софтсвича. когда он выполняет функцию управления сигнализацией и транспортными шлюзами (см. также протокол H.248/MEGACO)
- Network Appearance — в логике протокола M3UA локальная ссылка на SG и AS. Network Appearance совместно с Signaling Pointcode (SPC) однозначно характеризуют конкретный узел ОКС-7, с указанием, к какой ОКС-7 сети он принадлежит. Этот параметр используется, чтобы различать трафик сигнализации, связанный с различными сетями, которые взаимодействуют c SG и ASP через одную общую SCTP-ассоциацию. Например, SG является элементом нескольких национальных сетей ОКС-7 одновременно, а значит, одно и то же значение пойнткода может быть повторно использовано в различных сетях. Network Appearance может быть любым числовым значением, главное уникальным (хотя это имеет смысл только в рамках одной SCTP-ассоциации).
- Отображение сети (Network Appearance) — это такое ее представление, которое позволяет отделить часть сигнального трафика, нужного для связи между SG и ASР от всего трафика, использующего одно и то же соединение SCTP, например поток с национальным кодом пункта сигнализации от потока с международным.
- Routing key — в логике протокола M3UA ключ маршрутизации. Значение ключа маршрутизации описывает набор параметров ОКС-7 и значения параметров, которые однозначно определяют диапазон сигнального трафика, который будет обрабатываться конкретным сервером приложений (ASP). Параметры ключа маршрутизации не может распространяться на более чем на один кластер управления сигнальными точками (пойнткодами). В ситуации, когда конкретный AS может быть достигнут с помощью более чем одного SGP, соответствующие ключи маршрутизации ключи нескольких SGP должны быть одинаковыми.
- Ключ маршрутизации (Routing Key) представляет собой набор таких параметров ОКС7, как SLS, DPC, ОРС или диапазон СIC, которые определяют сигнализацию для некоторого AS. Например, если какой-то AS должен обрабатывать сигнализацию ISUP для определенной комбинации OPC/DPC/диапазон CIC, то эта комбинация и является ключом маршрутизации для такого AS. В пределах SG каждый ключ маршрутизации обычно указывает на один определенный AS. Иначе говоря, между ключами маршрутизации и AS, как правило, существует однозначное соответствие.
- Routing context — в логике протокола M3UA числовое значение, которое однозначно идентифицирует ключ маршрутизации (Routing key). Значения контекста маршрутизации настраивается либо с помощью интерфейса управления конфигурацией, или с помощью ключевых процедур управления маршрутизацией, определенных в RFC 4666 в настоящем документе.
- Контекст маршрутизации определяет адрес получателя данного сообщения, формируется на основании ключа маршрутизации (Routing Key) в процессе регистрации нового маршрута (ASP)
- SP, Signalling Process — A process instance that uses M3UA to communicate with other signalling processes. An ASP, an SGP, and an IPSP are all signalling processes.
- SGW, SG, Signaling gateway — сигнальный шлюз, поддерживает окончание звеньев сигнализации со стороны телефонной сети и с помощью протокола транзита сигнализации (SIGTRAN) обеспечивают надежную пересылку сигнальных сообщений по пакетной сети в MGC. В логике M3UA в рамках SG может действовать набор из нескольких процессов SGP, один или более из которых, собственно обрабатывают трафик.
- SGP, Signaling Gateway Process — в логике протокола M3UA процесс обработки сигнализации в составе сигнального шлюза. Процессы SGP могут работать в режиме активного, резервного, балансирующего или широковещательного в рамках сигнального шлюза.
Варианты построения схем
[править | править код]Базовый
[править | править код]С точки зрения сети сигнализации ОКС-7 имеется пойнт-код PC1, соответствующий ASP в MGC. В этом случае сеть сигнализации ОКС-7 “заканчивается” в SGW. Второй PC2 общий и используется одновременно и шлюзом сигнализации, и контроллером медиа-шлюзов. В этом случае M3UA используется для передачи сигнальных сообщений протокола пользователя MTP3 в ASP.
________ _________ __________ | | | | | MGC| | SP |<----------------->| SGW |<--------------|-->(AS) | |______| сеть ОКС-7 |_______| IP-сеть |________| MTP3 пойнт-код общий пойнт-код PC1 PC2
С использованием SGW как транзитной точки
[править | править код]Имеется пойнт-код PC1, соответствующий ASP в MGC. Также имеется отличный от него пойнт-код PC2 в SGW. В этом случае PC2 c точки зрения сигнализации ОКС-7 SGW является точкой транзита сигнального трафика (т.е. STP), через который достижимы пойнт-коды PC3 и PC4.
________ _____________ ___________ | | | SGW | | MGC| | | | | /----------|-->(AS) | пойнт-код PC3 | SP |<----------------|-->(STP)<--|- | | | | | | \----------|-->(AS) | пойнт-код PC4 |______| сеть ОКС-7 |___________| IP-сеть |_________| MTP3 пойнт-код пойнт-код PC1 PC2
Сообщения протокола
[править | править код]M3UA использует развитую систему управления состояниями элементов сети ASP и SGP при помощи сигнальных сообщений. Рассмотрим некоторые из них.
Чтобы сделать ассоциацию или взаимосвязь между элементами полностью рабочей и функциональной, ряд сообщений протокола M3UA является обязательным. К таковым относится последовательный обмен между элементами сообщениями: ASP UP, ASP UP Acknowledge, ASP Active и ASP Active Acknowledge для ситуации запуска ASP. И аналогичные ASPDN - ASP выключен (ASP Down) и ASPDN ACK - подтверждение выключения ASP (ASP Down Acknowledgment) для остановки.
Другая часть сообщений, такие как Notify, Destination Audits (DAUD), являются рекомендуемыми.
Сообщения DUNA (Destination UNAvailiable), DAVA (Destination Available) и DRST (Destination Restricted) используются SGP для уведомлений об изменении статуса доступности удалённой стороны в сети ОКС-7, т.е. обслуживаемого пойнт-кода определённого коммутатора.
Сообщение SCON (Signaling Congestion) используется SGP для информирования о том, что пучок сигнальных каналов или пучки сигнальных каналов обслуживаемого направления (или направлений) в сети ОКС-7 перегружены и не могут передавать сигнальные сообщения.
Простой обмен между ASP и SGP
[править | править код]Один ASP в Application Server (c резервирование "1+0"), без регистрации
[править | править код]SGP ASP1 | | |<-------------ASP Up-----------| |-----------ASP Up Ack--------->| | | |-----NTFY(AS-INACTIVE)(RCn)--->| | | |<------- ASP Active(RCn)-------| RC: Routing Context |-----ASP Active Ack (RCn)----->| (опционально) | | |-----NTFY(AS-ACTIVE)(RCn)----->| | |
Один ASP в Aplication Server ("Резервирование "1+0"), динамическая регистрация
[править | править код]SGP ASP1 | | |<------------ASP Up------------| |----------ASP Up Ack---------->| | | | | |<----REGISTER REQ(LRCn,RKn)----| LRC: Local Routing | | Key Id |----REGISTER RESP(LRCn,RCn)--->| RK: Routing Key | | RC: Routing Context |----NTFY(AS-INACTIVE)(RCn)---->| | | | | |<------- ASP Active(RCn)-------| |-----ASP Active Ack (RCn)----->| | | |-----NTFY(AS-ACTIVE)(RCn)----->| | |
В случае неудачной попытки регистрации (например, неверный RK) сообщение «Register Response» будет содержать индикацию неудачи, и ASP впоследствии не будет отправлять сообщение «ASP Active».
Обычный отзыв ASP с AS и разрыв ассоциации
[править | править код]SGP ASP1 | | |<-----ASP Inactive (RCn)------| RC: Routing Context |----ASP Inactive Ack (RCn)--->| | | |<-----DEREGISTER REQ(RCn)-----| See Notes | | |---DEREGISTER RESP(LRCn,RCn)->| | | : : | | |<-----------ASP Down----------| |---------ASP Down Ack-------->| | |
Процедура отмены регистрации обычно используется, если ASP ранее использовал процедуры регистрации для настройки на сервере приложений. Обмен сообщениями ASP Inactive и Deregister может содержать несколько контекстов маршрутизации.
Проверка доступности направления (связности с удалённым пойнт-кодом) на сигнальном шлюзе
[править | править код]Направление доступно и не перегружено
[править | править код]ASP SGP --- --- | -------- DAUD ---------> | | <------ SCON(0) -------- | | <------- DAVA ---------- |
Направление доступно, но перегружено (уровень загруженности 2)
[править | править код]ASP SGP --- --- | -------- DAUD ---------> | | <------ SCON(2) -------- | | <------- DAVA ---------- |
Направление недоступно
[править | править код]ASP SGP --- --- | -------- DAUD ---------> | | <------- DUNA ---------- |
Дополнительно
[править | править код]- Реализация протокола M3UA имеется на сайте OpenSS7 (http://www.openss7.org/m3ua.html).
- Анализатор протоколов Wireshark поддерживает просмотр сообщений M3UA. Примеры можно найти на Wiki-странице Wireshark, где показаны образцы пакетов ISUP (включая M3UA) [1].
Литература
[править | править код]- RFC 4166 - Telephony Signalling Transport over Stream Control Transmission Protocol (SCTP)
- RFC 4666 - Signaling System 7 (SS7) Message Transfer Part 3 (MTP3) - User Adaptation Layer (M3UA)
- В.Ю. Деарт. Мультисервисные сети связи. Протоколы и системы управления сеансами (Softswitch/IMS). Конспект лекций 2010. МТУСИ. Москва. [2]
- Н. Н. Никольский. Передача ОКС7 через IP. Журнал "Сети и Системы Связи". Выпуск 7. 2005 г. [3] [4]
- А. Б. Гольдштейн, Б. С. Гольдштейн. SOFTSWITCH. Научно-техническое издание. БХВ — Санкт-Петербург. 2006 г. [5] [6]