Class 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.
    • 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
    • Constructor Detail

      • DiameterResultCode

        public DiameterResultCode()
    • 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.