File: rfc8759.xml

package info (click to toggle)
doc-rfc 20201128-1
  • links: PTS, VCS
  • area: non-free
  • in suites: bullseye
  • size: 1,307,124 kB
file content (1155 lines) | stat: -rw-r--r-- 84,786 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-payload-rtp-ttml-06" indexInclude="true" ipr="trust200902" number="8759" prepTime="2020-03-18T11:08:42" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-payload-rtp-ttml-06" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8759" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="RTP Payload for TTML Timed Text">RTP Payload for Timed Text Markup Language (TTML)</title>
    <seriesInfo name="RFC" value="8759" stream="IETF"/>
    <author initials="J." surname="Sandford" fullname="James Sandford">
      <organization showOnFrontPage="true">British Broadcasting Corporation</organization>
      <address>
        <postal>
          <street>Dock House, MediaCityUK</street>
          <city>Salford</city>
          <country>United Kingdom</country>
        </postal>
        <phone>+44 30304 09549</phone>
        <email>james.sandford@bbc.co.uk</email>
      </address>
    </author>
    <date month="03" year="2020"/>
    <area>Internet</area>
    <workgroup>Audio/Video Transport Core Maintenance Working Group</workgroup>
    <keyword>subtitles</keyword>
    <keyword>captions</keyword>
    <keyword>imsc</keyword>
    <keyword>media</keyword>
    <keyword>streaming</keyword>
    <keyword>sdp</keyword>
    <keyword>xml</keyword>
    <abstract pn="section-abstract">
      <t pn="section-abstract-1">This memo describes a Real-time Transport Protocol (RTP) payload format for
Timed Text Markup Language (TTML), an XML-based timed text format from
W3C. This payload format is specifically targeted at streaming workflows using
TTML.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8759" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions-and-definitions">Conventions and Definitions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-media-format-description">Media Format Description</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-relation-to-other-text-payl">Relation to Other Text Payload Types</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ttml2">TTML2</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t keepWithNext="true" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-payload-format">Payload Format</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rtp-header-usage">RTP Header Usage</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-payload-data">Payload Data</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t keepWithNext="true" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-payload-content-restriction">Payload Content Restrictions</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t keepWithNext="true" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-payload-processing-requirem">Payload Processing Requirements</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ttml-processor-profile">TTML Processor Profile</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2.1.2">
                  <li pn="section-toc.1-1.6.2.1.2.1">
                    <t keepWithNext="true" pn="section-toc.1-1.6.2.1.2.1.1"><xref derivedContent="6.1.1" format="counter" sectionFormat="of" target="section-6.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-feature-extension-designati">Feature Extension Designation</xref></t>
                  </li>
                  <li pn="section-toc.1-1.6.2.1.2.2">
                    <t keepWithNext="true" pn="section-toc.1-1.6.2.1.2.2.1"><xref derivedContent="6.1.2" format="counter" sectionFormat="of" target="section-6.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-processor-profile-document">Processor Profile Document</xref></t>
                  </li>
                  <li pn="section-toc.1-1.6.2.1.2.3">
                    <t keepWithNext="true" pn="section-toc.1-1.6.2.1.2.3.1"><xref derivedContent="6.1.3" format="counter" sectionFormat="of" target="section-6.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-processor-profile-signallin">Processor Profile Signalling</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t keepWithNext="true" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-payload-examples">Payload Examples</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t keepWithNext="true" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-fragmentation-of-ttml-docum">Fragmentation of TTML Documents</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t keepWithNext="true" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protection-against-loss-of-">Protection against Loss of Data</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t keepWithNext="true" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-congestion-control-consider">Congestion Control Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t keepWithNext="true" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-payload-format-parameters">Payload Format Parameters</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="11.1" format="counter" sectionFormat="of" target="section-11.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clock-rate">Clock Rate</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="11.2" format="counter" sectionFormat="of" target="section-11.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-session-description-protoco">Session Description Protocol (SDP) Considerations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2.2.2">
                  <li pn="section-toc.1-1.11.2.2.2.1">
                    <t keepWithNext="true" pn="section-toc.1-1.11.2.2.2.1.1"><xref derivedContent="11.2.1" format="counter" sectionFormat="of" target="section-11.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-examples">Examples</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t keepWithNext="true" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t keepWithNext="true" pn="section-toc.1-1.13.1"><xref derivedContent="13" format="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t keepWithNext="true" pn="section-toc.1-1.14.1"><xref derivedContent="14" format="counter" sectionFormat="of" target="section-14"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t keepWithNext="true" pn="section-toc.1-1.15.1"><xref derivedContent="15" format="counter" sectionFormat="of" target="section-15"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
          </li>
          <li pn="section-toc.1-1.16">
            <t keepWithNext="true" pn="section-toc.1-1.16.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.17">
            <t keepWithNext="true" pn="section-toc.1-1.17.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t pn="section-1-1">TTML (Timed Text Markup Language) <xref target="TTML2" format="default" sectionFormat="of" derivedContent="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 streaming workflows, including (but not restricted
to) those described in the television-broadcast-oriented European Broadcasting
Union Timed Text (EBU-TT) Part 3 <xref target="TECH3370" format="default" sectionFormat="of" derivedContent="TECH3370"/> specification. This document does not define a media type
for TTML but makes use of the existing application/ttml+xml media type <xref target="TTML-MTPR" format="default" sectionFormat="of" derivedContent="TTML-MTPR"/>.</t>
    </section>
    <section anchor="conventions-definitions-and-abbreviations" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions-and-definitions">Conventions and Definitions</name>
      <t pn="section-2-1">Unless otherwise stated, the term "document" refers to the TTML document
being transmitted in the payload of the RTP packet(s).</t>
      <t pn="section-2-2">The term "word" refers to a data word aligned to a specified number of bits
in a computing sense and not to linguistic words that might appear in
the transported text.</t>
      <t pn="section-2-3">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
    to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>
    <section anchor="media-format-description" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-media-format-description">Media Format Description</name>
      <section anchor="relation-to-other-text-payload-types" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-relation-to-other-text-payl">Relation to Other Text Payload Types</name>
        <t pn="section-3.1-1">Prior payload types for text are not suited to the carriage of closed
