M3UA protocol tutorial

We have got understanding of sigtran .  Sigtran have M3UA adaptation layer for sending and receiving ss7 messages over IP network.  There are multiple adaptation layers , each have its own purpose. M3ua is most used layer. It works at network layer level in OSI model. This tutorial explains m3ua  protocol in details. Covers the general adaptation layer concepts. This layer adapts the user of MTP3, so provides services to the SCCP and ISUP layers. The user uses same primitives to/from m3ua , as using for mtp3 layer. The  protocol specification is given in RFC 4666.

Elements in m3ua

Application Server:

A logical entity, a kind of address of node running using  sigtran. The simplest example is point code. An application server can be represented via a point code  and with other parameters. The set of parameters identifying an AS is called routing key. Although this may be a Point code only  or Point code and si etc. An AS is identified by a unique integer value, called routing context.

Application Server Process or ASP:

Asp is the actual entity which handles the protocol messages.  ASP maintains the sctp associations with the peer m3ua.  An asp can be connected directly to other nodes over IP network. Its the IPSP model. In ASP model, m3ua connects to other network elements via signaling gateway or SG. An asp can serve multiple application servers.

Signaling Gateway or SG: 

This node is the interface between SS7 and Sigtran. Its a logical entity. It implements the Sigtran stack and SS7 stack. For sigtran there is IP connectivity and for ss7 there is E1 or T1 connectivity.  A signaling gateway is represented by a signaling point code.  There can be multiple ASPs and SSPs can connect to single SG.

Signaling Gateway Process or SGP:

This the actual process in SG. This maintains the connection with the peer node and ss7 connection with other SSPs.  There can be multiple SGPs in a single SG. An SGP can server multiple Signaling gateways located ot same node.


Messages in m3ua 

Like other protocols, m3ua also have protocol messages. Some are protocol management messages and other user messages. Management messages are for updating elements status. The data message , which carries the actual user data over m3ua.

M3ua Protocol messages:

A message have conman header and parameter section.  Parameter section have multiple parameters in TLV or tag length value format.  The number of parameters and type of parameters depends on the message type.

M3ua Header

      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      |M3ua Version |   Reserved    | MessageClass  | Message Type  |
      |                        Message Length                         |
      |                                                               |
      |                         Message                               |

M3ua Version , is the version of protocol. Currently only version 1 is used.

Message Class,  is the grouping of messages at broad level. Following are the message classes.

Management Messages (0)

Data Transfer Messages (1)

Network Management Messages (2)

ASP state maintenance Messages (3)

ASP traffic maintenance message (4)

Routing Key Management Messages (9).

Other values are reserved.


Management Messages:

ASP state maintenance messages.

asp state maintenance messages
asp state maintenance messages

This class of messages are used by m3ua layer for changing the ASP state. Intially when an  ASP is added,  the state of ASP is down.  Once association at sctp level is up and ASP Up and ASP UP Ack are exchanged.

Then ASP moves to INACTIVE state.  Means ASP can handle management messages but not any user or data messages.  To move ASP in Down state from Inactive , ASP down procedure is used.


ASP Traffic Maintenance Message:

Once the ASP is up, the asp traffic maintenance messages are used to make AS , ready for receiving/sending Sigtran user traffic.  The state of AS is changed with in an ASP.  To move a AS in active for traffic, ASP active is used.

asp traffic maintenance messages
asp traffic maintenance messages

Once if management want to remove a AS from processing traffic, the ASP Inactive is used.  The AS state is relative to an ASP. This might happen that one AS is active in an ASP, while other is not.  The routing context of AS is included in ASP Active message for moving it to active state. Routing context is an optional parameter, if not included then all AS configured in an ASP will be marked active.

Network Management Messages:

Once as is active it can send and receive messages to/from other point codes in SS7 via signaling gateway.  The point code or ssn status may change on SG for a node in SS7 network. There are m3ua management messages used to convey the status of point code and SSN to nodes connected to SG.

DUNA or destination unavailable , message is sent from SG to AS for an point code which is no more available from SG. If the SG received TFP from MTP3 for a ss7 point code and there is no other active route is available to the point code then sends DUNA to the M3UA, and TFP to other adjacent SS7 nodes.

DAVA or destination available , message is sent from SG to AS once a unavailable point code gets available. If the SG receives TFPA from MTP3 for a ss7 point code and no other route to the point code is available, then sends DAVA to the M3UA, and TFA to other adjacent SS7 nodes.

DAUD or destination audit, message is sent bt as to the sg , for querying the status of a SSP point code.

SCON or Signaling Congestion, this messages is sent by SG to the AS for informing that a point code is congested.

DUPU or Destination User Part Unavailable, this conveys the status of a ssn on a SS7 point code.

DRST or Destination Restricted message, conveys to the AS from the SG, that a remote ss7 point code is restricted.

User data Message, this is the DATA message , which carries the actual ss7 messages for m3ua users.


SCTP services for M3ua

SCTP protocol provides transport services to the M3ua.  SCTP needs to configure along with adaptation layer configuration. It requires the parameters needed for set up an association with the peer or remote SCTP.  While configuring a local ASP or SGP , a local endpoint in created in SCTP layer.  A remote end point is created when a remote ASP or SGP is configured. Each endpoint have a port and list of ip address.  When m3ua enabled, it stats setup an association between local and remote endpoints by issuing a connect request to the SCTP layer.  Once a association setup, the user layer receives the COMM UP indication and SCTP user can transmit or receive the messages.


M3ua Start up sequence

Following is the startup sequence where and ASP/AS comes up with a signaling gateway and sends the SS7 signaling message and received response from the remote SSP.

M3ua Startup Sequence
M3ua Startup Sequence

Leave a Reply

Your email address will not be published. Required fields are marked *