[MMUSIC] Offer/Answer sections in SDP extension documents [Re: Eric Rescorla's No Objection on draft-ietf-mmusic-sdp-bundle-negotiation-51: (with COMMENT)]

Flemming Andreasen <fandreas@cisco.com> Tue, 22 May 2018 14:14 UTC

Return-Path: <fandreas@cisco.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CB33D1270A7; Tue, 22 May 2018 07:14:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.509
X-Spam-Level:
X-Spam-Status: No, score=-14.509 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kIbLoSeGoHlE; Tue, 22 May 2018 07:14:33 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2315A1270FC; Tue, 22 May 2018 07:14:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=13568; q=dns/txt; s=iport; t=1526998473; x=1528208073; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to; bh=nU5OVwgl5UZzAJ4uk+RtegvxaijvbPsikBCt4tJA9Cc=; b=iUJyIHC24NnVnu/B0WiHn6MeHTUIREPdHYGKToiXJQpr+KM0B/PAeF+y GH6bwyrKfAewYKBJM6ngGE1AyA/sSkfj6jgibiVRfdz8pz/AkLLYXt7PT PQpNEh0v5Moo91n8MzyDMyP6Uj+4rm7pbTf5abGZ5kggEBgWol9BQrrij Y=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AvAgByJQRb/5ldJa1dGQEBAQEBAQEBAQEBAQcBAQEBAYNDgV8og3WUe4FQKXUajj+FC4FkC4RsAoIhITgUAQIBAQEBAQECbCiFKQEFI0gJBRAjFQ4HAgJXBgEMBgIBAYMegXQNqHKCHB+EOYNtgg+INYFUP4EPJII0B4RcgQSCQYI0IAKYTwmOUQaBN4Nugj0ihHqQeoElMyEmgSxNIxWCfoIgFxGOIiMwjl4BAQ
X-IronPort-AV: E=Sophos;i="5.49,430,1520899200"; d="scan'208,217";a="396035534"
Received: from rcdn-core-2.cisco.com ([173.37.93.153]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 May 2018 14:14:32 +0000
Received: from [10.118.10.21] (rtp-fandreas-2-8814.cisco.com [10.118.10.21]) by rcdn-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id w4MEEUD9012927; Tue, 22 May 2018 14:14:31 GMT
To: Ben Campbell <ben@nostrum.com>, Christer Holmberg <christer.holmberg@ericsson.com>
Cc: Adam Roach <adam@nostrum.com>, Eric Rescorla <ekr@rtfm.com>, "mmusic-chairs@ietf.org" <mmusic-chairs@ietf.org>, mmusic WG <mmusic@ietf.org>, The IESG <iesg@ietf.org>, "draft-ietf-mmusic-sdp-bundle-negotiation@ietf.org" <draft-ietf-mmusic-sdp-bundle-negotiation@ietf.org>
References: <152676110260.28001.7412898846338225219.idtracker@ietfa.amsl.com> <CABcZeBN43yTCK+XbLLih_xeaBwsGVMa6XcPQkrcyQjzQHfzNuQ@mail.gmail.com> <CABcZeBO5b4OMaV5z-XhQPVOUpX6eB_GZKPu7b9Ti6MOCwsJ5xQ@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B72EF825B@ESESSMB109.ericsson.se> <CABcZeBM5Vqmw-txmTmrcOXndwsW=20oUvXywdeLR9OMBPFp1cQ@mail.gmail.com> <701d1e42-fcb9-a849-2865-9f1a71176a50@nostrum.com> <7594FB04B1934943A5C02806D1A2204B72EF9591@ESESSMB109.ericsson.se> <d6143d6e-7177-36dc-76ea-b85e8b519724@nostrum.com> <7594FB04B1934943A5C02806D1A2204B72EF9626@ESESSMB109.ericsson.se> <EA1B8B7B-B908-422E-8D75-ECABF47E8690@ericsson.com> <B40AF706-A3E5-44F8-988B-93CA6BCB09D8@nostrum.com>
From: Flemming Andreasen <fandreas@cisco.com>
Message-ID: <816b0d38-66d8-262d-f59e-f73e76d23903@cisco.com>
Date: Tue, 22 May 2018 10:14:30 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.8.0
MIME-Version: 1.0
In-Reply-To: <B40AF706-A3E5-44F8-988B-93CA6BCB09D8@nostrum.com>
Content-Type: multipart/alternative; boundary="------------63B199E7B6417AC1ED9EA82D"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/vOPc1Fke-UjO4-V7cST8U8naSgc>
Subject: [MMUSIC] Offer/Answer sections in SDP extension documents [Re: Eric Rescorla's No Objection on draft-ietf-mmusic-sdp-bundle-negotiation-51: (with COMMENT)]
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 22 May 2018 14:14:36 -0000

In the past, we have had a lot of trouble getting people to write clear 
offer/answer procedures for the SDP extensions they defined. In an 
effort to put some structure around that, we started insisting on people 
following RFC 3264, which defines the following stages:

1. Generating the Initial Offer
2. Generating the Answer
3. Offerer Processing of the Answer
4. Modifying the Session

Clearly, any new SDP extensions MUST define how the extension is to be 
used with these well-defined RFC 3264 procedures.

Now, the argument here seems to be as to whether the "Modifying the 
Session" needs to get into a further level of granularity, e.g.
4a. Modifying the Session when the Extension was *not* used previously
4a1. Sending a Subsequent Offer with the Extension
4a2. Generating the Subsequent Answer to Subsequent Offer with the Extension
4a3. Offerer Processing of Subsequent Answer after Subsequent Offer with 
the Extension

If we need that, then we also need:
4b. Modifying the Session when the extension *was* used previously.
4b1. Sending a  Subsequent Offer without the Extension (assumed here to 
be different from 4 above, which would keep using the extension)
4b2. Generating the Subsequent Answer to Subsequent Offer without the 
Extension
4b3. Offerer Processing of Subsequent Answer after Subsequent Offer 
without the Extension.

We have shied away from requiring this structure in the documents 
because it becomes rather cumbersome, and in practice, it doesn't seem 
to be needed. Instead, the traditional RFC 3264 sections have generally 
been written in way that accommodates both the formal meaning of 
*initial* offer/answer exchange, as well as initial from the point of 
view of covering the first time the extension is used. In some cases, 
explicit caveats have been included to point this out (as has been done 
in bundle), and in others it has not. We have a number of published RFCs 
and IESG approved documents in MISSREF state that all follow this 
approach, and I cannot recall this resulting in any concerns from either 
the WG, the IESG, or implementers.

In summary, my position remains what it has been for a long time, which 
is to follow the RFC 3264 structure outlined above, with proper 
clarifications in each of the resulting sections to account for the 
variations outlined in 4a and 4b.

It's not clear to me that the current bundle document doesn't already 
achieve that, but if people feel otherwise, I would ask for specific 
text suggestions that could address that while keeping in-line with 
long-standing document structure MMUSIC has required for SDP extensions.

Thanks

-- Flemming (as WG co-chair and Individual)

On 5/21/18 10:51 PM, Ben Campbell wrote:
>
>> On May 21, 2018, at 11:23 AM, Christer Holmberg <christer.holmberg@ericsson.com> wrote:
>>
>> ....and, to use an example you may be more familiar with: RID.
>>
>> Are you saying that the “initial offer” procedures can only be used for the initial offer of the SIP session, meaning I can’t introduce RID later in the session (to an existing and/or new m- line)? If so, I think that should be explicitly stated in the draft.
>>
> *** MMUSIC Chairs and other SDP experts: Please feel free to jump in with your opinion about how we should expect the “Offer/answer considerations” sections be written in SDP extension RFCs. ***
>
> I will let Adam confirm his intent, but I read the “initial SDP offer” section as talking about the initial _SDP_ offer”. It says the initial offer _MAY_ contain one or more “a=rid” lines. The "Modifying the Session” section then goes on to say that such an offer MAY change the number of RID lines in use. I argue that going from zero to one or more RID line counts as changing the number of RID lines in use.
>
> I do not dispute that there may be some SDP extension RFCs that are written as you suggest. I would have to go back and re-read a bunch of documents to reasonably comment on how many. But picking a random target:
>
> draft-ietf-mmusic-dtls-sdp-32 seems ambiguous on this point. The “Generating initial SDP offer” section is written from the assumption the initial offer includes DTLS-SRTP. But the “modifying a session” section talks about putting a new offer for DTLS-SRTP in a subsequent SDP offer. Taken as a whole, this seems more in the vein of “initial SDP offer” is really the initial SDP offer, and it just (reasonably) neglected to describe the case where the initial offer does not include DTLS-SRTP.
>
> In the case of BUNDLE, I don’t think we are talking about a complete restructure. Just recognize the difference between invoking bundle in the initial SDP offer vs subsequent SDP offers. That probably means adding a few sentences to the “Initial SDP offer” and “Modifying the Session” sections.
>
>
> Ben.
>
>> Regards,
>>
>> Christer
>>
>>
>> Sent from my iPhone
>>
>> On 21 May 2018, at 18.37, Christer Holmberg <christer.holmberg@ericsson.com> wrote:
>>
>>> Hi,
>>>
>>>>> It is also important to remember that this affects virtually every SDP attribute we define, >> unless there are cases where "initial offer" always means the initial offer of a session, i.e., >> it is not possible to introduce an attribute later in a session.
>>>> I'm not following your logic here. Can you give an example?
>>> Assume I establish a session, with audio and video.
>>>
>>> The initial offer will contain the m- lines, and associated SDP attributes, for audio and video.
>>>
>>> Later in the session, I send a subsequent offer, adding a BFCP m- line.
>>>
>>> When setting the SDP attributes associated with the BFCP m- line, I will now use the "initial offer" procedures for those attributes, because it is the initial offer for those attributes (while a subsequent offer for the SIP session).
>>>
>>> Regards,
>>>
>>> Christer
>>>