captions in television workflows. "RTP Payload for Text Conversation" <xref target="RFC4103" format="default" sectionFormat="of" derivedContent="RFC4103"/> is intended for low data rate conversation with its own
session management and minimal formatting capabilities. "Definition of Events for
Modem, Fax, and Text Telephony Signals" <xref target="RFC4734" format="default" sectionFormat="of" derivedContent="RFC4734"/> deals in large
parts with the control signalling of facsimile and other systems. "RTP Payload Format for
3rd Generation Partnership Project (3GPP) Timed Text" <xref target="RFC4396" format="default" sectionFormat="of" derivedContent="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.</t>
      </section>
      <section anchor="ttml2" numbered="true" removeInRFC="false" toc="include" pn="section-3.2">
        <name slugifiedName="name-ttml2">TTML2</name>
        <t pn="section-3.2-1">TTML2 (Timed Text Markup Language, Version 2) <xref target="TTML2" format="default" sectionFormat="of" derivedContent="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 <xref target="TTML-MTPR" format="default" sectionFormat="of" derivedContent="TTML-MTPR"/>. These include both file-based
and streaming workflows.</t>
      </section>
    </section>
    <section anchor="payload-format" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-payload-format">Payload Format</name>
      <t pn="section-4-1">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.</t>
      <t pn="section-4-2">A representation of the payload format for TTML is <xref target="FigRTPFormat" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
      <figure anchor="FigRTPFormat" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-rtp-payload-format-for-ttml">RTP Payload Format for TTML </name>
        <artwork name="" type="" align="left" alt="" pn="section-4-3.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...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <section anchor="rtpHeaderUsage" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-rtp-header-usage">RTP Header Usage</name>
        <t pn="section-4.1-1">RTP packet header fields <bcp14>SHALL</bcp14> be interpreted, as per <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/>, with the following specifics:</t>
        <dl newline="true" spacing="normal" pn="section-4.1-2">
          <dt pn="section-4.1-2.1">Marker Bit (M): 1 bit</dt>
          <dd pn="section-4.1-2.2">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.</dd>
          <dt pn="section-4.1-2.3">Timestamp: 32 bits</dt>
          <dd pn="section-4.1-2.4">The RTP Timestamp encodes the epoch of the TTML document in User Data
Words. Further detail on its usage may be found in <xref target="payloadProc" format="default" sectionFormat="of" derivedContent="Section 6"/>. The clock frequency used is dependent on the
application and is specified in the media type rate parameter, as per <xref target="rate" format="default" sectionFormat="of" derivedContent="Section 11.1"/>. Documents spread across multiple packets <bcp14>MUST</bcp14>
use the same timestamp but different consecutive Sequence Numbers. Sequential
documents <bcp14>MUST NOT</bcp14> use the same timestamp.  Because packets do
not represent any constant duration, the timestamp cannot be used to directly
infer packet loss.</dd>
          <dt pn="section-4.1-2.5">Reserved: 16 bits</dt>
          <dd pn="section-4.1-2.6">These bits are reserved for future use and <bcp14>MUST</bcp14> be set to
0x0 and ignored upon reception.</dd>
          <dt pn="section-4.1-2.7">Length: 16 bits</dt>
          <dd pn="section-4.1-2.8">The length of User Data Words in bytes.</dd>
          <dt pn="section-4.1-2.9">User Data Words: The length of User Data Words <bcp14>MUST</bcp14> match
the value specified in the Length field</dt>
          <dd pn="section-4.1-2.10">The User Data Words section 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
<bcp14>MUST</bcp14> be serialised in big-endian order, a.k.a., network byte
order. Where a document will not fit within the Path MTU, it may be fragmented
across multiple packets. Further detail on fragmentation may be found in <xref target="fragmentation" format="default" sectionFormat="of" derivedContent="Section 8"/>.</dd>
        </dl>
      </section>
      <section anchor="payload-data" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-payload-data">Payload Data</name>
        <t pn="section-4.2-1">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 <xref target="TTML-MTPR" format="default" sectionFormat="of" derivedContent="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.</t>
        <t pn="section-4.2-2">Documents carried over RTP <bcp14>MUST</bcp14> conform to the following
profile, in addition to any others used.</t>
      </section>
    </section>
    <section anchor="payload-content-restrictions" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-payload-content-restriction">Payload Content Restrictions</name>
      <t pn="section-5-1">This section defines constraints on the content of TTML documents carried
over RTP.</t>
      <t pn="section-5-2">Multiple TTML subtitle streams <bcp14>MUST NOT</bcp14> be interleaved in a
single RTP stream.</t>
      <t pn="section-5-3">The TTML document instance's root <tt>tt</tt> element in the
<tt>http://www.w3.org/ns/ttml</tt> namespace <bcp14>MUST</bcp14> include a
<tt>timeBase</tt> attribute in the
<tt>http://www.w3.org/ns/ttml#parameter</tt> namespace containing the value
<tt>media</tt>.</t>
      <t pn="section-5-4">This is equivalent to the TTML2 content profile definition document in
<xref target="FigContProf" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
      <figure anchor="FigContProf" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-ttml2-content-profile-defin">TTML2 Content Profile Definition for Documents Carried over RTP </name>
        <sourcecode type="xml" markers="false" pn="section-5-5.1">

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;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:8759#content"
    combine="mostRestrictive"&gt;
    &lt;features xml:base="http://www.w3.org/ns/ttml/feature/"&gt;
        &lt;tt:metadata&gt;
            &lt;ttm:desc&gt;
                This document is a minimal TTML2 content profile
                definition document intended to express the
                minimal requirements to apply when carrying TTML
                over RTP.
            &lt;/ttm:desc&gt;
        &lt;/tt:metadata&gt;
        &lt;feature value="required"&gt;#timeBase-media&lt;/feature&gt;
        &lt;feature value="prohibited"&gt;#timeBase-smpte&lt;/feature&gt;
        &lt;feature value="prohibited"&gt;#timeBase-clock&lt;/feature&gt;
    &lt;/features&gt;
&lt;/profile&gt;

</sourcecode>
      </figure>
    </section>
    <section anchor="payloadProc" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-payload-processing-requirem">Payload Processing Requirements</name>
      <t pn="section-6-1">This section defines constraints on the processing of the TTML documents carried over RTP.</t>
      <t pn="section-6-2">If a TTML document is assessed to be invalid, then it <bcp14>MUST</bcp14> be
discarded. This includes empty documents, i.e., those of zero length. When
processing a valid document, the following requirements apply.</t>
      <t pn="section-6-3">Each TTML document becomes active at its epoch E. E <bcp14>MUST</bcp14> 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 <xref target="TTML2" format="default" sectionFormat="of" derivedContent="TTML2"/>.</t>
      <t pn="section-6-4">When processing a sequence of TTML documents, where each is delivered in
the same RTP stream, exactly zero or one document <bcp14>SHALL</bcp14> be
considered active at each moment in the RTP time line.
In the event that a document
D<sub>n-1</sub> with E<sub>n-1</sub> is active, and document D<sub>n</sub> is
delivered with E<sub>n</sub> where E<sub>n-1</sub> &lt; E<sub>n</sub>,
processing of D<sub>n-1</sub> <bcp14>MUST</bcp14> be stopped at E<sub>n</sub>
and processing of D<sub>n</sub> <bcp14>MUST</bcp14> begin.</t>
      <t pn="section-6-5">When all defined content within a document has ended, then processing of the
document <bcp14>MAY</bcp14> be stopped. This can be tested by constructing the
intermediate synchronic document sequence from the document, as defined by
<xref target="TTML2" format="default" sectionFormat="of" derivedContent="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.</t>
      <t pn="section-6-6">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.</t>
      <section anchor="ttml-processor-profile" numbered="true" removeInRFC="false" toc="include" pn="section-6.1">
        <name slugifiedName="name-ttml-processor-profile">TTML Processor Profile</name>
        <section anchor="feature-extension-designation" numbered="true" removeInRFC="false" toc="include" pn="section-6.1.1">
          <name slugifiedName="name-feature-extension-designati">Feature Extension Designation</name>
          <t pn="section-6.1.1-1">This specification defines the following TTML feature extension designation:</t>
          <ul empty="true" bare="false" spacing="normal" pn="section-6.1.1-2">
            <li pn="section-6.1.1-2.1">
              <tt>urn:ietf:rfc:8759#rtp-relative-media-time</tt></li>
          </ul>
          <t pn="section-6.1.1-3">The namespace <tt>urn:ietf:rfc:8759</tt> is as defined by <xref target="RFC2648" format="default" sectionFormat="of" derivedContent="RFC2648"/>.</t>
          <t pn="section-6.1.1-4">A TTML content processor supports the <tt>#rtp-relative-media-time</tt>
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 <xref target="payloadProc" format="default" sectionFormat="of" derivedContent="Section 6"/>.</t>
        </section>
        <section anchor="processor-profile-document" numbered="true" removeInRFC="false" toc="include" pn="section-6.1.2">
          <name slugifiedName="name-processor-profile-document">Processor Profile Document</name>
          <t pn="section-6.1.2-1">The required syntax and semantics declared in the minimal TTML2 processor
profile in <xref target="FigProcProf" format="default" sectionFormat="of" derivedContent="Figure 3"/> <bcp14>MUST</bcp14> be supported by
the receiver,
as signified by those <tt>feature</tt> or <tt>extension</tt> elements whose
<tt>value</tt> attribute is set to <tt>required</tt>.</t>
          <figure anchor="FigProcProf" align="left" suppress-title="false" pn="figure-3">
            <name slugifiedName="name-ttml2-processor-profile-def">TTML2 Processor Profile Definition for Processing Documents Carried over
RTP </name>
            <sourcecode type="xml" markers="false" pn="section-6.1.2-2.1">

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;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:8759#processor"
    combine="mostRestrictive"&gt;
    &lt;features xml:base="http://www.w3.org/ns/ttml/feature/"&gt;
        &lt;tt:metadata&gt;
            &lt;ttm:desc&gt;
                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 8759.
            &lt;/ttm:desc&gt;
        &lt;/tt:metadata&gt;
        &lt;feature value="required"&gt;#timeBase-media&lt;/feature&gt;
        &lt;feature value="optional"&gt;
            #profile-full-version-2
        &lt;/feature&gt;
    &lt;/features&gt;
    &lt;extensions xml:base="urn:ietf:rfc:8759"&gt;
        &lt;extension restricts="#timeBase-media" value="required"&gt;
            #rtp-relative-media-time
        &lt;/extension&gt;
    &lt;/extensions&gt;
&lt;/profile&gt;

</sourcecode>
          </figure>
          <t pn="section-6.1.2-3">Note that this requirement does not imply that the receiver needs to
support either TTML1 or TTML2 profile processing, i.e., the TTML2
<tt>#profile-full-version-2</tt> feature or any of
its dependent features.</t>
        </section>
        <section anchor="codecs" numbered="true" removeInRFC="false" toc="include" pn="section-6.1.3">
          <name slugifiedName="name-processor-profile-signallin">Processor Profile Signalling</name>
          <t pn="section-6.1.3-1">The <tt>codecs</tt> media type parameter <bcp14>MUST</bcp14> specify at
least one processor profile. Short codes for TTML profiles are registered at
<xref target="TTML-MTPR" format="default" sectionFormat="of" derivedContent="TTML-MTPR"/>. The processor profiles specified in
<tt>codecs</tt> <bcp14>MUST</bcp14> be compatible with the processor profile
specified in this document. Where multiple options exist in <tt>codecs</tt>
for possible processor profile combinations (i.e., separated by <tt>|</tt>
operator), every permitted option <bcp14>MUST</bcp14> 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 <tt>codecs</tt>
parameter, the requirements of the processor profile specified in this
document <bcp14>MAY</bcp14> be signalled, additionally using the <tt>+</tt>
operator with its registered short code.</t>
          <t pn="section-6.1.3-2">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 <tt>value</tt> attribute of each is, at least,
as restrictive as the <tt>value</tt> attribute of the feature or extension in
P that has the same character content. The term "restrictive" here is as
defined in Section 6 of <xref target="TTML2" format="default" sectionFormat="of" derivedContent="TTML2"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="payload-examples" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-payload-examples">Payload Examples</name>
      <t pn="section-7-1"><xref target="FigEGDoc" format="default" sectionFormat="of" derivedContent="Figure 4"/> is an example of a valid TTML document that may
be carried using the payload format described in this document.</t>
      <figure anchor="FigEGDoc" align="left" suppress-title="false" pn="figure-4">
        <name slugifiedName="name-example-ttml-document">Example TTML Document</name>
        <sourcecode type="xml" markers="false" pn="section-7-2.1">

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

