RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

RFC 6733, "Diameter Base Protocol", October 2012

Note: This RFC has been updated by RFC 7075, RFC 8553

Source of RFC: dime (ops)

Errata ID: 4209
Status: Rejected
Type: Technical
Publication Format(s) : TEXT

Reported By: Hans Liu
Date Reported: 2014-12-25
Rejected by: Benoit Claise
Date Rejected: 2015-01-23

Section 5.4.3 says:

      BUSY                              1
         The peer’s internal resources are constrained, and it has
         determined that the transport connection needs to be closed.
         A receiver of a DPR with above result code SHOULD NOT attempt
         reconnection.

It should say:

      BUSY                              1
         The peer’s internal resources are constrained, and it has
         determined that the transport connection needs to be closed.
         A receiver of a DPR with above result code SHOULD either 
         connect to an alternate node, or attempt reconnection
         after a time period.

Notes:

In most implementations, the Diameter node will continue to serve its peer after the resources recover and expect reconnection. If the Diameter node won't like reconnection from peer, DO_NOT_WANT_TO_TALK_TO_YOU can be used instead of BUSY.
--VERIFIER NOTES--
The text describing the "BUSY" and "DO_NOT_WANT_TO_TALK_TO_YOU" cases is consistent with the text found in the introduction of the section 5.4.

"In the event that the
disconnect was a result of either a shortage of internal resources or
simply that the node in question has no intentions of forwarding any
Diameter messages to the peer in the foreseeable future, a periodic
connection request would not be welcomed. The Disconnection-Reason
AVP contains the reason the Diameter node issued the Disconnect-Peer-
Request message.

The Disconnect-Peer-Request message is used by a Diameter node to
inform its peer of its intent to disconnect the transport layer and
that the peer shouldn't reconnect unless it has a valid reason to do
so (e.g., message to be forwarded). "

So the main purpose for sending a DPR with the causes "BUSY" and "DO_NOT_WANT_TO_TALK_TO_YOU" is actually to avoid the periodic reconnection attempts governed by the Tc timer.
These exceptions are mentioned in the section 2.1:

"When no transport connection exists with a peer, an attempt to
connect SHOULD be made periodically. This behavior is handled via
the Tc timer (see Section 12 for details), whose recommended value is
30 seconds. There are certain exceptions to this rule, such as when
a peer has terminated the transport connection stating that it does
not wish to communicate."

Now, it is true that there is no clear guideline on how to behave when receiving the cause "BUSY" and this explains why some implementations in the field still attempt to re-open the connection, as after a normal transport failure detection. But it does not mean that the text in the RFC6733 is wrong.

Finally, if it is an attempt to clarify/modify the behavior of the peer receiving DPR with the "BUSY" cause, I don't think that using errata would be the most appropriate way.

Report New Errata



Advanced Search