Subject: DIAMETER Base Protocol (18-Alpha 1) draft / MRI

From: "Bob Kopacz" <[email-masked]>
Date: Thu, 18 Jan 2001 15:45:10 -0500

Hi Pat,

Here are some questions on the DIAMETER Base Protocol (18-Alpha 1)
draft.  The gist of what follows is:

(a) the draft's phrase "Extension Response + Result-Code" is ambiguous, and

(b) There may be error conditions where an MRI can't be sent, yet no
appropriate extension response is available.

5.0  Error Reporting
--------------------

The draft says:

   "Extension Response + Result-Code" indicates that the appropriate
   Response to the message MUST be sent with the Result-Code AVP set to
   a value that enables the peer to understand the nature of the
   problem.

Problem 1: The phrase "Extension Response + Result-Code" is
ambiguous.  Does "Extension Response + Result-Code" mean "a response
with an extension-specific command code", or "a response specified
by the extension, but which may be an MRI"?  If the first meaning,
perhaps the draft-18's text could be clarified by adding the
following sentence to the paragraph:

   The Response has an extension-specific command code.

- - -

Draft-18 specifies a more limited role for the MRI message.  That
is, between draft-17 and draft-18, some of the 'X's in the following
table from section 5.0 have shifted from the "Send
Message-Reject-Ind" column into the "Extension Response +
Result-Code" column.

Draft-17 said:

>    Error Type        Ignore Message          Send         Extension
>                                       Message-Reject-Ind  Response +
>                                                           Result-Code
>    Bad Message              X
>    Unknown Command                            X
>    Unknown AVP                                X
>    Bad Value                                  X
>    Extension Error                                            X

Draft-18-Alpha 1 says:

>    Error Type        Ignore Message          Send         Extension
>                                       Message-Reject-Ind  Response +
>                                                           Result-Code
>    Bad Message              X
>    Unknown Command                            X
>    Unknown AVP                                                X
>    Bad AVP Value                                              X
>    Extension Error                                            X

This shift to an extension-specific response is probably because a
proxy which routes on Diameter extension wouldn't know how to route
an MRI.

Problem 2: Assuming that "Extension Response + Result-Code" means "a
response with an extension-specific command code", it seems like the
MRI is limited to dealing with (a) DRI errors and (b) Unknown
Command errors.  But some recent mailing list questions suggest that
there may be error conditions other than (a) or (b), where no
appropriate extension response is available.  

[One of the emails I am referring to is the "DIAMETER Base Protocol
(18-Alpha 1)" draft / 5.0 Error Reporting" email of 16-Jan-2001,
suggesting that a receiver of a reply packet which contains a bad
AVP may want to send an MRI.  Another is the "Re: Comments on
draft-calhoun-diameter-18.txt" email of 17-Jan-2001, suggesting that
an MRI is a candidate to recover from a looped proxy chain.]

--------------------------------------------------------------
Bob Kopacz                mailto:[email-masked]
Interlink Networks, Inc.  http://www.interlinknetworks.com
[Tel] 734-821-1230

---

From: Pat Calhoun <[email-masked]>
Date: Fri, 19 Jan 2001 15:16:18 -0800 (PST)

> appropriate extension response is available.

ok.

> 5.0  Error Reporting

great suggestion.
> proxy which routes on Diameter extension wouldn't know how to route

correct.

> appropriate extension response is available.  

Actually, I believe the MRI is used for:
- Negative ack of any DRI, *-Answer or *-Response message, and
- Unknown command code

> an MRI is a candidate to recover from a looped proxy chain.]

hmmmm... no I believe the above conditions are the only ones that require MRI
support.

PatC