org.cipango.diameter.base
Class Common

java.lang.Object
  extended by org.cipango.diameter.base.Common

public abstract class Common
extends java.lang.Object

Defines all data formats, commands and AVPs specified in Diameter Base.

See Also:
RFC 3588

Nested Class Summary
static class Common.AuthSessionState
           
static class Common.CustomEnumDataFormat<E extends java.lang.Enum<E> & Common.CustomEnumValues>
           
static interface Common.CustomEnumValues
           
static class Common.DisconnectCause
           
static class Common.EnumDataFormat<E extends java.lang.Enum<E>>
           
 
Field Summary
static DataFormat<java.net.InetAddress> __address
           
static DataFormat<java.util.Date> __date
           
static DataFormat<AVPList> __grouped
          The Data field is specified as a sequence of AVPs i.e diameter messages or grouped AVPs
static DataFormat<byte[]> __octetString
          The data contains arbitrary data of variable length
static DataFormat<java.lang.Integer> __unsigned32
           
static DataFormat<java.lang.String> __utf8String
          The UTF8String format is derived from the OctetString AVP Base Format.
static Type<java.lang.Integer> ACCT_APPLICATION_ID
          The Acct-Application-Id AVP (AVP Code 259) is of type Unsigned32 and is used in order to advertise support of the Accounting portion of an application (see Section 2.4).
static int ACCT_APPLICATION_ID_ORDINAL
           
static Type<java.lang.Integer> AUTH_APPLICATION_ID
          The Auth-Application-Id AVP (AVP Code 258) is of type Unsigned32 and is used in order to advertise support of the Authentication and Authorization portion of an application (see Section 2.4).
static int AUTH_APPLICATION_ID_ORDINAL
           
static Type<Common.AuthSessionState> AUTH_SESSION_STATE
          The Auth-Session-State AVP (AVP Code 277) is of type Enumerated and specifies whether state is maintained for a particular session.
static int AUTH_SESSION_STATE_ORDINAL
           
static DiameterCommand CEA
          The Capabilities-Exchange-Answer (CEA), indicated by the Command-Code set to 257 and the Command Flags' 'R' bit cleared, is sent in response to a CER message.
static int CEA_ORDINAL
           
static DiameterCommand CER
          The Capabilities-Exchange-Request (CER), indicated by the Command- Code set to 257 and the Command Flags' 'R' bit set, is sent to exchange local capabilities.
static int CER_ORDINAL
           
static Type<java.lang.String> DESTINATION_HOST
          The Destination-Host AVP (AVP Code 293) is of type DiameterIdentity.
static int DESTINATION_HOST_ORDINAL
           
static Type<java.lang.String> DESTINATION_REALM
          The Destination-Realm AVP (AVP Code 283) is of type DiameterIdentity, and contains the realm the message is to be routed to.
static int DESTINATION_REALM_ORDINAL
           
static ResultCode DIAMETER_APPLICATION_UNSUPPORTED
          A request was sent for an application that is not supported.
static int DIAMETER_APPLICATION_UNSUPPORTED_ORDINAL
           
static ResultCode DIAMETER_AUTHENTICATION_REJECTED
          The authentication process for the user failed, most likely due to an invalid password used by the user.
static int DIAMETER_AUTHENTICATION_REJECTED_ORDINAL
           
static ResultCode DIAMETER_AUTHORIZATION_REJECTED
          A request was received for which the user could not be authorized.
static int DIAMETER_AUTHORIZATION_REJECTED_ORDINAL
           
static ResultCode DIAMETER_AVP_NOT_ALLOWED
          A message was received with an AVP that MUST NOT be present.
static int DIAMETER_AVP_NOT_ALLOWED_ORDINAL
           
static ResultCode DIAMETER_AVP_OCCURS_TOO_MANY_TIMES
          A message was received that included an AVP that appeared more often than permitted in the message definition.
static int DIAMETER_AVP_OCCURS_TOO_MANY_TIMES_ORDINAL
           
static ResultCode DIAMETER_AVP_UNSUPPORTED
          The peer received a message that contained an AVP that is not recognized or supported and was marked with the Mandatory bit.
static int DIAMETER_AVP_UNSUPPORTED_ORDINAL
           
static ResultCode DIAMETER_COMMAND_UNSUPPORTED
          The Request contained a Command-Code that the receiver did not recognize or support.
static int DIAMETER_COMMAND_UNSUPPORTED_ORDINAL
           
static ResultCode DIAMETER_CONTRADICTING_AVPS
          The Home Diameter server has detected AVPs in the request that contradicted each other, and is not willing to provide service to the user.
static int DIAMETER_CONTRADICTING_AVPS_ORDINAL
           
static ResultCode DIAMETER_INVALID_AVP_BIT_COMBO
          The request contained an AVP with which is not allowed to have the given value in the AVP Flags field.
static int DIAMETER_INVALID_AVP_BIT_COMBO_ORDINAL
           
static ResultCode DIAMETER_INVALID_AVP_BITS
          A request was received that included an AVP whose flag bits are set to an unrecognized value, or that is inconsistent with the AVP's definition.
static int DIAMETER_INVALID_AVP_BITS_ORDINAL
           
static ResultCode DIAMETER_INVALID_AVP_LENGTH
          The request contained an AVP with an invalid length.
static int DIAMETER_INVALID_AVP_LENGTH_ORDINAL
           
static ResultCode DIAMETER_INVALID_AVP_VALUE
          The request contained an AVP with an invalid value in its data portion.
static int DIAMETER_INVALID_AVP_VALUE_ORDINAL
           
static ResultCode DIAMETER_INVALID_BIT_IN_HEADER
          This error is returned when an unrecognized bit in the Diameter header is set to one (1).
static int DIAMETER_INVALID_BIT_IN_HEADER_ORDINAL
           
static ResultCode DIAMETER_INVALID_HDR_BITS
          A request was received whose bits in the Diameter header were either set to an invalid combination, or to a value that is inconsistent with the command code's definition.
static int DIAMETER_INVALID_HDR_BITS_ORDINAL
           
static ResultCode DIAMETER_INVALID_MESSAGE_LENGTH
          This error is returned when a request is received with an invalid message length.
static int DIAMETER_INVALID_MESSAGE_LENGTH_ORDINAL
           
static ResultCode DIAMETER_LIMITED_SUCCESS
          When returned, the request was successfully completed, but additional processing is required by the application in order to provide service to the user.
static int DIAMETER_LIMITED_SUCCESS_ORDINAL
           
static ResultCode DIAMETER_LOOP_DETECTED
          An agent detected a loop while trying to get the message to the intended recipient.
static int DIAMETER_LOOP_DETECTED_ORDINAL
           
static ResultCode DIAMETER_MISSING_AVP
          The request did not contain an AVP that is required by the Command Code definition.
static int DIAMETER_MISSING_AVP_ORDINAL
           
static ResultCode DIAMETER_NO_COMMON_APPLICATION
          This error is returned when a CER message is received, and there are no common applications supported between the peers.
static int DIAMETER_NO_COMMON_APPLICATION_ORDINAL
           
static ResultCode DIAMETER_NO_COMMON_SECURITY
          This error is returned when a CER message is received, and there are no common security mechanisms supported between the peers.
static int DIAMETER_NO_COMMON_SECURITY_ORDINAL
           
static ResultCode DIAMETER_OUT_OF_SPACE
          A Diameter node received the accounting request but was unable to commit it to stable storage due to a temporary lack of space.
static int DIAMETER_OUT_OF_SPACE_ORDINAL
           
static ResultCode DIAMETER_REALM_NOT_SERVED
          The intended realm of the request is not recognized.
static int DIAMETER_REALM_NOT_SERVED_ORDINAL
           
static ResultCode DIAMETER_REDIRECT_INDICATION
          A redirect agent has determined that the request could not be satisfied locally and the initiator of the request should direct the request directly to the server, whose contact information has been added to the response.
static int DIAMETER_REDIRECT_INDICATION_ORDINAL
           
static ResultCode DIAMETER_RESOURCES_EXCEEDED
          A request was received that cannot be authorized because the user has already expended allowed resources.
static int DIAMETER_RESOURCES_EXCEEDED_ORDINAL
           
static ResultCode DIAMETER_SUCCESS
          The Request was successfully completed
static int DIAMETER_SUCCESS_ORDINAL
           
static ResultCode DIAMETER_TOO_BUSY
          When returned, a Diameter node SHOULD attempt to send the message to an alternate peer.
static int DIAMETER_TOO_BUSY_ORDINAL
           
static ResultCode DIAMETER_UNABLE_TO_COMPLY
          This error is returned when a request is rejected for unspecified reasons.
static int DIAMETER_UNABLE_TO_COMPLY_ORDINAL
           
static ResultCode DIAMETER_UNABLE_TO_DELIVER
          This error is given when Diameter can not deliver the message to the destination, either because no host within the realm supporting the required application was available to process the request, or because Destination-Host AVP was given without the associated Destination-Realm AVP.
static int DIAMETER_UNABLE_TO_DELIVER_ORDINAL
           
static ResultCode DIAMETER_UNKNOWN_PEER
          A CER was received from an unknown peer.
static int DIAMETER_UNKNOWN_PEER_ORDINAL
           
static ResultCode DIAMETER_UNKNOWN_SESSION_ID
          The request contained an unknown Session-Id.
static int DIAMETER_UNKNOWN_SESSION_ID_ORDINAL
           
static ResultCode DIAMETER_UNSUPPORTED_VERSION
          This error is returned when a request was received, whose version number is unsupported.
static int DIAMETER_UNSUPPORTED_VERSION_ORDINAL
           
static Type<java.lang.String> DIGEST_ALGORITHM
          Description This attribute holds the algorithm parameter that influences the HTTP Digest calculation.
static int DIGEST_ALGORITHM_ORDINAL
           
static Type<java.lang.String> DIGEST_HA1
          Description This attribute is used to allow the generation of an Authentication-Info header, even if the HTTP-style response's body is required for the calculation of the rspauth value.
static int DIGEST_HA1_ORDINAL
           
static Type<java.lang.String> DIGEST_QOP
          Description: This attribute holds the Quality of Protection parameter that influences the HTTP Digest calculation.
static int DIGEST_QOP_ORDINAL
           
static Type<java.lang.String> DIGEST_REALM
          Description: This attribute describes a protection space component of the RADIUS server.
static int DIGEST_REALM_ORDINAL
           
static Type<Common.DisconnectCause> DISCONNECT_CAUSE
          The Disconnect-Cause AVP (AVP Code 273) is of type Enumerated.
static int DISCONNECT_CAUSE_ORDINAL
           
static DiameterCommand DPA
          Upon receipt of this message, the transport connection is shutdown.
static int DPA_ORDINAL
           
static DiameterCommand DPR
          The Disconnect-Peer-Request (DPR), indicated by the Command-Code set to 282 and the Command Flags' 'R' bit set, is sent to a peer to inform its intentions to shutdown the transport connection.
static int DPR_ORDINAL
           
static DiameterCommand DWA
           <DWA> ::= < Diameter Header: 280 > { Result-Code } { Origin-Host } { Origin-Realm } [ Error-Message ] * [ Failed-AVP ] [ Original-State-Id ]
static int DWA_ORDINAL
           
static DiameterCommand DWR
           <DWR> ::= < Diameter Header: 280, REQ > { Origin-Host } { Origin-Realm } [ Origin-State-Id ]
static int DWR_ORDINAL
           
static ResultCode ELECTION_LOST
          The peer has determined that it has lost the election process and has therefore disconnected the transport connection.
static int ELECTION_LOST_ORDINAL
           
static Type<AVPList> EXPERIMENTAL_RESULT
          The Experimental-Result AVP (AVP Code 297) is of type Grouped, and indicates whether a particular vendor-specific request was completed successfully or whether an error occurred.
static Type<java.lang.Integer> EXPERIMENTAL_RESULT_CODE
          The Experimental-Result-Code AVP (AVP Code 298) is of type Unsigned32 and contains a vendor-assigned value representing the result of processing the request.
static int EXPERIMENTAL_RESULT_CODE_ORDINAL
           
static int EXPERIMENTAL_RESULT_ORDINAL
           
static Type<AVPList> FAILED_AVP
          The Failed-AVP AVP (AVP Code 279) is of type Grouped and provides debugging information in cases where a request is rejected or not fully processed due to erroneous information in a specific AVP.
static int FAILED_AVP_ORDINAL
           
static Type<java.lang.Integer> FIRMWARE_REVISION
          The Firmware-Revision AVP (AVP Code 267) is of type Unsigned32 and is used to inform a Diameter peer of the firmware revision of the issuing device.
static int FIRMWARE_REVISION_ORDINAL
           
static Type<java.net.InetAddress> HOST_IP_ADDRESS
          The Host-IP-Address AVP (AVP Code 257) is of type Address and is used to inform a Diameter peer of the sender's IP address.
static int HOST_IP_ADDRESS_ORDINAL
           
static int IETF_VENDOR_ID
           
static Type<java.lang.String> ORIGIN_HOST
          The Origin-Host AVP (AVP Code 264) is of type DiameterIdentity, and MUST be present in all Diameter messages.
static int ORIGIN_HOST_ORDINAL
           
static Type<java.lang.String> ORIGIN_REALM
          The Origin-Realm AVP (AVP Code 296) is of type DiameterIdentity.
static int ORIGIN_REALM_ORDINAL
           
static Type<java.lang.Integer> ORIGIN_STATE_ID
          The Origin-State-Id AVP (AVP Code 278), of type Unsigned32, is a monotonically increasing value that is advanced whenever a Diameter entity restarts with loss of previous state, for example upon reboot.
static int ORIGIN_STATE_ID_ORDINAL
           
static Type<java.lang.String> PRODUCT_NAME
          The Product-Name AVP (AVP Code 269) is of type UTF8String, and contains the vendor assigned name for the product.
static int PRODUCT_NAME_ORDINAL
           
static Type<java.lang.String> REDIRECT_HOST
          One or more of instances of this AVP MUST be present if the answer message's 'E' bit is set and the Result-Code AVP is set to DIAMETER_REDIRECT_INDICATION.
static int REDIRECT_HOST_ORDINAL
           
static Type<java.lang.Integer> RESULT_CODE
          The Result-Code AVP (AVP Code 268) is of type Unsigned32 and indicates whether a particular request was completed successfully or whether an error occurred.
static int RESULT_CODE_ORDINAL
           
static Type<java.lang.String> SESSION_ID
          The Session-Id AVP (AVP Code 263) is of type UTF8String and is used to identify a specific session (see Section 8).
static int SESSION_ID_ORDINAL
           
static Type<java.lang.Integer> SUPPORTED_VENDOR_ID
          The Supported-Vendor-Id AVP (AVP Code 265) is of type Unsigned32 and contains the IANA "SMI Network Management Private Enterprise Codes" [ASSIGNNO] value assigned to a vendor other than the device vendor.
static int SUPPORTED_VENDOR_ID_ORDINAL
           
static Type<java.lang.String> USER_NAME
          The User-Name AVP (AVP Code 1) [RADIUS] is of type UTF8String, which contains the User-Name, in a format consistent with the NAI specification [NAI].
static int USER_NAME_ORDINAL
           
static Type<java.lang.Integer> VENDOR_ID
          The Vendor-Id AVP (AVP Code 266) is of type Unsigned32 and contains the IANA "SMI Network Management Private Enterprise Codes" [ASSIGNNO] value assigned to the vendor of the Diameter application.
static int VENDOR_ID_ORDINAL
           
static Type<AVPList> VENDOR_SPECIFIC_APPLICATION_ID
          The Vendor-Specific-Application-Id AVP (AVP Code 260) is of type Grouped and is used to advertise support of a vendor-specific Diameter Application.
static int VENDOR_SPECIFIC_APPLICATION_ID_ORDINAL
           
 
Constructor Summary
Common()
           
 
Method Summary
static Type<java.net.InetAddress> newAddressType(java.lang.String name, int code)
           
static Type<java.util.Date> newDateType(java.lang.String name, int code)
           
static
<T extends java.lang.Enum<T>>
Type<T>
newEnumType(java.lang.String name, int code, java.lang.Class<T> clazz)
           
static
<T extends java.lang.Enum<T>>
Type<T>
newEnumType(java.lang.String name, int vendorId, int code, java.lang.Class<T> clazz)
           
static Type<AVPList> newGroupedType(java.lang.String name, int code)
           
static Type<byte[]> newOctetStringType(java.lang.String name, int code)
           
static Type<java.lang.Integer> newUnsigned32Type(java.lang.String name, int code)
           
static Type<java.lang.String> newUTF8StringType(java.lang.String name, int code)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IETF_VENDOR_ID

public static final int IETF_VENDOR_ID
See Also:
Constant Field Values

__grouped

public static DataFormat<AVPList> __grouped
The Data field is specified as a sequence of AVPs i.e diameter messages or grouped AVPs


__octetString

public static final DataFormat<byte[]> __octetString
The data contains arbitrary data of variable length


__utf8String

public static final DataFormat<java.lang.String> __utf8String
The UTF8String format is derived from the OctetString AVP Base Format. This is a human readable string represented using the ISO/IEC IS 10646-1 character set, encoded as an OctetString using the UTF-8 [UFT8] transformation format described in RFC 2279.


__address

public static final DataFormat<java.net.InetAddress> __address

__date

public static final DataFormat<java.util.Date> __date

__unsigned32

public static final DataFormat<java.lang.Integer> __unsigned32

USER_NAME_ORDINAL

public static final int USER_NAME_ORDINAL
See Also:
Constant Field Values

AUTH_APPLICATION_ID_ORDINAL

public static final int AUTH_APPLICATION_ID_ORDINAL
See Also:
Constant Field Values

AUTH_SESSION_STATE_ORDINAL

public static final int AUTH_SESSION_STATE_ORDINAL
See Also:
Constant Field Values

ACCT_APPLICATION_ID_ORDINAL

public static final int ACCT_APPLICATION_ID_ORDINAL
See Also:
Constant Field Values

SESSION_ID_ORDINAL

public static final int SESSION_ID_ORDINAL
See Also:
Constant Field Values

DESTINATION_HOST_ORDINAL

public static final int DESTINATION_HOST_ORDINAL
See Also:
Constant Field Values

DESTINATION_REALM_ORDINAL

public static final int DESTINATION_REALM_ORDINAL
See Also:
Constant Field Values

DISCONNECT_CAUSE_ORDINAL

public static final int DISCONNECT_CAUSE_ORDINAL
See Also:
Constant Field Values

ORIGIN_HOST_ORDINAL

public static final int ORIGIN_HOST_ORDINAL
See Also:
Constant Field Values

ORIGIN_REALM_ORDINAL

public static final int ORIGIN_REALM_ORDINAL
See Also:
Constant Field Values

ORIGIN_STATE_ID_ORDINAL

public static final int ORIGIN_STATE_ID_ORDINAL
See Also:
Constant Field Values

FIRMWARE_REVISION_ORDINAL

public static final int FIRMWARE_REVISION_ORDINAL
See Also:
Constant Field Values

HOST_IP_ADDRESS_ORDINAL

public static final int HOST_IP_ADDRESS_ORDINAL
See Also:
Constant Field Values

RESULT_CODE_ORDINAL

public static final int RESULT_CODE_ORDINAL
See Also:
Constant Field Values

SUPPORTED_VENDOR_ID_ORDINAL

public static final int SUPPORTED_VENDOR_ID_ORDINAL
See Also:
Constant Field Values

VENDOR_ID_ORDINAL

public static final int VENDOR_ID_ORDINAL
See Also:
Constant Field Values

VENDOR_SPECIFIC_APPLICATION_ID_ORDINAL

public static final int VENDOR_SPECIFIC_APPLICATION_ID_ORDINAL
See Also:
Constant Field Values

PRODUCT_NAME_ORDINAL

public static final int PRODUCT_NAME_ORDINAL
See Also:
Constant Field Values

FAILED_AVP_ORDINAL

public static final int FAILED_AVP_ORDINAL
See Also:
Constant Field Values

REDIRECT_HOST_ORDINAL

public static final int REDIRECT_HOST_ORDINAL
See Also:
Constant Field Values

EXPERIMENTAL_RESULT_ORDINAL

public static final int EXPERIMENTAL_RESULT_ORDINAL
See Also:
Constant Field Values

EXPERIMENTAL_RESULT_CODE_ORDINAL

public static final int EXPERIMENTAL_RESULT_CODE_ORDINAL
See Also:
Constant Field Values

AUTH_SESSION_STATE

