OpenSS7
SS7 for the
Common Man
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.
Last modified: Sun, 05 Mar 2006 08:34:14 GMT
Home Top Index First Prev Next Last More Download Info FAQ Mail  Home -> Documentation -> Man Pages -> SS7 Stack -> MTP Level 3
Quick Links

Download

SCTP

SIGTRAN

SS7

Hardware

STREAMS

Asterisk

Related

Package

Manual

Manual Pages

References

Conformance

Performance

Documentation

Design

Status

Overview

FAQ

SS7 Stack

BICC

ISUP

TCAP

SCCP

MTP Level 3

SS7 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

Message Transfer Part (MTP) Level 3

Description: OpenSS7 Project Manual Pages SS7 Stack


MTP

Section: The OpenSS7 Project Devices (4)
Updated: Tue, 18 Nov 2008 20:35:15 GMT
Index Return to Main Contents

NAME

MTP - Signalling System No. 7 (SS7) Message Transfer Part (MTP)

SYNOPSIS

#include <ss7/mtpi.h>
#include <ss7/mtpi_ioctl.h>

int mtp_stream = open(device, flags);
int mtp_xtistr = t_open(device, flags);
int mtp_socket = socket(PF_SS7, socket_type, SS7PROTO_MTP);

DESCRIPTION

MTP
is an implementation of the Signalling System No. 7 (SS7(4)) Message Transfer Part (MTP) defined in ITU-T Recommendation Q.704[1], ETSI ETS 300 008-1[2], ANSI T1.111.4[3], and other[4] national standards.

MTP provides reliable sequenced or unsequenced delivery of packets over a connectionless or pseudo-connection-mode transport between two MTP endpoints. MTP provides strong assurances that the data arrives in order on a stream, if requested, and maintains sequencing of packets in the face of most network failures. It generates and checks a per-packet checksum to catch transmission errors. MTP routing routes around link and node failures in the SS7(4) network.

MTP is implemented as a STREAMS(4) multiplexing driver. sl(4), m2ua(4) or m2pa(4) streams are linked under the MTP multiplexing driver using the I_LINK or I_PLINK commands of streamio(7), to provide link services to MTP. Once linked, the streams must be configured using mtp_ioctl(4).

MTP is also implemented as a STREAMS(4) pushable module. For more information on the pushable module, see mtp-mod(4).

Device Names

Each MTP device name presents a different service primitive interface to the user program as follows:

/dev/mtp, mtp-mtpi
This device provides the MTP protocol service interface using the M-primitives of the Message Transfer Part Interface (MTPI)[5] described in mtpi(7). The mtpi(7). service interface is suitable for use with other OpenSS7 SS7 and SIGTRAN modules and drivers, such as the m3ua-sg(4) multiplexing driver.
/dev/mtp-npi-cl, mtp-npi-co
This device provides the MTP protocol service interface using the N-primitives of the Network Provider Interface (NPI)[6] described in npi(7), used for the Message Transfer Part as described in npi_mtp(7). The npi(7) interface provided on a stream openin this device is suitable for use directly by a user program. mtp-npi-cl provides a connectionless N_CLNS network service provider; mtp-npi-co provides a pseudo-connection-mode N_CONS network service provider.
/dev/mtp-tpi-cl, mtp-tpi-co
This device provides the MTP protocol service interface using the T-primitives of the Transport Provider Interface (TPI)[7] described in tpi(7), used for the Message Transfer Part as described in tpi_mtp(7). The tpi(7) interface provided on a stream opening this device is suitable for use with the xnet(3) or xti(3) library and provides the MTP interface using XTI as described in xti_mtp(3). mtp-tpi-cl provides a connectionless T_CLTS transport service provider; mtp-tpi-co provides a pseudo-connection-mode T_COTS transport service provider.

Socket Types

MTP provides two socket types used by the sockets(3) library socket(3) call. MTP provides sockets in the protocol family PF_SS7 using the protocol number SS7PROTO_MTP. The socket_type argument can be one of the following:

SOCK_RDM
Provides a connectionless datagram service with reliable delivery including retransmission. Message boundaries are preserved. This socket uses the underlying /dev/mtp-tpi-cl transport service provider.
SOCK_SEQPACKET
Provides a pseudo-connection-mode packet service with reliable delivery including retransmission. Message boundaries are preserved. Messages can be sent and received in order, if requested. This socket uses the underlying /dev/mtp-tpi-co transport service provider.

The following entries in /etc/protosw provide the information necesary for socksys(4) to use these devices:

PF_SS7SOCK_RDMSS7PROTO_MTP/dev/mtp-tpi-cltpiclts
PF_SS7SOCK_SEQPACKETSS7PROTO_MTP/dev/mtp-tpi-cotpicots

For additional information, see protosw(5).

USAGE

The MTP STREAMS(4) multiplexing driver provides a number of device names that can be opened by user programs with the open(2s) system call (see above under DeviceNames ). The open(2s) system call returns a file descriptor, fd, that can be used to make other system calls on the open MTP Stream. Each MTP Stream provides a service primitive interface that implements the MTP protocol. The system call, putpmsg(2s), can be called to issue service primitives on the interface; getpmsg(2s), to receive primitives. ioctl(2s) as described in streamio(7) and mtp_ioctl(7) can be used to manage the Stream and the MTP provider.

IOCTLS

All interface support a set of management IO controls using ioctl(2) system calls on the mtp_stream, mtp_xtistr or mtp_socket. These management controls are documented in mtp_ioctl(4).

NOTICES

