RADIUS-S Messages

Introduction

The RadiusApp uses RADIUS-S-… messages to communicate with other applications (such as the LogicApp) to handle inbound RADIUS requests received from an external RADIUS Client.

The following LuaApp services from the core n2svcd module handle messages from RadiusApp.

The internal RADIUS-S-… messages are:

Note that this page uses the term “on-the-wire” to refer to the sending or receiving of RADIUS content by the RadiusApp. 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).

RADIUS-S-REQUEST

The RADIUS-S-REQUEST message is sent by RadiusApp to the application that is configured for handling of inbound RADIUS requests.

Refer to the RadiusApp Configuration documentation for more information on setting default parameters.

The attributes of the RADIUS-S-REQUEST message are:

Attribute Type Description
radius Object Container for the parameters of the RADIUS request that we have received.
.bytes Object [Required] The raw on-the-wire RADIUS request bytes.
.connection String Container for connection information.
.remote_ip String The remote dot-notation IP address from which the RADIUS request was received.
.remote_port Integer The remote UDP port from which the RADIUS request was received.
.name String The name of the RADIUS packet type, e.g. Access-Request.
This field will only be populated if the packet type is supported within N2::RADIUS::Codec.
.code Integer [Required] The packet type identifier from the received request.
.attributes Array of Object Array of RADIUS attribute objects, each with the following fields.
[].name String The name of the RADIUS attribute, e.g. User-Name.
This field will only be populated if the attribute is supported within N2::RADIUS::Codec.
[].type Integer [Required] The code that identifies the RADIUS attribute.
[].vendor_id Integer The identifier of the vendor that defines the attribute if the attribute is a vendor-specific attribute.
This field will only be present if the attribute is supported in N2::RADIUS::Codec.
[].type String [Required] One of enum, ifid, integer, ipv4addr, ipv4prefix, ipv6addr, ipv6prefix, string, other, text, time, unknown.
[].value Various [Required] The attribute's value.
For most attributes this will be a SCALAR of the appropriate type.
For attributes with data type other this may be a HASH.
[].value_name String The name associated with [].value.
This field will only be present if the attribute [].data_type is enum and the value mapping is defined in N2::RADIUS::Codec.

RADIUS-S-RESPONSE

The RADIUS-S-RESPONSE message is sent back to the RadiusApp by the handling application when it is ready to send a RADIUS Response to the original received RADIUS Request.

The attributes of the RADIUS-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.
radius Object Container for the RADIUS response parameters we are to send.
Present only if success == 1 and a response is to be sent.
.name String The RADIUS packet type name of the response to send, e.g. Access-Accept.
This must be the name of a supported packet type within N2::RADIUS::Codec.
If the packet type is not supported, you may instead specify .code.
.code Integer The RADIUS packet type code, e.g. 2 for Access-Accept.
.attributes Array of Object Array of RADIUS attribute objects to include in the response, each with the fields described as for RADIUS-S-REQUEST.

The other attributes of the RADIUS response are automatically determined by the RadiusApp.