draft-ietf-avtext-multiple-clock-rates-00.txt   draft-ietf-avtext-multiple-clock-rates-01.txt 
Network Working Group M. Petit-Huguenin Network Working Group M. Petit-Huguenin
Internet-Draft Stonyfish, Inc. Internet-Draft Stonyfish, Inc.
Updates: 3550 (if approved) June 1, 2011 Updates: 3550 (if approved) July 11, 2011
Intended status: Standards Track Intended status: Standards Track
Expires: December 3, 2011 Expires: January 12, 2012
Support for multiple clock rates in an RTP session Support for multiple clock rates in an RTP session
draft-ietf-avtext-multiple-clock-rates-00 draft-ietf-avtext-multiple-clock-rates-01
Abstract Abstract
This document clarifies the RTP specification when different clock This document clarifies the RTP specification when different clock
rates are used in an RTP session. It also provides guidance on how rates are used in an RTP session. It also provides guidance on how
to interoperate with legacy RTP implementations that use multiple to interoperate with legacy RTP implementations that use multiple
clock rates. clock rates.
Status of this Memo Status of this Memo
skipping to change at page 1, line 34 skipping to change at page 1, line 34
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 December 3, 2011. This Internet-Draft will expire on January 12, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 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 17 skipping to change at page 2, line 17
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Legacy RTP . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Legacy RTP . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Different SSRC . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Different SSRC . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Same SSRC . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Same SSRC . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1. Monotonic timestamps . . . . . . . . . . . . . . . . . 4 2.2.1. Monotonic timestamps . . . . . . . . . . . . . . . . . 4
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 6 4. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. RTP Sender . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. RTP Sender . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2. RTP Receiver . . . . . . . . . . . . . . . . . . . . . . . 7 4.2. RTP Receiver . . . . . . . . . . . . . . . . . . . . . . . 7
5. Interoperability Analysis . . . . . . . . . . . . . . . . . . 7 5. Interoperability Analysis . . . . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.1. Normative References . . . . . . . . . . . . . . . . . . . 8 9.1. Normative References . . . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . . 8 9.2. Informative References . . . . . . . . . . . . . . . . . . 8
Appendix A. Using a fixed clock rate . . . . . . . . . . . . . . 9 Appendix A. Using a fixed clock rate . . . . . . . . . . . . . . 9
Appendix B. Release notes . . . . . . . . . . . . . . . . . . . . 9 Appendix B. Release notes . . . . . . . . . . . . . . . . . . . . 9
B.1. Modifications between B.1. Modifications between
draft-ietf-avtext-multiple-clock-rates-01 and
draft-ietf-avtext-multiple-clock-rates-00 . . . . . . . . 9
B.2. Modifications between
draft-ietf-avtext-multiple-clock-rates-00 and draft-ietf-avtext-multiple-clock-rates-00 and
draft-petithuguenin-avtext-multiple-clock-rates-01 . . . . 9 draft-petithuguenin-avtext-multiple-clock-rates-01 . . . . 9
B.2. Modifications between
draft-petithuguenin-avtext-multiple-clock-rates-01 and
draft-petithuguenin-avtext-multiple-clock-rates-00 . . . . 9
B.3. Modifications between B.3. Modifications between
draft-petithuguenin-avtext-multiple-clock-rates-00 and draft-petithuguenin-avtext-multiple-clock-rates-01 and
draft-petithuguenin-avt-multiple-clock-rates-03 . . . . . 9 draft-petithuguenin-avtext-multiple-clock-rates-00 . . . . 10
B.4. Modifications between B.4. Modifications between
draft-petithuguenin-avtext-multiple-clock-rates-00 and
draft-petithuguenin-avt-multiple-clock-rates-03 . . . . . 10
B.5. Modifications between
draft-petithuguenin-avt-multiple-clock-rates-03 and draft-petithuguenin-avt-multiple-clock-rates-03 and
draft-petithuguenin-avt-multiple-clock-rates-02 . . . . . 10 draft-petithuguenin-avt-multiple-clock-rates-02 . . . . . 10
B.5. Modifications between B.6. Modifications between
draft-petithuguenin-avt-multiple-clock-rates-02 and draft-petithuguenin-avt-multiple-clock-rates-02 and
draft-petithuguenin-avt-multiple-clock-rates-01 . . . . . 10 draft-petithuguenin-avt-multiple-clock-rates-01 . . . . . 10
B.6. Modifications between B.7. Modifications between
draft-petithuguenin-avt-multiple-clock-rates-01 and draft-petithuguenin-avt-multiple-clock-rates-01 and
draft-petithuguenin-avt-multiple-clock-rates-00 . . . . . 10 draft-petithuguenin-avt-multiple-clock-rates-00 . . . . . 10
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 10 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
The clock rate is a parameter of the payload format. It is often The clock rate is a parameter of the payload format. It is often
defined as been the same as the sampling rate but it is not always defined as been the same as the sampling rate but it is not always
the case (see e.g. the G722 and MPA audio codecs in [RFC3551]). the case (see e.g. the G722 and MPA audio codecs in [RFC3551]).
skipping to change at page 3, line 51 skipping to change at page 3, line 51
| dev_jitter | XR Summary Block | [RFC3611] | | dev_jitter | XR Summary Block | [RFC3611] |
| Interarrival jitter | IJ | [RFC5450] | | Interarrival jitter | IJ | [RFC5450] |
| RTP timestamp | SMPTETC | [RFC5484] | | RTP timestamp | SMPTETC | [RFC5484] |
| Jitter | RSI Jitter Block | [RFC5760] | | Jitter | RSI Jitter Block | [RFC5760] |
| Median jitter | RSI Stats Block | [RFC5760] | | Median jitter | RSI Stats Block | [RFC5760] |
+---------------------+------------------+-----------+ +---------------------+------------------+-----------+
Table 1 Table 1
This document first tries to list in Section 2 and subsections all This document first tries to list in Section 2 and subsections all
the various algorithms used by existing RTP implementations. This known algorithms used in existing RTP implementations at the time of
sections are not normative. writing. This sections are not normative.
Section 4 and subsections then recommend a unique algorithm that Section 4 and subsections then recommend a unique algorithm that
modifies [RFC3550]. This sections are normative. modifies [RFC3550]. This sections are normative.
Section 5 and subsections then analyze what happen when the legacy Section 5 and subsections then analyze what happen when the legacy
algorithms listed in Section 2 are used with the new algorithm listed algorithms listed in Section 2 are used with the new algorithm listed
in Section 4. This sections are not normative. in Section 4. This sections are not normative.
2. Legacy RTP 2. Legacy RTP
skipping to change at page 6, line 42 skipping to change at page 6, line 42
start_offset = (capture_time - capture_start) * previous_clock_rate start_offset = (capture_time - capture_start) * previous_clock_rate
capture_start = capture_time capture_start = capture_time
For the first RTP packet, the values are initialized with the For the first RTP packet, the values are initialized with the
following formulas: following formulas:
start_offset = 0 start_offset = 0
capture_start = capture_time capture_start = capture_time
After eventualy updating this values, the RTP timestamp is calculated After eventually updating this values, the RTP timestamp is
with the following formula: calculated with the following formula:
timestamp = (capture_time - capture_start) * clock_rate + timestamp = (capture_time - capture_start) * clock_rate +
start_offset start_offset
Note that in all the formulas, capture_time is the first instant the
new timestamp rate is used.
An RTP Sender with RTCP turned on MUST use a different SSRC for each An RTP Sender with RTCP turned on MUST use a different SSRC for each
different clock rate. An RTCP BYE MUST be sent and a new SSRC MUST different clock rate. An RTCP BYE MUST be sent and a new SSRC MUST
be used if the clock rate switches back to a value already seen in be used if the clock rate switches back to a value already seen in
the RTP stream. the RTP stream.
To accelerate lip synchronization, the next compound RTCP packet sent To accelerate lip synchronization, the next compound RTCP packet sent
by the RTP sender MUST contain multiple SR packets, the first one by the RTP sender MUST contain multiple SR packets, the first one
containing the mapping for the current clock rate and the next SR containing the mapping for the current clock rate and the next SR
packets containing the mapping for the other clock rates seen during packets containing the mapping for the other clock rates seen during
the last period. the last period.
skipping to change at page 9, line 30 skipping to change at page 9, line 35
Appendix A. Using a fixed clock rate Appendix A. Using a fixed clock rate
An alternate way of fixing the multiple clock rates issue was An alternate way of fixing the multiple clock rates issue was
proposed in [uRTR]. This document proposed to define a unified clock proposed in [uRTR]. This document proposed to define a unified clock
rate, but the proposal was rejected at IETF 61. rate, but the proposal was rejected at IETF 61.
Appendix B. Release notes Appendix B. Release notes
This section must be removed before publication as an RFC. This section must be removed before publication as an RFC.
B.1. Modifications between draft-ietf-avtext-multiple-clock-rates-00 B.1. Modifications between draft-ietf-avtext-multiple-clock-rates-01
and draft-ietf-avtext-multiple-clock-rates-00
o New text says that the algorithms listed are the one currently
known.
o Explains capture_time.
o Nits.
B.2. Modifications between draft-ietf-avtext-multiple-clock-rates-00
and draft-petithuguenin-avtext-multiple-clock-rates-01 and draft-petithuguenin-avtext-multiple-clock-rates-01
o Changed capture_state to capture_start. o Changed capture_state to capture_start.
B.2. Modifications between B.3. Modifications between
draft-petithuguenin-avtext-multiple-clock-rates-01 and draft-petithuguenin-avtext-multiple-clock-rates-01 and
draft-petithuguenin-avtext-multiple-clock-rates-00 draft-petithuguenin-avtext-multiple-clock-rates-00
o Clarified the goals for this documents o Clarified the goals for this documents
o Removed the non-monotonic method (replaced by Magnus formula). o Removed the non-monotonic method (replaced by Magnus formula).
o Moved the "RTP Sender and RTP Receiver section inside a new o Moved the "RTP Sender and RTP Receiver section inside a new
"Recommendations" section. "Recommendations" section.
o Inserted the new Sender formula inside the Recommendation section. o Inserted the new Sender formula inside the Recommendation section.
o Inserted the new jitter formula in the RTP Receiver section. o Inserted the new jitter formula in the RTP Receiver section.
o Emptied the Analysis sections. o Emptied the Analysis sections.
B.3. Modifications between B.4. Modifications between
draft-petithuguenin-avtext-multiple-clock-rates-00 and draft-petithuguenin-avtext-multiple-clock-rates-00 and
draft-petithuguenin-avt-multiple-clock-rates-03 draft-petithuguenin-avt-multiple-clock-rates-03
o Initial release for avtext WG. o Initial release for avtext WG.
B.4. Modifications between B.5. Modifications between
draft-petithuguenin-avt-multiple-clock-rates-03 and draft-petithuguenin-avt-multiple-clock-rates-03 and
draft-petithuguenin-avt-multiple-clock-rates-02 draft-petithuguenin-avt-multiple-clock-rates-02
o Updated RFC reference. o Updated RFC reference.
B.5. Modifications between B.6. Modifications between
draft-petithuguenin-avt-multiple-clock-rates-02 and draft-petithuguenin-avt-multiple-clock-rates-02 and
draft-petithuguenin-avt-multiple-clock-rates-01 draft-petithuguenin-avt-multiple-clock-rates-01
o Having multiple SRs in a compound RTCP packet is OK. o Having multiple SRs in a compound RTCP packet is OK.
o If RTCP is used, must send a BYE and not reuse the SSRC. o If RTCP is used, must send a BYE and not reuse the SSRC.
o Removed resolved notes. o Removed resolved notes.
o Acknowledged SIPit 26 survey. o Acknowledged SIPit 26 survey.
o Fixed some nits. o Fixed some nits.
B.6. Modifications between B.7. Modifications between
draft-petithuguenin-avt-multiple-clock-rates-01 and draft-petithuguenin-avt-multiple-clock-rates-01 and
draft-petithuguenin-avt-multiple-clock-rates-00 draft-petithuguenin-avt-multiple-clock-rates-00
o Complete rewrite as a Standard Track I-D modifying RFC 3550. o Complete rewrite as a Standard Track I-D modifying RFC 3550.
Author's Address Author's Address
Marc Petit-Huguenin Marc Petit-Huguenin
Stonyfish, Inc. Stonyfish, Inc.
 End of changes. 20 change blocks. 
22 lines changed or deleted 36 lines changed or added

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