N2SVCD Configuration - SigtranApp
SIGTRAN Application Configuration
The SIGTRAN Application is responsible for communication with all external SIGTRAN (SUA or M3UA) end points.
A single SIGTRAN Application is capable of connecting to multiple end nodes (e.g. two STP nodes in a redundant pair). Each remote node may have multiple (redundant) endpoints.
It should only be necessary to configure multiple SIGTRAN Application instances if you wish a single n2svcd to communicate with two separate environments - e.g. with a "Test" environment and with a "Pre-Production" environment.
Here is an SUA configuration example, operating in "connect" (client) mode.
<?xml version="1.0" encoding="utf-8"?>
<n2svcd>
...
<applications>
...
<application name="SIGTRAN" module="SigtranApp">
<include>
<lib>../apps/sigtran/lib</lib>
</include>
<parameters>
<parameter name="ossn" value="12"/>
<parameter name="ogt_digits" value="6421600000"/>
<parameter name="ogt_noa" value="4"/>
<parameter name="ogt_np" value="1"/>
<parameter name="ogt_tt" value="0"/>
</parameters>
<config>
<connections>
<connection name="peer-2057" type="sua" mode="connect" role="as">
<remote_host>10.42.2.155,10.42.3.155</remote_host>
<remote_port>14001</remote_port>
<local_host>10.42.2.100</local_host>
<local_port>15000</local_port>
</connection>
</connections>
<routes>
<route pc="2057" connection="peer-2057"/>
<route mingt="6421600000" maxgt="6421699999" connection="peer-2057"/>
</routes>
</config>
</application>
...
</application>
...
</n2svcd>
The SIGTRAN Application can also be run in a "Loopback" mode which is ideal for quick testing of TCAP/INAP functionality without requiring SCTP. A Loopback example is as follows:
<?xml version="1.0" encoding="utf-8"?>
<n2svcd>
...
<applications>
...
<application name="SIGTRAN" module="SigtranApp">
<include>
<lib>../apps/sigtran/lib</lib>
</include>
<parameters>
<parameter name="opc" value="4114"/>
<parameter name="ossn" value="10"/>
</parameters>
<config>
<connections>
<connection name="Loopback" type="loopback"/>
</connections>
<routes>
<route pc="4114" connection="Loopback"/>
</routes>
<handlers>
<handler ssn="106" application="IN Script Service"/>
</handlers>
</config>
</application>
...
</application>
...
</n2svcd>
The application
element attributes for a SIGTRAN Application instance are:
Attribute
Type
Description
name
String
[Required] A unique name for this application instance.
module
String
[Required]
SigtranApp
include.lib
String
[Required]
../apps/sigtran/lib
parameters
Array
Array of
name
= value
Parameters for this Application instance.
.correlation_id_len
Integer
The number of digits for each CorrelationID in the ID Pool.
(Default = 4).
.ori
Integer
The SCCP "Own Routing Indicator" for outbound TCAP BEGIN messages.
(Default = 1
if opc
and ossn
are specified)
(Default = 0
otherwise).
.ossn
Integer
The SCCP "Own Sub-System Number" for outbound TCAP BEGIN messages (in Decimal format).
(Range = 1-255).
.opc
Integer
The SCCP "Own Point Code" for outbound TCAP BEGIN messages.
(Range = 0-16383 ITU, 0-16777215 ANSI).
.ogt_digits
String
The SCCP "Own Global Title Digits" for outbound TCAP BEGIN messages.
.ogt_noa
Integer
The SCCP "Own Global Title Nature of Address" for outbound TCAP BEGIN messages.
(Range = 0-127).
.ogt_np
Integer
The SCCP "Own Global Title Numbering Plan" for outbound TCAP BEGIN messages.
(Range = 0-7).
.ogt_tt
Integer
The SCCP "Own Global Title Translation Type" for outbound TCAP BEGIN messages.
(Range = 0-255).
.tcap_pv
Integer
Specify
1
to enable the specification of TCAP Protocol Version to all outbound
TCAP messages which include an Application Context.
(Values = 0
or 1
, Default = 0
do not enable).
.sndrcv_buffer
Integer
Override the system default SCTP Send/Receive buffers size (in bytes).
The default SCTP buffers will likely be insufficient for sustained
load testing or high throughput. Under sustained loads, a value of
at least 1048576 bytes (or higher) is recommended.
You will very likely also need to increment the sysctl
values for
net.core.rmem_max
and net.core.wmem_max
on your platform.
This may be further over-ridden on a per-Connection bases.
(Default = Use System Socket Defaults).
.sinit_num_ostreams
Integer
Override the system default SCTP sinit_num_ostreams.
This may be further over-ridden on a per-Connection bases.
(Default = Use End-Point Default).
.sinit_max_instreams
Integer
Override the system default SCTP sinit_max_instreams.
This may be further over-ridden on a per-Connection bases.
(Default = Use End-Point Default).
.sinit_max_attempts
Integer
Override the system default SCTP sinit_max_attempts.
This may be further over-ridden on a per-Connection bases.
(Default = Use End-Point Default, typically Max.Init.Retransmit).
.sinit_max_init_timeo
Integer
Override the system default SCTP sinit_max_init_timeo.
This may be further over-ridden on a per-Connection bases.
(Default = Use End-Point Default, typically RTO.Max).
config
Object
Container for extended configuration for this Application instance.
.
connections
Array
Array of
connection
elements defining SIGTRAN communication paths.
.
routes
Array
Array of
route
elements, rules for selecting connections for outbound delivery.
.
handlers
Array
Array of
handler
elements, rules for selecting the owning Application for inbound TCAP BEGIN messages.
Own Address Parameters
Every SIGTRAN Application instance must have a configured "Own Address", even if it only uses "Loopback" connections. Specifically, it must have configured at least:
- "Own PC" (`opc`) and "Own SSN" (`ossn`), or
- "Own GT Digits" (`ogt_digits`)
It is possible that a SIGTRAN Application instance may have all three parameters defined,
although this would be unusual. If all three parameters are present, then you may wish
to explicitly define the "Own Routing Indicator" (ori
). If not specified, the ori
will default to 1
if opc
and ossn
are both present, or 0
otherwise.
If the "Own GT Digits" (ogt_digits
) are present, then ogt_noa
, ogt_np
and ogt_tt
may also be specified if required.
SIGTRAN Connections (SUA or M3UA)
Each SIGTRAN connection is defined by a connection
element within the config
.connections
Array. Multiple connection
entries may be defined. The attributes of each connection
element are as follows.
Attribute
Type
Description
name
String
[Required] A unique name for this connection.
type
String
[Required] Our SIGTRAN protocol:
sua
or m3ua
.
mode
String
Our SCTP socket mode:
connect
or listen
.
(Default = connect
).
sndrcv_buffer
Integer
Override the system/application default SCTP Send/Receive buffers size (in bytes).
See the comments on the corresponding parameter at the SIGTRAN Application level.
(Default = Use System/Application Defaults).
sinit_num_ostreams
Integer
Override the system/application default SCTP INIT sinit_num_ostreams.
See the comments on the corresponding parameter at the SIGTRAN Application level.
(Default = Use System/Application Defaults).
sinit_max_instreams
Integer
Override the system/application default SCTP INIT sinit_max_instreams.
See the comments on the corresponding parameter at the SIGTRAN Application level.
(Default = Use System/Application Defaults).
sinit_max_attempts
Integer
Override the system/application default SCTP INIT sinit_max_attempts.
See the comments on the corresponding parameter at the SIGTRAN Application level.
(Default = Use System/Application Defaults).
sinit_max_init_timeo
Integer
Override the system/application default SCTP INIT sinit_max_init_timeo.
See the comments on the corresponding parameter at the SIGTRAN Application level.
(Default = Use System/Application Defaults).
role
String
Our role in the relationship:
as
or sg
.
(Default = as
).
remote_port
Integer
IPv4 Port Number. Mandatory for SCTP mode =
connect
.
remote_addresses
String
IPv4 Host Names or A.B.C.D IPv4 Addresses. Mandatory for mode =
connect
.
May be a single address for the end-point, or a comma-separated multi-homed list.
remote_host
String
An alternative attribute name for
remote_addresses
.
local_port
Integer
IPv4 Port Number. Mandatory for SCTP mode =
listen
.
local_addresses
String
IPv4 Host Name or A.B.C.D IPv4 Address. Mandatory for mode =
listen
.
May be a single address for the end-point, or a comma-separated multi-homed list.
local_host
String
An alternative attribute name for
local_addresses
.
.
address
Object
Object defining a local SIGTRAN endpoint. See documentation below.
sg_dpc
Integer
Signalling Gateway (next-hop) Destination Point Code.
Typically required if and only if we are an AS connecting to an SG.
(Range = 0-16383 ITU, 0-16777215 ANSI).
mtp3_ni
Integer
MTP3 Network Indicator parameter.
Range 0..3, default = 2 [national]
(Applies only to
m3ua
connections).
rc
Integer
Routing Context. Required only if the far end is not configured to supply it.
In general, the RC is not required when connecting to an SG. It is typically
required when we are acting as an SG in a direct connection to OCNCC.
SIGTRAN Connections (Loopback)
In some testing scenarios, you may wish to connect the Test Application
directly to the local Script Application. In such cases you can use configure
SIGTRAN with a loopback
connection. All messages routed to this SCCP connection
will be returned back into the service daemon.
Attribute
Type
Description
name
String
[Required] A unique name for this connection.
type
String
[Required]
loopback
SIGTRAN Routes
Routing rules define which connection is used to delivery any given message.
Each route
Object in the config
.routes
Array is configured as follows.
Attribute
Type
Description
connection
String
[Required] The name of the Connection to deliver matching messages.
pc
Integer
A single Point Code to route.
(Range = 0-16383 ITU, 0-16777215 ANSI).
minpc
Integer
Start (inclusive) of a Point Code range to route.
(Range = 0-16383 ITU, 0-16777215 ANSI).
maxpc
Integer
End (inclusive) of a Point Code range to route.
(Range = 0-16383 ITU, 0-16777215 ANSI).
gt
String
A single Global Title to route.
mingt
String
Start (inclusive) of a Global Title range to route.
maxgt
String
End (inclusive) of a Global Title range to route.
Specify exactly one of pc
OR minpc
/maxpc
OR gt
OR mingt
/maxgt
.
Point Code ranges are a numeric range. Global Title ranges are checked by
string comparison.
You may have any number of routing rules pointing to a connection. In the case of overlapping routing rules, the first matching rule in the list will be used.
SIGTRAN Handlers
Handler rules define which application is used to process an inbound TCAP BEGIN.
Each handler
Object in the config
.handlers
Array is configured as follows.
Attribute
Type
Description
ssn
Integer
The local SSN to which the TCAP BEGIN was directed.
(Default = Match all SSN)
application
String
The name of the application which should process matching TCAP BEGIN operations.
This will normally refer to a ScriptApp instance.
The handlers will be checked in order, and the first matching handler will be used.