| Transfer Capabilities Application Part (TCAP) Description: OpenSS7 Project Manual Pages SS7 Stack
TCAP
Section: The OpenSS7 Project Devices (4) Updated: Tue, 18 Nov 2008 11:03:54 GMT Index
Return to Main Contents
NAME
TCAP
- SS7 Transaction Capabilities Application Part (TCAP)
SYNOPSIS
#include <ss7/tcapi.h>
#include <ss7/tcapi_ioctl.h>
-
int tcap_stream = open(device, flags);
#include <xti_tcap.h>
-
int tcap_xtistr = t_open(device, flags);
#include <sys/socket.h>
#include <netss7/tcap.h>
-
int tcap_socket = socket(PF_SS7, socket_type, SS7PROTO_TCAP);
DESCRIPTION
TCAP
is an implementation of the Signalling System No. 7 (SS7) Transaction
Capabilities Application Part (TCAP) defined in ITU-T Recommendation Q.771 to
Q.775[1..5],
ETSI TCAP Version 1 and 2[6, 7],
and
ANSI T1.114[8].
TCAP
provides reliable sequenced or unsequenced delivery of packets over a
connectionless transport between two
TCAP
endpoints.
TCAP
provides stong assurances that the data arrives in order on a Stream, if
requested, and maintains sequencing of packets in the face of most network
failures.
TCAP
is the roughly the equivalent of a remote procedure call for SS7 and is based
closely on the Remote Operations Service Execution (ROSE) X.219[9].
Unlike ROSE, which uses a connection-mode transport provider,
TCAP
uses the connectionless mode network services of the Signalling Connection
Control Part (see
sccp(4))
or SCCP User Adaptation Layer (see
sua(4))
to transfer packets.
TCAP
is implemented as a
STREAMS(4)
multiplexing driver.
sccp(4), sua(4)
or other compatible network provider Streams are bound and linked under the
TCAP
multiplexing driver using the
I_LINK or I_PLINK
commands of
streamio(7).
These linked Streams provide network services to
TCAP.
Once linked, the Streams must be configured using
tcap_ioctl(4).
Device Names
TCAP
provides the following Stream types. To select one of these Stream types,
device
can be one of the following:
- /dev/tcap, /dev/tcap-tci, /dev/tcap-tri
- These devices provide the
TCAP
protocol services interface using the TC-primitives of the Transaction
Component Interface (TCI)[10]
described in
tci(7),
or using the TR-primtiive of the Transaction Interface (TRI)[11]
described in
tri(7).
The service interfaces provided on a Stream opening these devices is suitable
for use with other SS7 modules and drivers.
-
-
/dev/tcap-tci
provides the
TCAP
protocol services interface using the TC-primitives of the Transaction
Component Interface (TCI)[10]
described in
tci(7).
-
/dev/tcap-tri
provides the
TCAP
protocol services interface using the TR-primitives of the Transaction
Interface (TRI)[11]
described in
tri(7).
/dev/tcap-tpi-cl, /dev/tcap-tpi-co
These device provides the
TCAP
protocol service interface using the T-primitives of the Transport Provider
Interface (TPI)[12]
described in
tpi(7) and tpi_tcap(7).
The service interface provided on a Stream opening this device is suitable for
use with the
xnet(3)
or
xti(3)
library
t_open(3)
call and provides the
TCAP
interface using XTI as described in
xti_tcap(3).
-
-
/dev/tcap-tpi-co
provides a connection-oriented
T_COTS
transport service provider supporting operations classes 1, 2 and 3;
/dev/tcap-tpi-cl
provides a connectionless
T_CLTS
transport service provider supporting operations class 4.
-
/dev/tcap-tpi-cl
provides a connectionless
T_CLTS
transport service provider supporting operation class 1;
/dev/tcap-tpi-co
provides a connection-oriented
T_COTS
transport service provider supporting operation class 2, 3 and 4.
Socket Types
TCAP
provides two socket types used by the
sockets(3)
library
socket(3)
call.
TCAP
provides sockets in the protocol family
PF_SS7
using the protocol number
SS7PROTO_TCAP.
The
socket_type
argument can be one of the following:
- SOCK_DGRAM
- Provides a connectionless datagram service without regard to order. This is a
TCAP
operations class 4 service provider.
This socket uses the underlying
/dev/tcap-tpi-cl
transport service providers supporting operations class 4.
- SOCK_SEQPACKET
- Provides a connection oriented reliable packet service with or without
receipt confirmation and flow control. This is a
TCAP
operation class 1, 2 or 3 service provider.
This socket uses the underlying
/dev/tcap-tpi-co
transport service provider supporting operations class 1, 2 or 3.
The following entries in /etc/protosw provides the information necesary for
socksys(4)
to use these devices:
PF_SS7 | SOCK_RDM | SS7PROTO_TCAP | /dev/tcap-tpi-cl | tpi | clts
|
PF_SS7 | SOCK_SEQPACKET | SS7PROTO_TCAP | /dev/tcap-tpi-co | tpi | cots
|
For additional information, see
socksys(4)
and
protosw(5).
USAGE
The
SCCP
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 ot make other system calls on the open
TCAP
Stream.
Each
TCAP
Stream provides a service primitive interface that implements the TCAP 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
tcap_ioctl(4)
can be used to manage the Stream and the TCAP provider.
CONFIGURATION
When the TCAP driver is configured, SCCP Streams are opened and linked under
the multiplexing driver. Each SCCP Stream represents a connection between a
local TCAP Entity and remote peer TCAP Entities. Input-output controls are
used to configure each lower multiplex Stream. SCCP Streams must be bound for
connectionless operation before being linked, however, until they are
configured, incoming transactions will be aborted.
Once configured, TCAP User Streams can be opened on the upper multiplex.
These TCAP User Streams are not associated with a TCAP Entity until they are
bound. When the
TC_BIND_REQ(7)
primitive is issued, the address contained in the request is a TCAP address.
A TCAP address consists of an SCCP address or TCAP Entity identifier, and an
Application Context. This information is sufficient for the TCAP driver to
determine the TCAP Entity with which to associate the TCAP User Stream and to
bind the TCAP User to an Application Context.
Configuration is performed using the TCAP driver configuration utility. This
utility reads a configuration file used to define the objects necessary for
configuration. The configuration file contains entries that define the SCCP
provider and TCAP Entity relationships as follows:
<teid> <variant> <version> <options> <sap>
- teid
- An integer number, assigned locally, from 1 to 31, identifying the TCAP
entity, or a Object Identifier (OID) used to globally identify the the TCAP
entity application. A global OID is the portion of the Application Context
that identifies the overall Application, in numbers and dots notation. When
both the integer and OID TCAP Entity identifiers are specified, they are
separated by a comma
(,)
with no intervening whitespace.
- variant
- Specifies the variant of the TCAP protocol supported by the TCAP Entity.
The protocol variant can be a single dash
(-),
specifying that the default should be used, or one of the following text
strings:
-
- itut
- ITU-T protocol variant: ITU-T recommendation Q.771 to Q.775[1..5].
- etsi
- ETSI protocol variant: TCAP Version 1 or 2[6, 7].
- ansi
- ANSI protocol variant: ANSI T1.114[8].
- jttc
- TTC protocol variant: JQ.771 to JQ.775.
- chin
- Chinese protocol variant.
- sing
- Singapore protocol variant.
- span
- Spain protocol variant.
- version
- Specifies the version of the TCAP protocol supported by the TCAP Entity. The
protocol version can be a single dash
(-),
specifying that the default should be used, or a decimal number indicating the
year of the specification.
- options
- Specifies the options for the TCAP protocol supported by the TCAP Entity. The
protocol options can be a single dash
(-),
specifying that no protocol options are specified, or one, or a comma
(,)
separated list (with no intervening whitespace) of more than one of the
following option strings:
-
- mplev
- MTP supports multiple priority levels.
- pcr
- MTP supports Preventative Cyclic Retransmission.
- hsl
- MTP supports High-Speed Links.
- xsn
- MTP supports extended sequence numbers.
- nopr
- MTP supports alignment of signalling links without proving.
- tfr
- MTP supports the Transfer Restricted procedures.
- tfrb
- MTP supports the Transfer Restricted procedures (broadcast).
- tfrr
- MTP supports the Transfer Restricted procedures (responsive).
- mcsta
- MTP supports multiple congestion states.
- sap
- Specifies the SCCP SAP (Service Access Points) associated with the TCAP
Entity. The SCCP SAP can be a single dash
(-),
specifying that the default SCCP SAPs for the Application OID should be used,
or a comma
(,)
separated list of SCCP SAP specifications. A single SCCP SAP specification
consists of a non-GT SCCP address specification which consists of an SS7 point
code and subsystem number in numbers and dots notation,
-
[A.]N.C.M.S[,[A.]N.C.M.S]*
where the fields are defined as follows:
- A
- Optionally specifies the network appearance that defines the protocol variant,
network indicator, form of the SS7 signalling point code, and interpretation of
the subsystem number. When this field is not included, the default protocol
variant and network indicator will be used. When included, this field can be
one of the values configured against the Message Transfer Part (see
mtp(4)).
- N
- Specifies the network number portion of the SS7 signalling point code as a
decimal, octal, or hexidecimal number in shell notation. (This can be a 4-bit
(0-15) or 8-bit (0-255) field depending upon the protocol variant.)
- C
- Specifies the cluster number portion of the SS7 signalling point code as a
decimal, octal, or hexidecimal number in shell notation. (This can be a 6-bit
(0-63) or 8-bit (0-255) field depending upon the protocol variant.)
- M
- Specifies the member number portion of the SS7 signalling point code as a
decimal, octal, or hexidecimal number in shell notation. (This can be a 4-bit
(0-15) or 8-bit (0-255) field depending upon the protocol variant.)
- S
- Specifes the SCCP subsystem number as a decimal, octal, or hexidecimal number
in shell notation.
The configuration utility reads this configuration file and performs the
following steps for each entry in the #_unknown"right"/>
2.
The utility creates a new TCAP Entity or alters an existing TCAP Entity as
specified by the
teid
field and fills out the protocol variant, version and options information
associated with the TCAP Entity.
The
TCAP_IOCSCONFIG
tcap_ioctl(4)
command for the
TCAP_OBJ_TYPE_TE
object
is used.
3.
For each
sap
entry, the utility creates a new SCCP SAP object or alters an existing SCCP
SAP object and associates it with the TCAP entity using the
TCAP_IOCSCONFIG
tcap_ioctl(4)
command for the
TCAP_OBJ_TYPE_SP
object.
The SCCP SAP is assigned the SS7 signalling point code and Subsystem Number
specified in the configuration file field.
4.
For each
sap
entry, the utility opens an SCCP Stream by opening the
/dev/sccp
device and links the SCCP Stream under the TCAP multiplexing driver using the
I_PLINK(7)
streamio(7)
input-output control.
The utility can optionally bind the SCCP Stream to the SCCP SAP before
linking. When bound in advance, the linking operation discovers the allocated
SCCP SAP object and associates the SCCP Stream with the SCCP SAP.
5.
When the SCCP Stream is not bound before linking, the utility associates the
SCCP Stream with an SCCP SAP using the
TCAP_IOCSCONFIG
tcap_ioctl(4)
command for the
TCAP_OBJ_TYPE_SC
object.
6.
The TCAP Entity configuraiton is complete and the next line of the
configuration file is processed by the configuration utility starting at Step 2.
NOTICES
Note that, although the SCCP normally supports binding of SCCP SAPs that
include a restrictive global title range, the TCAP device configuration
utility only supports binding of SCCP Streams to entire subsystems.
Note also that the protocol variant for the TCAP Entity, as described in the
variant, version and options
fields, can be different from the protocol variant used for the
SCCP SAP in the
sap
field. This is to support the widespread practice in North America for
transporting ETSI TCAP over ANSI SCCP.
IOCTLS
All interfaces support a set of management IO controls using
ioctl(2s)
system calls on the
tcap_stream, tcap_xtistr or tcap_socket
file descriptor or socket. These management controls are documented in
tcap_ioctl(4).
SEE ALSO
getpmsg(2s),
ioctl(2s),
I_PLINK(7),
mtp(4),
open(2s),
protosw(5),
putpmsg(2s),
sccp(4),
socket(3),
sockets(3),
socksys(4),
specfs(5),
streamio(7),
STREAMS(4),
sua(4),
tcap_ioctl(4),
tcap_ioctl(7),
TC_BIND_REQ(7),
tci(7),
t_open(3),
tpi(7),
tpi_tcap(7),
tri(7),
xnet(3),
xti(3),
xti_tcap(3).
FILES
<ss7/tcapi.h>,
<ss7/tcapi_ioctl.h>,
<sys/tpi_tcap.h>,
<xti_tcap.h>,
<netss7/tcap.h>.
DEVICES
-
/dev/tcap,
/dev/tcap-tci.
These device names are two names for the same device. The device provides a
clone or auto-clone Stream providing the TCI interface, not associated with a
TCAP Entity.
This device can also be opened using the
specfs(5)
entry,
/dev/streams/tcap/tc.
Additional
specfs(5)
device entries,
/dev/streams/tcap/tc01 through /dev/streams/tcap/tc31,
may be opened to obtain a Stream associated with TCAP Entities 1 through 31,
depending on the minor device number.
-
/dev/tcap-tri.
This device provides an auto-clone Stream providing the TRI interface, not
assocaited witha TCAP Entity.
This device can also be opened using the
specfs(5)
entry,
/dev/streams/tcap/tr.
Additional
specfs(5)
device entries,
/dev/streams/tcap/tr01 through /dev/streams/tcap/tr31,
may be opened to obtain a Stream associated with TCAP Entities 1 through 31,
depending on the minor device number.
-
/dev/tcap-tpi-cl,
/dev/tcap-tpi-co.
These devices provide an auto-clone Stream providing the TPI T_CLTS or T_COTS
interface, not associated with TCAP Entity.
These devices can also be opened using the
specfs(5)
entry,
/dev/streams/tcap/tpcl or /dev/streams/tcap/tpco.
Additional
specfs(5)
device entries,
/dev/streams/tcap/tpcl01 through /dev/streams/tcap/tpcl31, and /dev/streams/tcap/tpco01 through /dev/streams/tcap/tpco31,
may be opened to obtain a Stream associated with TCAP Entities 1 through 31,
depending on the minor device number.
-
/dev/tcap-mgmt.
This device provides an auto-clone Stream providing the management interface,
not associated with a TCAP Entity.
This device can also be opened using the
specfs(5)
entry,
/dev/streams/tcap/lm.
VERSIONS
The
TCI
and
TRI
interfaces are specific to the
OpenSS7
SS7 stack.
- *
- TCI interfaces are consistent with TCI Revision 0.9.2[10].
- *
- TRI interfaces are consistent with TRI Revision 0.9.2[11].
- *
- XTI interfaces are consistent with XNS 5.2 Revision 2[13].
- *
- TPI interfaces are consistent with TPI Revision 2.0.0, Draft 2[12].
REFERENCES
- [1]
- ITU-T Recommendation Q.771,
Signalling System No. 7 --- Functional Description of Transaction Capabilities, March 1993, (Geneva), ITU, ITU-T Telecommunication Standardization Sector of ITU.
(Previously "CCITT Recommendation")
<http://www.itu.int/rec/T-REC-Q.771/>
- [2]
- ITU-T Recommendation Q.772,
Signalling System No. 7 --- Transaction Capabilities Information Element Definitions, March 1993, (Geneva), ITU, ITU-T Telecommunication Standardization Sector of ITU.
(Previously "CCITT Recommendation")
<http://www.itu.int/rec/T-REC-Q.772/>
- [3]
- ITU-T Recommendation Q.773,
Signalling System No. 7 --- Transaction Capabilities Formats and Encoding, March 1993, (Geneva), ITU, ITU-T Telecommunication Standardization Sector of ITU.
(Previously "CCITT Recommendation")
<http://www.itu.int/rec/T-REC-Q.773/>
- [4]
- ITU-T Recommendation Q.774,
Signalling System No. 7 --- Transaction Capabilities Procedures, March 1993, (Geneva), ITU, ITU-T Telecommunication Standardization Sector of ITU.
(Previously "CCITT Recommendation")
<http://www.itu.int/rec/T-REC-Q.774/>
- [5]
- ITU-T Recommendation Q.775,
Signalling System No. 7 --- Guidelines for Using Transaction Capabilities, March 1993, (Geneva), ITU, ITU-T Telecommunication Standardization Sector of ITU.
(Previously "CCITT Recommendation")
<http://www.itu.int/rec/T-REC-Q.775/>
- [6]
- ETSI ETS 300 134,
Integrated Services Digital Network (ISDN); CCITT Signalling System No. 7; Transaction Capabilities Application Part (TCAP), TCAP Version 1, December 1992, (Sophia Antipolis, Valbonne), ETSI, European Telecommunications Standards Institute.
[T/S 43-05]
(ITU-T Recommendations Q.771 to Q.775 (1988) modified)
<http://www.etsi.org/>
- [7]
- ETSI ETS 300 287,
Integrated Services Digital Network (ISDN); Signalling System No. 7 (SS7); Transaction Capabilities Application Part (TCAP), TCAP Version 2, 1993, (Sophia Antipolis, Valbonne), ETSI, European Telecommunications Standards Institute.
[RE/SPS-02003]
(ITU-T Rcommendations Q.771 to Q.775 (1993) modified)
<http://www.etsi.org/>
- [8]
- ANSI T1.114,
Signalling System No. 7 --- Transaction Capabilities Application Part, 1992, ANSI, American National Standards Institute.
- [9]
- ITU-T Recommendation X.219 [ISO/IEC 9072-1],
Information processing systems --- Text Communication, Remote Operations: Model, Notation and Service Definition, n.d., (Geneva), ITU, ITU-T Telecommunication Standardization Sector of ITU, International Organization for Standardization.
(Previously "CCITT Recommendation")
<http://www.itu.int/rec/T-REC-X.219/>
- [10]
- TCI,
Transaction Component Interface (TCI) Specification, Revision 0.9.2, Draft 2, July 15, 2007, (Edmonton, Alberta), TheOpenSS7Project, OpenSS7Corporation.
Distributed with package strss7-0.9.2.
<http://www.openss7.org/docs/tci.pdf>
- [11]
- TRI,
Transaction Interface (TRI) Specification, Revision 0.9.2, Draft 2, July 15, 2007, (Edmonton, Alberta), TheOpenSS7Project, OpenSS7Corporation.
Distributed with package strss7-0.9.2.
<http://www.openss7.org/docs/tri.pdf>
- [12]
- 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/>
- [13]
- 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
-
The OpenSS7 Project: Package OpenSS7 version 0.9.2 released Tue, 18 Nov 2008 11:03:54 GMT.
Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
(See roff source for permission notice.)
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- Device Names
- Socket Types
- USAGE
- CONFIGURATION
- NOTICES
- IOCTLS
- SEE ALSO
- FILES
- DEVICES
- VERSIONS
- REFERENCES
- TRADEMARKS
- IDENTIFICATION
This document was created by
man2html,
using the manual pages.
Time: 11:03:51 GMT, November 18, 2008
|