Re: [MMUSIC] draft-ejzak-mmusic-msrp-usage-data-channel

Paul Kyzivat <pkyzivat@alum.mit.edu> Fri, 24 October 2014 16:35 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9FECB1A6F39 for <mmusic@ietfa.amsl.com>; Fri, 24 Oct 2014 09:35:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.635
X-Spam-Level:
X-Spam-Status: No, score=-0.635 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, J_CHICKENPOX_15=0.6, SPF_SOFTFAIL=0.665] autolearn=no
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 9pflPJZjFdeE for <mmusic@ietfa.amsl.com>; Fri, 24 Oct 2014 09:35:00 -0700 (PDT)
Received: from resqmta-po-06v.sys.comcast.net (resqmta-po-06v.sys.comcast.net [IPv6:2001:558:fe16:19:96:114:154:165]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0962E1A6F63 for <mmusic@ietf.org>; Fri, 24 Oct 2014 09:34:56 -0700 (PDT)
Received: from resomta-po-13v.sys.comcast.net ([96.114.154.237]) by resqmta-po-06v.sys.comcast.net with comcast id 74Yp1p00A57bBgG014avhv; Fri, 24 Oct 2014 16:34:55 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.151]) by resomta-po-13v.sys.comcast.net with comcast id 74av1p0023Ge9ey014av1Y; Fri, 24 Oct 2014 16:34:55 +0000
Message-ID: <544A7FAE.1070206@alum.mit.edu>
Date: Fri, 24 Oct 2014 12:34:54 -0400
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>, "mmusic@ietf.org" <mmusic@ietf.org>
References: <949EF20990823C4C85C18D59AA11AD8B266CF1@FR712WXCHMBA11.zeu.alcatel-lucent.com> <54492D34.5030705@alum.mit.edu> <E1FE4C082A89A246A11D7F32A95A17828E5EE3CF@US70UWXCHMBA02.zam.alcatel-lucent.com> <544966CE.2080709@alum.mit.edu> <E1FE4C082A89A246A11D7F32A95A17828E5EF911@US70UWXCHMBA02.zam.alcatel-lucent.com>
In-Reply-To: <E1FE4C082A89A246A11D7F32A95A17828E5EF911@US70UWXCHMBA02.zam.alcatel-lucent.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1414168495; bh=NUwQ+ValLgy1Z81+SXqgPAOSalDl7z9tP3C29EotH/s=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=c1Q87YvCAWH43XHXZe3oROs2kwo/S8EXUsB0w5gCwqqJqHPqx4QuyytpldHbIPLb0 nqYR18Td6aBdWwrr5CqdIUt1BMT/muETXzebmTFWG5LSMYRv1w8OQ2BtEi4g/ZLNBe ZW3Yc3EqxDyHdflXg15jLVmM0K2Dj/tZHi1FUf1Cih73cltmAHwmYGvPl/0zybYMCn 5cQ6NLNX5cz/HnBonC3pDyHCDesGQhoD4rIup6D5jXL2PX06ySY/ESzW7NDsmJDGMl lOMAW02VrEt9tsepvIhoF+q+R2V1voYJM0yJFvRf4xd6EeVV0kWfMT2oqWlFkAtdki /2noMEgMlhpxg==
Archived-At: http://mailarchive.ietf.org/arch/msg/mmusic/rcH2tI78IOFneppkGfquemd8STM
Subject: Re: [MMUSIC] draft-ejzak-mmusic-msrp-usage-data-channel
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Fri, 24 Oct 2014 16:35:01 -0000

On 10/24/14 11:26 AM, Makaraju, Maridi Raju (Raju) wrote:
>>> Suppose the intent is to close one MSRP session and immediately open a
>>>> new one. Is it permissible to simply update the SDP to describe the new
>>>> MSRP session, reusing the channel number, without first doing an O/A to
>>>> confirm the closure of the old one?
>>> <Raju>
>>> The intent is not to reuse a datachannel (same or a different subprotocol)
>>> before close. We will clarify that such a reuse is not supported.
>>> The problem with such reuse is, previous datachannel MUST be reset before
>>> it is used for new subprotocol, else the data from previous data channel
>> use
>>> will interfere with the new data channel use.
>>
>> My question is: Can I just close it in-band (with a reset) and then send
>> an offer for the new usage of the channel?
>
> <Raju>
> No. To reuse a closed data channel, a new SDP offer/answer, to convey the
> data channel closure (which excludes the corresponding a=dcmap and may include
> other new data channels via new a=dcmaps), must be done. This can be done either
> in a new offer initiated from this end or in an SDP answer this end generates.
> The reason for this is to avoid various race conditions between SDP offer/answer
> and SCTP reset arrival times.
> Also, this is not a limiting thing as a new data channel can easily be created
> using a new stream id, range is for which is large, without restarting underlying
> SCTP/DTLS association.

ISTM there is a useful analogy here to reusing m-lines.
It once was thought that if you had been using an m-line for one thing 
(say an audio session), and then you wanted to stop that and start using 
that m-line for something else (say T38), you first had to send an offer 
setting the port to zero on the audio line, and then in a later offer 
you could then reuse that rejected m-line for T38.

Eventually it was clarified that this was silly and unnecessary - that 
you could simply send a new offer replacing the audio m-line with a T38 
m-line.

So ISTM that here the following ought to be valid:

1) offer with dcmap for channel C, subprotocol C1, label C1
2) use channel C, subprotocol C1
3) send reset on channel C
4) offer with dcmap for channel C, subprotocol C2, label C2
5) use channel C, subprotocol C2

The following also ought to be valid:

1) offer with dcmap for channel C, subprotocol C1, label C1
2) use channel C, subprotocol C1
3a) offer lacking channel C
3b) send reset on channel C
4) offer with dcmap for channel C, subprotocol C2, label C2
5) use channel C, subprotocol C2

(I think the above is what you are advocating.)

The following should *not* be valid:

1) offer with dcmap for channel C, subprotocol C1, label C1
2) use channel C, subprotocol C1
4) offer with different dcmap for channel C, subprotocol C2, label C2
5) use channel C, subprotocol C2

	Thanks,
	Paul