Cisco PGW 2200 Softswitch Platform Overview
Revised: March 7, 2011, OL-0800-14
This chapter describes the components of the Cisco PGW 2200 Softswitch platform and presents the software architecture of the Cisco PGW 2200 Softswitch, Release 9.
This chapter includes the following sections:
•Cisco PGW 2200 Softswitch Platform
•Cisco PGW 2200 Softswitch Software Architecture
•Cisco PGW 2200 Softswitch Software Directory Structure
Cisco PGW 2200 Softswitch Platform
The following subsections describe the components of the Cisco PGW 2200 Softswitch platform:
•Cisco PGW 2200 Softswitch
•Cisco SS7 Interfaces
There are several optional elements of the Cisco PGW 2200 Softswitch platform, which are listed in the "Agent Management Subsystem" section. For more information on these optional elements, see the documentation for each element.
Cisco PGW 2200 Softswitch
The Cisco PGW 2200 Softswitch is a Sun UNIX box running Cisco PGW 2200 Softswitch software Release 9. The Cisco PGW 2200 Softswitch performs real-time, call-processing, and SS7-layer functions; manages trunk resources, alarms, and call routing; and administers billing information.
Cisco PGW 2200 Softswitch functionality includes:
•Originating call detail records (CDRs)
•Providing alarm initiation information
•Producing operational peg counts
•Receiving and processing craft user interface (CUI) data
•Providing Message Transfer Part (MTP) Level 3 (MTP3) functions
•Providing advanced intelligent network (AIN) capabilities
Sun UNIX Hosts
The Cisco PGW 2200 Softswitch Release 9.8 Software Installation and Configuration Guide identifies the Sun UNIX hosts that support the releases of the Cisco PGW 2200 Softswitch software.
To attain continuous service and reliability, install and configure two Sun UNIX hosts for system redundancy. The call-processing application is active on one Cisco PGW 2200 Softswitch and automatically switches to the standby Cisco PGW 2200 Softswitch only if the active host goes out of service.
Cisco SS7 Interfaces
The Cisco PGW 2200 Softswitch platform interfaces to an SS7 network through Cisco IP Transfer Point LinkExtenders (ITP-Ls) or Cisco IP Transfer Points (ITPs).
The Cisco ITP-Ls terminate Message Transfer Part (MTP) levels 1 and 2 of the SS7 protocol.
Cisco routers, for example, the Cisco 2800, backhaul the remaining SS7 layers by running the Reliable User Datagram Protocol (RUDP) over an Ethernet 10BASE-T or 100BASE-T interface.
The number of signaling network connections available on each Cisco ITP-L depends on the router you install in the chassis. You can use multiple Cisco ITP-Ls (up to 16 per Cisco PGW 2200 Softswitch platform) to support signaling channels. You can configure the Cisco ITP-L with redundant connections to the control signaling network. Redundant connections eliminate the Cisco ITP-L as a possible single point of failure in the Cisco PGW 2200 Softswitch platform. The Cisco ITP-L supports V.35, T1, and E1 interfaces to the SS7 network.
The Cisco ITPs terminate all levels of MTP and the Service Connection Control Part (SCCP) layer of the SS7 protocol. The Cisco ITP backhauls the remaining SS7 layers across an IP network to the Cisco PGW 2200 Softswitch. The Cisco ITP transmits data that conforms to the SIGTRAN standards and MTP Level 3 User Adaptation (M3UA/SUA). The transmissions also comply with the Stream Control Transmission Protocol (SCTP) and pass through an Ethernet interface.
The number of signaling network connections on each Cisco ITP depends on the router you use. Refer to the Release Notes pertaining to the Cisco ITP software for a list of the routers that support the Cisco ITP and the potential number of signaling network connections.
Cisco switches provide the Ethernet backbone for the Cisco PGW 2200 Softswitch platform. You can deploy LAN and WAN implementations. See the Release Notes pertaining to the Cisco PGW 2200 Softswitch software for a list of the Cisco switches that should be selected to form the Ethernet backbone.
Table 1-1 shows the limitations of the WAN implementations.
Table 1-1 Limitations on WAN Switches Within a Cisco PGW 2200 Softswitch Platform
Software release version
Cisco PGW 2200 Softswitch software 9.3(2) or later (with associated operating system and hardware requirements).
Total end-to-end delay, one way (the time required to send a message from a source to a destination, such as from a Cisco PGW 2200 Softswitch to a Cisco ITP-L)
Must be less than 150 milliseconds.
Packet loss (defined as missing packets with a message)
Must not exceed 1 percent (preferably, less than 0.5 percent).
Note For packet loss rates below 0.5 percent, increase the RUDP receive window size (*. rudpWindowSz) to 64 to improve performance.
Dual-VLAN SIP automatic switchover support is enabled
Both Cisco PGW 2200 Softswitches should be part of the same IP subnet.
Each Ethernet NIC for each Cisco PGW 2200 Softswitch is connected to a switch through a 100BASE-T interface. The switches connect to the SS7 interfaces through 10BASE-T or 100BASE-T interfaces. Figure 1-1 displays the Ethernet connections between the elements of the Cisco PGW 2200 Softswitch platform.
Figure 1-1 Cisco PGW 2200 Softswitch Platform Connectivity
Cisco PGW 2200 Softswitch Software Architecture
This section describes the major subsystems in the Cisco PGW 2200 Softswitch software, which are illustrated in Figure 1-2. The major subsystems are:
•Agent Management Subsystem
•Fault Tolerance Subsystem
•Execution Environment Process Shell
•Call Engine Process
Figure 1-2 Cisco PGW 2200 Softswitch Software System Diagram
Note The H.248 IOCC in the I/O subsystem (in Figure 1-2) became available in Cisco PGW 2200 Softswitch software Release 9.7(3) Patch 8.
The I/O subsystem consists of the I/O channel controllers (IOCC) and the I/O channel manager (IOCM), which manages the controllers.
•IOCM manages all IOCCs.
–Protocol-specific, message-based interface that allows nodes and platforms that are external to the Cisco PGW 2200 Softswitch to communicate with the Cisco PGW 2200 Softswitch.
–Interface that allows buffering of messages to the call engine event dispatcher queue.
•The Cisco PGW 2200 Softswitch software I/O subsystem includes the following IOCCs:
–Basic Rate Interface (BRI)—Added in Release 9.5, this IOCC enables the backhaul of Layer 3 QSIG and Q.931 messages in a TCP session. This IOCC operates between a Cisco PGW 2200 Softswitch and voice gateways that support BRI signaling backhaul.
–Digital Private Network Signaling System (DPNSS)—Added in Release 9.4, this IOCC enables the transparent transport of DPNSS data over IP. This IOCC operates between media gateways that support DPNSS.
–Extended ISDN User Part (E-ISUP)—Protocol proprietary to Cisco that enables the transport of endpoint information and media-gateway-specific information between two (or more) Cisco PGW 2200 Softswitches. This protocol provides an enhanced ISUP base to support all ANSI and ITU ISUP messaging and elements. It also has additional fields to support the transport of service information (such as local number portability [LNP], 800 numbers, and so on).
–ISDN Level 3—Provides backhauling of ISDN (standard variants) from a media gateway to a Cisco PGW 2200 Softswitch.
–ISDN Q.921 User Adaptation Layer (IUA)—Added in Release 9.4, this IOCC enables backhauling of ISDN Q.921 user messages over IP with the Stream Controlled Transmission Protocol (SCTP). This IOCC operates between a Cisco PGW 2200 Softswitch and media gateways.
–Media Gateway Control Protocol (MGCP)—Enables communication with media gateways and trunking gateways. This protocol enables you to set up and configure bearer channel connections on the Cisco PGW 2200 Softswitch for call control environments.
–Message Transfer Part Level 3 (MTP3) User Adaptation (M3UA)—Added in Release 9.4, this IOCC enables the transport of any SS7 MTP Level 3 User signaling (for example, ISUP and TUP messages) over IP with SCTP. This IOCC operates between a Cisco PGW 2200 Softswitch and a Cisco IP Transfer Point (ITP).
–Q.931+—A stateless IOCC, for a protocol proprietary to Cisco, which is a special version of ISDN that enables forward hauling of Q931+ signaling to a media gateway. You configure this IOCC on a Cisco PGW 2200 Softswitch for signaling environments.
–Session Initiation Protocol (SIP)—Enables the Cisco PGW 2200 Softswitch to receive and send SIP messages over the User Datagram Protocol (UDP).
–Signaling Control Connection Part (SCCP) User Adaptation (SUA)—Added in Release 9.4, this IOCC enables the transport of any SCCP user signaling (for example, TCAP messages) over IP with SCTP. This IOCC operates between a Cisco PGW 2200 Softswitch and a Cisco ITP.
–Signaling System 7 (SS7)—Contains MTP3, which backhauls SS7 signaling from a Cisco IP Transfer Point LinkExtender (ITP-L) to the Cisco PGW 2200 Softswitch.
Agent Management Subsystem
The agent management subsystem (AMS) allows external client software or terminals to gain access to the data in the Cisco PGW 2200 Softswitch. This subsystem supports the following functions:
•Configuration management—Enables you to add, delete, or modify parameters and resources on the Cisco PGW 200 Softswitch so that it can perform its switching function. This data is stored locally in data (.dat) files. This data is required to automate reconfiguration after a process failure.
•Alarm management—Reports and clears alarms generated by Cisco PGW 2200 Softswitch processes.
•Performance measurement management—Reports and clears metrics that are generated by Cisco PGW 2200 Softswitch processes. You can also define thresholds which, if exceeded, could produce alarms.
•Accounting management—Dumps generated CDRs to locally persistent files or to remote databases through a standard or customized API.
The following types of external clients can access or manipulate data on the Cisco PGW 2200 Softswitch:
•Man-Machine Language (MML) terminal—Serves as a command-line interpreter. An operator can issue commands to manipulate data for fault detection, measurements, or configuration. MML is similar to TL/1, which enables low-level system experts (such as operations personnel) to perform rapid system configuration or troubleshooting.
•SNMP-based terminal—Enables you to use SNMP to access network data. You can use the data to manage system performance, to collect measurements, and to maintain security. The Cisco PGW 2200 Softswitch has a master agent (EMANATE from SNMP Research), which includes the following subagents that provide SNMP access to the system:
–Operations—Custom subagent that provides access to fault data.
–Measurement—Custom subagent that provides access to measurement data.
–Critical application monitor—Standard CIAgent subagent that monitors the process manager (procM) process.
–Host resources MIB—Standard CIAgent subagent that accesses data, such as the number of processors, and memory usage in the Cisco PGW 2200 Softswitch.
–MIB-II—Standard CIAgent subagent that partially supports the MIB-II standard (RFC-1213).
–File system monitor—Standard CIAgent subagent that monitors thresholds for five file systems.
•TIBCO management system—Introduced in Release 9.5(2), the Cisco PGW 2200 Softswitch TIBCO interface enables you to use a TIBCO management system to add, modify, delete, and retrieve provisioning data on the Cisco Cisco PGW 2200 Softswitch. The Cisco PGW 2200 Softswitch supports TIBCO Version 6 daemons and libraries. When this interface is enabled, the Cisco PGW 2200 Softswitch can communicate with one of two TIBCO daemons on your management system:
–Rendezvous Daemon (RVD)—Used when the management system is in the same network as the Cisco PGW 2200 Softswitch. The TIBCO adapter on the Cisco PGW 2200 Softswitch automatically starts RVD on the management system unless either the RVD or Routing Daemon (RVRD) is already running.
–Rendezvous Routing Daemon (RVRD)—Used when the management system and the Cisco PGW 2200 Softswitches are not on the same network. You must configure the RVRD routing table and start RVRD manually before activating the interface on the Cisco PGW 2200 Softswitch. See the TIBCO user documentation for information on configuring the RVRD routing table.
Note Typically, you activate the TIBCO interface during initial installation or during an upgrade. For more information on activating the TIBCO interface, see Cisco PGW 2200 Softswitch Software Release 9 Installation and Configuration Guide.
•Cisco MGC Node Manager (MNM)—Optional application for network element management.
•Cisco Voice Services Provisioning Tool (VSPT)—Optional application for provisioning the Cisco PGW 2200 Softswitch.
•Billing and Measurements Server (BAMS)—Optional application for collecting CDRs and operational measurements.
•H.323 Signaling Interface (HSI)—Optional application that provides an interface to H.323 networks.
Fault Tolerance Subsystem
The fault tolerance subsystem exists to preserve calls if the Cisco PGW 2200 Softswitch encounters a fault condition. There are two processes that ensure this:
•Switchover daemon—Monitors Cisco PGW 2200 Softswitch processes by using a heartbeat mechanism. If the switchover daemon receives no response to its process polling in a fault-tolerant hardware configuration, the control transfers to the standby unit.
•Replicator—Allows processes to checkpoint critical call information, such as signaling and bearer states, as well as call data across the active and standby processors. The replicator duplicates enough information to enable established calls to survive a switchover. Checkpointing events are generated at two points in a call:
–When the call is answered, to update the full duplex path.
–When the call is released, after the physical resources are de-allocated.
An operator who is performing maintenance by issuing MML commands using an SNMP client, or by circuit supervision, can generate connectionless (noncall) signaling.
Certain signaling can also generate checkpointing events:
–Blocking or unblocking of circuits
Note The replicator mechanism does not try to replicate program or data storage. Service features are not checkpointed across processors; there is just enough information to maintain the voice or data path between the call originator and the call terminator.
If a switchover occurs before the voice path is established during call processing, the call cannot be checkpointed to the standby Cisco PGW 2200 Softswitch. Calls that are not established during call setup are lost in the Cisco PGW 2200 Softswitch that becomes active after the switchover.
Execution Environment Process Shell
The execution environment process shell is an operating system shell on the Cisco PGW 2200 Softswitch that enables it to access lower-level functionality. The low-level functions hold together the I/O, element management, and call engine subsystems on the Cisco PGW 2200 Softswitch. The execution environment infrastructure provides the following functions to Cisco PGW 2200 Softswitch processes:
•Operating system interface—Sun Solaris operating system command processor.
•Process management—Performs startup order, shutdown order, and monitoring of processes. Also performs software upgrade compatibility checking with minimal service interruption.
•Alarm management—Allows processes to register, set, and clear alarms, which are then presented to the AMS for further processing.
•Log management—Allows Cisco PGW 2200 Softswitch processes to log messages to locally persistent data files. Message codes (instead of strings) minimize the overhead of interprocess transport of long buffers. Log files reveal the process type that generates the log, and the logging level (severity).
•Measurement management—Allows processes to adjust counters or other metrics, which are subsequently presented to the AMS for Alarm and Measurement Report processing.
•Command management—Interface that can be used by any active processes or by an EMS interface, such as MML or SNMP agents, to exchange commands or responses.
•Configuration management—Notifies processes and gets responses when configuration data changes. Handles reconfiguration management when multiple processes are affected by changes.
•Access control—Allows only authorized processes to access certain services or other processes.
•Interprocess communication (IPC)—Allows processes to exchange messages.
•Event Processing Service—XEProcShell facility allows applications to register, deregister, and exchange events (messages) through IPC. This service is critical to efficient real-time CPU usage and overall system performance.
•Timers—Allow processes to set, clear, or monitor timers. Provide timeouts to processes.
Call Engine Process
The call engine is a process designed to provide the means and resources for call processing to take place. The call engine involves the following components:
•Resource manager—Performs the following functions:
–Tracks all bearer resources used. Proxies and tracks the bearer resources in the trunking gateways within the Cisco PGW 2200 Softswitch service area.
–Services all requests for allocation or deallocation of bearer resources from call instances.
–Executes bearer allocation algorithms (circuit selection).
–Manages echo cancellation for a call.
–Performs continuity tests.
–Checkpoints bearer states and modes to the standby Cisco PGW 2200 Softswitch to guarantee that the bearer channel is not lost during a manual or automatic switchover.
•Connection manager—Interfaces with the nodes and protocols external to the Cisco PGW 2200 Softswitch that are necessary to establish an IP (TCP, UDP, or RUDP) or PSTN connection that is managed by the Cisco PGW 2200 Softswitch. The types of nodes supported are:
–VoIP/VoATM trunking gateways using MGCP.
–Time Domain Multiplex (TDM) trunking gateways using MGCP.
•Call manager—Contains and selects the appropriate protocol adapters. These are protocol-specific entities that perform the following functions:
–Communicates with the corresponding protocol-specific IOCC.
–Converts incoming protocol data units (PDUs) received from the IOCC to an internal, protocol independent format.
–Converts internal, protocol-independent PDUs to protocol-specific format.
–Communicates current circuit states to the IOCM using the IOCCs.
–Creates a call instance when an incoming call message is received.
–Destroys that instance and frees any associated memory when the call is terminated.
–Supports multiple call instances. It processes incoming messages from the event dispatcher queue and routes them to the call instance for which they are destined.
–Generates call detail blocks (CDBs), which are used to create CDRs.
–Operates as a standby entity, which is created when the call engine is created at system startup, and waits to create a new call, destroy an existing call, or process an event for an existing call.
–Checkpoints call information, such as call signaling state and data, to the standby Cisco PGW 2200 Softswitch to guarantee that the signaling link is not lost during a manual or automatic switchover.
Call Instance Component
A call instance is the dynamic component of the Cisco PGW 2200 Softswitch that is created at run time and is the place where call processing takes place. The call instance is commonly referred to as the Message Definition Language (MDL) component, which is the language used to implement it.
The system creates a call instance when it receives an incoming call message. There is always a one-to-one relationship between a call instance and a call switched by the Cisco PGW 2200 Softswitch.
There are several significant subcomponents involved in a call instance:
•Originating call control (OCC)—Instance of the originating protocol's state machine. In defining a protocol, two MDL modules are created:
–General declarations module, which contains protocol-specific types and definitions.
–Protocol definition module, which contains the state logic for two state machines—one for call origination and one for call termination. This module produces an object file named protocolName.mdo.
•Universal call model (UCM)—Protocol-independent state machine that is used to:
–Provide protocol interworking between the originating and the terminating sides of the call.
–UCM MDL module is used to define the UCM behavior and logic. The UCM module is compiled into an object file, but can only be loaded by the Call Engine and cannot be used by any of the protocols.
–Provide event-driven logic, which controls the following call-processing functions:
•linking the OCC and the terminating call control (TCC)
•updating and retrieving the call context structures
•interacting with other call engine components, such as the resource manager, connection manager, and call manager
•managing bearer resources, such as trunking gateways
•using the MGCP
•keeping the call processing state machine.
–UCM also triggers events to be processed by the following MDL modules: generic analysis module, subscriber profile retrieval, A-number and B-number pre-analysis, A-number and B-number full analysis, route selection, and the IN trigger module.
•Connection plane manager (CPM)—Communicates with the call engine's resource manager to make the bearer connections to a remote trunking gateway using MGCP.
•CDR Manager—Generates CDRs and forwards them to the EMS to be locally persisted or forwarded for off-platform accounting applications. CDRs are generated when calls are answered. CDRs can be generated in the following situations also:
–End of call (standard)
–Long duration calls
–Mid-call CDRs (can generate CDBs at eight different points in a call)
•Terminating call control—Instance of the terminating protocol's state machine.
•Call context—The following are the call context characteristics:
–Persistent object in a call instance that serves as the placeholder for bearer and signaling information. Such information is set and retrieved by the OCC, TCC, or UCM at various points in the life of the call.
–MDL context definition module is used to define the information elements, structures, and fields. This module is compiled into an object file to be used by all protocols.
The format of these structures is protocol-independent to minimize cross-protocol conversion permutations. Contains rules for data conversion to and from each protocol.
–Collects the following call information in CDBs, which are assembled to build CDRs: calling number, called number, answer time, disconnect time, originating trunk group and circuit identification code (CIC), terminating trunk group and CIC, address translation and route information, ISUP information, ISDN service information, database query information, call completion codes, and other information depending on the type of call.
Cisco PGW 2200 Softswitch Software Directory Structure
This section shows an overview of the UNIX file directory tree for the Cisco PGW 2200 Softswitch, along with a brief description of the purpose for each directory. Use this section as a guide for finding files called out in the operational procedures.
In the installation procedures, the installer is asked for a directory under which to install the Cisco PGW 2200 Softswitch software. The default directory is /opt/CiscoMGC; however, this directory name is installer-definable. Therefore, do not assume that /opt/CiscoMGC is used always. This is the directory under which nearly all files for the Cisco PGW 2200 Softswitch reside. Some temporary files that are created at run time.
Table 1-2 utilizes the variable $BASEDIR to indicate the directory into which the Cisco PGW 2200 Softswitch software is installed.
Table 1-2 Cisco PGW 2200 Softswitch Software Directory Structure
Cisco PGW 2200 Softswitch executable programs that cannot be customized.
MDL source files. Generally, MDL source files are not provided; but, if you purchase them, they will appear here.
Active Cisco PGW 2200 Softswitch dial plan area. This directory contains all the active dial plans on the Cisco PGW 2200 Softswitch.
Network element configuration files. This directory includes all provisionable configuration files that are required for proper operation of the Cisco PGW 2200 Softswitch.
Cisco PGW 2200 Softswitch configuration file library. This is a simple version control system for configuration file changes.
Saved data from the Cisco PGW 2200 Softswitch toolkit applications is stored in this directory.
Shared object files. These libraries are loaded at runtime by the executables. The three types of libraries are: (1) system and program shared objects, (2) MDL interpreted objects, and (3) MDL shared objects.
Cisco PGW 2200 Softswitch license file area. This directory contains the license files that the Cisco PGW 2200 Softswitch requires.
Cisco PGW 2200 Softswitch executable programs that can be modified by the customer for a site-specific reason. See the procedures for how to customize files. Generally, the factory default values are sufficient.
Intermediate patch file area. This directory contains the intermediate files during the patch installation.
SNMP agents and configuration area. This directory contains SNMP configuration files and SNMP agents, which communicate with SNMP clients on other managing software.
Subsystem communication and persistent storage area. This directory contains files and devices that provide communications between the various subsystems in the Cisco PGW 2200 Softswitch. It also contains files that provide persistent storage of data for the Cisco PGW 2200 Softswitch.
System logging area. This directory contains the platform logs, MML command logs, and disk monitor logs. See the "Understanding Logging Files" section on page A-1 for more information.
Dumper Spool Area. This directory contains historic reports. See the "Understanding Logging Files" section on page A-1.
Signal Path Trace area. This directory contains all MDL trace logs that are used for conversion analysis.