Subject: Re: [MMUSIC] IANA registration of SDP attributes
From: Paul Kyzivat <[email-masked]>
To: [email-masked]
Date: Tue, 22 Mar 2016 11:19:02 -0400
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>

On 3/21/16 9:21 PM, Christian Groves wrote:
> Hello Paul,
>
> Yes I think it is fuzzy. draft-ietf-mmusic-sctp-sdp is using a=setup for
> SCTP, by the definition below it would need to update the registry to
> add a reference. There's probably other attributes where this is the
> case also (e.g. a=connection). For consistency all the existing
> attributes would need to be checked when reformatting the registry.
>
> I do agree that it would be nice to have a link from each SDP attribute
> to the RFCs that are using it but I think the genie is out of the bottle
> on this one.
>
> With the light agenda maybe this is something to discuss in Argentina?

I won't be there, but will try to call in. For once the time difference 
isn't much for me!

	Thanks,
	Paul

> Regards, Christian
>
> On 21/03/2016 4:48 AM, Paul Kyzivat wrote:
>> On 3/19/16 10:27 PM, Christian Groves wrote:
>>> With the current registry don't only documents that introduce NEW
>>> attributes get included in the registry?
>>>
>>> dcsa (MSRP) and dcsa (BFCP) don't define new attributes they use setup.
>>> This is similar to the fact that multiple protocols at the media level
>>> use a=setup but we don't add references to them in the registry.
>>>
>>> So do we now say that if a draft/RFC uses an existing media level
>>> attribute in a DCSA that must be added to the registry with a dcsa
>>> indication?
>>
>> ISTM that a document that broadens the applicability of an attribute
>> ought to be recorded in the registry.
>>
>> I expect that this is a bit fuzzy. For instance, the use of setup with
>> TCP was defined. If a new proto of 'TCP/FOO' is defined that runs over
>> TCP, and simply uses setup for establishing the TCP part, then maybe
>> it doesn't need to be recorded in the registry.
>>
>> But if setup is used for something other than TCP, or also used for
>> some semantic over and above its use for TCP, then it surely ought to
>> be recorded. (For instance, when it is used to control initialization
>> of some other protocol over TCP.)
>>
>> I expect that this is less than clear, and may be controversial. Seems
>> to need more discussion.
>>
>>     Thanks,
>>     Paul
>>
>>> Regards, Christian
>>>
>>> On 12/03/2016 3:46 AM, Paul Kyzivat wrote:
>>>> On 3/11/16 11:15 AM, Juergen Stoetzer-Bradler wrote:
>>>>> Paul,
>>>>>
>>>>> The last alternative would have the advantage that different
>>>>> subprotocol
>>>>> documents could be referenced for the same attribute. Like e.g. for
>>>>> the
>>>>> setup attribute (if there were BFCP over data channel transport
>>>>> specific
>>>>> aspects):
>>>>>
>>>>> *SDP Name*     *Level(s)*     *Reference(s)*
>>>>> accept-types
>>>>>     media,
>>>>> dcsa(MSRP)
>>>>>     [RFC4975]
>>>>> [draft-ietf-mmusic-msrp-usage-data-channel]
>>>>> cat
>>>>>     session
>>>>>     [RFC4566]
>>>>> fmtp
>>>>>     media,source     [RFC4566][RFC5576]
>>>>> mediaclk
>>>>>     session,media,source
>>>>>     [RFC7273]
>>>>> ptime
>>>>>     media
>>>>>     [RFC4566]
>>>>> recvonly
>>>>>     session,media,
>>>>> dcsa(MSRP)
>>>>>     [RFC4566][RFC4975]
>>>>> [draft-ietf-mmusic-msrp-usage-data-channel]
>>>>> setup
>>>>>     session, media
>>>>> dcsa(MSRP)
>>>>> dcsa(BFCP)
>>>>>     [RFC4145]
>>>>> [draft-ietf-mmusic-msrp-usage-data-channel]
>>>>> [draft-schwarz-mmusic-bfcp-usage-data-channel]
>>>>>
>>>>>
>>>>> Therefore I'd be in favor of your last alternative.
>>>>
>>>> Let's see what other comments we get, especially from Flemming.
>>>>
>>>> Then, if this is preferred direction we can work on refining it.
>>>>
>>>>     Thanks,
>>>>     Paul
>>>>
>>>>> Thanks,
>>>>> Juergen
>>>>>
>>>>>
>>>>> On 10.03.2016 19:48, EXT Paul Kyzivat wrote:
>>>>>> [splitting off from the thread on data-channel-sdpneg]
>>>>>>
>>>>>> Currently IANA has five(!) separate registries for sdp attributes:
>>>>>>
>>>>>> att-field (session level)
>>>>>> att-field (both session and media level)
>>>>>> att-field (media level only)
>>>>>> att-field (source level)
>>>>>> att-field (unknown level)
>>>>>>
>>>>>> They all have the same format:
>>>>>>
>>>>>> *Type**
>>>>>> *     *SDP Name**
>>>>>> *     *Reference**
>>>>>> *
>>>>>> att-field (session level)     cat     [RFC4566]
>>>>>> att-field (both session and media level)     recvonly
>>>>>>     [RFC4566]
>>>>>> att-field (both session and media level)     mediaclk
>>>>>>     [RFC7273]
>>>>>> att-field (media level only)     accept-types
>>>>>>     [RFC4975]
>>>>>> att-field (media level only)     fmtp
>>>>>>     [RFC4566]
>>>>>> att-field (source level)     fmtp
>>>>>>     [RFC5576]
>>>>>>
>>>>>>
>>>>>> This format is a pain, because it is hard to look an attribute up if
>>>>>> you don't know at what level(s) it is valid. It also has the
>>>>>> potential
>>>>>> to allow an attribute name to be registered for unrelated purposes if
>>>>>> the type is different. (IMO that would be bad.)
>>>>>>
>>>>>> A long time ago (several years now), as part of the 4566bis work, I
>>>>>> proposed that these tables be merged into one. It was my impression
>>>>>> that this was agreed and would be done. But I don't recall any
>>>>>> agreement on the logistics of doing so.
>>>>>>
>>>>>> My thought was that the combined table would look like:
>>>>>>
>>>>>> *SDP Name*     *Level(s)*     *Reference(s)*
>>>>>> accept-types
>>>>>>     media
>>>>>>     [RFC4975]
>>>>>> cat
>>>>>>     session
>>>>>>     [RFC4566]
>>>>>> fmtp
>>>>>>     media,source     [RFC4566][RFC5576]
>>>>>> mediaclk
>>>>>>     session,media,source
>>>>>>     [RFC7273]
>>>>>> ptime
>>>>>>     media
>>>>>>     [RFC4566]
>>>>>> recvonly
>>>>>>     session,media
>>>>>>     [RFC4566]
>>>>>>
>>>>>>
>>>>>>
>>>>>> Then we get to data channel attributes. My thought is to incorporate
>>>>>> them into this table structure, as yet another "level". E.g.,
>>>>>>
>>>>>> *SDP Name*     *Level(s)*     *Reference(s)*
>>>>>> accept-types
>>>>>>     media,dcsa
>>>>>>     [RFC4975][draft-ietf-mmusic-msrp-usage-data-channel]
>>>>>> cat
>>>>>>     session
>>>>>>     [RFC4566]
>>>>>> fmtp
>>>>>>     media,source     [RFC4566][RFC5576]
>>>>>> mediaclk
>>>>>>     session,media,source
>>>>>>     [RFC7273]
>>>>>> ptime
>>>>>>     media
>>>>>>     [RFC4566]
>>>>>> recvonly
>>>>>>     session,media,dcsa
>>>>>> [RFC4566][RFC4975][draft-ietf-mmusic-msrp-usage-data-channel]
>>>>>>
>>>>>>
>>>>>> (And this could also be extended for websockets if somebody
>>>>>> proposes a
>>>>>> way to negotiate attributes for data channels too.)
>>>>>>
>>>>>> Using this format, if you want to know more than the name and the
>>>>>> level(s) at which it can be used you need to consult the references.
>>>>>> And when there are multiple references you don't know which one(s)
>>>>>> you
>>>>>> need to consult. This can be "fixed" by including more information
>>>>>> from the reference into the registry. Conversely, we could strip it
>>>>>> down further and remove the levels from the registry - so you need to
>>>>>> consult the references for that too.
>>>>>>
>>>>>> For instance, if we wanted to simplify finding the right reference
>>>>>> for
>>>>>> the level you are interested in, we could do:
>>>>>>
>>>>>> *SDP Name*     *Level(s)*     *Reference(s)*
>>>>>> accept-types
>>>>>>     media,
>>>>>> dcsa
>>>>>>     [RFC4975]
>>>>>> [draft-ietf-mmusic-msrp-usage-data-channel]
>>>>>> cat
>>>>>>     session
>>>>>>     [RFC4566]
>>>>>> fmtp
>>>>>>     media,source     [RFC4566][RFC5576]
>>>>>> mediaclk
>>>>>>     session,media,source
>>>>>>     [RFC7273]
>>>>>> ptime
>>>>>>     media
>>>>>>     [RFC4566]
>>>>>> recvonly
>>>>>>     session,media,
>>>>>> dcsa
>>>>>>     [RFC4566][RFC4975]
>>>>>> [draft-ietf-mmusic-msrp-usage-data-channel]
>>>>>>
>>>>>>
>>>>>> Or we could go further, and break the dcsa level down by subprotocol:
>>>>>>
>>>>>> *SDP Name*     *Level(s)*     *Reference(s)*
>>>>>> accept-types
>>>>>>     media,
>>>>>> dcsa(MSRP)
>>>>>>     [RFC4975]
>>>>>> [draft-ietf-mmusic-msrp-usage-data-channel]
>>>>>> cat
>>>>>>     session
>>>>>>     [RFC4566]
>>>>>> fmtp
>>>>>>     media,source     [RFC4566][RFC5576]
>>>>>> mediaclk
>>>>>>     session,media,source
>>>>>>     [RFC7273]
>>>>>> ptime
>>>>>>     media
>>>>>>     [RFC4566]
>>>>>> recvonly
>>>>>>     session,media,
>>>>>> dcsa(MSRP)
>>>>>>     [RFC4566][RFC4975]
>>>>>> [draft-ietf-mmusic-msrp-usage-data-channel]
>>>>>>
>>>>>>
>>>>>> Thoughts?
>>>>>>
>>>>>>     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
>>>>>
>>>>
>>>> _______________________________________________
>>>> mmusic mailing list
>>>> [email-masked]
>>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>>
>>>
>>> _______________________________________________
>>> mmusic mailing list
>>> [email-masked]
>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>
>>
>> _______________________________________________
>> mmusic mailing list
>> [email-masked]
>> https://www.ietf.org/mailman/listinfo/mmusic
>>
>
> _______________________________________________
> mmusic mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/mmusic
>