</sourcecode>
      </figure>
    </section>
    <section anchor="fragmentation" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-fragmentation-of-ttml-docum">Fragmentation of TTML Documents</name>
      <t pn="section-8-1">Many of the use cases for TTML are low bit-rate with RTP packets expected
to fit within the Path MTU. However, some documents may exceed the Path
MTU. In these cases, they may be split between multiple packets. Where
fragmentation is used, the following guidelines <bcp14>MUST</bcp14> be
followed:</t>
      <ul bare="false" empty="false" spacing="normal" pn="section-8-2">
        <li pn="section-8-2.1">
          <t pn="section-8-2.1.1">It is <bcp14>RECOMMENDED</bcp14> that documents be fragmented as seldom
as possible, i.e., the least possible number of fragments is created out of a
document.</t>
        </li>
        <li pn="section-8-2.2">
          <t pn="section-8-2.2.1">Text strings <bcp14>MUST</bcp14> 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.</t>
        </li>
        <li pn="section-8-2.3">
          <t pn="section-8-2.3.1">Document fragments <bcp14>SHOULD</bcp14> be protected against packet
losses. More information can be found in <xref target="lossOfData" format="default" sectionFormat="of" derivedContent="Section 9"/>.</t>
        </li>
      </ul>
      <t pn="section-8-3">When a document spans more than one RTP packet, the entire document is
obtained by concatenating User Data Words from each consecutive contributing
packet in ascending order of Sequence Number.</t>
      <t pn="section-8-4">As described in <xref target="payloadProc" format="default" sectionFormat="of" derivedContent="Section 6"/>, only zero or one TTML
document may be active at any point in time. As such, there
<bcp14>MUST</bcp14> only be one document transmitted for a given RTP
Timestamp. Furthermore, as stated in <xref target="rtpHeaderUsage" format="default" sectionFormat="of" derivedContent="Section 4.1"/>, the
marker bit <bcp14>MUST</bcp14> be set for a packet containing the last
fragment of a document. A packet following one where the marker bit is set
contains the first fragment of a new document. The first fragment might also
be the last.</t>
    </section>
    <section anchor="lossOfData" numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-protection-against-loss-of-">Protection against Loss of Data</name>
      <t pn="section-9-1">Consideration must be devoted to keeping loss of documents due to packet
loss within acceptable limits. What is deemed acceptable limits is dependent
on the TTML profile(s) used and use case, among other things. As such, specific
limits are outside the scope of this document.</t>
      <t pn="section-9-2">Documents <bcp14>MAY</bcp14> be sent without additional protection if
end-to-end network conditions guarantee that document loss will be within
acceptable limits under all anticipated load conditions. Where such guarantees
cannot be provided, implementations <bcp14>MUST</bcp14> use a mechanism to
protect against packet loss. Potential mechanisms include Forward Error
Correction (FEC) <xref target="RFC5109" format="default" sectionFormat="of" derivedContent="RFC5109"/>, retransmission <xref target="RFC4588" format="default" sectionFormat="of" derivedContent="RFC4588"/>, duplication <xref target="ST2022-7" format="default" sectionFormat="of" derivedContent="ST2022-7"/>, or an equivalent
technique.</t>
    </section>
    <section anchor="congestion-control-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-10">
      <name slugifiedName="name-congestion-control-consider">Congestion Control Considerations</name>
      <t pn="section-10-1">Congestion control for RTP <bcp14>SHALL</bcp14> be used in accordance with
<xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/> and with any applicable RTP profile, e.g., <xref target="RFC3551" format="default" sectionFormat="of" derivedContent="RFC3551"/>. "Multimedia Congestion Control: Circuit Breakers for
Unicast RTP Sessions" <xref target="RFC8083" format="default" sectionFormat="of" derivedContent="RFC8083"/> is an update to
"RTP: A Transport Protocol for Real-time
Applications" <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/>, which defines criteria for when one is required to
stop sending RTP packet streams. Applications implementing this standard
<bcp14>MUST</bcp14> comply with <xref target="RFC8083" format="default" sectionFormat="of" derivedContent="RFC8083"/>, with particular
attention paid to Section <xref target="RFC8083" sectionFormat="bare" section="4.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8083#section-4.4" derivedContent="RFC8083"/>
on Media Usability. <xref target="RFC8085" format="default" sectionFormat="of" derivedContent="RFC8085"/> provides additional information
on the best practices for applying congestion control to UDP streams.</t>
    </section>
    <section anchor="payload-format-parameters" numbered="true" removeInRFC="false" toc="include" pn="section-11">
      <name slugifiedName="name-payload-format-parameters">Payload Format Parameters</name>
      <t pn="section-11-1">This RTP payload format is identified using the existing
application/ttml+xml media type as registered with IANA <xref target="IANA" format="default" sectionFormat="of" derivedContent="IANA"/>
and defined in <xref target="TTML-MTPR" format="default" sectionFormat="of" derivedContent="TTML-MTPR"/>.</t>
      <section anchor="rate" numbered="true" removeInRFC="false" toc="include" pn="section-11.1">
        <name slugifiedName="name-clock-rate">Clock Rate</name>
        <t pn="section-11.1-1">The default clock rate for TTML over RTP is 1000 Hz. The clock rate
<bcp14>SHOULD</bcp14> 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.</t>
        <t pn="section-11.1-2">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 <bcp14>RECOMMENDED</bcp14> that streams use the same
clock 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.</t>
      </section>
      <section anchor="sdp-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-11.2">
        <name slugifiedName="name-session-description-protoco">Session Description Protocol (SDP) Considerations</name>
        <t pn="section-11.2-1">The mapping of the application/ttml+xml media type and its parameters <xref target="TTML-MTPR" format="default" sectionFormat="of" derivedContent="TTML-MTPR"/> <bcp14>SHALL</bcp14> be done according to