public static final Type<Common.AuthSessionState> AUTH_SESSION_STATE
The Auth-Session-State AVP (AVP Code 277) is of type Enumerated and specifies whether state is maintained for a particular session. The client MAY include this AVP in requests as a hint to the server, but the value in the server's answer message is binding.

See Also:
Common.AuthSessionState

AUTH_APPLICATION_ID

public static final Type<java.lang.Integer> AUTH_APPLICATION_ID
The Auth-Application-Id AVP (AVP Code 258) is of type Unsigned32 and is used in order to advertise support of the Authentication and Authorization portion of an application (see Section 2.4). The Auth-Application-Id MUST also be present in all Authentication and/or Authorization messages that are defined in a separate Diameter specification and have an Application ID assigned.


ACCT_APPLICATION_ID

public static final Type<java.lang.Integer> ACCT_APPLICATION_ID
The Acct-Application-Id AVP (AVP Code 259) is of type Unsigned32 and is used in order to advertise support of the Accounting portion of an application (see Section 2.4). The Acct-Application-Id MUST also be present in all Accounting messages. Exactly one of the Auth- Application-Id and Acct-Application-Id AVPs MAY be present.


ORIGIN_HOST

public static final Type<java.lang.String> ORIGIN_HOST
The Origin-Host AVP (AVP Code 264) is of type DiameterIdentity, and MUST be present in all Diameter messages. This AVP identifies the endpoint that originated the Diameter message. Relay agents MUST NOT modify this AVP. The value of the Origin-Host AVP is guaranteed to be unique within a single host. Note that the Origin-Host AVP may resolve to more than one address as the Diameter peer may support more than one address.


ORIGIN_REALM

public static final Type<java.lang.String> ORIGIN_REALM
The Origin-Realm AVP (AVP Code 296) is of type DiameterIdentity. This AVP contains the Realm of the originator of any Diameter message and MUST be present in all messages.


DESTINATION_REALM

public static final Type<java.lang.String> DESTINATION_REALM
The Destination-Realm AVP (AVP Code 283) is of type DiameterIdentity, and contains the realm the message is to be routed to. The Destination-Realm AVP MUST NOT be present in Answer messages. Diameter Clients insert the realm portion of the User-Name AVP. Diameter servers initiating a request message use the value of the Origin-Realm AVP from a previous message received from the intended target host (unless it is known a priori). When present, the Destination-Realm AVP is used to perform message routing decisions.

Request messages whose ABNF does not list the Destination-Realm AVP as a mandatory AVP are inherently non-routable messages.

This AVP SHOULD be placed as close to the Diameter header as possible.


DESTINATION_HOST

public static final Type<java.lang.String> DESTINATION_HOST
The Destination-Host AVP (AVP Code 293) is of type DiameterIdentity. This AVP MUST be present in all unsolicited agent initiated messages, MAY be present in request messages, and MUST NOT be present in Answer messages.

The absence of the Destination-Host AVP will cause a message to be sent to any Diameter server supporting the application within the realm specified in Destination-Realm AVP.

This AVP SHOULD be placed as close to the Diameter header as possible.


SESSION_ID

public static final Type<java.lang.String> SESSION_ID
The Session-Id AVP (AVP Code 263) is of type UTF8String and is used to identify a specific session (see Section 8). All messages pertaining to a specific session MUST include only one Session-Id AVP and the same value MUST be used throughout the life of a session. When present, the Session-Id SHOULD appear immediately following the Diameter Header (see Section 3).

The Session-Id MUST be globally and eternally unique, as it is meant to uniquely identify a user session without reference to any other information, and may be needed to correlate historical authentication information with accounting information. The Session-Id includes a mandatory portion and an implementation-defined portion; a recommended format for the implementation-defined portion is outlined below.

The Session-Id MUST begin with the sender's identity encoded in the DiameterIdentity type (see Section 4.4). The remainder of the Session-Id is delimited by a ";" character, and MAY be any sequence that the client can guarantee to be eternally unique; however, the following format is recommended, (square brackets [] indicate an optional element):

 <DiameterIdentity><high 32 bits>;<low 32 bits>[;<optional value>] 
 

and are decimal representations of the high and low 32 bits of a monotonically increasing 64-bit value. The 64-bit value is rendered in two part to simplify formatting by 32-bit processors. At startup, the high 32 bits of the 64-bit value MAY be initialized to the time, and the low 32 bits MAY be initialized to zero. This will for practical purposes eliminate the possibility of overlapping Session-Ids after a reboot, assuming the reboot process takes longer than a second. Alternatively, an implementation MAY keep track of the increasing value in non-volatile memory.

is implementation specific but may include a modem's device Id, a layer 2 address, timestamp, etc.

Example, in which there is no optional value: accesspoint7.acme.com;1876543210;523

Example, in which there is an optional value: accesspoint7.acme.com;1876543210;523;mobile@200.1.1.88

The Session-Id is created by the Diameter application initiating the session, which in most cases is done by the client. Note that a Session-Id MAY be used for both the authorization and accounting commands of a given application.


USER_NAME

public static final Type<java.lang.String> USER_NAME
The User-Name AVP (AVP Code 1) [RADIUS] is of type UTF8String, which contains the User-Name, in a format consistent with the NAI specification [NAI].


VENDOR_SPECIFIC_APPLICATION_ID

public static final Type<AVPList> VENDOR_SPECIFIC_APPLICATION_ID
The Vendor-Specific-Application-Id AVP (AVP Code 260) is of type Grouped and is used to advertise support of a vendor-specific Diameter Application. Exactly one of the Auth-Application-Id and Acct-Application-Id AVPs MAY be present. This AVP MUST also be present as the first AVP in all experimental commands defined in the vendor-specific application. This AVP SHOULD be placed as close to the Diameter header as possible.
 <Vendor-Specific-Application-Id> ::= < AVP Header: 260 > 
 		1* [ Vendor-Id ]
 		0*1{ Auth-Application-Id } 
 		0*1{ Acct-Application-Id }
 
 


VENDOR_ID

public static final Type<java.lang.Integer> VENDOR_ID
The Vendor-Id AVP (AVP Code 266) is of type Unsigned32 and contains the IANA "SMI Network Management Private Enterprise Codes" [ASSIGNNO] value assigned to the vendor of the Diameter application. In combination with the Supported-Vendor-Id AVP (Section 5.3.6), this MAY be used in order to know which vendor specific attributes may be sent to the peer. It is also envisioned that the combination of the Vendor-Id, Product-Name (Section 5.3.7) and the Firmware-Revision (Section 5.3.4) AVPs MAY provide very useful debugging information. A Vendor-Id value of zero in the CER or CEA messages is reserved and indicates that this field is ignored.


PRODUCT_NAME

public static final Type<java.lang.String> PRODUCT_NAME
The Product-Name AVP (AVP Code 269) is of type UTF8String, and contains the vendor assigned name for the product. The Product-Name AVP SHOULD remain constant across firmware revisions for the same product.


HOST_IP_ADDRESS

