draft-ietf-rtcweb-use-cases-and-requirements-11.txt | draft-ietf-rtcweb-use-cases-and-requirements-12.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: December 29, 2013 Ericsson | Expires: April 17, 2014 Ericsson | |||
June 27, 2013 | October 14, 2013 | |||
Web Real-Time Communication Use-cases and Requirements | Web Real-Time Communication Use-cases and Requirements | |||
draft-ietf-rtcweb-use-cases-and-requirements-11.txt | draft-ietf-rtcweb-use-cases-and-requirements-12.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 use-cases. | Requirements on the browser functionality are derived from use-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 | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
skipping to change at page 1, line 32 | skipping to change at page 1, line 32 | |||
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 December 29, 2013. | This Internet-Draft will expire on April 17, 2014. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2013 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. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 3 | 3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3.2. Browser-to-browser use-cases . . . . . . . . . . . . . . 4 | 3.2. Common requirements . . . . . . . . . . . . . . . . . . . 4 | |||
3.2.1. Simple Video Communication Service . . . . . . . . . 4 | 3.3. Browser-to-browser use-cases . . . . . . . . . . . . . . 4 | |||
3.2.2. Simple Video Communication Service, NAT/FW that | 3.3.1. Simple Video Communication Service . . . . . . . . . 4 | |||
3.3.2. Simple Video Communication Service, NAT/FW that | ||||
blocks UDP . . . . . . . . . . . . . . . . . . . . . 5 | blocks UDP . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.2.3. Simple Video Communication Service, FW that only | 3.3.3. Simple Video Communication Service, FW that only | |||
allows http . . . . . . . . . . . . . . . . . . . . . 5 | allows http . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.2.4. Simple Video Communication Service, global service | 3.3.4. Simple Video Communication Service, global service | |||
provider . . . . . . . . . . . . . . . . . . . . . . 6 | provider . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.2.5. Simple Video Communication Service, enterprise | 3.3.5. Simple Video Communication Service, enterprise | |||
aspects . . . . . . . . . . . . . . . . . . . . . . . 6 | aspects . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.2.6. Simple Video Communication Service, access change . . 7 | 3.3.6. Simple Video Communication Service, access change . . 7 | |||
3.2.7. Simple Video Communication Service, QoS . . . . . . . 7 | 3.3.7. Simple Video Communication Service, QoS . . . . . . . 7 | |||
3.2.8. Simple Video Communication Service with sharing . . . 8 | 3.3.8. Simple Video Communication Service with sharing . . . 8 | |||
3.2.9. Simple Video Communication Service with file exchange 8 | 3.3.9. Simple Video Communication Service with file exchange 8 | |||
3.2.10. Simple video communication service with inter- | 3.3.10. Hockey Game Viewer . . . . . . . . . . . . . . . . . 8 | |||
operator calling . . . . . . . . . . . . . . . . . . 8 | 3.3.11. Multiparty video communication . . . . . . . . . . . 9 | |||
3.2.11. Hockey Game Viewer . . . . . . . . . . . . . . . . . 9 | 3.3.12. Multiparty on-line game with voice communication . . 10 | |||
3.2.12. Multiparty video communication . . . . . . . . . . . 10 | 3.4. Browser - GW/Server use cases . . . . . . . . . . . . . . 11 | |||
3.2.13. Multiparty on-line game with voice communication . . 11 | 3.4.1. Telephony terminal . . . . . . . . . . . . . . . . . 11 | |||
3.2.14. Distributed Music Band . . . . . . . . . . . . . . . 12 | 3.4.2. Fedex Call . . . . . . . . . . . . . . . . . . . . . 11 | |||
3.3. Browser - GW/Server use cases . . . . . . . . . . . . . . 12 | 3.4.3. Video conferencing system with central server . . . . 11 | |||
3.3.1. Telephony terminal . . . . . . . . . . . . . . . . . 12 | 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
3.3.2. Fedex Call . . . . . . . . . . . . . . . . . . . . . 13 | 4.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
3.3.3. Video conferencing system with central server . . . . 13 | 4.2. Browser requirements . . . . . . . . . . . . . . . . . . 13 | |||
4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 14 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
4.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
4.2. Browser requirements . . . . . . . . . . . . . . . . . . 15 | 6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 16 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | 6.2. Browser Considerations . . . . . . . . . . . . . . . . . 16 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 18 | 6.3. Web Application Considerations . . . . . . . . . . . . . 17 | |||
6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 18 | 7. Additional use-cases . . . . . . . . . . . . . . . . . . . . 17 | |||
6.2. Browser Considerations . . . . . . . . . . . . . . . . . 18 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 | |||
6.3. Web Application Considerations . . . . . . . . . . . . . 19 | 9. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
7. Additional use-cases . . . . . . . . . . . . . . . . . . . . 19 | 10. Normative References . . . . . . . . . . . . . . . . . . . . 24 | |||
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 | Appendix A. API requirements . . . . . . . . . . . . . . . . . . 24 | |||
9. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 21 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
10. Normative References . . . . . . . . . . . . . . . . . . . . 26 | ||||
Appendix A. API requirements . . . . . . . . . . . . . . . . . . 27 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 | ||||
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 | |||
client is of another type (e.g. a telephone). | client is of another type (e.g. a telephone). | |||
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 described in Section 4.2. | |||
skipping to change at page 3, line 26 | skipping to change at page 3, line 29 | |||
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- | |||
The document focuses on requirements related to real-time media | 2. Conventions | |||
streams and data exchange. Requirements related to privacy, | ||||
signalling between the browser and web server etc. are currently not | ||||
considered. | ||||
2. Definitions | ||||
TBD | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
document are to be interpreted as described in BCP 14, RFC 2119 | ||||
[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 | |||
o Clients can be on dual-stack | o Clients can be on dual-stack | |||
o Clients can be on wideband (10s of Mbits/sec) | o Clients can be connected to networks with different throughput | |||
o Clients can be on narrowband (10s to 100s of Kbits/sec) | 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 any type (as described in RFC4787) | o Clients can be on networks with a NAT using any type of Mapping | |||
of NAT. | and Filtering behaviors (as described in RFC4787). | |||
3.2. Browser-to-browser use-cases | 3.2. Common requirements | |||
3.2.1. Simple Video Communication Service | The requirements retrived from the "Simple Video Communication | |||
Service" by default apply to all other use-cases, and are considred | ||||
common. For each individual use-case, only the additional | ||||
requirements are listed. The following requirements can be retrieved | ||||
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.2.1.1. Description | 3.3. Browser-to-browser use-cases | |||
3.3.1. Simple Video Communication Service | ||||
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 | |||
information about user login status by pushing updates to the web | information about user login status by pushing updates to the web | |||
application in the browsers. When one online user selects a peer | application in the browsers. When one online user selects a peer | |||
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 the communication cannot be wiretapped | ||||
[RFC2804]. | ||||
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-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. | |||
In addition, it is required that browsers enable the media and data | ||||
security keys to be cryptographically bound to the user identity. | ||||
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 of different makes, | The two users may be using communication devices of different makes, | |||
with different operating systems and browsers from different vendors. | with different operating systems and browsers from different vendors. | |||
One user has an unreliable Internet connection. It sometimes loses | ||||
packets, and sometimes goes down completely. | ||||
One user is located behind a Network Address Translator (NAT). | ||||
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.2.1.2. Derived Requirements | 3.3.1.2. Common Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F35, F36, F38, F39 | F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F35, F36, F38, F39 | |||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A25, A26 | A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A25, A26 | |||
3.2.2. Simple Video Communication Service, NAT/FW that blocks UDP | 3.3.2. Simple Video Communication Service, NAT/FW that blocks UDP | |||
3.2.2.1. Description | 3.3.2.1. Description | |||
This use-case is almost identical to the Simple Video Communication | This use-case is almost identical to the Simple Video Communication | |||
Service use-case (Section 3.2.1). The difference is that one of the | Service use-case (Section 3.3.1). The difference is that one of the | |||
users is behind a NAT that blocks UDP traffic. | users is behind a NAT that blocks UDP traffic. | |||
3.2.2.2. Derived Requirements | 3.3.2.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F29 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 | F29 | |||
3.2.3. Simple Video Communication Service, FW that only allows http | 3.3.3. Simple Video Communication Service, FW that only allows http | |||
3.2.3.1. Description | 3.3.3.1. Description | |||
This use-case is almost identical to the Simple Video Communication | This use-case is almost identical to the Simple Video Communication | |||
Service use-case (Section 3.2.1). The difference is that one of the | Service use-case (Section 3.3.1). The difference is that one of the | |||
users is behind a FW that only allows http traffic. | users is behind a FW that only allows traffic via a HTTP Proxy. | |||
3.2.3.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F37 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 | 3.3.3.2. Additional Requirements | |||
3.2.4. Simple Video Communication Service, global service provider | F37 | |||
3.2.4.1. Description | 3.3.4. Simple Video Communication Service, global service provider | |||
3.3.4.1. Description | ||||
This use-case is almost identical to the Simple Video Communication | This use-case is almost identical to the Simple Video Communication | |||
Service use-case (Section 3.2.1). | 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. | |||
3.2.4.2. Derived Requirements | 3.3.4.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F31 | F31 | |||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A22 | A22 | |||
3.2.5. Simple Video Communication Service, enterprise aspects | 3.3.5. Simple Video Communication Service, enterprise aspects | |||
3.2.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.2.1). | use-case (Section 3.3.1). | |||
What is added is aspects when using the service in enterprises. ICE | What is added is aspects when using the service in enterprises. ICE | |||
is assumed in the further description of this use-case. | is assumed in the further description of this use-case. | |||
An enterprise that uses a RTCWEB based web application for | An enterprise that uses a RTCWEB based web application for | |||
communication desires to audit all RTCWEB based application session | communication desires to audit all RTCWEB based application session | |||
used from inside the company towards any external peer. To be able | used from inside the company towards any external peer. To be able | |||
to do this they deploy a TURN server that straddle the boundary | to do this they deploy a TURN server that straddle the boundary | |||
between the internal network and the external. | between the internal network and the external. | |||
The firewall will block all attempts to use STUN with an external | The firewall will block all attempts to use STUN with an external | |||
destination unless they go to the enterprise auditing TURN server. | destination unless they go to the enterprise auditing TURN server. | |||
In cases where employees are using RTCWEB applications provided by an | In cases where employees are using RTCWEB applications provided by an | |||
external service provider they still want to have the traffic to stay | external service provider they still want to have the traffic to stay | |||
inside their internal network and in addition not load the straddling | inside their internal network and in addition not load the straddling | |||
TURN server, thus they deploy a STUN server allowing the RTCWEB | TURN server, thus they deploy a STUN server allowing the RTCWEB | |||
client to determine its server reflexive address on the internal | client to determine its server reflexive address on the internal | |||
side. Thus enabling cases where peers are both on the internal side | side. Thus enabling cases where peers are both on the internal side | |||
to connect without the traffic leaving the internal network. It must | to connect without the traffic leaving the internal network. It must | |||
be possibele to configure the browsers used in the enterprise with | be 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 autoconfiguration 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.2.5.2. Derived Requirements | 3.3.5.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F32 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 | F32 | |||
3.2.6. Simple Video Communication Service, access change | 3.3.6. Simple Video Communication Service, access change | |||
3.2.6.1. Description | 3.3.6.1. Description | |||
This use-case is almost identical to the Simple Video Communication | This use-case is almost identical to the Simple Video Communication | |||
Service use-case (Section 3.2.1). The difference is that the user | Service use-case (Section 3.3.1). The difference is that the user | |||
changes network access during the session: | changes network access during the session: | |||
The communication device used by one of the users have several | The communication device used by one of the users have several | |||
network adapters (Ethernet, WiFi, Cellular). The communication | network adapters (Ethernet, WiFi, Cellular). The communication | |||
device is accessing the Internet using Ethernet, but the user has to | device is accessing the Internet using Ethernet, but the user has to | |||
start a trip during the session. The communication device | start a trip during the session. The communication device | |||
automatically changes to use WiFi when the Ethernet cable is removed | automatically changes to use WiFi when the Ethernet cable is removed | |||
and then moves to cellular access to the Internet when moving out of | and then moves to cellular access to the Internet when moving out of | |||
WiFi coverage. The session continues even though the access method | WiFi coverage. The session continues even though the access method | |||
changes. | changes. | |||
3.2.6.2. Derived Requirements | 3.3.6.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F26, F28 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 | F26 | |||
3.2.7. Simple Video Communication Service, QoS | 3.3.7. Simple Video Communication Service, QoS | |||
3.2.7.1. Description | 3.3.7.1. Description | |||
This use-case is almost identical to the Simple Video Communication | This use-case is almost identical to the Simple Video Communication | |||
Service, access change use-case (Section 3.2.6). The use of Quality | Service, access change use-case (Section 3.3.6). The use of Quality | |||
of Service (QoS) capabilities is added: | of Service (QoS) capabilities is 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.2.7.2. Derived Requirements | 3.3.7.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F24, F25, F26, F28 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 | F24, F26 | |||
3.2.8. Simple Video Communication Service with sharing | 3.3.8. Simple Video Communication Service with sharing | |||
3.2.8.1. Description | 3.3.8.1. Description | |||
This use-case has the audio and video communication of the Simple | This use-case has the audio and video communication of the Simple | |||
Video Communication Service use-case (Section 3.2.1). | 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 applicaton displays with the peer. | user) or what a selected application displays with the peer. | |||
3.2.8.2. Derived Requirements | 3.3.8.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F30 | F30 | |||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A21 | A21 | |||
3.2.9. Simple Video Communication Service with file exchange | 3.3.9. Simple Video Communication Service with file exchange | |||
3.2.9.1. Description | 3.3.9.1. Description | |||
This use-case has the audio and video communication of the Simple | This use-case has the audio and video communication of the Simple | |||
Video Communication Service use-case (Section 3.2.1). | 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.2.9.2. Derived Requirements | 3.3.9.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F28, F30, F33 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A21, A24 | ||||
3.2.10. Simple video communication service with inter-operator calling | ||||
3.2.10.1. Description | ||||
Two users have logged into two different web applications, provided | ||||
by different service providers. | ||||
The service providers are interconnected by some means, but exchange | ||||
no more information about the users than what can be carried using | ||||
SIP. | ||||
NOTE: More profiling of what this means may be needed. | ||||
For each user Alice who has authorized another user Bob to receive | ||||
login status information, Alice's service publishes Alice's login | ||||
status information to Bob. How this authorization is defined and | ||||
established is out of scope. | ||||
The same functionality as in the the Simple Video Communication | ||||
Service use-case (Section 3.2.1) is available. | ||||
The same issues with connectivity apply. | ||||
3.2.10.2. Derived requirements | ||||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F25, F27, F28 | F30, F33 | |||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A20 | A21, A24 | |||
3.2.11. Hockey Game Viewer | 3.3.10. Hockey Game Viewer | |||
3.2.11.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 | |||
front facing and one rear facing. | front facing and one rear facing. | |||
The club manager uses a desktop, equipped with one camera, for | The club manager uses a desktop, equipped with one camera, for | |||
viewing the game and discussing with the talent scout. | viewing the game and discussing with the talent scout. | |||
Before the game starts, and during game breaks, the talent scout and | Before the game starts, and during game breaks, the talent scout and | |||
the manager have a 1-1 audiovisual communication session. Only the | the manager have a 1-1 audiovisual communication session. On the | |||
rear facing camera of the mobile phone is used. On the display of | mobile phone, only the camera facing the talent scout is used. On | |||
the mobile phone, the video of the club manager is shown with a | the user display of the mobile phone, the video of the club manager | |||
picture-in-picture thumbnail of the rear facing camera (self-view). | is shown with a picture-in-picture thumbnail of the rear facing | |||
On the display of the desktop, the video of the talent scout is shown | camera (self-view). On the display of the desktop, the video of the | |||
with a picture-in-picture thumbnail of the desktop camera (self- | talent scout is shown with a picture-in-picture thumbnail of the | |||
view). | desktop camera (self-view). | |||
When the game is on-going, the talent scout activates the use of the | When the game is on-going, the talent scout activates the use of the | |||
front facing camera, and that stream is sent to the desktop (the | front facing camera, and that stream is sent to the desktop (the | |||
stream from the rear facing camera continues to be sent all the | stream from the rear facing camera continues to be sent all the | |||
time). The video stream captured by the front facing camera (that is | time). The video stream captured by the front facing camera (that is | |||
capturing the game) of the mobile phone is shown in a big window on | capturing the game) of the mobile phone is shown in a big window on | |||
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. | |||
It is essential that the communication cannot be wiretapped | 3.3.10.2. Additional Requirements | |||
[RFC2804]. | ||||
3.2.11.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F8, F9, F10, F17, F20, F34 | F17, F34 | |||
A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A17, A23 | A17, A23 | |||
3.2.12. Multiparty video communication | 3.3.11. Multiparty video communication | |||
3.2.12.1. Description | 3.3.11.1. Description | |||
In this use-case is the Simple Video Communication Service use-case | In this use-case is the Simple Video Communication Service use-case | |||
(Section 3.2.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 | |||
and receives streams to and from all other session participants. The | and receives streams to and from all other session participants. The | |||
web application in the browser of each user is responsible for | web application in the browser of each user is responsible for | |||
setting up streams to all receivers. | setting up streams to all receivers. | |||
In order to enhance intelligibility, the web application pans the | In order to enhance intelligibility, the web application pans the | |||
audio from different participants differently when rendering the | audio from different participants differently when rendering the | |||
audio. This is done automatically, but users can change how the | audio. This is done automatically, but users can change how the | |||
different participants are placed in the (virtual) room. In addition | different participants are placed in the (virtual) room. In addition | |||
the levels in the audio signals are adjusted before mixing. | the levels in the audio signals are adjusted before mixing. | |||
Another feature intended to enhance the use experience is that the | Another feature intended to enhance the use experience is that the | |||
video window that displays the video of the currently speaking peer | video window that displays the video of the currently speaking peer | |||
is highlighted. | is highlighted. | |||
Each video stream received is by default displayed in a thumbnail | Each video stream received is by default displayed in a thumbnail | |||
frame within the browser, but users can change the display size. | frame within the browser, but users can change the display size. | |||
It is essential that the communication cannot be wiretapped | ||||
[RFC2804]. | ||||
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 recevied 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.2.12.2. Derived Requirements | 3.3.11.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, | F11, F12, F13, F14, F15, F16, F17 | |||
F20, F25 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, | A13, A14, A15, A16, A17 | |||
A16, A17 | ||||
3.2.13. Multiparty on-line game with voice communication | 3.3.12. Multiparty on-line game with voice communication | |||
3.2.13.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 | |||
played to the user together with the voice media. | played to the user together with the voice media. | |||
Quick updates of the game state is required, and have higher priority | Quick updates of the game state is required, and have higher priority | |||
than the voice. | than the voice. | |||
It is essential that the communication cannot be wiretapped | ||||
[RFC2804]. | ||||
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.2.13.2. Derived Requirements | 3.3.12.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F11, F12, F13, F14, F15, F16, F18, F20, | ||||
F23, F34 | ||||
A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, | ||||
A17, A18, A23 | ||||
3.2.14. Distributed Music Band | ||||
3.2.14.1. Description | ||||
In this use-case, a music band is playing music while the members are | ||||
at different physical locations. No central server is used, instead | ||||
all streams are set up in a mesh fashion. | ||||
Discussion: This use-case was briefly discussed at the Quebec webrtc | ||||
meeting and it got support. So far the only concrete requirement | ||||
(A17) derived is that the application must be able to ask the browser | ||||
to treat the audio signal as audio (in contrast to speech). However, | ||||
the use case should be further analysed to determine other | ||||
requirements (could be e.g. on delay mic->speaker, level control of | ||||
audio signals, etc.). | ||||
3.2.14.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F8, F9, F11, F12, F13, F14, F15, F16 | F12, F13, F14, F15, F16, F18 | |||
A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, | A13, A14, A15, A16, A17, A18, A23 | |||
A19 | ||||
3.3. Browser - GW/Server use cases | 3.4. Browser - GW/Server use cases | |||
3.3.1. Telephony terminal | 3.4.1. Telephony terminal | |||
3.3.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. | |||
It is essential that the communication cannot be wiretapped | ||||
[RFC2804]. | ||||
Note: With "place and receive calls in the same way as when using a | Note: With "place and receive calls in the same way as when using a | |||
normal mobile phone" it is meant that you can dial a number, and that | normal mobile phone" it is meant that you can dial a number, and that | |||
your mobile telephony operator has made available your phone contacts | your mobile telephony operator has made available your phone contacts | |||
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.3.1.2. Derived Requirements | 3.4.1.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F8, F9, F10, F20, F21 | ||||
A1, A2, A3, A4, A7, A8, A9, A10, A11, A12 | F21 | |||
3.3.2. Fedex Call | 3.4.2. Fedex Call | |||
3.3.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 IVR and when the IVR says | hear the initial prompts from the fedex Interactive Voice Responder | |||
press 1, there should be a way for Alice to navigate the IVR. | (IVR) and when the IVR says press 1, there should be a way for Alice | |||
to navigate the IVR. | ||||
3.3.2.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F8, F9, F10, F21, F22 | ||||
A1, A2, A3, A4, A7, A8, A9, A10, A11, A12 | 3.4.2.2. Additional Requirements | |||
3.3.3. Video conferencing system with central server | F21, F22 | |||
3.3.3.1. Description | 3.4.3. Video conferencing system with central server | |||
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 send an audio stream (type in terms | The browser of each participant send an audio stream (type in terms | |||
of mono, stereo, 5.1, ... depending on the equipment of the | of mono, stereo, 5.1, ... depending on the equipment of the | |||
participant) to the central server. The central server mixes the | participant) to the central server. The central server mixes the | |||
audio streams (and can in the mixing process naturally add effects | audio streams (and can in the mixing process naturally add effects | |||
such as spatialization) and sends towards each participant a mixed | such as spatialization) and sends towards each participant a mixed | |||
skipping to change at page 13, line 51 | skipping to change at page 12, line 27 | |||
The browser of each participant sends video towards the server. For | The browser of each participant sends video towards the server. For | |||
each participant one high resolution video is displayed in a large | each participant one high resolution video is displayed in a large | |||
window, while a number of low resolution videos are displayed in | window, while a number of low resolution videos are displayed in | |||
smaller windows. The server selects what video streams to be | smaller windows. The server selects what video streams to be | |||
forwarded as main- and thumbnail videos respectively, based on speech | forwarded as main- and thumbnail videos respectively, based on speech | |||
activity. As the video streams to display can change quite | activity. As the video streams to display can change quite | |||
frequently (as the conversation flows) it is important that the delay | frequently (as the conversation flows) it is important that the delay | |||
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. | |||
The organization has an internal network set up with an aggressive | ||||
firewall handling access to the Internet. If users cannot physically | ||||
access the internal network, they can establish a Virtual Private | ||||
Network (VPN). | ||||
It is essential that the communication cannot be wiretapped | ||||
[RFC2804]. | ||||
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 F7, on encryption of media and on ability to traverse very | |||
restrictive FWs. There exist several solutions that enable the | restrictive FWs. There exist several solutions that enable the | |||
server to forward one high resolution and several low resolution | server to forward one high resolution and several low resolution | |||
video streams: a) each browser could send a high resolution, but | video streams: a) each browser could send a high resolution, but | |||
scalable stream, and the server could send just the base layer for | scalable stream, and the server could send just the base layer for | |||
the low resolution streams, b) each browser could in a simulcast | the low resolution streams, b) each browser could in a simulcast | |||
fashion send one high resolution and one low resolution stream, and | fashion send one high resolution and one low resolution stream, and | |||
the server just selects or c) each browser sends just a high | the server just selects or c) each browser sends just a high | |||
resolution stream, the server transcodes into low resolution streams | resolution stream, the server transcodes into low resolution streams | |||
as required. | as required. | |||
3.3.3.2. Derived Requirements | 3.4.3.2. Additional Requirements | |||
F1, F2, F3, F4, F5, F7, F8, F9, F10, F17, F19, F20 | F17 | |||
A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A17 | A17 | |||
4. Requirements | 4. Requirements | |||
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 | |||
skipping to change at page 15, line 29 | skipping to change at page 13, line 42 | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
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 | F7 The browser must support insertion of reference frames | |||
in ougoing media streams when requested by a peer. | in outgoing media streams when requested by a peer. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F8 The browser must detect when a stream from a | 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 | F9 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 | F10 The browser must support synchronization of | |||
skipping to change at page 15, line 51 | skipping to change at page 14, line 16 | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F11 The browser must be able to transmit streams and | F11 The browser must be able to transmit streams and | |||
data to several peers concurrently. | data to several peers concurrently. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F12 The browser must be able to receive streams and | F12 The browser must be able to receive streams and | |||
data from multiple peers concurrently. | data from multiple peers concurrently. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F13 The browser must be able to apply spatialization | F13 The browser must be able to apply spatialization | |||
effects when playing audio streams. | effects when playing audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F14 The browser must be able to measure the level | F14 The browser must be able to measure the | |||
in audio streams. | voice activity level in audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F15 The browser must be able to change the level | F15 The browser must be able to change the | |||
in audio streams. | voice activity level in audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F16 The browser must be able to render several | F16 The browser must be able to render several | |||
concurrent video streams | concurrent video streams | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F17 The browser must be able to mix several | F17 The browser must be able to mix several | |||
audio streams. | audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F18 The browser must be able to process and mix | F18 The browser must be able to process and mix | |||
sound objects (media that is retrieved from | sound objects (media that is retrieved from | |||
another source than the established media | another source than the established media | |||
stream(s) with the peer(s) with audio streams. | stream(s) with the peer(s) with audio streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F19 Streams and data must be able to pass through | ||||
limited middleboxes. | ||||
---------------------------------------------------------------- | ||||
F20 It must be possible to protect streams and data | F20 It must be possible to protect streams and data | |||
from wiretapping [RFC2804]. | from wiretapping [RFC2804]. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F21 The browser must support an audio media format | F21 The browser must support an audio media format | |||
(codec) that is commonly supported by existing | (codec) that is commonly supported by existing | |||
telephony services. | telephony services. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F22 There should be a way to navigate | F22 There should be a way to navigate | |||
a Dual-tone multi-frequency signaling (DTMF) | a Dual-tone multi-frequency signaling (DTMF) | |||
based Interactive voice response (IVR) System | based Interactive voice response (IVR) System | |||
skipping to change at page 17, line 30 | skipping to change at page 15, line 41 | |||
and TURN servers | and TURN servers | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F32 There browser must support that STUN and TURN | F32 There browser must support that STUN and TURN | |||
servers to use are supplied by other entities | servers to use are supplied by other entities | |||
than via the web application (i.e. the network | than via the web application (i.e. the network | |||
provider). | provider). | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F33 The browser must be able to send reliable | F33 The browser must be able to send reliable | |||
data traffic to a peer browser. | data traffic to a peer browser. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F34 The browser must support priortization of | F34 The browser must support prioritization of | |||
streams and data. | streams and data. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F35 The browser must enable verification, given | F35 The browser must enable verification, given | |||
the right circumstances and by use of other | the right circumstances and by use of other | |||
trusted communication, of that streams and | trusted communication, of that streams and | |||
data received have not been manipulated by | data received have not been manipulated by | |||
any party. | any party. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F36 The browser must encrypt, authenticate and | F36 The browser must encrypt, authenticate and | |||
integrity protect media and data on a | integrity protect media and data on a | |||
per-packet asis, and must drop incoming media | per-packet basis, and must drop incoming media | |||
and data packets that fail the per-packet | and data packets that fail the per-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]). | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F37 The browser must be able to send streams and | F37 The browser must be able to send streams and | |||
data to a peer in the presence of FWs that only | data to a peer in the presence of FWs that only | |||
allows http(s) traffic. | allows traffic via a HTTP Proxy, when FW policy | |||
allows WebRTC traffic. | ||||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F38 The browser must be able to collect statistics, | F38 The browser must be able to collect statistics, | |||
related to the transport of audio and video | related to the transport of audio and video | |||
between peers, needed to estimate quality of | between peers, needed to estimate quality of | |||
experience. | experience. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F39 The browser must make it possible to set up a | F39 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. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
5. IANA Considerations | 5. IANA Considerations | |||
TBD | There are no IANA actions in this document. | |||
6. Security Considerations | 6. Security Considerations | |||
6.1. Introduction | 6.1. Introduction | |||
A malicious web application might use the browser to perform Denial | A malicious web application might use the browser to perform Denial | |||
Of Service (DOS) attacks on NAT infrastructure, or on peer devices. | Of Service (DOS) attacks on NAT infrastructure, or on peer devices. | |||
Also, a malicious web application might silently establish outgoing, | Also, a malicious web application might silently establish outgoing, | |||
and accept incoming, streams on an already established connection. | and accept incoming, streams on an already established connection. | |||
skipping to change at page 20, line 6 | skipping to change at page 18, line 9 | |||
1. Use-cases regarding different situations when being invited to a | 1. Use-cases regarding different situations when being invited to a | |||
"session", e.g. browser open, browser open but another tab | "session", e.g. browser open, browser open but another tab | |||
active, browser open but active in session, browser closed, .... | active, browser open but active in session, browser closed, .... | |||
(Matthew Kaufman); discussed at webrtc meeting | (Matthew Kaufman); discussed at webrtc meeting | |||
2. E911 (Paul Beaumont) http://www.ietf.org/mail-archive/web/rtcweb | 2. E911 (Paul Beaumont) http://www.ietf.org/mail-archive/web/rtcweb | |||
/current/msg00525.html, followed up by Stephan Wenger | /current/msg00525.html, followed up by Stephan Wenger | |||
3. Local Recording and Remote recording (John): Discussed a _lot_ | 3. Local Recording and Remote recording (John): Discussed a _lot_ | |||
on the mail lists (rtcweb as well as public-webrtc) lAugust and | on the mail lists (rtcweb as well as public-webrtc) August and | |||
September 2011. Concrete proposal: http://www.ietf.org/mail- | September 2011. Concrete proposal: http://www.ietf.org/mail- | |||
archive/web/rtcweb/current/msg01006.html (remote) and http:// | archive/web/rtcweb/current/msg01006.html (remote) and http:// | |||
www.ietf.org/mail-archive/web/rtcweb/current/msg00734.html | www.ietf.org/mail-archive/web/rtcweb/current/msg00734.html | |||
(local) | (local) | |||
4. Emergency access for disabled (Bernard Aboba) http:// | 4. Emergency access for disabled (Bernard Aboba) http:// | |||
www.ietf.org/mail-archive/web/rtcweb/current/msg00478.html | www.ietf.org/mail-archive/web/rtcweb/current/msg00478.html | |||
5. Clue use-cases (Roni Even) http://tools.ietf.org/html/draft- | 5. Clue use-cases (Roni Even) http://tools.ietf.org/html/draft- | |||
ietf-clue-telepresence-use-cases-01 | ietf-clue-telepresence-use-cases-01 | |||
skipping to change at page 20, line 39 | skipping to change at page 18, line 42 | |||
10. Enterprise policies http://www.ietf.org/mail-archive/web/rtcweb/ | 10. Enterprise policies http://www.ietf.org/mail-archive/web/rtcweb/ | |||
current/msg04271.html | current/msg04271.html | |||
11. Low-complex multiparty central node http://www.ietf.org/mail- | 11. Low-complex multiparty central node http://www.ietf.org/mail- | |||
archive/web/rtcweb/current/msg04430.html | archive/web/rtcweb/current/msg04430.html | |||
12. Multiparty central node that is not allowed to decipher http:// | 12. Multiparty central node that is not allowed to decipher http:// | |||
www.ietf.org/mail-archive/web/rtcweb/current/msg04457.html | www.ietf.org/mail-archive/web/rtcweb/current/msg04457.html | |||
13. Enable company coop without being able to decipher http:// | ||||
www.ietf.org/mail-archive/web/rtcweb/current/msg04461.html | ||||
8. Acknowledgements | 8. Acknowledgements | |||
Bernard Aboba, Gunnar Hellstrom, Martin Thomson, Lars Eggert, Matthew | The authors wish to thank Bernard Aboba, Gunnar Hellstrom, Martin | |||
Kaufman, Emil Ivov, Eric Rescorla, Eric Burger, John Leslie, Dan | Thomson, Lars Eggert, Matthew Kaufman, Emil Ivov, Eric Rescorla, Eric | |||
Wing, Richard Barnes, Barry Dingle, Dale Worley, Ted hardie, Mary | Burger, John Leslie, Dan Wing, Richard Barnes, Barry Dingle, Dale | |||
Barnes, | Worley, Ted hardie, Mary Barnes, Dan Burnett, Stephan Wenger, Harald | |||
Alvestrand, Cullen Jennings, Andrew Hutton and everyone else in the | ||||
Dan Burnett has reviewed and proposed a lot of things that enhances | RTCWEB community that have provided comments, feedback, text and | |||
the document. Most of this has been incorporated in rev -05. | improvement proposals on the document. | |||
Stephan Wenger has provided a lot of useful input and feedback, as | ||||
well as editorial comments. | ||||
Harald Alvestrand and Ted Hardie have provided comments and feedback | ||||
on the draft. | ||||
Harald Alvestrand and Cullen Jennings have provided additional use- | ||||
cases. | ||||
Thank You to everyone in the RTCWEB community that have provided | ||||
comments, feedback and improvement proposals on the draft content. | ||||
9. Change Log | 9. 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-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. | |||
skipping to change at page 22, line 6 | skipping to change at page 19, line 43 | |||
list discussion involving Bernard). | list discussion involving Bernard). | |||
o Removed F6 ("The browser must be able to handle high loss and | o Removed F6 ("The browser must be able to handle high loss and | |||
jitter levels in a graceful way."), also after a list discussion. | jitter levels in a graceful way."), also after a list discussion. | |||
o Clarified F7 (used to say that the browser must support fast | o Clarified F7 (used to say that the browser must support fast | |||
stream switches, now says that reference frames must be inserted | stream switches, now says that reference frames must be inserted | |||
when requested). | when requested). | |||
o Removed the questions from F9 (echo cancellation), F10 | o Removed the questions from F9 (echo cancellation), F10 | |||
(syncronization), F21 (telephony codec). | (synchronization), F21 (telephony codec). | |||
o Exchanged "restrictive firewalls" for "limited middleboxes" in F19 | o Exchanged "restrictive firewalls" for "limited middleboxes" in F19 | |||
(as proposed by Martin). | (as proposed by Martin). | |||
o Expanded DTMF and IVR in F22 (proposed by Martin) | o Expanded DTMF and IVR in F22 (proposed by Martin) | |||
o Added ref to RFC5405 in F23 (proposed by Lars Eggert). | o Added ref to RFC5405 in F23 (proposed by Lars Eggert). | |||
o Exchanged "service provided" for "web application" in F32. | o Exchanged "service provided" for "web application" in F32. | |||
skipping to change at page 23, line 12 | skipping to change at page 20, line 48 | |||
the service provider monitors the quality of service, and derived | the service provider monitors the quality of service, and derived | |||
reqs F38 and A26. | reqs F38 and A26. | |||
Changes from draft-ietf-rtcweb-use-cases-and-requirements-07 | Changes from draft-ietf-rtcweb-use-cases-and-requirements-07 | |||
o Added "and data exchange" to 1. Introduction. | o Added "and data exchange" to 1. Introduction. | |||
o Removed cone and symmetric NAT from 4.1 Introduction, refers to | o Removed cone and symmetric NAT from 4.1 Introduction, refers to | |||
RFC4787 instead. | RFC4787 instead. | |||
o Added text on enabling verifyication of that the media has not | o Added text on enabling verification of that the media has not been | |||
been manipulated by anyone to use-case "Simple Video Communication | manipulated by anyone to use-case "Simple Video Communication | |||
Service", derived req. F35 | Service", derived req. F35 | |||
o Added text on that the browser should reject media (data) that has | o Added text on that the browser should reject media (data) that has | |||
been created/injected/modified by non-trusted party, derived req. | been created/injected/modified by non-trusted party, derived req. | |||
F36 | F36 | |||
o Added text on enabling the app to refrain from revealing IP | o Added text on enabling the app to refrain from revealing IP | |||
address to use-case "Simple Video Communication Service", derived | address to use-case "Simple Video Communication Service", derived | |||
req. A25 | req. A25 | |||
o Added use-case "Simple Video Communication Service with file | o Added use-case "Simple Video Communication Service with file | |||
exchange", derived reqs F33 and A24 | exchange", derived reqs F33 and A24 | |||
o Added priority of video streams to "Hockey game viewer" use case, | o Added priority of video streams to "Hockey game viewer" use case, | |||
added priority of data to "on-line game use-case", derived reqs | added priority of data to "on-line game use-case", derived reqs | |||
F34 and A23 | F34 and A23 | |||
o In F22, "the IVR" -> "a DTMF based IVR". | o In F22, "the IVR" -> "a DTMF based IVR". | |||
o Updated req F23 to clarify that requirements such as NAT | o Updated req F23 to clarify that requirements such as NAT | |||
traversal, prtoection from eavesdropping, rate control applies | traversal, protection from eavesdropping, rate control applies | |||
also to datagram. | also to datagram. | |||
Changes from draft-ietf-rtcweb-use-cases-and-requirements-06 | Changes from draft-ietf-rtcweb-use-cases-and-requirements-06 | |||
o Renaming of requirements (FaI1 -> F31), (FaI2 -> F32) and (AaI1 -> | o Renaming of requirements (FaI1 -> F31), (FaI2 -> F32) and (AaI1 -> | |||
A22) | A22) | |||
Changes from draft-ietf-rtcweb-use-cases-and-requirements-05 | Changes from draft-ietf-rtcweb-use-cases-and-requirements-05 | |||
o Added use-case "global service provider", derived reqs associated | o Added use-case "global service provider", derived reqs associated | |||
skipping to change at page 24, line 39 | skipping to change at page 22, line 29 | |||
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 | |||
provide ..." | provide ..." | |||
o A8 removed, A9 rephrased to cover A8 and old A9 | o A8 removed, A9 rephrased to cover A8 and old A9 | |||
o A15 rephrased | o A15 rephrased | |||
o For more details, and discussion, look att the response to Dan's | o For more details, and discussion, look at the response to Dan's | |||
mail http://www.ietf.org/mail-archive/web/rtcweb/current/ | mail http://www.ietf.org/mail-archive/web/rtcweb/current/ | |||
msg01177.html | msg01177.html | |||
Changes from draft-ietf-rtcweb-use-cases-and-requirements-03 | Changes from draft-ietf-rtcweb-use-cases-and-requirements-03 | |||
o Editorials | o Editorials | |||
o Changed when the self-view is displayed in 4.2.1.1, and added | o Changed when the self-view is displayed in 4.2.1.1, and added | |||
words about allowing users to remove and re-insert it. | words about allowing users to remove and re-insert it. | |||
skipping to change at page 25, line 16 | skipping to change at page 23, line 7 | |||
o Re-phrased 4.3.3.1 to not describe the technical solution so much, | o Re-phrased 4.3.3.1 to not describe the technical solution so much, | |||
and removed "stereo" stuff. Solution possibilities are now in a | and removed "stereo" stuff. Solution possibilities are now in a | |||
note. | note. | |||
o Re-inserted API requirements after discussion in the W3C webrtc | o Re-inserted API requirements after discussion in the W3C webrtc | |||
WG. (Re-phrased A15 and added A18 compared to version -02). | WG. (Re-phrased A15 and added A18 compared to version -02). | |||
Changes from draft-ietf-rtcweb-use-cases-and-requirements-02 | Changes from draft-ietf-rtcweb-use-cases-and-requirements-02 | |||
o Removed desrciption/list of API requirements, instead | o Removed description/list of API requirements, instead | |||
o Reference to W3C webrtc_reqs document for API requirements | o Reference to W3C webrtc_reqs document for API requirements | |||
Changes from draft-ietf-rtcweb-ucreqs-01 | Changes from draft-ietf-rtcweb-ucreqs-01 | |||
o Changed Intended status to Information | o Changed Intended status to Information | |||
o Changed "Ipr" to "trust200902" | o Changed "Ipr" to "trust200902" | |||
o Added use case "Simple video communication service, NAT/FW that | o Added use case "Simple video communication service, NAT/FW that | |||
skipping to change at page 25, line 45 | skipping to change at page 23, line 36 | |||
o Added text about ID handling to multiparty with central server use | o Added text about ID handling to multiparty with central server use | |||
case | case | |||
o Re-phrased A1 slightly | o Re-phrased A1 slightly | |||
Changes from draft-ietf-rtcweb-ucreqs-00 | Changes from draft-ietf-rtcweb-ucreqs-00 | |||
o - Reshuffled: Just two main groups of use cases (b2b and b2GW/ | o - Reshuffled: Just two main groups of use cases (b2b and b2GW/ | |||
Server); removed some specific use cases and added them instead as | Server); removed some specific use cases and added them instead as | |||
flavors to the base use case (Simple video communciation) | flavors to the base use case (Simple video communication) | |||
o - Changed the fromulation of F19 | o - Changed the formulation of F19 | |||
o - Removed the requirement on an API for DTMF | o - Removed the requirement on an API for DTMF | |||
o - Removed "FX3: There SHOULD be a mapping of the minimum needed | o - Removed "FX3: There SHOULD be a mapping of the minimum needed | |||
data for setting up connections into SIP, so that the restriction | data for setting up connections into SIP, so that the restriction | |||
to SIP-carriable data can be verified. Not a rew on the browser | to SIP-carriable data can be verified. Not a rew on the browser | |||
but rather on a document" | but rather on a document" | |||
o - (see http://www.ietf.org/mail-archive/web/rtcweb/current/ | o - (see http://www.ietf.org/mail-archive/web/rtcweb/current/ | |||
msg00227.html for more details) | msg00227.html for more details) | |||
o -Added text on informing user of that mic/cam is being used and | o -Added text on informing user of that mic/cam is being used and | |||
that it must be possible to revoce permission to use them in | that it must be possible to revoce permission to use them in | |||
skipping to change at page 26, line 41 | skipping to change at page 24, line 30 | |||
o - Additional security considerations text (Harald Alvestrand, | o - Additional security considerations text (Harald Alvestrand, | |||
090311) | 090311) | |||
o - Clarification that user applications are assumed to be executed | o - Clarification that user applications are assumed to be executed | |||
by a browser (Ted Hardie, 080311) | by a browser (Ted Hardie, 080311) | |||
o - Editorial corrections and clarifications | o - Editorial corrections and clarifications | |||
10. Normative References | 10. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | ||||
Requirement Levels", BCP 14, RFC 2119, March 1997. | ||||
[RFC2804] IAB IESG, "IETF Policy on Wiretapping", RFC 2804, May | [RFC2804] IAB IESG, "IETF Policy on Wiretapping", RFC 2804, May | |||
2000. | 2000. | |||
[RFC5405] Eggert, L. and G. Fairhurst, "Unicast UDP Usage Guidelines | [RFC5405] Eggert, L. and G. Fairhurst, "Unicast UDP Usage Guidelines | |||
for Application Designers", BCP 145, RFC 5405, November | for Application Designers", BCP 145, RFC 5405, November | |||
2008. | 2008. | |||
[RFC5479] Wing, D., Fries, S., Tschofenig, H., and F. Audet, | [RFC5479] Wing, D., Fries, S., Tschofenig, H., and F. Audet, | |||
"Requirements and Analysis of Media Security Management | "Requirements and Analysis of Media Security Management | |||
Protocols", RFC 5479, April 2009. | Protocols", RFC 5479, April 2009. | |||
End of changes. 121 change blocks. | ||||
289 lines changed or deleted | 181 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/ |