Aricent Leaders in Communications Software - Aricent
 
HomeAbout UsProductsOutsourcing ServicesSolutionsSupport
Partners Partners  Careers Careers  Locations Locations  Contact Us Contact Us  
          
  Overview
  IMS
  GPRS/UMTS Stacks
  SIGTRAN & SS7
  Access Stacks
  VoP Stacks
  Datacom Stacks

Your Location : Home > Protocol Stacks > SS7 FAQ


SS7 Overview | SS7 Features | SS7-Aricent Deliverables | SS7 Related Products | Distributed SS7 | SS7 FAQ


SS7: FAQ

Technology

Product Information


User Queries

Ques: What is the SS7?

Ans : Common Channel Signalling System No. 7 (i.e., SS7 or C7) is a global standard for telecommunications defined by the International Telecommunication Union (ITU) Telecommunication Standardization Sector (ITU-T). Signalling System 7 was introduced by AT andT in 1975 and approved by worldwide standards bodies in 1980. The standards define the procedures and protocol by which network elements in the public switched telephone network (PSTN) exchange information over a digital signalling network to effect wireless (cellular) and wireline call setup, routing and control as well as network management and maintainence. SS7 uses out-of-band signalling i.e. it uses a separate digital channel for the exchange of signalling information

TOP

Ques: What can the SS7 network and protocol be used for?

Ans : The SS7 network and protocol can be used for:

  • Basic call setup, management, and tear down
  • Wireless services such as personal communications services (PCS), wireless roaming, and mobile subscriber authentication
  • Local number portability (LNP)
  • Toll-free (800/888) and toll (900) wireline services
  • Enhanced call features such as call forwarding, calling party name/number display, and three-way calling
  • Efficient and secure worldwide telecommunications

TOP

Ques: What does the SS7 signalling architecture look like?

Ans : SS7 messages are exchanged between network elements over 56 or 64 kilobit per second (kbps) bi-directional channels called signalling links. Signalling occurs out-of-band on dedicated channels rather than in-band on voice channels.

The networks consist of three types of network elements:

  • SSP: Signal Switching Points are telephone exchanges equipped with SS7 capable software. They are responsible for originating, terminating or switching calls. SSP can be an origination or destination point for signalling messages.
  • STP: Signal Transfer Points are packet switches that receive and route signalling messages to their proper destination
  • SCP: Signalling Control Point is a database that provides information necessary for advanced call-processing capabilities

    SS7 Signalling Architecture
    SS7 Signalling Architecture

TOP

Ques: What are the layers in a SS7 stack?

Ans : The SS7 protocol stack has the following underlying layers:

 

SS7 Stack Architecture
Pre-integrated with Aricent SS7 Stack Other Stacks avaliable - pre-integrated with Aricent SS7 Stack Stacks avaliable with Aricent Stacks avaliable with Aricent as well as Hardware card vendors
Component avaliable with Aricent Component avaliable with Aricent card vendor SS7 layers avaliable with Aricent SS7 layers avaliable with Aricent
SS7 Stack Architecture


 

Message Transfer Part
The Message Transfer Part (MTP) is divided into three levels. The lowest level, MTP Level 1, is equivalent to the OSI Physical Layer. MTP Level 1 defines the physical, electrical, and functional characteristics of the digital signalling 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).

MTP Level 2 ensures accurate end-to-end transmission of a message across a signalling link. Level 2 implements flow control, message sequence validation, and error checking. When an error occurs on a signalling link, the message (or set of messages) is retransmitted. MTP Level 2 is equivalent to the OSI Data Link Layer.

MTP Level 3 provides message routing between signalling points in the SS7 network. MTP Level 3 re-routes traffic away from failed links and signalling points and controls traffic when congestion occurs. MTP Level 3 is equivalent to the OSI Network Layer.

ISDN User Part (ISUP)
The ISDN User Part (ISUP) defines the protocol used to set-up, manage, and release trunk circuits that carry voice and data between terminating line exchanges (e.g., between a calling party and a called party). ISUP is used for both ISDN and non-ISDN calls. However, calls that originate and terminate at the same switch do not use ISUP signalling.

Telephone User Part (TUP)
In some parts of the world (e.g., China, Brazil), the TUP is used to support basic call setup and teardown. TUP handles analog circuits only. In many countries, ISUP has replaced TUP for call management.

