OpenSS7 SS7 for the Common Man | © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. Last modified: Thu, 02 Feb 2006 05:52:01 GMT | |||||||||||||||||||
| ||||||||||||||||||||
| Multiplex/Channel (MX/CH)Description: OpenSS7 Project Manual Pages Media Gateway Switching StackCHSection: The OpenSS7 Project Devices (4)Updated: Tue, 18 Nov 2008 21:25:21 GMT Index Return to Main Contents NAMEch, CH - Channel (CH) Media DriversSYNOPSIS#include <ss7/chi.h>
DESCRIPTIONCH
CH is implemented as a STREAMS(4) driver. CH Streams can be linked under the MG(4) multiplexing driver using the I_LINK or I_PLINK commands of streamio(7), to provide channel services to the MG(4) multiplexing driver. CH Streams can be configured using chi_ioctl(4). DriversCH provides the following Stream types that are directly compatible with the Stream types provided by other CH drivers. To select one of these Stream types, the device argument to the open(2) call can be one of the following:
USAGEThe CH driver is the switching workhorse of the The OpenSS7 Project package. Both CHI and CHI Streams can be opened on the upper multiplex. Bothe CHI and CHI Streams can be linked on the lower multiplex. Any channel of any Stream, whether upper or lower, can be connected through the multiplex to any other channel. The CH driver can perform simply isochronous conversion functions (e.g. mu-law to a-law), digital padding, echo cancellation, compression/decompression, minor rate adaption (e.g, 8-bit A-law into 5-bit GSM), that do not cause flow control considerations as it performs simply matrix operations. Preestablished or canned tones an announcements can be supported by the driver. Dynamic announcemets need to be provided by an external module or in hardware. Complex operations such as HDLC conversion need to be provided upstream or in hardware. The CH driver is intended to support single-rate and multi-rate channels; however, single-rate and multi-rate connection must match and no multi-rate conversion will be performed. The purpose of the CH driver is to perform simple circuit switching and do it very fast. The CH driver can be modelled as a hardware Time-Space-Time switch, only switching is performed primarily in software. (When the driver connects two channels from the lower multiplex, the data path may be through hardware instead of software.) The CH driver is, however, may be able to perform channel insertion and deletion from a span. For example, an entire E1 or T1 span can be connected, channel for channel, to another E1 or T1 span. The drivers has the ability to remove or insert one or more channels on either side of the span connection. The purpose of channel insertion and deletion is to pull signalling channels out of a span, particularly for ISDN primary rate connections and SS7 signalling. ConfigurationAt boot time, or when a new span or circuit is brought into service, a management program opens a device or pseudo-device driver to obtain a Stream reprsenting the new channel or span an links the Stream beneath the CH multiplexing driver. Input-output controls are then used to assign the channel or span (and timeslots within the span) to circuit identification numbers within the matrix. These channel identification numbers and the mapping to specific hardware should be maintained in configuration files. For example, when a T1 span is put into service on a V401P card, the management program opens a Stream on the V401P CH device that represents the T1 span, attaches the Stream to the T1 span, and then links the Stream beneath the CH driver. A configuration table is used to determine the circuit number assignments for the card and T1 span selected. An input-output control is issued to the CH driver with the multiplex index of the linked span, and the circuit number assignments for the span. This input-output control also identifies other particulars about the span (number of channels, DS0 or DS0A, etc). The CH driver provides the ability for management programs to determine the lower multiplex identifier that is associated with any circuit or circuit range. This allow the management program to perform a I_PLINK(7) operation and close the Stream. It can later discover the multiplex ID from the circuit assigment (contained in the configuration table) with an input-output control to the CH driver, so that it know the multiplex ID to user to remove the circuit or span from service with an I_PUNLINK(7) operation. As another example, an Ephemeral connection manager process that is listening for Ephemeral connection requests on the connection management Stream of the mg(4) driver, receives a request to establish an RTP Stream to a remote host. The Ephemeral connection manager opens a rawip(4) device, and pushes the rtp(4) module over the device. The rtp(4) module is set to convert the media Stream to that appropriate for the channel to which the Ephemeral connection will ultimately occur, and the Stream, which provides a CHI interface, is linked under the CH driver. It assigns a circuit identification number with an input-output control. The Ephemeral connection manager then requests that the CH driver connect the Ephemeral connection to a Gateway circuit through the matrix. While CHI and CHI Streams on the lower multplex are attached to their circuits or connections for the full time that they are linked, CHI and CHI Streams on the upper multiplex are not so. When a user-level program opens a Stream on the upper multiplex, it remains unattached to any particular channel. CHI or CHI primitives are used to connect the upper multiplex Stream to either a lower or another upper multiplex Stream. Upper multiplex Stream provide the ability to terminate circuit connections within another STREAMS module or driver above the CH driver. For example, a number of CHI Streams can be opened on the upper multiplex and are identified by their device numbers and any asigned termination identifiers. These Streams, which represent unconnected circuits, can then be linked under a tones and announcements driver. When a switching process such as the mg(4) driver wishes to provide a tone or announcment to a circuit or an ephemeral connection, it request that the CH driver connect the circuit or ephemeral connection to one on the upper multiplex that terminates at the tones and announcements driver. By sending control messages to the tones and announcements driver, the mg(4) driver can then play progress tones or announcments to the user at the other end of the locally terminated connection. INTERFACEThe CH driver provides two interfaces at the lower multiplex: the chi(7) interface for single- and multi-rate channels and the chi(7) interface for time-division multiplexed channel groups (i.e, spans). The CH driver provides three interfaces at the upper multiplex: the chi(7) interface for single- and multi-rate channels, the chi(7) interface for time-division multiplexed channel groups (i.e, spans); and a management control interface for controling connections made across the matrix. ADDRESSESCircuit addresses are 32-bit identifiers that are assigned to circuits or cirguit groups. Each circuit (upper or lower) has a unique identifier within the CH driver. One of the identifiers for a circuit within a circuit group can be used to identify the circuit group as a whole. Flags are used in management primitives to indicate whether a particular identifier refers to a circuit or a circuit group. Assignment of circuit identifiers, assign from requirements for uniqueness, are arbitrary. For operation with ISUP, a good choice would be to assign some bit range of the identifier to be identical to the ISUP circuit identification code for the circuit and the remainder to uniquely identifier one like ISUP CIC assignment from another. IOCTLSAll interfaces support a set of management IO controls using ioctl(2) and I_STR commands to the streamio(7) system calls on the ch_stream file descriptor. These management controls are documented in ch_ioctl(4). NOTICESUnlike other OpenSS7 protocol modules and drivers providing transport communications services, CH does not provide a sockets(3) interface. This is because the special needs of switch multiplex control are divorced from the sockets paradigm. On the other hand, the For performance reasons, SS7 and ISDN primary rate signalling channels are not passed through the software switch matrix. This permits signalling channels to be subject to a different set of flow control rules and priorities. SS7 and ISDN primary rate signalling channels can be dropped and inserted into a channel group directly from the hardware driver (e.g, V401P driver). FILES<ss7/chi.h>, <ss7/chi_ioctl.h>, <ss7/ch_ioctl.h>. MODULESDEVICESBUGSThe CH drivers have no known bugs. SEE ALSOVERSIONSThe CH interface is specific to the OpenSS7 MG stack. This is Version 1 of the interface. CHI interfaces are consistent with CHI Revision 0.9.2. The CH driver does not appear until strss7 release 0.9.2. IDENTIFICATION
Copyright©1997-2008OpenSS7 Corp.
Index
This document was created by man2html, using the manual pages. Time: 21:25:21 GMT, November 18, 2008 | |||||||||||||||||||
OpenSS7 SS7 for the Common Man |
| |||||||||||||||||||
Last modified: Thu, 02 Feb 2006 05:52:01 GMT © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. |