OpenSS7
SS7 for the
Common Man
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.
Last modified: Sat, 01 Nov 2008 10:43:07 GMT
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manual Page
Quick Links

Download

SCTP

SIGTRAN

SS7

Hardware

STREAMS

Asterisk

Related

Package

Manual

FAQ

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

Description: Manual Page

Keywords: ss7 ss7/ip ss7 over ip ss7 mtp ss7 sccp ss7 tcap sigtran mtp sccp tcap openss7 acb56 linux telephony pstn linux telephony linux nebs linux compactpci


XTI-MTP

Section: XTI/TLI Library Calls (3)
Updated: 2008-10-31
Index Return to Main Contents

NAME

XTI-MTP - X/Open Transport Interface - Corrigendum for Message Transfer Part (MTP) Conformance

SYNOPSIS

#include <xti.h>
#include <xti_ss7.h>
#include <xti_mtp.h>

int mtp_xtistr = t_open(/dev/mtp-tpi-cl, flags);
int mtp_xtistr = t_open(/dev/mtp-tpi-co, flags);

OVERVIEW


This manual section describes the protocol-specific information that is relevant for MTP[1..4] transport providers; it describes the protocol-specific information that is relevant when MTP services[5] are provided over an IP network using M3UA[6] (m3ua(4)) or TALI[7] (tali(4)); and it defines the data structures and constants required for MTP transport providers that are exposed through the XTI/TLI[8, 9] <xti_mtp.h> header file.

DESCRIPTION

The XTI-MTP is an X/Open Transport Interface[8, 9] based interface with specific support of the Signalling System Number 7, Message Transfer Part protocol[1..4].

ADDRESS FORMAT

The MTP address format is structured as follows:

typedef struct sockaddr_mtp {
    sa_family_t mtp_family;     /* Address family */
    uint16_t mtp_ni;            /* Network indicator */
    uint16_t mtp_si;            /* Service indicator */
    uint32_t mtp_pc;            /* Point code */
    uint8_t mtp_zero[sizeof(struct sockaddr) -
                     sizeof(sa_family_t) -
                     sizeof(uint16_t) * 2 - sizeof(uint32_t)];
} t_mtp_addr_t;

The MTP address format is a t_mtp_addr_t structure containing the following members:
mtp_family
This field is for compatability with the sockets(3) library and is not used by XTI/TLI and is ignored by the MTP provider.
mtp_ni
conveys the Network Indicator. The Network Indicator is an implementation specific indication of the numbering space in which the mtp_pc is relevant. Network Indicators are assigned by the system adminstrator.
mtp_pc
conveys the MTP Signalling Point Code. The format of the signalling point code is network dependent. Signalling Point Codes are least significant bit aligned in a 32-bit long word.
mtp_si
conveys the MTP Service Indicator. The specific numbering of service indicators is implementation and protocol variant specific.
mtp_zero
This field is for comaptability with the sockets(3) library and is not used by XTI/TLI and is ignored by the MTP provider.

The combination of mtp_ni, mtp_pc and mtp_si define the MTP Service Access Point (MTP-SAP).

The network indicator can be ``wildcarded'' by setting mtp_ni to -1. The signalling point code can be ``wildcarded'' by setting mtp_pc to -1.

OPTIONS

Options are formatted according to the t_opthdr structure as described in xti(3). An MTP transport provider compliant to this specification supports none, all or any subset of the options defined here. An implementation may restrict the use of any of these options by offering them only in the privileged or read-only mode. M3UA (m3ua(4)) and TALI (tali(4)) transport providers only support a subset of the options defined here.

An MTP conforming transport provider supports two levels of options. These two levels are described below.

T_SS7_SS7

Options within this level are specific to Signalling System No. 7 (SS7) and are common to all the protocol levels in SS7. For more information see xti_ss7(3).

The options defined with the option level T_SS7_SS7 are as follows:

