Re: [rtcweb] WGLC of draft-ietf-rtcweb-use-cases-and-requirements-11

Magnus Westerlund <> Tue, 17 September 2013 11:59 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C687111E80FD for <>; Tue, 17 Sep 2013 04:59:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -104.369
X-Spam-Status: No, score=-104.369 tagged_above=-999 required=5 tests=[AWL=-0.720, BAYES_50=0.001, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id DeFQqOjz-MCA for <>; Tue, 17 Sep 2013 04:59:40 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 9E5EA11E8234 for <>; Tue, 17 Sep 2013 04:59:36 -0700 (PDT)
X-AuditID: c1b4fb25-b7eff8e000000eda-d1-523844263c6f
Received: from (Unknown_Domain []) by (Symantec Mail Security) with SMTP id C8.01.03802.62448325; Tue, 17 Sep 2013 13:59:35 +0200 (CEST)
Received: from [] ( by ( with Microsoft SMTP Server id 14.2.328.9; Tue, 17 Sep 2013 13:59:34 +0200
Message-ID: <>
Date: Tue, 17 Sep 2013 14:00:45 +0200
From: Magnus Westerlund <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: "Cullen Jennings (fluffy)" <>, "" <>, "" <>
References: <>
In-Reply-To: <>
X-Enigmail-Version: 1.5.2
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuphluLIzCtJLcpLzFFi42KZGfG3RlfdxSLIYPsBFovNNycxWnRMZrNY +6+d3YHZY8rvjaweS5b8ZPL4cvkzWwBzFJdNSmpOZllqkb5dAlfG6b60gs1xFY8mTmJvYJzo 2cXIySEhYCIx9W4LC4QtJnHh3nq2LkYuDiGBw4wSXTOuM0M4yxklTu+/yApSxSugLfF5ymEm EJtFQFXi762pYDabgIXEzR+NbCC2qECwRPv2r2wQ9YISJ2c+AdsgInCTUeLnSvkuRg4OYQFf iW1LVUDCQgI+Eod+zwUr5wQJ/5nEDHGQpMS2RcfYQWxmAQOJI4vmsELY8hLNW2czQ/RqSzQ0 dbBOYBSchWTbLCQts5C0LGBkXsXInpuYmZNebrSJERiiB7f8Vt3BeOecyCFGaQ4WJXHezXpn AoUE0hNLUrNTUwtSi+KLSnNSiw8xMnFwSjUwCtcaOMt/PV+t9v3p17bG3kmCj2dJeCywafVp WPGdzdzZ0JWjwfi9y7lZG/XynGxE78zOvX5a4J6mc8an+/GZasklbhMSRU4+X6ai7bfwUrl9 +ew5RizFZpvfVPvdvCby4kidBfeeU2euLdjTfVQr+2GURJ/Rky1py95c4OxLeL37GpPXpE47 JZbijERDLeai4kQADqxulx8CAAA=
Subject: Re: [rtcweb] WGLC of draft-ietf-rtcweb-use-cases-and-requirements-11
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 17 Sep 2013 11:59:46 -0000


I have reviewed the Use Case and Requirements draft (v11) in the WG last
call. I have the following comments on this document. I have found a
number of issues that I definitely needs to be fixed prior to any
publication request.

1. First of all I like to bring up a document structure problem. When
reviewing this it is difficult to follow what requirements that are
added for the different use cases. I would propose that each Use Case or
general section that describe something that causes new requirements
that hasn't been listed yet in the document to define the Requirement
there. Something like this:  Description

   This use-case is almost identical to the Simple Video Communication
   Service use-case (Section 3.2.1).  The difference is that one of the
   users is behind a NAT that blocks UDP traffic.  Derived Requirements

   F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28

   A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12

   New Requirement:

   F29     The browser must be able to send streams and
           data to a peer in the presence of NATs that
           block UDP traffic.

This makes the incremental use cases much more understandable in how
they add requirements.

This I think will also affect Section 3.1 which will need to include the
requirement definitions created by these general considerations.

However, I do suggest that you leave the collection of all requirements
in place for easy reference.

2. Section 1:

   The document focuses on requirements related to real-time media
   streams and data exchange.  Requirements related to privacy,
   signalling between the browser and web server etc. are currently not

I think this needs to be rewritten. The draft actually do consider a
number of high level security and privacy concerns.

3. Section 2:

If you have no definitions, do remove the section, rather then leaving
it TBD.

4. Section 3.1

   o  Clients can be on wideband (10s of Mbits/sec)

   o  Clients can be on narrowband (10s to 100s of Kbits/sec)

Due to the usage of the terms wideband and narrowband I think you need
to be more explicit about what is actually referred to here. My
assumption is network throughput capability. And in these cases maybe
expressing this explicitly is a better choice.

5. Section 3.1:

   o  Clients can be on networks with any type (as described in RFC4787)
      of NAT.

I think "any type" is unclear here, as there are no types defined in
that RFC unless you are trying to express the difference between basic
NAT and NAPT, which I don't believe you are. I think you should use
something like this:

   o  Clients can be on networks with a NAT using any type of Mapping
      and Filtering behaviors (as described in RFC4787).

6. Section

   It is essential that the communication cannot be wiretapped

This sentence returns a number of times in this document. I think it is
a general security requirement that applies to probably all of the use
cases. If there is one use case that don't need to enable protection
against this, then please be explicit about that.

My Suggestion is to move this into the general considerations section.

7. Section

   In addition, it is required that browsers enable the media and data
   security keys to be cryptographically bound to the user identity.

I think this sentence is actually subtly wrong in a couple of ways.
First of all it talks about "the identity", where I think it should be
talking about "a identity". This can both the human users identity, but
also a role identity, like Police Officer.

Secondly, binding it to  the security keys without putting requirements
on the keying and key-exchange mechanism to prevent man in the middles
empties this requirement. I would recommend that you reformulate this to
a high level requirement without going into mechanism. For example:

In addition, it is required that browsers enables binding an identity of
the user's choice to his end of the secured communication and that such
mechanism prevent man in the middle attacks.

8. Section

   One user has an unreliable Internet connection.  It sometimes loses
   packets, and sometimes goes down completely.

I guess the requirement here is to handle this in a graceful way from
media transport and rendering perspective. The packet loss is also
unclear as I don't know if the intention is to capture spurious packet
losses due to the link media, or congestion losses. I think some
expansion of this is needed.

9. Section

   One user is located behind a Network Address Translator (NAT).

What is the point being stressed here that isn't covered by the general
consideration in 3.1 that says:

   o  Clients can be on networks with any type (as described in RFC4787)
      of NAT.

Section  Derived Requirements

   F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F29

   A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12

How come this list of Derived Requirements are shorter than for the
parent use case which has the following list:  Derived Requirements

   F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F35, F36, F38, F39

   A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A25, A26

If each use case is listing all the requirement then it needs to be
consistently done and actually list all that applies. If there are
requirements from the parent that doesn't apply that may even be worth
explicitly mentioning.

This comments applies to all use cases as there appears to be general

10. Section  Description

   This use-case is almost identical to the Simple Video Communication
   Service use-case (Section 3.2.1).  The difference is that one of the
   users is behind a FW that only allows http traffic.

If a firewall only allows HTTP traffic, then can we really assume that
the firewall administrator per default will accept WebRTC Media and Data

I am far from certain of this, and think on a requirement level needs to
express a situation where the firewall administrator allows WebRTC
across its FW, or at least can easily configure a rule to block it. Thus
resulting in that any solution for this needs to be easily identifiable
and possible to block.

See also mailing list.

11. Section

   But in addition to this, one of the users can share what is being
   displayed on her/his screen with a peer.  The user can choose to
   share the entire screen, part of the screen (part selected by the
   user) or what a selected applicaton displays with the peer.

Does this needs mentioning of additional high level security requirements?

12. Section

  The service providers are interconnected by some means, but exchange
   no more information about the users than what can be carried using

   NOTE: More profiling of what this means may be needed.

The Note, can it be removed, or do we need additional text in this document?

13. Section

   The same issues with connectivity apply.

I don't understand this comment. What is it intended to refer to?

14. Section

   Before the game starts, and during game breaks, the talent scout and
   the manager have a 1-1 audiovisual communication session.  Only the
   rear facing camera of the mobile phone is used.  On the display of
   the mobile phone, the video of the club manager is shown with a
   picture-in-picture thumbnail of the rear facing camera (self-view).
   On the display of the desktop, the video of the talent scout is shown
   with a picture-in-picture thumbnail of the desktop camera (self-

I get a bit confused with what is the front and rear of my smart phone.
I would consider the display side the front side, and the rear the other
big side of my block shaped mobile phone. I suggest using other terms.

15. Section

   Discussion: This use-case was briefly discussed at the Quebec webrtc
   meeting and it got support.  So far the only concrete requirement
   (A17) derived is that the application must be able to ask the browser
   to treat the audio signal as audio (in contrast to speech).  However,
   the use case should be further analysed to determine other
   requirements (could be e.g. on delay mic->speaker, level control of
   audio signals, etc.).

I think this Discussion points needs to be dealt with before we can
publish this document. I would consider the question if this needs more
analysis a open issue.

16. Section

   Alice uses her web browser with a service that allows her to call
   PSTN numbers.  Alice calls 1-800-gofedex.  Alice should be able to
   hear the initial prompts from the fedex IVR and when the IVR says
   press 1, there should be a way for Alice to navigate the IVR.

Can you please expand IVR.

17. Section

   The organization has an internal network set up with an aggressive
   firewall handling access to the Internet.  If users cannot physically
   access the internal network, they can establish a Virtual Private
   Network (VPN).

I think the requirements or limitations the above paragraph try to
express is not clear. There is some missing assumptions of location of
server related to clients that is not covered. Thus it is not clear what
requirements this results in.

Can you please expand this to something that is understandable.

18. Section

   This use-case adds requirements on support for fast stream
   switches F7, on encryption of media and on ability to traverse very
   restrictive FWs.

Regarding the restricted FWs, my comment 10) applies to also this comment.

19. Section 4.2:

   F14     The browser must be able to measure the level

   F15     The browser must be able to change the level
           in audio streams.

Can you please make explicit what type level you think should be
measured or changed, energy, "voice activity"?

20. Section 4.2

  F19     Streams and data must be able to pass through
           limited middleboxes.

What type of limitations are you considering in this requirement?

21. Section 4.2

I note that F30, and F36 may be affected by earlier comments on the
underlying reason for these requirements and need additional text or

22. Section 4.2:
   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.

I think this requirement should have a caveat along the lines: when FW
policy allos WebRTC traffic.

23. Section 5:

Change the TBD to a statement that there are no IANA actions in this

24. Section 6.2:

These security considerations are really security requirements on the
browser or the API. I don't know if would be better to move them to
relevant use case sections, or leave them in place.

25. Section 7:

   13.  Enable company coop without being able to decipher http://

What is "coop" in the above?

26. Please run a spell checker on the document prior to submitting the

27. Ensure that the ID nits issues are not real issues:

  == Line 667 has weird spacing: '...resence  of NA...'

  == Line 785 has weird spacing: '...of that  strea...'


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: