# M3UA: MTP3-User Adaptation layer

> M3UA (RFC 4666) is the SIGTRAN adaptation layer that presents MTP3 service over SCTP, so SCCP and ISUP users run over IP unchanged. It connects application server processes (ASPs) to a signalling gateway (SG), routing messages by point code via routing keys and routing contexts, and manages ASP state with dedicated message classes.

- Canonical URL: https://www.broadnet.me/reference/m3ua-mtp3-user-adaptation
- Language: en
- Last updated: 2026-07-18
- Publisher: BroadNet (https://www.broadnet.me)

How M3UA carries SCCP and ISUP over SCTP: the SG/ASP/AS roles, routing keys and routing contexts, message classes (Transfer, SSNM, ASPSM, ASPTM), and IPSP vs signalling-gateway modes.

## What M3UA does

M3UA replaces MTP3 in the SS7 stack, offering its users — SCCP and ISUP — the same service (message transfer to a point code, plus network-management indications) but over an SCTP association instead of TDM links. This lets an IP-based node participate in an SS7 network as if it had a point code, exchanging MAP or ISUP with legacy TDM peers through a signalling gateway that bridges the two transports.

## SG, ASP and AS

M3UA defines three roles. The Signalling Gateway (SG) terminates classic SS7 on the TDM side and relays messages over M3UA/SCTP on the IP side. An Application Server Process (ASP) is an IP endpoint that handles signalling — a physical process such as an SMSC or MSC instance. An Application Server (AS) is the logical entity serving a range of traffic (a routing key); it is realised by one or more ASPs for redundancy and load-sharing.

*M3UA roles*

| Entity | Meaning |
|---|---|
| SG | Signalling Gateway — bridges TDM SS7 to M3UA/IP |
| SGP | Signalling Gateway Process — an instance within an SG |
| ASP | Application Server Process — an IP signalling endpoint/process |
| AS | Application Server — logical entity for a routing key, served by ASPs |

## Routing keys and routing context

M3UA routes to an Application Server using a routing key — a set of parameters (such as destination point code, service indicator, and optionally SSN or circuit ranges) that identifies which traffic belongs to which AS. Each routing key is bound to a numeric Routing Context that is carried in messages so the receiver knows which AS a message is for. This is how one SCTP association between an SG and an ASP can carry traffic for several application servers unambiguously.

## Message classes

M3UA messages are grouped into classes. Transfer messages (the DATA / Payload Data message) carry the actual MTP3-user payload. SSNM conveys SS7 network-management status (destination available/unavailable/congested) so IP nodes learn about TDM-side reachability. ASPSM and ASPTM manage the ASP's state — bringing it up and making its traffic active. Together these let M3UA present a faithful MTP3 service and keep the distributed state consistent.

*M3UA message classes*

| Class | Name | Examples |
|---|---|---|
| Transfer | MTP3-user payload | DATA (Payload Data) |
| SSNM | SS7 Signalling Network Mgmt | DUNA, DAVA, SCON, DUPU (dest. status) |
| ASPSM | ASP State Maintenance | ASP Up, ASP Down, Heartbeat (BEAT) |
| ASPTM | ASP Traffic Maintenance | ASP Active, ASP Inactive |
| MGMT / RKM | Management / Routing Key Mgmt | ERROR, NTFY, REG REQ/RSP, DEREG |

## ASP states and redundancy

An ASP progresses through states: it starts DOWN, moves to INACTIVE on an ASP-Up exchange, and to ACTIVE on ASP-Active, at which point it carries traffic. Multiple ASPs backing one AS give redundancy through traffic-mode selection: Override (one ASP active, others take over on failure), Load-share (traffic distributed across active ASPs), or Broadcast. This is how M3UA delivers high availability equivalent to mated STPs in the TDM world.

*Bringing an ASP into service*

```text
ASP → SG   ASP Up            (ASPSM)   → state: INACTIVE
SG  → ASP  ASP Up Ack
ASP → SG   ASP Active (RC=100) (ASPTM) → state: ACTIVE
SG  → ASP  ASP Active Ack
  ... DATA (Payload) now flows for routing context 100 ...
ASP ↔ SG   BEAT / BEAT Ack   (heartbeat keeps the link monitored)
```

## Frequently asked questions

### What does M3UA replace?

M3UA replaces MTP3. It presents the same message-transfer and network-management service to SCCP and ISUP, but over an SCTP association instead of TDM MTP2/MTP1 links, so those SS7 users run over IP without modification.

### What is a routing key in M3UA?

A routing key is the set of parameters — destination point code, service indicator, and optionally SSN or circuit ranges — that identifies which traffic belongs to a given Application Server. It is bound to a numeric routing context carried in messages so the receiver routes to the correct AS.

### What is the difference between an ASP and an AS?

An Application Server Process (ASP) is a physical IP signalling endpoint or process. An Application Server (AS) is the logical entity serving a routing key, realised by one or more ASPs. Several ASPs back one AS to provide redundancy and load-sharing.

### What are the M3UA ASP states?

An ASP is DOWN until an ASP-Up exchange moves it to INACTIVE, then an ASP-Active exchange moves it to ACTIVE, where it carries traffic for its routing contexts. ASP-Inactive and ASP-Down move it back. Heartbeat (BEAT) messages keep the association monitored.

### What is IPSP mode in M3UA?

IPSP (IP Server Process) mode lets two M3UA endpoints communicate directly, peer-to-peer, without a signalling gateway between them — useful when both nodes are IP-native. It contrasts with SG mode, where an ASP talks to a signalling gateway that bridges to TDM SS7.

## Sources

- [IETF RFC 4666 — MTP3-User Adaptation Layer (M3UA)](https://datatracker.ietf.org/doc/html/rfc4666)
- [IETF RFC 4960 — SCTP](https://datatracker.ietf.org/doc/html/rfc4960)

## Related

- [SCTP: Stream Control Transmission Protocol](https://www.broadnet.me/reference/sctp-stream-control-transmission-protocol)
- [M2PA and SUA adaptation layers](https://www.broadnet.me/reference/m2pa-and-sua)
- [SIGTRAN deployment architecture](https://www.broadnet.me/reference/sigtran-deployment-architecture)
- [SIGTRAN overview](https://www.broadnet.me/reference/sigtran-overview)
- [SIGTRAN explained](https://www.broadnet.me/answers/sigtran-explained)
