Re: [rtcweb] Retry: DTLS carrying RTP/SAVPF over ICE: To UDP or not to UDP?

"Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com> Thu, 05 June 2014 13:48 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 3FA5C1A007C for <rtcweb@ietfa.amsl.com>; Thu, 5 Jun 2014 06:48:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.6
X-Spam-Level:
X-Spam-Status: No, score=-6.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, 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 dcH20yJlVhsu for <rtcweb@ietfa.amsl.com>; Thu, 5 Jun 2014 06:48:26 -0700 (PDT)
Received: from ihemail1.lucent.com (ihemail1.lucent.com [135.245.0.33]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A2C341A0115 for <rtcweb@ietf.org>; Thu, 5 Jun 2014 06:48:17 -0700 (PDT)
Received: from us70tusmtp2.zam.alcatel-lucent.com (h135-5-2-64.lucent.com [135.5.2.64]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id s55Dm8e7011466 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 5 Jun 2014 08:48:08 -0500 (CDT)
Received: from US70UWXCHHUB02.zam.alcatel-lucent.com (us70uwxchhub02.zam.alcatel-lucent.com [135.5.2.49]) by us70tusmtp2.zam.alcatel-lucent.com (GMO) with ESMTP id s55Dm3aH008947 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 5 Jun 2014 09:48:07 -0400
Received: from US70UWXCHMBA02.zam.alcatel-lucent.com ([169.254.8.24]) by US70UWXCHHUB02.zam.alcatel-lucent.com ([135.5.2.49]) with mapi id 14.02.0247.003; Thu, 5 Jun 2014 09:48:05 -0400
From: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>
To: Iñaki Baz Castillo <ibc@aliax.net>
Thread-Topic: [rtcweb] Retry: DTLS carrying RTP/SAVPF over ICE: To UDP or not to UDP?
Thread-Index: AQHPgD7abSYqU+IK/kuiw4z1j/rtWJthf6wQgABcfgCAAIM7YIAAYq0A//++0EA=
Date: Thu, 05 Jun 2014 13:48:04 +0000
Message-ID: <E1FE4C082A89A246A11D7F32A95A17828E3E6128@US70UWXCHMBA02.zam.alcatel-lucent.com>
References: <CAOJ7v-2FTAKGd2ZUNt9PZBW9pFu7c9v7Gx8Z8vFOQo4K3dyr5Q@mail.gmail.com> <E1FE4C082A89A246A11D7F32A95A17828E3DFD6E@US70UWXCHMBA02.zam.alcatel-lucent.com> <CALiegf=jG6jCrAgSqfW9_qCuxr_CEOx3d1s6H3fkQfhzhRWeFQ@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1D34FCBA@ESESSMB209.ericsson.se> <CAOJ7v-0p0nSUnwBX-eRFDr+v03r9uHsCVM4xqCL8wTTLx1+tXA@mail.gmail.com> <E1FE4C082A89A246A11D7F32A95A17828E3E45C1@US70UWXCHMBA02.zam.alcatel-lucent.com> <CAOJ7v-0NJz9yYwsLVHj_vWy_gUOiVaWrDoQOhWpkVCOUo+10BA@mail.gmail.com> <E1FE4C082A89A246A11D7F32A95A17828E3E5A88@US70UWXCHMBA02.zam.alcatel-lucent.com> <CALiegfkPQ_dSf+AC3=77-OMbVtMeKe-vvWS5NXdnc355VpktGQ@mail.gmail.com>
In-Reply-To: <CALiegfkPQ_dSf+AC3=77-OMbVtMeKe-vvWS5NXdnc355VpktGQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.5.27.17]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/6nKWAPozR5_B2clEvI46Cq-w8ps
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Retry: DTLS carrying RTP/SAVPF over ICE: To UDP or not to UDP?
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, 05 Jun 2014 13:48:32 -0000

> > [Raju1] You meant “you could still do that” using existing procedures?
> > Currently I don’t think Chrome updates c/m= lines ip/port to match with
> > final selected candidate.
> 
> Of course not, and that is why "you could still do that" (in case we
> get some PC event firing when the selected ICE candidate is paired, so
> *you* can inspect it at JS level and mangle your SDP).
[Raju] As I mentioned earlier, how about when TCP and UDP port #s are same? Take a look at the following example. In this case how do you know the exact Layer 4 transport used?

m=audio 58612 RTP/SAVPF 0 100
a=candidate:3275585311 1 udp 2122260223 135.252.136.43 58612 typ host generation 0
a=candidate:2378075119 1 tcp 1518280447 135.252.136.43 58612 typ host generation 0 

>And yes, this "breaks RFC 5764 and 5245". But what it breaks is
>useless and legacy and makes no sense in the context of WebRTC. So no
>problem.
[Raju] Why intentionally break it and add exceptions?!!
If we go in that direction and set wrong precedence to break RFC rules, then why not do any or all of the following to have a parallel webrtc universe?
- Just use "RTP" instead of "RTP/SAVPF" and assume DTLS-SRTP always.
- For data channel, just use "SCTP" instead of "SCTP/DTLS" and assume "DTLS" always.
We don't want to do that because webrtc respects and takes advantage of existing IETF RFCs.
IHMO, cherry picking is not a good idea... especially here where we don't have a strong case for it. I don't think FF to Chrome interop is a strong reason and I already suggested a way to have backward compatibility. IMHO, FF and Chrome should have used "UDP/TLS/RTP/SAVPF" for DTLS-SRTP from day 1; then we wouldn’t be having this discussion. 
I don't agree with the comment that "it's legacy"; it may not be prefect but since webrtc decided to adapt IETF STUN/ICE/SDP RFCs we should follow them with as few exceptions (zero should be the goal) as possible.


>So honestly I don't think that the W3C should design an API (or make
>it more complex) that makes happy old and legacy SDP procedures and
>requirements.
[Raju] As I mentioned before, we are not talking about a new API or making it more complex here. Existing API oniceconnectionstatechange () is sufficient to indicate the application about ICE completion. The extra stuff I am talking about is not API related, rather making SDP consistent with the selected candidate in an unambiguous way. 

BR
Raju