Re: [rtcweb] WG Last Call: draft-ietf-rtcweb-use-cases-and-requirements-10

Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com> Wed, 30 January 2013 13:31 UTC

Return-Path: <stefan.lk.hakansson@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 C0B9121F8AD0 for <rtcweb@ietfa.amsl.com>; Wed, 30 Jan 2013 05:31:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.649
X-Spam-Level:
X-Spam-Status: No, score=-5.649 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, HELO_EQ_SE=0.35, J_CHICKENPOX_19=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gDMn7vPBgDuA for <rtcweb@ietfa.amsl.com>; Wed, 30 Jan 2013 05:31:15 -0800 (PST)
Received: from mailgw7.ericsson.se (mailgw7.ericsson.se [193.180.251.48]) by ietfa.amsl.com (Postfix) with ESMTP id 12FE621F8AB2 for <rtcweb@ietf.org>; Wed, 30 Jan 2013 05:31:14 -0800 (PST)
X-AuditID: c1b4fb30-b7f0d6d000007e61-d5-510920a1ac17
Received: from esessmw0247.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw7.ericsson.se (Symantec Mail Security) with SMTP id F6.DE.32353.1A029015; Wed, 30 Jan 2013 14:31:13 +0100 (CET)
Received: from [150.132.141.90] (153.88.115.8) by esessmw0247.eemea.ericsson.se (153.88.115.94) with Microsoft SMTP Server id 8.3.279.1; Wed, 30 Jan 2013 14:31:12 +0100
Message-ID: <510920A0.6090704@ericsson.com>
Date: Wed, 30 Jan 2013 14:31:12 +0100
From: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <50F97303.4070906@ericsson.com> <CABkgnnWcqZ+dU+87djBQ0z47ufB-Go13mWyPi_ZQA8BPinQJEA@mail.gmail.com>
In-Reply-To: <CABkgnnWcqZ+dU+87djBQ0z47ufB-Go13mWyPi_ZQA8BPinQJEA@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrHJMWRmVeSWpSXmKPExsUyM+Jvre5CBc5Ag2sHpS3W/mtnd2D0WLLk J1MAYxSXTUpqTmZZapG+XQJXxsJr/9kL7gRW/JnzhbGB8YJtFyMnh4SAicSzvoVMELaYxIV7 69m6GLk4hAROMkpM2tDNDuGsYZT4+XM/C0gVr4C2xPtbX4ASHBwsAqoScxZog4TZBIIl9i8H aebkEBWIknh/tYkZolxQ4uTMJ2CtIgLCEltf9YItEwaqXznxCyOILSRQIHF/x1Wwek6BQInX dzeD2cwCFhKL3xxkh7DlJZq3zmaGqNeVePf6HusERoFZSFbMQtIyC0nLAkbmVYzsuYmZOenl 5psYgWF2cMtvgx2Mm+6LHWKU5mBREucNd70QICSQnliSmp2aWpBaFF9UmpNafIiRiYNTqoGx ekrEF7ao1W82HyxW+Re36eBK3+u3qzdETsp9UPFj6/209LU6f2y4vJ8XfVro+0xMfclGv4pp tb5eLh6r+j4WPe6oTjx993NkjfWGoOvbF03slT/xwOkv/86EybERkj9eKNwN4V6euGrmw/06 b+6HbX/3Z3r0bWvz14GXrnz//HJP3o9Fl2Y9KldiKc5INNRiLipOBADSkLNdAQIAAA==
Subject: Re: [rtcweb] WG Last Call: draft-ietf-rtcweb-use-cases-and-requirements-10
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: Wed, 30 Jan 2013 13:31:16 -0000

