Message Transfer Part (MTP) Level 3
Description: OpenSS7 Project Manual Pages SS7 Stack
MTP
Section: OpenSS7 SS7 Stack Devices (4)
Updated: 2008-10-31
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_SS7 | SOCK_RDM | SS7PROTO_MTP | /dev/mtp-tpi-cl | tpi | clts
|
PF_SS7 | SOCK_SEQPACKET | SS7PROTO_MTP | /dev/mtp-tpi-co | tpi | cots
|
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
-
OpenSS7 SS7 Stack: Package strss7 version 0.9a.8 released 2008-10-31.
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: 00:41:51 GMT, November 15, 2024