Re: [rtcweb] [MMUSIC] draft-ejzak-mmusic-data-channel-sdpneg: external rejection of channel

"Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com> Thu, 27 February 2014 19:55 UTC

Return-Path: <Raju.Makaraju@alcatel-lucent.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1E86B1A0661; Thu, 27 Feb 2014 11:55:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.7
X-Spam-Level:
X-Spam-Status: No, score=-5.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_14=0.6, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_HI=-5] autolearn=ham
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 SRhvqrIDo4ZZ; Thu, 27 Feb 2014 11:55:17 -0800 (PST)
Received: from ihemail1.lucent.com (ihemail1.lucent.com [135.245.0.33]) by ietfa.amsl.com (Postfix) with ESMTP id 55E641A04B7; Thu, 27 Feb 2014 11:55:16 -0800 (PST)
Received: from us70tusmtp1.zam.alcatel-lucent.com (h135-5-2-63.lucent.com [135.5.2.63]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id s1RJtDUB011487 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 27 Feb 2014 13:55:13 -0600 (CST)
Received: from US70TWXCHHUB03.zam.alcatel-lucent.com (us70twxchhub03.zam.alcatel-lucent.com [135.5.2.35]) by us70tusmtp1.zam.alcatel-lucent.com (GMO) with ESMTP id s1RJtAdB022388 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 27 Feb 2014 14:55:13 -0500
Received: from US70UWXCHMBA02.zam.alcatel-lucent.com ([169.254.8.212]) by US70TWXCHHUB03.zam.alcatel-lucent.com ([135.5.2.35]) with mapi id 14.02.0247.003; Thu, 27 Feb 2014 14:55:11 -0500
From: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>, "mmusic@ietf.org" <mmusic@ietf.org>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Thread-Topic: [MMUSIC] draft-ejzak-mmusic-data-channel-sdpneg: external rejection of channel
Thread-Index: AQHPMv00Ot+PDux+H0inH2oRraNWlJrH7JxQgABjlQCAAR/dwA==
Date: Thu, 27 Feb 2014 19:55:11 +0000
Message-ID: <E1FE4C082A89A246A11D7F32A95A17826DFFEDAB@US70UWXCHMBA02.zam.alcatel-lucent.com>
References: <7594FB04B1934943A5C02806D1A2204B1D1BC516@ESESSMB209.ericsson.se> <CAJuyhsyk4jO_TS=5khD9ROAx7uYU1YAkCV0Xy4QVUkiqXBJJfg@mail.gmail.com> <E1FE4C082A89A246A11D7F32A95A17826DFFB545@US70UWXCHMBA02.zam.alcatel-lucent.com> <530E4E34.4010707@alum.mit.edu>
In-Reply-To: <530E4E34.4010707@alum.mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.5.27.18]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/MWUJiRK_cf2FEw9kFB7_FsE2Dng
Subject: Re: [rtcweb] [MMUSIC] draft-ejzak-mmusic-data-channel-sdpneg: external rejection of channel
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 Feb 2014 19:55:20 -0000

+ rtcweb as it impacts DCP draft.

Please see comments inline.

> I would like some clarity about how this interacts with DCEP.
> 
> IMO these are not mutually exclusive. But they must be used with care.

[Raju] I debated on this with myself before concluding in my earlier
reply that they are mutually exclusive. My mistake, instead of 
concluding I should have given options. To make this internal or 
external per data channel granuality we need to add more 
restrictions/notes to these draft. 

http://tools.ietf.org/html/draft-ietf-rtcweb-data-protocol-03#section-4 says:
   "To avoid glare in opening Channels, each side MUST use either even or
   odd Streams when sending a DATA_CHANNEL_OPEN message.  The method
   used to determine which side uses odd or even is based on the
   underlying DTLS connection role when used in WebRTC, with the side
   acting as the DTLS client using even stream identifiers."

Where as draft-ejzak-mmusic-data-channel-sdpneg determines this 
based on SDP offerer (even) and answerer (odd).