Signalling Connection Control Part (SCCP)
SCCP provides connectionless and connection-oriented network services and global title translation (GTT) capabilities above MTP Level 3. The primary difference between MTP and SCCP is in the addressing scheme and routing. SCCP is used as the transport layer for TCAP-based services.

Transaction Capabilities Applications Part (TCAP)
TCAP supports the exchange of non-circuit related data between applications across the SS7 network using the SCCP connectionless service. Queries and responses sent between SSPs and SCPs are carried in TCAP messages. For example, an SSP sends a TCAP query to determine the routing number associated with a dialed 800/888 number and to check the personal identification number (PIN) of a calling card user.
In mobile networks (IS-41 and GSM), TCAP carries Mobile Application Part (MAP) messages sent between mobile switches and databases to support user authentication, equipment identification, and roaming. Camel Application Part (CAP) and INAP protocols used for implementing the concept of Intelligent Networks also use TCAP as the underlying layer.

TOP

Ques: What standards does the SS7 stack conform to?

Ans: Aricent's SS7 Stack layers are compliant with the ITU-T standard, ITU-T. The Aricent SS7 Stack allows for national variants such as the American National Standards Institute (ANSI) and Bell Communications Research (Bellcore) standards used in North America and the European Telecommunications Standards Institute (ETSI) standard used in Europe. Spanish and British Variants are also supported. A number of other country variants are also supported. Design methodology used in all these layers provides flexibility to quickly implement support for any country variant.

TOP

Ques: What is meant by "SS7 over IP"? Does Aricent provide any "SS7 over IP" offerings?

Ans: To enable NEPs to quickly migrate their solutions to Next Generation IP networks, Aricent also provides pre-integrated "SS7 over SIGTRAN" solutions including the following configurations:

1. SCCP over M3UA/SCTP
2. TCAP, SCCP over M3UA/SCTP
3. TCAP over SUA/SCTP
4. ISUP over M3UA/SCTP

These integrated stacks have been used by Aricent customers for developing nodes in VoIP, wireless and converged networks.

TOP

Ques: What is global title translation?

Ans : A global title is an address (e.g., a dialed 800 number, calling card number, or mobile subscriber identification number) which is translated by SCCP into a destination point code and subsystem number. A subsystem number uniquely identifies an application at the destination signalling point. When using the global title translation feature, messages from a service switching point (SSP)-which is always the originator of such messages-are routed to an STP, which must then translate the SCCP address fields into the point code/subsystem number combination. The message is then given back to the MTP with the additional address information so that it may be routed by MTP level three to its final destination. This method of routing also allows networks to accept messages from other networks without disclosing their own internal point codes.

TOP

Ques : What does it mean when the SS7 Stack can work in both single-threaded and multi-threaded systems?

Ans : The SS7 Stack entities (MTP2, MTP3, ISUP SCCP and TCAP) can be compiled and run as a single thread. This is possible because of the coding guidelines, which ensure uniqueness of function names and global variables.
In addition, each SS7 Stack entity can execute as a separate thread. This is possible because each stack entity is independent and does not share any data structures with other stack entities. Communication between two stack entities is through a message-based interface.

TOP

Ques : What does porting the stack onto a system involve?

Ans : Porting the stack onto a system involves the following :

  • Porting the OS calls
  • Porting error handler and printing of trace messages
  • Porting System Management Entity
  • Porting redundancy

Porting the OS calls is dependent on the Operating System and involves:

  • Memory management
  • Timer management
  • IPC mechanism between stack entities / stack entity and service user



Porting error handler is dependent on the user's system and is based on how the errors are to be reported. Error messages can be printed on a console, logged in a file, reported to system management entity or logger entity.

Porting the printing is dependent on the User's System and is based on how / where the trace messages are to be displayed.

Porting system management entity involves developing an User Interface (GUI / other) for managing the stack entities using layer management APIs (Provisioning, Statistics, Controlling Error Reporting and Traces etc.).

Hence, the SS7 stack can be ported unto any customer platform very easily.

TOP

Ques: What is the functionality of the layer management entity?

Ans: For exercising control over SS7 stack, a layer management entity(LME) is required. The functionality of the LME is as follows:

1. Provisioning, initialization and maintenance of SS7 stack entities
2. Debug and trace management of SS7 stack entities
3. Solicited and periodic statistics collection/reporting
4. Redundancy management of SS7 stack entities

TOP

Ques: What can be configured using the layer management entity interface?

