ADC Advanced Policy Expressions

DIAMETER_PROTOCOL_T

Provides expressions to retrieve Diameter header information and Diameter

Header and AVPs (attribute value pairs) from Diameter requests and responses.

Note:The Diameter implementation is RFC 6733 compliant.

This topic lists the expressions that are provided by this class.

IS_CLIENT

Returns true if this is a Diameter client connection.

Returns: bool_at

IS_SERVER

Returns true if this is a Diameter server connection.

Returns: bool_at

NEW_ANSWER

Creates new Diameter Response Message (Header only) based on Request header.

Returns: text_t

NEW_ANSWER(bool_aterror, ip_address_atcommand_code, ip_address_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, ip_address_atcommand_code, num_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, ip_address_atcommand_code, time_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, ip_address_atcommand_code, unsigned_long_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, num_atcommand_code, ip_address_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, num_atcommand_code, num_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, num_atcommand_code, time_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, num_atcommand_code, unsigned_long_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, time_atcommand_code, ip_address_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, time_atcommand_code, num_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, time_atcommand_code, time_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, time_atcommand_code, unsigned_long_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, unsigned_long_atcommand_code, ip_address_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, unsigned_long_atcommand_code, num_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, unsigned_long_atcommand_code, time_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_ANSWER(bool_aterror, unsigned_long_atcommand_code, unsigned_long_atapplication_id)

Creates new Diameter Message (Header only) based on given parameters.

Parameters:

error -

                        Error flag

command_code -

                        Command associated with the Diameter message

application_id -

                        Application id to be used in Diameter Header

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, double_atavpvalue)

Creates new AVP based on given avp code and given Float32 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, ip_address_atavpvalue)

Creates new AVP based on given avp code and given Float32 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, num_atavpvalue)

Creates new AVP based on given avp code and given Float32 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, time_atavpvalue)

Creates new AVP based on given avp code and given Float32 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, unsigned_long_atavpvalue)

Creates new AVP based on given avp code and given Float32 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, double_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float32 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, ip_address_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float32 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, num_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float32 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, time_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float32 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_FLOAT32(uint avpcode, unsigned_long_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float32 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, double_atavpvalue)

Creates new AVP based on given avp code and given Float64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, ip_address_atavpvalue)

Creates new AVP based on given avp code and given Float64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, num_atavpvalue)

Creates new AVP based on given avp code and given Float64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, time_atavpvalue)

Creates new AVP based on given avp code and given Float64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, unsigned_long_atavpvalue)

Creates new AVP based on given avp code and given Float64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, double_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, ip_address_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, num_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, time_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_FLOAT64(uint avpcode, unsigned_long_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Float64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_INTEGER32(uint avpcode, num_atavpvalue)

Creates new AVP based on given avp code and given Integer32 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_INTEGER32(uint avpcode, num_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Integer32 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_INTEGER64(uint avpcode, ip_address_atavpvalue)

Creates new AVP based on given avp code and given Integer64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_INTEGER64(uint avpcode, num_atavpvalue)

Creates new AVP based on given avp code and given Integer64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_INTEGER64(uint avpcode, time_atavpvalue)

Creates new AVP based on given avp code and given Integer64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_INTEGER64(uint avpcode, unsigned_long_atavpvalue)

Creates new AVP based on given avp code and given Integer64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_INTEGER64(uint avpcode, ip_address_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Integer64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_INTEGER64(uint avpcode, num_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Integer64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_INTEGER64(uint avpcode, time_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Integer64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_INTEGER64(uint avpcode, unsigned_long_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Integer64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP(uint avpcode, text_tavpvalue)

Creates new AVP based on given avp code and given value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value as octet string

Returns: text_t

NEW_AVP(uint avpcode, text_tavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given value. Set

the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value as octet string

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_UNSIGNED32(uint avpcode, uint avpvalue)

Creates new AVP based on given avp code and given Unsigned32 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_UNSIGNED32(uint avpcode, uint avpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Unsigned32 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_UNSIGNED64(uint avpcode, ip_address_atavpvalue)

Creates new AVP based on given avp code and given Unsigned64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_UNSIGNED64(uint avpcode, num_atavpvalue)

Creates new AVP based on given avp code and given Unsigned64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_UNSIGNED64(uint avpcode, time_atavpvalue)

Creates new AVP based on given avp code and given Unsigned64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_UNSIGNED64(uint avpcode, unsigned_long_atavpvalue)

Creates new AVP based on given avp code and given Unsigned64 value.

Vendor-Specific and Mandatory bit are not set.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

Returns: text_t

NEW_AVP_UNSIGNED64(uint avpcode, ip_address_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Unsigned64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_UNSIGNED64(uint avpcode, num_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Unsigned64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_UNSIGNED64(uint avpcode, time_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Unsigned64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_AVP_UNSIGNED64(uint avpcode, unsigned_long_atavpvalue, bool_atis_mandatory, uint vendor_id)

Creates new AVP based on given avp code and given Unsigned64 value.

Set the 'M' and 'V' bits, and vendor_id field for this AVP.

Parameters:

avpcode -

                        AVP code

avpvalue -

                        AVP value

is_mandatory -

                        'true' to set The 'M' bit in AVP

vendor_id -

                        vendor_id field. non-zero vendor_id sets

the 'V' bit and fills the vendor_id field in AVP as

given.

Returns: text_t

NEW_ERROR_ANSWER

Creates new Diameter Error Response Message (Header only) based on Request header.

Returns: text_t

NEW_REDIRECT(text_tredirectUri)

Creates new Diameter Redirect Response Message (Header only) based on Request header.

This Redirect message will not have Redirect-Host-Usage and

Redirect-Max-Cache-Time AVP.

Parameters(expressions not allowed):

redirectUri -

                        Redirect-Host AVP value

Returns: text_t

NEW_REDIRECT(text_tredirectUri, uint hostUsage, uint maxCacheTime)

Creates new Diameter Redirect Response Message (Header only) based on Request header.

Use hostUsage and maxCacheTime parameters to insert

Redirect-Host-Usage and Redirect-Max-Cache-Time AVP

as defined in RFC 6733 section-6.13 (http://tools.ietf.org/html/rfc6733#section-6.13)

Parameters(expressions not allowed):

redirectUri -

                        Redirect-Host AVP value

hostUsage -

                        Redirect-Host-Usage AVP value

maxCacheTime -

                        Redirect-Max-Cache-Time AVP value.

Returns: text_t

REQ

Retrieves header information and AVPs from Diameter requests.

Returns: diameter_req_t

RES

Retrieves header information and AVPs from Diameter responses.

Returns: diameter_res_t

DIAMETER_PROTOCOL_T

In this article