What is the SS7 protocol?
SS7 protocol or signaling system 7, is the legacy protocol used by the Traditional telephony system. SS7 standards are defined by the standardization body ITU-T(International Telecommunication Union Telecommunication Standardization Sector ). For physical connectivity E1 or T1, cables are used.
E1 has 32-time slots (links) and T1 has 24-time slots, there are variants also, but those are specific to fewer countries e.g J1 in Japan. The protocol stack is based on the layered architecture, which follows the OSI model partially. In the stack, a layer below is a service provider and a layer above is the service user.
The trunks are set up between telephone exchanges to carry protocol messages for voice and signaling. An SS7 trunk has multiple circuits (time slots). You can imagine a trunk like a pipe that has a bundle of wires inside. When a call setup message (ISUP signaling) originates from a switch/exchange, a circuit from the trunk is reserved for that call.
What are the layers in an SS7 Protocol stack?
SS7 protocol stack or signaling system 7, has the following layers.
Message Transfer Part 1 (MTP1) – Physical Layer
Transfers bits over a physical channel in form of electrical signals. Have physical ports to connect the cables. A card may have its own CPU and RAM. When someone buys an SS7 card, it also comes with MTP2. An SS7 card may have multiple slots and each slot has multiple channels (32 – E1, 24 -T1).
Transfers the error-free frames between two directly connected nodes. It maintains the receiver and sender windows. Uses sliding window protocol and retransmissions for flow and error control respectively.
What are the functions of the MTP2 layer?
- Error Control- checks the error in a received frame based on 16 bits CRC. Re transmits lost message or error message.
- Sequencing- maintains the sequencing of messages between directly connected nodes. Forward and backward sequencing numbers are maintained for sequence and retransmissions.
- Link Alignment- does link alignment based on the request from MTP3.
- Flow control- if the receiver is slow, sending mtp2 gives an indication to its user for congestion.
- Link Status- link status is given to the user, the status may be, in service(UP), out of service(DOWN), or congestion(CONGESYED).
Message Transfer Part 3(MTP3) – Network Layer
This is the network layer that implements the mtp3 protocol. This does end-to-end routing of SS7 messages. This is the network layer in the ss7 protocol stack. For routing mtp3 routing, the level is defined. The routing level is defined in the MTP3 header, which contains OPC, DPC, and SLS. Mtp3 specification is given in Q.704. DPC is the point code of the destination ss7 node, OPC is the originating point code, and SLS is used for the load distribution of MTP3 user messages over links.
When a message is passed from MTP2 to MTP3, the routing level, SIO, and MTP3 user data are passed in the message. MTP3 has two major functions, discrimination, and distribution. The discrimination function decides if the message is for the self node or for some other distance node. The discrimination function uses DPC. If a message is for a self-node, then it is passed to the distribution function. The distribution function checks SI, which is part of SIO. The value of SI identifies the user of MTP3. For Eg, if SI is 5, the message is delivered to the ISUP layer over MTP3, if the value of SI is 3 then the message is delivered to the SCCP layer over MTP3.
What are the functions of MTP3?
Signaling Connection Control Part (SCCP) – Transport Layer
Works as a transport layer and uses the service of MTP3. Do the segmentation/reassembly of large messages if required. A user application is identified by an SSN number (an integer value). An SSN is a standard numeric value that identifies an application/node in the GSM network.
- HLR – SSN 6
- VLR-SSN 7
- MSC – SSN 8
- SGSN – SSN 149
In the telecom network, an SCCP layer is identified by a Global title. A global title is a sequence of digits, that is unique globally. Your phone number with country code is an example of a global title. SCCP layer does SSN management and global title translation along with other functions.
SSN configured on the SCCP layer can be local or remote. Before sending a message to peer SSN, SCCP layers check the status of remote SSN, if is down message is dropped. To check the status of an SSN, a peer transmits the SST and waits for SSA. This procedure is optional, a remote SSN can be marked as available when peer point code comes up after successful link alignment.
Global Title Translation:
An SCCP address has called party and calling party address in the SCCP header, both addresses are global titles. Upon receiving, SCCP checks if GT, matches the current node. If yes then the Called Party GT is translated to the point code of the current node. The message delivers to the local user identified by the called party SSN present in the incoming messages.
If a message is not of local use, the GT can be translated into another GT or PC. Or it can be forward to the next hope. If the current nodes know the point code which is serving the called party address then the gt is translated on point code else forwards to next hope.
SCCP message classes:
Class 0, connection less non sequenced message.Class 1, connection less sequenced delivery of messages.Class 2, connection oriented without flow control.Class 3, connection oriented with flow control.
User Primitives of SCCP Layer:
A user primitive is the interface a layer provides to access its services, SCCP Provides request primitives, to request a service from the layer, and Indication primitives, to inform events received from the network.
Sccp Primitives (Connection Less)
Belongs to classes 0 and 1. No prior logical connection is set up. The messages are routed based on the called party address parameter. Class 0 messages are delivered not in sequence while class 1 messages are delivered in sequence. ISUP and TCAP use connectionless SCCP protocol.