What if the SDP answerer becomes TLS client? The stream #id assignments
conflict with SDP offer/answer.
So, to avoid such conflict we need to add the following clarifications:
1. draft-ejzak-mmusic-data-channel-sdpneg
   If DCP is used along with external negotiation, when creating
   data channel the client should always specify the stream id 
   to use. Leaving selection to data channel stack (DCSK) will 
   result in conflicts as DCSK (browser) will assign stream ids 
   per DTLS role.

2. draft-ietf-rtcweb-data-protocol-03
   Item (1) above conflicts with DCP's odd/even rule, for which
   the draft says "MUST" ("each side MUST use either even or 
   odd Streams").
   This section 4 (and other sections) text has to be updated
   to "SHOULD" or "MAY".

If we all agree to these updates then I am ok to make 
internal or external negotiation granularity per data channel.

Best Regards
Raju

> 
> So, when a channel that was in the SDP previously then disappears from
> the SDP it is necessary to close the corresponding channel. But channels
> that were opened via DCEP should not be closed.
> 
> That also means that one should never mention a DCEP channel in SDP.
> 
> 	Thanks,
> 	Paul
> 
> On 2/26/14 3:12 PM, Makaraju, Maridi Raju (Raju) wrote:
> > Please find my comments inline.
> >
> > But, there is no text on rejecting a data channel in the SDP answer.
> >
> > The answer can of course reject the whole m- line, using port zero in
> > the Answer m- line. But, how does the answerer reject an individual
> > sub-protocol data channel?
> >
> > Only attributes for "accepted data channels" are included in the SDP
> > answer, which indicates back to the offerer which ones are rejected
> > (they just aren't there).  This should be made clearer in the text.
> >
> >     Section 5.1.1 says, regarding the SDP dcmap attribute, for accepted
> >     data channels:
> >
> >     "This line MUST be replicated without changes in the SDP answer, if
> >
> >                      the answerer accepts the offered data channel."
> >
> >     I guess one way to reject would be to simply not include the dcmap
> >     attribute in the Answer, and the Offerer then needs to figure out
> >     what was rejected based on the stream values not present in the
> Answer.
> >
> > Yes.  That is what was intended.
> >
> > /[Raju] In addition to the above mentiooed cases, if we all agree we
> > need to add the following cases in the next draft:/
> >
> > */1./*SDP offer has no a=dcmap. This has two use cases:
> >
> > a.Initial SDP offer: no data channel streams (DCS) are open yet.
> >
> > b.Subsequent SDP offer: Remove all previously opened data
> channels/streams.
> >
> > In either case, the SCTP association is kept open (and ICE procedures
> > are performed) even when no data channels are in use.
> >
> > */2./*Creation of new DCS(s) using SDP offer (initial or subsequent)
> >
> > a.Offerer has to create the data channels locally first by doing
> > createDataChannel or equivalent API into data channel stack before
> > sending offer.
> >
> > */3./*SDP offer was rejected
> >
> > a.DCSs are kept per previous SDP offer/answer. This means DCSs that are
> > to be deleted has to be deleted (i.e. calling createDataChannel or
> > equivalent API) only after successful SDP answer.
> >
> > b.If any new DCSs are attempted to be created per new SDP offer, these
> > have to be closed now.
> >
> > */4./*Per
> > http://dev.w3.org/2011/webrtc/editor/webrtc.html#dom-peerconnection-
> createdatachannel
> > createDataChannel() API the 'external' negotiation field is per data
> > channel.  But this draft only allows external negotiation to be used for
> > all or no streams; it can't be selective. This restriction is also
> > needed so that the SDP offer/answer odd/even stream id allocation won't
> > conflict DCP's TLS role based odd/even mechanism.
> >
> > Best Regards!
> >
> > Raju
> >
> >
> >
> > _______________________________________________
> > mmusic mailing list
> > mmusic@ietf.org
> > https://www.ietf.org/mailman/listinfo/mmusic
> >
> 
> _______________________________________________
> mmusic mailing list
> mmusic@ietf.org
> https://www.ietf.org/mailman/listinfo/mmusic