draft-ietf-payload-rtp-ttml-03.txt   draft-ietf-payload-rtp-ttml-04.txt 
A/V Transport Payloads Workgroup J. Sandford A/V Transport Payloads Workgroup J. Sandford
Internet-Draft British Broadcasting Corporation Internet-Draft British Broadcasting Corporation
Intended status: Standards Track October 7, 2019 Intended status: Standards Track 25 October 2019
Expires: April 9, 2020 Expires: 27 April 2020
RTP Payload for TTML Timed Text RTP Payload for TTML Timed Text
draft-ietf-payload-rtp-ttml-03 draft-ietf-payload-rtp-ttml-04
Abstract Abstract
This memo describes a Real-time Transport Protocol (RTP) payload This memo describes a Real-time Transport Protocol (RTP) payload
format for TTML, an XML based timed text format for live and file format for TTML, an XML based timed text format for live and file
based workflows from W3C. This payload format is specifically based workflows from W3C. This payload format is specifically
targeted at live workflows using TTML. targeted at live workflows using TTML.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 https://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 April 9, 2020. This Internet-Draft will expire on 27 April 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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 (https://trustee.ietf.org/
(http://trustee.ietf.org/license-info) in effect on the date of license-info) in effect on the date of publication of this document.
publication of this document. Please review these documents Please review these documents carefully, as they describe your rights
carefully, as they describe your rights and restrictions with respect and restrictions with respect to this document. Code Components
to this document. Code Components extracted from this document must extracted from this document must include Simplified BSD License text
include Simplified BSD License text as described in Section 4.e of as described in Section 4.e of the Trust Legal Provisions and are
the Trust Legal Provisions and are provided without warranty as provided without warranty as described in the Simplified BSD License.
described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions, Definitions, and Abbreviations . . . . . . . . . 2 2. Conventions, Definitions, and Abbreviations . . . . . . . . . 2
3. Media Format Description . . . . . . . . . . . . . . . . . . 3 3. Media Format Description . . . . . . . . . . . . . . . . . . 3
3.1. Relation to Other Text Payload Types . . . . . . . . . . 3 3.1. Relation to Other Text Payload Types . . . . . . . . . . 3
3.2. TTML2 . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2. TTML2 . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Payload Format . . . . . . . . . . . . . . . . . . . . . . . 3 4. Payload Format . . . . . . . . . . . . . . . . . . . . . . . 3
4.1. RTP Header Usage . . . . . . . . . . . . . . . . . . . . 4 4.1. RTP Header Usage . . . . . . . . . . . . . . . . . . . . 4
4.2. Payload Data . . . . . . . . . . . . . . . . . . . . . . 5 4.2. Payload Data . . . . . . . . . . . . . . . . . . . . . . 5
4.2.1. TTML Profile for RTP Carriage . . . . . . . . . . . . 5 5. Payload content restrictions . . . . . . . . . . . . . . . . 5
5. Payload Examples . . . . . . . . . . . . . . . . . . . . . . 9 6. Payload processing requirements . . . . . . . . . . . . . . . 6
6. Congestion Control Considerations . . . . . . . . . . . . . . 10 6.1. TTML Processor profile . . . . . . . . . . . . . . . . . 7
7. Payload Format Parameters . . . . . . . . . . . . . . . . . . 11 6.1.1. Feature extension designation . . . . . . . . . . . . 7
7.1. Clock Rate . . . . . . . . . . . . . . . . . . . . . . . 11 6.1.2. Processor profile document . . . . . . . . . . . . . 7
7.2. Mapping to SDP . . . . . . . . . . . . . . . . . . . . . 11 6.1.3. Processor profile signalling . . . . . . . . . . . . 8
7.2.1. Examples . . . . . . . . . . . . . . . . . . . . . . 12 7. Payload Examples . . . . . . . . . . . . . . . . . . . . . . 9
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 8. Fragmentation of TTML Documents . . . . . . . . . . . . . . . 11
9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 9. Protection Against Loss of Data . . . . . . . . . . . . . . . 11
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 10. Congestion Control Considerations . . . . . . . . . . . . . . 11
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 11. Payload Format Parameters . . . . . . . . . . . . . . . . . . 12
11.1. Normative References . . . . . . . . . . . . . . . . . . 13 11.1. Clock Rate . . . . . . . . . . . . . . . . . . . . . . . 12
11.2. Informative References . . . . . . . . . . . . . . . . . 15 11.2. Mapping to SDP . . . . . . . . . . . . . . . . . . . . . 12
Appendix A. RFC Editor Considerations . . . . . . . . . . . . . 16 11.2.1. Examples . . . . . . . . . . . . . . . . . . . . . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16 11.3. Offer/Answer Considerations . . . . . . . . . . . . . . 13
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
13. Security Considerations . . . . . . . . . . . . . . . . . . . 13
14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14
15. Normative References . . . . . . . . . . . . . . . . . . . . 14
16. Informative References . . . . . . . . . . . . . . . . . . . 16
Appendix A. RFC Editor Considerations . . . . . . . . . . . . . 17
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction 1. Introduction
TTML (Timed Text Markup Language)[TTML2] is a media type for TTML (Timed Text Markup Language)[TTML2] is a media type for
describing timed text such as closed captions (also known as describing timed text such as closed captions and subtitles in
subtitles) in television workflows or broadcasts as XML. This television workflows or broadcasts as XML. This document specifies
document specifies how TTML should be mapped into an RTP stream in how TTML should be mapped into an RTP stream in live workflows
live workflows including, but not restricted to, those described in including, but not restricted to, those described in the television
the television broadcast oriented EBU-TT Part 3[TECH3370] broadcast oriented EBU-TT Part 3[TECH3370] specification. This
specification. This document does not define a media type for TTML document does not define a media type for TTML but makes use of the
but makes use of the existing application/ttml+xml media type existing application/ttml+xml media type [TTML-MTPR].
[TTML-MTPR].
2. Conventions, Definitions, and Abbreviations 2. Conventions, Definitions, and Abbreviations
Unless otherwise stated, the term "document" refers to the TTML Unless otherwise stated, the term "document" refers to the TTML
document being transmitted in the payload of the RTP packet(s). document being transmitted in the payload of the RTP packet(s).
The term "word" refers to byte aligned or 32-bit aligned words of The term "word" refers to a data word aligned to a specified number
data in a computing sense and not to refer to linguistic words that of bits in a computing sense and not to refer to linguistic words
might appear in the transported text. that might appear in the transported text.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Media Format Description 3. Media Format Description
3.1. Relation to Other Text Payload Types 3.1. Relation to Other Text Payload Types
skipping to change at page 4, line 5 skipping to change at page 4, line 5
4. Payload Format 4. Payload Format
In addition to the required RTP headers, the payload contains a In addition to the required RTP headers, the payload contains a
section for the TTML document being transmitted (User Data Words), section for the TTML document being transmitted (User Data Words),
and a field for the Length of that data. Each RTP payload contains and a field for the Length of that data. Each RTP payload contains
one or part of one TTML document. one or part of one TTML document.
A representation of the payload format for TTML is Figure 1. A representation of the payload format for TTML is Figure 1.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| PT | Sequence Number | |V=2|P|X| CC |M| PT | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp | | Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Synchronization Source (SSRC) Identifier | | Synchronization Source (SSRC) Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Length | | Reserved | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| User Data Words... | User Data Words...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: RTP Payload Format for TTML Figure 1: RTP Payload Format for TTML
4.1. RTP Header Usage 4.1. RTP Header Usage
RTP packet header fields SHALL be interpreted as per RFC 3550 RTP packet header fields SHALL be interpreted as per RFC 3550
[RFC3550], with the following specifics: [RFC3550], with the following specifics:
Marker Bit (M): 1 bit Marker Bit (M): 1 bit The Marker Bit is set to "1" to indicate the
The Marker Bit is set to "1" to indicate the last packet of a last packet of a document. Otherwise set to "0". Note: The first
document. Otherwise set to "0". Note: The first packet might packet might also be the last.
also be the last.
Timestamp: 32 bits Timestamp: 32 bits The RTP Timestamp encodes the epoch of the TTML
The RTP Timestamp encodes the time of the text in the packet. The document in User Data Words. Further detail on its usage may be
clock frequency used is dependent on the application and is found in Section 6. The clock frequency used is dependent on the
specified in the media type rate parameter as per Section 7.1. application and is specified in the media type rate parameter as
Documents spread across multiple packets MUST use the same per Section 11.1. Documents spread across multiple packets MUST
timestamp but different consecutive Sequence Numbers. Sequential use the same timestamp but different consecutive Sequence Numbers.
documents MUST NOT use the same timestamp. Because packets do not Sequential documents MUST NOT use the same timestamp. Because
represent any constant duration, the timestamp cannot be used to packets do not represent any constant duration, the timestamp
directly infer packet loss. cannot be used to directly infer packet loss.
Reserved: 16 bits Reserved: 16 bits These bits are reserved for future use and MUST be
These bits are reserved for future use and MUST be set to 0x0. set to 0x0 and ignored at receive.
Length: 16 bits Length: 16 bits The length of User Data Words in bytes.
The length of User Data Words in bytes.
User Data Words: The length of User Data Words MUST match the value User Data Words: The length of User Data Words MUST match the
specified in the Length field value specified in the Length field User
User Data Words contains the text of the whole document being Data Words contains the text of the whole document being
transmitted or a part of the document being transmitted. transmitted or a part of the document being transmitted.
Documents using character encodings where characters are not Documents using character encodings where characters are not
represented by a single byte MUST be serialized in big endian represented by a single byte MUST be serialized in big endian
order, a.k.a. network byte order. When the document spans more order, a.k.a. network byte order. Where a document will not fit
than one RTP packet, the entire document is obtained by within the MTU, it may be fragmented across multiple packets.
concatenating User Data Words from each contributing packet in Further detail on fragmentation may be found in Section 8.
ascending order of Sequence Number. Note that the length of each
data word depends on the character encoding used: for UTF-8 a word
is 8 bits, while it is 16 bits for UTF-16.
4.2. Payload Data 4.2. Payload Data
Documents carried in User Data Words are encoded in accordance with TTML documents define a series of changes to text over time. TTML
one of the defined TTML profiles specified in the TTML registry documents carried in User Data Words are encoded in accordance with
[TTML-MTPR]. These profiles specify the document structure used, one or more of the defined TTML profiles specified in the TTML
systems models, timing, and other considerations. registry [TTML-MTPR]. These profiles specify the document structure
used, systems models, timing, and other considerations. TTML
Additionally, documents carried over RTP MUST conform to the profiles may restrict the complexity of the changes and operational
following profile. requirements may limit the maximum duration of TTML documents by a
deployment configuration. Both of these cases are out of scope of
this document.
4.2.1. TTML Profile for RTP Carriage Documents carried over RTP MUST conform to the following profile in
addition to any others used.
This section defines constraints on the content and processing of the 5. Payload content restrictions
TTML payload for RTP carriage.
4.2.1.1. Payload content restrictions This section defines constraints on the content of TTML documents
carried over RTP.
Multiple TTML subtitle streams MUST NOT be interleaved in a single Multiple TTML subtitle streams MUST NOT be interleaved in a single
RTP stream. RTP stream.
The TTML document instance MUST use the "media" value of the The TTML document instance's root "tt" element in the
"ttp:timeBase" parameter attribute on the root element. "http://www.w3.org/ns/ttml" namespace MUST include a "timeBase"
attribute in the "http://www.w3.org/ns/ttml#parameter" namespace
containing the value "media".
This is equivalent to the following TTML2 content profile definition This is equivalent to the TTML2 content profile definition document
document: in Figure 2.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<profile xmlns="http://www.w3.org/ns/ttml#parameter" <profile xmlns="http://www.w3.org/ns/ttml#parameter"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tt="http://www.w3.org/ns/ttml" xmlns:tt="http://www.w3.org/ns/ttml"
type="content" type="content"
designator="urn:ietf:rfc:XXXX#content" designator="urn:ietf:rfc:XXXX#content"
combine="mostRestrictive"> combine="mostRestrictive">
<features xml:base="http://www.w3.org/ns/ttml/feature/"> <features xml:base="http://www.w3.org/ns/ttml/feature/">
<tt:metadata> <tt:metadata>
<ttm:desc> <ttm:desc>
This document is a minimal TTML2 content profile This document is a minimal TTML2 content profile
definition document intended to express the minimal definition document intended to express the
requirements to apply when carrying TTML over RTP. minimal requirements to apply when carrying TTML
</ttm:desc> over RTP.
</tt:metadata> </ttm:desc>
<feature value="required">#timeBase-media</feature> </tt:metadata>
<feature value="prohibited">#timeBase-smpte</feature> <feature value="required">#timeBase-media</feature>
<feature value="prohibited">#timeBase-clock</feature> <feature value="prohibited">#timeBase-smpte</feature>
</features> <feature value="prohibited">#timeBase-clock</feature>
</profile> </features>
</profile>
4.2.1.2. Payload processing requirements Figure 2: TTML2 Content Profile Definition for Documents Carried
Over RTP
If the TTML document payload is assessed to be invalid then it MUST 6. Payload processing requirements
be discarded. When processing a valid document, the following
This section defines constraints on the processing of the TTML
documents carried over RTP.
If a TTML document is assessed to be invalid then it MUST be
discarded. When processing a valid document, the following
requirements apply. requirements apply.
Each TTML document becomes active at the epoch E. E MUST be set to Each TTML document becomes active at its epoch E. E MUST be set to
the RTP Timestamp in the header of the RTP packet carrying the TTML the RTP Timestamp in the header of the RTP packet carrying the TTML
document. Computed TTML media times are offset relative to E. document. Computed TTML media times are offset relative to E in
accordance with Section I.2 of [TTML2].
When processing a sequence of TTML documents each delivered in the When processing a sequence of TTML documents each delivered in the
same RTP stream, exactly zero or one document SHALL be considered same RTP stream, exactly zero or one document SHALL be considered
active at each moment in the RTP time line. In the event that a active at each moment in the RTP time line. In the event that a
document D_(n-1) with E_(n-1) is active, and document D_(n) is document D_(n-1) with E_(n-1) is active, and document D_(n) is
delivered with E_(n) where E_(n-1) < E_(n), processing of D_(n-1) delivered with E_(n) where E_(n-1) < E_(n), processing of D_(n-1)
MUST be stopped at E_(n) and processing of D_(n) MUST begin. MUST be stopped at E_(n) and processing of D_(n) MUST begin.
When all defined content within a document has ended then processing When all defined content within a document has ended then processing
of the document MAY be stopped. This can be tested by constructing of the document MAY be stopped. This can be tested by constructing
the intermediate synchronic document sequence from the document, as the intermediate synchronic document sequence from the document, as
defined by TTML2. If the last intermediate synchronic document in defined by [TTML2]. If the last intermediate synchronic document in
the sequence is both active and contains no region elements, then all the sequence is both active and contains no region elements, then all
defined content within the document has ended. defined content within the document has ended.
4.2.1.2.1. TTML Processor profile As described above, the RTP Timestamp does not specify the exact
timing of the media in this payload format. Additionally, documents
may be fragmented across multiple packets. This renders the RTCP
jitter calculation unusable.
4.2.1.2.1.1. Feature extension designation 6.1. TTML Processor profile
6.1.1. Feature extension designation
This specification defines the following TTML feature extension This specification defines the following TTML feature extension
designation: designation:
o urn:ietf:rfc:XXXX#rtp-relative-media-time * urn:ietf:rfc:XXXX#rtp-relative-media-time
The namespace "urn:ietf:rfc:XXXX" is as defined by [RFC2648]. The namespace "urn:ietf:rfc:XXXX" is as defined by [RFC2648].
A TTML content processor supports the "#rtp-relative-media-time" A TTML content processor supports the "#rtp-relative-media-time"
feature extension if it processes media times in accordance with the feature extension if it processes media times in accordance with the
payload processing requirements specified in this document, i.e. that payload processing requirements specified in this document, i.e. that
the epoch E is set to the time equivalent to the RTP Timestamp as the epoch E is set to the time equivalent to the RTP Timestamp as
detailed above in Section 4.2.1.2. detailed above in Section 6.
4.2.1.2.1.2. Processor profile document 6.1.2. Processor profile document
The required syntax and semantics declared in the following minimal The required syntax and semantics declared in the minimal TTML2
TTML2 processor profile MUST be supported by the receiver, as processor profile in Figure 3 MUST be supported by the receiver, as
signified by those "feature" or "extension" elements whose "value" signified by those "feature" or "extension" elements whose "value"
attribute is set to "required": attribute is set to "required".
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<profile xmlns="http://www.w3.org/ns/ttml#parameter" <profile xmlns="http://www.w3.org/ns/ttml#parameter"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tt="http://www.w3.org/ns/ttml" xmlns:tt="http://www.w3.org/ns/ttml"
type="processor" type="processor"
designator="urn:ietf:rfc:XXXX#processor" designator="urn:ietf:rfc:XXXX#processor"
combine="mostRestrictive"> combine="mostRestrictive">
<features xml:base="http://www.w3.org/ns/ttml/feature/"> <features xml:base="http://www.w3.org/ns/ttml/feature/">
<tt:metadata> <tt:metadata>
<ttm:desc> <ttm:desc>
This document is a minimal TTML2 processor profile This document is a minimal TTML2 processor profile
definition document intended to express the minimal definition document intended to express the
requirements of a TTML processor able to process TTML minimal requirements of a TTML processor able to
delivered over RTP according to RFC XXXX. process TTML delivered over RTP according to
</ttm:desc> RFC XXXX.
</tt:metadata> </ttm:desc>
<feature value="required">#timeBase-media</feature> </tt:metadata>
<feature value="optional">#profile-full-version-2</feature> <feature value="required">#timeBase-media</feature>
</features> <feature value="optional">
<extensions xml:base="urn:ietf:rfc:XXXX"> #profile-full-version-2
<extension restricts="#timeBase-media" value="required"> </feature>
#rtp-relative-media-time </features>
</extension> <extensions xml:base="urn:ietf:rfc:XXXX">
</extensions> <extension restricts="#timeBase-media" value="required">
</profile> #rtp-relative-media-time
</extension>
</extensions>
</profile>
Figure 3: TTML2 Processor Profile Definition for Processing
Documents Carried Over RTP
Note that this requirement does not imply that the receiver needs to Note that this requirement does not imply that the receiver needs to
support either TTML1 or TTML2 profile processing, i.e. the TTML2 support either TTML1 or TTML2 profile processing, i.e. the TTML2
"#profile-full-version-2" feature or any of its dependent features. "#profile-full-version-2" feature or any of its dependent features.
4.2.1.2.1.3. Processor profile signalling 6.1.3. Processor profile signalling
The "codecs" media type parameter MUST specify at least one processor The "codecs" media type parameter MUST specify at least one processor
profile. Short codes for TTML profiles are registered at profile. Short codes for TTML profiles are registered at
[TTML-MTPR]. The processor profiles specified in "codecs" MUST be [TTML-MTPR]. The processor profiles specified in "codecs" MUST be
compatible with the processor profile specified in this document. compatible with the processor profile specified in this document.
Where multiple options exist in "codecs" for possible processor Where multiple options exist in "codecs" for possible processor
profile combinations (i.e. separated by "|" operator), every profile combinations (i.e. separated by "|" operator), every
permitted option MUST be compatible with the processor profile permitted option MUST be compatible with the processor profile
specified in this document. Where processor profiles other than the specified in this document. Where processor profiles other than the
one specified in this document are advertised in the "codecs" one specified in this document are advertised in the "codecs"
skipping to change at page 9, line 8 skipping to change at page 9, line 14
this document MAY be signalled additionally using the "+" operator this document MAY be signalled additionally using the "+" operator
with its registered short code. with its registered short code.
A processor profile (X) is compatible with the processor profile A processor profile (X) is compatible with the processor profile
specified here (P) if X includes all the features and extensions in specified here (P) if X includes all the features and extensions in
P, identified by their character content, and the "value" attribute P, identified by their character content, and the "value" attribute
of each is at least as restrictive as the "value" attribute of the of each is at least as restrictive as the "value" attribute of the
feature or extension in P that has the same character content. The feature or extension in P that has the same character content. The
term "restrictive" here is as defined in [TTML2] Section 6. term "restrictive" here is as defined in [TTML2] Section 6.
5. Payload Examples 7. Payload Examples
The following is an example of a valid TTML document that may be Figure 4 is an example of a valid TTML document that may be carried
carried using the payload format described in this document: using the payload format described in this document.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en" <tt xml:lang="en"
xmlns="http://www.w3.org/ns/ttml" xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter" xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:tts="http://www.w3.org/ns/ttml#styling"
ttp:timeBase="media" ttp:timeBase="media"
> >
<head> <head>
<metadata> <metadata>
<ttm:title>Timed Text TTML Example</ttm:title> <ttm:title>Timed Text TTML Example</ttm:title>
<ttm:copyright>The Authors (c) 2006</ttm:copyright> <ttm:copyright>The Authors (c) 2006</ttm:copyright>
</metadata> </metadata>
<styling> <styling>
<!-- s1 specifies default color, font, and text alignment --> <!--
<style xml:id="s1" s1 specifies default color, font, and text alignment
tts:color="white" -->
tts:fontFamily="proportionalSansSerif" <style xml:id="s1"
tts:fontSize="100%" tts:color="white"
tts:textAlign="center" tts:fontFamily="proportionalSansSerif"
/> tts:fontSize="100%"
</styling> tts:textAlign="center"
<layout> />
<region xml:id="subtitleArea" </styling>
style="s1" <layout>
tts:extent="78% 11%" <region xml:id="subtitleArea"
tts:padding="1% 5%" style="s1"
tts:backgroundColor="black" tts:extent="78% 11%"
tts:displayAlign="after" tts:padding="1% 5%"
/> tts:backgroundColor="black"
</layout> tts:displayAlign="after"
</head> />
<body region="subtitleArea"> </layout>
<div> </head>
<p xml:id="subtitle1" dur="5.0s" style="s1"> <body region="subtitleArea">
How truly delightful! <div>
</p> <p xml:id="subtitle1" dur="5.0s" style="s1">
</div> How truly delightful!
</body> </p>
</tt> </div>
</body>
</tt>
6. Congestion Control Considerations Figure 4: Example TTML Document
8. Fragmentation of TTML Documents
Many of the use cases for TTML are low bit-rate with RTP packets
expected to fit within the MTU. However, some documents may exceed
the MTU. In these cases, they may be split between multiple packets.
Where fragmentation is used, the following guidelines MUST be
followed:
* It is RECOMMENDED that documents be fragmented as seldom as
possible, i.e., the least possible number of fragments is created
out of a document.
* Text strings MUST split at character boundaries. This enables
decoding of partial documents. As a consequence, document
fragmentation requires knowledge of the UTF-8/UTF-16 encoding
formats to determine character boundaries.
* Document fragments SHOULD be protected against packet losses.
More information can be found in Section 9
When a document spans more than one RTP packet, the entire document
is obtained by concatenating User Data Words from each contributing
packet in ascending order of Sequence Number.
9. Protection Against Loss of Data
Consideration must be devoted to keeping loss of documents due to
packet loss within acceptable limits. What is deemed acceptable
limits is dependant on the TTML profile(s) used and use case among
other things. As such, specific limits are outside the scope of this
document.
Documents MAY be sent without additional protection if end-to-end
network conditions allow document loss to be within acceptable limits
in all anticipated load conditions. Where such guarantees cannot be
provided, implementations MUST use a mechanism to protect against
packet loss. Potential mechanisms include FEC [RFC2733],
retransmission [RFC4588], duplication [ST2022-7], or an equivalent
technique.
10. Congestion Control Considerations
Congestion control for RTP SHALL be used in accordance with Congestion control for RTP SHALL be used in accordance with
[RFC3550], and with any applicable RTP profile: e.g., [RFC3551]. [RFC3550], and with any applicable RTP profile: e.g., [RFC3551].
Circuit Breakers [RFC8083] is an update to RTP [RFC3550] that defines Circuit Breakers [RFC8083] is an update to RTP [RFC3550] that defines
criteria for when one is required to stop sending RTP Packet Streams. criteria for when one is required to stop sending RTP Packet Streams.
Applications implementing this standard MUST comply with [RFC8083] Applications implementing this standard MUST comply with [RFC8083]
with particular attention paid to Section 4.4 on Media Usability. with particular attention paid to Section 4.4 on Media Usability.
[RFC8085] provides additional information on the best practices for [RFC8085] provides additional information on the best practices for
applying congestion control to UDP streams. applying congestion control to UDP streams.
7. Payload Format Parameters 11. Payload Format Parameters
This RTP payload format is identified using the existing application/ This RTP payload format is identified using the existing application/
ttml+xml media type as registered with IANA [IANA] and defined in ttml+xml media type as registered with IANA [IANA] and defined in
[TTML-MTPR]. [TTML-MTPR].
7.1. Clock Rate 11.1. Clock Rate
The default clock rate for TTML over RTP is 1000Hz. The clock rate The default clock rate for TTML over RTP is 1000Hz. The clock rate
SHOULD be included in any advertisements of the RTP stream where SHOULD be included in any advertisements of the RTP stream where
possible. This parameter has not been added to the media type possible. This parameter has not been added to the media type
definition as it is not applicable to TTML usage other than within definition as it is not applicable to TTML usage other than within
RTP streams. In other contexts, timing is defined within the TTML RTP streams. In other contexts, timing is defined within the TTML
document. document.
When choosing a clock rate, implementers should consider what other When choosing a clock rate, implementers should consider what other
media their TTML streams may be used in conjunction with (e.g. video media their TTML streams may be used in conjunction with (e.g. video
or audio). It may be appropriate to use the same Synchronization or audio). In these situations, it is RECOMMENDED that streams use
Source and Clock Rate as the related media. As TTML streams may be the same Synchronization Source and Clock Rate as the related media.
aperiodic, implementers should also consider the frequency range over As TTML streams may be aperiodic, implementers should also consider
which they expect packets to be sent and the temporal resolution the frequency range over which they expect packets to be sent and the
required. temporal resolution required.
7.2. Mapping to SDP 11.2. Mapping to SDP
The mapping of the application/ttml+xml media type and its parameters The mapping of the application/ttml+xml media type and its parameters
[TTML-MTPR] SHALL be done according to Section 3 of [RFC4855]. [TTML-MTPR] SHALL be done according to Section 3 of [RFC4855].
o The type name "application" goes in SDP "m=" as the media name. * The type name "application" goes in SDP "m=" as the media name.
o The media subtype "ttml+xml" goes in SDP "a=rtpmap" as the * The media subtype "ttml+xml" goes in SDP "a=rtpmap" as the
encoding name, encoding name,
o The clock rate also goes in "a=rtpmap" as the clock rate. * The clock rate also goes in "a=rtpmap" as the clock rate.
Additional format specific parameters as described in the media type Additional format specific parameters as described in the media type
specification SHALL be included in the SDP file in "a=fmtp" as a specification SHALL be included in the SDP file in "a=fmtp" as a
semicolon separated list of "parameter=value" pairs as described in semicolon separated list of "parameter=value" pairs as described in
[RFC4855]. The "codecs" parameter MUST be included in the "a=fmtp" [RFC4855]. The "codecs" parameter MUST be included in the "a=fmtp"
line of the SDP file. Specific requirements for the "codecs" line of the SDP file. Specific requirements for the "codecs"
parameter are included in Section 4.2.1.2.1.3. parameter are included in Section 6.1.3.
7.2.1. Examples 11.2.1. Examples
A sample SDP mapping is as follows: A sample SDP mapping is presented in Figure 5.
m=application 30000 RTP/AVP 112 m=application 30000 RTP/AVP 112
a=rtpmap:112 ttml+xml/90000 a=rtpmap:112 ttml+xml/90000
a=fmtp:112 charset=utf-8;codecs=im1t a=fmtp:112 charset=utf-8;codecs=im1t
Figure 5: Example SDP mapping
In this example, a dynamic payload type 112 is used. The 90 kHz RTP In this example, a dynamic payload type 112 is used. The 90 kHz RTP
timestamp rate is specified in the "a=rtpmap" line after the subtype. timestamp rate is specified in the "a=rtpmap" line after the subtype.
The codecs parameter defined in the "a=fmtp" line indicates that the The codecs parameter defined in the "a=fmtp" line indicates that the
TTML data conforms to IMSC 1 Text profile. TTML data conforms to IMSC 1 Text profile.
8. IANA Considerations 11.3. Offer/Answer Considerations
All parameters are declarative.
12. IANA Considerations
No IANA action. No IANA action.
9. Security Considerations 13. Security Considerations
RTP packets using the payload format defined in this specification RTP packets using the payload format defined in this specification
are subject to the security considerations discussed in the RTP are subject to the security considerations discussed in the RTP
specification [RFC3550] , and in any applicable RTP profile such as specification [RFC3550] , and in any applicable RTP profile such as
RTP/AVP [RFC3551], RTP/AVPF [RFC4585], RTP/SAVP [RFC3711], or RTP/ RTP/AVP [RFC3551], RTP/AVPF [RFC4585], RTP/SAVP [RFC3711], or RTP/
SAVPF [RFC5124]. However, as "Securing the RTP Protocol Framework: SAVPF [RFC5124]. However, as "Securing the RTP Protocol Framework:
Why RTP Does Not Mandate a Single Media Security Solution" [RFC7202] Why RTP Does Not Mandate a Single Media Security Solution" [RFC7202]
discusses, it is not an RTP payload format's responsibility to discusses, it is not an RTP payload format's responsibility to
discuss or mandate what solutions are used to meet the basic security discuss or mandate what solutions are used to meet the basic security
goals like confidentiality, integrity, and source authenticity for goals like confidentiality, integrity, and source authenticity for
skipping to change at page 13, line 31 skipping to change at page 14, line 37
processors, would security issues potentially arise. And in that processors, would security issues potentially arise. And in that
case, they would fall outside the domain of this RTP payload format case, they would fall outside the domain of this RTP payload format
and the application/ttml+xml registration document. and the application/ttml+xml registration document.
Although not prohibited, there are no expectations that XML Although not prohibited, there are no expectations that XML
signatures or encryption would normally be employed. signatures or encryption would normally be employed.
Further information related to privacy and security at a document Further information related to privacy and security at a document
level can be found in TTML 2 Appendix P [TTML2]. level can be found in TTML 2 Appendix P [TTML2].
10. Acknowledgements 14. Acknowledgements
Thanks to Nigel Megitt, James Gruessing, Robert Wadge, Andrew Bonney, Thanks to Nigel Megitt, James Gruessing, Robert Wadge, Andrew Bonney,
James Weaver, John Fletcher, Frans De jong, and Willem Vermost for James Weaver, John Fletcher, Frans De jong, and Willem Vermost for
their valuable feedback throughout the development of this document. their valuable feedback throughout the development of this document.
Thanks to the W3C Timed Text Working Group and EBU Timed Text working Thanks to the W3C Timed Text Working Group and EBU Timed Text working
group for their substantial efforts in developing the timed text group for their substantial efforts in developing the timed text
formats this payload format is intended to carry. formats this payload format is intended to carry.
11. References 15. Normative References
11.1. Normative References
[IANA] IANA, "IANA - Media Types - Application", February 2019, [IANA] IANA, "IANA - Media Types - Application", February 2019,
<https://www.iana.org/assignments/media-types/media- <https://www.iana.org/assignments/media-types/media-
types.xhtml#application>. types.xhtml#application>.
[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, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, <https://www.rfc- DOI 10.17487/RFC2119, March 1997,
editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[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, DOI 10.17487/RFC3550, Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
July 2003, <https://www.rfc-editor.org/info/rfc3550>. July 2003, <https://www.rfc-editor.org/info/rfc3550>.
[RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text [RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text
Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005, Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005,
<https://www.rfc-editor.org/info/rfc4103>. <https://www.rfc-editor.org/info/rfc4103>.
[RFC4855] Casner, S., "Media Type Registration of RTP Payload [RFC4855] Casner, S., "Media Type Registration of RTP Payload
Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007, Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007,
<https://www.rfc-editor.org/info/rfc4855>. <https://www.rfc-editor.org/info/rfc4855>.
[RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303, [RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303,
DOI 10.17487/RFC7303, July 2014, <https://www.rfc- DOI 10.17487/RFC7303, July 2014,
editor.org/info/rfc7303>. <https://www.rfc-editor.org/info/rfc7303>.
[RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control: [RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control:
Circuit Breakers for Unicast RTP Sessions", RFC 8083, Circuit Breakers for Unicast RTP Sessions", RFC 8083,
DOI 10.17487/RFC8083, March 2017, <https://www.rfc- DOI 10.17487/RFC8083, March 2017,
editor.org/info/rfc8083>. <https://www.rfc-editor.org/info/rfc8083>.
[RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage [RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage
Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085, Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085,
March 2017, <https://www.rfc-editor.org/info/rfc8085>. March 2017, <https://www.rfc-editor.org/info/rfc8085>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[TECH3370] [TECH3370] European Broadcasting Union, "TECH 3370 - EBU-TT PART 3:
European Broadcasting Union, "TECH 3370 - EBU-TT PART 3:
LIVE CONTRIBUTION", May 2017, LIVE CONTRIBUTION", May 2017,
<https://tech.ebu.ch/publications/tech3370>. <https://tech.ebu.ch/publications/tech3370>.
[TTML-MTPR] [TTML-MTPR]
W3C - Timed Text Working Group, "TTML Media Type W3C - Timed Text Working Group, "TTML Media Type
Definition and Profile Registry", January 2017, Definition and Profile Registry", January 2017,
<https://www.w3.org/TR/ttml-profile-registry/>. <https://www.w3.org/TR/ttml-profile-registry/>.
[TTML2] W3C - Timed Text Working Group, "Timed Text Markup [TTML2] W3C - Timed Text Working Group, "Timed Text Markup
Language 2 (TTML2)", November 2018, Language 2 (TTML2)", November 2018,
<https://www.w3.org/TR/ttml2/>. <https://www.w3.org/TR/ttml2/>.
11.2. Informative References 16. Informative References
[RFC2648] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, [RFC2648] Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
DOI 10.17487/RFC2648, August 1999, <https://www.rfc- DOI 10.17487/RFC2648, August 1999,
editor.org/info/rfc2648>. <https://www.rfc-editor.org/info/rfc2648>.
[RFC2733] Rosenberg, J. and H. Schulzrinne, "An RTP Payload Format
for Generic Forward Error Correction", RFC 2733,
DOI 10.17487/RFC2733, December 1999,
<https://www.rfc-editor.org/info/rfc2733>.
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
Video Conferences with Minimal Control", STD 65, RFC 3551, Video Conferences with Minimal Control", STD 65, RFC 3551,
DOI 10.17487/RFC3551, July 2003, <https://www.rfc- DOI 10.17487/RFC3551, July 2003,
editor.org/info/rfc3551>. <https://www.rfc-editor.org/info/rfc3551>.
[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, DOI 10.17487/RFC3711, March 2004, RFC 3711, DOI 10.17487/RFC3711, March 2004,
<https://www.rfc-editor.org/info/rfc3711>. <https://www.rfc-editor.org/info/rfc3711>.
[RFC4396] Rey, J. and Y. Matsui, "RTP Payload Format for 3rd [RFC4396] Rey, J. and Y. Matsui, "RTP Payload Format for 3rd
Generation Partnership Project (3GPP) Timed Text", Generation Partnership Project (3GPP) Timed Text",
RFC 4396, DOI 10.17487/RFC4396, February 2006, RFC 4396, DOI 10.17487/RFC4396, February 2006,
<https://www.rfc-editor.org/info/rfc4396>. <https://www.rfc-editor.org/info/rfc4396>.
[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
Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
DOI 10.17487/RFC4585, July 2006, <https://www.rfc- DOI 10.17487/RFC4585, July 2006,
editor.org/info/rfc4585>. <https://www.rfc-editor.org/info/rfc4585>.
[RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R.
Hakenberg, "RTP Retransmission Payload Format", RFC 4588,
DOI 10.17487/RFC4588, July 2006,
<https://www.rfc-editor.org/info/rfc4588>.
[RFC4732] Handley, M., Ed., Rescorla, E., Ed., and IAB, "Internet [RFC4732] Handley, M., Ed., Rescorla, E., Ed., and IAB, "Internet
Denial-of-Service Considerations", RFC 4732, Denial-of-Service Considerations", RFC 4732,
DOI 10.17487/RFC4732, December 2006, <https://www.rfc- DOI 10.17487/RFC4732, December 2006,
editor.org/info/rfc4732>. <https://www.rfc-editor.org/info/rfc4732>.
[RFC4734] Schulzrinne, H. and T. Taylor, "Definition of Events for [RFC4734] Schulzrinne, H. and T. Taylor, "Definition of Events for
Modem, Fax, and Text Telephony Signals", RFC 4734, Modem, Fax, and Text Telephony Signals", RFC 4734,
DOI 10.17487/RFC4734, December 2006, <https://www.rfc- DOI 10.17487/RFC4734, December 2006,
editor.org/info/rfc4734>. <https://www.rfc-editor.org/info/rfc4734>.
[RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for [RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for
Real-time Transport Control Protocol (RTCP)-Based Feedback Real-time Transport Control Protocol (RTCP)-Based Feedback
(RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February (RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February
2008, <https://www.rfc-editor.org/info/rfc5124>. 2008, <https://www.rfc-editor.org/info/rfc5124>.
[RFC7201] Westerlund, M. and C. Perkins, "Options for Securing RTP [RFC7201] Westerlund, M. and C. Perkins, "Options for Securing RTP
Sessions", RFC 7201, DOI 10.17487/RFC7201, April 2014, Sessions", RFC 7201, DOI 10.17487/RFC7201, April 2014,
<https://www.rfc-editor.org/info/rfc7201>. <https://www.rfc-editor.org/info/rfc7201>.
[RFC7202] Perkins, C. and M. Westerlund, "Securing the RTP [RFC7202] Perkins, C. and M. Westerlund, "Securing the RTP
Framework: Why RTP Does Not Mandate a Single Media Framework: Why RTP Does Not Mandate a Single Media
Security Solution", RFC 7202, DOI 10.17487/RFC7202, April Security Solution", RFC 7202, DOI 10.17487/RFC7202, April
2014, <https://www.rfc-editor.org/info/rfc7202>. 2014, <https://www.rfc-editor.org/info/rfc7202>.
[ST2022-7] SMPTE, "ST 2022-7:2019 - Seamless Protection Switching of
SMPTE ST 2022 IP Datagrams", November 2019,
<https://ieeexplore.ieee.org/document/8716822>.
Appendix A. RFC Editor Considerations Appendix A. RFC Editor Considerations
Note to RFC Editor: This section may be removed after carrying out Note to RFC Editor: This section may be removed after carrying out
all the instructions of this section. all the instructions of this section.
The namespace "urn:ietf:rfc:XXXX" is to be replaced with the The namespace "urn:ietf:rfc:XXXX" is to be replaced with the
namespace for this document once it has received an RFC number. namespace for this document once it has received an RFC number.
"RFC XXXX" in Figure 3 is to be replaced with the RFC number for this
document.
Author's Address Author's Address
James Sandford James Sandford
British Broadcasting Corporation British Broadcasting Corporation
Dock House, MediaCityUK Dock House, MediaCityUK
Salford Salford
United Kingdom United Kingdom
Phone: +44 30304 09549 Phone: +44 30304 09549
Email: james.sandford@bbc.co.uk Email: james.sandford@bbc.co.uk
 End of changes. 69 change blocks. 
240 lines changed or deleted 329 lines changed or added

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