On 2013-01-29 22:46, Martin Thomson wrote:
> I have read this document in the past, but never really reviewed it.
> It's something of a mess.  Sure, it could use a fairly thorough going
> over from an editorial perspective, but that's not what bothers me.
>
> There is just a lot of stuff in here that we haven't resolved.  Some
> of this stuff we haven't even discussed, not to mention have concrete
> proposals on the table for.
>
> There are a number of open questions in relation to this document.  I
> wont repeat those that are actually in the text, which clearly need to
> be addressed.  I'm more concerned about those features/requirements
> that the working group(s) has/have not shown any signs of providing
> answers for.  Here I speak primarily of the items that are on the
> agenda at the upcoming interim meeting.  Stream rejection, for
> example.
>
> I would suggest that these documents be held in abeyance until we know
> the outcome of the interim.  Specifically, whether we are going to
> provide technical solutions to the problems under discussion.  (Yes, I
> know that it is not uncommon for use case documents to be published
> with requirements that are impossible, but it's only 2 weeks.)
>
> Specific comments:
>
> The requirements are all over the place.  They almost look like they
> have been shuffled.  For instance, F33 and F23 are almost identical,
> but use different wording.  Same for F19 and F29.  F24 and F34.  Oh, I
> get it, you are grouping based on the last digit!  Not the most
> obvious choice for ordering, or the easiest to review.

:-). Fair comment.

>
>     F13             The browser MUST be able to apply spatialization
>                     effects to audio streams.
>
> So...this is either pointless in the same vein as the requirement "the
> browser MUST be able to control the volume of audio" or it is not
> addressed.  I see A13, but that's not happening.  Given where we've
> directed effort, I am tempted to suggest that this be removed.
>
>     F14             The browser MUST be able to measure the level
>                     in audio streams. (also A14)
>
> As written, this is pointless.  If the audio can be played, the level
> can be measured.  Unless the intent is that the browser provide this
> information to the application.  In which case, we have the security
> implications to consider, when streams are marked as "tainted", this
> should not be possible.

This was written well before the "tainted" stuff started to appear; it 
may be that it should not be possible for "tainted" streams (or rather: 
the browser should in any case not be allowed to report to the app).

Many of the reqs have a similar structure: there is an "F" requirement 
on functionality in the browser, and a corresponding "A" requirement 
that exposes this functionality to the application. I'm not sure 
changing that structure would be a big gain.

>
> F15             The browser MUST be able to change the level
>                     in audio streams.
>
> This is a problem for the same reason as above.  AGC is one thing, but
> this is unspecific.  Does this apply to inbound and outbound streams?
> Is this level control provided to the application or is this a
> pointless requirement on browser chrome?  This also has implications
> for "tainted" streams, in which case I believe that even level control
> should be prevented.

This (as F14) is intended for the application, as it is associated with 
A15. And the intention was to not limit it to local or remote streams, 
but to allow it for any stream.

>
>     F7              The browser MUST support fast stream switches.
>
> What does this mean?  There are a number of factors that could be at play here:
> 1. There are two live streams (inbound or locally sourced) and the
> browser must be able to switch from playback of one to the other
> quickly.  This should be trivial to implement.  Even then, we need to
> be careful that switching can't be to fast for tainted streams.
> 2. There are two live streams sourced locally and the browser must be
> able to switch from transmission of one to the other quickly.  This
> does have some limitations if the two streams have different
> properties such that this requires signaling.
> 3. There are two streams where the stream that is being switched in is
> remotely sourced and currently inactive.  The browser needs to
> activate and begin playback of that stream quickly. This is what is
> implied by the use case in Section 4.3.3.

This requirement is derived from the "Video conferencing system with 
central server" use-case. The intention was to say something like "if 
the central node asks for an intraframe, the browser should insert it".

>
>     F19             Streams and data MUST be able to pass through
>                     restrictive firewalls.
>
> Suggest rewording, perhaps to use of the term "limited middleboxes"
> rather than "restrictive firewalls".  Otherwise, this could be
> interpreted as a *requirement* to circumvent local network policy.
> F29 seems like a better model, though I note that it is a duplicate of
> this.
>
>     F37             The browser MUST be able to send streams and
>                     data to a peer in the presence of FWs that only
>                     allows http(s) traffic.
>
> This is a more specific version of F19, for which my same comment
> applies.  I haven't seen any attempt to provide a solution.  Can this
> be removed?

