This page describes the components of the SS7 protocol stack. A stack is a set of data storage locations that are accessed in a fixed sequence. The SS7 stack is compared against the Open Systems Interconnection (OSI) model for communication between different systems made by different vendors.
Figure 1 shows the components of the SS7 protocol stack.
This is the physical level of connectivity, virtually the same as Layer 1 of the OSI model.This level is responsible for transmission of raw bits. Level 1 defines the physical, electrical, and functional characteristics of the digital signaling link. Physical interfaces defined include E-1 (2048 kb/s; 32 64 kb/s channels), DS-1 (1544 kb/s; 24 64kb/s channels), V.35 (64 kb/s), DS-0 (64 kb/s), and DS-0A (56 kb/s). SS7 specifies what interfaces will be used, both Bellcore (Telecordia) and ANSI call for either the DS0A or the V.35 interface.
Because central offices are already using DS1 and DS3 facilities to link one another, the DS0A interface is readily available in all central offices, and is preferred in the SS7 network. As the demands on the SS7 network increase (local number portability), and as the industry migrates toward ATM networks, the DS1 interface will become the link interface.
Figure 2. SS7 Signal Units
Fill-In Signal Units (FISUs) are transmitted continuously on a signaling link in both directions unless other signal units (MSUs or LSSUs) are present. FISUs carry basic level 2 information only (e.g., acknowledgment of signal unit receipt by a remote signaling point). Because a CRC checksum is calculated for each FISU, signaling link quality is checked continuously by both signaling points at either end of the link. (Note: In the ITU-T Japan variant, signaling link quality is checked by the continuous transmission of flag octets rather than FISUs; FISUs are sent only at predefined timer intervals (e.g., once every 150 milliseconds).)
Link Status Signal Units (LSSUs) carry one or two octets (8-bit bytes) of link status information between signaling points at either end of a link. The link status is used to control link alignment and to indicate the status of a signaling point (e.g., local processor outage) to the remote signaling point.
Message Signal Units (MSUs) carry all call control, database query and response, network management, and network maintenance data in the signaling information field (SIF). MSUs have a routing label which allows an originating signaling point to send information to a destination signaling point across the network.
The value of the LI (Length Indicator) field determines the signal unit type:
|
Fill-In Signal Unit (FISU) |
Link Status Signal Unit (LSSU) | |
Message Signal Unit (MSU) |
Figure 3. Message Type Length Indicator Value(s)
The 6-bit LI can store values between zero and 63. If the number of octets which follow the LI and precede the CRC if less than 63, the LI contains this number. Otherwise, the LI is set to 63. An LI of 63 indicates that the message length is equal to or greater than 63 octets (up to a maximum of 273 octets). The maximum length of a signal unit is 279 octets: 273 octets (data) + 1 octet (flag) + 1 octet (BSN + BIB) + 1 octet (FSN + FIB) + 1 octet (LI + 2 bits spare) + 2 octets (CRC).
The flag indicates the beginning of a new signal unit and implies the end of the previous signal unit (if any). The binary value of the flag is 0111 1110. Before transmitting a signal unit, MTP Level 2 removes "false flags" by adding a zero-bit after any sequence of five one-bits. Upon receiving a signal unit and stripping the flag, MTP Level 2 removes any zero-bit following a sequence of five one-bits to restore the original contents of the message. Duplicate flags are removed between signal units.
BSN (Backward Sequence Number)
The BSN is used to acknowledge the receipt of signal units by the remote signaling point. The BSN contains the sequence number of the signal unit being acknowledged. (See description under FIB below.)
BIB (Backward Indicator Bit)
The BIB indicates a negative acknowledgement by the remote signaling point when toggled. (See description under FIB below.)
FSN (Forward Sequence Number)
The FSN contains the sequence number of the signal unit. (See description under FIB below.)
FIB (Forward Indicator Bit)
The FIB is used in error recovery like the BIB. When a signal unit is ready for transmission, the signaling point increments the FSN (forward sequence number) by 1 (FSN = 0..127). The CRC (cyclic redundancy check) checksum value is calculated and appended to the forward message. Upon receiving the message, the remote signaling point checks the CRC and copies the value of the FSN into the BSN of the next available message scheduled for transmission back to the initiating signaling point. If the CRC is correct, the backward message is transmitted. If the CRC is incorrect, the remote signaling point indicates negative acknowledgment by toggling the BIB prior to sending the backward message. When the originating signaling point receives a negative acknowledgment, it retransmits all forward messages, beginning with the corrupted message, with the FIB toggled.
Because the 7-bit FSN can store values between zero and 127, a signaling point can send up to 128 signal units before requiring acknowledgment from the remote signaling point. The BSN indicates the last in-sequence signal unit received correctly by the remote signaling point. The BSN acknowledges all previously received signal units as well. For example, if a signaling point receives a signal unit with BSN = 5 followed by another with BSN = 10 (and the BIB is not toggled), the latter BSN implies successful receipt of signal units 6 through 9 as well.
SIO (Service Information Octet)
The SIO field in an MSU contains the 4-bit subservice field followed by the 4-bit service indicator. FISUs and LSSUs do not contain an SIO.
The subservice field contains the network indicator (e.g., national or international) and the message priority (0..3 with 3 being the highest priority). Message priority is considered only under congestion conditions, not to control the order in which messages are transmitted. Low priority messages may be discarded during periods of congestion. Signaling link test messages receive a higher priority than call setup messages.
The service indicator specifies the MTP user (Fig. 4), thereby allowing the decoding of the information contained in the SIF.
|
Signaling Network Management Message (SNM) |
|
Maintenance Regular Message (MTN) |
|
Maintenance Special Message (MTNS) |
|
Signaling Connection Control Part (SCCP) |
|
Telephone User Part (TUP) |
|
ISDN User Part (ISUP) |
|
Data User Part (call and circuit-related messages) |
|
Data User Part (facility registration/cancellation messages) |
|
Reserved for MTP Testing User Part |
|
Broadband ISDN User Part |
|
Satellite ISDN User Part |
SIF (Signaling Information Field)
The SIF in an MSU contains the routing label
Figure 5. ANSI vs. ITU-T SIO and SIF
ANSI point codes use 24-bits (three octets); ITU-T point codes typically use 14-bits. For this reason, signaling information exchanged between ANSI and ITU-T networks must be routed through a gateway STP, protocol converter, or other signaling point which has both an ANSI and an ITU-T point code. (Note: China uses 24-bit ITU-T point codes which are incompatible with both ANSI and other ITU-T networks). Interaction between ANSI and ITU-T networks is further complicated by different implementations of higher level protocols and procedures.
An ANSI point code consists of network, cluster, and member octets (e.g., 245-16-0). An octet is an 8-bit byte which can contain any value between zero and 255. Telcos with large networks have unique network identifiers while smaller operators are assigned a unique cluster number within networks 1 through 4 (e.g., 1-123-9). Network number 0 is not used; network number 255 is reserved for future use.
ITU-T point codes are pure binary numbers. However, like ANSI point codes, ITU-T point codes may also be given network, cluster, and member designations. For example, the point code 5557 may be stated as 2-182-5 (binary 010 10110110 101).
In ITU-T implementations, the SLS is interpreted as the signaling link code in ISUP messages.
The CRC value is used to detect and data transmission errors. For more information, see the description for BIB above.
Message distribution provides link, route and traffic management functions.
This function uses the Link Status Signal Unit (LSSU) to notify adjacent nodes of link problems. Level 3 will send LSSUs via Level 2 to the adjacent node, notifying it of the problems with the link and its status.
Diagnostics consists of realigning and resynchronizing the link.
Another form of link management uses changeover and changeback messages sent using Message Signal Units (MSUs). MSUs advise the adjacent node to send traffic over another link within the same linkset. The alternate link must be within the same linkset.
The bad link is being realigned by Level 3 while traffic is rerouted over alternate links. Changeback message is sent to advise the adjacent node that it can use the newly restored link again. Changeback messages are typically followed by a changeback acknowledgement message.
Route management informs other nodes of the status of the affected node. It uses Message Signal Units (MSUs) generated by adjacent nodes and is not usually generated by the affected nodes. (Link management only informs adjacent nodes.)
For example, if ISUP is not available at a particular node, a traffic management message can be sent to adjacent nodes informing them that ISUP is not available, without affecting TCAP messages on the same node.
Every SS7 node must have its own unique point code. Message routing determines the point code from an address contained in the routing table.
MTP provides the rest of the levels with node-to-node transmission, including basic error detection and correction schemes and message sequencing. It provides routing, message discrimination and distribution functions within a node.
Standards Compliance
Level 4 consists of several protocols, user parts and application parts. (See Figure 7.)
MAP (Mobile Application Part) is used to share cellular subscriber information among different networks. It includes information such as the mobile identification number (MIN), and the serial number of the cellular handset. This information is used by the IS-41 protocol during cellular roaming.
TCAP enables the deployment of advanced intelligent network services by supporting non-circuit related information exchange between signaling points using the SCCP connectionless service. An SSP uses TCAP to query an SCP to determine the routing number(s) associated with a dialed 800, 888, or 900 number. The SCP uses TCAP to return a response containing the routing number(s) (or an error or reject component) back to the SSP. Calling card calls are also validated using TCAP query and response messages. When a mobile subscriber roams into a new mobile switching center (MSC) area, the integrated visitor location register requests service profile information from the subscriber's home location register (HLR) using mobile application part (MAP) information carried within TCAP messages.
TCAP messages are contained within the SCCP portion of an MSU. A TCAP message is comprised of a transaction portion and a component portion.
Transaction Portion
The transaction portion contains the package type identifier. There are seven package types:
The transaction portion also contains the Originating Transaction ID and Responding Transaction ID fields which associate the TCAP transaction with a specific application at the originating and destination signaling points respectively.
Component Portion
The component portion contains components. There are six kinds of components:
Components include parameters which contain application-specific data carried unexamined by TCAP.
Standards Compliance
SCCP provides connectionless and connection-oriented network services above MTP Level 3. While MTP Level 3 provides point codes to allow messages to be addressed to specific signaling points, SCCP provides subsystem numbers to allow messages to be addressed to specific applications (called subsystems) at these signaling points. SCCP is used as the transport layer for TCAP-based services such as freephone (800/888), calling card, wireless roaming, and personal communications services (PCS).
Global Title Translation
For example, calling-card queries (used to verify that a call can be properly billed to a calling card) must be routed to an SCP designated by the company that issued the calling card. Rather than maintaining a nationwide database of where such queries should be routed (based on the calling-card number), switches generate queries addressed to their local STPs, which, using GTT, select the correct destination to which the message should be routed. Note that there is no magic here; STPs must maintain a database that enables them to determine where a query should be routed. GTT effectively centralizes the problem and places it in a node (the STP) that has been designed to perform this function.
In performing GTT, an STP does not need to know the exact final destination of a message. It can, instead, perform intermediate GTT, in which it uses its tables to find another STP further along the route to the destination. That STP, in turn, can perform final GTT, routing the message to its actual destination.
Intermediate GTT minimizes the need for STPs to maintain extensive information about nodes that are far removed from them. GTT also is used at the STP to share load among mated SCPs in both normal and failure scenarios. In these instances, when messages arrive at an STP for final GTT and routing to a database, the STP can select from among available redundant SCPs. It can select an SCP on either a priority basis (referred to as primary backup) or so as to equalize the load across all available SCPs (referred to as load sharing).
Explanation of how GTT is doneLets say for example you dialed 1 800 746 2936 from your home phone. All 800 service calls are routed via TCAP (Transaction Capabilitys Applications Part) which is one of the many protocols in the Switching System 7 (SS7) network. TCAP is used for database queries. With the 800 number, it is first starts at the TCAP level, and then goes to the SCCP and then finally to the MTP. From the MTP, the message continues to the next node in the layer of protocols, and then travels back through the SS7 protocol. The diagram below shows how 800 service routing works:
Example 1 (800 746 2936 Service Examples)
I cannot be botherd to make a geographicaly correct map of India in this format, so in this example we will asume that the India is a rectangle, and ignore we learn at school for the time being.
| You dialing | | 1 800 746 2936 | | / | | ___ ____ (Inter Exchange Carriers) | | | | ____| |===========\ | | |___| / |____|ICN _||_ | | | / | |_______________ | | | / |____| _____\___ | | \ | [1,2,3,4] ____ | | | | \ | __________| |============\ | LATA Boundrys | | __||/ |____|ICN _||_ / | |____ | | | | | |___/ |_________| \ | | |___| Central Office |____| \ | | || [5] | | | STP || | | | _|_\_ 800 Applications | | | | | | Software | | | |__|__| (global translation) The terminating _|_ | | | | line: 561 682 8577 | | | | | || || | |___| | | |__| |__| | |_________________________________________________________________________|
So whats happening here? If you cannot understand the diagram (like me) This is what happens:
[1]
You dial 1 800 746 2936 and the digits are sent to your central office, which recognises the 800 number stored in it's 800 applications software package. The central office, along with the SS7 protocol makes a querie message, which is then forworded to the STP. The coded querie message contains instructions to perform a global title translation on 800 746 2936.
[2]
The STP then looks up 800 746 2936 in it's translation table, and will produce a destination point code and a subsystem number. The destination point code is the location of the SCP and the subsystem number is the ID of the database within the SCP which is then accessed. The STP then encodes this information into a message and then makes the appropriate link selection and sends the message to the identified SCP.
[3]
The SCP then recieves your 800 routing instruction, then a database will then translate 800 746 2936 into an ordinary ten digit POTS number (561 682 8577). The number along with the pre selected IC carrier and any information nessasery for handeling the call is then encoded into a responce message, and sent back to the STP. The STP then looks up the destination point code in the message.
[4]
The destination point code ID's the originating SSP, and then based upon this information the STP will select a link and forward the responce message. Using the information in the message the SSP will enter it's signalling mode and select a trunk where it will pass the message off to the appropriate interexchange carrier.
[5]
The IC will then send the message accross LATA boundaries to the final destination point. Finally SS7 signalling is used as the message is transmitted to the switchboard in Palm Beach Florida. All of this routing is determined by the customers arrangments with the telco. The customers 800 routing configuration is stored in a database called the Call Managment Services Database (CMSDB)
Message FormatSCCP messages are contained within the signaling information field (SIF) of an MSU. The SIF contains the routing label followed by the SCCP message contents. The SCCP message is comprised of a one-octet message type field followed by the mandatory fixed part (mandatory fixed-length parameters), mandatory variable part (mandatory variable-length parameters), and the optional part. Each optional part parameter is identified by a one-octet parameter code followed by a length indicator ("octets to follow") field.
The Service Indicator of the Service Information Octet (SIO) is coded 3 (binary 0011) for SCCP. SCCP messages are contained within the Signaling Information Field (SIF) of an MSU. The SIF contains the routing label followed by the SCCP message contents. The SCCP message is comprised of a one-octet message type field which defines the contents of the remainder of the message .
SCCP Message Format
Standards ComplianceBISUP (Broadband ISUP) will gradually replace ISUP as ATM is deployed.
The ISDN User Part (ISUP) defines the protocol and procedures used to set-up, manage, and release trunk circuits that carry voice and data calls over the public switched telephone network (PSTN). ISUP is used for both ISDN and non-ISDN calls. Calls that originate and terminate at the same switch do not use ISUP signaling.
Basic ISUP Call Control
Figure 8 depicts the ISUP signaling associated with a basic call.
In the example shown above, the originating and destination switches are directly connected with trunks. If the originating and destination switches are not directly connected with trunks, the originating switch transmits an IAM to reserve a trunk circuit to an intermediate switch. The intermediate switch sends an ACM to acknowledge the circuit reservation request and then transmits an IAM to reserve a trunk circuit to another switch. This processes continues until all trunks required to complete the voice circuit from the originating switch to the destination switch are reserved.
ISUP Message Format
ISUP information is carried in the Signaling Information Field (SIF) of an MSU. The SIF contains the routing label followed by a 14-bit (ANSI) or 12-bit (ITU) circuit identification code (CIC). The CIC indicates the trunk circuit reserved by the originating switch to carry the call. The CIC is followed by the message type field (e.g., IAM, ACM, ANM, REL, RLC) which defines the contents of the remainder of the message (Fig. 9).
Figure 9. ISUP Message Format
Initial Address Message
An Initial Address Message (IAM) is sent in the "forward" direction by each switch needed to complete the circuit between the calling party and called party until the circuit connects to the destination switch. An IAM contains the called party number in the mandatory variable part and may contain the calling party name and number in the optional part.
Figure 10. ANSI and ITU-T Initial Address Message (IAM) Format
An Address Complete Message (ACM) is sent in the "backward" direction to indicate that the remote end of a trunk circuit has been reserved. The originating switch responds to an ACM message by connecting the calling party's line to the trunk to complete the voice circuit from the calling party to the called party. The calling party hears the ringing tone on the voice trunk generated by the destination switch.
Figure 11. ANSI and ITU-T Address Complete Message (ACM) Format
When the called party answers, the destination switch terminates the ringing tone and sends an Answer Message (ANM) to the originating switch. The originating switch initiates billing after verifying that the calling party's line is connected to the reserved trunk.
Figure 12. ANSI and ITU-T Answer Message (ANM) Format
A Release Message (REL) is sent in either direction indicating that the circuit is being released due to the cause indicator specified. An REL is sent when either the calling or called party "hangs up" the call (cause = 16). An REL is also sent in the backward direction if the called party line is busy (cause = 17).
Figure 13. ANSI and ITU-T Release (REL) Message Format
A Release Complete Message (RLC) is sent in the opposite direction of the REL to acknowledge the release of the remote end of a trunk circuit and end the billing cycle as appropriate.
Figure 14. ANSI and ITU-T Release Complete (RLC) Message Format
Standards Compliance
Broadband ISDN User Part (BISUP) is an ATM protocol intended to support services such as high-definition television (HDTV), multilingual TV, voice and image storage and retrieval, video conferencing, high-speed LANs and multimedia.
REFERENCES
1. "SS7 Protocol " Cisco Whitepaper
2. "SS7 Tutorial " Micro Legend Telecom Systems
3. "SS7 Tutorial " Perfomance Technologies
4. Online Education, International Engineering Consortium (IEC)
Last updated on Feb 7, 2003
©2003 Pradip Bhuyan. All rights reserved.