About the ITU TCAP Simulator
The unified CGIN resource adaptor includes a simulated International Telecommunications Union (ITU) standard Transaction Capabilities Application Part (TCAP) stack that can be used for testing without the need for a full TCAP stack environment.
It’s a
simulator …
The simulator includes most of the behaviour of a real SS7 network, but it is not necessarily identical. For example, it may only communicate with other instances of the simulated ITU TCAP stack. |
How does it work?
Each ITU TCAP simulator instance (resource adaptor entity or Scenario Simulator) connects to other ITU TCAP simulator instances using a subset of SUA over a proprietory TCP-based protocol.
The simulator is configured with one or more TCP/IP network addresses to connect to, plus an address to listen on. PC/SSN routing is configured automatically using standard SUA dynamic routing configuration.
A single pointcode/subsystem number pair may be routed to more than one simulator instance, allowing for operation within a Rhino cluster. The following diagram shows a simple 2-node Rhino cluster loaded with an ITU TCAP simulator resource adaptor entity connecting to the Scenario Simulator.
Configuring the Simulator
You configure the CGIN RA frontend for the Simulated ITU TCAP stack by managing resource adaptor entity properties.
You can manage the CGIN RA configuration the same as you would any other resource adaptor entity configuration — for example, using rhino-console’s createraentity
command.
The Simulated TCAP Stack is included with the CGIN Connectivity Pack. When you unpack the CGIN Connectivity archive, the Simulated TCAP stack will be in the cgin-unified-ra deployable unit, in the du directory. |
Below are details of the following parameters you can set, and an example.
Properties for configuring the Simulator
Click for details of the following parameters.
Parameter | Description | Format | Requirements/Options |
---|---|---|---|
|
mandatory |
||
addresses to listen on |
comma-separated list, in format |
mandatory |
|
remote addresses to connect to |
comma-separated list, in format |
mandatory |
|
SCTP implementation to use |
|
1 option: |
|
global title translation table |
|
mandatory |
|
maximum simultaneously active dialogs |
|
optional |
|
local SCCP address |
|
mandatory |
|
default activity timeout |
|
||
maximum number of worker threads |
|
optional |
tcapsim.listen-addresses
This property is a comma-separated list of <host>:<port>
values.
Optionally, a host:port value may be prefixed by <nodeID>,<nodeID>,…
to have that address be applied on the given nodes only.
For example, the value:
{101}host1:1234,{102}host1:1235
causes node 101
to listen on host1:1234
, and node 102
to listen on host1:1235
.
To listen on all available network interfaces, use a <host>
of 0.0.0.0
The <nodeID>
parameter is only required if multiple Rhino nodes are running on a single host. When this parameter is specified, an RA entity will only create a listening socket on the specified host and port if the node that the entity is running on is equal to <nodeID>
.
tcapsim.remote-addresses
This property is a comma-separated list of <host>:<port>
values.
Optionally, a host:port value may be prefixed by <nodeID>,<nodeID>,…
to have that address be applied on the given nodes only.
For example, the value:
{101}host1:1234,{102}host1:1235
causes node 101 to connect to host1:1234
, and node 102
to connect to host1:1235
.
It is unlikely that the <nodeID>
parameter will be required as generally every node in a cluster should make connections to the same remote endpoints.
tcapsim.sctp-stack
This property controls the SCTP implementation used by the SUA stack. Currently the only option is tcp
.
tcp
is a proprietary SCTP-ish protocol running over TCP. This is used as Java 1.6 and earlier do not support the use of native SCTP.
tcapsim.gt-table
This parameter is the full path to the file containing the global title translation table.
The ITU TCAP Simulator includes basic Global Title Translation support. Global titles can be mapped to a PC/SSN for routing according to the routing table. The format of the global title translation table is as follows:
# GTI=1 # 1 AddressType Address PC SSN NatureOfAddress # 2 AddressType Address PC SSN TranslationType # 3 AddressType Address PC SSN TranslationType NumberingPlan # 4 AddressType Address PC SSN TranslationType NumberingPlan NatureOfAddress # # A match will only be returned if the leading digits of the address and all other parameters # match the rule. In the case of multiple matching rules, the rule with the most address # digits matching will be returned (I.e. most significant address match). # # Examples: # 1 C7 123456 2 221 1 # 1 C7 1234 2 221 1 # 2 C7 98131 1 232 122 # 3 A7 12345 1-1-1 221 42 1 # 4 C7 8193129 4 200 89 1 1 ## Rhino nodes at GT=123456* routed to PC=1, SSN=221 1 C7 123456 1 221 1 ## Scenario simulator at GT=1234560002 routed to PC=2, SSN=222 1 C7 1234560002 2 222 1
tcapsim.max-dialogs
The maximum number of dialogs that may be active simultaneously. This may be any positive 32-bit integer value. The default is 10000
.
local-sccp-address
Provides a local calling party SCCP address to use for outgoing TC-BEGIN messages, if not explicitly provided by the SBB. The address should be formatted in the format that com.opencloud.slee.resources.cgin.SccpAddressParser
expects. This parameter is mandatory.
This address is also the address used in dynamic routing configuration; it is the address this node advertises to another node when connecting to it.
See SCCP Address Format in the CGIN Installation and Administration Guide. |
default-activity-timeout
Configures the default timeout, in milliseconds, for tcapsim dialog activities. Each dialog has an activity timer associated with it. If no activity is seen on the dialog before the timer expires the dialog will be aborted and the associated SLEE activity ended. Sending or receiving messages on the dialog will reset this timer.
This is not to be confused with invoke timeouts, which apply to individual operations sent on a dialog.
Sample configuration
For example, the diagram in About the ITU TCAP Simulator shows a configuration with the following properties:
Node 101 and Node 102:
stack=tcapsim local-sccp-address="type=c7,ri=pcssn,pc=1,ssn=221" tcapsim.gt-table=/home/user/rhino/rhino/cgin/gtt.txt tcapsim.listen-addresses="{101}0.0.0.0:10221,{102}0.0.0.0:10231" tcapsim.remote-addresses="127.0.0.1:10222" tcapsim.max-dialogs=60000 default-activity-timeout=300
Scenario Simulator:
stack=tcapsim local-sccp-address="type=c7,ri=pcssn,pc=2,ssn=222" tcapsim.gt-table=/home/user/rhino/rhino/cgin/gtt.txt tcapsim.listen-addresses="127.0.0.1:10222" tcapsim.remote-addresses="127.0.0.1:10221,127.0.0.1:10231"
Running the Simulator
Create and start resource adaptor entities
To run the ITU TCAP simulator:
1 |
Create and start all resource adaptor entities required to create the mesh. |
||
---|---|---|---|
2 |
Ensure that all simulators have completely created their connections before trying to use them.
|
||
3 |
Use the simulated ITU TCAP stack just as you would normally use the CGIN unified resource adaptor.
|
Starting the simulated ITU TCAP stack with other tools
To start the simulated ITU TCAP stack, the ITU TCAP simulator just needs the ITU TCAP simulator resource adaptor entity parameters. You can use any tools that work to:
1 |
Create a properties file with the required simulated ITU TCAP properties. |
---|---|
2 |
Pass this file to the |
For more information, see the Scenario Simulator User Guide. For example Appendix A. Full Command Listing documents the following command: "create-local-endpoint": Creates (or re-creates) a local endpoint using the address of the given endpoint Usage: create-local-endpoint <endpoint-name> <protocol-adaptor-type> [-propsfile properties-file] -propsfile - Configuration properties for the endpoint Example: create-local-endpoint theSwitch cgin -propsfile config/cgin.properties |