T_SS7_PVAR
the protocol variant provided by the MTP provider. This option has a t_uscalar_t option value. The option value can be one of the following values:
T_INVALID
The protocol variant is not known because the stream is not bound to a specific network indicator.
T_SS7_PVAR_ITUT88
The protocol supported by the MTP transport provider on the stream conforms to ITU-T Recommendation Q.704, CCITT Blue Book, 1988
T_SS7_PVAR_ITUT93
The protocol supported by the MTP transport provider on the stream conforms to ITU-T Recommendation Q.704, CCITT White Book, 1993
T_SS7_PVAR_ITUT96
The protocol supported by the MTP transport provider on the stream conforms to ITU-T Recommendation Q.704, 1996
T_SS7_PVAR_ITUT00
The protocol supported by the MTP transport provider on the stream conforms to ITU-T Recommendation Q.704, 2000
T_SS7_PVAR_ETSI88
The protocol supported by the MTP transport provider on the stream conforms to ETSI ETS 300 008-1, 1988.
T_SS7_PVAR_ETSI93
The protocol supported by the MTP transport provider on the stream conforms to ETSI ETS 300 008-1, 1993.
T_SS7_PVAR_ETSI96
The protocol supported by the MTP transport provider on the stream conforms to ETSI ETS 300 008-1, 1996.
T_SS7_PVAR_ETSI00
The protocol supported by the MTP transport provider on the stream conforms to ETSI ETS 300 008-1, 2000.
T_SS7_PVAR_ANSI88
The protocol supported by the MTP transport provider on the stream conforms to ANSI T1.111.4/1988.
T_SS7_PVAR_ANSI92
The protocol supported by the MTP transport provider on the stream conforms to ANSI T1.111.4/1992.
T_SS7_PVAR_ANSI96
The protocol supported by the MTP transport provider on the stream conforms to ANSI T1.111.4/1996.
T_SS7_PVAR_ANSI00
The protocol supported by the MTP transport provider on the stream conforms to ANSI T1.111.4/2000.
T_SS7_PVAR_JTTC94
The protocol supported by the MTP transport provider on the stream conforms to JTTC JQ.704 1994.
T_SS7_PVAR_NICC00
The protocol supported by the MTP transport provider on the stream conforms to NICC ND1005:2000/08.
T_SS7_MPLEV
This option indicates whether the MTP transport provider supports multiple levels of message priority. The option value is a t_uscalar_t that can have the value T_YES or T_NO.
T_SS7_DEBUG
This option indicates the debug settings. The option value is a t_uscalar_t representing the debug level and flags. The valid values are implementation specific.
T_SS7_PCR
This option indicates whether the MTP transport provider supports signalling links that provide Preventative Cyclic Retransmission. The option value is a t_uscalar_t that can have the value T_YES or T_NO.
T_SS7_HSL
This option indicates whether the MTP transport provider supports High-Speed Links. The option value is a t_uscalar_t that can have the value T_YES or T_NO.
T_SS7_XSN
This option indicates whether the MTP transport provider supports Extended Sequence Numbers. The option value is a t_uscalar_t that can have the value T_YES or T_NO.
T_SS7_CLUSTER
This option indicates whether the MTP transport provider supports Cluster Routing. The option value is a t_uscalar_t that can have the value T_YES or T_NO.

T_SS7_MTP

Options within this level are specific to the Message Transfer Part (MTP) yet are used by SS7 protocol levels representing MTP Users.

The options defined with the option level T_SS7_MTP are as follows:

T_MTP_SLS
This option is the Signalling Link Selection value. The option value is formatted as a t_uscalar_t. Depending on the protocol variant, the signalling link selection can have a value within the range 0 to 15, 0 to 31, or 0 to 255. Values specified outside the allowable range for a specific protocol variant will be bit masked to a valid value by the MTP provider. This option is used with t_sndudata(3) and t_sndvudata(3).
T_MTP_MP
This option is the Message Priority value. The option value is formatted as a t_uscalar_t. Depending on the protocol variant and the setting of the T_SS7_MPLEV option, the range of this value can be from 0 to 3. Values specified outside the allowable range for a specific protocol variant will be limited to a valid value by the MTP provider. The value 3 may be a priviledged value. This option is used with t_sndudata(3) and t_sndvudata(3).
T_MTP_DEBUG
This option indicates the debug settings. The option value is a t_uscalar_t representing the debug level and flags. The valid values are implementation specific. This option is used with t_optmgmt(3).
T_MTP_SRC_ADDR
This option is the source address of the sent message. The option valid is formatted as a t_mtp_addr_t. The option value is the value of the source address for the sent message. This option is used with t_sndudata(3) and t_sndvudata(3).
T_MTP_DST_ADDR
This option is the destination address of the received message. The option valid is formatted as a t_mtp_addr_t. The option value is the value of the source address for the received message. This option is used with t_rcvudata(3) and t_rcvvudata(3). When used with t_optmgmt(3), the option value is a t_uscalar_t that can take on the values T_YES or T_NO, indicating whether the option should be passed to t_rcvudata(3) and t_rcvvudata(3).

