VSA/AVP Parameters


Use the Edit VSA window... or the Edit AVP window... to define the parameters (that can optionally be saved as templates) used to create optional RADIUS or Diameter attributes. They include the information required to provision the attribute fields and a selection of messages in which the attribute will be used.

Parameter Index

RADIUS

Diameter

Related Diameter Measurements

See Diameter Result Codes for AVP-related errors that may be returned by a server when AVPs are improperly used or improperly coded.


 

Vendor

Select the vendor associated with the attribute. In a vendor-specific attribute, the vendor's ID provisions the Vendor-ID field.

Options: All defined vendors are available in the list. You can add a new vendor with the Vendors... button.

Default: RADIUS or Diameter

Library   Select from BASIC or GLOBAL library.
Filter

Use Filter to Compare the Name, Type/Code, and Type/Code-Name fields of Templates.

Type

Provision either the RADIUS Type or Vendor Type field. The RADIUS Type field is coded differently for RADIUS attributes and VSA extended attributes.

  • When a RADIUS attribute is used, the Type number provisions the RADIUS Type field in the message.

  • When a VSA extended attribute is used (all vendors except RADIUS), the RADIUS Type field is always 26, Vendor-Specific, and the ID defined for the vendor provisions the RADIUS Vendor ID field. In this case, the attribute's Type provisions the Vendor Type field. A common notation, 26/<attribute type>, is used in specifications when referring to a VSA extended attribute type.

Range:  0 — 255

Default: 0

Code

Provision the AVP Code field. This field, in combination with the Vendor ID field, uniquely identifies an AVP. You may also enter the application ID AVP. The Application-Id AVP returned by a server node is provisioned by the value received in requests from a peer. If the you do not enter the Application ID AVP,  the default AVP will be used. The IANA manages the official codes allocated to Diameter.

Range: N/A (values  1 — 255 are reserved for backward compatibility with RADIUS)

NOTE: 

There is additional validation in AVP Criteria to prevent multiple criteria being set with the same Code and Message. The Code value can be repeated in multiple criteria but the same Message can't be selected in more than one of those. 

Any existing tests with this condition will be set red and must be fixed manually.

Error message example : Cannot set multiple criteria using the same AVP Code and Message, see <# 1, 2>: <CODE 100> on <Session Terminate Request>

Default: 0

Name

Indicates the attribute's display name. This value is not included in any message fields.

Range: up to 32 characters

Default: N/A

Hashing

Select the Hashing algorithm to be used (RADIUS only). Choices include MD5, SMD5 (Salt MD5), or None.

Format

Identifies the Value type and determines how the Value will be formatted in the message. Refer to the attribute definition for the valid format. Auto-Increment feature is supported for all the formats listed below.

Options:

  • UINT32 — A 32-bit unsigned integer  - (Range from 0 to 4294967295). The numerical value increases by 1 with auto-incrementation. 

  • UINT16 — A 16-bit unsigned integer  - (Range from 0 to 65535) . The numerical value increases by 1 with auto-incrementation. 

  • TEXT — A string of UTF-8 encoded characters (plain text)  - (Min length = 1, Max length = 253). Auto-Increment increments the last character’s value by 1 on the ASCII table. When it reaches an unprintable character, it will cycle back to the ASCII value of “ “, or the empty character. For example : “972501234569” will increment to “97250123456:” as the next ASCII value after “9” is the character “:”. 

  • HEX_STRING — This format can be used for binary values, and will accept a string of 0 — F characters. - (Min length = 1, Max length = 253)

  • SSE_USERNAME — This format also allows you to use the Auto-Increment feature to provision a unique text value for each mobile user. When you select Auto-Increment, the INT/IP is incremented. Auto-Increment is supported for the #() syntax, where the value inside the parentheses will be incremented numerically and passed as ASCII values. For example, if you pass in #(972501234560)", auto-incrementation will parse it as 972501234560 and increment to 972501234561 for the next value. 
    This value will be used for all sessions associated with the MN.
    - (Min length = 1, Max length = 253). 

  • IPV4 — An IPv4 address (Must be proper IPv4 format)

  • IPV6 — An IPv6 address (Must be proper IPv6 format)

TIP: During AAA Server Nodal, if you need to support both IPv4 and IPv6 address allocation in the Access-Request, include attributes for IPv4 and IPv6 to ensure that the Access-Request supports/identifies allocation of IPv4 and IPv6 address.

 

  • STRING (RADIUS) — A string of UTF-8 encoded characters (plain text) - (Min length = 1, Max length = 253). Auto-Increment increments the last character’s value by 1 on the ASCII table. When it reaches an unprintable character, it will cycle back to the ASCII value of “ “, or the empty character. For example :  “972501234569” will increment to “97250123456:” as the next ASCII value after “9” is the character “:”.