<xref target="RFC4855" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4855#section-3" derivedContent="RFC4855"/>.</t>
        <ul bare="false" empty="false" spacing="normal" pn="section-11.2-2">
          <li pn="section-11.2-2.1">
            <t pn="section-11.2-2.1.1">The type name "application" goes in SDP "m=" as the media name.</t>
          </li>
          <li pn="section-11.2-2.2">
            <t pn="section-11.2-2.2.1">The media subtype "ttml+xml" goes in SDP "a=rtpmap" as the encoding name.</t>
          </li>
          <li pn="section-11.2-2.3">
            <t pn="section-11.2-2.3.1">The clock rate also goes in "a=rtpmap" as the clock rate.</t>
          </li>
        </ul>
        <t pn="section-11.2-3">Additional format-specific parameters, as described in the media type
specification, <bcp14>SHALL</bcp14> be included in the SDP file in "a=fmtp" as
a semicolon-separated list of "parameter=value" pairs, as described in <xref target="RFC4855" format="default" sectionFormat="of" derivedContent="RFC4855"/>. The <tt>codecs</tt> parameter <bcp14>MUST</bcp14> be
included in the <tt>a=fmtp</tt> line of the SDP file. Specific requirements
for the "codecs" parameter are included in <xref target="codecs" format="default" sectionFormat="of" derivedContent="Section 6.1.3"/>.</t>
        <section anchor="examples" numbered="true" removeInRFC="false" toc="include" pn="section-11.2.1">
          <name slugifiedName="name-examples">Examples</name>
          <t pn="section-11.2.1-1">A sample SDP mapping is presented in <xref target="FigSDP" format="default" sectionFormat="of" derivedContent="Figure 5"/>.</t>
          <figure anchor="FigSDP" align="left" suppress-title="false" pn="figure-5">
            <name slugifiedName="name-example-sdp-mapping">Example SDP Mapping </name>
            <sourcecode type="sdp" markers="false" pn="section-11.2.1-2.1">

m=application 30000 RTP/AVP 112
a=rtpmap:112 ttml+xml/90000
a=fmtp:112 charset=utf-8;codecs=im2t

</sourcecode>
          </figure>
          <t pn="section-11.2.1-3">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 Internet Media and Captions (IMSC) 1.1 Text profile <xref target="TTML-IMSC1.1" format="default" sectionFormat="of" derivedContent="TTML-IMSC1.1"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-12">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t pn="section-12-1">This document has no IANA actions.</t>
    </section>
    <section anchor="security" numbered="true" removeInRFC="false" toc="include" pn="section-13">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t pn="section-13-1">RTP packets using the payload format defined in this specification are
subject to the security considerations discussed in the RTP specification
<xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/> and in any applicable RTP profile, such as RTP/AVP
<xref target="RFC3551" format="default" sectionFormat="of" derivedContent="RFC3551"/>, RTP/AVPF <xref target="RFC4585" format="default" sectionFormat="of" derivedContent="RFC4585"/>, RTP/SAVP <xref target="RFC3711" format="default" sectionFormat="of" derivedContent="RFC3711"/>, or RTP/SAVPF <xref target="RFC5124" format="default" sectionFormat="of" derivedContent="RFC5124"/>.

However, as
"Securing the RTP Protocol Framework: Why RTP Does Not Mandate a Single Media
Security Solution" <xref target="RFC7202" format="default" sectionFormat="of" derivedContent="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" <xref target="RFC7201" format="default" sectionFormat="of" derivedContent="RFC7201"/>. Applications <bcp14>SHOULD</bcp14> 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.</t>
      <t pn="section-13-2">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).</t>
      <t pn="section-13-3">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. <xref target="RFC4732" format="default" sectionFormat="of" derivedContent="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.</t>
      <t pn="section-13-4">As with other XML types and as noted in <xref target="RFC7303" section="10" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7303#section-10" derivedContent="RFC7303">"XML Media Types"</xref>,
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.</t>
      <t pn="section-13-5">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.</t>
      <t pn="section-13-6">Although not prohibited, there are no expectations that XML signatures or
encryption would normally be employed.</t>
      <t pn="section-13-7">Further information related to privacy and security at a document level can
