SS7 Overview |
SS7 Features | SS7-Aricent
Deliverables | SS7
Related Products | Distributed
SS7 | 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
|
TOP
Ques:
What are the layers in a SS7 stack?
Ans : The SS7 protocol stack has the following
underlying layers:
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
|