Re: [pntaw] Real-time media over TCP

Dan Wing <> Tue, 03 September 2013 17:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id EBA3111E8100 for <>; Tue, 3 Sep 2013 10:25:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -110.53
X-Spam-Status: No, score=-110.53 tagged_above=-999 required=5 tests=[AWL=0.069, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 0318KezPlKTD for <>; Tue, 3 Sep 2013 10:25:27 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id C459421E8118 for <>; Tue, 3 Sep 2013 10:25:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=3724; q=dns/txt; s=iport; t=1378229122; x=1379438722; h=mime-version:subject:from:in-reply-to:date:cc: content-transfer-encoding:message-id:references:to; bh=32D0QAKDBji6MpNkeZLFY04X4I2X/nDkisFAuBjaMdk=; b=ZxBkkACKOugSKFO/JskfgUD4ryGKn5hEwlqb89FWmsXc//rBANNKS5Zi SMLiEX0ZCjg79BcAbkxOSr5mVcGhxW6Fbc8VAK2ikLtRWSDzpyOBOrZKg sKTXgt0VPDjEoY98vzdP2pV7e71/WsP7wdqhs9zJEJyqh3+3JO1dLfYjY E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AhEFAAobJlKrRDoJ/2dsb2JhbABbgwc1wUyBLhZ0giQBAQECAQEBAQE3LgYLBQsLGC4nIgENBhMbh2EFDbkXji2BFjMHgx2BAAOJNYpmg1qBL5A3g0AcgTU
X-IronPort-AV: E=Sophos;i="4.89,1015,1367971200"; d="scan'208";a="90948085"
Received: from ([]) by with ESMTP; 03 Sep 2013 17:25:21 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id r83HPHvu001509; Tue, 3 Sep 2013 17:25:17 GMT
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
From: Dan Wing <>
In-Reply-To: <>
Date: Tue, 3 Sep 2013 10:25:15 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <BLU405-EAS183E36A927CA42270B6936D93300@phx.gbl> <>
To: Harald Alvestrand <>
X-Mailer: Apple Mail (2.1508)
Cc: Bernard Aboba <>, "" <>
Subject: Re: [pntaw] Real-time media over TCP
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion list for practices related to proxies, NATs, TURN, and WebRTC" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 03 Sep 2013 17:25:59 -0000

On Sep 3, 2013, at 12:34 AM, Harald Alvestrand <> wrote:

> On 09/02/2013 08:17 PM, Bernard Aboba wrote:
>> If the issue is firewall restrictions on UDP, then the data channel is not likely to be a workable option. The question for me is how far we need to go to solve this (e.g. RFC 6062? 6544?). The scenario where both sides are behind UDP blocking firewalls is not common, but it does occur.
> I was thinking more about "what can you do to avoid TCP's bad behaviour for real-time traffic, and still be in a connection-oriented, congestion-controlled environment".

DCCP is connection-oriented, message-oriented and unreliable (thus like UDP) with congestion control.  It should be pretty ideal for the list of constraints in your email.  DCCP can be tunneled over UDP if the network path or OS don't handle DCCP, see RFC6773.

And of course there is RMCAT, which is attempting to solely add congestion control without the other stuff that was added by DCCP.

> Multiple TCP connections seems like a suboptimal design, given the existence of other solutions like Minion or SCTP.

Sure.  But those technologies weren't on the table when Victor did interactive audio/video over TCP, I'm sure.  Much like they weren't on the table when HTTP started doing multiple TCP connections back in the early days of Netscape.

> If both sides have TURN over TCP (or TURN over HTTP) enabled, and their respective TURN servers can talk UDP to each other, communication will occur, I think. I don't think we need to add TCP candidates for the TURN case in order to bypass firewalls.
> We might want to do so for the benefit of the pure peer-to-peer case, but I'm not sure it's a case that's important enough to make 6062 (TURN TCP allocations) or 6544 (ICE TCP allocations, no TURN server) into MUSTs for RTCWEB.

I agree.  Additionally, before anyone ventures too far down that path it would be useful to understand how well the expected RTCWeb endpoints could do peer-to-peer TCP connections.  Reliable peer-to-peer TCP needs TCP simultaneous open needs to work well on both hosts, per the research by Saikat Guha and Paul Francis  In that research, they found Windows XP SP1 doesn't do simultaneous open well, but Windows XP with SP2 and SP3 and Linux worked okay.  I have not seen similar research for Android, OS X, or Windows 7 or Windows 8.


>> On Sep 2, 2013, at 1:37 AM, "Harald Alvestrand" <> wrote:
>>> On 08/30/2013 12:12 PM, Victor Pascual Avila wrote:
>>>> Hi,
>>>> Real-time media over TCP has some inherent challenges -- is this
>>>> something we're planning to discuss here? We did RTP over TCP (+ HTTP
>>>> CONNECT) in the past and ended up using multiple connections along
>>>> with application-layer redundancy. I'm wondering whether we'll be able
>>>> to do the same when moving to WebRTC
>>> If you really want to go there, I suggest you take a good hard look at either SCTP or TCP Minion (draft-iyengar-minion-concept-01.txt).
>>> The RTCWeb stack already uses SCTP over DTLS over UDP.
>>> In either case, I don't think performance of RTP over reliable transport is a firewall-related issue.
>>> _______________________________________________
>>> pntaw mailing list
> _______________________________________________
> pntaw mailing list