Re: [rtcweb] Summary of Signaling Components in RTCweb (clarifications)

Iñaki Baz Castillo <ibc@aliax.net> Fri, 21 October 2011 10:30 UTC

Return-Path: <ibc@aliax.net>
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 9126121F8B3A for <rtcweb@ietfa.amsl.com>; Fri, 21 Oct 2011 03:30:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.634
X-Spam-Level:
X-Spam-Status: No, score=-2.634 tagged_above=-999 required=5 tests=[AWL=0.043, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, MIME_8BIT_HEADER=0.3, 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 KrNxUU1zoRLu for <rtcweb@ietfa.amsl.com>; Fri, 21 Oct 2011 03:30:34 -0700 (PDT)
Received: from mail-vx0-f172.google.com (mail-vx0-f172.google.com [209.85.220.172]) by ietfa.amsl.com (Postfix) with ESMTP id E85B821F8B47 for <rtcweb@ietf.org>; Fri, 21 Oct 2011 03:30:33 -0700 (PDT)
Received: by vcbfo1 with SMTP id fo1so3832605vcb.31 for <rtcweb@ietf.org>; Fri, 21 Oct 2011 03:30:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.52.184.103 with SMTP id et7mr13897097vdc.35.1319193033348; Fri, 21 Oct 2011 03:30:33 -0700 (PDT)
Received: by 10.220.118.143 with HTTP; Fri, 21 Oct 2011 03:30:33 -0700 (PDT)
In-Reply-To: <931AFC17-0745-439C-ADB4-6E4581855645@phonefromhere.com>
References: <CALiegfmQBEEX+6FuA3tujePh3HUyfCU5Wy3N_=cn_K_GXZ267g@mail.gmail.com> <CALiegf=2Kv1CpS+EONbKZ01R8vvX2g1ofQ+Wgj5EEETr0vQK_g@mail.gmail.com> <931AFC17-0745-439C-ADB4-6E4581855645@phonefromhere.com>
Date: Fri, 21 Oct 2011 12:30:33 +0200
Message-ID: <CALiegfk5bpes_0V7THeie1aKGMEsBKmrou_9SdQ5P3R0zjcEoA@mail.gmail.com>
From: Iñaki Baz Castillo <ibc@aliax.net>
To: Tim Panton <tim@phonefromhere.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] Summary of Signaling Components in RTCweb (clarifications)
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, 21 Oct 2011 10:30:34 -0000

2011/10/21 Tim Panton <tim@phonefromhere.com>:
> Thanks for putting the time into the document and updates, it
> is very useful.
>
> It does highlight one area that I think is problematic , you say:
> "JS-Server Media Signaling (in-the-wire): This means carrying SDP (or like-SDP) bodies. In contrast to the JS-Server Routing Signaling this information MAY be treated as "blob" by the RTCweb server, by leaving it to pass verbatim to the destination of the message (which is indicated in the JS-Server Routing Signaling)."
>
> Which is right, the RTCWebserver could treat the the media and network info as blobs.
> The local JS Application however can't.
> It needs to know things that are in that SDP in order to render the application for the user.
> Examples include -
>        is it a video or audio stream?
>        is DTMF available (i.e. should it render a keypad) ?
>        What is the screen size of the video?
> To answer these questions the JS apps will need to parse the SDP-like blob, so strictly it isn't a Blob anymore.

Hi, indeed that is out of the scope of the document, but honestly I
imagine that the JS Media API (i.e. ROAP) could include some JS
functions/helpers. For example RTCweb.ROAP.parsePlainSDP(sdp), which
receives a plain SDP and returns a ROAP object or some standarized
JSON object the high-user can insepct in order to determine codecs and
so (low leves access).



> What's more there is are examples where the server should be able to understand the JS-Server Media Signaling.
> I'm thinking of the simplest use-case, peer to peer calls within a single website. As I mentioned in an earlier email,
> the server can be told what the respective browsers support, and then make a determination of what the intersection of codecs is and then inform the browser's JSapp to use that. This has advantages in simplicity and
> lack of risk of deadlocks, retries, glare etc.

That's a possible choice, right. Just don't mandate it please ;)


> So in short, I think that treating the SDP-like as a blob has significant disadvantages.

That depends on each scenario. For example, I use SIP over WebSocket.
The RTCweb is a pure SIP proxy that speaks SIP over UDP, TCP and
WebSocket. It *never* inspects the SDP (the "JS-Server Media
Signaling" in my document), and it MUST NOT do it. I prefer the
intelligence to be in the UA (the SIP stack in JavaScript, which is
the "JS Application API" in my document).


Regards.


-- 
Iñaki Baz Castillo
<ibc@aliax.net>