NOTE: Since "text" and "string" are both commonly used to refer to ASCII characters, the HEX_STRING format is used in place of the RADIUS STRING binary format. In this context, TEXT and STRING are interchangeable.
  • UINT64 (Diameter) — A 64-bit unsigned integer

  • GROUPED and GROUPED_END (Diameter) — Identifies a sequence of AVPs, ordered as they are listed in the AVP Configuration window. The GROUPED_END format specifies the last AVP in a group.

  • USE_PRECONFIGURED (Diameter) — Provisions the AVP's value with the applicable test case parameter setting rather than the Value defined within the AVP.

  • MAC_ADDRESS — Select MAC Address and Auto Increment to logically auto increment the HEX value of the MAC Address. (Must be proper MAC address format)

Default: UINT32

Auto Increment

Provision a serially-incrementing value for every MN. Each MN session will use the same value in all selected messages. The incrementing method varies depending on the value Format —  for example, IP addresses increment using valid address values.

AVP Flags

Set the bits in the AVP Flags field. AVP Flags are used to inform the peer how each attribute must be handled.

  • M Flag — Indicates that the attribute is mandatory and must be supported by the peer.

  • P Flag — Indicates that the attribute must be encrypted.

Value

Provision either the RADIUS String field, the Value portion of a RADIUS vendor-specific attribute, or the Data field of a Diameter attribute. This value should be consistent with the Format selected. If you enter an invalid value for the UINT32 or HEX_STRING formats, you will receive a validation error.

Range: N/A (Up to 253 characters for RADIUS attributes or 247 characters for RADIUS vendor-specific attributes)

Default: 0

  • Append to Message

  • Override Built-in AVP/VSA

  • Remove Built-in AVP

 

Select to indicate whether you would like the AVP/VSA to be always appended to the message or override built-in AVP/VSA (if not built-in AVP/VSA, to add the AVP/VSA to the message) or Remove Built-in AVP.

NOTEs:

  • The selection Override Built-In AVP/VSA is not saved to AVP/VSA Templates. Opening templates saved with selection as Override Built-In AVP/VSA defaults to Append to Message.
  • The Override Built-In AVP/VSA currently applies only to Bearer-Identifier AVP.

  • It is recommended to always use an integer as a value for UINT32 formatted AVP. However, if HEX_STRING is used as a value of UINT32 formatted AVP, then the HEX_STRING must be written in big-endian (network-byte order ) for appending AVPs or it must be written in little-endian (local/host-byte order) for overriding AVP.

 

Override/Remove Built-in AVP is only available in these Test Cases: AAA Server Node, DRA Nodal, DRA Node (with the exception of User Auth Request Command and Answer), HSS Nodal (S6a Interface), HSS Node, IMS Node (Rx Interface), MME Nodal (S6a Interface), OCS Node (Ro and Sy Interface), PCRF Nodal, PCRF Node (Sy Interface and AGW-Rules-all), SCEF Node (T6x), and SGW Nodal (S6a Interface).

See AVP Override/Remove/Append Rule below.

Only in these message instances

Use Only in these message instances (e.g., 1, 3-4, 8- ) to include different AVPs in each/different instances of the message.

This Only in these message instances checkbox and the text input field is available for the DCCA Node test case when you select any one of the following Message types:

  • CCA Initial Success (or MSCC In)     

  • CCA Update Success (or MSCC In)      

  • CCA Terminate Success (or MSCC In)

This Only in these message instances checkbox and the text input field is available for the Wifi Offload Gateway Nodal test case when you select any one of the following Message types:

  • Access Request    

NOTE: Enter a list of message instances in ascending order separated by comma. For example, to include 1st, 2nd, 5th through 10th, 7th, and all instances after 43, you would specify as follows:

1, 2, 5-10, 7, 44-

  • n = just this instance
  • m-n = m through n inclusive
  • n- = n and greater, this can only be used after the last comma)
Messages

Select messages in which the attribute will be used. At least one message must be selected. The selections that you can make are limited to only the messages that can be sent by the test case and are not shaded in the Edit AVP Window / Edit VSA Window.

TIP: The message selection does not have to mirror the messages used in the test. You can use a template that selects all of the accounting request messages in a test that does not use interim accounting messages, for example. You can also save a template with all of the valid messages for an attribute selected if it can be used by both client and server nodes.