Ans: LME is used for configuration, provisioning, control and monitoring of individual SS7 layers. Given below are some examples of parameters configurable from LME:

  • Self point code configuration
  • Destination point code configuration
  • Linkset configuration
  • Link configuration
  • Route configuration
  • Timer configuration
  • Sub system configuration
  • Trace Levels
  • E1/T1 card configuration
  • Congestion levels
  • Other parameters e.g. Call control configuration parameters, CICs provisioning / unprovisioning etc can be included as per the customer's requirements

TOP

Ques: What is the functionality of the client code, provided separately with the core stack code?

Ans : The client code library is included in the stack user build. It parses all the APIs meant for the underlying protocol stack. It forms an interface between the stack and the user / service layer. In case of an error, it returns an appropriate error code to the stack user.

TOP

Ques : How does the MTP2 handle multiple links ?

Ans : MTP2 has a well defined interface (in the form of functional calls) with the hardware, which is to be ported. These function calls are concerned with initialization of hardware, transmission and reception of signal units as well as interrupt handling. This is explained in detail in the MTP2 Porting Guide provided as part of the standard Aricent MTP2 package.

Multiple SS7 links are handled by the hardware in any fashion (polling in round robin or any other manner/ interrupt driven) - MTP2 places no restriction on this.

MTP2 hardware interface consists of a set of functions, which are invoked by the hardware as needed:

  • Whenever the hardware is ready to transmit, it will invoke a well-defined MTP2 function
  • Whenever the hardware has received a signalling unit, it will invoke another MTP2 function

TOP

Ques : Can multiple instances of the same stack entity run on one processor ?

Ans : This depends upon the operating system (OS). In an OS like Solaris, Windows NT etc., where each instance / execution of the stack entity has its own data area, this is possible.

In RTOS like VxWorks etc., the global variables are mapped to a fixed location in memory (flat memory structure). Hence, multiple instances of the stack entity access the same data area for global, leading to clash.

TOP

Ques : What compiler does Aricent use for SS7 ?

Ans : The SS7 development environment is Solaris, with a GNU C(gcc) as well as a Forte 64 bit compiler available on Sun environment. Aricent also compiles its source code using the following compilers, before a release is delivered to the customer:

  • Microtek MCC68K compiler
  • Borland C compiler

If a customer is planning to use a different compiler than the above, the source code can be compiled using that compiler before the release.

TOP

Ques : Is any global data referenced by the stack entity? What are the implications?

Ans : The database and a few other variables maintained by each stack entity are defined as global definitions. This has no implication in an OS like Unix, which does not share memory across tasks. However, in case of RTOS (like VxWorks, PSOS) that have a flat memory space, there is only one copy of this data irrespective of number of tasks or processes started. For e.g. if two instances of ISUP are running on the same board they will be referring to the same copy of data.

This will be fixed in future releases of stack - the solution will be as decided in the protocol development framework, which would be one of the following:

  • Keep global database indexed by the instance number of the module.
  • Define the database as local to the stack entity and pass the reference to it with each call of stack and down to all levels. All the database references will be done with respect to this reference.

TOP

Ques : Do you require virtual memory ?

Ans : There is no assumption in the stack with respect to type of memory - it can be virtual or physical. But as explained in previous question, there is a problem when multiple instances of a stack entity are executing and accessing the same copy of data in case of flat memory systems.

So if we assume that virtual memory models will keep the stack global space along with the stack task (process) context, we can support multiple instances of each entity on the same board.

TOP

Ques : On a 64-bit Processor, do checksums and CRCs calculation in the stack get impacted ?

Ans : All the checksums calculated in SS7 (i.e. CRC in MTP2) are 16-bit CRC. A 64-bit processor will not affect them. All the stack entities operate on the following basic types:

  • U8bit
  • U16bit
  • U32bit
  • S8bit
  • S16bit
  • S32bit

(where U is for unsigned and S for Signed) These definitions are defined in a header file and can be changed if needed.

TOP

Ques : Is any system requirement functionality assumed from an external database?

Ans. : Database maintained by each stack entity is local to it and has got no external dependency. The database maintained by each entity has got a static part (which is initialized by provisioning) and a dynamic part (which is updated at run-time by the stack entity).

The interface of each stack entity with its database module is a well-defined functional interface (read/write/access/modify). If there is a need to use an external database, this functional interface has to be ported.

TOP

