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"
}