SS7 Protocol | Ss7 Protocol Tutorial

What is SS7 protocol?

SS7 protocol or signalling system 7,  is the legacy protocol used by Traditional or legacy  telephony  system. SS7 standards are defined by the standard body ITU-T(International Telecommunication Union Telecommunication Standardization Sector ).  E1 or T1 cables are used in ss7 for physical connections. A E1 having 32 time slots and T1 have 24 time slots, there are other as well.  Protocol is layer architecture which is follow the OSI model. The protocol layer below is the service provider and layer above is service user.  SS7 trunks are setup between telephone exchange to carry ss7 signaling and voice. A ss7 trunk have multiple circuits for voice. When a call originates from a switch/exchange a ISUP circuit is reserved from trunk.



 SS7 Trunk
SS7 Trunk

Now these days there are other IP based telephony (VoIp) is also very popular. This is discussed in separate post with SIP Trunking.

Ss7 protocol stack or Ss7 protocol Layers:

SS7 protocol stack or signalling system 7 , have following layers.

SS7 Protocol Stack
SS7 Protocol Stack

Message Transfer Part 1 (MTP1)

This is the physical layer of signalling system 7 , which transfers bits over a physical channel .

Message Transfer Part 2( MTP2)

This is the data link layer. It transfers the error free frames between two directly connected nodes. It maintains receiving and sending windows.

Functionalities of 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 re transmissions.
Link Alignment, does link alignment based on the request from MTP3.
Flow control, if receiver is slow , sending mtp2 gives indication to its user for congestion.
Link Status, link status is given to the user , the status may be , in service , out of service or congestion.

Message Transfer Part 3(MTP3),

This is the network layer which implements mtp3 protocol, this does end to end routing of SS7 messages. This is the network layer in ss7 protocol stack. For routing mtp3 routing level is defined. Routing level is defined in MTP3 header , which contains opc, dpc and sls. Mtp3 specification is given in Q.704.  Dpc is the point code of destination ss7 node, opc is the originating point code and SLS is used for load distribution of MTP3 user messages over links.Mtp3 Routing Level

When a message is passed from MTP2 to MTP3 , the routing level, SIO and MTP3 user data is passed in the message.  MTP3 have two major functions, discrimination and distribution. Discrimination function decides if the message is for the self node or for some other distance node. Discrimination function uses DPC.  If a message is for self node, than it is passed to the distribution function.  Distribution function, checks SI , which is part of SIO. Value of SI identifies the user of  MTP3. Eg id SI is 5 , the  message is delivered to the ISUP layer over MTP3, if value of SI is 3 then message is delivered to SCCP layer over MTP3.

Mtp3 Layer Functions:
Remote Point code status management, mtp3 maintains the configuration and remote point code status. Status may be available or unavailable. The user of mtp3 gets pause or resume indications for a remote point code. While routing a message the status of remote point code is checked.
Link Alignment:
Once a link is configured at MTP2 and MTP3 level. MTP3 layer start the link alignment by sending an alignment request to the MTP2 layer.  This starts link alignment at mtp3 level. Once a link comes up on mtp2 level. Mtp3 receives inservice indication from mtp3. Then sends SLTM to the remote end. If SLTA received then link is marked up at mtp3 level. If link is the first link in linkset then its emergency link alignment procedure, else its normal link alignment procedure.
Transfer Prohibited (TFP): 
This is MTP3 procedure by which a signaling point code can mark a route unavailable for a destination point code. This updates the routing table for a destination point code. When a signaling transfer point (STP), detects that apoint code is not reachable. 
Load Sharing, does the load sharing on over Linkset and links based on SLS received from user.
Change Over, when a links fails the failed link's traffic is distributed to the available links. 
Change Back, when a failed links comes back, the traffic is rerouted back to the link. 

Signaling Connection Control Part (SCCP) Layer

This is the transport layer and user of MTP3. Do the segmentation/reassembly of large messages  if required. An user application is identified by a SSN (sub system number at SCCP level). A ssn is a standard number which identified a application/node in GSM network.

  • HLR - SSN 6
  • VLR-SSN 7
  • MSC - SSN 8
  • SGSN - SSn 149

The node on SCCP layer is identified by a Global title. A global title is sequence of digits unique globally.  The phone number of  a person is the example of global title. SCCP layer does SSN management and global title translation.

SSN management:

SSN configured on SCCP layer can be local or remote. Before sending a message to peer ssn, sccp layers checks the status of ssn, if is down message is dropped. For check the status of a ssn ,  a peer transmits the SST and wait for SSA.  This procedure is optional, a remote ssn can be marked as available when peer point code comes up after successful link alignment.

Globle Title Translation:

A sccp address have called party and calling party in SCCP header, both addresses are global title.  Upon receiving, SCCP checks if GT, matches the current node. If yes then the Called Party GT is translated to the point code of current node. The message delivers to the local user identified by the called party ssn present in incoming message.