NOTES:

  • The Access Request Node 2 message is only used when Alternate Node Authentication is enabled.

  • The Accounting Final Stop message differs from Account Stop in that a final stop is only sent when an MN's last remaining accounting session is stopped, indicating that the MN's session has stopped. This selection is useful with attributes that require a different value in this situation. The 3GPP2 Session-Continue attribute, for example, requires a value of 0 rather than 1 when a MN's last accounting session is stopped and the test system will correctly provision the values for both message types.

  • There is additional validation in AVP Criteria to prevent multiple criteria being set with the same Code and Message. The Code value can be repeated in multiple criteria but the same Message can't be selected in more than one of those. Any existing tests with this condition will be set red and must be fixed manually. Error message example : Cannot set multiple criteria using the same AVP Code and Message, see <# 1, 2>: <CODE 100> on <Session Terminate Request>

  • The Access Accept to HA, when selected allows the AAA server to act like WiMAX AAA server. If the access request is from the FA, the AAA Server sends message to FA, if not sends message to the HA. The AAA server recognizes the messages from the HA when the following criteria are met:

  • NAS TYPE is not included in the access request, and MIP attributes are included in the access request

 

 

VSA Criteria

 

Select to View/Edit criteria based on VSAs on AAA Radius Tab. Define VSA Criteria, that get associated with VSA Criteria measurements which increment when Criterion is not met. To get indication (measurement count > 0) when an AVP value==300, you must setup VSA Criterion to check for AVP!=300 and then it will increment when the value does == 300. The generated measurement will remain 0 by default and will only increment if the VSA Criterion is set to Not Present and a matching VSA type is found or if the VSA Criterion is set to match a condition (operator-format-value) the VSA type is matched and the condition is not met (false).  These rules are applied on a per-message basis, use the filter to see the effective rules on a per-message basis.   The Vendor and Flags have no impact on the Criterion.

Able to:

 

 

Enter the Match Criteria:

Either select Not Present or Enter Format, Operator , and Value.

Operator Options: ‘==’ (Equal), ‘!=’ (Not Equal) , ‘>’ (Greater than), ‘<’ (Less than), ‘>=’ (Greater than or Equal) and ‘<=’ (Less than or Equal).

 

NOTE: Not all Operator options are available for all Format Types. For example, If Format type = MAC_ADDRESS then only '==' (Equal) and '!=' (Not Equal) are available Operator Options. When checking against a GROUPED AVP, you must use HEX_STRING set the Value to the Grouped AVP hex stream payload without the grouped AVP vendor field.

 

 

Available Measurements:

Able to track the measurements with Test Session Pass/Fail Criteria.

 

AVP Criteria

 

Select to View/Edit criteria based on AVPs on Diameter Tab. Define AVP Criteria, that get associated with AVP Criteria measurements which increment when Criterion is not met. To get indication (measurement count > 0) when an AVP value==300, you must setup AVP Criterion to check for AVP!=300 and then it will increment when the value does == 300. The generated measurement will remain 0 by default and will only increment if the AVP Criterion is set to Not Present and a matching AVP type is found or if the AVP Criterion is set to match a condition (operator-format-value) the AVP type is matched and the condition is not met (false). These rules are applied on a per-message basis, use the filter to see the effective rules on a per-message basis.  The Vendor and Flags have no impact on the Criterion.

Able to:

Enter the Match Criteria:

Either select Not Present or Enter Format, Operator , and Value.

Operator Options: ‘==’ (Equal), ‘!=’ (Not Equal) , ‘>’ (Greater than), ‘<’ (Less than), ‘>=’ (Greater than or Equal) and ‘<=’ (Less than or Equal).

 

NOTE: Not all Operator options are available for all Format Types. For example, If Format type = MAC_ADDRESS then only '==' (Equal) and '!=' (Not Equal) are available Operator Options. When checking against a GROUPED AVP, you must use HEX_STRING set the Value to the Grouped AVP hex stream payload without the grouped AVP vendor field.

 

Able to track the measurements with Test Session Pass/Fail Criteria.

NOTE: The naming convention for the AVP Criteria is in the DRA Nodal is: Node_Name + "AVP Criteria". Examples: PCRF AVP Criteria, AGW Node AVP Criteria, AF Node AVP Criteria.

 

AVP Override/Remove/Append Rule:

 

For PCRF Node, only Gx Rule level is supported:

 

Example, override rule name in “Rule Set 1” in CCR-I to “aaaaaaaa”

 

