Class DiameterResultCode
- java.lang.Object
-
- org.jainslee.resources.diameter.base.DiameterResultCode
-
public class DiameterResultCode extends Object
Contains constants for result codes defined by Diameter Base specification.- Author:
- Open Cloud
-
-
Field Summary
Fields Modifier and Type Field Description static int
DIAMETER_APPLICATION_UNSUPPORTED
A request was sent for an application that is not supported.static int
DIAMETER_AUTHENTICATION_REJECTED
The authentication process for the user failed, most likely due to an invalid password used by the user.static int
DIAMETER_AUTHORIZATION_REJECTED
A request was received for which the user could not be authorized.static int
DIAMETER_AVP_NOT_ALLOWED
A message was received with an AVP that MUST NOT be present.static int
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_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_COMMAND_UNSUPPORTED
The Request contained a Command-Code that the receiver did not recognize or support.static int
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_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_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_LENGTH
The request contained an AVP with an invalid length.static int
DIAMETER_INVALID_AVP_VALUE
The request contained an AVP with an invalid value in its data portion.static int
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_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_MESSAGE_LENGTH
This error is returned when a request is received with an invalid message length.static int
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_LOOP_DETECTED
An agent detected a loop while trying to get the message to the intended recipient.static int
DIAMETER_MISSING_AVP
The request did not contain an AVP that is required by the Command Code definition.static int
DIAMETER_MULTI_ROUND_AUTH
This informational error is returned by a Diameter server to inform the access device that the authentication mechanism being used requires multiple round trips, and a subsequent request needs to be issued in order for access to be granted.static int
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_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_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_REALM_NOT_SERVED
The intended realm of the request is not recognized.static int
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_RESOURCES_EXCEEDED
A request was received that cannot be authorized because the user has already expended allowed resources.static int
DIAMETER_SUCCESS
The Request was successfully completed.static int
DIAMETER_TOO_BUSY
When returned, a Diameter node SHOULD attempt to send the message to an alternate peer.static int
DIAMETER_UNABLE_TO_COMPLY
This error is returned when a request is rejected for unspecified reasons.static int
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_UNKNOWN_PEER
A CER was received from an unknown peer.static int
DIAMETER_UNKNOWN_SESSION_ID
The request contained an unknown Session-Id.static int
DIAMETER_UNSUPPORTED_VERSION
This error is returned when a request was received, whose version number is unsupported.static int
ELECTION_LOST
The peer has determined that it has lost the election process and has therefore disconnected the transport connection.
-
Constructor Summary
Constructors Constructor Description DiameterResultCode()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
isPermanentFailure(long resultCode)
Test whether the given result code is a permanent failure (5xxx).static boolean
isProtocolError(long resultCode)
Test whether the given result code is a protocol error (3xxx).static boolean
isSuccess(long resultCode)
Test whether the given result code is success (2xxx).static boolean
isTransientFailure(long resultCode)
Test whether the given result code is a transient failure (4xxx).
-
-
-
Field Detail
-
DIAMETER_MULTI_ROUND_AUTH
public static final int DIAMETER_MULTI_ROUND_AUTH
This informational error is returned by a Diameter server to inform the access device that the authentication mechanism being used requires multiple round trips, and a subsequent request needs to be issued in order for access to be granted.- See Also:
- Constant Field Values
-
DIAMETER_SUCCESS
public static final int DIAMETER_SUCCESS
The Request was successfully completed.- See Also:
- Constant Field Values
-
DIAMETER_LIMITED_SUCCESS
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_COMMAND_UNSUPPORTED
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_UNABLE_TO_DELIVER
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_REALM_NOT_SERVED
public static final int DIAMETER_REALM_NOT_SERVED
The intended realm of the request is not recognized.- See Also:
- Constant Field Values
-
DIAMETER_TOO_BUSY
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_LOOP_DETECTED
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_REDIRECT_INDICATION
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_APPLICATION_UNSUPPORTED
public static final int DIAMETER_APPLICATION_UNSUPPORTED
A request was sent for an application that is not supported.- See Also:
- Constant Field Values
-
DIAMETER_INVALID_HDR_BITS
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_INVALID_AVP_BITS
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_UNKNOWN_PEER
public static final int DIAMETER_UNKNOWN_PEER
A CER was received from an unknown peer.- See Also:
- Constant Field Values
-
DIAMETER_AUTHENTICATION_REJECTED
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_OUT_OF_SPACE
public static final int 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.- See Also:
- Constant Field Values
-
ELECTION_LOST
public static final int ELECTION_LOST
The peer has determined that it has lost the election process and has therefore disconnected the transport connection.- See Also:
- Constant Field Values
-
DIAMETER_AVP_UNSUPPORTED
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_UNKNOWN_SESSION_ID
public static final int DIAMETER_UNKNOWN_SESSION_ID
The request contained an unknown Session-Id.- See Also:
- Constant Field Values
-
DIAMETER_AUTHORIZATION_REJECTED
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_INVALID_AVP_VALUE
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_MISSING_AVP
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_RESOURCES_EXCEEDED
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_CONTRADICTING_AVPS
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_AVP_NOT_ALLOWED
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_AVP_OCCURS_TOO_MANY_TIMES
public static final int 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- See Also:
- Constant Field Values
-
DIAMETER_NO_COMMON_APPLICATION
public static final int DIAMETER_NO_COMMON_APPLICATION
This error is returned when a CER message is received, and there are no common applications supported between the peers.- See Also:
- Constant Field Values
-
DIAMETER_UNSUPPORTED_VERSION
public static final int DIAMETER_UNSUPPORTED_VERSION
This error is returned when a request was received, whose version number is unsupported.- See Also:
- Constant Field Values
-
DIAMETER_UNABLE_TO_COMPLY
public static final int DIAMETER_UNABLE_TO_COMPLY
This error is returned when a request is rejected for unspecified reasons.- See Also:
- Constant Field Values
-
DIAMETER_INVALID_BIT_IN_HEADER
public static final int DIAMETER_INVALID_BIT_IN_HEADER
This error is returned when an unrecognized bit in the Diameter header is set to one (1).- See Also:
- Constant Field Values
-
DIAMETER_INVALID_AVP_LENGTH
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_INVALID_MESSAGE_LENGTH
public static final int DIAMETER_INVALID_MESSAGE_LENGTH
This error is returned when a request is received with an invalid message length.- See Also:
- Constant Field Values
-
DIAMETER_INVALID_AVP_BIT_COMBO
public static final int 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.- See Also:
- Constant Field Values
-
DIAMETER_NO_COMMON_SECURITY
public static final int 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.- See Also:
- Constant Field Values
-
-
Method Detail
-
isSuccess
public static boolean isSuccess(long resultCode)
Test whether the given result code is success (2xxx). Errors that fall within the Success category are used to inform a peer that a request has been successfully completed.
-
isProtocolError
public static boolean isProtocolError(long resultCode)
Test whether the given result code is a protocol error (3xxx). Errors that fall within the Protocol Error category SHOULD be treated on a per-hop basis, and Diameter proxies MAY attempt to correct the error, if it is possible. Note that these and only these errors MUST only be used in answer messages whose 'E' bit is set.
-
isTransientFailure
public static boolean isTransientFailure(long resultCode)
Test whether the given result code is a transient failure (4xxx). Errors that fall within the transient failures category are used to inform a peer that the request could not be satisfied at the time it was received, but MAY be able to satisfy the request in the future.
-
isPermanentFailure
public static boolean isPermanentFailure(long resultCode)
Test whether the given result code is a permanent failure (5xxx). Errors that fall within the permanent failures category are used to inform the peer that the request failed, and should not be attempted again.
-
-