If message is not of local use, the GT can be translated in another GT or PC. Or it can be forward to the next hope. If the current nodes knows 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 layer and Indication primitives , to inform events received from network.

Sccp Primitives (Connection Less) 

SCCP Connection Less Messages
SCCP Connection Less Messages

Belongs to the class 0 and 1. No prior logical connection is setup. The messages is routed based on called party address parameter. Class 0 messages are delivered not in sequence while class 1 messages delivers in sequence. Isup and TCA uses connection less SCCP protocol.

Data Request , this sends the user data in SCCP protocol message. This causes on network UDT or XUDT depends on the length of user message. 
Data Indication ,When a protocol data received from network in UDT or XUDT.

Sccp Primitives (Connection Oriented)

SCCP Connection Oriented Messages
SCCP Connection Oriented Messages

Belongs tp message class 2 and 3. A prior connection setup before sending a user data.  BSSMAP and RANAP uses connection oriented sccp protocol.

Connection Request (CR) , this starts request towards the remote node for a sccp connection.
Connection Confirmation (CC), remote SCCP user issues CC primitives to sccp for accepting connection.
Connection Release request, user issues this primitive when a connection has to close.
Connection Release Conformation, to confirm a release connection request.
Data Request, issues a user to send data (e.g RANAP ) to remote peer.
Data Indication, issues user for a received data from network.

ISDN User Part (ISUP) Layer

ISUP uses services of MTP3. ISUP layer implements the protocol messages required for call control functionalities and voice circuit management.  When a call starts , ISUP signaling traverse many intermediate telephone exchanges. The voice carries on SS7 circuits , these are E1 or T1 lines. Each E1 have 32 logical channels.  A single channel is required for a call. Channel is identified by a circuit identification code (CIC).

ISUP basic messages:

Initial Address message (IAM), first message which sends by the call originating SSP.

Address Complete Message (ACM) , first message originated by call terminating exchange for a received call.

Answers Message (ANM), when called side goes off hook , terminating exchanges sends ANM to the calling exchange.

Release Message (REL), send by the exchange from which connected user (Called or Caller) goes on hook.

Release Complete message (RLC), Response of ISUP release message.

ISUP Call Flow :

ISUP Call Flow
ISUP Call Flow

TCAP Layer, This is the transaction layer. Its the user of SCCP layer. This layer provides the functionalities to its user for maintaining end to end dialogue with peer node.  TCAP message carriers application context name for the application running over TCAP. A TCAP dialogue starts with a TCAP begin message.  Begin message and originating transaction id and application context.

If remote peer accepts the dialogue then sends a TCAP end of TCAP continue with dialogue as accepted. In case of dialogue is not accepted, peer sends abort or reject.  Abort is of two types. User abort, is generated by the user of TC layer. Protocol Abort, generated by the transaction layer.

A tcap message may have user components. Component is for a operation sending application want to invoke on remote application.


MAP Layer, this is an application level protocol providers. It implements the messages required for Roaming and Messaging for the GSM handset.

SS7 network elements or nodes:

SS7 Network
SS7 network

SS7 network have three types of node , each node have specific functionalities.

Signaling Switching Points (SSP)

This is the node which terminates the wireless side (BSC/BTS) and connect to rest of the network over SS7. A SSP may be connected to other SSP directly or it may be connected via signaling gateway. MSC or mobile switching center is the example of SSP.  MSC have roaming, messaging, billing  and call control functionalities.

Signaling Transfer Point (STP)

This node is works a router in ss7 network. The main important role is to do Global Title Translation and selects the next node for the message. The next node may be SSP or another STP.

Signaling Control Point (SCP)

This node having database and maintains a centralized service. For a service these nodes are contacted. Many SSps can contact a single SCP. In GSM network HLR or Home Location Register is one of the example of SCP. When a mobile phone switched on, it tries to attach first on MSC (SSP) and then MSC sends location update to the HLR.  The MSC may change but the HLR remains same. A mobile operator can map location information with time.

Sigtran or SS7 Signaling over IP:

In earlier days internet was not such a strong , fast and reliable network. Now with the advancement of hardware and software technologies, internet is much faster and reliable. Sigtran is the SS7 signaling over IP network.  With the invent of SCTP protocol Sigtran became possible.  In sigtran the user applications are same, the SS7 user adaptation layers has been developed. A sigtran layer uses services of SCTP protocol and provides service to a SS7 layer.

M3UA or MTP3 user adaptation layer:

This layer is the service provider for the MTP3 user in SS7 network. The MTP3 users are ISUP and SCCP, mean M3UA carries the signaling for ISUP and SCCP. The primitives provided to its users by this sigtran layer is same as mtp3 layer.

Leave a Comment

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