Links

GitHub

Open HUB

Quick Links

Download

STREAMS

SIGTRAN

SS7

Hardware

SCTP

Related

Package

Manual

Manual Pages

References

Conformance

Performance

Documentation

Design

Status

FAQ

MG Stack

Media Gateway

H.248/MEGACO

MGCP

Multiplex/Channel

RTP

VoIP Stack Manager

Man Pages

Applications

SS7 Stack

ISDN Stack

SIGTRAN Stack

VoIP Stack

MG Stack

SS7/ISDN Devices

IP Transport

Embedded Systems

OS

Documentation

FAQ

SIGTRAN

Design

Conformance

Performance

References

Man Pages

Manuals

Papers

Home

Overview

Status

Documentation

Resources

About

News

Multiplex/Channel (MX/CH)

Description: OpenSS7 Project Manual Pages Media Gateway Switching Stack


CH

Section: OpenSS7 STREAMS Channels Devices (4)
Updated: 2008-10-31
Index Return to Main Contents

NAME

ch, CH - Channel (CH) Media Drivers

SYNOPSIS

#include <ss7/chi.h>
#include <ss7/chi_ioctl.h>

DESCRIPTION

CH
is an implementation of a local channel control for devices conforming to the chi(7) interface. CH provides for the control of the matrix and underlying interfaces and communication facilities.

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).

Drivers

CH 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:

/dev/ch
This device provides the CH protocol service interface using the CH-primitives of the Channel Interface described in chi(7), as interpreted for use with local swithcing drivers described in chi_ch(7). This interface is suitable both for use with other SS7 modules and drivers, as well as with the mg(4) driver using the OpenSwitch call framework.
x400p(4)
x100p(4)

USAGE

The CH driver is the switching workhorse of the OpenSS7 STREAMS Channels 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.

Configuration

At 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.

INTERFACE

The 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.

ADDRESSES

Circuit 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.

IOCTLS

All 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).

NOTICES

Unlike 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>.

DEVICES

/dev/ch.

BUGS

The CH drivers have no known bugs.

SEE ALSO

MG(4), chconfd(8), chi(7).

VERSIONS

The 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


OpenSS7 STREAMS Channels: Package strchan version 0.9.2.4 released 2008-10-31.

Copyright©1997-2008OpenSS7 Corp. All Rights Reserved.
(See roff source for permission notice.)



Index

NAME
SYNOPSIS
DESCRIPTION
Drivers
USAGE
Configuration
INTERFACE
ADDRESSES
IOCTLS
NOTICES
FILES
DEVICES
BUGS
SEE ALSO
VERSIONS
IDENTIFICATION

This document was created by man2html, using the manual pages.
Time: 03:05:34 GMT, November 13, 2014
Last modified: Thu, 02 Feb 2006 05:52:01 GMT  
Copyright © 2014 OpenSS7 Corporation All Rights Reserved.