Result Code and Experimental Result Code.

Result code comes with response message in Result-Code AVP indicating whether request is completed successfully or error occurred. Result-Code AVP contain only base DIAMETER result codes. Result codes are divided in various categories depending upon their usage (Diameter Errors).
1) Informational [1xxx]
2) Success [2xxx]
3) Protocol Errors [3xxx]
4) Transient Failures [4xxx]
5) Permanent Failure [5xxx]

Now if any application has its own result codes then it should communicate it, in Experimental-Result AVP. Experimental-Result AVP is grouped avp contains Vendor-Id AVP and Experimental-Result-Code AVP.

Experimental-Result ::= < AVP Header: 297 >
                                    { Vendor-Id }
                                    { Experimental-Result-Code }

Ideally a message shall not contain both Result-Code AVP and  Experimental-Result AVP at a moment. Either  Result-Code AVP or   Experimental-Result AVP shall be present.

List of Experimental Result codes

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


  1. Hi , what could be the reason of sending AVP 297 twice in one massage?

  2. Hi

    Experimental-Result (297) and Experimental-Result-Code (298) are different AVPs. Both have different functions; Experimental-Result-Code shall contain values of error and Experimental-Result is of type GROUPED used to contain { Vendor-Id } and { Experimental-Result-Code }

    Thanks for your query.
    Happy to help you again.