FUNCTIONS

t_accept(3)

MTP does not support connection indications. The t_accept(3) XTI/TLI call will fail, return -1, and set t_errno(3) to [TNOTSUPPORT].

t_bind(3)

For MTP conforming transport providers, the req->addr field contains an MTP-SAP address as described above under ``ADDRESS FORMAT''. If either the mtp_ni or mtp_pc components of the address are ``wildcarded'', the MTP conforming transport provider may assign a value to the ``wildcarded'' fields. If the MTP conforming transport provider completes a ``wildcarded'' field, it must return the resulting bound address in the ret->addr parameter.

MTP supports a connectionless and pseudo connection oriented mode. To bind a connectionless stream, req->qlen should be set to zero (0). To bind a pseudo connection oriented stream, req->qlen should be set to a non-zero positive integer. Because MTP does not support connection indications, on return from t_bind(3), MTP conforming transport providers will return a ret->qlen of zero (0) regardless of the setting of req->qlen.

t_close(3)

This function operates as described in t_close(3) without change.

t_connect(3)

For pseudo-connection oriented service providers, this XTI/TLI call associates the local MTP endpoint with a remote MTP endpoint to form a signalling relation. No protocol messages are exchanged and the association is a local relationship only. For connectionless service providers, this XTI/TLI call will fail, return -1 and set t_errno(3) to [TNOTSUPPORT].

t_getinfo(3)

addr
For compatability with the sockets(3) library, the MTP uses a sockaddr structured address. This size will always be the size of a sockaddr structure.
options
The maximum size of options is provider specific. The OpenSS7 MTP implementation (mtp(4)) returns the maximum size of an options structure containing all MTP options.
tsdu
The maximum size of a transport service data unit. For MTP this is the maximum size of the payload of User Part MSU. This varies depending on the protocol variant and options supported. Also, for a specific MTP provider, this value may be different depending on the limitations of underlying SS7 links. The maximum value that will be reported here for MTP is guaranteed to be less than 3094. For a typical MTP provider using narrow band SS7 links, this value will be as small as 272. For m3ua(4), or tali(4), this value could be T_INFINITE.
etsdu
MTP does not support the concept of expedited data. MTP conforming transport providers always return T_INVALID.
connect
MTP does not support the concept of connection data. MTP conforming transport providers always return T_INVALID.
discon
MTP does not support the concept of disconnection data. MTP conforming transport providers always return T_INVALID.
servtype
MTP supports a true connectionless mode and a pseudo connection-oriented mode without connection indications. MTP conforming transport providers may return T_CLTS or T_COTS. MTP conforming transport providers will not return T_COTS_ORD.
flags
MTP does not support orderly release or disconnection data. MTP conforming transport providers will not return T_ORDRELDATA or T_SNDZERO flags. MTP conforming providers may return XPG4_1.

t_listen(3)

MTP does not support connection indications. The t_listen(3) XTI/TLI call will fail, return -1, and set t_errno(3) to [TNOTSUPPORT], [TBADQLEN], [TLOOK], [TNODATA], [TOUTSTATE], [TQFULL] or [TSYSERR].

t_open(3)

MTP conforming transport providers will return in the t_info structure the same information as returned to the t_getinfo(3) library call as described above. Otherwise this function operates as described in t_open(3).

t_optmgmt(3)

MTP conforming transport providers support the options described under ``OPTIONS'', above.

t_rcvconnect(3)

MTP does not support connection indications. The t_rcvconnect(3) XTI/TLI call will fail, return -1, and set t_errno(3) to [TNOTSUPPORT].

t_rcvdis(3)

MTP does not support disconnect indications. The t_rcvdis(3) XTI/TLI call will fail, return -1, and set t_errno(3) to [TNOTSUPPORT].

