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

Roman Shpount <roman@telurix.com> Fri, 28 October 2011 23:11 UTC

Return-Path: <roman@telurix.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 5626521F854D for <rtcweb@ietfa.amsl.com>; Fri, 28 Oct 2011 16:11:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.901
X-Spam-Level:
X-Spam-Status: No, score=-2.901 tagged_above=-999 required=5 tests=[AWL=0.075, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 OY2vFb94topt for <rtcweb@ietfa.amsl.com>; Fri, 28 Oct 2011 16:10:59 -0700 (PDT)
Received: from mail-yw0-f44.google.com (mail-yw0-f44.google.com [209.85.213.44]) by ietfa.amsl.com (Postfix) with ESMTP id 3B38C21F8532 for <rtcweb@ietf.org>; Fri, 28 Oct 2011 16:10:58 -0700 (PDT)
Received: by ywt2 with SMTP id 2so4828747ywt.31 for <rtcweb@ietf.org>; Fri, 28 Oct 2011 16:10:57 -0700 (PDT)
Received: by 10.68.26.168 with SMTP id m8mr6528977pbg.29.1319843457483; Fri, 28 Oct 2011 16:10:57 -0700 (PDT)
Received: from mail-pz0-f50.google.com (mail-pz0-f50.google.com [209.85.210.50]) by mx.google.com with ESMTPS id i10sm19310131pbn.10.2011.10.28.16.10.56 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 28 Oct 2011 16:10:56 -0700 (PDT)
Received: by pzk34 with SMTP id 34so11083812pzk.9 for <rtcweb@ietf.org>; Fri, 28 Oct 2011 16:10:55 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.12.138 with SMTP id y10mr6371889pbb.70.1319843455919; Fri, 28 Oct 2011 16:10:55 -0700 (PDT)
Received: by 10.68.62.170 with HTTP; Fri, 28 Oct 2011 16:10:55 -0700 (PDT)
In-Reply-To: <817D03B4-A50D-4047-A638-4BFA231543E2@acmepacket.com>
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> <817D03B4-A50D-4047-A638-4BFA231543E2@acmepacket.com>
Date: Fri, 28 Oct 2011 19:10:55 -0400
Message-ID: <CAD5OKxvY7779Lr-=fY5p+1p4EUJ3-=WO2rdnmqC=wZL7M3_P9A@mail.gmail.com>
From: Roman Shpount <roman@telurix.com>
To: Hadriel Kaplan <HKaplan@acmepacket.com>
Content-Type: multipart/alternative; boundary="bcaec51f907f59656604b0640059"
Cc: Randell Jesup <randell-ietf@jesup.org>, "<rtcweb@ietf.org>" <rtcweb@ietf.org>
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: Fri, 28 Oct 2011 23:11:00 -0000

On Fri, Oct 28, 2011 at 6:18 PM, Hadriel Kaplan <HKaplan@acmepacket.com>wrote:

> Yes, but in theory we don't need to support ROAP forking to let you do
> that, because you don't need to do it that way.  For example you can write
> the JS to send a "session request" message without any ROAP/SDP, and as each
> "session response" comes back from each team member with a ROAP OFFER, the
> local JS creates a new PeerConnection and sends back to each team member a
> ROAP ANSWER from you.  So basically mimicking the offerless-INVITE model of
> SIP.
>
> Or send a JS "session request" and get back a "session response" from each
> team member without any ROAP, then create each PeerConnection and send a new
> distinct "session request" with ROAP OFFER separately to each team member.
>  Kind of like a 3xx response model of SIP.
>
> Or send a JS query to get back a list of URLs each representing a team
> member, and create a PeerConnection for each and send a ROAP OFFER to each
> URL.  Really like a 3xx response model of SIP.
>
>
If you do not need to inter-operate with SIP you can implement forking like
functionality with signaling only. If you do, you need forking support (or a
some sort of SBC or gateway solution).

In general, I think it makes sense to support forking if it does not greatly
complicate the WebRTC client implementation, makes API more complex or has
some security implications. Forking support is a good thing, since it will
allow for better interoperability and more flexible future signaling
scenarios. I don't think it is hard to add support for forking in WebRTC
(all you need to do is to reuse the same ICE candidates for all calls in the
same browser session), and this model encourages better resource usage. It
does mean that the same TURN/STUN servers should be used for all calls in
the session, but other then that it does not limit any of the functionality.

_____________
Roman Shpount