Ques: What are the performance requirements that the Aricent SS7 Stack has been designed to meet?

Ans:

  • The protocol stack (and each constituent entity) is so designed so as to allow porting on the target platform with minimal real-time overload on the client's thread of control (calling application). This implies that whenever possible, the stack code should be executed in the stack's thread of control.
  • Keeping in mind the strong time and memory constraints in telecom systems, the stack design and code is developed for maximum time and memory efficiency.
  • Wherever messages need to be exchanged across entities, stack architecture will be so designed so as to minimize the bandwidth requirement.

TOP

Ques: What is meant by 'Redundancy Management'?

Ans: Redundancy management if implemented means the following

  • The SS7 stack shall have two operating states ONLINE and STANDBY.
  • The SS7 stack shall support interfaces for solicited as well as unsolicited updates.
  • An interface shall be provided for redundancy data updation.
  • A mechanism shall be provided to indicate to the system management entity for triggering the redundancy data updation to all the redundant components.
  • System management entity shall have the control for changing the state of the SS7 stack.
  • Compile time flag to control the inclusion/exclusion of redundancy features shall be provided.

Aricent SS7 layers support all the above-mentioned features.

TOP

Ques: What are the various forms of Redundancy Management ?

Ans: Three forms of redundancy models are widely prevalent:

  • Cold Redundancy: A system supporting cold redundancy has only active functional unit running. When the active functional unit fails, then standby functional unit(s) (after getting trigger from external entity) becomes active. This type of redundancy typically does not guarantee preservation of ACTIVE calls if the active component fails.

  • Warm Redundancy: A system supporting warm redundancy has all the active and standby components running, but only the active functional unit processes events. Active components replicate minimal amount of data (critical data) of the system to the standby functional unit. Typically a system supporting warm redundancy guarantee preservation of ACTIVE calls if the active component fails.

  • Hot redundancy: In hot redundancy systems, typically both active and standby components process events and based on predetermined logic one of the output is taken into consideration.

TOP

Ques: What are the features of Aricent's Distributed SS7 Stack?

Ans: In order to support scalability and high availability features, Aricent provides a distributed version of its SS7 stack. This allows each of the layers to be distributed across multiple nodes. Implemented as an add-on feature for the Aricent SS7 stack, the distributed stack libraries enable the SS7 layers to be distributed across multiple nodes. All the instances share the same point code and are viewed by the network as a single entity. The load is distributed across all the nodes and in case one of the nodes goes down, the system automatically redistributes the load across the remaining nodes. When the failed node recovers, it also becomes a part of the distributed system. Information amongst various SS7 instances is exchanged to ensure a consistent and updated database.

Various features of the distributed SS7 stack are -

1. Fault tolerant: In the event of failure of one instance, the other instances continue working, i.e., the impact of failure of an instance is minimal from the point of view of the stack users and the peer nodes on the network. However, an existing connection with that instance will be lost.
2. Load balancing: The load from the user part and external world is distributed among multiple instances of stack evenly.
3. Unified View: The stack provides a unified view to the network and user part. The network nodes are transparent to the distribution and view the distributed nodes as a single node only
4. Minimum cross Traffic: Cross traffic is avoided between different processors as far as possible.
5. Highly Scalable: Provides capability of addition and deletion of stack instances dynamically at run time.

TOP

Ques: How is debugging support implemented in Aricent's SS7 stack?

Ans: Extensive debugging and trace functionality is built into the stack code. Multiple trace levels are supported that can be controlled during the run-time. By enabling the several trace levels, the designers can trace the behavior for better understanding. Controlled by a compile time flag, this functionality can be optionally left to create smaller executables for embedded systems with limited on-board memory. A porting function is provided that can be used to log traces to a file, print on a console or send to logger entity.

TOP

Ques: How is error handling implemented?

Ans: All errors are indicated through a uniform interface. Handling of errors is the responsibility of the system management entity. All possible errors that might occur in processing (including SS7 protocol procedural errors) are numbered and globally defined. All the SS7 protocol processing entity modules maintain a global error flag (global to a module) that reflects last error encountered in the processing. Whenever an error is encountered, the SS7 protocol stack layer invokes error handler function passing all desired information like error type, error level etc. Customers as per their requirements can modify error handler function.

TOP




Last updated : March 9, 2006

 

Customer Quote
  Case Studies
  Press Releases
  Whitepapers
  Partners