Internet-Draft RTP Payload for TTML Timed Text October 2019
Sandford Expires 27 April 2020 [Page]
Workgroup:
A/V Transport Payloads Workgroup
Internet-Draft:
draft-ietf-payload-rtp-ttml-04
Published:
Intended Status:
Standards Track
Expires:
Author:
J. Sandford
British Broadcasting Corporation

RTP Payload for TTML Timed Text

Abstract

This memo describes a Real-time Transport Protocol (RTP) payload format for TTML, an XML based timed text format for live and file based workflows from W3C. This payload format is specifically targeted at live workflows using TTML.

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 https://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 27 April 2020.

Table of Contents

1. Introduction

TTML (Timed Text Markup Language)[TTML2] is a media type for describing timed text such as closed captions and subtitles in television workflows or broadcasts as XML. This document specifies how TTML should be mapped into an RTP stream in live workflows including, but not restricted to, those described in the television broadcast oriented EBU-TT Part 3[TECH3370] specification. This document does not define a media type for TTML but makes use of the existing application/ttml+xml media type [TTML-MTPR].

2. Conventions, Definitions, and Abbreviations

Unless otherwise stated, the term "document" refers to the TTML document being transmitted in the payload of the RTP packet(s).

The term "word" refers to a data word aligned to a specified number of bits in a computing sense and not to refer to linguistic words that might appear in the transported text.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

3. Media Format Description

3.1. Relation to Other Text Payload Types

Prior payload types for text are not suited to the carriage of closed captions in Television Workflows. RFC 4103 for Text Conversation [RFC4103] is intended for low data rate conversation with its own session management and minimal formatting capabilities. RFC 4734 Events for Modem, Fax, and Text Telephony Signals [RFC4734] deals in large parts with the control signalling of facsimile and other systems. RFC 4396 for 3rd Generation Partnership Project (3GPP) Timed Text [RFC4396] describes the carriage of a timed text format with much more restricted formatting capabilities than TTML. The lack of an existing format for TTML or generic XML has necessitated the creation of this payload format.

3.2. TTML2

TTML2 (Timed Text Markup Language, Version 2)[TTML2] is an XML-based markup language for describing textual information with associated timing metadata. One of its primary use cases is the description of subtitles and closed captions. A number of profiles exist that adapt TTML2 for use in specific contexts [TTML-MTPR]. These include both file based and streaming workflows.

4. Payload Format

In addition to the required RTP headers, the payload contains a section for the TTML document being transmitted (User Data Words), and a field for the Length of that data. Each RTP payload contains one or part of one TTML document.

A representation of the payload format for TTML is Figure 1.

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|X| CC    |M|    PT       |        Sequence Number        | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |                           Timestamp                           | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |           Synchronization Source (SSRC) Identifier            | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |           Reserved            |             Length            | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |                       User Data Words...  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
Figure 1: RTP Payload Format for TTML

4.1. RTP Header Usage

RTP packet header fields SHALL be interpreted as per RFC 3550 [RFC3550], with the following specifics:

Marker Bit (M): 1 bit

The Marker Bit is set to "1" to indicate the last packet of a document. Otherwise set to "0". Note: The first packet might also be the last.

Timestamp: 32 bits

The RTP Timestamp encodes the epoch of the TTML document in User Data Words. Further detail on its usage may be found in Section 6. The clock frequency used is dependent on the application and is specified in the media type rate parameter as per Section 11.1. Documents spread across multiple packets MUST use the same timestamp but different consecutive Sequence Numbers. Sequential documents MUST NOT use the same timestamp. Because packets do not represent any constant duration, the timestamp cannot be used to directly infer packet loss.

Reserved: 16 bits

These bits are reserved for future use and MUST be set to 0x0 and ignored at receive.

Length: 16 bits

The length of User Data Words in bytes.

User Data Words: The length of User Data Words MUST match the value specified in the Length field

User Data Words contains the text of the whole document being transmitted or a part of the document being transmitted. Documents using character encodings where characters are not represented by a single byte MUST be serialized in big endian order, a.k.a. network byte order. Where a document will not fit within the MTU, it may be fragmented across multiple packets. Further detail on fragmentation may be found in Section 8.

4.2. Payload Data

TTML documents define a series of changes to text over time. TTML documents carried in User Data Words are encoded in accordance with one or more of the defined TTML profiles specified in the TTML registry [TTML-MTPR]. These profiles specify the document structure used, systems models, timing, and other considerations. TTML profiles may restrict the complexity of the changes and operational requirements may limit the maximum duration of TTML documents by a deployment configuration. Both of these cases are out of scope of this document.

Documents carried over RTP MUST conform to the following profile in addition to any others used.

5. 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 RTP stream.

The TTML document instance's root tt element in the 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 TTML2 content profile definition document in Figure 2.

