In the SS7 network SCCP is the transport layer. It is the user of the MTP3 layer and service provider to the TCAP layer. MTP3 layer is the network layer that does the routing based on the ss7 point code. SCCP does the routing on SSN and global title (GT). Like any other protocol addressing, SCCP has a source and destination address in the header. The source address is named as the calling party address and the destination named as the Called Party address. Here we will mostly discuss the SCCP address format and SCCP GT translation. In a real network mostly routing is done based on the global title. SS7 node which works as the intermediate route is Signaling Transfer Point (STP).
Why SCCP address is important? As we have already said that MTP3 does the routing based on point codes, so why GT is required? In the real telecom network, the global title is either IMSI or MSISDN. Both parameters identify the home network or the sim card, provider. When a mobile phone attaches to the VLR/MSC in the roaming network, IMSI digits works as SCCP called party address. VLR derives called party GT from IMSI. Following is an example conversion.
IMSI = MCC + MNC + MSIN —-> Called GT = CC + NDC + MSIN
With the CC and NDC, a message can reach the home network. Where the subscriber profile is present.
SCCP Address Format :
Being a standard protocol, the SCCP address has a standard protocol format. The ITU Q.713 describes the address format. This section describes the various components of the SCCP address.
Address Indicator (AI) :
This is the first byte in the SCCP address. SCCP address indicator represents the parameters present in the address and how the routing will be done. Address Indicator has the following sub-parameters.
Routing Indicator (RI), a one-bit parameter. If the routing indicator bit value is zero, SCCP routes the message by doing GT translation else routes on SSN.
GT Indicator– According to ITU-T specifications GT has some optional parameters, depends on the gt format type. GT indicator, mentions what type of GT is present in the address. The possible values are from zero to four. Following is the table for possible GT indicator values.
|0||NO GT is present|
|1||the global title includes the nature of the address indicator only|
|2||the global title includes translation type only|
|3||the global title includes translation type, numbering plan, and encoding scheme|
|4||the global title includes translation type, numbering plan, encoding scheme, and nature of address indicator|
SSN Indication, if the bit is set then SSN is present in the address else not. Mostly SSN is mandatory to add while sending ss7 message from one application to another. E.g If VLR wants to send an update location message while attaching to the network, to the HLR, then VLR sets the SSN (6) of HLR in SCCP called party address. Then only update location can reach the HLR, else the receiver can not know, to which application message has to deliver. We will discuss where the SSN can be optional, in the GT translation and routing section.
Point Code (PC) Indication, bit represents if the SS7 point code is present or not. If point code is present and routing is set on the route on GT. Then routing does not use the point code.
SS7 Point Code, this is the address of an ss7 node. If a point code is an international point code, then from anywhere in the world a message can be sent to the node by doing point code-based routing. For ITU-T it is of 14 bits value in 3-8-3 format. For other variants it may be different, e.g ANSI it’s 24 bits 8-8-8. The format is Network-Cluster-Member.
SSN or Sub System Number, a one-byte value, identifies the application over the SS7 stack. You can say that it is similar to the port in TCP protocol. And point code is similar to the IP address.
Translation Type: It is a one-byte parameter. It is used to select a translation node. E.g, if the same GT can be translated on any of the target nodes. Then which node the message should deliver, translation type decides this.
The Numbering Plan is a four bits value. Each value represents the number type.
Nature of Address Indicator (NAI), represent the type of number this is. E.g a number can be a national number or international number. SS7 uses, NAI to decode the number, it is in national format, then GT digits don’t have country code.
Encoding Scheme, how the digits have been encoded. E,g can be BCD.
Digits (1 to n), the actual digits of global title.
SCCP Address translation (GT translation):
In network, mostly message is routed based on GT. Each node does an SCCP address or GT translation. After translation, the next outgoing link is selected. When the message reaches the end node ( to which called SCCP address belongs). GT is translated to the local SSN and the message reaches the application. In the following, we will cover a simple example of a GT translation.
Suppose a subscriber dials an O2 mobile number (+448781234567) from an Indian Airtel number. Called number having country code (44 as the UK), NDC (878 ) code of mobile operator and subscriber number (1234567). Airtel MSC routes this message out from India just looking at country code. The STP (Signaling Transfer Point) which connects India and UK receives the message and then routes to the UK. There may be other intermediate STPs.
When messages reach the UK, STP looks for NDC, and now it routes the message to the core network of O2. For call the receiving core network element is GMSC.
GT Translation Configuration:
The configuration can be varied and an STP may have different capabilities for messaging routing. In the following, we are giving an example of a simple SCCP address translation.
For each translation, there is a rule. Each rule has a GT selector and a GT translator. There can be multiple rules for translation configured on STP. When SCCP receives a message if RI is set to route on GT. Called Party Address in message compared against all the configured rules. If any rule matches then the Called party address is modified as per translation in that rule. If no matching rule, the message is dropped. GT translator also has the next point code, where the message should send. It can be a local point code or a remote point code.