public static final Type<java.net.InetAddress> HOST_IP_ADDRESS
The Host-IP-Address AVP (AVP Code 257) is of type Address and is used to inform a Diameter peer of the sender's IP address. All source addresses that a Diameter node expects to use with SCTP [SCTP] MUST be advertised in the CER and CEA messages by including a Host-IP- Address AVP for each address. This AVP MUST ONLY be used in the CER and CEA messages.


DISCONNECT_CAUSE

public static final Type<Common.DisconnectCause> DISCONNECT_CAUSE
The Disconnect-Cause AVP (AVP Code 273) is of type Enumerated. A Diameter node MUST include this AVP in the Disconnect-Peer-Request message to inform the peer of the reason for its intention to shutdown the transport connection. The following values are supported:

See Also:
Common.DisconnectCause

RESULT_CODE

public static final Type<java.lang.Integer> RESULT_CODE
The Result-Code AVP (AVP Code 268) is of type Unsigned32 and indicates whether a particular request was completed successfully or whether an error occurred. All Diameter answer messages defined in IETF applications MUST include one Result-Code AVP. A non-successful Result-Code AVP (one containing a non 2xxx value other than DIAMETER_REDIRECT_INDICATION) MUST include the Error-Reporting-Host AVP if the host setting the Result-Code AVP is different from the identity encoded in the Origin-Host AVP.


EXPERIMENTAL_RESULT

public static final Type<AVPList> EXPERIMENTAL_RESULT
The Experimental-Result AVP (AVP Code 297) is of type Grouped, and indicates whether a particular vendor-specific request was completed successfully or whether an error occurred. Its Data field has the following ABNF grammar: AVP Format
    Experimental-Result ::= < AVP Header: 297 >
                               { Vendor-Id }
                               { Experimental-Result-Code }
 
The Vendor-Id AVP (see Section 5.3.3) in this grouped AVP identifies the vendor responsible for the assignment of the result code which follows. All Diameter answer messages defined in vendor-specific applications MUST include either one Result-Code AVP or one Experimental-Result AVP.


EXPERIMENTAL_RESULT_CODE

public static final Type<java.lang.Integer> EXPERIMENTAL_RESULT_CODE
The Experimental-Result-Code AVP (AVP Code 298) is of type Unsigned32 and contains a vendor-assigned value representing the result of processing the request.

It is recommended that vendor-specific result codes follow the same conventions given for the Result-Code AVP regarding the different types of result codes and the handling of errors (for non 2xxx values).


ORIGIN_STATE_ID

public static Type<java.lang.Integer> ORIGIN_STATE_ID
The Origin-State-Id AVP (AVP Code 278), of type Unsigned32, is a monotonically increasing value that is advanced whenever a Diameter entity restarts with loss of previous state, for example upon reboot. Origin-State-Id MAY be included in any Diameter message, including CER. A Diameter entity issuing this AVP MUST create a higher value for this AVP each time its state is reset. A Diameter entity MAY set Origin-State-Id to the time of startup, or it MAY use an incrementing counter retained in non-volatile memory across restarts. The Origin-State-Id, if present, MUST reflect the state of the entity indicated by Origin-Host. If a proxy modifies Origin-Host, it MUST either remove Origin-State-Id or modify it appropriately as well. Typically, Origin-State-Id is used by an access device that always starts up with no active sessions; that is, any session active prior to restart will have been lost. By including Origin-State-Id in a message, it allows other Diameter entities to infer that sessions associated with a lower Origin-State-Id are no longer active. If an access device does not intend for such inferences to be made, it MUST either not include Origin-State-Id in any message, or set its value to 0.


FIRMWARE_REVISION

public static final Type<java.lang.Integer> FIRMWARE_REVISION
The Firmware-Revision AVP (AVP Code 267) is of type Unsigned32 and is used to inform a Diameter peer of the firmware revision of the issuing device. For devices that do not have a firmware revision (general purpose computers running Diameter software modules, for instance), the revision of the Diameter software module may be reported instead.


FAILED_AVP

public static final Type<AVPList> FAILED_AVP
The Failed-AVP AVP (AVP Code 279) is of type Grouped and provides debugging information in cases where a request is rejected or not fully processed due to erroneous information in a specific AVP. The value of the Result-Code AVP will provide information on the reason for the Failed-AVP AVP. The possible reasons for this AVP are the presence of an improperly constructed AVP, an unsupported or unrecognized AVP, an invalid AVP value, the omission of a required AVP, the presence of an explicitly excluded AVP (see tables in Section 10), or the presence of two or more occurrences of an AVP which is restricted to 0, 1, or 0-1 occurrences. A Diameter message MAY contain one Failed-AVP AVP, containing the entire AVP that could not be processed successfully. If the failure reason is omission of a required AVP, an AVP with the missing AVP code, the missing vendor id, and a zero filled payload of the minimum required length for the omitted AVP will be added. ::= < AVP Header: 279 > 1* {AVP}


DIGEST_REALM_ORDINAL

public static final int DIGEST_REALM_ORDINAL
See Also:
Constant Field Values

DIGEST_QOP_ORDINAL

public static final int DIGEST_QOP_ORDINAL
See Also:
Constant Field Values

DIGEST_ALGORITHM_ORDINAL

public static final int DIGEST_ALGORITHM_ORDINAL
See Also:
Constant Field Values

DIGEST_HA1_ORDINAL

public static final int DIGEST_HA1_ORDINAL
See Also:
Constant Field Values

DIGEST_REALM

public static final Type<java.lang.String> DIGEST_REALM
Description: This attribute describes a protection space component of the RADIUS server. HTTP-style protocols differ in their definition of the protection space. See [RFC2617], Section 1.2, for details. It MUST only be used in Access-Request and Access-Challenge packets. Type: 104 for Digest-Realm Length: >=3 Text: In Access-Requests, the RADIUS client takes the value of the realm directive (realm-value according to [RFC2617]) without surrounding quotes from the HTTP-style request it wants to authenticate. In Access-Challenge packets, the RADIUS server puts the expected realm value into this attribute.


DIGEST_QOP

public static final Type<java.lang.String> DIGEST_QOP
Description: This attribute holds the Quality of Protection parameter that influences the HTTP Digest calculation. This attribute MUST only be used in Access-Request and Access-Challenge packets. A RADIUS client SHOULD insert one of the Digest-Qop attributes it has received in a previous Access-Challenge packet. RADIUS servers SHOULD insert at least one Digest-Qop attribute in an Access-Challenge packet. Digest-Qop is optional in order to preserve backward compatibility with a minimal implementation of [RFC2069]. Text: In Access-Requests, the RADIUS client takes the value of the qop directive (qop-value as described in [RFC2617]) from the HTTP-style request it wants to authenticate. In Access-Challenge packets, the RADIUS server puts a desired qop-value into this attribute. If the RADIUS server supports more than one "quality of protection" value, it puts each qop-value into a separate Digest-Qop attribute.


DIGEST_ALGORITHM

