DIAMETER-S Messages
Introduction
The DiameterApp uses DIAMETER-S-… messages to communicate with other applications (such as the LogicApp) to handle inbound Diameter requests received from an external Diameter Client.
The following LuaApp services from the core n2svcd
module handle messages
from DiameterApp.
DiameterLuaService
(handles inbound Diameter requests within LogicApp)
The internal DIAMETER-S-… messages are:
DIAMETER-S-REQUEST
DIAMETER-S-RESPONSE
Note that this page uses the term “on-the-wire” to refer to the sending or receiving of Diameter content by the DiameterApp. This term is also inclusive of the case where the message is sent by local loopback and does not physically transit a Network Interface Controller (NIC).
DIAMETER-S-REQUEST
The DIAMETER-S-REQUEST
message is sent by DiameterApp to the application that is configured
for handling of inbound Diameter requests.
Refer to the DiameterApp Configuration documentation for more information on setting default parameters.
The attributes of the DIAMETER-S-REQUEST
message are:
Attribute | Type | Description |
---|---|---|
diameter
|
Object | Container for the parameters of the Diameter request that we have received. |
.bytes
|
Object | [Required] The raw on-the-wire Diameter request bytes. |
.connection
|
String | Container for connection information. |
.remote_ip
|
String | The remote dot-notation IP address from which the Diameter request was received. |
.remote_port
|
Integer | The remote TCP or UDP port from which the Diameter request was received. |
.name
|
String |
The name of the Diameter command, e.g. Credit-Control if known.
|
.code
|
Integer | [Required] The numeric code for the command. |
.application_id
|
Integer | The received Application-ID from the request header. |
.avps
|
Array of Object | [Required] Array of AVP descriptors each with the following fields. |
[].name
|
String |
The name of the Diameter AVP, e.g. Rating-Group , if known.
|
[].code
|
Integer | [Required] The code of the Diameter AVP. |
[].vendor_id
|
Integer | The vendor ID, if present. |
[].type
|
String |
[Required] One of None , OctetString , UTF8String , DiamIdent , Integer32 ,
Integer64 , Unsigned32 , Enumerated , Time , Unsigned64 ,
Address , Grouped .
|
[].mandatory
|
0 /1
|
Is the AVP specified as mandatory? |
[].encryption
|
0 /1
|
Is the AVP specified as encrypted? |
[].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. |
DIAMETER-S-RESPONSE
The DIAMETER-S-RESPONSE
message is sent back to the DiameterApp by the handling application
when it is ready to send a Diameter Response to the original received Diameter Request.
The attributes of the DIAMETER-S-RESPONSE
message are:
Field | Type | Description |
---|---|---|
success
|
0 /1
|
[Required] Indicates if the request handling was successful or not. |
error
|
String |
Indicates the reason why the request handling failed. Present and applicable only if success == 0 .
|
diameter
|
Object |
Container for the Diameter response parameters we are to send. Present only if success == 1 .
|
.avps
|
Array of Object | Array of AVP descriptors each with the fields described as for a request. |
[].name
|
String |
The name of the 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 the 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. |
The other attributes of the Diameter response are automatically determined by the DiameterApp
.