Diameter at a Glance Telecom Authentication Process

List of Result Codes

List of Result-Codes. 

Kindly take printout of it, it shall help you during development or testing exercise.


Result-Code
Result-Code Value
Description
Informational
DIAMETER_MULTI_ROUND_AUTH
1001
Subsequent messages triggered by client shall also used in Authentication and to get access of required resources. Generally used in Diameter NAS
Success
DIAMETER_SUCCESS
2001
Request processed   Successfully
DIAMETER_LIMITED_SUCCESS
2002
Request is processed but some more processing is required by Server to provide access to user
Protocol Errors
[E-bit set]
DIAMETER_COMMAND_UNSUPPORTED
3001
Server returns it if Diameter Command-Code is un-recognized by server
3002
Message can’t be delivered because there is no Host with Diameter URI present in Destination-Host AVP in associated Realm.
DIAMETER_REALM_NOT_SERVED
3003
Intended Realm is not recognized.
DIAMETER_TOO_BUSY
3004
Shall return by server only when server unable to provide requested service, where all the pre-requisites are also met. Client should also send the request to alternate peer.
3005
3006
In Response from Redirect Agent.
DIAMETER_APPLICATION_UNSUPPORTED
3007

DIAMETER_INVALID_HDR_BITS
3008
It is sent when a request is received with invalid bits combination for considered command-code in DIAMETER Header structure. E.g. Marking Proxy-Bit in CER message.
DIAMETER_INVALID_AVP_BITS
3009
It is sent when a request is received with invalid flag bits in an AVP.
DIAMETER_UNKNOWN_PEER
3010
A DIAMETER server can be configured whether it shall accept DIAMETER connection from all nodes or only   from specific nodes. If it is configured to accept connection from specific nodes and receives CER from message from any node other than specified.
Here Server shall send considered error
Transient Failures
[Could not satisfy request at this moment]
DIAMETER_AUTHENTICATION_REJECTED
4001
Returned by Server, most likely because of invalid password.
DIAMETER_OUT_OF_SPACE
4002
Returned by node, when it receives accounting information but unable to store it because of lack of memory
4003
Peer determines that it has lost election by comparing Origin-Host value received in CER with its own DIAMETER IDENTITY and found that received DIAMETER IDENTITY is higher.
Permanent Failures
[To inform peer, request is failed, shouldn’t be attempted again]
DIAMETER_AVP_UNSUPPORTED
5001
AVP marked with Mandatory Bit, but peer does not support it.
DIAMETER_UNKNOWN_SESSION_ID
5002
DIAMETER_AUTHORIZATION_REJECTED
5003
User can not be authorized. E.g. Comes in AIA on s6a interface.
DIAMETER_INVALID_AVP_VALUE
5004
DIAMETER_MISSING_AVP
5005
Mandatory AVP in request message is missing
DIAMETER_RESOURCES_EXCEEDED
5006
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
5007
Server has identified that AVPs are present that are contradictory to each other.
DIAMETER_AVP_NOT_ALLOWED
5008
Message is received by node (Server) that contain AVP must not be present.
DIAMETER_AVP_OCCURS_TOO_MANY_TIMES
5009
If message contains the a AVP number of times that exceeds permitted occurrence of AVP in message definition
5010
In response of CER if no common application supported between the peers.
DIAMETER_UNSUPPORTED_VERSION
5011
Self explanatory.
DIAMETER_UNABLE_TO_COMPLY
5012
Message rejected because of unspecified reasons.
DIAMETER_INVALID_BIT_IN_HEADER
5013
When an unrecognized bit in the Diameter header is set to one.
DIAMETER_INVALID_AVP_LENGTH
5014
Self explanatory. 
DIAMETER_INVALID_MESSAGE_LENGTH
5015
Self explanatory.
DIAMETER_INVALID_AVP_BIT_COMBO
5016
E.g. Marking AVP to Mandatory while message definition doesn’t say so.
5017
In response of CER if no common security mechanism supported between the peers.



Your Comments /Suggestions and Questions are always welcome, shall clarify with best of knowledge. So feel free to put Questions

7 comments:

  1. in 3GPP TS 29.229 Release 8 22 V8.10.0 (2010-06)
    you can find different result value definitions:
    "
    6.2.1.1 DIAMETER_FIRST_REGISTRATION (2001)
    The HSS informs the I-CSCF that:
    - The user is authorized to register this public identity;
    - A S-CSCF shall be assigned to the user.
    6.2.1.2 DIAMETER_SUBSEQUENT_REGISTRATION (2002)
    The HSS informs the I-CSCF that:
    - The user is authorized to register this public identity;
    - A S-CSCF is already assigned and there is no need to select a new one.
    "
    These definitions are related to a vendor identifier value of 3GPP (10415).
    You do not mention the vendor identifier value belonging to the definitions you have provided. I think it is different.
    Very suprising for me newcomer.

    ReplyDelete
    Replies
    1. Yes

      You are right...
      Here Codes are given pertaining to Base-diameter Protocol.

      DIAMETER_FIRST_REGISTRATION (2001)
      DIAMETER_SUBSEQUENT_REGISTRATION (2002)

      are experimental-result codes, not the Result-codes. Vendor Id is part of Experimental-Result code AVP (Grouped AVP.

      Delete
    2. I guess from the RFC3588, 3007 to 3010 is mixed up in your sheet.

      3007 is not DIAMETER_INVALID_HDR_BITS.
      3007 is DIAMETER_APPLICATION_UNSUPPORTED
      Rather 3008 is DIAMETER_INVALID_HDR_BITS
      3009 is DIAMETER_INVALID_AVP_BITS
      and 3010 is DIAMETER_UNKNOWN_PEER

      Delete
    3. Hi Pinaki Ghosh

      Thanks for your suggestions to improve the quality of information on this forum.

      Happy to help you again
      Team-Diameter

      Delete
  2. Hi,
    I have lot many queries with Diameter and DCCA.
    Please clarify them

    for a start I would like to know about the Diamater_session_timeout error.
    When does this occur and under wat conditions.

    Thanks & Regards
    Vinay

    ReplyDelete
  3. Nice summary of diameter result codes... :)
    thanks!! keep going!!

    ReplyDelete
  4. I want to ask about Rule-Failure-Code in Charging-Rule-Report. Suppose, PCEF sends CCR-U to PCRF with Rule-Failure-Code AVP as "RESOURCE_ALLOCATION_FAILURE" & PCC-Rule-Status set to 'Inactive" within Charging-Rule-Report AVP. Now, PGW sees that it has recovered from congestion. Will it again send a CCR-U with Rule-Status "Active"? If not, how will PCRF know that there might not be any congestion now?

    ReplyDelete