public static final Type<java.lang.String> DIGEST_ALGORITHM
Description This attribute holds the algorithm parameter that influences the HTTP Digest calculation. It MUST only be used in Access-Request and Access-Challenge packets. If this attribute is missing, MD5 is assumed. Text In Access-Requests, the RADIUS client takes the value of the algorithm directive (as described in [RFC2617], section 3.2.1) from the HTTP-style request it wants to authenticate. In Access-Challenge packets, the RADIUS server SHOULD put the desired algorithm into this attribute.


DIGEST_HA1

public static final Type<java.lang.String> DIGEST_HA1
Description This attribute is used to allow the generation of an Authentication-Info header, even if the HTTP-style response's body is required for the calculation of the rspauth value. It SHOULD be used in Access-Accept packets if the required quality of protection ('qop') is 'auth-int'. This attribute MUST NOT be sent if the qop parameter was not specified or has a value of 'auth' (in this case, use Digest-Response-Auth instead). The Digest-HA1 attribute MUST only be sent by the RADIUS server or processed by the RADIUS client if at least one of the following conditions is true: + The Digest-Algorithm attribute's value is 'MD5-sess' or 'AKAv1-MD5-sess'. + IPsec is configured to protect traffic between RADIUS client and RADIUS server with IPsec (see Section 8). This attribute MUST only be used in Access-Accept packets. Text This attribute contains the hexadecimal representation of H(A1) as described in [RFC2617], sections 3.1.3, 3.2.1, and 3.2.2.2.


CER_ORDINAL

public static final int CER_ORDINAL
See Also:
Constant Field Values

CEA_ORDINAL

public static final int CEA_ORDINAL
See Also:
Constant Field Values

DWR_ORDINAL

public static final int DWR_ORDINAL
See Also:
Constant Field Values

DWA_ORDINAL

public static final int DWA_ORDINAL
See Also:
Constant Field Values

DPR_ORDINAL

public static final int DPR_ORDINAL
See Also:
Constant Field Values

DPA_ORDINAL

public static final int DPA_ORDINAL
See Also:
Constant Field Values

CER

public static final DiameterCommand CER
The Capabilities-Exchange-Request (CER), indicated by the Command- Code set to 257 and the Command Flags' 'R' bit set, is sent to exchange local capabilities. Upon detection of a transport failure, this message MUST NOT be sent to an alternate peer. When Diameter is run over SCTP [SCTP], which allows for connections to span multiple interfaces and multiple IP addresses, the Capabilities-Exchange-Request message MUST contain one Host-IP- Address AVP for each potential IP address that MAY be locally used when transmitting Diameter messages.
 <CER> ::= < Diameter Header: 257, REQ >
           { Origin-Host }
           { Origin-Realm }
        1* { Host-IP-Address }
           { Vendor-Id }
           { Product-Name }
           [ Origin-State-Id ]
         * [ Supported-Vendor-Id ]
         * [ Auth-Application-Id ]
         * [ Inband-Security-Id ]
         * [ Acct-Application-Id ]
         * [ Vendor-Specific-Application-Id ]
           [ Firmware-Revision ]
         * [ AVP ]
  
  


CEA

public static final DiameterCommand CEA
The Capabilities-Exchange-Answer (CEA), indicated by the Command-Code set to 257 and the Command Flags' 'R' bit cleared, is sent in response to a CER message. When Diameter is run over SCTP [SCTP], which allows connections to span multiple interfaces, hence, multiple IP addresses, the Capabilities-Exchange-Answer message MUST contain one Host-IP-Address AVP for each potential IP address that MAY be locally used when transmitting Diameter messages. Message Format
 <CEA> ::= < Diameter Header: 257 >
          { Result-Code }
          { Origin-Host }
          { Origin-Realm }
       1* { Host-IP-Address }
          { Vendor-Id }
          { Product-Name }
          [ Origin-State-Id ]
          [ Error-Message ]
        * [ Failed-AVP ]
        * [ Supported-Vendor-Id ]
        * [ Auth-Application-Id ]
        * [ Inband-Security-Id ]
        * [ Acct-Application-Id ]
        * [ Vendor-Specific-Application-Id ]
          [ Firmware-Revision ]
        * [ AVP ]
  
  


DWR

public static final DiameterCommand DWR
 <DWR>  ::= < Diameter Header: 280, REQ >
 		{ Origin-Host }
 		{ Origin-Realm }
 		[ Origin-State-Id ] 
  

See Also:
ORIGIN_HOST, ORIGIN_REALM, ORIGIN_STATE_ID

DWA

public static final DiameterCommand DWA
 <DWA>  ::= < Diameter Header: 280 >
           { Result-Code }
           { Origin-Host }
           { Origin-Realm }
           [ Error-Message ]
         * [ Failed-AVP ]
           [ Original-State-Id ]
  


DPR

public static final DiameterCommand DPR
The Disconnect-Peer-Request (DPR), indicated by the Command-Code set to 282 and the Command Flags' 'R' bit set, is sent to a peer to inform its intentions to shutdown the transport connection. Upon detection of a transport failure, this message MUST NOT be sent to an alternate peer.
 <DPR> ::= < Diameter Header: 282, REQ >
            { Origin-Host }
            { Origin-Realm }
            { Disconnect-Cause }
  


DPA

public static final DiameterCommand DPA
Upon receipt of this message, the transport connection is shutdown.
 <DPA>  ::= < Diameter Header: 282 >
            { Result-Code }
            { Origin-Host }
            { Origin-Realm }
            [ Error-Message ]
          * [ Failed-AVP ]
  


SUPPORTED_VENDOR_ID

public static final Type<java.lang.Integer> SUPPORTED_VENDOR_ID
The Supported-Vendor-Id AVP (AVP Code 265) is of type Unsigned32 and contains the IANA "SMI Network Management Private Enterprise Codes" [ASSIGNNO] value assigned to a vendor other than the device vendor. This is used in the CER and CEA messages in order to inform the peer that the sender supports (a subset of) the vendor-specific AVPs defined by the vendor identified in this AVP.


REDIRECT_HOST

public static final Type<java.lang.String> REDIRECT_HOST
One or more of instances of this AVP MUST be present if the answer message's 'E' bit is set and the Result-Code AVP is set to DIAMETER_REDIRECT_INDICATION. Upon receiving the above, the receiving Diameter node SHOULD forward the request directly to one of the hosts identified in these AVPs. The server contained in the selected Redirect-Host AVP SHOULD be used for all messages pertaining to this session.


DIAMETER_SUCCESS_ORDINAL

public static final int DIAMETER_SUCCESS_ORDINAL
See Also:
Constant Field Values

DIAMETER_LIMITED_SUCCESS_ORDINAL

public static final int DIAMETER_LIMITED_SUCCESS_ORDINAL
See Also:
Constant Field Values

DIAMETER_COMMAND_UNSUPPORTED_ORDINAL

public static final int DIAMETER_COMMAND_UNSUPPORTED_ORDINAL
See Also:
Constant Field Values

DIAMETER_UNABLE_TO_DELIVER_ORDINAL

public static final int DIAMETER_UNABLE_TO_DELIVER_ORDINAL
See Also:
Constant Field Values