<?xml version="1.0" encoding="UTF-8"?> <profile xmlns="http://www.w3.org/ns/ttml#parameter" xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:tt="http://www.w3.org/ns/ttml" type="content" designator="urn:ietf:rfc:XXXX#content" combine="mostRestrictive"> <features xml:base="http://www.w3.org/ns/ttml/feature/"> <tt:metadata> <ttm:desc> This document is a minimal TTML2 content profile definition document intended to express the minimal requirements to apply when carrying TTML over RTP.  </ttm:desc> </tt:metadata> <feature value="required">#timeBase-media</feature> <feature value="prohibited">#timeBase-smpte</feature> <feature value="prohibited">#timeBase-clock</feature> </features> </profile> 
Figure 2: TTML2 Content Profile Definition for Documents Carried Over RTP

6. Payload processing requirements

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.

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 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 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 document Dn-1 with En-1 is active, and document Dn is delivered with En where En-1 < En, processing of Dn-1 MUST be stopped at En and processing of Dn MUST begin.

When all defined content within a document has ended then processing of the document MAY be stopped. This can be tested by constructing the intermediate synchronic document sequence from the document, as defined by [TTML2]. If the last intermediate synchronic document in the sequence is both active and contains no region elements, then all defined content within the document has ended.

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.

6.1. TTML Processor profile

6.1.1. Feature extension designation

This specification defines the following TTML feature extension designation:

  • urn:ietf:rfc:XXXX#rtp-relative-media-time

The namespace urn:ietf:rfc:XXXX is as defined by [RFC2648].

A TTML content processor supports the #rtp-relative-media-time feature extension if it processes media times in accordance with the payload processing requirements specified in this document, i.e. that the epoch E is set to the time equivalent to the RTP Timestamp as detailed above in Section 6.

6.1.2. Processor profile document

The required syntax and semantics declared in the minimal TTML2 processor profile in Figure 3 MUST be supported by the receiver, as signified by those feature or extension elements whose value attribute is set to required.

<?xml version="1.0" encoding="UTF-8"?> <profile xmlns="http://www.w3.org/ns/ttml#parameter" xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:tt="http://www.w3.org/ns/ttml" type="processor" designator="urn:ietf:rfc:XXXX#processor" combine="mostRestrictive"> <features xml:base="http://www.w3.org/ns/ttml/feature/"> <tt:metadata> <ttm:desc> This document is a minimal TTML2 processor profile definition document intended to express the minimal requirements of a TTML processor able to process TTML delivered over RTP according to RFC XXXX.  </ttm:desc> </tt:metadata> <feature value="required">#timeBase-media</feature> <feature value="optional"> #profile-full-version-2 </feature> </features> <extensions xml:base="urn:ietf:rfc:XXXX"> <extension restricts="#timeBase-media" value="required"> #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 support either TTML1 or TTML2 profile processing, i.e. the TTML2 #profile-full-version-2 feature or any of its dependent features.

6.1.3. Processor profile signalling

The codecs media type parameter MUST specify at least one processor profile. Short codes for TTML profiles are registered at [TTML-MTPR]. The processor profiles specified in codecs MUST be compatible with the processor profile specified in this document. Where multiple options exist in codecs for possible processor profile combinations (i.e. separated by | operator), every permitted option MUST be compatible with the processor profile specified in this document. Where processor profiles other than the one specified in this document are advertised in the codecs parameter, the requirements of the processor profile specified in this document MAY be signalled additionally using the + operator with its registered short code.

A processor profile (X) is compatible with the processor profile specified here (P) if X includes all the features and extensions in P, identified by their character content, and the value attribute 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 term "restrictive" here is as defined in [TTML2] Section 6.

7. Payload Examples

Figure 4 is an example of a valid TTML document that may be carried using the payload format described in this document.

<?xml version="1.0" encoding="UTF-8"?> <tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling" ttp:timeBase="media" > <head> <metadata> <ttm:title>Timed Text TTML Example</ttm:title> <ttm:copyright>The Authors (c) 2006</ttm:copyright> </metadata> <styling> <!-- s1 specifies default color, font, and text alignment --> <style xml:id="s1" tts:color="white" tts:fontFamily="proportionalSansSerif" tts:fontSize="100%" tts:textAlign="center" /> </styling> <layout> <region xml:id="subtitleArea" style="s1" tts:extent="78% 11%" tts:padding="1% 5%" tts:backgroundColor="black" tts:displayAlign="after" /> </layout> </head> <body region="subtitleArea"> <div> <p xml:id="subtitle1" dur="5.0s" style="s1"> How truly delightful! </p> </div> </body> </tt> 
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:

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 [RFC3550], and with any applicable RTP profile: e.g., [RFC3551]. Circuit Breakers [RFC8083] is an update to RTP [RFC3550] that defines criteria for when one is required to stop sending RTP Packet Streams. Applications implementing this standard MUST comply with [RFC8083] with particular attention paid to Section 4.4 on Media Usability. [RFC8085] provides additional information on the best practices for applying congestion control to UDP streams.