t_rcv(3), t_rcvv(3)

For pseudo-connection oriented service providers, these XTI/TLI calls receive data transferred from the remote MTP peer on a connected stream. For connectionless service providers, these XTI/TLI calls will fail, return -1 and set t_errno(3) to [TNOTSUPPORT].

t_rcvreldata(3)

MTP does not support release indications. The t_rcvreldata(3) XTI/TLI call will fail, return -1, and set t_errno(3) to [TNOTSUPPORT].

t_rcvrel(3)

MTP does not support release indications. The t_rcvrel(3) XTI/TLI call will fail, return -1, and set t_errno(3) to [TNOTSUPPORT].

t_rcvudata(3), t_rcvvudata(3)

For connectionless service providers, this XTI/TLI call sends a unit data to the MTP peer with the specified options, described under ``OPTIONS'' above. For pseudo-connection oriented services providers, these XTI/TLI calls will fail, return -1 and set t_errno(3) to [TNOTSUPPORT].

t_rcvuderr(3)

MTP will return the options specified under ``OPTIONS'' , above.

MTP defines the the following protocol dependent error codes:

T_MTP_USER_PART_UNKNOWN
A previous unit data was sent to an MTP user part that was unknown to the destination node. This error is returned from the remote peer MTP provider.
T_MTP_USER_PART_UNEQUIPPED
A previous unit data was sent to an MTP user part that is unequipped at the destination node. This error is returned from the remote peer MTP provider.
T_MTP_USER_PART_UNAVAILABLE
A previous unit data was sent to an MTP user part that is known and equipped, but is currently unavailable at the destination node. This error is returned from the remote peer MTP provider.
T_MTP_DEST_AVAILABLE
A destination node that was previously unavailable is now available.
T_MTP_DEST_PROHIBITED
A previous unit data was sent to an MTP user at a destination node that is currently inaccessible. This error is returned by the local MTP provider or by a relay node in the SS7 network.
T_MTP_DEST_CONGESTED[n]
A previous unit data was sent to an MTP user at a destination node with a priority less than the current congestion level in the SS7 network toward that node. This error is returned by the local MTP provider or by a relay node in the SS7 network. This error is returned even if the previous unit data did not originate from the MTP user associated with this stream. n indicates the congestion level.
T_MTP_CLUS_AVAILABLE
A destination cluster that was previously unavailable is now available.
T_MTP_CLUS_PROHIBITED
A previous unit data was sent to an MTP user at a destination node within a cluster that is currently inaccessible. This error is returned by the local MTP provider or by a relay node in the SS7 network.
T_MTP_CLUS_CONGESTED[n]
A previous unit data was sent to an MTP user at a destination node within a cluster with a priority less than the current congestion level in the SS7 network toward that cluster. This error is returned by the local MTP provider or by a relay node in the SS7 network. This error is returned even if the previous unit data did not originate from the MTP user associated with this stream. n indicates the congestion level.
T_MTP_RESTARTED
The local MTP provider has completed restart.
T_MTP_RESTARTING
A previous unit data was sent and the MTP provider is restarting with respect to the SS7 network. This error is returned by the local MTP provider. This error is returned even if no unit data originated from the MTP user associated with this stream.

t_snddis(3)

For pseudo-connection oriented service providers, this XTI/TLI library call releases the signallling relation associated with the requesting stream. For connectionless service providers, this XTI/TLI library call fails, returns -1, and sets t_errno(3) to [TNOTSUPPORT].

t_snd(3), t_sndv(3)

For connected pseudo-connection service privders, these XTI/TLI library calls are used to send data, with or without gather, to the peer on the signalling relation.

t_sndreldata(3)

MTP does not support orderly release with data. The t_sndreldata(3) XTI/TLI call will fail, return -1, and set t_errno(3) to [TNOTSUPPORT].

t_sndrel(3)

MTP does not support orderly release. The t_sndrel(3) XTI/TLI call will fail, return -1, and set t_errno(3) to [TNOTSUPPORT].

t_sndudata(3), t_sndvudata(3)

For connectionless service providers, this XTI/TLI call sends a unit data to the MTP peer with the specified options, described under ``OPTIONS'' above. For pseudo-connection oriented services providers, these XTI/TLI calls will fail, return -1 and set t_errno(3) to [TNOTSUPPORT].