be found in Appendix P of <xref target="TTML2" format="default" sectionFormat="of" derivedContent="TTML2"/>.</t>
    </section>
  </middle>
  <back>
    <references pn="section-14">
      <name slugifiedName="name-normative-references">Normative References</name>
      <reference anchor="IANA" target="https://www.iana.org/assignments/media-types" quoteTitle="true" derivedAnchor="IANA">
        <front>
          <title>Media Types</title>
          <author>
            <organization showOnFrontPage="true">IANA</organization>
          </author>
        </front>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author initials="S." surname="Bradner" fullname="S. Bradner">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="1997" month="March"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3550" quoteTitle="true" derivedAnchor="RFC3550">
        <front>
          <title>RTP: A Transport Protocol for Real-Time Applications</title>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Casner" fullname="S. Casner">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Frederick" fullname="R. Frederick">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="V." surname="Jacobson" fullname="V. Jacobson">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2003" month="July"/>
          <abstract>
            <t>This memorandum describes RTP, the real-time transport protocol.  RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services.  RTP does not address resource reservation and does not guarantee quality-of- service for real-time services.  The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality.  RTP and RTCP are designed to be independent of the underlying transport and network layers.  The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes.  There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="64"/>
        <seriesInfo name="RFC" value="3550"/>
        <seriesInfo name="DOI" value="10.17487/RFC3550"/>
      </reference>
      <reference anchor="RFC4103" target="https://www.rfc-editor.org/info/rfc4103" quoteTitle="true" derivedAnchor="RFC4103">
        <front>
          <title>RTP Payload for Text Conversation</title>
          <author initials="G." surname="Hellstrom" fullname="G. Hellstrom">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Jones" fullname="P. Jones">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2005" month="June"/>
          <abstract>
            <t>This memo obsoletes RFC 2793; it describes how to carry real-time text conversation session contents in RTP packets.  Text conversation session contents are specified in ITU-T Recommendation T.140.</t>
            <t>One payload format is described for transmitting text on a separate RTP session dedicated for the transmission of text.</t>
            <t>This RTP payload description recommends a method to include redundant text from already transmitted packets in order to reduce the risk of text loss caused by packet loss.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4103"/>
        <seriesInfo name="DOI" value="10.17487/RFC4103"/>
      </reference>
      <reference anchor="RFC4855" target="https://www.rfc-editor.org/info/rfc4855" quoteTitle="true" derivedAnchor="RFC4855">
        <front>
          <title>Media Type Registration of RTP Payload Formats</title>
          <author initials="S." surname="Casner" fullname="S. Casner">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2007" month="February"/>
          <abstract>
            <t>This document specifies the procedure to register RTP payload formats as audio, video, or other media subtype names.  This is useful in a text-based format description or control protocol to identify the type of an RTP transmission.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4855"/>
        <seriesInfo name="DOI" value="10.17487/RFC4855"/>
      </reference>
      <reference anchor="RFC7303" target="https://www.rfc-editor.org/info/rfc7303" quoteTitle="true" derivedAnchor="RFC7303">
        <front>
          <title>XML Media Types</title>
          <author initials="H." surname="Thompson" fullname="H. Thompson">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Lilley" fullname="C. Lilley">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2014" month="July"/>
          <abstract>
            <t>This specification standardizes three media types -- application/xml, application/xml-external-parsed-entity, and application/xml-dtd -- for use in exchanging network entities that are related to the Extensible Markup Language (XML) while defining text/xml and text/ xml-external-parsed-entity as aliases for the respective application/ types.  This specification also standardizes the '+xml' suffix for naming media types outside of these five types when those media types represent XML MIME entities.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7303"/>
        <seriesInfo name="DOI" value="10.17487/RFC7303"/>
      </reference>
      <reference anchor="RFC8083" target="https://www.rfc-editor.org/info/rfc8083" quoteTitle="true" derivedAnchor="RFC8083">
        <front>
          <title>Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions</title>
          <author initials="C." surname="Perkins" fullname="C. Perkins">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="V." surname="Singh" fullname="V. Singh">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="March"/>
          <abstract>
            <t>The Real-time Transport Protocol (RTP) is widely used in telephony, video conferencing, and telepresence applications.  Such applications are often run on best-effort UDP/IP networks.  If congestion control is not implemented in these applications, then network congestion can lead to uncontrolled packet loss and a resulting deterioration of the user's multimedia experience.  The congestion control algorithm acts as a safety measure by stopping RTP flows from using excessive resources and protecting the network from overload.  At the time of this writing, however, while there are several proprietary solutions, there is no standard algorithm for congestion control of interactive RTP flows.</t>
            <t>This document does not propose a congestion control algorithm.  It instead defines a minimal set of RTP circuit breakers: conditions under which an RTP sender needs to stop transmitting media data to protect the network from excessive congestion.  It is expected that, in the absence of long-lived excessive congestion, RTP applications running on best-effort IP networks will be able to operate without triggering these circuit breakers.  To avoid triggering the RTP circuit breaker, any Standards Track congestion control algorithms defined for RTP will need to operate within the envelope set by these RTP circuit breaker algorithms.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8083"/>
        <seriesInfo name="DOI" value="10.17487/RFC8083"/>
      </reference>
      <reference anchor="RFC8085" target="https://www.rfc-editor.org/info/rfc8085" quoteTitle="true" derivedAnchor="RFC8085">
        <front>
          <title>UDP Usage Guidelines</title>
          <author initials="L." surname="Eggert" fullname="L. Eggert">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Fairhurst" fullname="G. Fairhurst">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Shepherd" fullname="G. Shepherd">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="March"/>
          <abstract>
            <t>The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms.  This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other protocols that use UDP.  Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, middlebox traversal, the use of Explicit Congestion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
            <t>Because congestion control is critical to the stable operation of the Internet, applications and other protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic.  They may also need to implement additional mechanisms, depending on how they use UDP.</t>
            <t>Some guidance is also applicable to the design of other protocols (e.g., protocols layered directly on IP or via IP-based tunnels), especially when these protocols do not themselves provide congestion control.</t>
            <t>This document obsoletes RFC 5405 and adds guidelines for multicast UDP usage.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="145"/>
        <seriesInfo name="RFC" value="8085"/>
        <seriesInfo name="DOI" value="10.17487/RFC8085"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author initials="B." surname="Leiba" fullname="B. Leiba">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="May"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="TECH3370" target="https://tech.ebu.ch/publications/tech3370" quoteTitle="true" derivedAnchor="TECH3370">
        <front>
          <title>EBU-TT, Part 3, Live Subtitling Applications: System Model and Content Profile for Authoring and Contribution</title>
          <author>
            <organization showOnFrontPage="true">European Broadcasting Union</organization>
          </author>
          <date year="2017" month="May"/>
        </front>
        <seriesInfo name="EBU-TT" value="Part 3"/>
        <seriesInfo name="Tech" value="3370"/>
      </reference>
      <reference anchor="TTML-MTPR" target="https://www.w3.org/TR/ttml-profile-registry/" quoteTitle="true" derivedAnchor="TTML-MTPR">
        <front>
          <title>TTML Media Type Definition and Profile Registry</title>
          <author initials="G." surname="Adams" fullname="Glenn Adams" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Dolan" fullname="Mike Dolan" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2019" month="April"/>
        </front>
        <refcontent>W3C Working Group Note</refcontent>
      </reference>
      <reference anchor="TTML2" target="https://www.w3.org/TR/ttml2/" quoteTitle="true" derivedAnchor="TTML2">
        <front>
          <title>Timed Text Markup Language 2 (TTML2)</title>
          <author initials="G." surname="Adams" fullname="Glenn Adams" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Concolato" fullname="Cyril Concolato" role="editor"/>
          <date year="2018" month="November"/>
        </front>
        <seriesInfo name="W3C Recommendation" value="REC-ttml2-20181108"/>
      </reference>
    </references>
    <references pn="section-15">
      <name slugifiedName="name-informative-references">Informative References</name>
      <reference anchor="RFC2648" target="https://www.rfc-editor.org/info/rfc2648" quoteTitle="true" derivedAnchor="RFC2648">
        <front>
          <title>A URN Namespace for IETF Documents</title>
          <author initials="R." surname="Moats" fullname="R. Moats">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="1999" month="August"/>
          <abstract>
            <t>This document proposes the "ietf" namespace, which consists of the RFC family of documents (RFCs, STDs, FYIs, and BCPs) developed by the IETF and published by the RFC Editor and the minutes of working groups (WG) and birds of a feather (BOF) meetings that occur during IETF conferences.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2648"/>
        <seriesInfo name="DOI" value="10.17487/RFC2648"/>
      </reference>
      <reference anchor="RFC3551" target="https://www.rfc-editor.org/info/rfc3551" quoteTitle="true" derivedAnchor="RFC3551">
        <front>
          <title>RTP Profile for Audio and Video Conferences with Minimal Control</title>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Casner" fullname="S. Casner">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2003" month="July"/>
          <abstract>
            <t>This document describes a profile called "RTP/AVP" for the use of the real-time transport protocol (RTP), version 2, and the associated control protocol, RTCP, within audio and video multiparticipant conferences with minimal control.  It provides interpretations of generic fields within the RTP specification suitable for audio and video conferences.  In particular, this document defines a set of default mappings from payload type numbers to encodings. This document also describes how audio and video data may be carried within RTP.  It defines a set of standard encodings and their names when used within RTP.  The descriptions provide pointers to reference implementations and the detailed standards.  This document is meant as an aid for implementors of audio, video and other real-time multimedia applications. This memorandum obsoletes RFC 1890.  It is mostly backwards-compatible except for functions removed because two interoperable implementations were not found.  The additions to RFC 1890 codify existing practice in the use of payload formats under this profile and include new payload formats defined since RFC 1890 was published.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="65"/>
        <seriesInfo name="RFC" value="3551"/>
        <seriesInfo name="DOI" value="10.17487/RFC3551"/>
      </reference>
      <reference anchor="RFC3711" target="https://www.rfc-editor.org/info/rfc3711" quoteTitle="true" derivedAnchor="RFC3711">
        <front>
          <title>The Secure Real-time Transport Protocol (SRTP)</title>
          <author initials="M." surname="Baugher" fullname="M. Baugher">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="D." surname="McGrew" fullname="D. McGrew">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Naslund" fullname="M. Naslund">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Carrara" fullname="E. Carrara">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="K." surname="Norrman" fullname="K. Norrman">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2004" month="March"/>
          <abstract>
            <t>This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP).   [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3711"/>
        <seriesInfo name="DOI" value="10.17487/RFC3711"/>
      </reference>
      <reference anchor="RFC4396" target="https://www.rfc-editor.org/info/rfc4396" quoteTitle="true" derivedAnchor="RFC4396">
        <front>
          <title>RTP Payload Format for 3rd Generation Partnership Project (3GPP) Timed Text</title>
          <author initials="J." surname="Rey" fullname="J. Rey">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="Y." surname="Matsui" fullname="Y. Matsui">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2006" month="February"/>
          <abstract>
            <t>This document specifies an RTP payload format for the transmission of 3GPP (3rd Generation Partnership Project) timed text.  3GPP timed text is a time-lined, decorated text media format with defined storage in a 3GP file.  Timed Text can be synchronized with audio/video contents and used in applications such as captioning, titling, and multimedia presentations.  In the following sections, the problems of streaming timed text are addressed, and a payload format for streaming 3GPP timed text over RTP is specified.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4396"/>
        <seriesInfo name="DOI" value="10.17487/RFC4396"/>
      </reference>
      <reference anchor="RFC4585" target="https://www.rfc-editor.org/info/rfc4585" quoteTitle="true" derivedAnchor="RFC4585">
        <front>
          <title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title>
          <author initials="J." surname="Ott" fullname="J. Ott">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Wenger" fullname="S. Wenger">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="N." surname="Sato" fullname="N. Sato">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Burmeister" fullname="C. Burmeister">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Rey" fullname="J. Rey">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2006" month="July"/>
          <abstract>
            <t>Real-time media streams that use RTP are, to some degree, resilient against packet losses.  Receivers may use the base mechanisms of the Real-time Transport Control Protocol (RTCP) to report packet reception statistics and thus allow a sender to adapt its transmission behavior in the mid-term.  This is the sole means for feedback and feedback-based error repair (besides a few codec-specific mechanisms).  This document defines an extension to the Audio-visual Profile (AVP) that enables receivers to provide, statistically, more immediate feedback to the senders and thus allows for short-term adaptation and efficient feedback-based repair mechanisms to be implemented.  This early feedback profile (AVPF) maintains the AVP bandwidth constraints for RTCP and preserves scalability to large groups.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4585"/>
        <seriesInfo name="DOI" value="10.17487/RFC4585"/>
      </reference>
      <reference anchor="RFC4588" target="https://www.rfc-editor.org/info/rfc4588" quoteTitle="true" derivedAnchor="RFC4588">
        <front>
          <title>RTP Retransmission Payload Format</title>
          <author initials="J." surname="Rey" fullname="J. Rey">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="D." surname="Leon" fullname="D. Leon">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Miyazaki" fullname="A. Miyazaki">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="V." surname="Varsa" fullname="V. Varsa">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Hakenberg" fullname="R. Hakenberg">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2006" month="July"/>
          <abstract>
            <t>RTP retransmission is an effective packet loss recovery technique for real-time applications with relaxed delay bounds.  This document describes an RTP payload format for performing retransmissions. Retransmitted RTP packets are sent in a separate stream from the original RTP stream.  It is assumed that feedback from receivers to senders is available.  In particular, it is assumed that Real-time Transport Control Protocol (RTCP) feedback as defined in the extended RTP profile for RTCP-based feedback (denoted RTP/AVPF) is available in this memo.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4588"/>
        <seriesInfo name="DOI" value="10.17487/RFC4588"/>
      </reference>
      <reference anchor="RFC4732" target="https://www.rfc-editor.org/info/rfc4732" quoteTitle="true" derivedAnchor="RFC4732">
        <front>
          <title>Internet Denial-of-Service Considerations</title>
          <author initials="M." surname="Handley" fullname="M. Handley" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Rescorla" fullname="E. Rescorla" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author>
            <organization showOnFrontPage="true">IAB</organization>
          </author>
          <date year="2006" month="December"/>
          <abstract>
            <t>This document provides an overview of possible avenues for denial-of-service (DoS) attack on Internet systems.  The aim is to encourage protocol designers and network engineers towards designs that are more robust.  We discuss partial solutions that reduce the effectiveness of attacks, and how some solutions might inadvertently open up alternative vulnerabilities.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4732"/>
        <seriesInfo name="DOI" value="10.17487/RFC4732"/>
      </reference>
      <reference anchor="RFC4734" target="https://www.rfc-editor.org/info/rfc4734" quoteTitle="true" derivedAnchor="RFC4734">
        <front>
          <title>Definition of Events for Modem, Fax, and Text Telephony Signals</title>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="T." surname="Taylor" fullname="T. Taylor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2006" month="December"/>
          <abstract>
            <t>This memo updates RFC 4733 to add event codes for modem, fax, and text telephony signals when carried in the telephony event RTP payload.  It supersedes the assignment of event codes for this purpose in RFC 2833, and therefore obsoletes that part of RFC 2833.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4734"/>
        <seriesInfo name="DOI" value="10.17487/RFC4734"/>
      </reference>
      <reference anchor="RFC5109" target="https://www.rfc-editor.org/info/rfc5109" quoteTitle="true" derivedAnchor="RFC5109">
        <front>
          <title>RTP Payload Format for Generic Forward Error Correction</title>
          <author initials="A." surname="Li" fullname="A. Li" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2007" month="December"/>
          <abstract>
            <t>This document specifies a payload format for generic Forward Error Correction (FEC) for media data encapsulated in RTP.  It is based on the exclusive-or (parity) operation.  The payload format described in this document allows end systems to apply protection using various protection lengths and levels, in addition to using various protection group sizes to adapt to different media and channel characteristics. It enables complete recovery of the protected packets or partial recovery of the critical parts of the payload depending on the packet loss situation.  This scheme is completely compatible with non-FEC-capable hosts, so the receivers in a multicast group that do not implement FEC can still work by simply ignoring the protection data.  This specification obsoletes RFC 2733 and RFC 3009.  The FEC specified in this document is not backward compatible with RFC 2733 and RFC 3009.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5109"/>
        <seriesInfo name="DOI" value="10.17487/RFC5109"/>
      </reference>
      <reference anchor="RFC5124" target="https://www.rfc-editor.org/info/rfc5124" quoteTitle="true" derivedAnchor="RFC5124">
        <front>
          <title>Extended Secure RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/SAVPF)</title>
          <author initials="J." surname="Ott" fullname="J. Ott">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Carrara" fullname="E. Carrara">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2008" month="February"/>
          <abstract>
            <t>An RTP profile (SAVP) for secure real-time communications and another profile (AVPF) to provide timely feedback from the receivers to a sender are defined in RFC 3711 and RFC 4585, respectively.  This memo specifies the combination of both profiles to enable secure RTP communications with feedback.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5124"/>
        <seriesInfo name="DOI" value="10.17487/RFC5124"/>
      </reference>
      <reference anchor="RFC7201" target="https://www.rfc-editor.org/info/rfc7201" quoteTitle="true" derivedAnchor="RFC7201">
        <front>
          <title>Options for Securing RTP Sessions</title>
          <author initials="M." surname="Westerlund" fullname="M. Westerlund">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Perkins" fullname="C. Perkins">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2014" month="April"/>
          <abstract>
            <t>The Real-time Transport Protocol (RTP) is used in a large number of different application domains and environments.  This heterogeneity implies that different security mechanisms are needed to provide services such as confidentiality, integrity, and source authentication of RTP and RTP Control Protocol (RTCP) packets suitable for the various environments.  The range of solutions makes it difficult for RTP-based application developers to pick the most suitable mechanism.  This document provides an overview of a number of security solutions for RTP and gives guidance for developers on how to choose the appropriate security mechanism.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7201"/>
        <seriesInfo name="DOI" value="10.17487/RFC7201"/>
      </reference>
      <reference anchor="RFC7202" target="https://www.rfc-editor.org/info/rfc7202" quoteTitle="true" derivedAnchor="RFC7202">
        <front>
          <title>Securing the RTP Framework: Why RTP Does Not Mandate a Single Media Security Solution</title>
          <author initials="C." surname="Perkins" fullname="C. Perkins">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Westerlund" fullname="M. Westerlund">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2014" month="April"/>
          <abstract>
            <t>This memo discusses the problem of securing real-time multimedia sessions.  It also explains why the Real-time Transport Protocol (RTP) and the associated RTP Control Protocol (RTCP) do not mandate a single media security mechanism.  This is relevant for designers and reviewers of future RTP extensions to ensure that appropriate security mechanisms are mandated and that any such mechanisms are specified in a manner that conforms with the RTP architecture.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7202"/>
        <seriesInfo name="DOI" value="10.17487/RFC7202"/>
      </reference>
      <reference anchor="ST2022-7" target="https://ieeexplore.ieee.org/document/8716822" quoteTitle="true" derivedAnchor="ST2022-7">
        <front>
          <title>Seamless Protection Switching of RTP Datagrams</title>
          <author>
            <organization showOnFrontPage="true">SMPTE</organization>
          </author>
          <date year="2019" month="May"/>
        </front>
        <seriesInfo name="ST" value="2022-7:2019"/>
        <seriesInfo name="DOI" value="10.5594/SMPTE.ST2022-7.2019"/>
      </reference>
      <reference anchor="TTML-IMSC1.1" target="https://www.w3.org/TR/ttml-imsc1.1/" quoteTitle="true" derivedAnchor="TTML-IMSC1.1">
        <front>
          <title>TTML Profiles for Internet Media Subtitles and Captions 1.1</title>
          <author initials="P." surname="Lemieux" fullname="Pierre Lemieux" role="editor"/>
          <date year="2018" month="November"/>
        </front>
        <seriesInfo name="W3C Recommendation" value="REC-ttml-imsc1.1-20181108"/>
      </reference>
    </references>
    <section anchor="acknowledgements" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t pn="section-appendix.a-1">Thanks to <contact fullname="Nigel Megitt"/>, <contact fullname="James Gruessing"/>, <contact fullname="Robert Wadge"/>, <contact fullname="Andrew Bonney"/>, <contact fullname="James Weaver"/>, <contact fullname="John Fletcher"/>, <contact fullname="Frans de Jong"/>, and <contact fullname="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 format this payload format is intended to carry.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author initials="J." surname="Sandford" fullname="James Sandford">
        <organization showOnFrontPage="true">British Broadcasting Corporation</organization>
        <address>
          <postal>
            <street>Dock House, MediaCityUK</street>
            <city>Salford</city>
            <country>United Kingdom</country>
          </postal>
          <phone>+44 30304 09549</phone>
          <email>james.sandford@bbc.co.uk</email>
        </address>
      </author>
    </section>
  </back>
</rfc>