I agree that the reqs related to traversal of different FWs and NATs is 
a mess. I think that there originally was only one of them, and that 
we've added more as people have asked for it along the way.

>
>    F22             There should be a way to navigate
>                     a DTMF based IVR
>
> Expand on first use: IVR and DTMF.

Yes.

>
>     F26             It MUST be possible to move from one network
>                     interface to another one
>
> For whom must this be possible?  Certainly, the browser is able to
> make this choice, but the application has only limited ability to
> control this in the current application.  I can imagine perhaps
> changing priority values on a=candidate lines based on some guessing
> about what interfaces are what, but I have a strong expectation that
> this would have zero effect in any ICE implementation.

The requirement does not go into what is done in the application and 
what is done in the browser. But requirement comes from the use-case 
"Simple Video Communication Service, access change" where the user 
unplugs the Ethernet cable. The session is then supposed to continue on 
WiFi (or cellular). I think that is a fair requirement.

>
>     F28             The browser MUST support a baseline audio and
>                     video codec
>
> No comment.
>
>     F32             There browser MUST support that STUN and TURN
>                     servers to use are supplied by other entities
>                     than the service provided (i.e. the network
>                     provider).
>
> I'm not sure what the "service provided" is in this case.  There is an
> application and the browser.  The discovery of local STUN/TURN servers
> is surely a browser issue outside of the scope of these requirements.
> A note in a solution document that makes the observation that
> browser-provided STUN/TURN servers be used in addition to any provided
> by the application would be more appropriate.

"service porvided" should be "(communication) service provider". Yes 
perhaps this should be moved to a solution document.  I think it was 
Cullen who pushed for this requirement, but I don't remember the reasoning.

>
>     A17             For each stream generated, the Web API MUST
>                     provide an identifier that is accessible by the
>                     application. The identifier MUST be accessible
>                     also for a peer receiving that stream and MUST
>                     be unique relative to all other stream
>                     identifiers in use by either party.
>
> This seems overly specific.  I presume that the intent was to ensure
> that streams that originate on a sending browser be identifiable on a
> receiving browser.  This actually specifies a solution to that problem
> rather than the requirement.  Suggest: The Web API MUST provide a way
> to identify streams such that an application is able to match streams
> on a sending peer with the same stream on all receiving peers.
> Identifier uniqueness requirements derive from that requirement, plus
> any additional constraints that you choose to apply (read: SDP).

Agree.

>
>     A25             It must be possible for the application to
>                     refrain from exposing the IP address
>
> Missing something.  "the" IP address.  Which one specifically?  Oh,
> you must (MUST) be able to refrain from revealing that information.

Reformulation needed.

>
> Editorial:
> A19 is missing: "to", " ".
> A20 not only anthropomorphizes the browser, it assigns a gender; how
> can be sure it's not a "she"?
> Fix the IANA Considerations section, it's not hard.

Thanks.

>
>
>
>
>
> On 19 January 2013 01:06, Magnus Westerlund
> <magnus.westerlund@ericsson.com> wrote:
>> WG,
>>
>> I would here by like to announce a two week WG last call that ends on
>> the 1st of February.
>>
>> Document is available here:
>>
>> https://datatracker.ietf.org/doc/draft-ietf-rtcweb-use-cases-and-requirements/
>>
>> Cheers
>>
>> Magnus Westerlund
>>
>> ----------------------------------------------------------------------
>> Multimedia Technologies, Ericsson Research EAB/TVM
>> ----------------------------------------------------------------------
>> Ericsson AB                | Phone  +46 10 7148287
>> Färögatan 6                | Mobile +46 73 0949079
>> SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com
>> ----------------------------------------------------------------------
>>
>> _______________________________________________
>> rtcweb mailing list
>> rtcweb@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtcweb
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>