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