Network Working Group G. Zorn
Internet-Draft Network Zen
Intended status: Standards Track R. Schott
Expires: December 11, 2011 Deutsche Telekom
Q. Wu
R. Huang
Huawei
June 9, 2011
RTCP XR for Application Layer Statistics Metrics Reporting
draft-zorn-xrblock-rtcp-xr-al-stat-02
Abstract
This document defines a set of RTCP XR Report Blocks and associated
Session Description Protocol (SDP) parameters allowing the report of
application layer summary, loss discard and burst metrics for use in
a range of RTP applications.
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 December 11, 2011.
Copyright Notice
Copyright (c) 2011 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
Zorn, et al. Expires December 11, 2011 [Page 1]
Internet-Draft Application Layer Statistics Blocks June 2011
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.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Standards Language . . . . . . . . . . . . . . . . . . . . . . 3
4. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Application Layer Metrics . . . . . . . . . . . . . . . . . . 4
5.1. Application Layer Statistics Summary Report Block . . . . 4
5.2. Application Layer Loss and Discard Metrics Block . . . . . 6
5.3. Application Layer Burst Metrics Block . . . . . . . . . . 8
6. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 10
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
8. Security Considerations . . . . . . . . . . . . . . . . . . . 12
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
10.1. Normative References . . . . . . . . . . . . . . . . . . . 12
10.2. Informative References . . . . . . . . . . . . . . . . . . 13
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Zorn, et al. Expires December 11, 2011 [Page 2]
Internet-Draft Application Layer Statistics Blocks June 2011
1. Introduction
RFC 3611 [RFC3611] defines seven report block formats for network
management and quality monitoring. However, these metrics are mostly
for multicast inference of network characteristics (MINC) or voice
over IP (VoIP) monitoring and not widely applicable to other
applications, e.g., video quality monitoring. This document focuses
on specifying new additional report block types used to convey video-
related parameters at the application layer that are generically
designed for use in audio and video services.
The metrics belong to the class of application layer metrics defined
in [I-D.hunt-avtcore-monarch].
2. Terminology
FEC
Forward Error Correction
Picture Type
Picture types used in the different video algorithms are composed
of the key-frame and the Derivation frame. Key-frame is also
called a reference frame and used as a reference for predicting
other pictures. It is coded without prediction from other
pictures. The Derivation frame is derived from a Key-frame using
prediction from the reference frame.
RTP
Real-time Transport Protocol [RFC3550].
RTCP
RTP Control Protocol [RFC3550].
RTCP XR
RTP Control Protocol Extended Reports [RFC3611].
3. Standards 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 RFC 2119 [RFC2119].
Zorn, et al. Expires December 11, 2011 [Page 3]
Internet-Draft Application Layer Statistics Blocks June 2011
4. Applicability
The Report Blocks defined in this document can be applied to any
real-time applications that convey video-related parameters at the
application layer.
5. Application Layer Metrics
5.1. Application Layer Statistics Summary Report Block
This block reports statistics beyond the information carried in the
Statistics Summary Report Block specified in Section 4.6 of RFC 3611
[RFC3611]. Information is recorded about lost frames, duplicated
frames, and lost partial frames. Such information can be useful for
network management and video quality monitoring.
The Application Layer Statistics Summary Report Block has the
following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=TBD | rsd. |T|P|rsd| block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| begin_seq | end_seq |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of frames expected |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| lost_full_frames |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| dup_frames |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| lost_partial_frames |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
block_type (BT): 8 bits
The Application Layer Statistics Summary Report Block is
identified by the constant <ALSS>.
rsvd: 4 bits
This field is reserved for future definition. In the absence of
such a definition, the bits in this field MUST be set to zero and
MUST be ignored by the receiver.
Zorn, et al. Expires December 11, 2011 [Page 4]
Internet-Draft Application Layer Statistics Blocks June 2011
picture_type_indicator (T): 1 bit
This field is used to indicate the frame type being reported. Set
to 0 if the lost_frames field or dup_frames field contain a key
frame report or reference frame report, 1 if the lost_frames field
and dup_frames field contain other derivation frame report.
P: 1 bit
Bit set to 1 if the partial_lost_frames field or the partial_dup_
frames field contains a report, 0 otherwise.
R: 2 bits
This field is reserved for future definition. In the absence of
such a definition, the bits in this field MUST be set to zero and
MUST be ignored by the receiver.
block_length: 16 bits
The constant 5, in accordance with the definition of this field in
Section 3 of RFC 3611 [RFC3611].
begin_seq: 16 bits
As defined in Section 4.1 of RFC 3611 [RFC3611].
end_seq: 16 bits
As defined in Section 4.1 of RFC 3611 [RFC3611].
number_of_frames_expected: 32bits
A count of the number of frames of the type indicated by the
picture_type_indicator field expected, estimated if necessary. If
no such frames have been received then this count shall be set to
zero (0).
lost_full_frames: 32 bits
If a frame is completely lost, this frame is regarded as one lost
full frame. The lost_full_frames field is equivalent to the
number of full frames of the type indicated by the
picture_type_indicator field lost in the above sequence number
interval.
Zorn, et al. Expires December 11, 2011 [Page 5]
Internet-Draft Application Layer Statistics Blocks June 2011
dup_frames: 32 bits
Number of duplicate frames in the above sequence number interval.
lost_partial_frames: 32 bits
If one frame is partially lost, this frame is regarded as one lost
fractional frame. The lost_partial_frames field is equivalent to
the number of lost fractional frames in the above sequence number
interval.
5.2. Application Layer Loss and Discard Metrics Block
A frame shall be regarded as lost if it fails to arrive within an
implementation-specific time window. A frame that arrives within
this time window but is too early or late to be played out shall be
regarded as discarded. A frame shall be classified as one of
received (or OK), discarded or lost.
This block reports Loss and Discard metrics statistics beyond the
information carried in the standard RTCP packet format. The block
reports separately on packets lost on the IP channel, and those that
have been received but then discarded by the receiving jitter buffer.
It is very useful to distinguish between frames lost by the network
and those discarded due to jitter. Both have equal effect on the
quality of the video stream, however, having separate counts helps
identify the source of quality degradation. These fields MUST be
populated, and MUST be set to zero if no frames have been received.
The Loss and Discard metrics are determined after the effects of FEC,
redundancy [RFC2198] or other similar processes. Implementations
MUST provide values for all the fields defined here. For certain
metrics, if the value is undefined or unknown, then the specified
default or unknown field value MUST be provided.
The block is encoded as six 32-bit words:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=TBD |I| rsv |T| rsv.| block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame Loss rate | Frame Discard rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Zorn, et al. Expires December 11, 2011 [Page 6]
Internet-Draft Application Layer Statistics Blocks June 2011
block type (BT): 8 bits
An Application Layer Loss and Discard Metrics Block is identified
by the constant <ALLDM>.
Interval Metric flag (I): 1 bit
This field is used to indicate whether the metrics block is an
Interval or a Cumulative report,
reserved: 3 bits
This field is reserved for future definition. In the absence of
such a definition, the bits in this field MUST be set to zero and
MUST be ignored by the receiver.
Picture type indicator (T): 1 bit
Picture types used in the different video algorithms compose of
key-frame and derivation frame. This field is used to indicate
the picture type to be reported. Bits set to 0 if the Loss rate
field and discard rate field contain a Key_frame report or
reference frame report, 1 if the Loss rate field and discard rate
field contain other derivation frame reports.
reserved: 3 bits
This field is reserved for future definition. In the absence of
such a definition, the bits in this field MUST be set to zero and
MUST be ignored by the receiver.
block length: 16 bits
The constant 1, in accordance with the definition of this field in
Section 3 of RFC 3611 [RFC3611].
Frame Loss rate: 8 bits
The proportion of frames lost since the beginning of reception,
expressed as a fixed point number with the binary point at the
left edge of the field. This value is calculated by dividing the
total number of lost frames containing specified frame (e.g., Key
frame) (after the effects of applying any error protection such as
FEC) by the total number of frames expected, multiplying the
result of the division by 256, limiting the maximum value to 255
(to avoid overflow), and taking the integer part. The numbers of
duplicated frames and discarded frames do not enter into this
calculation. Since receivers cannot be required to maintain
Zorn, et al. Expires December 11, 2011 [Page 7]
Internet-Draft Application Layer Statistics Blocks June 2011
unlimited buffers, a receiver MAY categorize late-arriving frames
as lost. The degree of lateness that triggers a loss SHOULD be
significantly greater than that which triggers a discard.
Frame Discard rate: 8 bits
The proportion of frames discarded since the beginning of
reception, due to late or early arrival, under-run or overflow at
the receiving jitter buffer. This value is expressed as a fixed
point number with the binary point at the left edge of the field.
It is calculated by dividing the total number of discarded frames
containing specified frame (e.g., Key Frame) (excluding duplicate
frames discards) by the total number of frames expected,
multiplying the result of the division by 256, limiting the
maximum value to 255 (to avoid overflow), and taking the integer
part.
5.3. Application Layer Burst Metrics Block
This block reports Burst metrics statistics beyond the information
carried in the standard RTCP packet format. It reports on the
combined effect of losses and discards, as both have equal effect on
video quality.
In order to properly assess the quality of a video stream, it is
desirable to consider the degree of burstiness of packet loss
[RFC3357]. Following the one-way loss pattern sample metrics
discussed in [RFC3357], a measure of the spacing between consecutive
network packet loss or error events, is a "loss distance". The loss
distance metric captures the spacing between the loss periods. The
duration of a loss or error event (e.g. and how many packets are lost
in that duration) is a "loss period", the loss period metric captures
the frequency and length (burstiness) of loss once it starts. Delay
reports include the transit delay between RTP end points and the end
system processing delays, both of which contribute to the user
perceived delay.
Implementations MUST provide values for all the fields defined here.
For certain metrics, if the value is undefined or unknown, then the
specified default or unknown field value MUST be provided.
The block is encoded as three 32-bit words:
Zorn, et al. Expires December 11, 2011 [Page 8]
Internet-Draft Application Layer Statistics Blocks June 2011
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=TBD |I| Rsv. | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Loss Distance | Loss Period |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Threshold | Reserved. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
block type (BT): 8 bits
The Application Layer Burst Metrics Block is identified by the
constant <ALBM>.
Interval Metric flag (I): 1 bit
This field is used to indicate whether the metrics block is an
Interval or a Cumulative report,
rsvd: 7 bits
This field is reserved for future definition. In the absence of
such a definition, the bits in this field MUST be set to zero and
MUST be ignored by the receiver.
block length: 16 bits
The constant 2, in accordance with the definition of this field in
Section 3 of RFC 3611 [RFC3611].
Loss Distance: 16 bits
The average duration of periods between bursts. The mean
duration, expressed in milliseconds, of the gap periods that have
occurred since the beginning of reception [DSLF]. The duration of
each period is calculated based upon the frame packets that marks
the end of the prior burst and the frame packet that marks the
beginning of the subsequent burst. It is equal to the timestamp
of the subsequent burst frame packet, minus the timestamp of the
prior burst frame packet, plus the duration of the prior burst
frame packet. If the actual values are not available, estimated
values MUST be used. In the case of a gap that occurs at the
beginning of reception, the sum of the timestamp of the prior
burst packet and the duration of the prior burst packet are
replaced by the reception start time. In the case of a gap that
occurs at the end of reception, the timestamp of the subsequent
burst packet is replaced by the reception end time. If there have
Zorn, et al. Expires December 11, 2011 [Page 9]
Internet-Draft Application Layer Statistics Blocks June 2011
been no gap periods, the gap duration value MUST be zero.
Loss Period: 16 bits
The average duration of a burst of lost and discarded frames. The
mean duration, expressed in milliseconds, of the loss intervals
that have occurred since the beginning of reception [DSLF]. The
duration of each loss period is calculated based upon the frame
packets that mark the beginning and end of that period. It is
equal to the timestamp of the end frame, plus the duration of the
end frame, minus the timestamp of the beginning frame. If the
actual values are not available, estimated values MUST be used.
If there have been no burst periods, the burst duration value MUST
be zero.
Threshold: 16 bits
The maximum duration, expressed in milliseconds, of the loss
distance that have occurred since the beginning of reception.
Reserved: 16 bits
All bits SHALL be set to 0 by the sender and SHALL be ignored on
reception.
6. SDP Signaling
Three new parameters are defined for the three report blocks defined
in this document to be used with SDP [RFC4566] using the Augmented
Backus-Naur Form (ABNF) [RFC5234]. They have the following syntax
within the "rtcp-xr" attribute [RFC3611]:
Zorn, et al. Expires December 11, 2011 [Page 10]
Internet-Draft Application Layer Statistics Blocks June 2011
rtcp-xr-attrib = "a=rtcp-xr:"
[xr-format *(SP xr-format)] CRLF
xr-format =
/ application-loss-metrics
/ application-burst-metrics
/ application-stat-summary
application-burst-metrics = " application-burst-metrics"
["=" max-size]
max-size = 1*DIGIT ; maximum block size in octets
application--loss-metrics = " application-loss-metrics"
["=" stat-flag *("," stat-flag)]
stat-flag = "key Frame loss and duplication"
/ "derivation Frame loss and duplication"
application-stat-summary = "application-stat-summary"
["=" stat-flag *("," stat-flag)]
stat-flag = "key Frame loss and duplication"
/ "derivation Frame loss and duplication"
Refer to Section 5.1 of RFC 3611 [RFC3611] for a detailed description
and the full syntax of the "rtcp-xr" attribute.
7. IANA Considerations
New report block types for RTCP XR are subject to IANA registration.
For general guidelines on IANA allocations for RTCP XR, refer to
Section 6.2 of [RFC3611].
This document assigns three new block type value in the RTCP XR Block
Type Registry:
Name: ALSS
Long Name: Application Layer Statistics Summary
Value <ALSS>
Reference: Section 5.1
Name: ALLDM
Long Name: Application Layer Loss and Discard Metrics
Value <ALLDM>
Reference: Section 5.2
Zorn, et al. Expires December 11, 2011 [Page 11]
Internet-Draft Application Layer Statistics Blocks June 2011
Name: ALBM
Long Name: Application Layer Burst Metrics
Value <ALBM>
Reference: Section 5.3
This document also registers three new SDP [RFC4566] parameters for
the "rtcp-xr" attribute in the RTCP XR SDP Parameters Registry:
* "application-layer-loss-metrics"
* "application-layer-burst-metrics"
* "application-layer-stat-summary"
The contact information for the registrations is:
Glen Zorn
Network Zen
227/358 Thanon Sanphawut
Bang Na, Bangkok 10110
Thailand
8. Security Considerations
The new RTCP XR report blocks proposed in this document introduce no
new security considerations beyond those described in [RFC3611].
9. Acknowledgements
The authors would like to thank Bill Ver Steeg, David R. Oran, Ali
Begen, Colin Perkins, Roni Even, Youqing Yang, Wenxiao Yu and
Yinliang Hu for their valuable comments and suggestions on this
document.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control
Protocol Extended Reports (RTCP XR)", RFC 3611,
Zorn, et al. Expires December 11, 2011 [Page 12]
Internet-Draft Application Layer Statistics Blocks June 2011
November 2003.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
10.2. Informative References
[DSLF] Rahrer, T., Ed., Fiandra, R., Ed., and S. Wright, Ed.,
"Triple-play Services Quality of Experience (QoE)
Requirements", DSL Forum Technical Report TR-126,
December 2006, <http://www.broadband-forum.org/technical/
download/TR-126.pdf>.
[I-D.hunt-avtcore-monarch]
Hunt, G., Arden, P., and W. Wu, "Monitoring Architectures
for RTP", draft-hunt-avtcore-monarch-02 (work in
progress), March 2011.
[RFC2198] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V.,
Handley, M., Bolot, J., Vega-Garcia, A., and S. Fosse-
Parisis, "RTP Payload for Redundant Audio Data", RFC 2198,
September 1997.
[RFC3357] Koodli, R. and R. Ravikanth, "One-way Loss Pattern Sample
Metrics", RFC 3357, August 2002.
Appendix A. Change Log
This document is separated from
draft-wu-xrblock-rtcp-xr-quality-monitoring-01 with a few editorial
changes and focuses on application layer summary, loss, discard, and
burst metrics.
Zorn, et al. Expires December 11, 2011 [Page 13]
Internet-Draft Application Layer Statistics Blocks June 2011
Authors' Addresses
Glen Zorn
Network Zen
227/358 Thanon Sanphawut
Bang Na, Bangkok 10260
Thailand
Phone: +66 (0) 87-040-4617
Email: gwz@net-zen.net
Roland Schott
Deutsche Telekom
Deutsche-Telekom-Allee 7
Darmstadt 64295
Germany
Email: Roland.Schott@telekom.de
Qin Wu
Huawei
101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012
China
Email: sunseawq@huawei.com
Rachel Huang
Huawei
101 Software Avenue, Yuhua District
Nanjing 210012
China
Email: Rachel@huawei.com
Zorn, et al. Expires December 11, 2011 [Page 14]