Subject: Re: [MMUSIC] 4566bis outstanding issues

From: "Ali C. Begen (abegen)" <[email-masked]>
Date: Mon, 7 Jul 2014 08:07:05 +0000

Hi Paul,

OK, no one else seems to be paying attention to this. I have some comments inline and lets see whether we can reach an agreement:

>> On 6/6/14 5:19 PM, Ali C. Begen (abegen) wrote:
>>> Hi everyone
>>> 
>>> I went thru the mail archives since 01/2012 and tried to list the issues that seem to be unresolved at this point. I can put them in the tracker but I wanna provide a summary first.
>>> 
>>> For some of the issues below, no solution has been proposed. For the rest, there was no agreement on what to do. Here it goes:
>>> 
>>> 1) 4566bis needs to provide ABNF syntax for all of the attributes 4566 defined.
>>> 
>>> Comments: This was discussed again in a side meeting in London and there was not a consensus whether we actually needed this.
>> 
>> IIRC the argument against doing this is that we might get it wrong.
>> 
>> But IMO we should do it because if we can't get it right how can we expect readers to get it right?

I personally don't wanna take on this task. It is a tedious task and I am not such an ABNF lover to get these definitions right. If you wanna volunteer, by all means, please do so.

Also, dozens of attributes have been defined since 4566 w/o issues so I am not seeing this as a high priority issue (or an issue at all).

>> 
>>> 2) 4566bis should update the format of the IANA registries to reflect the dependency between addrtype and net type.
>>> 
>>> Comments: There does not seem an agreement on this but it looks to be an easy fix.

You did not comment on this but this is an easy fix so I will do this.

@Chairs,

Is this (and all other IANA related issues) supposed to be part of the 4566bis document or a separate document? A separate document may keep 4566bis clean and nice IMO.

>>> 
>>> 3) Section 8.2.4 defines the IANA registry and populates it with the attributes defined in 4566, however, Section 8.2.4 does not specify the name or format of the table.
>>> 
>>> Comments: No text has been proposed or agreed but seems to be an easy fix if we wanna do this.

I will also take care of this along with issue #2.

>>> 
>>> 4) 4566bis does not make the registration of new network or address types mandatory. Section 8.2.6 and 8.2.7.
>>> 
>>> Comments: If we agree that this should be mandatory, we can change the text.
>> 
>> IMO we should make this change

I will make this change.

>> 
>>> 5) Source-level attributes defined in 5576. Should these attributes be included in the same table structure in the IANA registry?
>>> 
>>> Comments: This seems to be an organizational issue rather than a technical issue. If we agree we need this, we can take on this as well.
>> 
>> Yes, but IMO an important one. The current registries are hard to read, and easy to get wrong when adding new attributes.
>> 
>> Also, we ought to have templates for what goes into the IANA consideration section when defining new attributes, and that template would be best in this document.

OK, this will be taken care of along with issues #2 and #3.

>> 
>>> 6) Should we add a new column called "registered network type" in the addrtype table in the IANA registry as not all address types are applicable for all network types?
>>> 
>>> Comments: This is also an IANA fix that we can do in this bis document or in a separate document (with all the other IANA registry changes).
>> 
>> Similar comment to the one just above.

Ditto.

>> 
>>> These are the issues I was able to identify. There is one more thing related to ICE and I sent an email about this to Marc Petit-Huguenin. As soon as he responds and depending on his answer, I might add one more issue.
>>> 
>>> If there are things I missed, please let me know. The chairs and editors would like to close these issues and finalize 4566bis soon.
>> 
>> There is an ongoing problem when SDP extensions are defined - lack of a consistent format for defining new attributes. Many people look to 4566 for examples of how to do this, but it provides bad examples.
>> 
>> IMO 4566bis should show the definition of all attributes in a style that complies with a recommended format for defining attributes.
>> 
>> (Of course that implies that we could agree on such a format.)

OK, this goes back to the issue #1. Personally, I suggest we do not define the abnfs for every sdp attribute in 4566, but then you have a good point. We can seek a format and provide a few good examples to show prospective authors.

To do this, obviously as you said, we need to agree on that format. Has there been a proposal in the past or does anyone have a good proposal to start with?

Thanks.
-acbegen

>> 
>> 	Thanks,
>> 	Paul
>> 
>> _______________________________________________
>> mmusic mailing list
>> [email-masked]
>> https://www.ietf.org/mailman/listinfo/mmusic
> 
> _______________________________________________
> mmusic mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/mmusic

---

From: Paul Kyzivat <[email-masked]>
Date: Mon, 07 Jul 2014 10:02:27 -0400

> OK, no one else seems to be paying attention to this. I have some comments inline and lets see whether we can reach an agreement:

OK.

I've trimmed to a few points to comment on...

> I personally don't wanna take on this task. It is a tedious task and I am not such an ABNF lover to get these definitions right. If you wanna volunteer, by all means, please do so.

I'm willing to contribute to this, but won't have time until after the 
Toronto meeting. Also, I'm not intimately familiar with all of the 
attributes.