Result:

 

Diameter Protocol

|

| first level

|

|---| second level (group)

|---|

|---|---| third level (sub group)

|---|---|

 

- Override will override any matched AVP Code at any level, cannot override group.

- Remove will remove any matched AVP Code at any level. To remove group:

 

For example, remove “Charge-Rule-Install” group with AVP Code 1001 in CCR-I Message:

 

Append will only append at 1st level and at the end of message.

Use Remove & Append to add an AVP into 2nd, 3rd,… level with this helpful trick:

 

For example, add “Origin-Realm” AVP code 296 into “Charge-Rule-Install” group.

 

Can also use this to Override a specific AVP in Specific group.

 

How to define VSA/AVP in TDF

dcca_config_param.xlsxdcca_example.xlsx, dcca_avp_config_example.csv

Avp avp When you provision AVPs, the value format includes the same settings as a AVP Template:
<Vendor-ID>/<AvpCode>/<Msg-Mask>/<Format>/<Auto Increment>/<Avp Flags>/<Value>
Where:
<Vendor-ID> = Decimal or hexadecimal Vendor ID
<AvpCode> = Decimal or hexadecimal Avp code
<Msg-Mask> = A bit mask of the messages that will include the attribute (Applies To)
        aaReqMsg_c                 = 0x0001,
        aaAnsMsg_c                 = 0x0002,
        accountStartMsg_c          = 0x0004,
        accountStopMsg_c           = 0x0008,
        accountInterimMsg_c        = 0x0010,
        accountAnsMsg_c            = 0x0020,
        reAuthReqMsg_c             = 0x0040,
        reAuthAnsMsg_c             = 0x0080,
        sessTermReqMsg_c           = 0x0100,
        sessTermAnsMsg_c           = 0x0200,
        abortSessReqMsg_c          = 0x0400,
        abortSessAnsMsg_c          = 0x0800,
        capExchgReqMsg_c           = 0x1000,
        capExchgAnsMsg_c           = 0x2000,
        creditCtrlInitialMsg_c     = 0x4000,
        creditCtrlUpdateMsg_c      = 0x8000,//uint16 max
        creditCtrlTerminateMsg_c   = 0x10000,
        creditCtrlAnsMsg_c         = 0x20000,
        DERMsg_c                   = 0x40000,
        DEAMsg_c                   = 0x80000, //DEA success-obsolete in 6.5
        accountEventMsg_c          = 0x100000,
        DEAMultiRoundMsg_c         = 0x200000,//DEA multiround Answer new in 6.5
        DEASuccessMsg_c           = 0x400000,//DEA success Answer new in6.5 TR6052
        WHA4AMsg_c               = 0x800000,//Wimax HA4 Answer new in6.5 TR5476
        WHA4RMsg_c                = 0x1000000,//Wimax HA4 Req new in6.5 TR5476
        reAuthDERMsg_c             = 0x2000000,//TR5281
        reAuthAARMsg_c             = 0x4000000,//TR5281

        ccTriggerUpdateMsg_c       = 0x8000000,//CR
        ccReauthUpdateMsg_c        = 0x10000000,
        ccAnsMsccFinalMsg_c        = 0x20000000,
        ccOneEventMsg_c            = 0x40000000,
        ccAnsMsccFailMsg_c         = 0x80000000,//uint32 max|

[<Format> = The attribute's Format|mk:@MSITStore:C:\Documents%20and%20Settings\cludwig.SPIRENTCOM.000\Desktop\Landslide_5.6_Help.spirent.chm::/params/aaa/parmvsas.htm#format]
#define FMT_UINT32            0
#define FMT_TEXT              1
#define FMT_HEX_STRING        2
#define FMT_SSE_USERNAME      3
#define FMT_IPV4              4
#define FMT_IPV6              5
#define FMT_UINT64            6
#define FMT_GROUPED           7
#define FMT_GROUPED_END       8
[<Auto Increment> = 0=no, 1=yes (Auto Increment)|mk:@MSITStore:C:\Documents%20and%20Settings\cludwig.SPIRENTCOM.000\Desktop\Landslide_5.6_Help.spirent.chm::/params/aaa/parmvsas.htm#autoinc]
<Avp Flags> =  0=none, 1=M flag, 2=P flag
<Value> = The AVP's Value
Example:
0/287/4/1/0/0/12345678 provisions the Diameter (0) Accounting-Sub-Session-ID Avp (287) in all AccountStartMsg messages using a TEXT format (1) and a value of 12345678.

 

^ Back to Top