draft-ietf-rtcweb-use-cases-and-requirements-14.txt | draft-ietf-rtcweb-use-cases-and-requirements-15.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 16, 2014 Ericsson | Expires: June 20, 2015 Ericsson | |||
February 12, 2014 | December 17, 2014 | |||
Web Real-Time Communication Use-cases and Requirements | Web Real-Time Communication Use-cases and Requirements | |||
draft-ietf-rtcweb-use-cases-and-requirements-14.txt | draft-ietf-rtcweb-use-cases-and-requirements-15.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. | |||
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 | ||||
tool in deciding features or scope for the WGs efforts so far. It is | ||||
being published to record the early conclusions of the working group. | ||||
It will not be used as a set of rigid guidelines that specifications | ||||
and implementations will be held to in the future. | ||||
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 | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 16, 2014. | This Internet-Draft will expire on June 20, 2015. | |||
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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 3 | 3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 4 | |||
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 . . . . . . . . . . . . . . . . . . . . . 6 | blocks UDP . . . . . . . . . . . . . . . . . . . . . 7 | |||
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 . . . . . . . . 7 | 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 . . . . . . . . . . . . . . . . . . . . . . 7 | provider . . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.3.5. Simple Video Communication Service, enterprise | 3.3.5. Simple Video Communication Service, enterprise | |||
aspects . . . . . . . . . . . . . . . . . . . . . . . 8 | aspects . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.3.6. Simple Video Communication Service, access change . . 9 | 3.3.6. Simple Video Communication Service, access change . . 9 | |||
3.3.7. Simple Video Communication Service, QoS . . . . . . . 9 | 3.3.7. Simple Video Communication Service, QoS . . . . . . . 10 | |||
3.3.8. Simple Video Communication Service with screen | 3.3.8. Simple Video Communication Service with screen | |||
sharing . . . . . . . . . . . . . . . . . . . . . . . 10 | sharing . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
3.3.9. Simple Video Communication Service with file exchange 10 | 3.3.9. Simple Video Communication Service with file exchange 11 | |||
3.3.10. Hockey Game Viewer . . . . . . . . . . . . . . . . . 11 | 3.3.10. Hockey Game Viewer . . . . . . . . . . . . . . . . . 11 | |||
3.3.11. Multiparty video communication . . . . . . . . . . . 12 | 3.3.11. Multiparty video communication . . . . . . . . . . . 12 | |||
3.3.12. Multiparty on-line game with voice communication . . 13 | 3.3.12. Multiparty on-line game with voice communication . . 14 | |||
3.4. Browser - GW/Server use cases . . . . . . . . . . . . . . 15 | 3.4. Browser - GW/Server use cases . . . . . . . . . . . . . . 15 | |||
3.4.1. Telephony terminal . . . . . . . . . . . . . . . . . 15 | 3.4.1. Telephony terminal . . . . . . . . . . . . . . . . . 15 | |||
3.4.2. Fedex Call . . . . . . . . . . . . . . . . . . . . . 15 | 3.4.2. Fedex Call . . . . . . . . . . . . . . . . . . . . . 16 | |||
3.4.3. Video conferencing system with central server . . . . 16 | 3.4.3. Video conferencing system with central server . . . . 17 | |||
4. Requirements summary . . . . . . . . . . . . . . . . . . . . 17 | 4. Requirements summary . . . . . . . . . . . . . . . . . . . . 18 | |||
4.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 4.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
4.2. Browser requirements . . . . . . . . . . . . . . . . . . 17 | 4.2. Browser requirements . . . . . . . . . . . . . . . . . . 18 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 22 | |||
6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 21 | 6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 22 | |||
6.2. Browser Considerations . . . . . . . . . . . . . . . . . 21 | 6.2. Browser Considerations . . . . . . . . . . . . . . . . . 22 | |||
6.3. Web Application Considerations . . . . . . . . . . . . . 22 | 6.3. Web Application Considerations . . . . . . . . . . . . . 23 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 | |||
8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
9. Normative References . . . . . . . . . . . . . . . . . . . . 28 | 9. Normative References . . . . . . . . . . . . . . . . . . . . 29 | |||
Appendix A. API requirements . . . . . . . . . . . . . . . . . . 28 | Appendix A. API requirements . . . . . . . . . . . . . . . . . . 30 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
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 User Agent | |||
(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 listed in conjunction with the use-cases. A | an integer, and are listed in conjunction with the use-cases. A | |||
summary is provided in Section 4.2. | 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 | |||
document, but instead use this document. These requirements are | document, but instead use this document. These requirements are | |||
named "An", where n is an integer, and are described in Appendix A- | named "An", where n is an integer, and are described in Appendix A. | |||
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 | ||||
tool in deciding features or scope for the WGs efforts so far. It is | ||||
being published to record the early conclusions of the working group. | ||||
It will not be used as a set of rigid guidelines that specifications | ||||
and implementations will be held to in the future. | ||||
2. Conventions | 2. Conventions | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in BCP 14, RFC 2119 | document are to be interpreted as described in BCP 14, RFC 2119 | |||
[RFC2119]. | [RFC2119]. | |||
3. Use-cases | 3. Use-cases | |||
3.1. Introduction | 3.1. Introduction | |||
This section describes web based real-time communication use-cases, | This section describes web based real-time communication use-cases, | |||
from which requirements are derived. | from which requirements are derived. | |||
The following considerations are applicable to all use cases: | The following considerations are applicable to all use cases: | |||
o Clients can be on IPv4-only | o Clients can be on IPv4-only | |||
o Clients can be on IPv6-only | o Clients can be on IPv6-only | |||
skipping to change at page 4, line 4 | skipping to change at page 4, line 23 | |||
o Clients can be on IPv6-only | o Clients can be on IPv6-only | |||
o Clients can be on dual-stack | o Clients can be on dual-stack | |||
o Clients can be connected to networks with different throughput | o Clients can be connected to networks with different throughput | |||
capabilities | capabilities | |||
o Clients can be on variable-media-quality networks (wireless) | o Clients can be on variable-media-quality networks (wireless) | |||
o Clients can be on congested networks | o Clients can be on congested networks | |||
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 or IPv4-IPv6 translation | |||
and Filtering behaviors (as described in RFC4787). | devices using any type of Mapping 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. | additional requirements are listed. | |||
3.3. Browser-to-browser use-cases | 3.3. Browser-to-browser use-cases | |||
skipping to change at page 4, line 37 | skipping to change at page 5, line 11 | |||
online user, a 1-1 audiovisual communication session between the | online user, a 1-1 audiovisual communication session between the | |||
browsers of the two peers is initiated. The invited user might | browsers of the two peers is initiated. The invited user might | |||
accept or reject the session. | accept or reject the session. | |||
During session establishment a self-view is displayed, and once the | During session establishment a self-view is displayed, and once the | |||
session has been established the video sent from the remote peer is | session has been established the video sent from the remote peer is | |||
displayed in addition to the self-view. During the session, each | displayed in addition to the self-view. During the session, each | |||
user can select to remove and re-insert the self-view as often as | user can select to remove and re-insert the self-view as often as | |||
desired. Each user can also change the sizes of his/her two video | desired. Each user can also change the sizes of his/her two video | |||
displays during the session. Each user can also pause sending of | displays during the session. Each user can also pause sending of | |||
media (audio, video, or both) and mute incoming media | media (audio, video, or both) and mute incoming media. | |||
It is essential that media and data be encrypted, authenticated and | It is essential that media and data be encrypted, authenticated and | |||
integrity protected on a per-packet basis and that media and data | integrity protected on a per IP packet basis and that media and data | |||
packets failing the integrity check not be delivered to the | packets failing the integrity check not be delivered to the | |||
application. | application. | |||
The application gives the users the opportunity to stop it from | The application gives the users the opportunity to stop it from | |||
exposing the host IP address to the application of the other user. | exposing the host IP address to the application of the other user. | |||
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. | |||
skipping to change at page 5, line 33 | skipping to change at page 6, line 5 | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
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. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F6 The browser must detect when a stream from a | F6 The browser must detect when a stream from a | |||
peer is not received anymore | peer is not received anymore. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F7 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. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F8 The browser must support synchronization of | F8 The browser must support synchronization of | |||
audio and video. | audio and video. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F9 The browser should use encoding of streams | F9 The browser should use encoding of streams | |||
suitable for the current rendering (e.g. | suitable for the current rendering (e.g. | |||
video display size) and should change parameters | video display size) and should change parameters | |||
if the rendering changes during the session | if the rendering changes during the session. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F10 The browser must support a baseline audio and | F10 The browser must support a baseline audio and | |||
video codec | video codec. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F11 It must be possible to protect streams and data | F11 It must be possible to protect streams and data | |||
from wiretapping [RFC2804]. | from wiretapping [RFC2804][RFC7258]. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F12 The browser must enable verification, given | F12 The browser must enable verification, given | |||
the right circumstances and by use of other | the right circumstances and by use of other | |||
trusted communication, that streams and | trusted communication, that streams and | |||
data received have not been manipulated by | data received have not been manipulated by | |||
any party. | any party. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F13 The browser must encrypt, authenticate and | F13 The browser must encrypt, authenticate and | |||
integrity protect media and data on a | integrity protect media and data on a | |||
per-packet basis, and must drop incoming media | per IP packet basis, and must drop incoming media | |||
and data packets that fail the per-packet | and data packets that fail the per IP packet | |||
integrity check. In addition, the browser | integrity check. In addition, the browser | |||
must support a mechanism for cryptographically | must support a mechanism for cryptographically | |||
binding media and data security keys to the | binding media and data security keys to the | |||
user identity (see R-ID-BINDING in [RFC5479]). | user identity (see R-ID-BINDING in [RFC5479]). | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F14 The browser must make it possible to set up a | F14 The browser must make it possible to set up a | |||
call between two parties without one party | call between two parties without one party | |||
learning the other party's host IP address. | learning the other party's host IP address. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F15 The browser must be able to collect statistics, | F15 The browser must be able to collect statistics, | |||
skipping to change at page 10, line 16 | skipping to change at page 10, line 29 | |||
3.3.7.2. Additional Requirements | 3.3.7.2. Additional Requirements | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
REQ-ID DESCRIPTION | REQ-ID DESCRIPTION | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F17 The communication session must survive across a | F17 The communication session must survive across a | |||
change of the network interface used by the | change of the network interface used by the | |||
session | session | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F22 The browser must be able to receive streams and | F22 The browser should be able to take advantage | |||
data from multiple peers concurrently. | of available capabilities (supplied by network | |||
nodes) to prioritize voice, video and data | ||||
appropriately. | ||||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
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 | |||
skipping to change at page 12, line 16 | skipping to change at page 12, line 33 | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
REQ-ID DESCRIPTION | REQ-ID DESCRIPTION | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F22 The browser should be able to take advantage | 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 must be able to render several | F25 The browser must be able to render several | |||
concurrent video streams | concurrent audio and 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 | |||
skipping to change at page 13, line 17 | skipping to change at page 13, line 35 | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
REQ-ID DESCRIPTION | REQ-ID DESCRIPTION | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F23 The browser must be able to transmit streams and | F23 The browser must be able to transmit streams and | |||
data to several peers concurrently. | data to several peers concurrently. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F24 The browser must be able to receive streams and | F24 The browser must be able to receive streams and | |||
data from multiple peers concurrently. | data from multiple peers concurrently. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F25 The browser must be able to render several | F25 The browser must be able to render several | |||
concurrent video streams | concurrent audio and video streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F26 The browser must be able to mix several | F26 The browser must be able to mix several | |||
audio streams. | audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F27 The browser must be able to apply spatialization | F27 The browser must be able to apply spatialization | |||
effects when playing audio streams. | effects to audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F28 The browser must be able to measure the | F28 The browser must be able to measure the | |||
voice activity level in audio streams. | voice activity level in audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F29 The browser must be able to change the | F29 The browser must be able to change the | |||
voice activity level in audio streams. | voice activity level in audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
A13, A14, A15, A16 | A13, A14, A15, A16 | |||
skipping to change at page 14, line 24 | skipping to change at page 15, line 19 | |||
nodes) to prioritize voice, video and data | nodes) to prioritize voice, video and data | |||
appropriately. | appropriately. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F23 The browser must be able to transmit streams and | F23 The browser must be able to transmit streams and | |||
data to several peers concurrently. | data to several peers concurrently. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F24 The browser must be able to receive streams and | F24 The browser must be able to receive streams and | |||
data from multiple peers concurrently. | data from multiple peers concurrently. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F25 The browser must be able to render several | F25 The browser must be able to render several | |||
concurrent video streams | concurrent audio and video streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F26 The browser must be able to mix several | F26 The browser must be able to mix several | |||
audio streams. | audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F27 The browser must be able to apply spatialization | F27 The browser must be able to apply spatialization | |||
effects when playing audio streams. | effects when playing audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F28 The browser must be able to measure the | F28 The browser must be able to measure the | |||
voice activity level in audio streams. | voice activity level in audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
skipping to change at page 17, line 21 | skipping to change at page 18, line 19 | |||
3.4.3.2. Additional Requirements | 3.4.3.2. Additional Requirements | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
REQ-ID DESCRIPTION | REQ-ID DESCRIPTION | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F16 The browser must support insertion of reference frames | F16 The browser must support insertion of reference frames | |||
in outgoing media streams when requested by a peer. | in outgoing media streams when requested by a peer. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F25 The browser must be able to render several | F25 The browser must be able to render several | |||
concurrent video streams | concurrent audio and video streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
4. Requirements summary | 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 | |||
skipping to change at page 18, line 35 | skipping to change at page 19, line 34 | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F9 The browser should use encoding of streams | F9 The browser should use encoding of streams | |||
suitable for the current rendering (e.g. | suitable for the current rendering (e.g. | |||
video display size) and should change parameters | video display size) and should change parameters | |||
if the rendering changes during the session | if the rendering changes during the session | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F10 The browser must support a baseline audio and | F10 The browser must support a baseline audio and | |||
video codec | video codec | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F11 It must be possible to protect streams and data | F11 It must be possible to protect streams and data | |||
from wiretapping [RFC2804]. | from wiretapping [RFC2804][RFC7258]. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F12 The browser must enable verification, given | F12 The browser must enable verification, given | |||
the right circumstances and by use of other | the right circumstances and by use of other | |||
trusted communication, that streams and | trusted communication, that streams and | |||
data received have not been manipulated by | data received have not been manipulated by | |||
any party. | any party. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F13 The browser must encrypt, authenticate and | F13 The browser must encrypt, authenticate and | |||
integrity protect media and data on a | integrity protect media and data on a | |||
per-packet basis, and must drop incoming media | per-packet basis, and must drop incoming media | |||
skipping to change at page 20, line 6 | skipping to change at page 21, line 4 | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
Requirements related to multiple peers and streams | Requirements related to multiple peers and streams | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
REQ-ID DESCRIPTION | REQ-ID DESCRIPTION | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F23 The browser must be able to transmit streams and | F23 The browser must be able to transmit streams and | |||
data to several peers concurrently. | data to several peers concurrently. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F24 The browser must be able to receive streams and | F24 The browser must be able to receive streams and | |||
data from multiple peers concurrently. | data from multiple peers concurrently. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F25 The browser must be able to render several | F25 The browser must be able to render several | |||
concurrent video streams | concurrent audio and video streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F26 The browser must be able to mix several | F26 The browser must be able to mix several | |||
audio streams. | audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
Requirements related to audio processing | Requirements related to audio processing | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
REQ-ID DESCRIPTION | REQ-ID DESCRIPTION | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F27 The browser must be able to apply spatialization | F27 The browser must be able to apply spatialization | |||
effects when playing audio streams. | effects when playing audio streams. | |||
skipping to change at page 22, line 50 | skipping to change at page 23, line 46 | |||
Burger, John Leslie, Dan Wing, Richard Barnes, Barry Dingle, Dale | Burger, John Leslie, Dan Wing, Richard Barnes, Barry Dingle, Dale | |||
Worley, Ted hardie, Mary Barnes, Dan Burnett, Stephan Wenger, Harald | Worley, Ted hardie, Mary Barnes, Dan Burnett, Stephan Wenger, Harald | |||
Alvestrand, Cullen Jennings, Andrew Hutton and everyone else in the | Alvestrand, Cullen Jennings, Andrew Hutton and everyone else in the | |||
RTCWEB community that have provided comments, feedback, text and | RTCWEB community that have provided comments, feedback, text and | |||
improvement proposals on the document. | improvement proposals on the document. | |||
8. Change Log | 8. Change Log | |||
[RFC EDITOR NOTE: Please remove this section when publishing] | [RFC EDITOR NOTE: Please remove this section when publishing] | |||
Changes from draft-ietf-rtcweb-use-cases-and-requirements-14 | ||||
o Changes based on comments from the ops-dir: | ||||
o - Editorial fixes. | ||||
o - F13: 'per-packet basis' -> 'per IP packet basis'. | ||||
o - F22: Text corrected in one occurance. | ||||
o - F25: 'audio' added. | ||||
o Changes based on comments from IESG | ||||
o - Editorial fixes. | ||||
o - Disclaimer text suggested by Alissa Cooper added. | ||||
o - F11: Reference to RFC 7258 added. | ||||
o - F27: 'when playing' removed. | ||||
Changes from draft-ietf-rtcweb-use-cases-and-requirements-10 | Changes from draft-ietf-rtcweb-use-cases-and-requirements-10 | |||
o Described that the API requirements are really from a W3C | o Described that the API requirements are really from a W3C | |||
perspective and are supplied as an appendix in the introduction. | perspective and are supplied as an appendix in the introduction. | |||
Moved API requirements to an Appendix. | Moved API requirements to an Appendix. | |||
o Removed the "Conventions" section with the key-words and reference | o Removed the "Conventions" section with the key-words and reference | |||
to RFC2119. Also changed uppercase MUST's/SHOULD's to lowercase. | to RFC2119. Also changed uppercase MUST's/SHOULD's to lowercase. | |||
o Added a note on the proposed use of the document to the | o Added a note on the proposed use of the document to the | |||
introduction. | introduction. | |||
skipping to change at page 25, line 48 | skipping to change at page 27, line 15 | |||
o Separated the requirements phrased like "processing such as pan, | o Separated the requirements phrased like "processing such as pan, | |||
mix and render" for audio to be specific reqs on spatialization, | mix and render" for audio to be specific reqs on spatialization, | |||
level measurement, level adjustment and mixing (discussed on the | level measurement, level adjustment and mixing (discussed on the | |||
lists in http://www.ietf.org/mail-archive/web/rtcweb/current/ | lists in http://www.ietf.org/mail-archive/web/rtcweb/current/ | |||
msg01648.html and http://lists.w3.org/Archives/Public/public- | msg01648.html and http://lists.w3.org/Archives/Public/public- | |||
webrtc/2011Sep/0102.html) | webrtc/2011Sep/0102.html) | |||
o Added use-case on sharing as decided in http://www.ietf.org/mail- | o Added use-case on sharing as decided in http://www.ietf.org/mail- | |||
archive/web/rtcweb/current/msg01700.html, derived reqs F30 and A21 | archive/web/rtcweb/current/msg01700.html, derived reqs F30 and A21 | |||
o Added the list of common considerations proposed in mail http:// | o Added the list of common considerations proposed in mail | |||
www.ietf.org/mail-archive/web/rtcweb/current/msg01562.html to the | http://www.ietf.org/mail-archive/web/rtcweb/current/msg01562.html | |||
Introduction of the use-case section | to the Introduction of the use-case section | |||
Changes from draft-ietf-rtcweb-use-cases-and-requirements-04 | Changes from draft-ietf-rtcweb-use-cases-and-requirements-04 | |||
o Most changes based on the input from Dan Burnett http:// | ||||
www.ietf.org/mail-archive/web/rtcweb/current/msg00948.html | o Most changes based on the input from Dan Burnett | |||
http://www.ietf.org/mail-archive/web/rtcweb/current/msg00948.html | ||||
o Many editorial changes | o Many editorial changes | |||
o 4.2.1.1 Clarified | o 4.2.1.1 Clarified | |||
o Some clarification added to 4.3.1.1 as a note | o Some clarification added to 4.3.1.1 as a note | |||
o F-requirements updated (see reply to Dan's mail). | o F-requirements updated (see reply to Dan's mail). | |||
o Almost all A-requirements updated to start "The Web API MUST | o Almost all A-requirements updated to start "The Web API MUST | |||
End of changes. 36 change blocks. | ||||
53 lines changed or deleted | 95 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/ |