draft-ietf-avtcore-rtp-multi-stream-optimisation-05.txt   draft-ietf-avtcore-rtp-multi-stream-optimisation-06.txt 
AVTCORE WG J. Lennox AVTCORE WG J. Lennox
Internet-Draft Vidyo Internet-Draft Vidyo
Intended status: Standards Track M. Westerlund Intended status: Standards Track M. Westerlund
Expires: August 21, 2015 Ericsson Expires: January 7, 2016 Ericsson
Q. Wu Q. Wu
Huawei Huawei
C. Perkins C. Perkins
University of Glasgow University of Glasgow
February 17, 2015 July 6, 2015
Sending Multiple Media Streams in a Single RTP Session: Grouping RTCP Sending Multiple Media Streams in a Single RTP Session: Grouping RTCP
Reception Statistics and Other Feedback Reception Statistics and Other Feedback
draft-ietf-avtcore-rtp-multi-stream-optimisation-05 draft-ietf-avtcore-rtp-multi-stream-optimisation-06
Abstract Abstract
RTP allows multiple media streams to be sent in a single session, but RTP allows multiple media streams to be sent in a single session, but
requires each Synchronisation Source (SSRC) to send RTCP reception requires each Synchronisation Source (SSRC) to send RTCP reception
quality reports for every other SSRC visible in the session. This quality reports for every other SSRC visible in the session. This
causes the number of RTCP reception reports to grow with the number causes the number of RTCP reception reports to grow with the number
of SSRCs, rather than the number of endpoints. In many cases most of of SSRCs, rather than the number of endpoints. In many cases most of
these RTCP reception reports are unnecessary, since all SSRCs of an these RTCP reception reports are unnecessary, since all SSRCs of an
endpoint are co-located and see the same reception quality. This endpoint are co-located and see the same reception quality. This
skipping to change at page 1, line 44 skipping to change at page 1, line 44
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 21, 2015. This Internet-Draft will expire on January 7, 2016.
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 35 skipping to change at page 2, line 35
3.1. Semantics and Behaviour of RTCP Reporting Groups . . . . 4 3.1. Semantics and Behaviour of RTCP Reporting Groups . . . . 4
3.2. Identifying Members of an RTCP Reporting Group . . . . . 5 3.2. Identifying Members of an RTCP Reporting Group . . . . . 5
3.2.1. Definition and Use of the RTCP RGRP SDES Item . . . . 5 3.2.1. Definition and Use of the RTCP RGRP SDES Item . . . . 5
3.2.2. Definition and Use of the RTCP RGRS Packet . . . . . 6 3.2.2. Definition and Use of the RTCP RGRS Packet . . . . . 6
3.3. Interactions with the RTP/AVPF Feedback Profile . . . . . 8 3.3. Interactions with the RTP/AVPF Feedback Profile . . . . . 8
3.4. Interactions with RTCP Extended Report (XR) Packets . . . 9 3.4. Interactions with RTCP Extended Report (XR) Packets . . . 9
3.5. Middlebox Considerations . . . . . . . . . . . . . . . . 9 3.5. Middlebox Considerations . . . . . . . . . . . . . . . . 9
3.6. SDP Signalling for Reporting Groups . . . . . . . . . . . 10 3.6. SDP Signalling for Reporting Groups . . . . . . . . . . . 10
4. Properties of RTCP Reporting Groups . . . . . . . . . . . . . 11 4. Properties of RTCP Reporting Groups . . . . . . . . . . . . . 11
4.1. Bandwidth Benefits of RTCP Reporting Groups . . . . . . . 11 4.1. Bandwidth Benefits of RTCP Reporting Groups . . . . . . . 11
4.2. Compatibility of RTCP Reporting Groups . . . . . . . . . 11 4.2. Compatibility of RTCP Reporting Groups . . . . . . . . . 12
5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.1. Normative References . . . . . . . . . . . . . . . . . . 15 7.1. Normative References . . . . . . . . . . . . . . . . . . 15
7.2. Informative References . . . . . . . . . . . . . . . . . 15 7.2. Informative References . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
The Real-time Transport Protocol (RTP) [RFC3550] is a protocol for The Real-time Transport Protocol (RTP) [RFC3550] is a protocol for
group communication, supporting multiparty multimedia sessions. A group communication, supporting multiparty multimedia sessions. A
single RTP session can support multiple participants sending at once, single RTP session can support multiple participants sending at once,
and can also support participants sending multiple simultaneous media and can also support participants sending multiple simultaneous media
skipping to change at page 5, line 51 skipping to change at page 5, line 51
Specifically, every reporting source in an RTCP reporting group MUST Specifically, every reporting source in an RTCP reporting group MUST
include an RTCP SDES packet containing an RGRP item in every compound include an RTCP SDES packet containing an RGRP item in every compound
RTCP packet in which it sends an RR or SR packet (i.e., in every RTCP RTCP packet in which it sends an RR or SR packet (i.e., in every RTCP
packet it sends, unless Reduced-Size RTCP [RFC5506] is in use). packet it sends, unless Reduced-Size RTCP [RFC5506] is in use).
Syntactically, the format of the RTCP SDES RGRP item is identical to Syntactically, the format of the RTCP SDES RGRP item is identical to
that of the RTCP SDES CNAME item [RFC7022], except that the SDES item that of the RTCP SDES CNAME item [RFC7022], except that the SDES item
type field MUST have value RGRP=(TBA) instead of CNAME=1. The value type field MUST have value RGRP=(TBA) instead of CNAME=1. The value
of the RTCP SDES RGRP item MUST be chosen with the same concerns of the RTCP SDES RGRP item MUST be chosen with the same concerns
about global uniqueness and the same privacy considerations as the about global uniqueness and the same privacy considerations as the
RTCP SDES CNAME them. The value of the RTCP SDES RGRP item MUST be RTCP SDES CNAME. The value of the RTCP SDES RGRP item MUST be stable
stable throughout the lifetime of the reporting group, even if the throughout the lifetime of the reporting group, even if the some or
some or all of the reporting sources change their SSRC due to all of the reporting sources change their SSRC due to collisions, or
collisions, or if the set of reporting sources changes. if the set of reporting sources changes.
Note to RFC Editor: please replace (TBA) in the above paragraph Note to RFC Editor: please replace (TBA) in the above paragraph
with the RTCP SDES item type number assigned to the RGRP item, with the RTCP SDES item type number assigned to the RGRP item,
then delete this note. then delete this note.
An RTP mixer or translator that forwards RTCP SR or RR packets from An RTP mixer or translator that forwards RTCP SR or RR packets from
members of a reporting group MUST forward the corresponding RTCP SDES members of a reporting group MUST forward the corresponding RTCP SDES
RGRP items as well, even if it otherwise strips SDES items other than RGRP items as well, even if it otherwise strips SDES items other than
the CNAME item. the CNAME item.
skipping to change at page 6, line 47 skipping to change at page 6, line 47
|V=2|P| SC | PT=RGRS(TBA) | length | |V=2|P| SC | PT=RGRS(TBA) | length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of packet sender | | SSRC of packet sender |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
: List of SSRCs for the Reporting Source(s) : : List of SSRCs for the Reporting Source(s) :
: ... : : ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The fields in the RTCP RGRS packet have the following definition: The fields in the RTCP RGRS packet have the following definition:
version (V): This field identifies the RTP version. The current RTP version (V): 2 bits unsigned integer. This field identifies the RTP
version is 2. version. The current RTP version is 2.
padding (P): If set, the padding bit indicates that the RTCP packet padding (P): 1 bit. If set, the padding bit indicates that the RTCP
contains additional padding octets at the end that are not part of packet contains additional padding octets at the end that are not
the control information but are included in the length field. See part of the control information but are included in the length
[RFC3550]. field. See [RFC3550].
Source Count (SC): Indicates the number of reporting source SSRCs Source Count (SC): 5 bits unsigned integer. Indicates the number of
that are included in this RTCP packet. As the RTCP RGRS packet reporting source SSRCs that are included in this RTCP packet. As
MUST NOT be not sent by reporting sources, all the SSRCs in the the RTCP RGRS packet MUST NOT be not sent by reporting sources,
list of reporting sources will be different from the SSRC of the all the SSRCs in the list of reporting sources will be different
packet sender. Every RTCP RGRS packet MUST contain at least one from the SSRC of the packet sender. Every RTCP RGRS packet MUST
reporting source SSRC. contain at least one reporting source SSRC.
Payload type (PT): The RTCP packet type number that identifies the Payload type (PT): 8 bits unsigned integer. The RTCP packet type
packet as being an RTCP RGRS packet. The RGRS RTCP packet has the number that identifies the packet as being an RTCP RGRS packet.
value [TBA]. The RGRS RTCP packet has the value [TBA].
Note to RFC Editor: please replace [TBA] here, and in the Note to RFC Editor: please replace [TBA] here, and in the
packet format diagram above, with the RTCP packet type that packet format diagram above, with the RTCP packet type that
IANA assigns to the RTCP RGRS packet. IANA assigns to the RTCP RGRS packet.
Length: The length of this packet in 32-bit words minus one, Length: 16 bits unsigned integer. The length of this packet in
including the header and any padding. This is in line with the 32-bit words minus one, including the header and any padding.
definition of the length field used in RTCP sender and receiver This is in line with the definition of the length field used in
reports [RFC3550]. Since all RTCP RGRS packets include at least RTCP sender and receiver reports [RFC3550]. Since all RTCP RGRS
one reporting source SSRC, the length will always be 2 or greater. packets include at least one reporting source SSRC, the length
will always be 2 or greater.
SSRC of packet sender: The SSRC of the sender of this packet. SSRC of packet sender: 32 bits. The SSRC of the sender of this
packet.
List of SSRCs for the Reporting Source(s): A variable length size List of SSRCs for the Reporting Source(s): A variable length size
(as indicated by SC header field) of the 32 bit SSRC values of the (as indicated by SC header field) of the 32 bit SSRC values of the
reporting sources for the RTCP Reporting Group of which the packet reporting sources for the RTCP Reporting Group of which the packet
sender is a member. sender is a member.
Every source that belongs to an RTCP reporting group but is not a Every source that belongs to an RTCP reporting group but is not a
reporting source MUST include an RTCP RGRS packet in every compound reporting source MUST include an RTCP RGRS packet in every compound
RTCP packet in which it sends an RR or SR packet (i.e., in every RTCP RTCP packet in which it sends an RR or SR packet (i.e., in every RTCP
packet it sends, unless Reduced-Size RTCP [RFC5506] is in use). Each packet it sends, unless Reduced-Size RTCP [RFC5506] is in use). Each
skipping to change at page 10, line 36 skipping to change at page 10, line 39
3.6. SDP Signalling for Reporting Groups 3.6. SDP Signalling for Reporting Groups
This document defines the "a=rtcp-rgrp" Session Description Protocol This document defines the "a=rtcp-rgrp" Session Description Protocol
(SDP) [RFC4566] attribute to indicate if the session participant is (SDP) [RFC4566] attribute to indicate if the session participant is
capable of supporting RTCP Reporting Groups for applications that use capable of supporting RTCP Reporting Groups for applications that use
SDP for configuration of RTP sessions. The attribute takes no value. SDP for configuration of RTP sessions. The attribute takes no value.
A participant that proposes the use of RTCP Reporting Groups SHALL A participant that proposes the use of RTCP Reporting Groups SHALL
itself support the reception of RTCP Reporting Groups. itself support the reception of RTCP Reporting Groups.
An offering client that wishes to use RTCP Reporting Groups MUST When doing SDP Offer/Answer [RFC3264] an offering client that wishes
include the attribute "a=rtcp-rgrp" in the SDP offer. If "a=rtcp- to use RTCP Reporting Groups MUST include the attribute "a=rtcp-rgrp"
rgrp" is present in the offer SDP, the answerer that supports RTCP in the SDP offer. If "a=rtcp-rgrp" is present in the offer SDP, the
Reporting Groups and wishes to use it SHALL include the "a=rtcp-rgrp" answerer that supports RTCP Reporting Groups and wishes to use it
attribute in the answer. In cases the answer has been excluded, SHALL include the "a=rtcp-rgrp" attribute in the answer. In cases
neither agents SHALL use the RTCP Reporting Groups. the answer has been excluded, neither agents SHALL use the RTCP
Reporting Groups.
In declarative usage of SDP, such as the Real Time Streaming Protocol In declarative usage of SDP, such as the Real Time Streaming Protocol
(RTSP) [RFC2326] and the Session Announcement Protocol (SAP) (RTSP) [RFC2326] and the Session Announcement Protocol (SAP)
[RFC2974], the presence of the attribute indicates that the session [RFC2974], the presence of the attribute indicates that the session
participant MAY use RTCP Reporting Groups in its RTCP transmissions. participant MAY use RTCP Reporting Groups in its RTCP transmissions.
An implementation that doesn't explicitly support RTCP Reporting An implementation that doesn't explicitly support RTCP Reporting
Groups MAY join a RTP session as long as it has been verified that Groups MAY join a RTP session as long as it has been verified that
the implementation doesn't suffer from the problems discussed in the implementation doesn't suffer from the problems discussed in
Section 4.2. Section 4.2.
skipping to change at page 15, line 4 skipping to change at page 15, line 6
Subject to charset: No Subject to charset: No
Purpose: Negotiate or configure the use of the RTCP Purpose: Negotiate or configure the use of the RTCP
Reporting Group Extension. Reporting Group Extension.
Reference: [RFCXXXX] Reference: [RFCXXXX]
Values: None Values: None
The definition of the "a=rtcp-rgrp" SDES attribute is given in The definition of the "a=rtcp-rgrp" SDES attribute is given in
Section 3.6 of this memo. Section 3.6 of this memo.
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.ietf-avtcore-rtp-multi-stream] [I-D.ietf-avtcore-rtp-multi-stream]
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",
draft-ietf-avtcore-rtp-multi-stream-06 (work in progress), draft-ietf-avtcore-rtp-multi-stream-07 (work in progress),
October 2014. March 2015.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[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.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
skipping to change at page 15, line 34 skipping to change at page 15, line 37
Canonical Names (CNAMEs)", RFC 7022, September 2013. Canonical Names (CNAMEs)", RFC 7022, September 2013.
7.2. Informative References 7.2. Informative References
[RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time [RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time
Streaming Protocol (RTSP)", RFC 2326, April 1998. Streaming Protocol (RTSP)", RFC 2326, April 1998.
[RFC2974] Handley, M., Perkins, C., and E. Whelan, "Session [RFC2974] Handley, M., Perkins, C., and E. Whelan, "Session
Announcement Protocol", RFC 2974, October 2000. Announcement Protocol", RFC 2974, October 2000.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264, June
2002.
[RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control [RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control
Protocol Extended Reports (RTCP XR)", RFC 3611, November Protocol Extended Reports (RTCP XR)", RFC 3611, November
2003. 2003.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)", Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004. RFC 3711, March 2004.
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
"Extended RTP Profile for Real-time Transport Control "Extended RTP Profile for Real-time Transport Control
 End of changes. 17 change blocks. 
39 lines changed or deleted 47 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/