Diameter Op - Outbound Request
Overview
The Diameter OP Outbound Request can be used to send an outbound Diameter request to an external Diameter server.
- Direction: OUTBOUND
 - From: IN Tester
 - To: External Diameter Server
 
Attributes
Theo operation attributes are as follws.
| Attribute | Type | Description | 
|---|---|---|
            type
         | 
        String | 
            diameter.Request or diameter.to_server.Request
         | 
    
            label
         | 
        String | 
            An optional label for this node if it is to be the target of a branch operation.
         | 
    
            arguments
         | 
        Object | [Required] The structure of the Diameter request to perform. 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": "diameter.Request",
    "arguments": {
        "name": "Credit-Control-Request",
        "avps": [
            {
              "name": "Session-Id_auto"
            },
            {
              "name": "Service-Context-Id",
              "value": "sms@huawei.com"
            },
            {
              "name": "CC-Request-Type",
              "value": 1
            },
            {
              "name": "CC-Request-Number",
              "value": 1
            },
            {
              "name": "Rating-Group",
              "value": 900
            },
            {
              "name": "Requested-Action",
              "value": 0
            },
            {
              "name": "Requested-Service-Unit",
              "value": [
                {
                  "name": "CC-Service-Specific-Units",
                  "value": 1
                }
              ],
              "vendor_specific": 0
            },
            {
              "name": "Service-Identifier",
              "value": 200
            },
            {
              "name": "Subscription-Id",
              "value": [
                {
                  "name": "Subscription-Id-Data",
                  "value": "64220635462"
                },
                {
                  "name": "Subscription-Id-Type",
                  "value": 0
                }
              ]
            },
            {
              "name": "Value-Digits",
              "value": 1
            }
        ]
    },
    "tests": [
        { "kpath": "response.avps.[name=Origin-Host].value", "value": "ece.enabil.com" }
    ]
}
Arguments
The following arguments for outbound requests are supported.
| Argument | Type | Notes | 
|---|---|---|
            name
         | 
        String | 
            The name of Diameter command, e.g. Credit-Control.This must be a supported message name within N2::DIAMETER::Codec.If your command name is not supported, you may instead specify .code.
         | 
    
            code
         | 
        Integer | 
            Alternatively you may specify the numeric command value instead of .name.
         | 
    
            application_id
         | 
        Integer | 
            Expressly specify the default Application ID in the Diameter message header. If you set this, you are also responsible for adding Auth-Application-Id AVP.(Default = Configured Application ID in header and in Auth-Application-Id AVP)
         | 
    
            avps
         | 
        Array of Object | Array of AVP descriptors each with the following fields. | 
            [].name
         | 
        String | 
            The name of Diameter AVP, e.g. Rating-Group.This must be a supported AVP name within N2::DIAMETER::Codec or DiameterApp custom AVPs.If your AVP name is not supported, you may instead specify [].code.
         | 
    
            [].code
         | 
        Integer | 
            The code of Diameter AVP, if not specifying by [].name.
         | 
    
            [].vendor_id
         | 
        Integer | 
            The vendor ID.  This field is optional and can be specified both when
            selecting the AVP by [].name (to distinguish between scenarios where the
            same name is used by different vendors) or when selecting the AVP by [].code
            in order to specify the intended vendor ID.
         | 
    
            [].type
         | 
        String | 
            One of None, OctetString, UTF8String, DiamIdent, Integer32,
            Integer64, Unsigned32, Enumerated, Time, Unsigned64,
            Address, Grouped.This is used only when specifying an AVP by [].code.For named AVPs the type is pre-defined.  | 
    
            [].mandatory
         | 
        
            0/1
         | 
        
            Override the default mandatory AVP flag. This is used only when specifying an AVP by [].code.For named AVPs the mandatory flag is pre-defined.  | 
    
            [].encryption
         | 
        
            0/1
         | 
        
            Override the default encryption AVP flag. This is used only when specifying an AVP by [].code.For named AVPs the encryption flag is pre-defined.  | 
    
            [].value
         | 
        Various | 
            The value for this AVP. For AVPs of type Grouped this will be an ARRAY.For all other AVPs this is a SCALAR of the appropriate type.  | 
    
            ack_sent
         | 
        
            0/1
         | 
        
            Flag to indicate if a DIAMETER-C-SENT message is sent to the requesting application once the original DIAMETER-C-REQUEST is placed on-the-wire.
            (Default = 0)
         | 
    
KPath Test Paths
For Diameter tests the following top-level elements are available via the KPath:
response- The returned response as an object.
The response object will contain attributes to match any {key}={value} pairs returned in
the Diameter response object.  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.