Mapping RTP streams to CLUE media captures
draft-even-clue-rtp-mapping-03
The information below is for an old version of the document.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Roni Even , Jonathan Lennox | ||
| Last updated | 2012-07-16 | ||
| Stream | (None) | ||
| Formats | plain text htmlized pdfized bibtex | ||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-even-clue-rtp-mapping-03
CLUE WG R. Even
Internet-Draft Huawei Technologies
Intended status: Standards Track J. Lennox
Expires: January 17, 2013 Vidyo
July 16, 2012
Mapping RTP streams to CLUE media captures
draft-even-clue-rtp-mapping-03.txt
Abstract
This document describes mechanisms and recommended practice for
mapping RTP media streams defined in SDP to CLUE media captures.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 17, 2013.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Even & Lennox Expires January 17, 2013 [Page 1]
Internet-Draft RTP mapping to CLUE July 2012
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. RTP topologies for CLUE . . . . . . . . . . . . . . . . . . . 3
4. Mapping CLUE Media Captures to RTP streams . . . . . . . . . . 5
4.1. Static Mapping . . . . . . . . . . . . . . . . . . . . . . 6
4.2. Dynamic mapping . . . . . . . . . . . . . . . . . . . . . 7
4.3. Recommendations . . . . . . . . . . . . . . . . . . . . . 7
5. Application to CLUE Media Requirements . . . . . . . . . . . . 7
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
9. Security Considerations . . . . . . . . . . . . . . . . . . . 10
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10.1. Normative References . . . . . . . . . . . . . . . . . . . 10
10.2. Informative References . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
Even & Lennox Expires January 17, 2013 [Page 2]
Internet-Draft RTP mapping to CLUE July 2012
1. Introduction
Telepresence systems can send and receive multiple media streams.
The CLUE framework [I-D.ietf-clue-framework] defines media captures
as a source of Media, such as from one or more Capture Devices. A
Media Capture (MC) may be the source of one or more Media streams. A
Media Capture may also be constructed from other Media streams. A
middle box can express Media Captures that it constructs from Media
streams it receives.
SIP offer answer [RFC3264] uses SDP [RFC4566] to describe the
RTP[RFC3550] media streams. Each RTP stream has a payload type
number and SSRC. The content of the RTP stream is created by the
encoder in the endpoint. This may be an original content from a
camera or a content created by an intermediary device like an MCU.
This document makes recommendations, for this telepresence
architecture, about how RTP and RTCP streams should be encoded and
transmitted, and how their relation to CLUE Media Captures should be
communicated. The proposed solution supports multiple RTP topologies
2. Terminology
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 RFC2119[RFC2119] and
indicate requirement levels for compliant RTP implementations.
3. RTP topologies for CLUE
The typical RTP topologies used by telepresence systems specify
different behaviors for RTP and RTCP distribution. The relevant
topologies include point-to-point, as well as media mixers, media-
switching mixers, and source-projection mixers.
In the point-to-point topology, one peer communicates directly with a
single peer over unicast. There can be one or more RTP sessions, and
each RTP session can carry multiple RTP streams identified by their
SSRC. All SSRCs will be recognized by the peers based on the
information in the RTCP SDES report that will include the CNAME and
SSRC of the sent RTP streams. There are different use point to point
ise cases as specified in CLUE use case
[I-D.ietf-clue-telepresence-use-cases]. There may be a difference
between the symmetric and asymmetric use cases. While in the
symmetric use case the typical mapping will be from a Media capture
device to a render device (e.g. camera to monitor) in the asymmetric
Even & Lennox Expires January 17, 2013 [Page 3]
Internet-Draft RTP mapping to CLUE July 2012
case the render device may receive different capture information (RTP
stream from a different camera) if it has fewer rendering devices
(monitors). In some cases, a CLUE session which, at a high-level, is
point-to-point may nonetheless have RTP which is best described by
one of the mixer topologies below. For example, a CLUE endpoint can
produce composited or switched captures for use by a receiving system
with fewer displays than the sender has cameras.
In the Media Mixer topology, the peers communicate only with the
mixer. The mixer provides mixed or composited media streams, using
its own SSRC for the sent streams. There are two cases here. In the
first case the mixer may have separate RTP sessions with each peer
(similar to the point to point topology) terminating the RTCP
sessions on the mixer; this is known as Topo-RTCP-Terminating MCU in
[RFC5117]. In the second case, the mixer can use a conference-wide
RTP session similar to RFC 5117's Topo-mixer or Topo-Video-switching.
The major difference is that for the second case, the mixer uses
conference-wide RTP sessions, and distributes the RTCP reports to all
the RTP session participants, enabling them to learn all the CNAMEs
and SSRCs of the participants and know the contributing source or
sources (CSRCs) of the original streams from the RTP header. In the
first case, the Mixer terminates the RTCP and the participants cannot
know all the available sources based on the RTCP information. The
conference roster information including conference participants,
endpoints, media and media-id (SSRC) can be available using the
conference event package [RFC4575] element.
In the Media-Switching Mixer topology, the peer to mixer
communication is unicast with mixer RTCP feedback. It is
conceptually similar to a compositing mixer as described in the
previous paragraph, except that rather than compositing or mixing
multiple sources, the mixer provides one or more conceptual sources
selecting one source at a time from the original sources. The Mixer
creates a conference-wide RTP session by sharing remote SSRC values
as CSRCs to all conference participants.
In the Source-Projection Mixer topology, the peer to mixer
communication is unicast with RTCP mixer feedback. Every potential
sender in the conference has a source which is "projected" by the
mixer into every other session in the conference; thus, every
original source is maintained with an independent RTP identity to
every receiver, maintaining separate decoding state and its original
RTCP SDES information. However, RTCP is terminated at the mixer,
which might also perform reliability, repair, rate adaptation, or
transcoding on the stream. Senders' SSRCs may be renumbered by the
mixer. The sender may turn the projected sources on and off at any
time, depending on which sources it thinks are most relevant for the
receiver; this is the primary reason why this topology must act as an
Even & Lennox Expires January 17, 2013 [Page 4]
Internet-Draft RTP mapping to CLUE July 2012
RTP mixer rather than as a translator, as otherwise these disabled
sources would appear to have enormous packet loss. Source switching
is accomplished through this process of enabling and disabling
projected sources, with the higher-level semantic assignment of
reason for the RTP streams assigned externally.
The above topologies demonstrate two major RTP/RTCP behaviors:
1. The mixer may either use the source SSRC when forwarding RTP
packets, or use its own created SSRC. Still the mixer will
distribute all RTCP information to all participants creating
conference-wide RTP session/s. This allows the participants to
learn the available RTP sources in each RTP session. The
original source information will be the SSRC or in the CSRC
depending on the topology. The point to point case behaves like
this.
2. The mixer terminates the RTCP from the source, creating separate
RTP sessions with the peers. In this case the participants will
not receive the source SSRC in the CSRC. Since this is usually a
mixer topology, the source information is available from the SIP
conference event package [RFC4575] Subscribing to the conference
event package allows each participant to know the SSRCs of all
sources in the conference.
4. Mapping CLUE Media Captures to RTP streams
The different topologies described in Section 3 support different
SSRC distribution models and RTP stream multiplexing points.
Most video conferencing systems today can separate multiple RTP
sources by placing them into separate RTP sessions using, the SDP
description. For example, main and slides video sources are
separated into separate RTP sessions based on the content attribute
[RFC4796]. This solution works straightforwardly if the multiplexing
point is at the UDP transport level, where each RTP stream uses a
separate RTP session. This will also be true for mapping the RTP
streams to Media Captures if each media capture uses a separate RTP
session, and the consumer can identify it based on the receiving RTP
port. In this case, SDP only needs to label the RTP session with an
identifier that identifies the media capture in the CLUE description.
In this case, it does not change the mapping even if the RTP session
is switched using same or different SSRC. (The multiplexing is not
at the SSRC level).
Even though Session multiplexing is supported by CLUE, for scaling
reasons, CLUE recommends using SSRC multiplexing in a single or
Even & Lennox Expires January 17, 2013 [Page 5]
Internet-Draft RTP mapping to CLUE July 2012
multiple sessions. So we need to look at how to map RTP streams to
Media Capture IDs when SSRC multiplexing is used.
When looking at SSRC multiplexing we can see that in various
topologies, the SSRC behavior may be different:
1. The SSRCs are static (assigned by the MCU/Mixer), and there is an
SSRC for each media capture encoding defined in the CLUE
protocol. Source information may be conveyed using CSRC, or, in
the case of topo-RTCP-Terminating MCU, is not conveyed.
2. The SSRCs are dynamic, representing the original source and are
relayed by the Mixer/MCU to the participants.
In the above two cases the MCU/Mixer creates its own advertisement,
with a virtual room capture scene.
Another case we can envision is that the MCU / Mixer relays all the
capture scenes from all advertisements to all consumers. This means
that the advertisement will include multiple capture scenes, each
representing a separate TP room with its own coordinate system. A
general tools for distributing roster information is by using an
event package, for example by extending the conference event package.
4.1. Static Mapping
Static mapping is widely used in current MCU implementations. It is
also common for a point to point symmetric use case when both
endpoints have the same capabilities. For capture encodings with
static SSRCs, it is most straightforward to indicate this mapping
outside the media stream, in the CLUE or SDP signaling. An SDP
source attribute [RFC5576] could be defined to associate CLUE capture
IDs with SSRCs in SDP. Each SSRC will have a captureID value that
will be specified also in the CLUE media capture as an attribute.
The provider advertisement could, if it wished, use the same SSRC for
media capture encodings that are mutually exclusive. (This would be
natural, for example, if two advertised captures are implemented as
different configurations of the same physical camera, zoomed in or
out.)
Note: there may be more than one RTP session for a media capture like
in simulcast. We still need to figure out how to describe it in SDP
and CLUE.
Another method for static mapping may be to use the provider
advertisement could to indicate the intended SSRC directly. The
advnatge of using the SDP SSRC attribute is that RFC5576 [RFC5576]
the issue of SSRC collision and provide guideline how to address
Even & Lennox Expires January 17, 2013 [Page 6]
Internet-Draft RTP mapping to CLUE July 2012
them.
4.2. Dynamic mapping
Dynamic mapping using RTP header extension is described in
draft-lennox-clue-rtp-usage [I-D.lennox-clue-rtp-usage]section 10.2.
The draft does not specify what is the capture id value. As
specified for the static case there should be a capture id attribute
in the CLUE media capture information to enable this mapping.
4.3. Recommendations
The recommendation is that endpoints MUST support both the static
declaration of capture encoding SSRCs, and the RTP header extension
method of sharing capture IDs, with the extension in every media
packet. For low bandwidth situations, this may be considered
excessive overhead; in which case endpoints MAY support the combined
approach from [I-D.lennox-clue-rtp-usage]. The SDP offer MAY specify
the SSRC mapping to media capture. In the case of static mapping
topologies there will be no need to use the header extensions in the
media, since the SSRC for the RTP stream will remain the same during
the call unless a collision is detected and handled according to
RFC5576 [RFC5576]. If the used topology uses dynamic mapping then
the RTP header extension will be used to indicate the RTP stream
switch for the media capture. In this case the SDP description may
be used to negotiate the initial SSRC but this will be left for the
implementation. Note that if the SSRC is defined explicitly in the
SDP the SSRC collision should be handled as in RFC5576.
5. Application to CLUE Media Requirements
[I-D.lennox-clue-rtp-usage] offers a number of requirements that are
believed to be necessary for a CLUE RTP mapping. The solutions
described in this document are believed to meet that requirement,
though some of them are only possible for some of the topologies.
(Since the requirements are generally of the form "it must be
possible for a sender to do something", this is adequate; a sender
which wishes to perform that action needs to choose a topology which
allows the behavior it wants.
In this section we address only those requirements where the
topologies or the association mechanisms treat the requirements
differently.
Media-4: It must be possible for an original source to move among
switched captures (i.e. at one time be sent for one switched capture,
and at a later time be sent for another one).
Even & Lennox Expires January 17, 2013 [Page 7]
Internet-Draft RTP mapping to CLUE July 2012
This applies naturally for static sources with a Switched Mixer. For
dynamic sources with a Source-Projecting Mixer, this just requires
the capture tag in the header extension element to be updated
appropriately.
Media-6: Whenever a given source is transmitted for a switched
capture, it must be immediately possible for a receiver to determine
the switched capture it corresponds to, and thus that any previous
source is no longer being mapped to that switched capture.
For a Switched Mixer, this applies naturally. For a Source-
Projecting mixer, this is done based on the header extension.
Media-7: It must be possible for a receiver to identify the original
source that is currently being mapped to a switched capture, and
correlate it with out-of-band (non-Clue) information such as rosters.
For a Switched Mixer, this is done based on the CSRC, if the mixer is
providing CSRCs; if for a Source-Projecting Mixer, this is done based
on the SSRC.
Media-8: It must be possible for a source to move among switched
captures without requiring a refresh of decoder state (e.g., for
video, a fresh I-frame), when this is unnecessary. However, it must
also be possible for a receiver to indicate when a refresh of decoder
state is in fact necessary.
This can be done by a Source-Projecting Mixer, but not by a Switching
Mixer. The last requirement can be accomplished through an FIR
message [RFC5104], though potentially a faster mechanism (not
requiring a round-trip time from the receiver) would be preferable.
Media-9: If a given source is being sent on the same transport flow
to satisfy more than one capture (e.g. if it corresponds to more than
one switched capture at once, or to a static capture as well as a
switched capture), it should be possible for a sender to send only
one copy of the source.
For a Source-Projecting Mixer, this can be accomplished by sending
multiple dynamic capture IDs for the same source; this can also be
done for an environment with a hybrid of mixer topologies and static
and dynamic captures, described below in Section 6. It is not
possible for static captures from a Switched Mixer.
Media-12: If multiple sources from a single synchronization context
are being sent simultaneously, it must be possible for a receiver to
associate and synchronize them properly, even for sources that are
are mapped to switched captures.
Even & Lennox Expires January 17, 2013 [Page 8]
Internet-Draft RTP mapping to CLUE July 2012
For a Mixed or Switched Mixer topology, receivers will see only a
single synchronization context (CNAME), corresponding to the mixer.
For a Source-Projecting Mixer, separate projecting sources keep
separate synchronization contexts based on their original CNAMEs,
thus allowing independent synchronization of sources from independent
rooms without needing global synchronization. In hybrid cases,
however (e.g. if audio is mixed), all sources which need to be
synchronized with the mixed audio must get the same CNAME (and thus a
mixer-provided timebase) as the mixed audio.
6. Examples
It is possible for a CLUE device to send multiple instances of the
topologies in Section 3 simultaneously. For example, an MCU which
uses a traditional audio bridge with switched video would be a Mixer
topology for audio, but a Switched Mixer or a Source-Projecting Mixer
for video. In the latter case, the audio could be sent as a static
source, whereas the video could be dynamic.
More notably, it is possible for an endpoint to send the same sources
both for static and dynamic captures. Consider the example in
Section 11.1 of [I-D.ietf-clue-framework], where an endpoint can
provide both three cameras (VC0, VC1, and VC2) for left, center, and
right views, as well as a switched view (VC3) of the loudest panel.
It is possible for a consumer to request both the (VC0 - VC2) set and
VC3. It is worth noting that the content of VC3 is, at all times,
exactly the content of one of VC0, VC1, or VC2. Thus, if the sender
uses the Source-Selection Mixer topology for VC3, the consumer that
receives these three sources would not need to send any additional
media traffic over just sending (VC0 - VC2).
In this case, the advertiser could describe VC0, VC1, and VC2 in its
initial advertisement or SDP with static SSRCs, whereas VC3 would
need to be dynamic. The role of VC3 would move among VC0, VC1, or
VC2, indicated by the RTP header extension on those streams' RTP
packets.
7. Acknowledgements
place holder
8. IANA Considerations
TBD
Even & Lennox Expires January 17, 2013 [Page 9]
Internet-Draft RTP mapping to CLUE July 2012
9. Security Considerations
TBD.
10. References
10.1. Normative References
[I-D.ietf-clue-framework]
Romanow, A., Duckworth, M., Pepperell, A., and B. Baldino,
"Framework for Telepresence Multi-Streams",
draft-ietf-clue-framework-05 (work in progress),
February 2012.
[I-D.lennox-clue-rtp-usage]
Lennox, J., Witty, P., and A. Romanow, "Real-Time
Transport Protocol (RTP) Usage for Telepresence Sessions",
draft-lennox-clue-rtp-usage-04 (work in progress),
June 2012.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
10.2. Informative References
[I-D.ietf-clue-telepresence-use-cases]
Romanow, A., Botzko, S., Duckworth, M., Even, R., and I.
Communications, "Use Cases for Telepresence Multi-
streams", draft-ietf-clue-telepresence-use-cases-02 (work
in progress), January 2012.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
June 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC4575] Rosenberg, J., Schulzrinne, H., and O. Levin, "A Session
Initiation Protocol (SIP) Event Package for Conference
State", RFC 4575, August 2006.
[RFC4796] Hautakorpi, J. and G. Camarillo, "The Session Description
Even & Lennox Expires January 17, 2013 [Page 10]
Internet-Draft RTP mapping to CLUE July 2012
Protocol (SDP) Content Attribute", RFC 4796,
February 2007.
[RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman,
"Codec Control Messages in the RTP Audio-Visual Profile
with Feedback (AVPF)", RFC 5104, February 2008.
[RFC5117] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117,
January 2008.
[RFC5576] Lennox, J., Ott, J., and T. Schierl, "Source-Specific
Media Attributes in the Session Description Protocol
(SDP)", RFC 5576, June 2009.
[RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description
Protocol (SDP) Grouping Framework", RFC 5888, June 2010.
[RFC6184] Wang, Y., Even, R., Kristensen, T., and R. Jesup, "RTP
Payload Format for H.264 Video", RFC 6184, May 2011.
[RFC6236] Johansson, I. and K. Jung, "Negotiation of Generic Image
Attributes in the Session Description Protocol (SDP)",
RFC 6236, May 2011.
Authors' Addresses
Roni Even
Huawei Technologies
Tel Aviv,
Israel
Email: even.roni@huawei.com
Jonathan Lennox
Vidyo, Inc.
433 Hackensack Avenue
Seventh Floor
Hackensack, NJ 07601
US
Email: jonathan@vidyo.com
Even & Lennox Expires January 17, 2013 [Page 11]