The SS No. 7 standards are essential to a wide range of  convergence products for a number of reasons, of which we list three here.  First, Internet access servers need to access the PSTN signaling network by means of  the SS7 gateways. Second, IP telephony gateways need to interact with the PSTN  switches in order to establish PC-to-phone (or phone-to-PC) calls and IP  trunking. Third, IP telephony gateways, soft switches, and access servers need  to access the PSTN service control. For some of these purposes, SS No. 7 needs  to be ported into the IP environment (that is, carried by IP-based networks),  which, as mentioned before, is one activity carried by the IETF sigtran working group.
SS No. 7 was standardized (based on the common channel  experience) in order to satisfy the need for a common signaling interface both  within and across the national borders. Another benefit of standardization has  been cost eduction through multivendor interoperability. As it happens,  European and American SS No. 7 versions differ from one another, and even in the  United States implementations in some interexchange carriers’ networks differ  from those of local exchange carriers. Nevertheless, signaling across networks  works very well, at least as far as the provision of the basic call is  concerned.
The overall objective of SS No. 7 is to provide a reliable means  of information transfer in support of call control; remote control; and  operations, management, and administration. ITU also specifies SS No. 7  measurements and performance requirements. When printed double-sided and stacked  one page on top of another, the SS No. 7 ITU-T Recommendations Series  (Q.7xx—starting with Recommendation Q.700) is about a yard high. These  Recommendations define all aspects of a four-layer protocol stack as depicted in  Figure 1.   
There are two types of SS No. 7 application users:
-  
Applications that use service-related (but not circuit-related)  transactions between the switches and network databases.
 
-  
Switching applications that rely on the exchange of  circuit-related information in order to set up, test, maintain, and tear down  trunks.
 
Applications of the first type (for example, Intelligent  Network) use the Transaction Capabilities Application Part protocol;  applications of the second type use either the Telephone  User Part (TUP) protocol or ISDN User Part (ISUP), which has been the  SS No. 7 response to the ISDN. Both TC and ISUP rely on the Signalling Connection Control Part (SCCP) protocol,  which in turn runs on top of the Message Transfer  Part (MTP), the lowest layer in the SS No. 7 stack. ISUP also uses  MTP directly; TAP uses only MTP.
The rest of this section sheds a bit more light on MTP, SCCP,  TC, and ISUP, respectively.   Message Transfer  Part (MTP)
As Figure 1 demonstrates, MTP has three levels. The first two levels correspond to the physical and data link  layers of the OSI model, respectively. The third level (Level 3) performs  certain functions (such as routing and data delivery) of the OSI network and  transport layers. In addition, MTP is responsible for the network management  functions associated with the control of routing tables and other network  configuration data.
Physically, MTP can be implemented in the endpoints (that is,  switches, network databases, or operation and maintenance centers) or service transfer points (STPs), or both. The  messages exchanged between any pair of these elements may traverse more than one  intermediate STP. MTP does not guarantee in-sequence arrival and otherwise  provides an unreliable connectionless transport mechanism to its users.
Each endpoint and each STP are identified by a unique point code, which is an exact equivalent of an IP  address in the Internet. The MTP routing  label contains three parts: the originating  point code (OPC), destination point code  (DPC), and signaling link  selection (SLS). (The SLS field is used, among other things, for load  sharing among STPs.) MTP can assign a specific hard link value [called signaling link code (SLC)] to an SLS, which is  always done for MTP management information messages.
In order to recognize the user (for example, SCCP or ISUP) of  the incoming message, MTP employs a combination of the service indicator (identifying the user) and a  2-bit-long network indicator (which, in  combination with OPC and DPC, determines whether national or international  signaling is involved) fields.
Note that MTP procedures include congestion control, of which  MTP informs its users.
Signaling  Connection Control Part (SCCP)
SCCP, described in Recommendations Q.711 through Q.716, provides both connectionless  and connection-oriented transport services. The services are grouped into the  following four classes (enumerated from 0):
SCCP  peers address each other by the DPC–global title–subsystem number (SSN) triplet. Global title is defined in Recommendation Q.700 as  a set of “dialled digits or another form of address that will not be recognized  in the SS No. 7 network.” The subsystem number identifies a user part or TC application entities.
When the connection-oriented classes services are used, SCCP  provides a reliable transport mechanism. During connection establishment,  certain routing functions are provided by SCCP as well (in addition to those  provided by MTP), as noted in Recommendation Q.711.
Transaction  Capabilities (TC) Application Part 
TC is most typically used as a protocol between a switch and a network database,  but it can also be used between two network databases. The primary user  of TC is Intelligent Network, but there are other users (such as mobile service  applications, administration of closed user groups, and transaction-oriented  operations and maintenance applications). The main feature of all these  applications is best defined through an affirmation—they are  transaction-oriented—and a negation—they are not circuit-related.
The word transaction-oriented  simply means that TC is designed to support the request/response type of  communications, although in reality the protocol has evolved to support a  dialogue of multiple requests and responses issued by either side of the  communications link. Figure 2  depicts the place of TC in SS No. 7 and its structure.First of all, TC has two sublayers: the component sublayer (CSL) and transaction sublayer (TSL). We don’t concentrate on  the TSL, but we should describe the CSL, which provides the actual  interface to the TC user. The CSL is responsible for:
-  
Associating the user’s requests (whose nature is discussed in a  later section) with the responses.
 