11. Payload Format Parameters

This RTP payload format is identified using the existing application/ttml+xml media type as registered with IANA [IANA] and defined in [TTML-MTPR].

11.1. 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 possible. This parameter has not been added to the media type definition as it is not applicable to TTML usage other than within RTP streams. In other contexts, timing is defined within the TTML document.

When choosing a clock rate, implementers should consider what other media their TTML streams may be used in conjunction with (e.g. video or audio). In these situations, it is RECOMMENDED that streams use the same Synchronization Source and Clock Rate as the related media. As TTML streams may be aperiodic, implementers should also consider the frequency range over which they expect packets to be sent and the temporal resolution required.

11.2. Mapping to SDP

The mapping of the application/ttml+xml media type and its parameters [TTML-MTPR] SHALL be done according to Section 3 of [RFC4855].

  • The type name "application" goes in SDP "m=" as the media name.

  • The media subtype "ttml+xml" goes in SDP "a=rtpmap" as the encoding name,

  • The clock rate also goes in "a=rtpmap" as the clock rate.

Additional format specific parameters as described in the media type specification SHALL be included in the SDP file in "a=fmtp" as a semicolon separated list of "parameter=value" pairs as described in [RFC4855]. The codecs parameter MUST be included in the a=fmtp line of the SDP file. Specific requirements for the "codecs" parameter are included in Section 6.1.3.

11.2.1. Examples

A sample SDP mapping is presented in Figure 5.

m=application 30000 RTP/AVP 112 a=rtpmap:112 ttml+xml/90000 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 timestamp rate is specified in the "a=rtpmap" line after the subtype. The codecs parameter defined in the "a=fmtp" line indicates that the TTML data conforms to IMSC 1 Text profile.

11.3. Offer/Answer Considerations

All parameters are declarative.

12. IANA Considerations

No IANA action.

13. Security Considerations

RTP packets using the payload format defined in this specification are subject to the security considerations discussed in the RTP specification [RFC3550] , and in any applicable RTP profile such as RTP/AVP [RFC3551], RTP/AVPF [RFC4585], RTP/SAVP [RFC3711], or RTP/SAVPF [RFC5124]. However, as "Securing the RTP Protocol Framework: Why RTP Does Not Mandate a Single Media Security Solution" [RFC7202] discusses, it is not an RTP payload format's responsibility to discuss or mandate what solutions are used to meet the basic security goals like confidentiality, integrity, and source authenticity for RTP in general. This responsibility lays on anyone using RTP in an application. They can find guidance on available security mechanisms and important considerations in "Options for Securing RTP Sessions" [RFC7201]. Applications SHOULD use one or more appropriate strong security mechanisms. The rest of this Security Considerations section discusses the security impacting properties of the payload format itself.

To avoid potential buffer overflow attacks, receivers should take care to validate that the User Data Words in the RTP payload are of the appropriate length (using the Length field).

This payload format places no specific restrictions on the size of TTML documents that may be transmitted. As such, malicious implementations could be used to perform denial-of-service (DoS) attacks. RFC 4732 [RFC4732] provides more information on DoS attacks and describes some mitigation strategies. Implementers should take into consideration that the size and frequency of documents transmitted using this format may vary over time. As such, sender implementations should avoid producing streams that exhibit DoS-like behaviour and receivers should avoid false identification of a legitimate stream as malicious.

As with other XML types and as noted in RFC 7303 [RFC7303], XML Media Types, Section 10, repeated expansion of maliciously constructed XML entities can be used to consume large amounts of memory, which may cause XML processors in constrained environments to fail.

In addition, because of the extensibility features for TTML and of XML in general, it is possible that "application/ttml+xml" may describe content that has security implications beyond those described here. However, TTML does not provide for any sort of active or executable content, and if the processor follows only the normative semantics of the published specification, this content will be outside TTML namespaces and may be ignored. Only in the case where the processor recognizes and processes the additional content, or where further processing of that content is dispatched to other processors, would security issues potentially arise. And in that case, they would fall outside the domain of this RTP payload format and the application/ttml+xml registration document.

Although not prohibited, there are no expectations that XML signatures or encryption would normally be employed.

Further information related to privacy and security at a document level can be found in TTML 2 Appendix P [TTML2].

14. Acknowledgements

Thanks to Nigel Megitt, James Gruessing, Robert Wadge, Andrew Bonney, James Weaver, John Fletcher, Frans De jong, and Willem Vermost for their valuable feedback throughout the development of this document. Thanks to the W3C Timed Text Working Group and EBU Timed Text working group for their substantial efforts in developing the timed text formats this payload format is intended to carry.

15. Normative References

[RFC3550]
Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, , <https://www.rfc-editor.org/info/rfc3550>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8083]
Perkins, C. and V. Singh, "Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions", RFC 8083, DOI 10.17487/RFC8083, , <https://www.rfc-editor.org/info/rfc8083>.
[TECH3370]
European Broadcasting Union, "TECH 3370 - EBU-TT PART 3: LIVE CONTRIBUTION", , <https://tech.ebu.ch/publications/tech3370>.
[TTML-MTPR]
W3C - Timed Text Working Group, "TTML Media Type Definition and Profile Registry", , <https://www.w3.org/TR/ttml-profile-registry/>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[TTML2]
W3C - Timed Text Working Group, "Timed Text Markup Language 2 (TTML2)", , <https://www.w3.org/TR/ttml2/>.
[RFC8085]
Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085, , <https://www.rfc-editor.org/info/rfc8085>.
[RFC7303]
Thompson, H. and C. Lilley, "XML Media Types", RFC 7303, DOI 10.17487/RFC7303, , <https://www.rfc-editor.org/info/rfc7303>.
[RFC4103]
Hellstrom, G. and P. Jones, "RTP Payload for Text Conversation", RFC 4103, DOI 10.17487/RFC4103, , <https://www.rfc-editor.org/info/rfc4103>.
[IANA]
IANA, "IANA - Media Types - Application", , <https://www.iana.org/assignments/media-types/media-types.xhtml#application>.
[RFC4855]
Casner, S., "Media Type Registration of RTP Payload Formats", RFC 4855, DOI 10.17487/RFC4855, , <https://www.rfc-editor.org/info/rfc4855>.

16. Informative References

[RFC7202]
Perkins, C. and M. Westerlund, "Securing the RTP Framework: Why RTP Does Not Mandate a Single Media Security Solution", RFC 7202, DOI 10.17487/RFC7202, , <https://www.rfc-editor.org/info/rfc7202>.
[RFC7201]
Westerlund, M. and C. Perkins, "Options for Securing RTP Sessions", RFC 7201, DOI 10.17487/RFC7201, , <https://www.rfc-editor.org/info/rfc7201>.
[RFC4732]
Handley, M., Ed., Rescorla, E., Ed., and IAB, "Internet Denial-of-Service Considerations", RFC 4732, DOI 10.17487/RFC4732, , <https://www.rfc-editor.org/info/rfc4732>.
[RFC4734]
Schulzrinne, H. and T. Taylor, "Definition of Events for Modem, Fax, and Text Telephony Signals", RFC 4734, DOI 10.17487/RFC4734, , <https://www.rfc-editor.org/info/rfc4734>.
[RFC4396]
Rey, J. and Y. Matsui, "RTP Payload Format for 3rd Generation Partnership Project (3GPP) Timed Text", RFC 4396, DOI 10.17487/RFC4396, , <https://www.rfc-editor.org/info/rfc4396>.
[RFC2733]
Rosenberg, J. and H. Schulzrinne, "An RTP Payload Format for Generic Forward Error Correction", RFC 2733, DOI 10.17487/RFC2733, , <https://www.rfc-editor.org/info/rfc2733>.
[ST2022-7]
SMPTE, "ST 2022-7:2019 - Seamless Protection Switching of SMPTE ST 2022 IP Datagrams", , <https://ieeexplore.ieee.org/document/8716822>.
[RFC4588]
Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R. Hakenberg, "RTP Retransmission Payload Format", RFC 4588, DOI 10.17487/RFC4588, , <https://www.rfc-editor.org/info/rfc4588>.
[RFC2648]
Moats, R., "A URN Namespace for IETF Documents", RFC 2648, DOI 10.17487/RFC2648, , <https://www.rfc-editor.org/info/rfc2648>.
[RFC3711]
Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, DOI 10.17487/RFC3711, , <https://www.rfc-editor.org/info/rfc3711>.
[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, DOI 10.17487/RFC4585, , <https://www.rfc-editor.org/info/rfc4585>.
[RFC5124]
Ott, J. and E. Carrara, "Extended Secure RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, , <https://www.rfc-editor.org/info/rfc5124>.
[RFC3551]
Schulzrinne, H. and S. Casner, "RTP Profile for Audio and Video Conferences with Minimal Control", STD 65, RFC 3551, DOI 10.17487/RFC3551, , <https://www.rfc-editor.org/info/rfc3551>.

Appendix A. RFC Editor Considerations

Note to RFC Editor: This section may be removed after carrying out all the instructions of this section.

The namespace urn:ietf:rfc:XXXX is to be replaced with the 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

James Sandford
British Broadcasting Corporation
Dock House, MediaCityUK
Salford
United Kingdom