MTP does not provide a true connection-mode network service, only a pseudo-connection-mode network service where ther first message sent is considered a connection request and the first message received is considered a connection indication with data for the source address or connection confirmation with data. Pseudo-connection mode is useful for MTP users that rely heavily on the insequence delivery within a signalling link selection between pairs of signalling end points in quasi-associated mode. An example of such an MTP user is ISUP. ISUP communicate with regard to circuit identification codes between switching centers with SS7 ISUP messages between signalling end points corresponding to these pairs of switching centers. For this reason, it is conventient to consider the signalling end point and switching center pairs as 'connected'.

For another example, an Service Control Point (SCP) in the SS7 network serves a number of Service Switching Points (SSPs). Each of the SSPs is considered to be a concerned signalling point for the Service Control Point (SCP). From the viewpoint of both the SCP and individual SSP, the signalling relation between the SCP and SSP can be considered to be a 'connection'.

In general, whenever a signalling relation exists between two MTP users, that signalling relation can be considered as a 'connection'.

SEE ALSO

SS7(4), mtpi(7), npi_mtp(7), tpi_mtp(7), xti_mtp(3), mtp_socket(7), sockets(3), xnet(3), mtp_ioctl(4).

FILES

<ss7/mtpi.h>, <ss7/mtpi_ioctl.h>, <sys/npi.h>, <sys/npi_ss7.h>, <sys/npi_mtp.h>, <sys/tpi.h>, <sys/tpi_ss7.h>, <sys/tpi_mtp.h>, <xti.h>, <xti_mtp.h>.

DEVICES

/dev/mtp, mtp-mtpi.
These device names are two names for the same device. The device provides a clone or auto-clone Stream providing the MTPI[5] interface, not associated with a Signalling Point. This device can also be opened using the specfs(5) entry, /dev/streams/mtp/mtp. Additional specfs(5) device entries, /dev/streams/mtp/mtp01 through mtp31, may be opened to obtain a Stream associated with Signalling Points 1 throu 31, depending on the minor device number.
/dev/mtp-npi-cl, mtp-npi-co.
These devices provide an auto-clone Stream providing the NPI[6] N_CLNS or N_CONS interface, not assocaited with a Signalling Point. These devices can also be opened using the specfs(5) entry, /dev/streams/mtp/npcl or npco. Additional specfs(5) device entries, /dev/streams/mtp/npcl01 through npcl31, and npco01 through npco31, may be opened to obtain a Stream associated with Signalling Point 1 thorugh 32, depending on the minor device number.
/dev/mtp-mgmt.
This device provides an auto-clone Stream providing the management interface, not associated with a Signalling Point. This device can also be opened using the specfs(5) entry, /dev/streams/mtp/lm.

VERSIONS

The MTP interface is specific to the OpenSS7 SS7 stack. This is Version 2 of the interface.

REFERENCES

[1]
ITU-T Recommendation Q.704, Message Transfer Part --- Signalling Network Functions and Messages, March 1993, (Geneva), ITU, ITU-T Telecommunication Standardization Sector of ITU. (Previously "CCITT Recommendation") <http://www.itu.int/rec/T-REC-Q.704/>
[2]
ETSI EN 300 008-1 V1.3.1, Integrated Services Digital Network (ISDN); Signalling System No. 7; Protocol Specification, September 2000, (Sophia Antipolis, Valbonne), ETSI, European Telecommunications Standards Institute. [REN/SPAN-01074-1] (ITU-T Recommendations Q.701, Q.702, Q.703, Q.704, Q.705, Q.706, Q.707 and Q.708, modified) <http://www.etsi.org/>
[3]
ANSI T1.111, Signalling System No. 7 --- Message Transfer Part, 1992, ANSI, American National Standards Institute.
[4]
TTC Standard JT-Q)704, Message Transfer Part --- Signalling Network Functions and Messages, April 28, 1992, (Japan), TTC, Telecommunication Technology Committee (TTC).
[5]
MTPI, Message Transfer Provider Interface (MTPI) Specification, Revision 0.9.2, Draft 1, July 15, 2007, (Edmonton, Canada), B. Bidulock, OpenSS7Corporation. Distributed with package strss7-0.9.2. <http://www.openss7.org/specs/mtpi.pdf>
[6]
NPI, Open Group CAE Specification: Network Provider Interface (NPI) Specification, Revision 2.0.0, Draft 2, August 17, 1992, (Parsippany, New Jersey), UNIXInternational,Inc., UNIX International Press. <http://www.openss7.org/docs/npi.pdf>
[7]
TPI Revision 2.0.0, Open Group CAE Specification: Transport Provider Interface (TPI) Specification, Revision 2.0.0, Draft 2, 1999, (Berkshire, UK), OpenGroup, Open Group Publication. <http://www.opengroup.org/onlinepubs/>

TRADEMARKS

OpenSS7tm
is a trademark of OpenSS7 Corporation.
Linux®
is a registered trademark of Linus Torvalds.
UNIX®
is a registered trademark of The Open Group.
Solaris®
is a registered trademark of Sun Microsystems.

Other trademarks are the property of their respective owners.

IDENTIFICATION

The OpenSS7 Project: Package OpenSS7 version 0.9.2 released Tue, 18 Nov 2008 20:35:15 GMT.

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



Index

NAME
SYNOPSIS
DESCRIPTION
Device Names
Socket Types
USAGE
IOCTLS
NOTICES
SEE ALSO
FILES
DEVICES
VERSIONS
REFERENCES
TRADEMARKS
IDENTIFICATION

This document was created by man2html, using the manual pages.
Time: 20:35:15 GMT, November 18, 2008
OpenSS7
SS7 for the
Common Man
Home Top Index First Prev Next Last More Download Info FAQ Mail  Home -> Documentation -> Man Pages -> SS7 Stack -> MTP Level 3
Last modified: Sun, 05 Mar 2006 08:34:14 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.