Re: [rtcweb] Proposal for PeerConnection cloning

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 07 May 2012 07:08 UTC

Return-Path: <christer.holmberg@ericsson.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 774A821F84DF for <rtcweb@ietfa.amsl.com>; Mon, 7 May 2012 00:08:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.854
X-Spam-Level:
X-Spam-Status: No, score=-5.854 tagged_above=-999 required=5 tests=[AWL=-0.205, BAYES_00=-2.599, HELO_EQ_SE=0.35, J_CHICKENPOX_33=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hhN8drehVeOo for <rtcweb@ietfa.amsl.com>; Mon, 7 May 2012 00:08:32 -0700 (PDT)
Received: from mailgw7.ericsson.se (mailgw7.ericsson.se [193.180.251.48]) by ietfa.amsl.com (Postfix) with ESMTP id AEC0321F84DA for <rtcweb@ietf.org>; Mon, 7 May 2012 00:08:31 -0700 (PDT)
X-AuditID: c1b4fb30-b7c78ae000006de5-ce-4fa774ee9faf
Authentication-Results: mailgw7.ericsson.se x-tls.subject="/CN=esessmw0184"; auth=fail (cipher=AES128-SHA)
Received: from esessmw0184.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) (using TLS with cipher AES128-SHA (AES128-SHA/128 bits)) (Client CN "esessmw0184", Issuer "esessmw0184" (not verified)) by mailgw7.ericsson.se (Symantec Mail Security) with SMTP id 86.50.28133.EE477AF4; Mon, 7 May 2012 09:08:30 +0200 (CEST)
Received: from ESESSCMS0356.eemea.ericsson.se ([169.254.1.64]) by esessmw0184.eemea.ericsson.se ([10.2.3.53]) with mapi; Mon, 7 May 2012 09:08:29 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Randell Jesup <randell-ietf@jesup.org>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Date: Mon, 07 May 2012 09:08:27 +0200
Thread-Topic: [rtcweb] Proposal for PeerConnection cloning
Thread-Index: Ac0sHj+FOGYYlPFESEathLjcP/pOJAAAaBBw
Message-ID: <7F2072F1E0DE894DA4B517B93C6A05852C4435E180@ESESSCMS0356.eemea.ericsson.se>
References: <6F428EFD2B8C2F49A2FB1317291A76C11364EC028C@USNAVSXCHMBSA1.ndc.alcatel-lucent.com> <7F2072F1E0DE894DA4B517B93C6A05852C44001342@ESESSCMS0356.eemea.ericsson.se> <6F428EFD2B8C2F49A2FB1317291A76C11364EC0293@USNAVSXCHMBSA1.ndc.alcatel-lucent.com> <4FA75E92.2050007@jesup.org> <7F2072F1E0DE894DA4B517B93C6A05852C4435E11F@ESESSCMS0356.eemea.ericsson.se> <4FA7715B.40505@jesup.org>
In-Reply-To: <4FA7715B.40505@jesup.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAA==
Subject: Re: [rtcweb] Proposal for PeerConnection cloning
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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: Mon, 07 May 2012 07:08:32 -0000

Hi,

>>> If you want to support the usecase I suggested, where a single offer 
>>> can result in parallel forking, but where you don't want to lock down 
>>> to a single answerer: then you obviously need to support forking, and 
>>> likely you need/want to support it irrespective of the 'final' state of the original PeerConnection.  You *can* require cloning before the final answer is applied, though I would argue that you don't gain much by doing so.
>>>
>>> So this is the usecase: you send a single offer (say to a conference 
>>> server controller, or to a game server) and you get a separate answer 
>>> from each other endpoint, such as in a mesh conference, or who are in 
>>> the same 'area' of the game, or in hearing (at that moment) in a VR environment.  You might get these answers well after the initial answer or burst of answers.
>> Yes. And, my idea would be that each of those answers are provided to the browser as PRE_ANSWERS.
>>
>> Then, at some point, you decide that you are not going to accept any more answers, and you provide an ANSWER to one of the (C)PCs, which will release all other associated (C)PCs.
>
> Sorry, I think you missed the point: the application wants to end up with N connected, active PeerConnections, not one.  This is a 
> mesh conference (for example), not a central-mixer conference.  And for added fun, we don't necessarily know there won't be more 
> coming later, perhaps much later (but that's a possibly-separable feature).

Speaking in SIP terms, I don't think it is possible to implement mesh conference that way, because clients will normally, once they've received one 200 OK, ACK+BYE any additional ones. Or, a forking proxy will CANCEL all other forked legs once a 200 OK has been forwarded on one of them.

Regards,

Christer