Re: [rtcweb] consent freshness [was RE: STUN for keep-alive]

Magnus Westerlund <> Fri, 23 September 2011 07:18 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A66B421F8ABD for <>; Fri, 23 Sep 2011 00:18:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -106.528
X-Spam-Status: No, score=-106.528 tagged_above=-999 required=5 tests=[AWL=0.071, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ErAt9rhbf8NQ for <>; Fri, 23 Sep 2011 00:18:55 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 9056A21F8ABB for <>; Fri, 23 Sep 2011 00:18:54 -0700 (PDT)
X-AuditID: c1b4fb39-b7bfdae000005125-ce-4e7c337700f0
Received: from (Unknown_Domain []) by (Symantec Mail Security) with SMTP id 8C.99.20773.7733C7E4; Fri, 23 Sep 2011 09:21:27 +0200 (CEST)
Received: from [] ( by ( with Microsoft SMTP Server id; Fri, 23 Sep 2011 09:21:27 +0200
Message-ID: <>
Date: Fri, 23 Sep 2011 09:21:25 +0200
From: Magnus Westerlund <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2
MIME-Version: 1.0
To: Randell Jesup <>
References: <><><><><><><092401cc749b$8fd64940$af82dbc0$@com><><><0ced01cc76de$28731630$79594290$@com> <> <> <> <> <4E7B2C04.401 0204@eri> <> <> <4E7B5A2F.8020102@ericss> <>
In-Reply-To: <>
X-Enigmail-Version: 1.3.1
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: AAAAAA==
Cc: "" <>
Subject: Re: [rtcweb] consent freshness [was RE: STUN for keep-alive]
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 23 Sep 2011 07:18:55 -0000

On 2011-09-22 18:51, Randell Jesup wrote:
> I wonder: could we create a default reliable data channel in all
> PeerConnections that's used (solely?) for a heartbeat/"consent freshness"?
> In that case, we get to define the heartbeat and can mandate enough entropy.
> (Receiving data on reliable SCTP (or TCP) over DTLS might be enough right there.)

The short answer is Yes, you can. But the longer answer is that it might
imply limitations on what deployments are possible.

First of all, this is only in reality practical when you only have a
single 5-tuple in use between the peers. If you don't multiplex all
flows on a single 5-tuple then you will need both consent and keep-alive
for each bi-directional flow the 5-tuple represents.

Secondly, for any consent freshness / heartbeat you do need to transmit
regularly. And considering common NAT timers for UDP we do need to have
keep-alives no less often than every 15 seconds to try to ensure that
the very aggressive timers of 30 seconds don't disconnect the session.

Thirdly one are using resources both in establishing this reliable data
channel, and then when using it for this function. Yes, you will spend
some resources on heartbeat in all cases. But you might have to do it
for multiple flow and then the reliable is an additional flow to
keep-alive if it isn't used for anything else.

So I am not thrilled of establishing an additional flow just for consent
freshness. In fact I am not thrilled by the PeerConnections default UDP
unreliable channel and believe the transports should be only enabled
upon demand from the application for such a transport.

I do see a simplicity in using ICE for keep-alive and consent freshness
as this is likely applicable for all transport protocols that we need
(as they will be over UDP) and aren't TCP to a relay or server.

I do also notice that there are desire for alternative solutions.

Lets keeps the discussion going.


Magnus Westerlund

Multimedia Technologies, Ericsson Research EAB/TVM
Ericsson AB                | Phone  +46 10 7148287
Färögatan 6                | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden| mailto: