Tester JSON - ExecuteTest
The ExecuteTest method supports the primary function of the N2SVCD Tester
Application. Strictly speaking, this method should perhaps be called
"ExecuteTestRun".
A "Test Run" is a single "Test Definition" being executed once (for a single test) or multiple times (for a load test). When a Test Definition is performed more than once within a Test Run, only the results of the first Test Instance in the Test Run is reported in detail.
Note: The term "Test Instance" is used to refer to a complete execution of the operations described in the Test Definition. In theory a Test Run might use the "inap.ssp_to_scp.InitialDP" operation more than once within its Test Definition. This would mean that a single Test Instance would actually initiate multiple "Telephony Calls" across multiple TCAP dialogs.
Request Parameters
The ExecuteTest basic run control and tracing parameters are:
Parameter
Type
Description
run_id
String
[Required] A unique identifier for this Test Run.
operations
Array
[Required] List of Test Operations to perform.
Test Operations are detailed separately, in the "Test Internals" section of the "IN Tester User Guide".
vars
Object
Pre-declare and initialise variables at the start of the call.
Variables are detailed separately, in the "Test Internals" section of the "IN Tester User Guide".
trace_messages
Integer
0 (no) or 1 (yes).
Should this Test Run document inbound/outbound message content for the first Test Instance?
(Default = 0, No Message Tracing)
trace_level
Integer
0 (no), 1 (debug), 2 (dump) or 3 (spam).
Should this Test Run document internal "debug" tracing for the first Test Instance?
(Default = 0, No Internal Tracing)
turbo
Integer
0 (no) or 1 (yes).
Should this Test Run disable fail/abort checking for subsequent instances when load testing?
(Default = 0, No Turbo)
inap
Object
Provides additional information related to the INAP Encode/Decode process.
.
extensions
Object
Defines the encoding format for INAP extension fields.
Note: Enabling turbo will increase the maximum Test Instances rate for load
testing, but subsequent Test Instance fail reasons will not be recorded.
The parameters related to the selection of outbound protocol gateways are:
Attribute
Type
Description
sigtran
String
Name of the OCNCC SIGTRAN Application Instance to use for TCAP delivery (if relevant
to this Test Definition).
pi
String
Name of the OCNCC PI Application Instance to use for PI requests (if relevant
to this Test Definition).
osd
String
Name of the OCNCC OSD Application Instance to use for OSD requests (if
relevant to this Test Definition).
diameter
String
Name of the Diameter Application Instance to use for Diameter requests (if
relevant to this Test Definition).
db_smf
String
Name of the DB Application Instance to use for OCNCC SMF DB requests (if
relevant to this Test Definition).
The parameters related to load testing are:
Attribute
Type
Description
distribution
Object
Structure describing the Test Instance load distribution to execute.
.
type
String
single (one instance), load (bounded by backlog) or linear (bounded by
rate and backlog).
.
total
Integer
Total number of Test Instances to execute.
Not used for type = single.
.
backlog
Integer
Maximum backlog of Test Instances in progress.
Not used for type = single.
.
cps
Object
Target rate of Test Instances started per second.
Used only for type = linear.
The parameters related to INAP SSF and SRF functions are:
Attribute
Type
Description
ssp_ac
String
Identifies the Application Context (if any) to include in an outbound InitialDP.
Specify a hard-coded alias (cs1, etsi, camel3 or camel2) or:
Specify a hex string e.g 04000101010003 (0.4.0.1.1.1.0.3 = itu-t.4.0.1.1.1.0.3)
(Default = [none], No Application Context)
scp
Object
Structure describing test target SCP address (if relevant to this Test
Definition).
.
dri
Integer
The SCCP "Destination Routing Indicator" for TCAP BEGIN messages to the SCP.
(Default = 1 if dpc and dssn are specified)
(Default = 0 otherwise).
.
dssn
Integer
The SCCP "Destination Sub-System Number" for TCAP BEGIN messages to the SCP.
(Range = 1-255).
.
dpc
Integer
The SCCP "Destination Point Code" for TCAP BEGIN messages to the SCP.
(Range = 24-bits or 14-bits).
.
dgt_digits
String
The SCCP "Destination Global Title Digits" for TCAP BEGIN messages to the SCP.
.
dgt_noa
Integer
The SCCP "Destination Global Title Nature of Address" for TCAP BEGIN messages to the SCP.
(Range = 0-127).
.
dgt_np
Integer
The SCCP "Destination Global Title Numbering Plan" for TCAP BEGIN messages to the SCP.
(Range = 0-7).
.
dgt_tt
Integer
The SCCP "Destination Global Title Translation Type" for TCAP BEGIN messages to the SCP.
(Range = 0-255).
The definition of INAP extensions is an Object mapping extension numbers to types:
Attribute
Type
Description
[Number]
String
OCTET STRING or INTEGER.
Specifies what encoding applies to extensions with the given index.
See the following example for a sample inap.extensions attribute.
Example Request
Here is an example ExecuteTest request which represents a simple INAP
call scenarios:
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "ExecuteTest",
"params" : {
"run_id" : "tr_9538",
"trace_messages" : 1,
"trace_level" : "0",
"distribution" : {
"type" : "single"
},
"inap": {
"extensions": {
"400": "OCTET STRING",
"401": "OCTET STRING"
}
},
"vars": {
"suffix": "999001",
"cli": { "type": "digits", "min": "414511860", "max": "414511893" }
},
"operations" : [
{
"type" : "inap.ssp_to_scp.InitialDP",
"arguments" : {
"serviceKey" : 45,
"eventTypeBCSM" : 3,
"callingPartyNumber_digits" : "414511860",
"callingPartyNumber_noa" : 3,
"calledPartyNumber_noa" : 2,
"calledPartyNumber_digits" : "01545000000091",
"callingPartysCategory_hex" : "f7"
}
},
{
"type": "inap.ssp_from_scp.ReleaseCall",
"arguments" : {
"initialCallSegment_cause": "31"
}
},
],
"pi" : "PIApp1",
"sigtran" : "SIGTRAN-Model",
"ssp_ac" : "camel3",
"scp" : {
"dssn" : 106,
"dpc" : 4114
}
}
}
Note: A number of the attributes included here (such as the pi, inap.extensions and vars parameters)
are shown here for an example, but are not used in the call.
Successful Response
The ExecuteTest result is always a string ok in the success case.
Example Successful Response
Here is a possible successful ExecuteTest response.
{
"jsonrpc" : "2.0",
"id" : "1",
"result" : "ok"
}