draft-ietf-avtcore-rtp-topologies-update-06.txt   draft-ietf-avtcore-rtp-topologies-update-07.txt 
Network Working Group M. Westerlund Network Working Group M. Westerlund
Internet-Draft Ericsson Internet-Draft Ericsson
Obsoletes: 5117 (if approved) S. Wenger Obsoletes: 5117 (if approved) S. Wenger
Intended status: Informational Vidyo Intended status: Informational Vidyo
Expires: September 3, 2015 March 2, 2015 Expires: October 12, 2015 April 10, 2015
RTP Topologies RTP Topologies
draft-ietf-avtcore-rtp-topologies-update-06 draft-ietf-avtcore-rtp-topologies-update-07
Abstract Abstract
This document discusses point to point and multi-endpoint topologies This document discusses point to point and multi-endpoint topologies
used in Real-time Transport Protocol (RTP)-based environments. In used in Real-time Transport Protocol (RTP)-based environments. In
particular, centralized topologies commonly employed in the video particular, centralized topologies commonly employed in the video
conferencing industry are mapped to the RTP terminology. conferencing industry are mapped to the RTP terminology.
This document is updated with additional topologies and replaces RFC This document is updated with additional topologies and replaces RFC
5117. 5117.
skipping to change at page 1, line 37 skipping to change at page 1, line 37
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 September 3, 2015. This Internet-Draft will expire on October 12, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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 31 skipping to change at page 2, line 31
3.3.2. Source Specific Multicast (SSM) . . . . . . . . . . . 12 3.3.2. Source Specific Multicast (SSM) . . . . . . . . . . . 12
3.3.3. SSM with Local Unicast Resources . . . . . . . . . . 14 3.3.3. SSM with Local Unicast Resources . . . . . . . . . . 14
3.4. Point to Multipoint Using Mesh . . . . . . . . . . . . . 16 3.4. Point to Multipoint Using Mesh . . . . . . . . . . . . . 16
3.5. Point to Multipoint Using the RFC 3550 Translator . . . . 19 3.5. Point to Multipoint Using the RFC 3550 Translator . . . . 19
3.5.1. Relay - Transport Translator . . . . . . . . . . . . 19 3.5.1. Relay - Transport Translator . . . . . . . . . . . . 19
3.5.2. Media Translator . . . . . . . . . . . . . . . . . . 20 3.5.2. Media Translator . . . . . . . . . . . . . . . . . . 20
3.6. Point to Multipoint Using the RFC 3550 Mixer Model . . . 21 3.6. Point to Multipoint Using the RFC 3550 Mixer Model . . . 21
3.6.1. Media Mixing Mixer . . . . . . . . . . . . . . . . . 23 3.6.1. Media Mixing Mixer . . . . . . . . . . . . . . . . . 23
3.6.2. Media Switching . . . . . . . . . . . . . . . . . . . 26 3.6.2. Media Switching . . . . . . . . . . . . . . . . . . . 26
3.7. Selective Forwarding Middlebox . . . . . . . . . . . . . 28 3.7. Selective Forwarding Middlebox . . . . . . . . . . . . . 28
3.8. Point to Multipoint Using Video Switching MCUs . . . . . 31 3.8. Point to Multipoint Using Video Switching MCUs . . . . . 32
3.9. Point to Multipoint Using RTCP-Terminating MCU . . . . . 33 3.9. Point to Multipoint Using RTCP-Terminating MCU . . . . . 33
3.10. Split Component Terminal . . . . . . . . . . . . . . . . 34 3.10. Split Component Terminal . . . . . . . . . . . . . . . . 34
3.11. Non-Symmetric Mixer/Translators . . . . . . . . . . . . . 37 3.11. Non-Symmetric Mixer/Translators . . . . . . . . . . . . . 37
3.12. Combining Topologies . . . . . . . . . . . . . . . . . . 37 3.12. Combining Topologies . . . . . . . . . . . . . . . . . . 37
4. Topology Properties . . . . . . . . . . . . . . . . . . . . . 38 4. Topology Properties . . . . . . . . . . . . . . . . . . . . . 38
4.1. All to All Media Transmission . . . . . . . . . . . . . . 38 4.1. All to All Media Transmission . . . . . . . . . . . . . . 38
4.2. Transport or Media Interoperability . . . . . . . . . . . 39 4.2. Transport or Media Interoperability . . . . . . . . . . . 39
4.3. Per Domain Bit-Rate Adaptation . . . . . . . . . . . . . 39 4.3. Per Domain Bit-Rate Adaptation . . . . . . . . . . . . . 39
4.4. Aggregation of Media . . . . . . . . . . . . . . . . . . 40 4.4. Aggregation of Media . . . . . . . . . . . . . . . . . . 40
4.5. View of All Session Participants . . . . . . . . . . . . 40 4.5. View of All Session Participants . . . . . . . . . . . . 40
skipping to change at page 30, line 9 skipping to change at page 30, line 9
endpoints, then only two out of these five SSRCs need concurrently endpoints, then only two out of these five SSRCs need concurrently
transmit media to A. As the middlebox selects the source in the transmit media to A. As the middlebox selects the source in the
different RTP sessions that transmit media to the endpoints, each RTP different RTP sessions that transmit media to the endpoints, each RTP
stream requires rewriting of certain RTP header fields when being stream requires rewriting of certain RTP header fields when being
projected from one session into another. In particular, the sequence projected from one session into another. In particular, the sequence
number needs to be consecutively incremented based on the packet number needs to be consecutively incremented based on the packet
actually being transmitted in each RTP session. Therefore, the RTP actually being transmitted in each RTP session. Therefore, the RTP
sequence number offset will change each time a source is turned on in sequence number offset will change each time a source is turned on in
a RTP session. The timestamp (possibly offset) stays the same. a RTP session. The timestamp (possibly offset) stays the same.
As the RTP sessions are independent, the SSRC numbers used can also The RTP sessions can be considered independent, the SSRC numbers used
be handled independently, thereby bypassing the requirement for SSRC can also be handled independently, thereby bypassing the requirement
collision detection and avoidance. On the other hand, tools such as for SSRC collision detection and avoidance. This will require tools
remapping tables between the RTP sessions are required. For example, such as remapping tables between the RTP sessions.However, using
the RTP stream that is being sent by endpoint B to the middlebox independent RTP sessions are not required, the switching behavior is
(BV1) may use an SSRC value of 12345678. When that RTP stream is possible to perform also with a common SSRC space. However, in this
sent to endpoint F by the middlebox, it can use any SSRC value, e.g. case collision detection and handling becomes a different problem.
Therefore, it is up to the implementation to use a single common SSRC
space or separate ones.
Using separate SSRC spaces have some implications. For example, the
RTP stream that is being sent by endpoint B to the middlebox (BV1)
may use an SSRC value of 12345678. When that RTP stream is sent to
endpoint F by the middlebox, it can use any SSRC value, e.g.
87654321. As a result, each endpoint may have a different view of 87654321. As a result, each endpoint may have a different view of
the application usage of a particular SSRC. Any RTP level identity the application usage of a particular SSRC. Any RTP level identity
information, such as SDES items also needs to update the SSRC information, such as SDES items also needs to update the SSRC
referenced, if the included SDES items are intended to be global. referenced, if the included SDES items are intended to be global.
Thus the application must not use SSRC as references to RTP streams Thus the application must not use SSRC as references to RTP streams
when communicating with other peers directly. This also affects loop when communicating with other peers directly. This also affects loop
detection which will fail to work, as there is no common namespace detection which will fail to work, as there is no common namespace
and identities across the different legs in the communication session and identities across the different legs in the communication session
on RTP level. Instead this responsibility falls onto higher layers. on RTP level. Instead this responsibility falls onto higher layers.
The middlebox is also responsible to receive any RTCP codec control The middlebox is also responsible to receive any RTCP codec control
requests coming from an endpoint, and decide if it can act on the requests coming from an endpoint, and decide if it can act on the
request locally or needs to translate the request into the RTP request locally or needs to translate the request into the RTP
session that contains the media source. Both endpoints and the session/transport leg that contains the media source. Both endpoints
middlebox need to implement conference related codec control and the middlebox need to implement conference related codec control
functionalities to provide a good experience. Commonly used are Full functionalities to provide a good experience. Commonly used are Full
Intra Request to request from the media source to provide switching Intra Request to request from the media source to provide switching
points between the sources, and Temporary Maximum Media Bit-rate points between the sources, and Temporary Maximum Media Bit-rate
Request (TMMBR) to enable the middlebox to aggregate congestion Request (TMMBR) to enable the middlebox to aggregate congestion
control responses towards the media source so to enable it to adjust control responses towards the media source so to enable it to adjust
its bit-rate (obviously only in case the limitation is not in the its bit-rate (obviously only in case the limitation is not in the
source to middlebox link). source to middlebox link).
The selective forwarding middlebox has been introduced in recently The selective forwarding middlebox has been introduced in recently
developed videoconferencing systems in conjunction with, and to developed videoconferencing systems in conjunction with, and to
skipping to change at page 31, line 23 skipping to change at page 31, line 30
streams providing media. As each projected SSRC can, at any time, streams providing media. As each projected SSRC can, at any time,
provide media, the endpoint either needs to be able to handle as many provide media, the endpoint either needs to be able to handle as many
decoder instances as the middlebox received, or have efficient decoder instances as the middlebox received, or have efficient
switching of decoder contexts in a more limited set of actual decoder switching of decoder contexts in a more limited set of actual decoder
instances to cope with the switches. The application also gets more instances to cope with the switches. The application also gets more
responsibility to update how the media provided is to be presented to responsibility to update how the media provided is to be presented to
the user. the user.
Note that this topology could potentially be seen as a media Note that this topology could potentially be seen as a media
translator which include an on/off logic as part of its media translator which include an on/off logic as part of its media
translation. The main difference would be a common global SSRC space translation. The topology has the property that all SSRCs present in
in the case of the Media Translator and the mapped one used in the the session are visible to an endpoint. It also has mixer aspects,
above. It also has mixer aspects, as the streams it provides are not as the streams it provides are not basically translated version, but
basically translated version, but instead they have conceptual instead they have conceptual property assigned to them and can be
property assigned to them. Thus this topology appears to be some both turned on/off as well as being fully or partially delivered.
hybrid between the translator and mixer model. Thus this topology appears to be some hybrid between the translator
and mixer model.
The differences between selective forwarding middlebox and a The differences between selective forwarding middlebox and a
switching mixer (Section 3.6.2) are minor, and they share most switching mixer (Section 3.6.2) are minor, and they share most
properties. The above requirement on having a large number of properties. The above requirement on having a large number of
decoding instances or requiring efficient switching of decoder decoding instances or requiring efficient switching of decoder
contexts, are one point of difference. The other is how the contexts, are one point of difference. The other is how the
identification is performed, where the Mixer uses CSRC to provide identification is performed, where the Mixer uses CSRC to provide
information on what is included in a particular RTP stream that information on what is included in a particular RTP stream that
represent a particular concept. Selective forwarding gets the source represent a particular concept. Selective forwarding gets the source
information through the SSRC, and instead have to use other mechanism information through the SSRC, and instead uses other mechanisms to
to make clear the streams current purpose. indicate the streams intended usage, if needed.
3.8. Point to Multipoint Using Video Switching MCUs 3.8. Point to Multipoint Using Video Switching MCUs
Shortcut name: Topo-Video-switch-MCU Shortcut name: Topo-Video-switch-MCU
+---+ +------------+ +---+ +---+ +------------+ +---+
| A |------| Multipoint |------| B | | A |------| Multipoint |------| B |
+---+ | Control | +---+ +---+ | Control | +---+
| Unit | | Unit |
+---+ | (MCU) | +---+ +---+ | (MCU) | +---+
| C |------| |------| D | | C |------| |------| D |
+---+ +------------+ +---+ +---+ +------------+ +---+
Figure 18: Point to Multipoint Using a Video Switching MCU Figure 18: Point to Multipoint Using a Video Switching MCU
skipping to change at page 41, line 24 skipping to change at page 41, line 24
endpoints. However, the Back-to-Back RTP sessions, Mesh with endpoints. However, the Back-to-Back RTP sessions, Mesh with
independent RTP sessions, SFM, will definitely break the loop independent RTP sessions, SFM, will definitely break the loop
detection mechanism. detection mechanism.
4.7. Consistency between header extensions and RTCP 4.7. Consistency between header extensions and RTCP
Some RTP header extensions have relevance not only end-to-end, but Some RTP header extensions have relevance not only end-to-end, but
also hop-to-hop, meaning at least some of the middleboxes in the path also hop-to-hop, meaning at least some of the middleboxes in the path
are aware of their potential presence through signaling, intercept are aware of their potential presence through signaling, intercept
and interpret such header extensions and potentially also rewrite or and interpret such header extensions and potentially also rewrite or
generate them. Modern header extensions generally follow RFC 5285 generate them. Modern header extensions generally follow "A General
[RFC5285], which allows for all of the above. Examples for such Mechanism for RTP Header Extensions" [RFC5285], which allows for all
header extensions include the mid (media ID) in [draft-ietf-mmusic- of the above. Examples for such header extensions include the mid
sdp-bundle-negotiation-12] [I-D.ietf-mmusic-sdp-bundle-negotiation]. (media ID) in [I-D.ietf-mmusic-sdp-bundle-negotiation]. At the time
At the time of writing there was also a proposal for how to include of writing there was also a proposal for how to include any SDES into
any SDES into an RTP header extension [draft-westerlund-avtext-dses- an RTP header extension [I-D.westerlund-avtext-sdes-hdr-ext].
hdr-ext] [I-D.westerlund-avtext-sdes-hdr-ext].
When such header extensions are in use, any middlebox that When such header extensions are in use, any middlebox that
understands it must ensure consistency between the extensions it sees understands it must ensure consistency between the extensions it sees
and/or generates, and the RTCP it receives and generates. For and/or generates, and the RTCP it receives and generates. For
example, the mid of bundle is sent in an RTP header extension and example, the mid of bundle is sent in an RTP header extension and
also in an RTCP SDES message. This apparent redundancy was also in an RTCP SDES message. This apparent redundancy was
introduced as unaware middleboxes may choose to discard RTP header introduced as unaware middleboxes may choose to discard RTP header
extensions. Obviously, inconsistency between the media ID sent in extensions. Obviously, inconsistency between the media ID sent in
the RTP header extension and in the RTCP SDES message could lead to the RTP header extension and in the RTCP SDES message could lead to
undesirable results, and, therefore, consistency is needed. undesirable results, and, therefore, consistency is needed.
Middleboxes unaware of the nature of a header extension, as specified Middleboxes unaware of the nature of a header extension, as specified
in RFC 5285 [RFC5285], are free to forward or discard header in [RFC5285], are free to forward or discard header extensions.
extensions.
5. Comparison of Topologies 5. Comparison of Topologies
The table below attempts to summarize the properties of the different The table below attempts to summarize the properties of the different
topologies. The legend to the topology abbreviations are: Topo- topologies. The legend to the topology abbreviations are: Topo-
Point-to-Point (PtP), Topo-ASM (ASM), Topo-SSM (SSM), Topo-Trns- Point-to-Point (PtP), Topo-ASM (ASM), Topo-SSM (SSM), Topo-Trns-
Translator (TT), Topo-Media-Translator (including Transport Translator (TT), Topo-Media-Translator (including Transport
Translator) (MT), Topo-Mesh with joint session (MJS), Topo-Mesh with Translator) (MT), Topo-Mesh with joint session (MJS), Topo-Mesh with
individual sessions (MIS), Topo-Mixer (Mix), Topo-Asymmetric (ASY), individual sessions (MIS), Topo-Mixer (Mix), Topo-Asymmetric (ASY),
Topo-Video-switch-MCU (VSM), and Topo-RTCP-terminating-MCU (RTM), Topo-Video-switch-MCU (VSM), and Topo-RTCP-terminating-MCU (RTM),
skipping to change at page 44, line 36 skipping to change at page 44, line 35
This document makes no request of IANA. This document makes no request of IANA.
Note to RFC Editor: this section may be removed on publication as an Note to RFC Editor: this section may be removed on publication as an
RFC. RFC.
8. Acknowledgements 8. Acknowledgements
The authors would like to thank Mark Baugher, Bo Burman, Umesh The authors would like to thank Mark Baugher, Bo Burman, Umesh
Chandra, Alex Eleftheriadis, Roni Even, Ladan Gharai, Geoff Hunt, Chandra, Alex Eleftheriadis, Roni Even, Ladan Gharai, Geoff Hunt,
Keith Lantz, Jonathan Lennox, Scarlet Liuyan, Suhas Nandakumar, and Keith Lantz, Jonathan Lennox, Scarlet Liuyan, Suhas Nandakumar, Colin
Colin Perkins for their help in reviewing and improving this Perkins, and Dan Wing for their help in reviewing and improving this
document. document.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003. Applications", STD 64, RFC 3550, July 2003.
skipping to change at page 45, line 18 skipping to change at page 45, line 18
Lennox, J., Westerlund, M., Wu, W., and C. Perkins, Lennox, J., Westerlund, M., Wu, W., and C. Perkins,
"Sending Multiple Media Streams in a Single RTP Session: "Sending Multiple Media Streams in a Single RTP Session:
Grouping RTCP Reception Statistics and Other Feedback", Grouping RTCP Reception Statistics and Other Feedback",
draft-ietf-avtcore-rtp-multi-stream-optimisation-05 (work draft-ietf-avtcore-rtp-multi-stream-optimisation-05 (work
in progress), February 2015. in progress), February 2015.
[I-D.ietf-mmusic-sdp-bundle-negotiation] [I-D.ietf-mmusic-sdp-bundle-negotiation]
Holmberg, C., Alvestrand, H., and C. Jennings, Holmberg, C., Alvestrand, H., and C. Jennings,
"Negotiating Media Multiplexing Using the Session "Negotiating Media Multiplexing Using the Session
Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle- Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle-
negotiation-16 (work in progress), January 2015. negotiation-19 (work in progress), March 2015.
[I-D.westerlund-avtext-sdes-hdr-ext] [I-D.westerlund-avtext-sdes-hdr-ext]
Westerlund, M., Even, R., and M. Zanaty, "RTP Header Westerlund, M., Even, R., and M. Zanaty, "RTP Header
Extension for RTCP Source Description Items", draft- Extension for RTCP Source Description Items", draft-
westerlund-avtext-sdes-hdr-ext-03 (work in progress), westerlund-avtext-sdes-hdr-ext-03 (work in progress),
November 2014. November 2014.
[RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5, [RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5,
RFC 1112, August 1989. RFC 1112, August 1989.
 End of changes. 13 change blocks. 
33 lines changed or deleted 40 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/