P. 1
RFC 3588 Diameter Base Protocol

RFC 3588 Diameter Base Protocol

|Views: 11|Likes:
Published by Vladimir Tsagov
Diameter Base Protocol
Diameter Base Protocol

More info:

Published by: Vladimir Tsagov on Jan 31, 2013
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





There are two different types of errors in Diameter; protocol and
application errors. A protocol error is one that occurs at the base
protocol level, and MAY require per hop attention (e.g., message
routing error). Application errors, on the other hand, generally
occur due to a problem with a function specified in a Diameter
application (e.g., user authentication, Missing AVP).

Result-Code AVP values that are used to report protocol errors MUST
only be present in answer messages whose ’E’ bit is set. When a
request message is received that causes a protocol error, an answer
message is returned with the ’E’ bit set, and the Result-Code AVP is
set to the appropriate protocol error value. As the answer is sent
back towards the originator of the request, each proxy or relay agent
MAY take action on the message.

1. Request +---------+ Link Broken
+-------------------------->|Diameter |----///----+
| +---------------------| | v
+------+--+ | 2. answer + ’E’ set | Relay 2 | +--------+
|Diameter |<-+ (Unable to Forward) +---------+ |Diameter|
| | | Home |
| Relay 1 |--+ +---------+ | Server |
+---------+ | 3. Request |Diameter | +--------+
+-------------------->| | ^
| Relay 3 |-----------+

Figure 7: Example of Protocol Error causing answer message

Figure 7 provides an example of a message forwarded upstream by a
Diameter relay. When the message is received by Relay 2, and it
detects that it cannot forward the request to the home server, an
answer message is returned with the ’E’ bit set and the Result-Code
AVP set to DIAMETER_UNABLE_TO_DELIVER. Given that this error falls

Calhoun, et al. Standards Track [Page 82]

RFC 3588 Diameter Based Protocol September 2003

within the protocol error category, Relay 1 would take special
action, and given the error, attempt to route the message through its
alternate Relay 3.

+---------+ 1. Request +---------+ 2. Request +---------+
| Access |------------>|Diameter |------------>|Diameter |
| | | | | Home |
| Device |<------------| Relay |<------------| Server |
+---------+ 4. Answer +---------+ 3. Answer +---------+
(Missing AVP) (Missing AVP)

Figure 8: Example of Application Error Answer message

Figure 8 provides an example of a Diameter message that caused an
application error. When application errors occur, the Diameter
entity reporting the error clears the ’R’ bit in the Command Flags,
and adds the Result-Code AVP with the proper value. Application
errors do not require any proxy or relay agent involvement, and
therefore the message would be forwarded back to the originator of
the request.

There are certain Result-Code AVP application errors that require
additional AVPs to be present in the answer. In these cases, the
Diameter node that sets the Result-Code AVP to indicate the error
MUST add the AVPs. Examples are:

- An unrecognized AVP is received with the ’M’ bit (Mandatory bit)
set, causes an answer to be sent with the Result-Code AVP set to
DIAMETER_AVP_UNSUPPORTED, and the Failed-AVP AVP containing the
offending AVP.

- An AVP that is received with an unrecognized value causes an
answer to be returned with the Result-Code AVP set to
DIAMETER_INVALID_AVP_VALUE, with the Failed-AVP AVP containing the
AVP causing the error.

- A command is received with an AVP that is omitted, yet is
mandatory according to the command’s ABNF. The receiver issues an
answer with the Result-Code set to DIAMETER_MISSING_AVP, and
creates an AVP with the AVP Code and other fields set as expected
in the missing AVP. The created AVP is then added to the Failed-

The Result-Code AVP describes the error that the Diameter node
encountered in its processing. In case there are multiple errors,
the Diameter node MUST report only the first error it encountered

Calhoun, et al. Standards Track [Page 83]

RFC 3588 Diameter Based Protocol September 2003

(detected possibly in some implementation dependent order). The
specific errors that can be described by this AVP are described in
the following section.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->