SCCP (Signalling Connection Control Part) is a Layer 4 protocol in the SS7 (Signaling System No. 7) stack. It extends the capabilities of the MTP (Message Transfer Part) by offering advanced features like:
- Global Title Translation (GTT): Routing messages based on logical addressing (like MSISDN, GT or IMSI)
- Supports both connectionless (similar to UDP) and connection-oriented (similar to TCP) messaging: When running over IP networks (via SIGTRAN), SCCP uses SCTP to deliver both fast, stateless transactions and reliable, session-based communication — essential for modern telecom signaling.
- Reliable message delivery: Beyond basic MTP point-code routing.
SCCP is crucial in mobile networks, especially for routing messages between network elements like HLR, VLR, MSC, STP, SGSN, etc.
SCCP Core Functionalities:
| Feature | Description |
|---|---|
| Routing based on Global Title (GT) | Instead of hard-coded point codes, SCCP can route using number-like addresses (e.g., IMSI, E.214) |
| Subsystem Number (SSN) | Identifies the specific application or function (e.g., HLR, VLR) within a node |
| Message Segmentation/Reassembly | Supports long messages |
| Reliable/Unreliable Transport | Offers both reliable (connection-oriented) and fast (connectionless) message delivery |
SCCP Message Classes:
| Class | Type | Use Case Example |
|---|---|---|
| 0 | Basic connectionless | Simple signaling (e.g., USSD) |
| 1 | Sequenced connectionless | Order-sensitive messages |
| 2 | Connection-oriented | Dialogue-based services |
| 3 | Connection-oriented w/ error recovery | High reliability (e.g., MAP dialogues) |
SCCP Message Type Codes
| Hex | Message Type | Description |
|---|---|---|
| 0x01 | CR – Connection Request | Start a connection-oriented dialogue |
| 0x02 | CC – Connection Confirm | Confirm connection request |
| 0x03 | CREF – Connection Refused | Refuse the request |
| 0x04 | RLSD – Released | End connection |
| 0x05 | RLC – Release Complete | Acknowledge connection release |
| 0x06 | DT1 – Data Form 1 | Send data (connection-oriented) |
| 0x07 | DT2 – Data Form 2 | Optional form of data |
| 0x08 | AK – Data Acknowledgment | Acknowledge received data |
| 0x09 | UDTS – Unitdata Service Not Delivered | Response to UDT failure |
| 0x0A | ED – Expedited Data | Urgent message form |
| 0x0B | EA – Expedited Data Acknowledgment | Acknowledge urgent message |
| 0x0C | UDT – Unitdata | Send connectionless message |
| 0x0D | XUDT – Extended Unitdata | Longer messages with segmentation |
| 0x0E | XUDTS – Extended Unitdata Not Delivered | Error for XUDT |
| 0x0F | LUDT – Long Unitdata | Longest connectionless SCCP messages |
| 0x10 | LUDTS – Long Unitdata Not Delivered | LUDT delivery failure |
| 0x11 | RN – Reinitialization Request | Reinit SCCP subsystem |
| 0x12 | RNC – Reinitialization Complete | Confirm reinit |
| 0x13 | SSA – Subsystem Allowed | Notify: SSN is back in service |
| 0x14 | SSP – Subsystem Prohibited | Notify: SSN is down |
| 0x15 | SST – Subsystem Status Test | Check status of SSN |
| 0x16 | IT – Inactivity Test | Test idle connection |
yREMORA’s Signal Transfer Points – such as ySTP and oSTP – support intelligent SCCP-level routing, including routing based on Subsystem Number (SSN), Global Title (GT), and Translation Type (TT), making them ideal for advanced telecom interconnects and mobile core testing.