-  
Handling all abnormalities.
 
In a nutshell, the CSL provides the appearance of a (remote)  procedure call to the user. In other words, CSL operations can be viewed (and  implemented) by a programmer as procedure calls. To this end, TC is partially  aligned with the capabilities of ITU-T Recommendations X.219 and X.229,  developed jointly by ITU-T and the ISO. The CSL messaging unit is called a component. The user initiating a transaction issues  an INVOKE component, which contains the operation code and arguments of the operation. Recommendation Q.771 defines four  classes of operations in respect to the expected response:   -  
Both success and failure are reported.
 
-  
Only failure is reported.
 
-  
Only success is reported.
 
-  
Neither success nor failure is reported.
 
The response can also carry rejection to perform the requested  operation. What is most interesting is that the responder may, in turn, send its  own INVOKE component before returning a response, by means of linking the components into a dialogue. (A  classical example of such dialogue is the freephone  service. When a switch asks the service control point to translate a  number, the latter requests that the switch connect to the device that plays  announcement and collects digits. After the service control gets what it needs,  it finally sends the response back to the switch.) The response components  are:
-  
RETURN RESULT NOT LAST.  Contains the list of parameters defining the result, and also indicates that  other RETURN components are going to be  issued (thus, the response may be segmented).
 
-  
RETURN RESULT LAST. Contains  the list of parameters defining the result.
 
-  
REJECT. Contains the problem  code (for example, malformed component).
 
-  
ERROR. Contains the error  code (the error being the result of performing the operation).
 
TC is based only on the  connectionless capabilities (that is, classes 0 and 1) of SCCP and uses the same  addressing mechanism as SCCP.   ISDN User Part  (ISUP)
As mentioned, SS No. 7 was adapted to interworking with Q.931,  and so became the system of choice for the ISDN network support for call  management. Call management is in turn realized through switch-to-switch  signaling. ISUP is the protocol used for switch-to-switch signaling.
ISUP entities address each other with the MTP addressing scheme,  augmented by circuit identification, which  refers to a specific trunk.
The ISUP call model views three call phases:
-  
Call setup.
 
-  
Conversation (includes pure data exchange).
 
-  
Call teardown.
 
Accordingly, the ISUP messages are used to establish, maintain,  and terminate different phases of a call. In addition, calls originating from  ISDN terminals may be supplied with more detailed call progress information.
ISUP employs two methods—link-by-link (which passes messages through all  intermediate exchanges, where they can be modified, hot-potato-style) and end-to-end messages that are exchanged between the  ISUP endpoints (for example, local exchanges or international gateways). The  end-to-end method typically employs either the connectionless or  connection-oriented services of the SCCP; employing the latter makes things much  simpler.
Unfortunately, there are too many ISUP messages to describe  here. (Just the minimum internationally recognized set contains 29!) Instead, we  list the basic message categories, followed by a call setup example:
-  
Forward setup. The messages  in this category are involved in setting up a call with particular  characteristics in the direction toward the called party.    
-  
Backward setup. The messages  in this category complete the call establishment (when it is possible) in the  direction from the exchange containing the called party toward the calling  party. Accounting and charging procedures belong in this category.
 
-  
General setup. The messages  in this category carry additional call-related information needed to set up a  call.
 
-  
Call supervision. The  messages in this category are notifications of events like the call being  answered, the circuit being released, or the need for an international operator  intervention.
 
-  
Circuit supervision. The  messages in this category are all kinds of notifications of the events related  to circuits allocated for a call.
 
-  
Circuit group supervision.  The messages (primarily of request/response type) in this category relate to  circuit groups rather than individual circuits, and are used for network  management purposes (for example, as preventive measures—such as call blocking  on the indicated trunk groups, or circuit group status queries).
 
-  
In-call modification. The  messages in this group support modification of the existing call characteristics  (for example, a change from a voice call to a data call) or invoking a  particular medium (facility).
 
-  
End-to-end. The messages in  this group include user-to-user signaling independent of call control messages.