t_unbind(3)

This function operates as described in t_unbind(3).

CAVEATS

MTP does not support a true connection-oriented mode, but supports the concept of the establishment of a signalling relation between two endpoints in the SS7 network.

DEVICES

There are a number of MTP devices providing the Transport Provider Interface that provide MTP conforming TPI devices as follows:

/dev/mtp-tpi-cl, /dev/mtp-tpi-co
These devices provide connectionless and pseudo-connection oriented MTP transport providers. For more information on the SS7 MTP device, see mtp(4).
/dev/tali-mtp-tpi-cl, /dev/tali-mtp-tpi-co
These devices provide connectionless and pseudo-connection oriented MTP transport providers. For more information on the TALI MTP device, see tali(4).
/dev/m3ua-tpi-cl, /dev/m3ua-tpi-co
These devices provide connectionless and pseudo-connection oriented MTP transport providers. For more information on the SIGTRAN M3UA device, see m3ua(4).

SEE ALSO

m3ua(4), mtp(4), tali(4), sockets(3), t_errno(3), t_optmgmt(3), t_rcvudata(3), t_rcvvudata(3), t_sndudata(3), t_sndvudata(3), xnet(3), xti(3), xti_ss7(3).

COMPATIBILITY

The XTI-MTP driver is specific to the OpenSS7 SS7 Stack.

CONFORMANCE

This is an unofficial Corrigendum to XNS 5.2 Revision 2[9].

HISTORY

The XTI-MTP interface first appears in the OpenSS7 SS7 Stack.

VERSIONS

This manual page was written for the OpenSS7 SS7 Stack.

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]
ITU-T Recommendation Q.701, Functional Description of the Message Transfer Part (MTP) of Signalling System No. 7, March 1993, (Geneva), ITU, ITU-T Telecommunication Standardization Sector of ITU. (Previously "CCITT Recommendation") <http://www.itu.int/rec/T-REC-Q.701/>
[6]
draft-ietf-sigtran-rfc3332bis-05.txt, Signaling System 7 (SS7) Message Transfer Part 3 (MTP3)-User Adaptation Layer (M3UA), October 2005, Javier Pastor, ed., Internet Engineering Task Force --- Signalling Transport Working Group. Work In Progress <http://www.ietf.org/internet-drafts/draft-ietf-sigtran-rfc3332bis-05.txt>
[7]
RFC 3094, Tekelec's Transport Adapter Layer Interface, April 2001, David Sprague, ed., The Internet Society. <http://www.ietf.org/rfc/rfc3094.txt>
[8]
XTI/TLI Revision 1.0, Open Group CAE Specification: XOpen Transport Interface, Revision 1, n.d., (Berkshire, UK), XPG, X Programmer's Group. <http://www.opengroup.org/onlinepubs/>
[9]
XNS, Open Group CAE Specification: Technical Standard: Network Services (XNS), Issue 5.2, Draft 2, 1999, (Berkshire, UK), OpenGroup, Open Group Publication. [ISBN 1-85912-241-8] <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
OVERVIEW
DESCRIPTION
ADDRESS FORMAT
OPTIONS
T_SS7_SS7
T_SS7_MTP
FUNCTIONS
t_accept(3)
t_bind(3)
t_close(3)
t_connect(3)
t_getinfo(3)
t_listen(3)
t_open(3)
t_optmgmt(3)
t_rcvconnect(3)
t_rcvdis(3)
t_rcv(3), t_rcvv(3)
t_rcvreldata(3)
t_rcvrel(3)
t_rcvudata(3), t_rcvvudata(3)
t_rcvuderr(3)
t_snddis(3)
t_snd(3), t_sndv(3)
t_sndreldata(3)
t_sndrel(3)
t_sndudata(3), t_sndvudata(3)
t_unbind(3)
CAVEATS
DEVICES
SEE ALSO
COMPATIBILITY
CONFORMANCE
HISTORY
VERSIONS
REFERENCES
TRADEMARKS
IDENTIFICATION

This document was created by man2html, using the manual pages.
Time: 22:42:54 GMT, May 18, 2013
OpenSS7
SS7 for the
Common Man
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manual Page
Last modified: Sat, 01 Nov 2008 10:43:07 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.