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
MTP
does not support connection indications. The
t_accept(3)
XTI/TLI call will fail, return -1, and set
t_errno(3)
to
[TNOTSUPPORT].
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.
This function operates as described in
t_close(3)
without change.
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].
- 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.
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].
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).
MTP conforming transport providers support the options described under
``OPTIONS'',
above.
MTP
does not support connection indications. The
t_rcvconnect(3)
XTI/TLI call will fail, return -1, and set
t_errno(3)
to
[TNOTSUPPORT].
MTP
does not support disconnect indications. The
t_rcvdis(3)
XTI/TLI call will fail, return -1, and set
t_errno(3)
to
[TNOTSUPPORT].
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].
MTP
does not support release indications. The
t_rcvreldata(3)
XTI/TLI call will fail, return -1, and set
t_errno(3)
to
[TNOTSUPPORT].
MTP
does not support release indications. The
t_rcvrel(3)
XTI/TLI call will fail, return -1, and set
t_errno(3)
to
[TNOTSUPPORT].
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].
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.
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].
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.
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].
MTP
does not support orderly release. The
t_sndrel(3)
XTI/TLI call will fail, return -1, and set
t_errno(3)
to
[TNOTSUPPORT].
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].
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