Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All

    Diameter AVPs and Diameter Applications

    Diameter conveys information by including various attribute-value pairs (AVPs) in Diameter messages. Table 1 lists the standard Diameter AVPs used in interactions with the supported Diameter applications. Diameter reserves AVP code numbers 0 through 255 for RADIUS AVPs that are implemented in Diameter.

    Table 1: Standard Diameter AVPs

    Attribute Number

    Diameter AVP

    Application

    Description

    Type

    1

    User-Name

    Gx-Plus, JSRC

    Specifies the username. For a subscriber managed by AAA, the value is the subscriber’s login name. For a static interface, the value is the interface name, which is used as the subscriber’s login name.

    UTF8String

    8

    Framed-IP-Address

    Gx-Plus, JSRC, PTSP

    Identifies the IPv4 address configured for the subscriber. This is the same value as for RADIUS Framed-IP-Address attribute [8].

    OctetString

    55

    Event-Timestamp

    Gx-Plus, JSRC, PTSP

    Specifies the time of the event that triggered the message in which this AVP is included. Time is indicated in seconds since January 1, 1900, 00:00 UTC.

    Time

    85

    Acct-Interim-Interval

    JSRC, PTSP

    Number of seconds between each interim accounting update for this session.

    The router uses the following guidelines for interim accounting:

    • Attribute value is within the acceptable range (600 through 86,400 seconds)—Accounting is updated at the specified interval.
    • Attribute value is less than the minimum acceptable value—Accounting is updated at the minimum interval (600 seconds).
    • Attribute value is greater than the maximum acceptable value—Accounting is updated at the maximum interval (86,400 seconds).

    Unsigned32

    87

    NAS-Port-Id

    Gx-Plus, JSRC, PTSP

    Identifies the port of the NAS that authenticates the user. This is the same value as for RADIUS NAS-Port-Id attribute [87].

    UTF8String

    263

    Session-ID

    Gx-Plus, JSRC, PTSP

    Specifies the subscriber session identifier. The router assigns the value to uniquely identify a subscriber session.

    UTF8String

    268

    Result-Code

    Gx-Plus, JSRC, PTSP

    Indicates whether a request completed successfully. Provides an error code if the request failed.

    The following classes are recognized by Diameter:

    • 1xxx—Informational
    • 2xxx—Success
    • 3xxx—Protocol errors
    • 4xxx—Transient errors
    • 5xxx—Permanent failures

    Unrecognized classes, which begin with numerals 6–9 or 0, are handled as permanent failures.

    JSRC and PTSP support the following values; all non-success values are treated as permanent failures:

    • 1001—DIAMETER MULTI ROUND AUTH
    • 2001—DIAMETER SUCCESS
    • 5002—DIAMETER UNKNOWN SESSION ID
    • 5012—DIAMETER UNABLE TO COMPLY

    JSRC also supports the following value, which is treated as a permanent failure:

    • 3004—DIAMETER TOO BUSY; this is a transient condition, typically when the router already has a request in process for a specified subscriber.

    Gx-Plus supports the following values for errors in a PCRF response; when these values are received or the response is malformed or unrecognizable, the request is retried.

    • 3001—DIAMETER COMMAND NOT SUPPORTED; the application is not running or the command is not recognized.
    • 3004—DIAMETER TOO BUSY; the received message is above either the quota of downstream transactions or the outstanding message memory limit for messages from the network.
    • 5012—DIAMETER UNABLE TO COMPLY; the received message is greater than the local limit.

    Unsigned32

    277

    Auth-Session-State

    JSRC, PTSP

    Indicates whether AAA session state is maintained.

    • 0—STATE MAINTAINED
    • 1—NO STATE MAINTAINED

    Enumerated

    295

    Termination-Cause

    JSRC, PTSP

    Indicates the reason why a session was terminated on the access device.

    • 1—DIAMETER LOGOUT
    • 2—DIAMETER SERVICE NOT PROVIDED
    • 3—DIAMETER BAD ANSWER
    • 4—DIAMETER ADMINISTRATIVE
    • 5—DIAMETER LINK BROKEN
    • 6—DIAMETER AUTH EXPIRED
    • 7— DIAMETER USER MOVED
    • 8—DIAMETER SESSION TIMEOUT

    Enumerated

    415

    CC-Request-Number

    Gx-Plus

    Identifies a request within a session. The combination of Session-Id and CC-Request-Type is globally unique. The number is incremented for each request during the course of a session. The number is reset when a router high availability event takes place.

    Unsigned32

    416

    CC-Request-Type

    Gx-Plus

    Specifies the type of credit control request:

    • INITIAL REQUEST (1)
    • UPDATE REQUEST (2)
    • TERMINATION_REQUEST (3)
    • EVENT REQUEST (4)

    Enumerated

    431

    Granted-Service-Unit

    Gx-Plus

    Contains the amount that can be provided of one or more of the following requested units specified by the client: CC-Input-Octets, CC-Output-Octets, CC-Time, or CC-Total-Octets. Included in CCA-I messages, and may be included in CCA-U messages.

    Grouped

    446

    Used-Service-Unit

    Gx-Plus

    Contains the amount of the requested units that have been actually used; measured from 4 when the service is activated. The units are one or more of the following requested units specified by the client: CC-Input-Octets, CC-Output-Octets, CC-Time, or CC-Total-Octets. Included in CCR-U messages.

    Grouped

    480

    Accounting-Record-Type

    JSRC, PTSP

    Specifies the type of account record for service accounting:

    • INTERIM_RECORD—Accounting record sent between the start and stop records, at intervals specified by the Acct-Interim-Interval AVP (AVP code 85). It contains cumulative accounting data for the existing accounting session.
    • START_RECORD—Accounting record sent when the service is activated to initiate the accounting session. It contains accounting data relevant to the initiation of that session.
    • STOP_RECORD—Accounting record sent when the service is deactivated to terminate the accounting session. It contains cumulative data relevant to that session.

    Enumerated

    1001

    Charging-Rule-Install

    Gx-Plus

    Requests the installation of the rule (activation of the service) designated by the included Charging-Rule-Name AVP (1005). This AVP has a vendor ID of 10415 (3GPP).

    Grouped

    1002

    Charging-Rule-Remove

    Gx-Plus

    Requests the removal of the rule (deactivation of the service) designated by the included Charging-Rule-Name AVP (1005). This AVP has a vendor ID of 10415 (3GPP).

    Grouped

    1005

    Charging-Rule-Name

    Gx-Plus

    Name of a specific rule that has been installed, modified, or removed.

    OctetString

    1066

    Monitoring-Key

    Gx-Plus

    Specifies which of the monitoring structures to use. Included in Charging-Rule-Install AVP (1001). The MX router does not support aggregation of statistics across services, so the value of this AVP must be different for each service. This AVP has a vendor ID of 10415 (3GPP).

    OctetString

    1067

    Usage-Monitoring-Information

    Gx-Plus

    Sets monitoring thresholds. When service statistics match at least one of the granted service values, the router sends a CCR-U report with the current statistics to the PCRF. Includes the Monitoring-Key AVP (1066) and the Granted-Service-Unit AVP (431). This AVP has a vendor ID of 10415 (3GPP).

    Grouped

    Juniper Networks AVPs are used in addition to the standard Diameter AVPs. These AVPs have an enterprise number of 2636. Table 2 lists the Juniper Networks AVPs that the supported Diameter applications use.

    Table 2: Juniper Networks Diameter AVPs

    Attribute Number

    Diameter AVP

    Application

    Description

    Type

    2004

    Juniper-Service-Bundle

    JSRC

    Specifies the name of the service bundle.

    OctetString

    2010

    Juniper-DHCP-Options

    JSRC

    Specifies the client’s DHCP options.

    OctetString

    2011

    Juniper-DHCP-GI-Address

    JSRC

    Specifies the DHCP relay agent’s IP address.

    OctetString

    2020

    Juniper-Policy-Install

    JSRC, PTSP

    Specifies policies to be activated for the subscriber. Includes Juniper-Policy-Name and Juniper-Policy-Definition

    Grouped

    2021

    Juniper-Policy-Name

    JSRC, PTSP

    Defines the name of a policy decision.

    OctetString

    2022

    Juniper-Policy-Definition

    JSRC, PTSP

    Defines a policy decision. Includes Juniper-Policy-Name, Juniper-Template-Name, and Juniper-Substitution.

    Grouped

    2023

    Juniper-Template-Name

    JSRC, PTSP

    Profile name defined by the router. PTSP supports only the __svc_rule__ policy template.

    UTF8String

    2024

    Juniper-Substitution

    JSRC, PTSP

    Defines the substitution attributes. Includes Juniper-Substitution-Name and Juniper-Substitution-Value.

    OctetString

    2025

    Juniper-Substitution-Name

    JSRC, PTSP

    Defines the name of the variable to be replaced.

    OctetString

    2026

    Juniper-Substitution-Value

    JSRC, PTSP

    Defines the value of the variable to be replaced.

    OctetString

    2027

    Juniper-Policy-Remove

    JSRC, PTSP

    Specifies policies to be deactivated for the subscriber. Includes Juniper-Policy-Name.

    Grouped

    2035

    Juniper-Policy-Failed

    JSRC, PTSP

    Specifies the name of the policy activation or deactivation that failed.

    OctetString

    2038

    Juniper-Policy-Success

    JSRC, PTSP

    Specifies the name of the policy activation or deactivation that succeeded.

    OctetString

    2046

    Juniper-Logical-System

    JSRC, PTSP

    Specifies the logical system.

    UTF8String

    2047

    Juniper-Routing-Instance

    JSRC, PTSP

    Specifies the routing instance.

    UTF8String

    2048

    Juniper-Jsrc-Partition

    JSRC, PTSP

    Specifies the logical system and routing instance for the subscriber or request. Includes Juniper-Logical-System and Juniper-Routing-Instance

    Grouped

    2050

    Juniper-Request-Type

    JSRC, PTSP

    Describes the type of request:

    • 1—ADDRESS_AUTHORIZATION
    • 2—PROVISIONING_REQUEST
    • 3—SYNCHRONIZATION

    Enumerated

    2051

    Juniper-Synchronization-Type

    JSRC, PTSP

    Describes the type of synchronization:

    • 1—FULL-SYNC
    • 2—FAST-SYNC
    • 3—NO-STATE-TO-SYNC

    Enumerated

    2052

    Juniper-Synchronization

    JSRC, PTSP

    Describes the state of synchronization:

    • 1—NO-SYNC; this is the default state
    • 2—SYNC-IN-PROGRESS
    • 3—SYNC-COMPLETE

    Enumerated

    2053

    Juniper-Acct-Record

    JSRC, PTSP

    Statistics data for each policy installed for this subscriber. Includes Juniper-Policy-Name.

    Grouped

    2054

    Juniper-Acct-Collect

    JSRC, PTSP

    Specifies whether to collect accounting data for the installed policy (service) when included in the Juniper-Policy-Install AVP:

    • 1—COLLECT_ACCT
    • 2—NOT_COLLECT_ACCT

    Enumerated

    2058

    Juniper-State-ID

    JSRC, PTSP

    Specifies the value assigned to each synchronization cycle for the purpose of identifying which messages to discard. All solicited requests containing the same Juniper-State-ID belong to the same Session-Resource-Query (SRQ) synchronization cycle. Messages from a previous synchronization cycle are discarded. When a new cycle begins, the value of the Juniper-State-ID AVP is increased by 1.

    Note: For solicited synchronization requests, the SRQ message contains the incremented Juniper-State-ID value. For unsolicited synchronization requests, the Session-Resource-Reply (SRR) message contains the incremented Juniper-State-ID value.

    Unsigned32

    2100

    Juniper-Virtual-Router

    Gx-Plus, JSRC

    Specifies the name of the virtual router associated with the session.

    UTF8String

    2101

    Juniper-Provisioning-Source

    Gx-Plus

    Specifies the provisioning source for the session in CCR-N and JSDA messages:

    • 1—Local
    • 2—Remote

    Enumerated

    2102

    Juniper-Provisioning-Descriptor

    Gx-Plus

    Defines the group used in JSDA messages that includes the session ID, and optionally Juniper-Provisioning-Source and subscriber data.

    Grouped

    2103

    Juniper-Event-Type

    Gx-Plus

    Communicates the event type in JSER messages:

    • 1–Cold boot; all sessions are lost
    • 2—Warm boot; sessions are preserved
    • 3—Discovery requested by the operator
    • 4—Are you there? (AYT); application level ping sent when the notification is due to no response or an erroneous response from the PCRF, or due to a configuration change.
    • 5—AWD; application-level watchdog sent by the router when there has been no other activity for 15 seconds. The watchdog is sent every 5 seconds unless preempted by higher-priority synchronization event.

    Enumerated

    2104

    Juniper-Discovery-Descriptor

    Gx-Plus

    Defines the group used in JSDR and JSDA messages that includes parameters of a discovery request: discovery type, request string, verbosity, max results.

    Grouped

    2105

    Juniper-Discovery-Type

    Gx-Plus

    Specifies the discovery subcommand for JSDR and JSDA messages:

    • 1—Exact: look up the data for the specified session.
    • 2—Bulk: Provide get-bulk kinds of information after the specified string.
    • 3—Done: Stop retries for all sessions up to the specified session.

    Enumerated

    2106

    Juniper-Verbosity-Level

    Gx-Plus

    Specifies the verbosity level for JSDR and JSDA messages:

    • 1—Summary; include only the Session-Id AVP.
    • 2—Brief; include the Session-Id, Juniper-Virtual-Router, and Framed-IP-Address AVPs.
    • 3—Detail; include the Session-Id, Juniper-Provisioning-Source, Juniper-Virtual-Router, Framed-IP-Address, and Event-Timestamp AVPs.

      4—Extensive; include all available session information.

    Enumerated

    2107

    Juniper-String-A

    Gx-Plus

    Specifies a generic string that is interpreted according to the context.

    UTF8String

    2108

    Juniper-String-B

    Gx-Plus

    Specifies a generic string that is interpreted according to the context.

    UTF8String

    2109

    Juniper-String-C

    Gx-Plus

    Specifies a generic string that is interpreted according to the context.

    UTF8String

    2110

    Juniper-Unsigned32-A

    Gx-Plus

    Specifies a generic, unsigned 32-bit integer that is interpreted according to the context.

    Unsigned32

    2111

    Juniper-Unsigned32-B

    Gx-Plus

    Specifies a generic, unsigned 32-bit integer that is interpreted according to the context.

    Unsigned32

    2112

    Juniper-Unsigned32-C

    Gx-Plus

    Specifies a generic, unsigned 32-bit integer that is interpreted according to the context.

    Unsigned32

    Tekelec AVPs are used only for Gx-Plus. These AVPs have an enterprise number of 21274. Table 3 lists the Tekelec AVPs. These four variables are used to provide substitution values for user-defined CoS service variables.

    Table 3: Tekelec Diameter AVPs

    Attribute Number

    Diameter AVP

    Application

    Description

    Type

    5555

    Tekelec-Charging-Rule-Argument-Name

    Gx-Plus

    Defines the name of the service variable to be replaced.

    OctetString

    5556

    Tekelec-Charging-Rule-Argument-Value

    Gx-Plus

    Defines the value of the service variable to be replaced.

    OctetString

    5557

    Tekelec-Charging-Rule-Argument

    Gx-Plus

    Defines the substitution attributes used to replace service variables. Includes Tekelec-Charging-Rule-Argument-Name AVP (5555) and Tekelec-Charging-Rule-Argument-Value AVP (5556).

    Grouped

    5558

    Tekelec-Charging-Rule-With-Arguments

    Gx-Plus

    Requests the installation of the rule (activation of the service) designated by the included Charging-Rule-Name AVP (1005). Requested service variable substitutions are provided by the optionally included Tekelec-Charging-Rule-Argument AVP (5557).

    Grouped

    Published: 2013-02-11