Subject: [AAA-WG]: [issue] Combine occurrence rules tables with message ABNF

From: "Bob Kopacz" <[email-masked]>
Date: Tue, 5 Mar 2002 18:14:46 -0500

Issue :  Combine occurrence rules tables with message ABNF
Submitter name:         Bob Kopacz 
Submitter email address:[email-masked] 
Date first submitted:   03-05-2002 
Reference: 
Document:               all drafts
Comment type:           Technical 
Priority:               1 
Section: 

Rationale/Explanation of issue: 

1. There are often conflicts between the message ABNF and the
[redundant] information in the occurrence rules tables.  Combining
the message ABNF with the occurrence rules would create one location
for the message AVP occurrence information, and eliminate the
redundancies and neverending conflicts.

2. The current ABNF is a little tricky, in that the default number
of occurrences depends on the type of braces around the AVPs.  So
replace the <nulls> and the *'s with the explicit counts as in the
occurrence rules, e.g. 0, 0+, 0-1, etc.  Then we don't need both the
{}braces and the []braces, as the numeric counts indicate required
versus optional.

  For example, the current ABNF for the AA-Mobile-Node-Request is:

   > <AA-Mobile-Node-Request> ::= < Diameter Header: 260, REQ, PXY >
   >                              < Session-Id >
   >                              { Auth-Application-Id }
   >                              { User-Name }
   >                              { Destination-Realm }
   >                              { Origin-Host }
   >                              { Origin-Realm }
   >                              { MIP-Reg-Request }
   >                              { MIP-MN-AAA-Auth }
   >                              [ Destination-Host ]
   >                              [ Origin-State-Id ]
   >                              [ MIP-Mobile-Node-Address ]
   >                              [ MIP-Home-Agent-Address ]
   >                              [ MIP-Feature-Vector ]
   >                              [ MIP-Originating-Foreign-AAA ]
   >                              [ Authorization-Lifetime ]
   >                              [ Auth-Grace-Period ]
   >                              [ Auth-Session-State ]
   >                              [ MIP-FA-Challenge ]
   >                              [ MIP-Candidate-Home-Agent-Host ]
   >                            * [ AVP ]
   >                            * [ Proxy-Info ]
   >                            * [ Route-Record ]

  The occurrence rule tables could be absorbed into the message ABNF
  (and eliminated), with a message ABNF that looks like:

   > <AA-Mobile-Node-Request> ::= < Diameter Header: 260, REQ, PXY >
   >                              1   < Session-Id >
   >                              1   [ Auth-Application-Id ]
   >                              1   [ Destination-Realm ]
   >                              1   [ MIP-Reg-Request ]
   >                              1   [ MIP-MN-AAA-Auth ]
   >                              1   [ Origin-Host ]
   >                              1   [ Origin-Realm ]
   >                              1   [ User-Name ]
   >                              0-1 [ Authorization-Lifetime ]
   >                              0-1 [ Auth-Grace-Period ]
   >                              0-1 [ Auth-Session-State ]
   >                              0-1 [ Accounting-Multi-Session-Id ]
   >                              0-1 [ Destination-Host ]
   >                              0-1 [ MIP-Candidate-Home-Agent-Host ]
   >                              0-1 [ MIP-Originating-Foreign-AAA ]
   >                              0-1 [ MIP-FA-Challenge ]
   >                              0-1 [ MIP-Feature-Vector ]
   >                              0-1 [ MIP-Home-Agent-Address ]
   >                              0-1 [ MIP-Mobile-Node-Address ]
   >                              0-1 [ Original-State-Id ]
   >                              0+  [ Proxy-Info ]
   >                              0+  [ Route-Record ]
   >                              0   [ Acct-Application-Id ]
   >                              0   [ Error-Message ]
   >                              0   [ Error-Reporting-Host ]
   >                              0   [ MIP-FA-to-HA-Key ]
   >                              0   [ MIP-FA-to-HA-SPI ]
   >                              0   [ MIP-FA-to-MN-Key ]
   >                              0   [ MIP-FA-to-MN-SPI ]
   >                              0   [ MIP-Filter-Rule ]
   >                              0   [ MIP-Foreign-Agent-Host ]
   >                              0   [ MIP-HA-to-FA-Key ]
   >                              0   [ MIP-HA-to-MN-Key ]
   >                              0   [ MIP-Key-Lifetime ]
   >                              0   [ MIP-MN-to-FA-Key ]
   >                              0   [ MIP-MN-to-HA-Key ]
   >                              0   [ MIP-Reg-Reply ]
   >                              0   [ Redirect-Host ]
   >                              0   [ Redirect-Host-Usage ]
   >                              0   [ Redirect-Max-Cache-Time ]
   >                              0   [ Result-Code ]
   >                              0   [ Re-Auth-Request-Type ]
   >                              0   [ Session-Timeout ]
   >                              0+  [ AVP ]

   3. This is not a significant change to the drafts.

Requested Change:

  Do this in all the Diameter drafts.

---

From: David Spence <[email-masked]>
Date: Wed, 06 Mar 2002 12:08:26 -0500

I support this issue because I don't like redundancies in standards even if
the standards are consistently redundant instead of inconsistently redundant
as in our case.

I might be even bolder.  Instead of publishing our own variant of ABNF and
forcing the reader to understand it, how about doing away with the ABNF
altogether and expanding the occurrence rules tables to indicate the message
placement rules -- first fixed section, mid-section, end fixed section?

---

From: "Bob Kopacz" <[email-masked]>
Date: Wed, 6 Mar 2002 12:23:44 -0500

Hi David,

> -----Original Message-----
> From: David Spence [mailto:[email-masked]]
> Sent: Wednesday, March 06, 2002 12:08 PM
> To: Bob Kopacz
> Cc: John Loughney; Stephen Farrell; Tony Johansson; aaa-wg
> Subject: Re: [AAA-WG]: [issue] Combine occurrence rules tables with
> message ABNF
> 

This idea of moving the message placement defintions into the
occurrence rules, rather than the occurrence rules into the message ABNF,
has a couple of virtues:

1. It is more compact, as one can have a matrix with the AVPs as rows
and the message types as columns, so all the rules for all the messages
are in one table (actually two tables, one for Accounting).

2. Having all the rules for all the messages in one table makes it easy
to compare what is in a request against what is in the answer.  And for 
Mobile-IP, it makes it easy to see what comes in the AMR versus what goes
out in the HAR.  And for STRs/RARs/etc, one can easily spot inconsistencies
where one type of answer forbids echoing of AVP X (e.g. User-Name), while
another type of answer requires it.