I think I could probably produce a credible proposal for an ABNF 
description all of the attributes currently defined within 4566. This 
would then need to be carefully reviewed.

> Also, dozens of attributes have been defined since 4566 w/o issues so I am not seeing this as a high priority issue (or an issue at all).

Like many things, the ones defined more recently tend to be more 
rigorous than those defined longer ago. But it is uneven, and tends to 
depend upon who does it and (lately) who from the SDP directorate 
reviewed it.

> To do this, obviously as you said, we need to agree on that format. Has there been a proposal in the past or does anyone have a good proposal to start with?

Not a formal one. There has been some discussion about this during 
review of individual attribute definitions. My take has been that there 
is not agreement.

One question is whether the definition of a new attribute should:
1) define the full syntax of the line (starting with "a="),
2) should provide additional definitions of <attribute> (via "/=")
3) should provide additional definitions of <att-field> and <att-value>
    (via "/=")
4) provide definitions of the name and value that are consistent with
    <att-field> and <att-value> without formally extending the
    definitions of those.

Note that 4566 loosely follows (4) but gives the definitions informally 
rather than via ABNF. So it gives no guidance on how to use ABNF for 
this. A number of drafts have chosen to follow (2). Some have started to 
do (1) but I don't know of any that ended up that way.

A question I have raised is: if (2) or (3) is followed, does that mean 
that the draft doing so must be considered as "updating" 4566?

One thing that people sometimes forget when defining new attributes is 
that the syntax of the new attribute MUST also be valid when parsed by 
the "generic" attribute syntax. AFAIK there is no way in ABNF to specify 
that. I think that (4) comes closest.

	Thanks,
	Paul

---

From: "Ali C. Begen (abegen)" <[email-masked]>
Date: Mon, 7 Jul 2014 16:16:08 +0000

On Jul 7, 2014, at 11:02 PM, Paul Kyzivat <[email-masked]> wrote:

> I'm willing to contribute to this, but won't have time until after the Toronto meeting.

That is fine.

> Also, I'm not intimately familiar with all of the attributes.

Nobody is I am afraid.

> 
> I think I could probably produce a credible proposal for an ABNF description all of the attributes currently defined within 4566. This would then need to be carefully reviewed.

Thanks for volunteering.

> Like many things, the ones defined more recently tend to be more rigorous than those defined longer ago. But it is uneven, and tends to depend upon who does it and (lately) who from the SDP directorate reviewed it.
> 
> Not a formal one. There has been some discussion about this during review of individual attribute definitions. My take has been that there is not agreement.

If you can recall, can you point us to that proposal and maybe briefly explain the disagreements as well?

> Note that 4566 loosely follows (4) but gives the definitions informally rather than via ABNF. So it gives no guidance on how to use ABNF for this. A number of drafts have chosen to follow (2). Some have started to do (1) but I don't know of any that ended up that way.
> 
> A question I have raised is: if (2) or (3) is followed, does that mean that the draft doing so must be considered as "updating" 4566?

I dont see why it should. Personally most of the attributes I defined followed (4). That seemed the easiest option. 

> 
> One thing that people sometimes forget when defining new attributes is that the syntax of the new attribute MUST also be valid when parsed by the "generic" attribute syntax. AFAIK there is no way in ABNF to specify that. I think that (4) comes closest.

Yes, but this must be checked during the last call by actual humans not some abnf parser. 

-acbegen

---

From: Paul Kyzivat <[email-masked]>
Date: Mon, 07 Jul 2014 13:32:16 -0400

Trimming again.

>> Also, I'm not intimately familiar with all of the attributes.

There are a lots of people who at least *use* them, and so are familiar 
with them at that level. I don't "do" media, so when I'm trying to 
create examples I can get as far as "m=audio", and I know there should 
be an "a=rtpmap", but beyond that I need to find an example to copy.

> If you can recall, can you point us to that proposal and maybe briefly explain the disagreements as well?

I think it will take a lot of searching to find it. So I can't do so 
quickly/easily.

> I dont see why it should. Personally most of the attributes I defined followed (4). That seemed the easiest option.

I've been outnumbered on the discussions of this. ISTM that whenever I write

	attribute =/ something new

then I have at least extended the rfc that defines <attribute> and 
arguably have updated it. The reason it might be considered an update is 
that what I am defining implicitly includes the definition of 
<attribute> and thus probably all the abnf that includes the definition 
of <attribute>. To verify my new abnf, or to generate a parser, I need 
to create a combined abnf. And abnf doesn't have namespaces. So all the 
rulenames I newly define must be distinct from those defined with 
<attribute>.

And that is true for *every* extension. And for them to be compatible 
with one another they all must define rulenames that are unique among 
them all.

So effectively each one is an update.

It is subtly different if I follow (4), even if I use abnf to define the 
syntax for my new attribute, and even if I reuse rule definitions (like 
<token>) from the base sdp definition.

> Yes, but this must be checked during the last call by actual humans not some abnf parser.

For now that is true. I have found such errors while doing SDP 
directorate reviews.

	Thanks,
	Paul