Internet DRAFT - draft-johansson-avt-rtcp-avpf-non-compound
draft-johansson-avt-rtcp-avpf-non-compound
Network Working Group I. Johansson
Internet-Draft M. Westerlund
Intended status: Standards Track Ericsson AB
Expires: December 29, 2007 June 27, 2007
Support for non-compund RTCP in RTCP AVPF profile, opportunities and
consequences
draft-johansson-avt-rtcp-avpf-non-compound-02
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 29, 2007.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract
This memo discusses benefits and issues that arise when allowing RTCP
packets to be transmitted as non-compound packets, i.e. not follow
the rules of RFC 3550. Based on that analysis this memo proposes
changes to the rules to allow feedback messages to be sent as non-
compound RTCP packets when using the RTP AVPF profile (RFC 4585)
under certain conditions.
Johansson & Westerlund Expires December 29, 2007 [Page 1]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
Requirements Language
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
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. RTCP Compound Packets . . . . . . . . . . . . . . . . . . . . 3
3. Benefits from non-compound packets . . . . . . . . . . . . . . 4
4. Issues with non-compound RTCP packets . . . . . . . . . . . . 6
4.1. Middle boxes . . . . . . . . . . . . . . . . . . . . . . . 6
4.2. Packet Validation . . . . . . . . . . . . . . . . . . . . 6
4.2.1. Old RTCP Receivers . . . . . . . . . . . . . . . . . . 6
4.2.2. Weakened Packet Validation . . . . . . . . . . . . . . 7
4.2.3. Bandwidth consideration . . . . . . . . . . . . . . . 7
4.2.4. Computation of avg_rtcp_size . . . . . . . . . . . . . 7
4.3. Header compression . . . . . . . . . . . . . . . . . . . . 7
4.4. RTP and RTCP multiplex on the same port . . . . . . . . . 7
5. Allowing non-compound RTCP packets . . . . . . . . . . . . . . 8
5.1. Usage of non-compound packets in AVPF . . . . . . . . . . 8
5.1.1. Verifying the delivery of non-compound packets . . . . 9
5.2. SDP Signalling Attribute . . . . . . . . . . . . . . . . . 9
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
9.1. Normative References . . . . . . . . . . . . . . . . . . . 10
9.2. Informative References . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
Intellectual Property and Copyright Statements . . . . . . . . . . 13
Johansson & Westerlund Expires December 29, 2007 [Page 2]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
1. Introduction
In RTP [RFC3550] it is currently mandatory to always use RTCP
compound packets containing at least Sender Reports or Receiver
reports, and a SDES packet containing at least the CNAME item. There
are good reasons for this as discussed below (see Section 2).
However this do result in that the minimal RTCP packets are quite
large. The RTP profile AVPF [RFC4585] specifies new RTCP packet
types for feedback messages. Some of these feedback messages would
benefit from being possible to transmit with minimal delay and AVPF
do provide some mechanism to enable this. However for environments
with low-bitrate links this still consumes quite large amount of
resources and introduce extra delay in the time it takes to
completely send the compound packet in the network. There are also
other benefits as discussed in Section 3.
At least one application disregards the requirement in RTP and uses
non-compound packets when transmitting certain events, namely Open
Mobile Alliance (OMA) Push-to-talk over Cellular (PoC) [OMA-PoC].
The OMA POC service is primarily used over cellular links capable of
IP transport, such as the GSM GPRS. The use of non-compound RTCP is
also specified in [3GPP-MTSI].
The use of non-compound packets is, however, not without issues.
This is discussed in Section 4. These issues needs to be considered
and is one motivation for this document.
In addition this document proposes how AVPF could be updated to allow
the transmission of non-compound packets in a way that would not
substantially affect the mechanisms that compound packets provide.
The connection to AVPF is motivated by the fact that non-compound
RTCP is mainly intended for event driven feedback purposes and that
the AVPF early and immediate modes makes this possible.
2. RTCP Compound Packets
Section 6.1 in RFC3550 [RFC3550] specifies that an RTCP packet must
be sent in a compound packet consisting of at least two individual
packets, first an Sender Report (SR) or Receiver Report (RR),
followed by an SDES packet containing at least a CNAME Item for the
transmitting source identifier (SSRC). Lets examine what these RTCP
packet types are used for.
1. The sender and receiver reports (see Section 6.4 of RFC 3550
[RFC3550]) provides the RTP session participant with the Sender
Source Identifier (SSRC) of all RTCP senders. Having all
participants send these packets periodically allows everyone to
Johansson & Westerlund Expires December 29, 2007 [Page 3]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
determine the current number of participants. This information
is used in the transmission scheduling algorithm. Thus this is
particularly important for new participants so that they quickly
can establish a good estimate of the group size. Failure to do
this would result in RTCP senders consuming to much bandwidth.
2. The sender and receiver reports contain some basic statistics
usable for monitoring of the transport and thus enable
adaptation. These reports become more useful if sent regularly
as the receiver of a report can perform analysis to find trends
between the individual reports. When used for media transmission
adaptation the information become more useful the more frequently
it is received, at least until one report per round-trip time
(RTT) is achieved. Therefore there are most cases no reason to
not include the sender or receiver report in all RTCP packets.
3. The CNAME SDES item (See Section 6.5.1 of RFC 3550 [RFC3550])
exist to allow receivers to determine which media flows that
should be synchronized with each other between different RTP
sessions carrying different media types. Thus it is important to
quickly receive this for each media sender in the session when
joining an RTP session.
4. Sender Reports (SR) is used in combination with the above SDES
CNAME mechanism to establish inter media synchronization. After
having determined which media streams should be synchronized
using the CNAME field, the receiver uses the Sender Report's NTP
and RTP timestamp fields to establish synchronization.
Reviewing the above it is obvious that both SR/RR and the CNAME is
very important for new session participants to be able to utilize any
received media and to avoid flooding the network with RTCP reports.
In addition if not sent regular the dynamic nature of the information
provided would make it less and less useful.
3. Benefits from non-compound packets
As mentioned in the introduction most advantages of using non-
compound packets exists in cases when the available RTCP bit-rate is
limited. This because non-compound packets will be substantially
smaller than a compound packet. A compound packet is forced to
contain both an RR or an SR and the CNAME SDES item. The RR
containing a report block for a single source is 32 bytes, an SR is
52 bytes. Both may be larger if they contain report blocks for
multiple sources. The SDES packet containing a CNAME item will be 10
bytes plus the CNAME string length. Here it is reasonable that the
CNAME string is at least 10 bytes to get a decent collision
Johansson & Westerlund Expires December 29, 2007 [Page 4]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
resistance. And if the recommended form of user@host is used, then
most strings will be longer than 20 characters. Thus a non-compound
packets can become at least 70-80 bytes smaller than the equivalent
compound packet.
The following benefits exist for the smaller non-compound packets:
1. Shorter serialization time, i.e. the time it takes the link to
transmit the packet. For slower links this time can be
substantial. For example transmitting 120 bytes over an link
interface capable of 30 kbps takes 32 milliseconds (ms) assuming
uniform transmission rate.
2. For links where the packet loss rate grows with the packet size,
smaller packets will be less likely to be dropped. Example of
such links are radio links. In the cellular world there exist
links that are optimized to handle RTP packets with speech and
these packets common sizes, the rationale behind this is to be
able to increase the capacity and coverage for voice services.
Compound RTCP packets commonly are 2-3 times the size of a RTP
packet with compressed speech. If the speech packet over such a
bearer have a packet loss rate of p, then the RTCP packet will
experience 1- (1-p)^x where x is the number of fragments the
compound packet will be split on the link layer, i.e. 2 or 3
commonly.
3. In fixed links there are also benefits with sending feedback in
small non-compound RTCP. One such application is those that use
RTCP AVPF in early or immediate mode to send frequent event
driven feedback . Under these circumstances the use of non-
compound RTCP minimizes the risk that the RTCP bandwidth becomes
too high during periods of intense adaptation feedback signaling.
4. In cases when regular feedback is need, like in the profile under
development for TCP friendly rate control (TFRC) for RTP
[I-D.ietf-avt-tfrc-profile]. The size of compund RTCP can result
in very high bandwidth requirements for the feedback in case the
roundtrip time is short. For this particular application non-
compound RTCP gives a very substantial improvement.
In cases when non-compound packets carry important and time sensitive
feedback both shorter serialization time and the lower loss
probability are important to enable the best possible functionality.
Having a packet loss rate that is much higher for the feedback
packets compared to media packets is not advantageous when for
example trying to perform media adaptation to handle the e.g. changed
performance present at the cell border in cellular system.
Johansson & Westerlund Expires December 29, 2007 [Page 5]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
For high bit-rate applications there is usually no problem of
supplying RTCP with sufficient bit-rates. When using AVPF one can
use the "trr-int" parameter to restrict the regular reporting
interval to approximately once per RTT or less often. As in most
cases there are no reasons to provide regular reports with higher
density than this. Any additional bandwidth can then be used for
feedback messages. The benefits of non-compound packets in this case
are limited, but exist, one typical example is video using generic
NACK in cases where where the RTT is low. Using non-compound packets
would reduce the total amount of bits used for RTCP. This is
primarily applicable if the number of non-compound packets is large.
This would also result in lower processing delay and less complexity
for the feedback packets as they do not need to query the RTCP
database to construct the right messages.
4. Issues with non-compound RTCP packets
This section describes some of the known issues with non-compound
RTCP packets
4.1. Middle boxes
Middle boxes in the network may discard RTCP packets that does not
follow the rules outlined in section 6.1 of RFC3550. The effect of
this might for instance be that compound RTCP packets makes its way
through while the non-compound feedback packets are lost.
4.2. Packet Validation
A non-compound packet will be discarded by the packet validation code
in Appendix A of RFC 3550 [RFC3550]. This has several impacts as
described in the following sub sections.
4.2.1. Old RTCP Receivers
Any RTCP receiver without updated packet validation code will discard
the non-compund packets. Thus these receivers will not see the
feedback contained in the these non-compound packets. The effect of
this depends on the type of feedback message and the role of the
receiver. For example this may cause complete function loss in the
case of attempting to use a non-compound NACK message (see Section
6.2.1 of RFC 4585 [RFC4585]) to non updated media sender in a session
using the retransmission scheme defined by RFC 4588 [RFC4588].
This type of discarding would also effect the feedback suppression
defined in AVPF. The result would be a partitioning of the receivers
within the session between old ones only seeing the compound RTCP
Johansson & Westerlund Expires December 29, 2007 [Page 6]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
feedback messages and the newer ones seeing both. Where the old ones
may send feedback messages for events already reported on in non-
compound packets.
4.2.2. Weakened Packet Validation
The packet validation code needs to be rewritten to accept non-
compound packets. One potential effect of this change is much weaker
validation that received packets actually are RTCP packets, and not
packets of some other type being wrongly delivered. Thus some
consideration should be done to ensure the best possible validation
is available. For example restricting non-compound packets to
contain only some specific RTCP packet types, that is preferably
signalled on a session basis.
4.2.3. Bandwidth consideration
The discarding of non-compound RTCP packets would effect the RTCP
transmission calculation in the following way; the avg_rtcp_size
value would become larger than for RTP receivers that exclude the
non-compound in this calculation (assuming that non-compound packets
are smaller than compound ones). Therefore these senders would
under-utilize the available bit-rate and send with a longer interval
than updated receivers. For most sessions this would should not be
an issue. However for sessions with a large portion of non-compound
packets may result in that the updated receivers time out non-updated
senders prematurely.
4.2.4. Computation of avg_rtcp_size
Long intervals between compund RTCP packets and many non-compound
RTCP packets inbetween may lead to a computation of the value
avg_rtcp_size that varies greatly over time.
4.3. Header compression
The classifiers for header compression algorithms such as RoHC
[RFC3095] and its profiles must be aware of the fact that, with the
proposed non-compound RTCP packets, the first RTCP packet type might
differ from 200 or 201. Otherwise they may wrongly classify the
packets as something else than RTCP. This may have impact on the
compression efficiency.
4.4. RTP and RTCP multiplex on the same port
In applications that multiplexes RTP and RTCP on the same port, as
defined in [I-D.ietf-avt-rtp-and-rtcp-mux], care must be taken to
ensure that the demultiplexing is done properly even though RTCP
Johansson & Westerlund Expires December 29, 2007 [Page 7]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
packets are non-compound.
5. Allowing non-compound RTCP packets
Based on the above analysis it seems feasible to allow transmission
in RTCP under some restrictions. First of all it is important that
compound packets are regularly sent to ensure the feedback reporting
works. The tracking of session size and number of participants is
also important as this ensures that the RTCP bandwidth remain bounded
independent of the number of session participants. As the compound
packets also are used to establish the synchronization, any newly
joining participant in a session would need to receive a compound
packet from the media sender. In summary the regular usage of
compound packets must be maintained throughout the complete session.
Thus non-compound packets should be restricted to be used as extra
feedback packets sent in cases when a regular compound packet would
not have been sent.
If one is going to use non-compound packets it will be important to
verify that they actually reaches the session participants. As
outlined above in Section 4.1 and Section 4.2 packets may be
discarded along the path or in the end-point. The end-points can be
resolved by introducing signalling that inform if all session
participants are capable of non-compound packets or not. The
middlebox issue is more difficult and here one will be required to
use heuristics to determine if the non-compound packets are delivered
or not. However in many cases the feedback messages sent using non-
compound packets will result in either explicit or implicit
indications that they have been received. Example of such are the
RTP retransmission [RFC4588] that result from a NACK message
[RFC4585], the Temporary Maximum Media Bit-rate Notification message
resulting from a Temporary Maximum Media Bit-rate Request
[I-D.ietf-avt-avpf-ccm], or the presence of a Decoder Refresh Point
[I-D.ietf-avt-avpf-ccm] in the video media stream resulting from the
Full Intra Request sent.
5.1. Usage of non-compound packets in AVPF
The usage of non-compound RTCP packet SHALL only be done in RTP
sessions operating in AVPF [RFC4585] Early RTCP or Immediate feedback
mode. Non-compound packets SHALL NOT be sent until at least one
compound packet has been sent. In Immediate feedback mode all
feedback messages MAY be sent as non-compound packets. In early RTCP
mode a feedback message scheduled for transmission as an Early RTCP
packet, i.e. not a Regular RTCP packet, MAY be sent as a non-compound
packet.
Johansson & Westerlund Expires December 29, 2007 [Page 8]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
In order to get as much as possible out of of the non-compound RTCP
concept, it is necessary to relax the sending rules in RFC 4585
[RFC4585] in such a way that it is possible to transmit more that one
early feedback RTCP between regular RTCP, presently this is
controlled by means of the allow_early flag which has the effect that
only one early feedback message is allowed between the regularly
scheduled RTCP. The proposed relaxation is reasonable as the size of
the non-compound RTCP is expected to be small compared to the regular
RTCP. The relaxation however needs to be done in a way that it is
both bandwidth conservative and robust/scalable for an increased
number of users. A possible outline of an algorithm that does this
overrides the allow_early flag to the value TRUE if the bandwith
consumed by non-compound RTCP is within some predefined limits, one
such limit may be that non-compound RTCP should not be allowed to
consume more than a predefiend fraction of the total RTCP bandwidth.
Another option may be to use the SDP attribute "trr-int" as limiting
factor.
The details of the algrithm that handles the relaxation of the
sending rules is TBD.
5.1.1. Verifying the delivery of non-compound packets
A proposed algorithm to detect consistent failure of delivery of non-
compound packets needs to be written. The details of this algorithm
is application dependent and therefore outside the scope of this
document.
If the verification fails it is strongly recommended that only
compound RTCP according to the rules outlined in RFC3550 is
transmitted.
5.2. SDP Signalling Attribute
We request to define the a "a=ncp" [RFC4566] attribute to indicate if
the session participant is capable of supporting non-compound
packets. It is a required that a participant that proposes the use
of non-compound RTCP itself supports the reception of non-compound
RTCP.
6. IANA Considerations
IANA will be required to register the SDP signalling attribute
defined in Section 5.2.
Johansson & Westerlund Expires December 29, 2007 [Page 9]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
7. Security Considerations
The security considerations of RTP [RFC3550] and AVPF [RFC4585] will
apply also to non-compound packets. The reduction in validation
strength for received packets on the RTCP port may result in a higher
degree of acceptance of spurious data as real RTCP packets. This
vulnerability can mostly be addressed by usage of an security
mechanism that provide authentication, e.g. SRTP[RFC3711].
8. Acknowledgements
The authors would like to thank all the people who gave feedback on
this document.
This document also contain some text copied from RFC 4585 [RFC4585]
and we take the opportunity to thank the author of said document.
9. References
9.1. Normative References
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
"Extended RTP Profile for Real-time Transport Control
Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
July 2006.
9.2. Informative References
[3GPP-MTSI]
3GPP, "Specification : 3GPP TS 26.114 (v7.1.0
preliminary), http://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/
Specs_update_after_SA36/26114-710.zip", March 2007.
[I-D.ietf-avt-avpf-ccm]
Wenger, S., "Codec Control Messages in the RTP Audio-
Visual Profile with Feedback (AVPF)",
draft-ietf-avt-avpf-ccm-07 (work in progress), June 2007.
[I-D.ietf-avt-rtp-and-rtcp-mux]
Perkins, C. and M. Westerlund, "Multiplexing RTP Data and
Control Packets on a Single Port",
draft-ietf-avt-rtp-and-rtcp-mux-05 (work in progress),
Johansson & Westerlund Expires December 29, 2007 [Page 10]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
May 2007.
[I-D.ietf-avt-tfrc-profile]
Gharai, L., "RTP with TCP Friendly Rate Control",
draft-ietf-avt-tfrc-profile-08 (work in progress),
June 2007.
[OMA-PoC] Open Mobile Alliance, "Specification : Push to talk Over
Cellular User Plane, http://www.openmobilealliance.org/
release_program/docs/PoC/V1_0_1-20061128-A/
OMA-TS-PoC-UserPlane-V1_0_1-20061128-A.pdf",
November 2006.
[RFC3095] Bormann, C., Burmeister, C., Degermark, M., Fukushima, H.,
Hannu, H., Jonsson, L-E., Hakenberg, R., Koren, T., Le,
K., Liu, Z., Martensson, A., Miyazaki, A., Svanbro, K.,
Wiebke, T., Yoshimura, T., and H. Zheng, "RObust Header
Compression (ROHC): Framework and four profiles: RTP, UDP,
ESP, and uncompressed", RFC 3095, July 2001.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R.
Hakenberg, "RTP Retransmission Payload Format", RFC 4588,
July 2006.
Authors' Addresses
Ingemar Johansson
Ericsson AB
Laboratoriegrand 11
SE-971 28 Lulea
SWEDEN
Phone: +46 73 0783289
Email: ingemar.s.johansson (AT) ericsson.com
Johansson & Westerlund Expires December 29, 2007 [Page 11]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
Magnus Westerlund
Ericsson AB
Torshamnsgatan 21-23
SE-164 83 Stockholm
SWEDEN
Phone: +46 8 7190000
Email: magnus.westerlund (AT) ericsson.com
Johansson & Westerlund Expires December 29, 2007 [Page 12]
Internet-Draft Non-compund RTCP in RTCP AVPF profile June 2007
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Johansson & Westerlund Expires December 29, 2007 [Page 13]