draft-ietf-rtcweb-use-cases-and-requirements-00.txt | draft-ietf-rtcweb-use-cases-and-requirements-01.txt | |||
---|---|---|---|---|
RTCWEB Working Group C. Holmberg | RTCWEB Working Group C. Holmberg | |||
Internet-Draft S. Hakansson | Internet-Draft S. Hakansson | |||
Intended status: Standards Track G. Eriksson | Intended status: Standards Track G. Eriksson | |||
Expires: December 29, 2011 Ericsson | Expires: January 5, 2012 Ericsson | |||
June 27, 2011 | July 4, 2011 | |||
Web Real-Time Communication Use-cases and Requirements | Web Real-Time Communication Use-cases and Requirements | |||
draft-ietf-rtcweb-use-cases-and-requirements-00.txt | draft-ietf-rtcweb-use-cases-and-requirements-01.txt | |||
Abstract | Abstract | |||
This document describes web based real-time communication use-cases. | This document describes web based real-time communication use-cases. | |||
Based on the use-cases, the document also derives requirements | Based on the use-cases, the document also derives requirements | |||
related to the browser, and the API used by web applications to | related to the browser, and the API used by web applications to | |||
request and control media stream services provided by the browser. | request and control media stream services provided by the browser. | |||
Status of this Memo | Status of this Memo | |||
skipping to change at page 1, line 34 | skipping to change at page 1, line 34 | |||
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, 2011. | This Internet-Draft will expire on January 5, 2012. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2011 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 14 | skipping to change at page 2, line 14 | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
4. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 4. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
4.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3 | 4.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
4.2. Browser-to-browser use-cases . . . . . . . . . . . . . . . 3 | 4.2. Browser-to-browser use-cases . . . . . . . . . . . . . . . 3 | |||
4.2.1. Simple Video Communication Service . . . . . . . . . . 3 | 4.2.1. Simple Video Communication Service . . . . . . . . . . 3 | |||
4.2.2. Simple video communication service with | 4.2.2. Simple Video Communication Service, access change . . 4 | |||
inter-operator calling . . . . . . . . . . . . . . . . 4 | 4.2.3. Simple Video Communication Service, QoS . . . . . . . 4 | |||
4.2.3. Hockey Game Viewer . . . . . . . . . . . . . . . . . . 5 | 4.2.4. Simple video communication service with | |||
4.2.4. Video Size Change . . . . . . . . . . . . . . . . . . 5 | inter-operator calling . . . . . . . . . . . . . . . . 5 | |||
4.3. Telephony use-cases . . . . . . . . . . . . . . . . . . . 5 | 4.2.5. Hockey Game Viewer . . . . . . . . . . . . . . . . . . 5 | |||
4.3.1. Telephony terminal . . . . . . . . . . . . . . . . . . 6 | 4.2.6. Multiparty video communication . . . . . . . . . . . . 6 | |||
4.3.2. Fedex Call . . . . . . . . . . . . . . . . . . . . . . 6 | 4.2.7. Multiparty on-line game with voice communication . . . 7 | |||
4.4. Video conferenceing use-cases . . . . . . . . . . . . . . 6 | 4.3. Browser - GW/Server use cases . . . . . . . . . . . . . . 7 | |||
4.4.1. Multiparty video communication . . . . . . . . . . . . 6 | 4.3.1. Telephony terminal . . . . . . . . . . . . . . . . . . 7 | |||
4.4.2. Video conferencing system with central server . . . . 7 | 4.3.2. Fedex Call . . . . . . . . . . . . . . . . . . . . . . 7 | |||
4.5. Embedded voice communicatoin use-cases . . . . . . . . . . 7 | 4.3.3. Video conferencing system with central server . . . . 8 | |||
4.5.1. Multiparty on-line game with voice communication . . . 7 | ||||
4.6. Bandwidth/QoS/mobility use-cases . . . . . . . . . . . . . 8 | ||||
4.6.1. NIC Change . . . . . . . . . . . . . . . . . . . . . . 8 | ||||
4.6.2. QoS Marking . . . . . . . . . . . . . . . . . . . . . 8 | ||||
5. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 5. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
5.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 5.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
5.2. Browser requirements . . . . . . . . . . . . . . . . . . . 9 | 5.2. Browser requirements . . . . . . . . . . . . . . . . . . . 9 | |||
5.3. API requirements . . . . . . . . . . . . . . . . . . . . . 11 | 5.3. API requirements . . . . . . . . . . . . . . . . . . . . . 11 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | |||
7.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 13 | 7.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
7.2. Browser Considerations . . . . . . . . . . . . . . . . . . 13 | 7.2. Browser Considerations . . . . . . . . . . . . . . . . . . 13 | |||
7.3. Web Application Considerations . . . . . . . . . . . . . . 13 | 7.3. Web Application Considerations . . . . . . . . . . . . . . 13 | |||
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
9. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 9. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . . 14 | 10.1. Normative References . . . . . . . . . . . . . . . . . . . 14 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . . 14 | 10.2. Informative References . . . . . . . . . . . . . . . . . . 15 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
1. Introduction | 1. Introduction | |||
This document presents a few use-case of web applications that are | This document presents a few use-case 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. | |||
Based on the use-cases, the document derives requirements related to | Based on the use-cases, the document derives requirements related to | |||
the browser and the API used by web applications in the browser. | the browser and the API used by web applications in the browser. | |||
The document focuses on requirements related to real-time media | The document focuses on requirements related to real-time media | |||
streams. Requirements related to privacy, signalling between the | streams. Requirements related to privacy, signalling between the | |||
skipping to change at page 4, line 4 | skipping to change at page 4, line 4 | |||
In the service the users have loaded, and logged into, a video | In the service the users have loaded, and logged into, a video | |||
communication web application into their browsers, provided by the | communication web application into their browsers, provided by the | |||
same service provider. The web service publishes information about | same service provider. The web service publishes information about | |||
user login status, by pushing updates to the web application in the | user login status, by pushing updates to the web application in the | |||
browsers. By selecting an online peer user, a 1-1 video | browsers. By selecting an online peer user, a 1-1 video | |||
communication session between the browsers of the peers is initiated. | communication session between the browsers of the peers is initiated. | |||
The invited user might accept or reject the session. | The invited user might accept or reject the session. | |||
When the session has been established, a self-view, as well as the | When the session has been established, a self-view, as well as the | |||
video sent from the remote peer, are displayed. The users can change | video sent from the remote peer, are displayed. The users can change | |||
the display sizes during the session. The users can also pause | the sizes of the video displays during the session. The users can | |||
sending of media (audio, video, or both), and mute incoming media. | also pause sending of media (audio, video, or both), and mute | |||
incoming media. | ||||
Any session participant can end the session at any time. | Any session participant can end the session at any time. | |||
One participant has an unreliable internet connection. It sometimes | The users are using communication devices of different makes, with | |||
has packet losses, and is sometimes goes down completely. | different Operating Systems and Browsers from different vendors. | |||
One participant is located behind a Network Address Translator (NAT). | One user has an unreliable internet connection. It sometimes has | |||
packet losses, and is sometimes goes down completely. | ||||
One user is located behind a Network Address Translator (NAT). | ||||
4.2.1.2. Derived Requirements | 4.2.1.2. Derived Requirements | |||
F1, F2, F3, F4, F5, F6, F8, F9, F10, F22 | F1, F2, F3, F4, F5, F6, F8, F9, F10, F22, F25 | |||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13 | A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13 | |||
4.2.2. Simple video communication service with inter-operator calling | 4.2.2. Simple Video Communication Service, access change | |||
4.2.2.1. Description | 4.2.2.1. Description | |||
This use case is almost identical to the previos one. The difference | ||||
is that the user changes network access during the session: | ||||
The communication device used byt one of the users have several | ||||
network adapters (Ethernet, WiFi, Cellular). The communication | ||||
device is access the internet using Ethernet, but the user has to | ||||
start a trip during the session. The communication device | ||||
automatically changes to use WiFi when the ethernet cable is removed | ||||
and then moves to cellular access to the internet when moving out of | ||||
WiFi coverage. The session continues even though the access method | ||||
changes. | ||||
4.2.2.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F6, F8, F9, F10, F22, F23, F25 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13 | ||||
4.2.3. Simple Video Communication Service, QoS | ||||
4.2.3.1. Description | ||||
This use case is almost identical to the previos one. The use of QoS | ||||
capabilities is added: | ||||
The user in the previous use case that starts a trip is behind a | ||||
common residential router that supports prioritization of traffic. | ||||
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 | ||||
when accessing via the residential router and when using cellular. | ||||
4.2.3.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F6, F8, F9, F10, F21, F22, F23, F25 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13 | ||||
4.2.4. Simple video communication service with inter-operator calling | ||||
4.2.4.1. Description | ||||
Two users have logged into two different web applications, provided | Two users have logged into two different web applications, provided | |||
by different service providers. | by different service providers. | |||
The service providers are interconnected by some means, but exchange | The service providers are interconnected by some means, but exchange | |||
no more information about the users than what can be carried using | no more information about the users than what can be carried using | |||
SIP. | SIP. | |||
NOTE: More profiling of what this means may be needed. | NOTE: More profiling of what this means may be needed. | |||
Each web service publishes information about user login status for | Each web service publishes information about user login status for | |||
users that have a relationship with the other user; how this is | users that have a relationship with the other user; how this is | |||
established is out of scope. | established is out of scope. | |||
The same functionality as in the "Simple Video Communication Service" | The same functionality as in the "Simple Video Communication Service" | |||
is available. | is available. | |||
The same issues with connectivity apply. | The same issues with connectivity apply. | |||
4.2.2.2. Derived requirements | 4.2.4.2. Derived requirements | |||
F24: The browser MUST be able to initiate and accept a media session | ||||
where the data needed for establishment can be carried in SIP. | ||||
F25: The browser MUST support a baseline audio and video codec | F1, F2, F3, F4, F5, F6, F8, F9, F10, F22, F25 | |||
(FX3: There SHOULD be a mapping of the minimum needed data for | A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13 | |||
setting up connections into SIP, so that the restriction to SIP- | ||||
carriable data can be verified. Not a rew on the browser but rather | ||||
on a document) | ||||
4.2.3. Hockey Game Viewer | 4.2.5. Hockey Game Viewer | |||
4.2.3.1. Description | 4.2.5.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 for viewing the game and discussing | The club manager uses a desktop for viewing the game and discussing | |||
with the talent scout. The video stream captured by the front facing | with the talent scout. The video stream captured by the front facing | |||
camera (that is capturing the game) of the mobile phone is shown in a | camera (that is capturing the game) of the mobile phone is shown in a | |||
big window on the desktop screen, while a thumbnail of the rear | big window on the desktop screen, while a thumbnail of the rear | |||
facing camera is overlaid. | facing camera is overlaid. | |||
Most of the mobile phone screen is covered by a self view of the | Most of the mobile phone screen is covered by a self view of the | |||
front facing camera. A thumbnail of the rear facing cameras view is | front facing camera. A thumbnail of the rear facing cameras view is | |||
overlaid. | overlaid. | |||
4.2.3.2. Derived Requirements | 4.2.5.2. Derived Requirements | |||
F1, F2, F3, F4, F5, F6, F8, F9, F10, F14 | F1, F2, F3, F4, F5, F6, F8, F9, F10, F14 | |||
A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A13, A15 | A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A13, A15 | |||
4.2.4. Video Size Change | 4.2.6. Multiparty video communication | |||
4.2.4.1. Description | 4.2.6.1. Description | |||
Alice and Bob are in a video call in their browsers and have | In this use case the simple video communication service is extended | |||
negotiate a high resolution video. Bob decides to change the size of | by allowing multiparty sessions. No central server is involved - the | |||
the windows his browser is displaying video to a small size. | browser of each participant sends and receives streams to and from | |||
all other session participants. The web application in the browser | ||||
of each user is responsible for setting up streams to all receivers. | ||||
Bob's browser regenerates the video codec paramters with Alice's | The audio sent by each participant is a mono stream. However, in | |||
browser to change the resolution of the video Alice sends to match | order to enhance intelligibility, the web application pans the audio | |||
the smaller size. | from different participants differently when rendering the audio. | |||
This is done automatically, but users can change how the different | ||||
participants are placed in the (virtual) room. | ||||
4.2.4.2. Derived Requirements | Each video stream received is by default displayed in a thumbnail | |||
frame within the browser, but users can change the display size. | ||||
F22 ( It SHOULD be possible to modify video codec parameters during a | Note: What this uses case adds in terms of requirements is | |||
session.) | capabilities to send streams to and receive streams from several | |||
peers concurrently, as well as the capabilities to render the video | ||||
from all recevied streams and be able to spatialize and mix the audio | ||||
from all received streams locally in the browser. | ||||
4.2.6.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F6, F8, F9, F10, F11, F12, F13, F14, F22 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15 | ||||
4.2.7. Multiparty on-line game with voice communication | ||||
4.2.7.1. Description | ||||
In this use-case, the voice part of the multiparty video | ||||
communication application is used in the context of an on-line game. | ||||
The received voice audio media is 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 played to the user together with | ||||
the voice media. | ||||
Quick updates of the game state is required. | ||||
Note: the difference regarding local audio processing compared to the | ||||
"Multiparty video communication" use case is that other sound objects | ||||
than the streams must be possible to be included in the | ||||
spatialization and mixing. "Other sound objects" could for example a | ||||
file with the sound of the tank, that file could be stored locally or | ||||
remotely. | ||||
4.2.7.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F6, F8, F9, F11, F12, F13, F15, F20 | ||||
A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16 | ||||
4.3. Browser - GW/Server use cases | ||||
4.3. Telephony use-cases | ||||
4.3.1. Telephony terminal | 4.3.1. Telephony terminal | |||
4.3.1.1. Description | 4.3.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 will be shown | phone. When a call is received or placed, the identity will be shown | |||
in the same manner as when a mobile phone used. | in the same manner as when a mobile phone used. | |||
4.3.1.2. Derived Requirements | 4.3.1.2. Derived Requirements | |||
F1, F2, F3, F4, F5, F6, F8, F9, F10, F18, F19 | F1, F2, F3, F4, F5, F6, F8, F9, F10, F18 | |||
A1, A2, A3, A4, A7, A8, A9, A10, A11, A12, A13, A16 | A1, A2, A3, A4, A7, A8, A9, A10, A11, A12, A13 | |||
4.3.2. Fedex Call | 4.3.2. Fedex Call | |||
4.3.2.1. Description | 4.3.2.1. Description | |||
Alice uses her web browser with a service something like Skype to be | Alice uses her web browser with a service something like Skype to be | |||
able to phone PSTN numbers. Alice calls 1-800-gofedex. Alice should | able to phone PSTN numbers. Alice calls 1-800-gofedex. Alice should | |||
be able to hear the initial prompts from the fedex IVR and when the | be able to hear the initial prompts from the fedex IVR and when the | |||
IVR says press 1, there should be a way for Alice to navigate the | IVR says press 1, there should be a way for Alice to navigate the | |||
IVR. | IVR. | |||
4.3.2.2. Derived Requirements | 4.3.2.2. Derived Requirements | |||
skipping to change at page 6, line 32 | skipping to change at page 8, line 14 | |||
4.3.2.1. Description | 4.3.2.1. Description | |||
Alice uses her web browser with a service something like Skype to be | Alice uses her web browser with a service something like Skype to be | |||
able to phone PSTN numbers. Alice calls 1-800-gofedex. Alice should | able to phone PSTN numbers. Alice calls 1-800-gofedex. Alice should | |||
be able to hear the initial prompts from the fedex IVR and when the | be able to hear the initial prompts from the fedex IVR and when the | |||
IVR says press 1, there should be a way for Alice to navigate the | IVR says press 1, there should be a way for Alice to navigate the | |||
IVR. | IVR. | |||
4.3.2.2. Derived Requirements | 4.3.2.2. Derived Requirements | |||
F19 (DTMF) | F1, F2, F3, F4, F5, F6, F8, F9, F10, F18, F19 | |||
A16 (DTMF API) | ||||
4.4. Video conferenceing use-cases | ||||
4.4.1. Multiparty video communication | ||||
4.4.1.1. Description | ||||
In this use case the simple video communication service is extended | ||||
by allowing multiparty sessions. No central server is involved - the | ||||
browser of each participant sends and receives streams to and from | ||||
all other session participants. | ||||
The audio sent by each participant is a mono stream. However, in | ||||
order to enhance intelligibility, the web application pans the audio | ||||
from different participants differently when rendering the audio. | ||||
This is done automatically, but users can change how the different | ||||
participants are placed in the (virtual) room. | ||||
Each video stream received is by default displayed in a thumbnail | ||||
frame within the browser, but users can change the display size. | ||||
4.4.1.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F6, F8, F9, F10, F11, F12, F13, F14 | ||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15 | A1, A2, A3, A4, A7, A8, A9, A10, A11, A12, A13 | |||
4.4.2. Video conferencing system with central server | 4.3.3. Video conferencing system with central server | |||
4.4.2.1. Description | 4.3.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 browsers of all participants send an audio stream (mono or stereo | The browsers of all participants send an audio stream (mono or stereo | |||
depending on the equipment of a participant) to the central server. | depending on the equipment of a participant) to the central server. | |||
The central server mixes the audio streams and sends towards the | The central server mixes the audio streams and sends towards the | |||
participants a mixed stereo stream. | participants a mixed stereo audio stream. | |||
All participants send two video streams towards the server, one low | Each participant sends two video streams in a simulcast fashion | |||
resolution and one high resolution. At each participant one high | towards the server, one low resolution and one high resolution. At | |||
resolution video is displayed in a large window, while a number of | each participant one high resolution video is displayed in a large | |||
low resolution videos are displayed in smaller windows. The server | window, while a number of low resolution videos are displayed in | |||
selects what video streams to be forwarded as main- and thumbnail | smaller windows. The server selects what video streams to be | |||
videos, based on speech activity. | forwarded as main- and thumbnail videos, based on speech activity. | |||
As the video streams to display can change quite frequently (as the | ||||
conversation flows) it is important that the delay from when a video | ||||
stream is selected for display until the video can be displayed is | ||||
short. | ||||
The organization has an internal network set up with an aggressive | The organization has an internal network set up with an aggressive | |||
firewall handling access to the internet. If users can not | firewall handling access to the internet. If users can not | |||
physically access the internal network, they can establish a Virtual | physically access the internal network, they can establish a Virtual | |||
Private Network (VPN). | Private Network (VPN). | |||
It is essential that the communication can not be eavesdropped. | It is essential that the communication can not be eavesdropped. | |||
4.4.2.2. Derived Requirements | Note: This use case adds requirements on support for fast stream | |||
switches F7, on encryption of media and on ability to traverse very | ||||
restrictive FWs. It also introduces simulcast, but no concrete | ||||
requirement is put for this. | ||||
4.3.3.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F14, F16, F17 | F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F14, F16, F17 | |||
A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A13, A15 | A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A13, A15 | |||
4.5. Embedded voice communicatoin use-cases | ||||
4.5.1. Multiparty on-line game with voice communication | ||||
4.5.1.1. Description | ||||
In this use-case, the voice part of the multiparty video | ||||
communication application is used in the context of an on-line game. | ||||
The received voice audio media is 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 played to the user together with | ||||
the voice media. | ||||
Quick updates of the game state is required. | ||||
4.5.1.2. Derived Requirements | ||||
F1, F2, F3, F4, F5, F6, F8, F9, F11, F12, F13, F15, F20 | ||||
A1, A2, A3, A4, A5, A7, A8, A9, A10, A11, A12, A13, A14, A15, A17 | ||||
4.6. Bandwidth/QoS/mobility use-cases | ||||
4.6.1. NIC Change | ||||
4.6.1.1. Description | ||||
Alice is using her notebook computer that is plugged in to 1G | ||||
ethernet and has 802.11 wireless interface. Alice is in a call | ||||
talking with Bob and decides to unplug her notebook computer and walk | ||||
down to a different room, and continue the call from there. | ||||
4.6.1.2. Derived Requirements | ||||
F23: It MUST be possible to move from one network interface to | ||||
another one. | ||||
4.6.2. QoS Marking | ||||
4.6.2.1. Description | ||||
Alice's browser is on a computer behind a common residential router | ||||
that supports prioritization of traffic. | ||||
F21: The browser MUST be able to take advantage of capabilities to | ||||
prioritize voice and video appropriately. | ||||
4.6.2.2. Derived Requirements | ||||
F19: (DTMF) | ||||
5. Requirements | 5. Requirements | |||
5.1. General | 5.1. General | |||
This section contains requirements, derived from the use-cases in | This section contains requirements, derived from the use-cases in | |||
section 4. | section 4. | |||
NOTE: It is assumed that the user applications are executed on a | NOTE: It is assumed that the user applications are executed on a | |||
browser. Whether the capabilities to implement specific browser | browser. Whether the capabilities to implement specific browser | |||
requirements are implemented by the browser application, or are | requirements are implemented by the browser application, or are | |||
skipping to change at page 10, line 41 | skipping to change at page 10, line 51 | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F17 It MUST be possible to protect streams from | F17 It MUST be possible to protect streams from | |||
eavesdropping. | eavesdropping. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F18 The browser MUST support an audio media format | F18 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. | |||
QUESTION: G.711? | QUESTION: G.711? | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F19 The browser must be able to insert DTMF signals | F19 there should be a way to navigate | |||
in a media stream | the IVR | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F20 The browser must be able to send short | F20 The browser must be able to send short | |||
latency datagram traffic to a peer browser | latency datagram traffic to a peer browser | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F21 The browser MUST be able to take advantage of | F21 The browser MUST be able to take advantage of | |||
capabilities to prioritize voice and video | capabilities to prioritize voice and video | |||
appropriately. | appropriately. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
F22 The browser SHOULD use encoding of streams | F22 The browser SHOULD use encoding of streams | |||
suitable for the current rendering (e.g. | suitable for the current rendering (e.g. | |||
skipping to change at page 12, line 31 | skipping to change at page 12, line 40 | |||
A12 The web application MUST be informed when a | A12 The web application MUST be informed when a | |||
stream from a peer is no longer received. | stream from a peer is no longer received. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
A13 The web application MUST be informed when high | A13 The web application MUST be informed when high | |||
loss rates occur. | loss rates occur. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
A14 It MUST be possible for the web application to | A14 It MUST be possible for the web application to | |||
control panning, mixing and other processing for | control panning, mixing and other processing for | |||
individual streams. | individual streams. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
A15 The web application MUST be able to identity the | A15 The web application MUST be able to identify the | |||
context of a stream. | context of a stream. | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
A16 It MUST be possible for the web application to | A16 It MUST be possible for the web application to | |||
order the browser to insert DTMF tones in a stream | ||||
---------------------------------------------------------------- | ||||
A17 It MUST be possible for the web application to | ||||
send and receive datagrams to/from peer | send and receive datagrams to/from peer | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
6. IANA Considerations | 6. IANA Considerations | |||
TBD | TBD | |||
7. Security Considerations | 7. Security Considerations | |||
7.1. Introduction | 7.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. | |||
Based on the identified security risks, this section will describe | Based on the identified security risks, this section will describe | |||
security considerations for the browser and web application. | security considerations for the browser and web application. | |||
skipping to change at page 13, line 19 | skipping to change at page 13, line 22 | |||
and accept incoming, streams on an already established connection. | and accept incoming, streams on an already established connection. | |||
Based on the identified security risks, this section will describe | Based on the identified security risks, this section will describe | |||
security considerations for the browser and web application. | security considerations for the browser and web application. | |||
7.2. Browser Considerations | 7.2. Browser Considerations | |||
The browser is expected to provide mechanisms for getting user | The browser is expected to provide mechanisms for getting user | |||
consent to use device resources such as camera and microphone. | consent to use device resources such as camera and microphone. | |||
The browser is expected to provide mechanisms for informing the user | ||||
that device resources such as camera and microphone are in use. | ||||
The browser is expected to provide mechanisms for users to revice | ||||
consent to use device resources such as camera and microphone. | ||||
The browser is expected to provide mechanisms in order to assure that | The browser is expected to provide mechanisms in order to assure that | |||
streams are the ones the recipient intended to receive. | streams are the ones the recipient intended to receive. | |||
The browser is needs to ensure that media is not sent, and that | The browser is needs to ensure that media is not sent, and that | |||
received media is not rendered, until the associated stream | received media is not rendered, until the associated stream | |||
establishment and handshake procedures with the remote peer have been | establishment and handshake procedures with the remote peer have been | |||
successfully finished. | successfully finished. | |||
The browser needs to ensure that the stream negotiation procedures | The browser needs to ensure that the stream negotiation procedures | |||
are not seen as Denial Of Service (DOS) by other entities. | are not seen as Denial Of Service (DOS) by other entities. | |||
skipping to change at page 14, line 4 | skipping to change at page 14, line 11 | |||
Harald Alvestrand and Cullen Jennings have provided additional use- | Harald Alvestrand and Cullen Jennings have provided additional use- | |||
cases. | cases. | |||
Thank You to everyone in the RTCWEB community that have provided | Thank You to everyone in the RTCWEB community that have provided | |||
comments, feedback and improvement proposals on the draft content. | 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-ucreqs-00 | ||||
o - Reshuffled: Just two main groups of use cases (b2b and b2GW/ | ||||
Server); removed some specific use cases and added them instead as | ||||
flavors to the base use case (Simple video communciation) | ||||
o - Changed the fromulation of F19 | ||||
o - Removed the requirement on an API for DTMF | ||||
o - Removed "FX3: There SHOULD be a mapping of the minimum needed | ||||
data for setting up connections into SIP, so that the restriction | ||||
to SIP-carriable data can be verified. Not a rew on the browser | ||||
but rather on a document" | ||||
o - (see | ||||
http://www.ietf.org/mail-archive/web/rtcweb/current/msg00227.html | ||||
for more details) | ||||
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 | ||||
section 7. | ||||
Changes from draft-holmberg-rtcweb-ucreqs-01 | Changes from draft-holmberg-rtcweb-ucreqs-01 | |||
o - Draft name changed to draft-ietf-rtcweb-ucreqs | o - Draft name changed to draft-ietf-rtcweb-ucreqs | |||
o - Use-case grouping introduced | o - Use-case grouping introduced | |||
o - Additional use-cases added | o - Additional use-cases added | |||
o - Additional reqs added (derived from use cases): F19-F25, A16-A17 | o - Additional reqs added (derived from use cases): F19-F25, A16-A17 | |||
Changes from draft-holmberg-rtcweb-ucreqs-00 | Changes from draft-holmberg-rtcweb-ucreqs-00 | |||
o - Mapping between use-cases and requirements added (Harald | o - Mapping between use-cases and requirements added (Harald | |||
Alvestrand, 090311) | Alvestrand, 090311) | |||
o - Additional security considerations text (Harald Alvestrand, | o - Additional security considerations text (Harald Alvestrand, | |||
End of changes. 43 change blocks. | ||||
151 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/ |