draft-ietf-rtcweb-use-cases-and-requirements-13.txt   draft-ietf-rtcweb-use-cases-and-requirements-14.txt 
RTCWEB Working Group C. Holmberg RTCWEB Working Group C. Holmberg
Internet-Draft S. Hakansson Internet-Draft S. Hakansson
Intended status: Informational G. Eriksson Intended status: Informational G. Eriksson
Expires: August 10, 2014 Ericsson Expires: August 16, 2014 Ericsson
February 6, 2014 February 12, 2014
Web Real-Time Communication Use-cases and Requirements Web Real-Time Communication Use-cases and Requirements
draft-ietf-rtcweb-use-cases-and-requirements-13.txt draft-ietf-rtcweb-use-cases-and-requirements-14.txt
Abstract Abstract
This document describes web based real-time communication use-cases. This document describes web based real-time communication use-cases.
Requirements on the browser functionality are derived from the use- Requirements on the browser functionality are derived from the use-
cases. cases.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 33 skipping to change at page 1, line 33
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 10, 2014. This Internet-Draft will expire on August 16, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 15 skipping to change at page 2, line 15
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 3 3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 3
3.2. Common requirements . . . . . . . . . . . . . . . . . . . 4 3.2. Common requirements . . . . . . . . . . . . . . . . . . . 4
3.3. Browser-to-browser use-cases . . . . . . . . . . . . . . 4 3.3. Browser-to-browser use-cases . . . . . . . . . . . . . . 4
3.3.1. Simple Video Communication Service . . . . . . . . . 4 3.3.1. Simple Video Communication Service . . . . . . . . . 4
3.3.2. Simple Video Communication Service, NAT/Firewall that 3.3.2. Simple Video Communication Service, NAT/Firewall that
blocks UDP . . . . . . . . . . . . . . . . . . . . . 5 blocks UDP . . . . . . . . . . . . . . . . . . . . . 6
3.3.3. Simple Video Communication Service, Firewall that 3.3.3. Simple Video Communication Service, Firewall that
only allows traffic via a HTTP Proxy . . . . . . . . 5 only allows traffic via a HTTP Proxy . . . . . . . . 7
3.3.4. Simple Video Communication Service, global service 3.3.4. Simple Video Communication Service, global service
provider . . . . . . . . . . . . . . . . . . . . . . 5 provider . . . . . . . . . . . . . . . . . . . . . . 7
3.3.5. Simple Video Communication Service, enterprise 3.3.5. Simple Video Communication Service, enterprise
aspects . . . . . . . . . . . . . . . . . . . . . . . 6 aspects . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.6. Simple Video Communication Service, access change . . 7 3.3.6. Simple Video Communication Service, access change . . 9
3.3.7. Simple Video Communication Service, QoS . . . . . . . 7 3.3.7. Simple Video Communication Service, QoS . . . . . . . 9
3.3.8. Simple Video Communication Service with screen 3.3.8. Simple Video Communication Service with screen
sharing . . . . . . . . . . . . . . . . . . . . . . . 8 sharing . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.9. Simple Video Communication Service with file exchange 8 3.3.9. Simple Video Communication Service with file exchange 10
3.3.10. Hockey Game Viewer . . . . . . . . . . . . . . . . . 8 3.3.10. Hockey Game Viewer . . . . . . . . . . . . . . . . . 11
3.3.11. Multiparty video communication . . . . . . . . . . . 9 3.3.11. Multiparty video communication . . . . . . . . . . . 12
3.3.12. Multiparty on-line game with voice communication . . 10 3.3.12. Multiparty on-line game with voice communication . . 13
3.4. Browser - GW/Server use cases . . . . . . . . . . . . . . 10 3.4. Browser - GW/Server use cases . . . . . . . . . . . . . . 15
3.4.1. Telephony terminal . . . . . . . . . . . . . . . . . 11 3.4.1. Telephony terminal . . . . . . . . . . . . . . . . . 15
3.4.2. Fedex Call . . . . . . . . . . . . . . . . . . . . . 11 3.4.2. Fedex Call . . . . . . . . . . . . . . . . . . . . . 15
3.4.3. Video conferencing system with central server . . . . 11 3.4.3. Video conferencing system with central server . . . . 16
4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 12 4. Requirements summary . . . . . . . . . . . . . . . . . . . . 17
4.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2. Browser requirements . . . . . . . . . . . . . . . . . . 13 4.2. Browser requirements . . . . . . . . . . . . . . . . . . 17
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 6. Security Considerations . . . . . . . . . . . . . . . . . . . 21
6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 16 6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 21
6.2. Browser Considerations . . . . . . . . . . . . . . . . . 16 6.2. Browser Considerations . . . . . . . . . . . . . . . . . 21
6.3. Web Application Considerations . . . . . . . . . . . . . 17 6.3. Web Application Considerations . . . . . . . . . . . . . 22
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22
8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 17 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 22
9. Normative References . . . . . . . . . . . . . . . . . . . . 23 9. Normative References . . . . . . . . . . . . . . . . . . . . 28
Appendix A. API requirements . . . . . . . . . . . . . . . . . . 23 Appendix A. API requirements . . . . . . . . . . . . . . . . . . 28
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31
1. Introduction 1. Introduction
This document presents a few use-cases of web applications that are This document presents a few use-cases of web applications that are
executed in a browser and use real-time communication capabilities. executed in a browser and use real-time communication capabilities.
In most of the use-cases all end-user clients are web applications, In most of the use-cases all end-user clients are web applications,
but there are some use-cases where at least one of the end-user but there are some use-cases where at least one of the end-user
clients is of another type (e.g. a mobile phone or a SIP UA). clients is of another type (e.g. a mobile phone or a SIP UA).
Based on the use-cases, the document derives requirements related to Based on the use-cases, the document derives requirements related to
browser functionality. These requirements are named "Fn", where n is browser functionality. These requirements are named "Fn", where n is
an integer, and are described in Section 4.2. an integer, and are listed in conjunction with the use-cases. A
summary is provided in Section 4.2.
This document was developed in an initial phase of the work with This document was developed in an initial phase of the work with
rather minor updates at later stages. It has not really served as a rather minor updates at later stages. It has not really served as a
tool in deciding features or scope for the WGs efforts so far. It is tool in deciding features or scope for the WGs efforts so far. It is
proposed to be used in a later phase to evaluate the protocols and proposed to be used in a later phase to evaluate the protocols and
solutions developed by the WG. solutions developed by the WG.
This document also lists requirements related to the API to be used This document also lists requirements related to the API to be used
by web applications as an appendix. The reason is that the W3C by web applications as an appendix. The reason is that the W3C
WebRTC WG has decided to not develop its own use-case/requirement WebRTC WG has decided to not develop its own use-case/requirement
skipping to change at page 4, line 14 skipping to change at page 4, line 14
o Clients can be on firewalled networks with no UDP allowed o Clients can be on firewalled networks with no UDP allowed
o Clients can be on networks with a NAT using any type of Mapping o Clients can be on networks with a NAT using any type of Mapping
and Filtering behaviors (as described in RFC4787). and Filtering behaviors (as described in RFC4787).
3.2. Common requirements 3.2. Common requirements
The requirements retrived from the Simple Video Communication Service The requirements retrived from the Simple Video Communication Service
use-case (Section 3.3.1) by default apply to all other use-cases, and use-case (Section 3.3.1) by default apply to all other use-cases, and
are considred common. For each individual use-case, only the are considred common. For each individual use-case, only the
additional requirements are listed. The following requirements can additional requirements are listed.
be derived from, and apply to, each of the documented use-cases. For
each individual use-case, only requirements that are not part of the
common requirements are listed.
3.3. Browser-to-browser use-cases 3.3. Browser-to-browser use-cases
3.3.1. Simple Video Communication Service 3.3.1. Simple Video Communication Service
3.3.1.1. Description 3.3.1.1. Description
Two or more users have loaded a video communication web application Two or more users have loaded a video communication web application
into their browsers, provided by the same service provider, and into their browsers, provided by the same service provider, and
logged into the service it provides. The web service publishes logged into the service it provides. The web service publishes
skipping to change at page 5, line 13 skipping to change at page 5, line 10
Any session participant can end the session at any time. Any session participant can end the session at any time.
The two users may be using communication devices with different The two users may be using communication devices with different
operating systems and browsers from different vendors. operating systems and browsers from different vendors.
The web service monitors the quality of the service (focus on quality The web service monitors the quality of the service (focus on quality
of audio and video) the end-users experience. of audio and video) the end-users experience.
3.3.1.2. Common Requirements 3.3.1.2. Common Requirements
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F35, F36, F38, F39 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F1 The browser must be able to use microphones and
cameras as input devices to generate streams.
----------------------------------------------------------------
F2 The browser must be able to send streams and
data to a peer in the presence of NATs.
----------------------------------------------------------------
F3 Transmitted streams and data must be rate
controlled (meaning that the browser must, regardless
of application behavior, reduce send rate when
there is congestion).
----------------------------------------------------------------
F4 The browser must be able to receive, process and
render streams and data ("render" does not
apply for data) from peers.
----------------------------------------------------------------
F5 The browser should be able to render good quality
audio and video even in the presence of
reasonable levels of jitter and packet losses.
----------------------------------------------------------------
F6 The browser must detect when a stream from a
peer is not received anymore
----------------------------------------------------------------
F7 When there are both incoming and outgoing audio
streams, echo cancellation must be made
available to avoid disturbing echo during
conversation.
----------------------------------------------------------------
F8 The browser must support synchronization of
audio and video.
----------------------------------------------------------------
F9 The browser should use encoding of streams
suitable for the current rendering (e.g.
video display size) and should change parameters
if the rendering changes during the session
----------------------------------------------------------------
F10 The browser must support a baseline audio and
video codec
----------------------------------------------------------------
F11 It must be possible to protect streams and data
from wiretapping [RFC2804].
----------------------------------------------------------------
F12 The browser must enable verification, given
the right circumstances and by use of other
trusted communication, that streams and
data received have not been manipulated by
any party.
----------------------------------------------------------------
F13 The browser must encrypt, authenticate and
integrity protect media and data on a
per-packet basis, and must drop incoming media
and data packets that fail the per-packet
integrity check. In addition, the browser
must support a mechanism for cryptographically
binding media and data security keys to the
user identity (see R-ID-BINDING in [RFC5479]).
----------------------------------------------------------------
F14 The browser must make it possible to set up a
call between two parties without one party
learning the other party's host IP address.
----------------------------------------------------------------
F15 The browser must be able to collect statistics,
related to the transport of audio and video
between peers, needed to estimate quality of
experience.
----------------------------------------------------------------
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A25, A26 A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A25, A26
3.3.2. Simple Video Communication Service, NAT/Firewall that blocks UDP 3.3.2. Simple Video Communication Service, NAT/Firewall that blocks UDP
3.3.2.1. Description 3.3.2.1. Description
This use-case is almost identical to the This use-case is almost identical to the
Simple Video Communication Service use-case (Section 3.3.1). The Simple Video Communication Service use-case (Section 3.3.1). The
difference is that one of the users is behind a NAT/Firewall that difference is that one of the users is behind a NAT/Firewall that
blocks UDP traffic. blocks UDP traffic.
3.3.2.2. Additional Requirements 3.3.2.2. Additional Requirements
F29 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F18 The browser must be able to send streams and
data to a peer in the presence of NATs and
Firewalls that block UDP traffic.
----------------------------------------------------------------
3.3.3. Simple Video Communication Service, Firewall that only allows 3.3.3. Simple Video Communication Service, Firewall that only allows
traffic via a HTTP Proxy traffic via a HTTP Proxy
3.3.3.1. Description 3.3.3.1. Description
This use-case is almost identical to the This use-case is almost identical to the
Simple Video Communication Service use-case (Section 3.3.1). The Simple Video Communication Service use-case (Section 3.3.1). The
difference is that one of the users is behind a Firewall that only difference is that one of the users is behind a Firewall that only
allows traffic via a HTTP Proxy. allows traffic via a HTTP Proxy.
3.3.3.2. Additional Requirements 3.3.3.2. Additional Requirements
F37 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F21 The browser must be able to send streams and
data to a peer in the presence of Firewalls that only
allows traffic via a HTTP Proxy, when Firewall policy
allows WebRTC traffic.
----------------------------------------------------------------
3.3.4. Simple Video Communication Service, global service provider 3.3.4. Simple Video Communication Service, global service provider
3.3.4.1. Description 3.3.4.1. Description
This use-case is almost identical to the This use-case is almost identical to the
Simple Video Communication Service use-case (Section 3.3.1). Simple Video Communication Service use-case (Section 3.3.1).
What is added is that the service provider is operating over large What is added is that the service provider is operating over large
geographical areas (or even globally). geographical areas (or even globally).
Assuming that ICE will be used, this means that the service provider Assuming that ICE will be used, this means that the service provider
would like to be able to provide several STUN and TURN servers (via would like to be able to provide several STUN and TURN servers (via
the app) to the browser; selection of which one(s) to use is part of the app) to the browser; selection of which one(s) to use is part of
the ICE processing. Other reasons for wanting to provide several the ICE processing. Other reasons for wanting to provide several
STUN and TURN servers include support for IPv4 and IPv6, load STUN and TURN servers include support for IPv4 and IPv6, load
balancing and redundancy. balancing and redundancy.
Note that ICE support being mandatory does not preclude a WebRTC Note that ICE support being mandatory does not preclude a WebRTC
endpoint from supporting additional traversal mechanisms. endpoint from supporting more traversal mechanisms than ICE using
STUN and TURN.
3.3.4.2. Additional Requirements 3.3.4.2. Additional Requirements
----------------------------------------------------------------
F31 REQ-ID DESCRIPTION
----------------------------------------------------------------
F19 The browser must be able to use several STUN
and TURN servers
----------------------------------------------------------------
A22 A22
3.3.5. Simple Video Communication Service, enterprise aspects 3.3.5. Simple Video Communication Service, enterprise aspects
3.3.5.1. Description 3.3.5.1. Description
This use-case is similar to the Simple Video Communication Service This use-case is similar to the Simple Video Communication Service
use-case (Section 3.3.1). use-case (Section 3.3.1).
skipping to change at page 7, line 6 skipping to change at page 9, line 4
determine its server reflexive address on the internal side. Thus determine its server reflexive address on the internal side. Thus
enabling cases where peers are both on the internal side to connect enabling cases where peers are both on the internal side to connect
without the traffic leaving the internal network. It must be without the traffic leaving the internal network. It must be
possible to configure the browsers used in the enterprise with possible to configure the browsers used in the enterprise with
network specific STUN and TURN servers. This should be possible to network specific STUN and TURN servers. This should be possible to
achieve by auto-configuration methods. The RTCWEB functionality will achieve by auto-configuration methods. The RTCWEB functionality will
need to utilize both network specific STUN and TURN resources and need to utilize both network specific STUN and TURN resources and
STUN and TURN servers provisioned by the web application. STUN and TURN servers provisioned by the web application.
3.3.5.2. Additional Requirements 3.3.5.2. Additional Requirements
----------------------------------------------------------------
F32 REQ-ID DESCRIPTION
----------------------------------------------------------------
F20 The browser must support the use of STUN and TURN
servers that are supplied by entities other than
the web application (i.e. the network provider).
----------------------------------------------------------------
3.3.6. Simple Video Communication Service, access change 3.3.6. Simple Video Communication Service, access change
3.3.6.1. Description 3.3.6.1. Description
This use-case is almost identical to the This use-case is almost identical to the
Simple Video Communication Service use-case (Section 3.3.1). The Simple Video Communication Service use-case (Section 3.3.1). The
difference is that the user changes network access during the difference is that the user changes network access during the
session. session.
The communication device used by one of the users has several network The communication device used by one of the users has several network
adapters (Ethernet, WiFi, Cellular). The communication device is adapters (Ethernet, WiFi, Cellular). The communication device is
accessing the Internet using Ethernet, but the user has to start a accessing the Internet using Ethernet, but the user has to start a
trip during the session. The communication device automatically trip during the session. The communication device automatically
changes to use WiFi when the Ethernet cable is removed and then moves changes to use WiFi when the Ethernet cable is removed and then moves
to cellular access to the Internet when moving out of WiFi coverage. to cellular access to the Internet when moving out of WiFi coverage.
The session continues even though the access method changes. The session continues even though the access method changes.
3.3.6.2. Additional Requirements 3.3.6.2. Additional Requirements
F26 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F17 The communication session must survive across a
change of the network interface used by the
session
----------------------------------------------------------------
3.3.7. Simple Video Communication Service, QoS 3.3.7. Simple Video Communication Service, QoS
3.3.7.1. Description 3.3.7.1. Description
This use-case is almost identical to the This use-case is almost identical to the
Simple Video Communication Service, access change use-case Simple Video Communication Service, access change use-case
(Section 3.3.6). The use of Quality of Service (QoS) capabilities is (Section 3.3.6). The use of Quality of Service (QoS) capabilities is
added: added:
The user in the previous use case that starts a trip is behind a The user in the previous use case that starts a trip is behind a
common residential router that supports prioritization of traffic. common residential router that supports prioritization of traffic.
In addition, the user's provider of cellular access has QoS support In addition, the user's provider of cellular access has QoS support
enabled. The user is able to take advantage of the QoS support both enabled. The user is able to take advantage of the QoS support both
when accessing via the residential router and when using cellular. when accessing via the residential router and when using cellular.
3.3.7.2. Additional Requirements 3.3.7.2. Additional Requirements
F24, F26 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F17 The communication session must survive across a
change of the network interface used by the
session
----------------------------------------------------------------
F22 The browser must be able to receive streams and
data from multiple peers concurrently.
----------------------------------------------------------------
3.3.8. Simple Video Communication Service with screen sharing 3.3.8. Simple Video Communication Service with screen sharing
3.3.8.1. Description 3.3.8.1. Description
This use-case has the audio and video communication of the This use-case has the audio and video communication of the
Simple Video Communication Service use-case (Section 3.3.1). Simple Video Communication Service use-case (Section 3.3.1).
But in addition to this, one of the users can share what is being 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 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 share the entire screen, part of the screen (part selected by the
user) or what a selected application displays with the peer. user) or what a selected application displays with the peer.
3.3.8.2. Additional Requirements 3.3.8.2. Additional Requirements
F30 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F36 The browser must be able to generate streams
using the entire user display, a specific area
of the user's display or the information being
displayed by a specific application.
----------------------------------------------------------------
A21 A21
3.3.9. Simple Video Communication Service with file exchange 3.3.9. Simple Video Communication Service with file exchange
3.3.9.1. Description 3.3.9.1. Description
This use-case has the audio and video communication of the This use-case has the audio and video communication of the
Simple Video Communication Service use-case (Section 3.3.1). Simple Video Communication Service use-case (Section 3.3.1).
But in addition to this, the users can send and receive files stored But in addition to this, the users can send and receive files stored
in the file system of the device used. in the file system of the device used.
3.3.9.2. Additional Requirements 3.3.9.2. Additional Requirements
F30, F33 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F35 The browser must be able to send reliable
data traffic to a peer browser.
----------------------------------------------------------------
A21, A24 A21, A24
3.3.10. Hockey Game Viewer 3.3.10. Hockey Game Viewer
3.3.10.1. Description 3.3.10.1. Description
An ice-hockey club uses an application that enables talent scouts to, An ice-hockey club uses an application that enables talent scouts to,
in real-time, show and discuss games and players with the club in real-time, show and discuss games and players with the club
manager. The talent scouts use a mobile phone with two cameras, one manager. The talent scouts use a mobile phone with two cameras, one
skipping to change at page 9, line 26 skipping to change at page 12, line 7
the desktop screen, with picture-in-picture thumbnails of the rear the desktop screen, with picture-in-picture thumbnails of the rear
facing camera and the desktop camera (self-view). On the display of facing camera and the desktop camera (self-view). On the display of
the mobile phone the game is shown (front facing camera) with the mobile phone the game is shown (front facing camera) with
picture-in-picture thumbnails of the rear facing camera (self-view) picture-in-picture thumbnails of the rear facing camera (self-view)
and the desktop camera. As the most important stream in this phase and the desktop camera. As the most important stream in this phase
is the video showing the game, the application used in the talent is the video showing the game, the application used in the talent
scout's mobile sets higher priority for that stream. scout's mobile sets higher priority for that stream.
3.3.10.2. Additional Requirements 3.3.10.2. Additional Requirements
F17, F24 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F22 The browser should be able to take advantage
of available capabilities (supplied by network
nodes) to prioritize voice, video and data
appropriately.
----------------------------------------------------------------
F25 The browser must be able to render several
concurrent video streams
----------------------------------------------------------------
A17, A23 A17, A23
3.3.11. Multiparty video communication 3.3.11. Multiparty video communication
3.3.11.1. Description 3.3.11.1. Description
In this use-case, the Simple Video Communication Service use-case In this use-case, the Simple Video Communication Service use-case
(Section 3.3.1) is extended by allowing multiparty sessions. No (Section 3.3.1) is extended by allowing multiparty sessions. No
central server is involved - the browser of each participant sends central server is involved - the browser of each participant sends
skipping to change at page 10, line 17 skipping to change at page 13, line 7
Note: What this use-case adds in terms of requirements is Note: What this use-case adds in terms of requirements is
capabilities to send streams to and receive streams from several capabilities to send streams to and receive streams from several
peers concurrently, as well as the capabilities to render the video peers concurrently, as well as the capabilities to render the video
from all received streams and be able to spatialize, level adjust and from all received streams and be able to spatialize, level adjust and
mix the audio from all received streams locally in the browser. It mix the audio from all received streams locally in the browser. It
also adds the capability to measure the audio level/activity. also adds the capability to measure the audio level/activity.
3.3.11.2. Additional Requirements 3.3.11.2. Additional Requirements
F11, F12, F13, F14, F15, F16, F17 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F23 The browser must be able to transmit streams and
data to several peers concurrently.
----------------------------------------------------------------
F24 The browser must be able to receive streams and
data from multiple peers concurrently.
----------------------------------------------------------------
F25 The browser must be able to render several
concurrent video streams
----------------------------------------------------------------
F26 The browser must be able to mix several
audio streams.
----------------------------------------------------------------
F27 The browser must be able to apply spatialization
effects when playing audio streams.
----------------------------------------------------------------
F28 The browser must be able to measure the
voice activity level in audio streams.
----------------------------------------------------------------
F29 The browser must be able to change the
voice activity level in audio streams.
----------------------------------------------------------------
A13, A14, A15, A16, A17 A13, A14, A15, A16
3.3.12. Multiparty on-line game with voice communication 3.3.12. Multiparty on-line game with voice communication
3.3.12.1. Description 3.3.12.1. Description
This use case is based on the previous one. In this use-case, the This use case is based on the previous one. In this use-case, the
voice part of the multiparty video communication use case is used in voice part of the multiparty video communication use case is used in
the context of an on-line game. The received voice audio media is the context of an on-line game. The received voice audio media is
rendered together with game sound objects. For example, the sound of rendered together with game sound objects. For example, the sound of
a tank moving from left to right over the screen must be rendered and a tank moving from left to right over the screen must be rendered and
skipping to change at page 10, line 44 skipping to change at page 14, line 9
Note: the difference regarding local audio processing compared to the Note: the difference regarding local audio processing compared to the
"Multiparty video communication" use-case is that other sound objects "Multiparty video communication" use-case is that other sound objects
than the streams must be possible to be included in the than the streams must be possible to be included in the
spatialization and mixing. "Other sound objects" could for example spatialization and mixing. "Other sound objects" could for example
be a file with the sound of the tank; that file could be stored be a file with the sound of the tank; that file could be stored
locally or remotely. locally or remotely.
3.3.12.2. Additional Requirements 3.3.12.2. Additional Requirements
F12, F13, F14, F15, F16, F18, F23, F24 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F22 The browser should be able to take advantage
of available capabilities (supplied by network
nodes) to prioritize voice, video and data
appropriately.
----------------------------------------------------------------
F23 The browser must be able to transmit streams and
data to several peers concurrently.
----------------------------------------------------------------
F24 The browser must be able to receive streams and
data from multiple peers concurrently.
----------------------------------------------------------------
F25 The browser must be able to render several
concurrent video streams
----------------------------------------------------------------
F26 The browser must be able to mix several
audio streams.
----------------------------------------------------------------
F27 The browser must be able to apply spatialization
effects when playing audio streams.
----------------------------------------------------------------
F28 The browser must be able to measure the
voice activity level in audio streams.
----------------------------------------------------------------
F29 The browser must be able to change the
voice activity level in audio streams.
----------------------------------------------------------------
F30 The browser must be able to process and mix
sound objects (media that is retrieved from
another source than the established media
stream(s) with the peer(s) with audio streams.
----------------------------------------------------------------
F34 The browser must be able to send short
latency unreliable datagram traffic to a
peer browser [RFC5405].
----------------------------------------------------------------
A13, A14, A15, A16, A17, A18, A23 A13, A14, A15, A16, A17, A18, A23
3.4. Browser - GW/Server use cases 3.4. Browser - GW/Server use cases
3.4.1. Telephony terminal 3.4.1. Telephony terminal
3.4.1.1. Description 3.4.1.1. Description
A mobile telephony operator allows its customers to use a web browser A mobile telephony operator allows its customers to use a web browser
to access their services. After a simple log in the user can place to access their services. After a simple log in the user can place
and receive calls in the same way as when using a normal mobile and receive calls in the same way as when using a normal mobile
phone. When a call is received or placed, the identity is shown in phone. When a call is received or placed, the identity is shown in
the same manner as when a mobile phone is used. the same manner as when a mobile phone is used.
skipping to change at page 11, line 27 skipping to change at page 15, line 30
on line, so they are available and can be clicked to call, and be on line, so they are available and can be clicked to call, and be
used to present the identity of an incoming call. If the callee is used to present the identity of an incoming call. If the callee is
not in your phone contacts the number is displayed. Furthermore, not in your phone contacts the number is displayed. Furthermore,
your call logs are available, and updated with the calls made/ your call logs are available, and updated with the calls made/
received from the browser. And for people receiving calls made from received from the browser. And for people receiving calls made from
the web browser the usual identity (i.e. the phone number of the the web browser the usual identity (i.e. the phone number of the
mobile phone) will be presented. mobile phone) will be presented.
3.4.1.2. Additional Requirements 3.4.1.2. Additional Requirements
F21, F27 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F31 The browser must support an audio media format
(codec) that is commonly supported by existing
telephony services.
----------------------------------------------------------------
F33 The browser must be able to initiate and
accept a media session where the data needed
for establishment can be carried in SIP.
----------------------------------------------------------------
3.4.2. Fedex Call 3.4.2. Fedex Call
3.4.2.1. Description 3.4.2.1. Description
Alice uses her web browser with a service that allows her to call 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 PSTN numbers. Alice calls 1-800-gofedex. Alice should be able to
hear the initial prompts from the fedex Interactive Voice Responder hear the initial prompts from the fedex Interactive Voice Responder
(IVR) and when the IVR says press 1, there should be a way for Alice (IVR) and when the IVR says press 1, there should be a way for Alice
to navigate the IVR. to navigate the IVR.
3.4.2.2. Additional Requirements 3.4.2.2. Additional Requirements
F21, F22 ----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F31 The browser must support an audio media format
(codec) that is commonly supported by existing
telephony services.
----------------------------------------------------------------
F32 There should be a way to navigate
a Dual-tone multi-frequency signaling (DTMF)
based Interactive voice response (IVR) System
----------------------------------------------------------------
3.4.3. Video conferencing system with central server 3.4.3. Video conferencing system with central server
3.4.3.1. Description 3.4.3.1. Description
An organization uses a video communication system that supports the An organization uses a video communication system that supports the
establishment of multiparty video sessions using a central conference establishment of multiparty video sessions using a central conference
server. server.
The browser of each participant sends an audio stream (type in terms The browser of each participant sends an audio stream (type in terms
skipping to change at page 12, line 29 skipping to change at page 16, line 51
from when a video stream is selected for display until the video can from when a video stream is selected for display until the video can
be displayed is short. be displayed is short.
All participants are authenticated by the central server, and All participants are authenticated by the central server, and
authorized to connect to the central server. The participants are authorized to connect to the central server. The participants are
identified to each other by the central server, and the participants identified to each other by the central server, and the participants
do not have access to each others' credentials such as e-mail do not have access to each others' credentials such as e-mail
addresses or login IDs. addresses or login IDs.
Note: This use-case adds requirements on support for fast stream Note: This use-case adds requirements on support for fast stream
switches F7, on encryption of media and on ability to traverse very switches F16. There exist several solutions that enable the server
restrictive Firewalls. There exist several solutions that enable the to forward one high resolution and several low resolution video
server to forward one high resolution and several low resolution streams: a) each browser could send a high resolution, but scalable
video streams: a) each browser could send a high resolution, but stream, and the server could send just the base layer for the low
scalable stream, and the server could send just the base layer for resolution streams, b) each browser could in a simulcast fashion send
the low resolution streams, b) each browser could in a simulcast one high resolution and one low resolution stream, and the server
fashion send one high resolution and one low resolution stream, and just selects or c) each browser sends just a high resolution stream,
the server just selects or c) each browser sends just a high the server transcodes into low resolution streams as required.
resolution stream, the server transcodes into low resolution streams
as required.
3.4.3.2. Additional Requirements 3.4.3.2. Additional Requirements
F17 ----------------------------------------------------------------
REQ-ID DESCRIPTION
A17 ----------------------------------------------------------------
F16 The browser must support insertion of reference frames
in outgoing media streams when requested by a peer.
----------------------------------------------------------------
F25 The browser must be able to render several
concurrent video streams
----------------------------------------------------------------
4. Requirements 4. Requirements summary
4.1. General 4.1. General
This section contains the requirements on the browser derived from This section contains the requirements on the browser derived from
the use-cases in Section 3. the use-cases in Section 3.
NOTE: It is assumed that the user applications are executed on a NOTE: It is assumed that the user applications are executed on a
browser. Whether the capabilities to implement specific browser browser. Whether the capabilities to implement specific browser
requirements are implemented by the browser application, or are requirements are implemented by the browser application, or are
provided to the browser application by the underlying operating provided to the browser application by the underlying operating
system, is outside the scope of this document. system, is outside the scope of this document.
4.2. Browser requirements 4.2. Browser requirements
----------------------------------------------------------------
Common, basic requirements
----------------------------------------------------------------
REQ-ID DESCRIPTION REQ-ID DESCRIPTION
--------------------------------------------------------------- ----------------------------------------------------------------
F1 The browser must be able to use microphones and F1 The browser must be able to use microphones and
cameras as input devices to generate streams. cameras as input devices to generate streams.
---------------------------------------------------------------- ----------------------------------------------------------------
F2 The browser must be able to send streams and F2 The browser must be able to send streams and
data to a peer in the presence of NATs. data to a peer in the presence of NATs.
---------------------------------------------------------------- ----------------------------------------------------------------
F3 Transmitted streams and data must be rate F3 Transmitted streams and data must be rate
controlled (meaning that the browser must, regardless controlled (meaning that the browser must, regardless
of application behavior, reduce send rate when of application behavior, reduce send rate when
there is congestion). there is congestion).
---------------------------------------------------------------- ----------------------------------------------------------------
F4 The browser must be able to receive, process and F4 The browser must be able to receive, process and
render streams and data ("render" does not render streams and data ("render" does not
apply for data) from peers. apply for data) from peers.
---------------------------------------------------------------- ----------------------------------------------------------------
F5 The browser should be able to render good quality F5 The browser should be able to render good quality
audio and video even in the presence of audio and video even in the presence of
reasonable levels of jitter and packet losses. reasonable levels of jitter and packet losses.
---------------------------------------------------------------- ----------------------------------------------------------------
F7 The browser must support insertion of reference frames F6 The browser must detect when a stream from a
in outgoing media streams when requested by a peer.
----------------------------------------------------------------
F8 The browser must detect when a stream from a
peer is not received anymore peer is not received anymore
---------------------------------------------------------------- ----------------------------------------------------------------
F9 When there are both incoming and outgoing audio F7 When there are both incoming and outgoing audio
streams, echo cancellation must be made streams, echo cancellation must be made
available to avoid disturbing echo during available to avoid disturbing echo during
conversation. conversation.
---------------------------------------------------------------- ----------------------------------------------------------------
F10 The browser must support synchronization of F8 The browser must support synchronization of
audio and video. audio and video.
---------------------------------------------------------------- ----------------------------------------------------------------
F11 The browser must be able to transmit streams and F9 The browser should use encoding of streams
data to several peers concurrently. suitable for the current rendering (e.g.
video display size) and should change parameters
if the rendering changes during the session
---------------------------------------------------------------- ----------------------------------------------------------------
F12 The browser must be able to receive streams and F10 The browser must support a baseline audio and
data from multiple peers concurrently. video codec
---------------------------------------------------------------- ----------------------------------------------------------------
F13 The browser must be able to apply spatialization F11 It must be possible to protect streams and data
effects when playing audio streams. from wiretapping [RFC2804].
---------------------------------------------------------------- ----------------------------------------------------------------
F14 The browser must be able to measure the F12 The browser must enable verification, given
voice activity level in audio streams. the right circumstances and by use of other
trusted communication, that streams and
data received have not been manipulated by
any party.
---------------------------------------------------------------- ----------------------------------------------------------------
F15 The browser must be able to change the F13 The browser must encrypt, authenticate and
voice activity level in audio streams. integrity protect media and data on a
per-packet basis, and must drop incoming media
and data packets that fail the per-packet
integrity check. In addition, the browser
must support a mechanism for cryptographically
binding media and data security keys to the
user identity (see R-ID-BINDING in [RFC5479]).
---------------------------------------------------------------- ----------------------------------------------------------------
F16 The browser must be able to render several F14 The browser must make it possible to set up a
concurrent video streams call between two parties without one party
learning the other party's host IP address.
---------------------------------------------------------------- ----------------------------------------------------------------
F17 The browser must be able to mix several F15 The browser must be able to collect statistics,
audio streams. related to the transport of audio and video
between peers, needed to estimate quality of
experience.
---------------------------------------------------------------- ----------------------------------------------------------------
F18 The browser must be able to process and mix Requirements related to network and topology
sound objects (media that is retrieved from
another source than the established media
stream(s) with the peer(s) with audio streams.
---------------------------------------------------------------- ----------------------------------------------------------------
F20 It must be possible to protect streams and data REQ-ID DESCRIPTION
from wiretapping [RFC2804].
---------------------------------------------------------------- ----------------------------------------------------------------
F21 The browser must support an audio media format F16 The browser must support insertion of reference frames
(codec) that is commonly supported by existing in outgoing media streams when requested by a peer.
telephony services.
---------------------------------------------------------------- ----------------------------------------------------------------
F22 There should be a way to navigate F17 The communication session must survive across a
a Dual-tone multi-frequency signaling (DTMF) change of the network interface used by the
based Interactive voice response (IVR) System session
---------------------------------------------------------------- ----------------------------------------------------------------
F23 The browser must be able to send short F18 The browser must be able to send streams and
latency unreliable datagram traffic to a data to a peer in the presence of NATs and
peer browser [RFC5405]. Firewalls that block UDP traffic.
---------------------------------------------------------------- ----------------------------------------------------------------
F24 The browser should be able to take advantage F19 The browser must be able to use several STUN
and TURN servers
----------------------------------------------------------------
F20 The browser must support the use of STUN and TURN
servers that are supplied by entities other than
the web application (i.e. the network provider).
----------------------------------------------------------------
F21 The browser must be able to send streams and
data to a peer in the presence of Firewalls that only
allows traffic via a HTTP Proxy, when Firewall policy
allows WebRTC traffic.
----------------------------------------------------------------
F22 The browser should be able to take advantage
of available capabilities (supplied by network of available capabilities (supplied by network
nodes) to prioritize voice, video and data nodes) to prioritize voice, video and data
appropriately. appropriately.
---------------------------------------------------------------- ----------------------------------------------------------------
F25 The browser should use encoding of streams Requirements related to multiple peers and streams
suitable for the current rendering (e.g.
video display size) and should change parameters
if the rendering changes during the session
---------------------------------------------------------------- ----------------------------------------------------------------
F26 The communication session must survive across a REQ-ID DESCRIPTION
change of the network interface used by the
session
---------------------------------------------------------------- ----------------------------------------------------------------
F27 The browser must be able to initiate and F23 The browser must be able to transmit streams and
accept a media session where the data needed data to several peers concurrently.
for establishment can be carried in SIP.
---------------------------------------------------------------- ----------------------------------------------------------------
F28 The browser must support a baseline audio and F24 The browser must be able to receive streams and
video codec data from multiple peers concurrently.
---------------------------------------------------------------- ----------------------------------------------------------------
F29 The browser must be able to send streams and F25 The browser must be able to render several
data to a peer in the presence of NATs and concurrent video streams
Firewalls that block UDP traffic.
---------------------------------------------------------------- ----------------------------------------------------------------
F30 The browser must be able to generate streams F26 The browser must be able to mix several
using the entire user display, a specific area audio streams.
of the user's display or the information being
displayed by a specific application.
---------------------------------------------------------------- ----------------------------------------------------------------
F31 The browser must be able to use several STUN Requirements related to audio processing
and TURN servers
---------------------------------------------------------------- ----------------------------------------------------------------
F32 The browser must support the use of STUN and TURN REQ-ID DESCRIPTION
servers that are supplied by entities other than
the web application (i.e. the network provider).
---------------------------------------------------------------- ----------------------------------------------------------------
F33 The browser must be able to send reliable F27 The browser must be able to apply spatialization
data traffic to a peer browser. effects when playing audio streams.
---------------------------------------------------------------- ----------------------------------------------------------------
F35 The browser must enable verification, given F28 The browser must be able to measure the
the right circumstances and by use of other voice activity level in audio streams.
trusted communication, that streams and
data received have not been manipulated by
any party.
---------------------------------------------------------------- ----------------------------------------------------------------
F36 The browser must encrypt, authenticate and F29 The browser must be able to change the
integrity protect media and data on a voice activity level in audio streams.
per-packet basis, and must drop incoming media
and data packets that fail the per-packet
integrity check. In addition, the browser
must support a mechanism for cryptographically
binding media and data security keys to the
user identity (see R-ID-BINDING in [RFC5479]).
---------------------------------------------------------------- ----------------------------------------------------------------
F37 The browser must be able to send streams and F30 The browser must be able to process and mix
data to a peer in the presence of Firewalls that only sound objects (media that is retrieved from
allows traffic via a HTTP Proxy, when Firewall policy another source than the established media
allows WebRTC traffic. stream(s) with the peer(s) with audio streams.
---------------------------------------------------------------- ----------------------------------------------------------------
F38 The browser must be able to collect statistics, Requirements related to legacy interop
related to the transport of audio and video
between peers, needed to estimate quality of
experience.
---------------------------------------------------------------- ----------------------------------------------------------------
F39 The browser must make it possible to set up a REQ-ID DESCRIPTION
call between two parties without one party ----------------------------------------------------------------
learning the other party's host IP address. F31 The browser must support an audio media format
(codec) that is commonly supported by existing
telephony services.
----------------------------------------------------------------
F32 There should be a way to navigate
a Dual-tone multi-frequency signaling (DTMF)
based Interactive voice response (IVR) System
----------------------------------------------------------------
F33 The browser must be able to initiate and
accept a media session where the data needed
for establishment can be carried in SIP.
----------------------------------------------------------------
Other requirements
----------------------------------------------------------------
REQ-ID DESCRIPTION
----------------------------------------------------------------
F34 The browser must be able to send short
latency unreliable datagram traffic to a
peer browser [RFC5405].
----------------------------------------------------------------
F35 The browser must be able to send reliable
data traffic to a peer browser.
----------------------------------------------------------------
F36 The browser must be able to generate streams
using the entire user display, a specific area
of the user's display or the information being
displayed by a specific application.
---------------------------------------------------------------- ----------------------------------------------------------------
5. IANA Considerations 5. IANA Considerations
There are no IANA actions in this document. There are no IANA actions in this document.
6. Security Considerations 6. Security Considerations
6.1. Introduction 6.1. Introduction
skipping to change at page 17, line 17 skipping to change at page 22, line 21
stream source ("hot"). stream source ("hot").
The browser is expected to provide mechanisms for users to revise and The browser is expected to provide mechanisms for users to revise and
even completely revoke consent to use the screen, part thereof or an even completely revoke consent to use the screen, part thereof or an
application is serving as a stream source. application is serving as a stream source.
The browser is expected to provide mechanisms in order to assure that The browser is expected to provide mechanisms in order to assure that
streams are the ones the recipient intended to receive. streams are the ones the recipient intended to receive.
The browser is expected to provide mechanisms that allows the users The browser is expected to provide mechanisms that allows the users
to verify that the streams received have not be manipulated (F35). to verify that the streams received have not be manipulated (F12).
The browser needs to ensure that media is not sent, and that received The browser needs to ensure that media is not sent, and that received
media is not rendered, until the associated stream establishment and media is not rendered, until the associated stream establishment and
handshake procedures with the remote peer have been successfully handshake procedures with the remote peer have been successfully
finished. finished.
The browser needs to ensure that the stream negotiation procedures The browser needs to ensure that the stream negotiation procedures
are not seen as Denial Of Service (DOS) by other entities. are not seen as Denial Of Service (DOS) by other entities.
6.3. Web Application Considerations 6.3. Web Application Considerations
 End of changes. 63 change blocks. 
158 lines changed or deleted 391 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/