Re: [rtcweb] RTCWeb Forking usecase [was RE: draft-kaplan-rtcweb-sip-interworking-requirements-00]

Harald Alvestrand <harald@alvestrand.no> Sat, 29 October 2011 16:07 UTC

Return-Path: <harald@alvestrand.no>
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 3692621F8A4E for <rtcweb@ietfa.amsl.com>; Sat, 29 Oct 2011 09:07:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.598
X-Spam-Level:
X-Spam-Status: No, score=-110.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
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 I2QAAZSuTWuZ for <rtcweb@ietfa.amsl.com>; Sat, 29 Oct 2011 09:07:02 -0700 (PDT)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id 2F91F21F8A35 for <rtcweb@ietf.org>; Sat, 29 Oct 2011 09:07:02 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id 221A439E162 for <rtcweb@ietf.org>; Sat, 29 Oct 2011 18:07:00 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at eikenes.alvestrand.no
Received: from eikenes.alvestrand.no ([127.0.0.1]) by localhost (eikenes.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Afg4dBHtNMhA for <rtcweb@ietf.org>; Sat, 29 Oct 2011 18:06:58 +0200 (CEST)
Received: from [192.168.6.21] (unknown [24.104.44.194]) by eikenes.alvestrand.no (Postfix) with ESMTPS id E58CC39E088 for <rtcweb@ietf.org>; Sat, 29 Oct 2011 18:06:57 +0200 (CEST)
Message-ID: <4EAC24A2.70401@alvestrand.no>
Date: Sat, 29 Oct 2011 09:06:58 -0700
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110921 Thunderbird/3.1.15
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <20111024224257.28459.65554.idtracker@ietfa.amsl.com> <6EB8679A-13D5-4AD7-97F2-BC35FC0966F0@acmepacket.com> <2E239D6FCD033C4BAF15F386A979BF51159C32@sonusinmail02.sonusnet.com> <CALiegfnVaZjh1K+brd180Z9Ufheau3v6OJe6Ejv8P7wzw6ROQw@mail.gmail.com> <2E239D6FCD033C4BAF15F386A979BF51159D7A@sonusinmail02.sonusnet.com> <4EAAF413.8030501@alvestrand.no> <2E239D6FCD033C4BAF15F386A979BF51159D7B@sonusinmail02.sonusnet.com> <247FFE2C-DB2C-4280-A219-BE1503662F92@acmepacket.com> <4EAB2657.7090609@jesup.org> <CAD5OKxu=3FvnUDV5m1TW8n+7D+B6ihp_g7TXKtJVaVW3gtiySQ@mail.gmail.com>
In-Reply-To: <CAD5OKxu=3FvnUDV5m1TW8n+7D+B6ihp_g7TXKtJVaVW3gtiySQ@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------030504030108080402050107"
Subject: Re: [rtcweb] RTCWeb Forking usecase [was RE: draft-kaplan-rtcweb-sip-interworking-requirements-00]
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: Sat, 29 Oct 2011 16:07:03 -0000

On 10/28/2011 04:00 PM, Roman Shpount wrote:
>
> On Fri, Oct 28, 2011 at 6:01 PM, Randell Jesup <randell-ietf@jesup.org 
> <mailto:randell-ietf@jesup.org>> wrote:
>
>
>     As discussed, given that users will be "logged into" a service
>     from multiple devices, and that we don't know what the application
>     desired behavior will be, we need to support multiple ANSWER
>     responses to a OFFER, and support allowing multiple of those
>     answers to become active.  (For example, OFFER sent to "my Team",
>     answered by 3 members of the team.)  As for implementation:
>     probably by cloning the PeerConnection or a Factory (this has been
>     discussed before and I haven't gone over the messages to see where
>     it ended up).
>
>
> I agree with this completely.
>
> I think the most encouraging response I got before on this list was 
> that the API should always produce the same list of ICE candidates for 
> a given Web browser session. Because of this, all the offers from the 
> WebRTC client would be the same and simultaneous forking can be 
> implemented by creating a new peer connection for each answer, 
> generating and discarding the offer (since it is the same as the offer 
> from the original peer connection in this session) and feeding a new 
> answer to it.
I considered it when we discussed this last, but I'm not sure it works.

If we support SDES, the offer also contains crypto keys. Reusing crypto 
keys for all created connections would be a huge security vulnerability.

That's why I ended up with the somewhat more complex "factory" model I 
proposed in an earlier mail; another method would be to have a 
PeerConnection constructor that takes an offer AND an answer as creation 
parameters.

Of course we could mandate DTLS-SRTP key negotiation.....

> I am not sure this behavior is defined anywhere, but this could 
> definitely work and would allow to implement all forking scenarios 
> without cloning or factory API calls. I would feel a bit more 
> comfortable if the API would actually reflect this usage (i.e. have 
> one method that always returns an offer for this web session and peer 
> connection only processing answers or responses to remote offers).
> _____________
> Roman Shpount
>
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb