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.