PI Op - Send & Receive

Overview

The PI operation represents the sending of an NCC Provisioning Interface (PI) request, and the receipt and processing of the associated response. The NCC PI interface is sent via the MML protocol. The SOAP variant of the PI protocol is not currently supported.

Note that in order to use this operation, the following pre-requisite configuration is required:

  1. At least one PIApp Application Instance must be configured within the N2SVCD Service Daemon.
  2. The ExecuteTest JSON-RPC method request must specify the pi top-level attribute as the name of a configured PIApp Application Instance.

Refer to the IN Tester Technical Guide for information on configuring PIApp Application Instances, and on using the ExecuteTest JSON-RPC method.

Note that the test instance processing will be terminated if a network error or MML parsing error occurs during the request/response process.

Attributes

The operation attributes are as follows.

Attribute Type Description
type String ocncc.pi.Request
label String An optional label for this node if it is to be the target of a branch operation.
arguments Object [Required] Details of the PI request to perform and the expected response to validate.
Expressions may be supplied within this structure.
tests Array of Object An array of anonymous Objects. Each Object represents a check to be performed. The associated Pass/Fail entries will be generated in the test instance check_log. Refer to the Operation Tests documentation for more information on the syntext for Operation tests.

Example

This is an example entry within the operations array:

{
    "type": "ocncc.pi.Request",
    "label": "Check That Subscriber 1 is deleted",
    "arguments": {
        "status": "NACK",
        "command": "CCSCD1=QRY",
        "info": "{ '88-' . $v->{MSISDN} . ' DOES NOT EXIST' }",
        "parameters": {
            "MSISDN": "{ $v->{MSISDN} }"
        }
    },
    "tests": [
        {
            "kpath": "info",
            "type": "string",
            "value": "11-MSISDN 99999900001 does not exist"
        }
    ]
}

Arguments (Request)

The following request/outbound arguments are supported.

Argument Type Notes
command String [Required] This is the PI command to execute. It must be a supported PI command, and is normally of the format {6-char-command}={3-char-sub-command}.
parameters Object This object defines all of the outbound user parameters to place into the PI request. These parameters should all be string scalars. Structured parameters are not supported.

Arguments (Response)

The following response/inbound arguments are supported.

Argument Type Notes
status String ACK or NACK. If this argument is specified, then the returned ACK/NACK indicated *must* match this value. If it does not match, the test instance will be aborted.
info String The information string provided by the far end. This will be an error message in the case of NACK, or a comma-separated list of values in the ACK case.

KPath Test Paths

For PI tests the following top-level elements are available via the KPath:

Use the top-level status argument if you wish the test instance to abort if the ACK/NACK value is not as expected. If you wish to only generate a Fail check then add a test for the KPath status to the tests array.

The returned object will contain attributes to match any {key}={value} pairs returned in the PI info result string. If any {key} value occurs more than once, then the corresponding value in the returned object will be an Array/ARRAY listing all of the returned values for that key.