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/ |