DIAMETER_REALM_NOT_SERVED_ORDINAL

public static final int DIAMETER_REALM_NOT_SERVED_ORDINAL
See Also:
Constant Field Values

DIAMETER_TOO_BUSY_ORDINAL

public static final int DIAMETER_TOO_BUSY_ORDINAL
See Also:
Constant Field Values

DIAMETER_LOOP_DETECTED_ORDINAL

public static final int DIAMETER_LOOP_DETECTED_ORDINAL
See Also:
Constant Field Values

DIAMETER_REDIRECT_INDICATION_ORDINAL

public static final int DIAMETER_REDIRECT_INDICATION_ORDINAL
See Also:
Constant Field Values

DIAMETER_APPLICATION_UNSUPPORTED_ORDINAL

public static final int DIAMETER_APPLICATION_UNSUPPORTED_ORDINAL
See Also:
Constant Field Values

DIAMETER_INVALID_HDR_BITS_ORDINAL

public static final int DIAMETER_INVALID_HDR_BITS_ORDINAL
See Also:
Constant Field Values

DIAMETER_INVALID_AVP_BITS_ORDINAL

public static final int DIAMETER_INVALID_AVP_BITS_ORDINAL
See Also:
Constant Field Values

DIAMETER_UNKNOWN_PEER_ORDINAL

public static final int DIAMETER_UNKNOWN_PEER_ORDINAL
See Also:
Constant Field Values

DIAMETER_AUTHENTICATION_REJECTED_ORDINAL

public static final int DIAMETER_AUTHENTICATION_REJECTED_ORDINAL
See Also:
Constant Field Values

DIAMETER_OUT_OF_SPACE_ORDINAL

public static final int DIAMETER_OUT_OF_SPACE_ORDINAL
See Also:
Constant Field Values

ELECTION_LOST_ORDINAL

public static final int ELECTION_LOST_ORDINAL
See Also:
Constant Field Values

DIAMETER_AVP_UNSUPPORTED_ORDINAL

public static final int DIAMETER_AVP_UNSUPPORTED_ORDINAL
See Also:
Constant Field Values

DIAMETER_UNKNOWN_SESSION_ID_ORDINAL

public static final int DIAMETER_UNKNOWN_SESSION_ID_ORDINAL
See Also:
Constant Field Values

DIAMETER_AUTHORIZATION_REJECTED_ORDINAL

public static final int DIAMETER_AUTHORIZATION_REJECTED_ORDINAL
See Also:
Constant Field Values

DIAMETER_INVALID_AVP_VALUE_ORDINAL

public static final int DIAMETER_INVALID_AVP_VALUE_ORDINAL
See Also:
Constant Field Values

DIAMETER_MISSING_AVP_ORDINAL

public static final int DIAMETER_MISSING_AVP_ORDINAL
See Also:
Constant Field Values

DIAMETER_RESOURCES_EXCEEDED_ORDINAL

public static final int DIAMETER_RESOURCES_EXCEEDED_ORDINAL
See Also:
Constant Field Values

DIAMETER_CONTRADICTING_AVPS_ORDINAL

public static final int DIAMETER_CONTRADICTING_AVPS_ORDINAL
See Also:
Constant Field Values

DIAMETER_AVP_NOT_ALLOWED_ORDINAL

public static final int DIAMETER_AVP_NOT_ALLOWED_ORDINAL
See Also:
Constant Field Values

DIAMETER_AVP_OCCURS_TOO_MANY_TIMES_ORDINAL

public static final int DIAMETER_AVP_OCCURS_TOO_MANY_TIMES_ORDINAL
See Also:
Constant Field Values

DIAMETER_NO_COMMON_APPLICATION_ORDINAL

public static final int DIAMETER_NO_COMMON_APPLICATION_ORDINAL
See Also:
Constant Field Values

DIAMETER_UNSUPPORTED_VERSION_ORDINAL

public static final int DIAMETER_UNSUPPORTED_VERSION_ORDINAL
See Also:
Constant Field Values

DIAMETER_UNABLE_TO_COMPLY_ORDINAL

public static final int DIAMETER_UNABLE_TO_COMPLY_ORDINAL
See Also:
Constant Field Values

DIAMETER_INVALID_BIT_IN_HEADER_ORDINAL

public static final int DIAMETER_INVALID_BIT_IN_HEADER_ORDINAL
See Also:
Constant Field Values

DIAMETER_INVALID_AVP_LENGTH_ORDINAL

public static final int DIAMETER_INVALID_AVP_LENGTH_ORDINAL
See Also:
Constant Field Values

DIAMETER_INVALID_MESSAGE_LENGTH_ORDINAL

public static final int DIAMETER_INVALID_MESSAGE_LENGTH_ORDINAL
See Also:
Constant Field Values

DIAMETER_INVALID_AVP_BIT_COMBO_ORDINAL

public static final int DIAMETER_INVALID_AVP_BIT_COMBO_ORDINAL
See Also:
Constant Field Values

DIAMETER_NO_COMMON_SECURITY_ORDINAL

public static final int DIAMETER_NO_COMMON_SECURITY_ORDINAL
See Also:
Constant Field Values

DIAMETER_SUCCESS

public static final ResultCode DIAMETER_SUCCESS
The Request was successfully completed


DIAMETER_LIMITED_SUCCESS

public static final ResultCode DIAMETER_LIMITED_SUCCESS
When returned, the request was successfully completed, but additional processing is required by the application in order to provide service to the user.


DIAMETER_COMMAND_UNSUPPORTED

public static final ResultCode DIAMETER_COMMAND_UNSUPPORTED
The Request contained a Command-Code that the receiver did not recognize or support. This MUST be used when a Diameter node receives an experimental command that it does not understand.


DIAMETER_UNABLE_TO_DELIVER

public static final ResultCode DIAMETER_UNABLE_TO_DELIVER
This error is given when Diameter can not deliver the message to the destination, either because no host within the realm supporting the required application was available to process the request, or because Destination-Host AVP was given without the associated Destination-Realm AVP.


DIAMETER_REALM_NOT_SERVED

public static final ResultCode DIAMETER_REALM_NOT_SERVED
The intended realm of the request is not recognized.


DIAMETER_TOO_BUSY

public static final ResultCode DIAMETER_TOO_BUSY
When returned, a Diameter node SHOULD attempt to send the message to an alternate peer. This error MUST only be used when a specific server is requested, and it cannot provide the requested service.


DIAMETER_LOOP_DETECTED

public static final ResultCode DIAMETER_LOOP_DETECTED
An agent detected a loop while trying to get the message to the intended recipient. The message MAY be sent to an alternate peer, if one is available, but the peer reporting the error has identified a configuration problem.


DIAMETER_REDIRECT_INDICATION

public static final ResultCode DIAMETER_REDIRECT_INDICATION
A redirect agent has determined that the request could not be satisfied locally and the initiator of the request should direct the request directly to the server, whose contact information has been added to the response. When set, the Redirect-Host AVP MUST be present.


DIAMETER_APPLICATION_UNSUPPORTED

public static final ResultCode DIAMETER_APPLICATION_UNSUPPORTED
A request was sent for an application that is not supported.


DIAMETER_INVALID_HDR_BITS

public static final ResultCode DIAMETER_INVALID_HDR_BITS
A request was received whose bits in the Diameter header were either set to an invalid combination, or to a value that is inconsistent with the command code's definition.


DIAMETER_INVALID_AVP_BITS

public static final ResultCode DIAMETER_INVALID_AVP_BITS
A request was received that included an AVP whose flag bits are set to an unrecognized value, or that is inconsistent with the AVP's definition.


DIAMETER_UNKNOWN_PEER

public static final ResultCode DIAMETER_UNKNOWN_PEER
A CER was received from an unknown peer.


DIAMETER_AUTHENTICATION_REJECTED

public static final ResultCode DIAMETER_AUTHENTICATION_REJECTED
The authentication process for the user failed, most likely due to an invalid password used by the user. Further attempts MUST only be tried after prompting the user for a new password.


DIAMETER_OUT_OF_SPACE

public static final ResultCode DIAMETER_OUT_OF_SPACE
A Diameter node received the accounting request but was unable to commit it to stable storage due to a temporary lack of space.


ELECTION_LOST

public static final ResultCode ELECTION_LOST
The peer has determined that it has lost the election process and has therefore disconnected the transport connection.


DIAMETER_AVP_UNSUPPORTED

public static final ResultCode DIAMETER_AVP_UNSUPPORTED
The peer received a message that contained an AVP that is not recognized or supported and was marked with the Mandatory bit. A Diameter message with this error MUST contain one or more Failed- AVP AVP containing the AVPs that caused the failure.


DIAMETER_UNKNOWN_SESSION_ID

public static final ResultCode DIAMETER_UNKNOWN_SESSION_ID
The request contained an unknown Session-Id.


DIAMETER_INVALID_AVP_VALUE

public static final ResultCode DIAMETER_INVALID_AVP_VALUE
The request contained an AVP with an invalid value in its data portion. A Diameter message indicating this error MUST include the offending AVPs within a Failed-AVP AVP.


DIAMETER_AUTHORIZATION_REJECTED

public static final ResultCode DIAMETER_AUTHORIZATION_REJECTED
A request was received for which the user could not be authorized. This error could occur if the service requested is not permitted to the user.


DIAMETER_MISSING_AVP

public static final ResultCode DIAMETER_MISSING_AVP
The request did not contain an AVP that is required by the Command Code definition. If this value is sent in the Result-Code AVP, a Failed-AVP AVP SHOULD be included in the message. The Failed-AVP AVP MUST contain an example of the missing AVP complete with the Vendor-Id if applicable. The value field of the missing AVP should be of correct minimum length and contain zeroes.


DIAMETER_RESOURCES_EXCEEDED

public static final ResultCode DIAMETER_RESOURCES_EXCEEDED
A request was received that cannot be authorized because the user has already expended allowed resources. An example of this error condition is a user that is restricted to one dial-up PPP port, attempts to establish a second PPP connection.


DIAMETER_CONTRADICTING_AVPS

public static final ResultCode DIAMETER_CONTRADICTING_AVPS
The Home Diameter server has detected AVPs in the request that contradicted each other, and is not willing to provide service to the user. One or more Failed-AVP AVPs MUST be present, containing the AVPs that contradicted each other.


DIAMETER_AVP_NOT_ALLOWED

public static final ResultCode DIAMETER_AVP_NOT_ALLOWED
A message was received with an AVP that MUST NOT be present. The Failed-AVP AVP MUST be included and contain a copy of the offending AVP.


DIAMETER_AVP_OCCURS_TOO_MANY_TIMES

public static final ResultCode DIAMETER_AVP_OCCURS_TOO_MANY_TIMES
A message was received that included an AVP that appeared more often than permitted in the message definition. The Failed-AVP AVP MUST be included and contain a copy of the first instance of the offending AVP that exceeded the maximum number of occurrences


DIAMETER_NO_COMMON_APPLICATION

public static final ResultCode DIAMETER_NO_COMMON_APPLICATION
This error is returned when a CER message is received, and there are no common applications supported between the peers.


DIAMETER_UNSUPPORTED_VERSION

public static final ResultCode DIAMETER_UNSUPPORTED_VERSION
This error is returned when a request was received, whose version number is unsupported.


DIAMETER_UNABLE_TO_COMPLY

public static final ResultCode DIAMETER_UNABLE_TO_COMPLY
This error is returned when a request is rejected for unspecified reasons.


DIAMETER_INVALID_BIT_IN_HEADER

public static final ResultCode DIAMETER_INVALID_BIT_IN_HEADER
This error is returned when an unrecognized bit in the Diameter header is set to one (1).


DIAMETER_INVALID_AVP_LENGTH

public static final ResultCode DIAMETER_INVALID_AVP_LENGTH
The request contained an AVP with an invalid length. A Diameter message indicating this error MUST include the offending AVPs within a Failed-AVP AVP.


DIAMETER_INVALID_MESSAGE_LENGTH

public static final ResultCode DIAMETER_INVALID_MESSAGE_LENGTH
This error is returned when a request is received with an invalid message length.


DIAMETER_INVALID_AVP_BIT_COMBO

public static final ResultCode DIAMETER_INVALID_AVP_BIT_COMBO
The request contained an AVP with which is not allowed to have the given value in the AVP Flags field. A Diameter message indicating this error MUST include the offending AVPs within a Failed-AVP AVP.


DIAMETER_NO_COMMON_SECURITY

public static final ResultCode DIAMETER_NO_COMMON_SECURITY
This error is returned when a CER message is received, and there are no common security mechanisms supported between the peers. A Capabilities-Exchange-Answer (CEA) MUST be returned with the Result-Code AVP set to DIAMETER_NO_COMMON_SECURITY.

Constructor Detail

Common

public Common()
Method Detail

newUTF8StringType

public static Type<java.lang.String> newUTF8StringType(java.lang.String name,
                                                       int code)

newGroupedType

public static Type<AVPList> newGroupedType(java.lang.String name,
                                           int code)

newUnsigned32Type

public static Type<java.lang.Integer> newUnsigned32Type(java.lang.String name,
                                                        int code)

newAddressType

public static Type<java.net.InetAddress> newAddressType(java.lang.String name,
                                                        int code)

newDateType

public static Type<java.util.Date> newDateType(java.lang.String name,
                                               int code)

newOctetStringType

public static Type<byte[]> newOctetStringType(java.lang.String name,
                                              int code)

newEnumType

public static <T extends java.lang.Enum<T>> Type<T> newEnumType(java.lang.String name,
                                                                int code,
                                                                java.lang.Class<T> clazz)

newEnumType

public static <T extends java.lang.Enum<T>> Type<T> newEnumType(java.lang.String name,
                                                                int vendorId,
                                                                int code,
                                                                java.lang.Class<T> clazz)


Copyright © 2010. All Rights Reserved.