OpenSS7
SS7 for the
Common Man
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.
Last modified: Sun, 05 Mar 2006 08:34:24 GMT
Home Top Index First Prev Next Last More Download Info FAQ Mail  Home -> Documentation -> Man Pages -> SS7 Stack -> TCAP
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

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_SS7SOCK_RDMSS7PROTO_TCAP/dev/tcap-tpi-cltpiclts
PF_SS7SOCK_SEQPACKETSS7PROTO_TCAP/dev/tcap-tpi-cotpicots

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
OpenSS7
SS7 for the
Common Man
Home Top Index First Prev Next Last More Download Info FAQ Mail  Home -> Documentation -> Man Pages -> SS7 Stack -> TCAP
Last modified: Sun, 05 Mar 2006 08:34:24 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.