Re: [rtcweb] Let's define the purpose of WebRTC

Randell Jesup <> Mon, 07 November 2011 17:35 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E38F921F8C07 for <>; Mon, 7 Nov 2011 09:35:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.558
X-Spam-Status: No, score=-2.558 tagged_above=-999 required=5 tests=[AWL=0.041, BAYES_00=-2.599]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id sM5Ul3wyEVK7 for <>; Mon, 7 Nov 2011 09:35:55 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id E3F1321F8B66 for <>; Mon, 7 Nov 2011 09:35:54 -0800 (PST)
Received: from ([] helo=[]) by with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <>) id 1RNT6n-0007Zx-8Q for; Mon, 07 Nov 2011 11:35:45 -0600
Message-ID: <>
Date: Mon, 07 Nov 2011 12:35:13 -0500
From: Randell Jesup <>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname -
X-AntiAbuse: Original Domain -
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain -
Subject: Re: [rtcweb] Let's define the purpose of WebRTC
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: Mon, 07 Nov 2011 17:35:56 -0000

On 11/7/2011 11:53 AM, Wolfgang Beck wrote:
> On Mon, Nov 7, 2011 at 5:27 PM, Harald Alvestrand<>  wrote:
> [on SIP-style forking]
>> If we were doing a greenfield application, I'd let the server tell all the
>> possible endpoints that they should set up a connection to the original
>> caller, and forget about the caller calling anyone.
>> The difference between caller and callee is a question of your level of
>> abstraction.....
> That's the kind of innovative thinking I thought RTCWEB was all about.
> And this forking discussion is a good example how the requirement to
> have interop between different RTCWEB apps and/or SIP is holding us
> back. Ditch the trapezoid and do greenfield.

This has nothing to do with trapezoids.  This is something I believe we 
need even if there was an absolute block on SIP interop.

And I disagree with Harald here; telling the clients they should open 
connections to the "caller" is exactly what parallel forking by the 
server does.  It tells them "here's the offer and ICE candidates, open a 
connection to the "caller" and complete negotiation."  It'd be silly not 
to include the OFFER in the message to the "callee's", since we have to 
send them the ICE candidates anyways - plus, the "callee's" may need 
that info for alerting, etc, and not providing it would add more 
round-trips.  Never forget that even half-round-trips can be PAINFUL to 
some applications!  And don't forget that this might get used on links 
that bounce off a satellite (or two!), or transit low-bandwidth wireless 
networks or mesh networks, etc.  Now there's RTT... ;-)

Now, the "caller" may have taken the first ACCEPT, or it might run them 
parallel until a final accept on one, or it might keep all the options 
open for the entire "call" (which doesn't map super-well to SIP, note, 
though it can be emulated in SIP).  So the "caller" may decline the 
ANSWERs or final ANSWERS (ACCEPTs) from any of the forked "callees". 
That's entirely up to the app.

Randell Jesup