-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdraft-ietf-avtcore-cc-feedback-message-09-from-08.diff.html
576 lines (570 loc) · 105 KB
/
draft-ietf-avtcore-cc-feedback-message-09-from-08.diff.html
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by rfcdiff 1.46: rfcdiff -->
<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > -->
<!-- System: Darwin mangole.local 18.7.0 Darwin Kernel Version 18.7.0: Mon Aug 31 20:53:32 PDT 2020; root:xnu-4903.278.44~1/RELEASE_X86_64 x86_64 -->
<!-- Using awk: /Users/csp/apps/gawk-4.1.4/bin/gawk: GNU Awk 4.1.4, API: 1.1 -->
<!-- Using diff: /usr/bin/diff: diff (GNU diffutils) 2.8.1 -->
<!-- Using wdiff: /Users/csp/apps/wdiff-1.2.2/bin/wdiff: wdiff (GNU wdiff) 1.2.2 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>Diff: draft-ietf-avtcore-cc-feedback-message-08.txt - draft-ietf-avtcore-cc-feedback-message-09.txt</title>
<style type="text/css">
body { margin: 0.4ex; margin-right: auto; }
tr { }
td { white-space: pre; font-family: monospace; vertical-align: top; font-size: 0.86em;}
th { font-size: 0.86em; }
.small { font-size: 0.6em; font-style: italic; font-family: Verdana, Helvetica, sans-serif; }
.left { background-color: #EEE; }
.right { background-color: #FFF; }
.diff { background-color: #CCF; }
.lblock { background-color: #BFB; }
.rblock { background-color: #FF8; }
.insert { background-color: #8FF; }
.delete { background-color: #ACF; }
.void { background-color: #FFB; }
.cont { background-color: #EEE; }
.linebr { background-color: #AAA; }
.lineno { color: red; background-color: #FFF; font-size: 0.7em; text-align: right; padding: 0 2px; }
.elipsis{ background-color: #AAA; }
.left .cont { background-color: #DDD; }
.right .cont { background-color: #EEE; }
.lblock .cont { background-color: #9D9; }
.rblock .cont { background-color: #DD6; }
.insert .cont { background-color: #0DD; }
.delete .cont { background-color: #8AD; }
.stats, .stats td, .stats th { background-color: #EEE; padding: 2px 0; }
span.hide { display: none; color: #aaa;} a:hover span { display: inline; } tr.change { background-color: gray; }
tr.change a { text-decoration: none; color: black }
</style>
<script>
var chunk_index = 0;
var old_chunk = null;
function format_chunk(index) {
var prefix = "diff";
var str = index.toString();
for (x=0; x<(4-str.length); ++x) {
prefix+='0';
}
return prefix + str;
}
function find_chunk(n){
return document.querySelector('tr[id$="' + n + '"]');
}
function change_chunk(offset) {
var index = chunk_index + offset;
var new_str;
var new_chunk;
new_str = format_chunk(index);
new_chunk = find_chunk(new_str);
if (!new_chunk) {
return;
}
if (old_chunk) {
old_chunk.style.outline = "";
}
old_chunk = new_chunk;
old_chunk.style.outline = "1px solid red";
window.location.replace("#" + new_str)
window.scrollBy(0,-100);
chunk_index = index;
}
document.onkeydown = function(e) {
switch (e.keyCode) {
case 78:
change_chunk(1);
break;
case 80:
change_chunk(-1);
break;
}
};
</script>
</head>
<body >
<table border="0" cellpadding="0" cellspacing="0">
<tr id="part-1" bgcolor="orange"><th></th><th> draft-ietf-avtcore-cc-feedback-message-08.txt </th><th> </th><th> draft-ietf-avtcore-cc-feedback-message-09.txt </th><th></th></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">IETF RMCAT Working Group Z. Sarker</td><td> </td><td class="right">IETF RMCAT Working Group Z. Sarker</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">Internet-Draft Ericsson AB</td><td> </td><td class="right">Internet-Draft Ericsson AB</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">Intended status: Standards Track C. Perkins</td><td> </td><td class="right">Intended status: Standards Track C. Perkins</td><td class="lineno"></td></tr>
<tr id="diff0001"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock">Expires: Ma<span class="delete">rch 6, 2021</span> University of Glasgow</td><td> </td><td class="rblock">Expires: Ma<span class="insert">y 6, 2021 </span> University of Glasgow</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> V. Singh</td><td> </td><td class="right"> V. Singh</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> callstats.io</td><td> </td><td class="right"> callstats.io</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> M. Ramalho</td><td> </td><td class="right"> M. Ramalho</td><td class="lineno"></td></tr>
<tr id="diff0002"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">Sept</span>ember 2, 2020</td><td> </td><td class="rblock"> <span class="insert"> Nov</span>ember 2, 2020</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> RTP Control Protocol (RTCP) Feedback for Congestion Control</td><td> </td><td class="right"> RTP Control Protocol (RTCP) Feedback for Congestion Control</td><td class="lineno"></td></tr>
<tr id="diff0003"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> draft-ietf-avtcore-cc-feedback-message-0<span class="delete">8</span></td><td> </td><td class="rblock"> draft-ietf-avtcore-cc-feedback-message-0<span class="insert">9</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0004"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> This document describes an RTCP feedback message intended to enable</td><td> </td><td class="rblock"> <span class="insert">An effective RTP congestion control algorithm requires more fine-</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> congestion control for interactive real-time traffic using RTP. The</td><td> </td><td class="rblock"><span class="insert"> grained feedback on packet loss, timing, and ECN marks than is</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> feedback message is designed for use with a sender-based congestion</td><td> </td><td class="rblock"><span class="insert"> provided by the standard RTP Control Protocol (RTCP) Sender Report</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> control algorithm, in which the receiver of an RTP flow sends RTCP</td><td> </td><td class="rblock"><span class="insert"> (SR) and Receiver Report (RR) packets.</span> This document describes an</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> feedback packets to the sender containing the information the sender</td><td> </td><td class="rblock"> RTCP feedback message intended to enable congestion control for</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> needs to perform congestion control.</td><td> </td><td class="rblock"> interactive real-time traffic using RTP. The feedback message is</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> designed for use with a sender-based congestion control algorithm, in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> which the receiver of an RTP flow sends RTCP feedback packets to the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> sender containing the information the sender needs to perform</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> congestion control.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">Status of This Memo</td><td> </td><td class="right">Status of This Memo</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> This Internet-Draft is submitted in full conformance with the</td><td> </td><td class="right"> This Internet-Draft is submitted in full conformance with the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> provisions of BCP 78 and BCP 79.</td><td> </td><td class="right"> provisions of BCP 78 and BCP 79.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Internet-Drafts are working documents of the Internet Engineering</td><td> </td><td class="right"> Internet-Drafts are working documents of the Internet Engineering</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Task Force (IETF). Note that other groups may also distribute</td><td> </td><td class="right"> Task Force (IETF). Note that other groups may also distribute</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> working documents as Internet-Drafts. The list of current Internet-</td><td> </td><td class="right"> working documents as Internet-Drafts. The list of current Internet-</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Drafts is at https://datatracker.ietf.org/drafts/current/.</td><td> </td><td class="right"> Drafts is at https://datatracker.ietf.org/drafts/current/.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Internet-Drafts are draft documents valid for a maximum of six months</td><td> </td><td class="right"> Internet-Drafts are draft documents valid for a maximum of six months</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> and may be updated, replaced, or obsoleted by other documents at any</td><td> </td><td class="right"> and may be updated, replaced, or obsoleted by other documents at any</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> time. It is inappropriate to use Internet-Drafts as reference</td><td> </td><td class="right"> time. It is inappropriate to use Internet-Drafts as reference</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> material or to cite them other than as "work in progress."</td><td> </td><td class="right"> material or to cite them other than as "work in progress."</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0005"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> This Internet-Draft will expire on Ma<span class="delete">rch</span> 6, 2021.</td><td> </td><td class="rblock"> This Internet-Draft will expire on Ma<span class="insert">y</span> 6, 2021.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Copyright (c) 2020 IETF Trust and the persons identified as the</td><td> </td><td class="right"> Copyright (c) 2020 IETF Trust and the persons identified as the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> document authors. All rights reserved.</td><td> </td><td class="right"> document authors. All rights reserved.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> This document is subject to BCP 78 and the IETF Trust's Legal</td><td> </td><td class="right"> This document is subject to BCP 78 and the IETF Trust's Legal</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Provisions Relating to IETF Documents</td><td> </td><td class="right"> Provisions Relating to IETF Documents</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> (https://trustee.ietf.org/license-info) in effect on the date of</td><td> </td><td class="right"> (https://trustee.ietf.org/license-info) in effect on the date of</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> publication of this document. Please review these documents</td><td> </td><td class="right"> publication of this document. Please review these documents</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-2" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-2"><em> page 2, line 20<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-2"><em> page 2, line 25<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left">Table of Contents</td><td> </td><td class="right">Table of Contents</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2</td><td> </td><td class="right"> 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3</td><td> </td><td class="right"> 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 3. RTCP Feedback for Congestion Control . . . . . . . . . . . . 3</td><td> </td><td class="right"> 3. RTCP Feedback for Congestion Control . . . . . . . . . . . . 3</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 3.1. RTCP Congestion Control Feedback Report . . . . . . . . . 4</td><td> </td><td class="right"> 3.1. RTCP Congestion Control Feedback Report . . . . . . . . . 4</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 4. Feedback Frequency and Overhead . . . . . . . . . . . . . . . 7</td><td> </td><td class="right"> 4. Feedback Frequency and Overhead . . . . . . . . . . . . . . . 7</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 5. Response to Loss of Feedback Packets . . . . . . . . . . . . 8</td><td> </td><td class="right"> 5. Response to Loss of Feedback Packets . . . . . . . . . . . . 8</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 6. SDP Signalling . . . . . . . . . . . . . . . . . . . . . . . 8</td><td> </td><td class="right"> 6. SDP Signalling . . . . . . . . . . . . . . . . . . . . . . . 8</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 7. Relation to RFC 6679 . . . . . . . . . . . . . . . . . . . . 9</td><td> </td><td class="right"> 7. Relation to RFC 6679 . . . . . . . . . . . . . . . . . . . . 9</td><td class="lineno"></td></tr>
<tr id="diff0006"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> 8. Design Rationale . . . . . . . . . . . . . . . . . . . . . . <span class="delete"> 9</span></td><td> </td><td class="rblock"> 8. Design Rationale . . . . . . . . . . . . . . . . . . . . . . <span class="insert">10</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11</td><td> </td><td class="right"> 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11</td><td> </td><td class="right"> 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 11. Security Considerations . . . . . . . . . . . . . . . . . . . 12</td><td> </td><td class="right"> 11. Security Considerations . . . . . . . . . . . . . . . . . . . 12</td><td class="lineno"></td></tr>
<tr id="diff0007"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> 12. References . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">12</span></td><td> </td><td class="rblock"> 12. References . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">13</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> 12.1. Normative References . . . . . . . . . . . . . . . . . . <span class="delete">12</span></td><td> </td><td class="rblock"> 12.1. Normative References . . . . . . . . . . . . . . . . . . <span class="insert">13</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 12.2. Informative References . . . . . . . . . . . . . . . . . 14</td><td> </td><td class="right"> 12.2. Informative References . . . . . . . . . . . . . . . . . 14</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">1. Introduction</td><td> </td><td class="right">1. Introduction</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> For interactive real-time traffic, such as video conferencing flows,</td><td> </td><td class="right"> For interactive real-time traffic, such as video conferencing flows,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the typical protocol choice is the Real-time Transport Protocol (RTP)</td><td> </td><td class="right"> the typical protocol choice is the Real-time Transport Protocol (RTP)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [RFC3550] running over the User Datagram Protocol (UDP). RTP does</td><td> </td><td class="right"> [RFC3550] running over the User Datagram Protocol (UDP). RTP does</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> not provide any guarantee of Quality of Service (QoS), reliability,</td><td> </td><td class="right"> not provide any guarantee of Quality of Service (QoS), reliability,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> or timely delivery, and expects the underlying transport protocol to</td><td> </td><td class="right"> or timely delivery, and expects the underlying transport protocol to</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-3" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-3"><em> page 2, line 47<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-3"><em> page 3, line 4<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> the RTP Control Protocol (RTCP) [RFC3550] provides a mechanism by</td><td> </td><td class="right"> the RTP Control Protocol (RTCP) [RFC3550] provides a mechanism by</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> which the receiver of an RTP flow can periodically send transport and</td><td> </td><td class="right"> which the receiver of an RTP flow can periodically send transport and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> media quality metrics to the sender of that RTP flow. This</td><td> </td><td class="right"> media quality metrics to the sender of that RTP flow. This</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> information can be used by the sender to perform congestion control.</td><td> </td><td class="right"> information can be used by the sender to perform congestion control.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> In the absence of standardized messages for this purpose, designers</td><td> </td><td class="right"> In the absence of standardized messages for this purpose, designers</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> of congestion control algorithms have developed proprietary RTCP</td><td> </td><td class="right"> of congestion control algorithms have developed proprietary RTCP</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> messages that convey only those parameters needed for their</td><td> </td><td class="right"> messages that convey only those parameters needed for their</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> respective designs. As a direct result, the different congestion</td><td> </td><td class="right"> respective designs. As a direct result, the different congestion</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> control designs are not interoperable. To enable algorithm evolution</td><td> </td><td class="right"> control designs are not interoperable. To enable algorithm evolution</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> as well as interoperability across designs (e.g., different rate</td><td> </td><td class="right"> as well as interoperability across designs (e.g., different rate</td><td class="lineno"></td></tr>
<tr id="diff0008"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> adaptation algorithms), it is highly desirable to have generic</td><td> </td><td class="rblock"> adaptation algorithms), it is highly desirable to have <span class="insert">a </span>generic</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> congestion control feedback format.</td><td> </td><td class="right"> congestion control feedback format.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> To help achieve interoperability for unicast RTP congestion control,</td><td> </td><td class="right"> To help achieve interoperability for unicast RTP congestion control,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> this memo proposes a common RTCP feedback packet format that can be</td><td> </td><td class="right"> this memo proposes a common RTCP feedback packet format that can be</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> used by NADA [RFC8698], SCReAM [RFC8298], Google Congestion Control</td><td> </td><td class="right"> used by NADA [RFC8698], SCReAM [RFC8298], Google Congestion Control</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [I-D.ietf-rmcat-gcc] and Shared Bottleneck Detection [RFC8382], and</td><td> </td><td class="right"> [I-D.ietf-rmcat-gcc] and Shared Bottleneck Detection [RFC8382], and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> hopefully also by future RTP congestion control algorithms.</td><td> </td><td class="right"> hopefully also by future RTP congestion control algorithms.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">2. Terminology</td><td> </td><td class="right">2. Terminology</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",</td><td> </td><td class="right"> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and</td><td> </td><td class="right"> "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> "OPTIONAL" in this document are to be interpreted as described in BCP</td><td> </td><td class="right"> "OPTIONAL" in this document are to be interpreted as described in BCP</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 14 [RFC2119] [RFC8174] when, and only when, they appear in all</td><td> </td><td class="right"> 14 [RFC2119] [RFC8174] when, and only when, they appear in all</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> capitals, as shown here.</td><td> </td><td class="right"> capitals, as shown here.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0009"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> In addition the terminology defined in [RFC3550], <span class="delete">[RFC3551],</span></td><td> </td><td class="rblock"> In addition the terminology defined in [RFC3550], [RFC4585], and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> [RFC3611],</span> [RFC4585], and [RFC5506] applies.</td><td> </td><td class="rblock"> [RFC5506] applies.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">3. RTCP Feedback for Congestion Control</td><td> </td><td class="right">3. RTCP Feedback for Congestion Control</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Based on an analysis of NADA [RFC8698], SCReAM [RFC8298], Google</td><td> </td><td class="right"> Based on an analysis of NADA [RFC8698], SCReAM [RFC8298], Google</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Congestion Control [I-D.ietf-rmcat-gcc] and Shared Bottleneck</td><td> </td><td class="right"> Congestion Control [I-D.ietf-rmcat-gcc] and Shared Bottleneck</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Detection [RFC8382], the following per-RTP packet congestion control</td><td> </td><td class="right"> Detection [RFC8382], the following per-RTP packet congestion control</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> feedback information has been determined to be necessary:</td><td> </td><td class="right"> feedback information has been determined to be necessary:</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> o RTP sequence number: The receiver of an RTP flow needs to feed the</td><td> </td><td class="right"> o RTP sequence number: The receiver of an RTP flow needs to feed the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> sequence numbers of the received RTP packets back to the sender,</td><td> </td><td class="right"> sequence numbers of the received RTP packets back to the sender,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-4" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-4"><em> page 5, line 8<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-4"><em> page 5, line 8<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> non-compound RTCP packet [RFC5506] if the RTP/AVPF profile [RFC4585]</td><td> </td><td class="right"> non-compound RTCP packet [RFC5506] if the RTP/AVPF profile [RFC4585]</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> or the RTP/SAVPF profile [RFC5124] is used.</td><td> </td><td class="right"> or the RTP/SAVPF profile [RFC5124] is used.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Irrespective of how it is transported, the congestion control</td><td> </td><td class="right"> Irrespective of how it is transported, the congestion control</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> feedback is sent as a Transport Layer Feedback Message (RTCP packet</td><td> </td><td class="right"> feedback is sent as a Transport Layer Feedback Message (RTCP packet</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> type 205). The format of this RTCP packet is shown in Figure 1:</td><td> </td><td class="right"> type 205). The format of this RTCP packet is shown in Figure 1:</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 0 1 2 3</td><td> </td><td class="right"> 0 1 2 3</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 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</td><td> </td><td class="right"> 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</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr id="diff0010"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> |V=2|P| FMT=CCFB<span class="delete"> | PT = 205</span> | length |</td><td> </td><td class="rblock"> |V=2|P| FMT=CCFB<span class="insert">| PT = 205 </span> | length |</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> | SSRC of RTCP packet sender |</td><td> </td><td class="right"> | SSRC of RTCP packet sender |</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> | SSRC of 1st RTP Stream |</td><td> </td><td class="right"> | SSRC of 1st RTP Stream |</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> | begin_seq | num_reports |</td><td> </td><td class="right"> | begin_seq | num_reports |</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr id="diff0011"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> |<span class="delete">L</span>|ECN| Arrival time offset | ... .</td><td> </td><td class="rblock"> |<span class="insert">R</span>|ECN| Arrival time offset | ... .</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> . .</td><td> </td><td class="right"> . .</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> . .</td><td> </td><td class="right"> . .</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> . .</td><td> </td><td class="right"> . .</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> | SSRC of nth RTP Stream |</td><td> </td><td class="right"> | SSRC of nth RTP Stream |</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> | begin_seq | num_reports |</td><td> </td><td class="right"> | begin_seq | num_reports |</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr id="diff0012"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> |<span class="delete">L</span>|ECN| Arrival time offset | ... |</td><td> </td><td class="rblock"> |<span class="insert">R</span>|ECN| Arrival time offset | ... |</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> . .</td><td> </td><td class="right"> . .</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> . .</td><td> </td><td class="right"> . .</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> | Report Timestamp (32bits) |</td><td> </td><td class="right"> | Report Timestamp (32bits) |</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td> </td><td class="right"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Figure 1: RTCP Congestion Control Feedback Packet Format</td><td> </td><td class="right"> Figure 1: RTCP Congestion Control Feedback Packet Format</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The first eight octets comprise a standard RTCP header, with PT=205</td><td> </td><td class="right"> The first eight octets comprise a standard RTCP header, with PT=205</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> and FMT=CCFB indicating that this is a congestion control feedback</td><td> </td><td class="right"> and FMT=CCFB indicating that this is a congestion control feedback</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-5" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-5"><em> page 6, line 13<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-5"><em> page 6, line 13<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> wrap-around). If the number of 16-bit packet metric blocks included</td><td> </td><td class="right"> wrap-around). If the number of 16-bit packet metric blocks included</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> in the report block is not a multiple of two, then 16 bits of zero</td><td> </td><td class="right"> in the report block is not a multiple of two, then 16 bits of zero</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> padding MUST be added after the last packet metric block, to align</td><td> </td><td class="right"> padding MUST be added after the last packet metric block, to align</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the end of the packet metric blocks with the next 32 bit boundary.</td><td> </td><td class="right"> the end of the packet metric blocks with the next 32 bit boundary.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The value of num_reports MAY be zero, indicating that there are no</td><td> </td><td class="right"> The value of num_reports MAY be zero, indicating that there are no</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> packet metric blocks included for that SSRC. Each report block MUST</td><td> </td><td class="right"> packet metric blocks included for that SSRC. Each report block MUST</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> NOT include more than 16384 packet metric blocks (i.e., it MUST NOT</td><td> </td><td class="right"> NOT include more than 16384 packet metric blocks (i.e., it MUST NOT</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> report on more than one quarter of the sequence number space in a</td><td> </td><td class="right"> report on more than one quarter of the sequence number space in a</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> single report).</td><td> </td><td class="right"> single report).</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0013"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> The contents of each 16-bit packet metric block comprises the <span class="delete">L</span>, ECN,</td><td> </td><td class="rblock"> The contents of each 16-bit packet metric block comprises the <span class="insert">R</span>, ECN,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> and ATO fields as follows:</td><td> </td><td class="right"> and ATO fields as follows:</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0014"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> o <span class="delete">L (1</span> bit): is a boolean to indicate if the packet was received. 0</td><td> </td><td class="rblock"> o <span class="insert">Received (R, 1</span> bit): is a boolean to indicate if the packet was</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> represents that the packet was not yet received and <span class="delete">all</span> the</td><td> </td><td class="rblock"> received. 0 represents that the packet was not yet received and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> subsequent <span class="delete">bits</span> (ECN and ATO) are also set to <span class="delete">0.</span> 1 represents</td><td> </td><td class="rblock"> the subsequent <span class="insert">15-bits</span> (ECN and ATO) <span class="insert">in this 16-bit packet metric</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> that the packet was received and the subsequent bits in the block</td><td> </td><td class="rblock"><span class="insert"> block</span> are also set to <span class="insert">0 and MUST be ignored.</span> 1 represents that</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> need to be parsed.</td><td> </td><td class="rblock"> the packet was received and the subsequent bits in the block need</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> to be parsed.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> o ECN (2 bits): is the echoed ECN mark of the packet. These are set</td><td> </td><td class="right"> o ECN (2 bits): is the echoed ECN mark of the packet. These are set</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> to 00 if not received, or if ECN is not used.</td><td> </td><td class="right"> to 00 if not received, or if ECN is not used.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> o Arrival time offset (ATO, 13 bits): is the arrival time of the RTP</td><td> </td><td class="right"> o Arrival time offset (ATO, 13 bits): is the arrival time of the RTP</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> packet at the receiver, as an offset before the time represented</td><td> </td><td class="right"> packet at the receiver, as an offset before the time represented</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> by the Report Timestamp (RTS) field of this RTCP congestion</td><td> </td><td class="right"> by the Report Timestamp (RTS) field of this RTCP congestion</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> control feedback report. The ATO field is in units of 1/1024</td><td> </td><td class="right"> control feedback report. The ATO field is in units of 1/1024</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> seconds (this unit is chosen to give exact offsets from the RTS</td><td> </td><td class="right"> seconds (this unit is chosen to give exact offsets from the RTS</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> field) so, for example, an ATO value of 512 indicates that the</td><td> </td><td class="right"> field) so, for example, an ATO value of 512 indicates that the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-6" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-6"><em> page 7, line 6<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-6"><em> page 7, line 7<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> derived from the same clock used to generate the NTP timestamp field</td><td> </td><td class="right"> derived from the same clock used to generate the NTP timestamp field</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> in RTCP Sender Report (SR) packets. It is formatted as the middle 32</td><td> </td><td class="right"> in RTCP Sender Report (SR) packets. It is formatted as the middle 32</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> bits of an NTP format timestamp, as described in Section 4 of</td><td> </td><td class="right"> bits of an NTP format timestamp, as described in Section 4 of</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [RFC3550].</td><td> </td><td class="right"> [RFC3550].</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> RTCP congestion control feedback packets SHOULD include a report</td><td> </td><td class="right"> RTCP congestion control feedback packets SHOULD include a report</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> block for every active SSRC. The sequence number ranges reported on</td><td> </td><td class="right"> block for every active SSRC. The sequence number ranges reported on</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> in consecutive reports for a given SSRC will generally be contiguous,</td><td> </td><td class="right"> in consecutive reports for a given SSRC will generally be contiguous,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> but overlapping reports MAY be sent (and need to be sent in cases</td><td> </td><td class="right"> but overlapping reports MAY be sent (and need to be sent in cases</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> where RTP packet reordering occurs across the boundary between</td><td> </td><td class="right"> where RTP packet reordering occurs across the boundary between</td><td class="lineno"></td></tr>
<tr id="diff0015"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> consecutive reports). If <span class="delete">reports covering overlapping sequence</span></td><td> </td><td class="rblock"> consecutive reports). If an RTP packet was reported as received in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> number ranges are sent, information in later reports updates that in</span></td><td> </td><td class="rblock"> one report, that packet MUST also be reported as received in any</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> sent previous reports for RTP packets included in both reports. If</span></td><td> </td><td class="rblock"> overlapping reports sent later that cover its sequence number range.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> an RTP packet was reported as received in one report, that packet</td><td> </td><td class="rblock"> <span class="insert">If reports covering overlapping sequence number ranges are sent,</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> MUST also be reported as received in any overlapping reports sent</td><td> </td><td class="rblock"><span class="insert"> information in later reports updates that sent in previous reports</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> later that cover its sequence number range.</td><td> </td><td class="rblock"><span class="insert"> for RTP packets included in both reports.</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> RTCP congestion control feedback packets can be large if they are</td><td> </td><td class="right"> RTCP congestion control feedback packets can be large if they are</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> sent infrequently relative to the number of RTP data packets. If an</td><td> </td><td class="right"> sent infrequently relative to the number of RTP data packets. If an</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> RTCP congestion control feedback packet is too large to fit within</td><td> </td><td class="right"> RTCP congestion control feedback packet is too large to fit within</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the path MTU, its sender SHOULD split it into multiple feedback</td><td> </td><td class="right"> the path MTU, its sender SHOULD split it into multiple feedback</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> packets. The RTCP reporting interval SHOULD be chosen such that</td><td> </td><td class="right"> packets. The RTCP reporting interval SHOULD be chosen such that</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> feedback packets are sent often enough that they are small enough to</td><td> </td><td class="right"> feedback packets are sent often enough that they are small enough to</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> fit within the path MTU ([I-D.ietf-rmcat-rtp-cc-feedback] discusses</td><td> </td><td class="right"> fit within the path MTU ([I-D.ietf-rmcat-rtp-cc-feedback] discusses</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> how to choose the reporting interval; specifications for RTP</td><td> </td><td class="right"> how to choose the reporting interval; specifications for RTP</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> congestion control algorithms can also provide guidance).</td><td> </td><td class="right"> congestion control algorithms can also provide guidance).</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-7" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-7"><em> page 8, line 30<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-7"><em> page 8, line 30<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> at session setup time, based on the choice of congestion control</td><td> </td><td class="right"> at session setup time, based on the choice of congestion control</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> algorithm, the expected media bit rate, and the acceptable feedback</td><td> </td><td class="right"> algorithm, the expected media bit rate, and the acceptable feedback</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> overhead.</td><td> </td><td class="right"> overhead.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">5. Response to Loss of Feedback Packets</td><td> </td><td class="right">5. Response to Loss of Feedback Packets</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Like all RTCP packets, RTCP congestion control feedback packets might</td><td> </td><td class="right"> Like all RTCP packets, RTCP congestion control feedback packets might</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> be lost. All RTP congestion control algorithms MUST specify how they</td><td> </td><td class="right"> be lost. All RTP congestion control algorithms MUST specify how they</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> respond to the loss of feedback packets.</td><td> </td><td class="right"> respond to the loss of feedback packets.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0016"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> If only a single congestion control feedback packet is lost, an</td><td> </td><td class="rblock"> <span class="insert">RTCP packets do not contain a sequence number, so loss of feedback</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> appropriate response is to assume that the level of congestion has</td><td> </td><td class="rblock"><span class="insert"> packets has to be inferred based on the time since the last feedback</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> packet.</span> If only a single congestion control feedback packet is lost,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> an appropriate response is to assume that the level of congestion has</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> remained roughly the same as the previous report. However, if</td><td> </td><td class="right"> remained roughly the same as the previous report. However, if</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> multiple consecutive congestion control feedback packets are lost,</td><td> </td><td class="right"> multiple consecutive congestion control feedback packets are lost,</td><td class="lineno"></td></tr>
<tr id="diff0017"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> then the sender SHOULD rapidly reduce its sending rate as this likely</td><td> </td><td class="rblock"> then the <span class="insert">media</span> sender SHOULD rapidly reduce its sending rate as this</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> indicates a path failure. The RTP circuit breaker [RFC8083] provides</td><td> </td><td class="rblock"> likely indicates a path failure. The RTP circuit breaker [RFC8083]</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> further guidance.</td><td> </td><td class="rblock"> provides further guidance.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">6. SDP Signalling</td><td> </td><td class="right">6. SDP Signalling</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> A new "ack" feedback parameter, "ccfb", is defined for use with the</td><td> </td><td class="right"> A new "ack" feedback parameter, "ccfb", is defined for use with the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> "a=rtcp-fb:" SDP extension to indicate the use of the RTP Congestion</td><td> </td><td class="right"> "a=rtcp-fb:" SDP extension to indicate the use of the RTP Congestion</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Control feedback packet format defined in Section 3. The ABNF</td><td> </td><td class="right"> Control feedback packet format defined in Section 3. The ABNF</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> definition of this SDP parameter extension is:</td><td> </td><td class="right"> definition of this SDP parameter extension is:</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> rtcp-fb-ack-param = <See Section 4.2 of [RFC4585]></td><td> </td><td class="right"> rtcp-fb-ack-param = <See Section 4.2 of [RFC4585]></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> rtcp-fb-ack-param =/ ccfb-par</td><td> </td><td class="right"> rtcp-fb-ack-param =/ ccfb-par</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-8" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-8"><em> page 9, line 32<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-8"><em> page 9, line 33<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> When the SDP BUNDLE extension</td><td> </td><td class="right"> When the SDP BUNDLE extension</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [I-D.ietf-mmusic-sdp-bundle-negotiation] is used for multiplexing,</td><td> </td><td class="right"> [I-D.ietf-mmusic-sdp-bundle-negotiation] is used for multiplexing,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the "a=rtcp-fb:" attribute has multiplexing category IDENTICAL-PER-PT</td><td> </td><td class="right"> the "a=rtcp-fb:" attribute has multiplexing category IDENTICAL-PER-PT</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [I-D.ietf-mmusic-sdp-mux-attributes].</td><td> </td><td class="right"> [I-D.ietf-mmusic-sdp-mux-attributes].</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">7. Relation to RFC 6679</td><td> </td><td class="right">7. Relation to RFC 6679</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Use of Explicit Congestion Notification (ECN) with RTP is described</td><td> </td><td class="right"> Use of Explicit Congestion Notification (ECN) with RTP is described</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> in [RFC6679]. That specifies how to negotiate the use of ECN with</td><td> </td><td class="right"> in [RFC6679]. That specifies how to negotiate the use of ECN with</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> RTP, and defines an RTCP ECN Feedback Packet to carry ECN feedback</td><td> </td><td class="right"> RTP, and defines an RTCP ECN Feedback Packet to carry ECN feedback</td><td class="lineno"></td></tr>
<tr id="diff0018"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> reports. It uses an SDP "a=ecn-capa<span class="delete">a</span>ble-rtp:" attribute to negotiate</td><td> </td><td class="rblock"> reports. It uses an SDP "a=ecn-capable-rtp:" attribute to negotiate</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> use of ECN, and the "a=rtcp-fb:" attributes with the "nack" parameter</td><td> </td><td class="right"> use of ECN, and the "a=rtcp-fb:" attributes with the "nack" parameter</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> "ecn" to negotiate the use of RTCP ECN Feedback Packets.</td><td> </td><td class="right"> "ecn" to negotiate the use of RTCP ECN Feedback Packets.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The RTCP ECN Feedback Packet is not useful when ECN is used with the</td><td> </td><td class="right"> The RTCP ECN Feedback Packet is not useful when ECN is used with the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> RTP Congestion Control Feedback Packet defined in this memo since it</td><td> </td><td class="right"> RTP Congestion Control Feedback Packet defined in this memo since it</td><td class="lineno"></td></tr>
<tr id="diff0019"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> provides duplicate information. <span class="delete">Accordingly, when</span> congestion control</td><td> </td><td class="rblock"> provides duplicate information. <span class="insert">When</span> congestion control feedback is</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> feedback is to be used with RTP and ECN, the SDP offer generated MUST</td><td> </td><td class="rblock"> to be used with RTP and ECN, the SDP offer generated MUST include an</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> include an "a=ecn-capable-rtp:" attribute to negotiate ECN support,</td><td> </td><td class="rblock"> "a=ecn-capable-rtp:" attribute to negotiate ECN support, along with</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> along with an "a=rtcp-fb:" attribute with the "ack" parameter "ccfb"</td><td> </td><td class="rblock"> an "a=rtcp-fb:" attribute with the "ack" parameter "ccfb" to indicate</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> to indicate that the RTP Congestion Control Feedback Packet <span class="delete">is to</span> be</td><td> </td><td class="rblock"> that the RTP Congestion Control Feedback Packet <span class="insert">can</span> be <span class="insert">used.</span> The</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">used for feedback.</span> The "a=rtcp-fb:" attribute <span class="delete">MUST NOT</span> include the</td><td> </td><td class="rblock"> "a=rtcp-fb:" attribute <span class="insert">MAY also</span> include the "nack" parameter "ecn",</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> "nack" parameter "ecn", <span class="delete">so</span> the RTCP ECN Feedback Packet <span class="delete">will</span> not be</td><td> </td><td class="rblock"> <span class="insert">to indicate that</span> the RTCP ECN Feedback Packet <span class="insert">is also supported. If</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">used.</span></td><td> </td><td class="rblock"><span class="insert"> an SDP offer signals support for both RTP Congestion Control Feedback</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Packets and the RTCP ECN Feedback Packet, the answering party SHOULD</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> signal support for one, but</span> not <span class="insert">both, formats in its SDP answer to</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> avoid sending duplicate feedback.</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> When using ECN with RTP, the guidelines in Section 7.2 of [RFC6679]</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> MUST</span> be <span class="insert">followed to initiate the use of ECN in an RTP session. The</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> guidelines in Section 7.3 of [RFC6679] MUST also be followed about</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> ongoing use of ECN within an RTP session, with the exception that</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> feedback is sent using the RTCP Congestion Control Feedback Packets</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> described in this memo rather than using RTP ECN Feedback Packets.</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Similarly, the guidance in Section 7.4 of [RFC6679] around detecting</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> failures MUST be followed, with the exception that the necessary</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> information is retrieved from the RTCP Congestion Control Feedback</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Packets rather than from RTP ECN Feedback Packets.</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">8. Design Rationale</td><td> </td><td class="right">8. Design Rationale</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The primary function of RTCP SR/RR packets is to report statistics on</td><td> </td><td class="right"> The primary function of RTCP SR/RR packets is to report statistics on</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the reception of RTP packets. The reception report blocks sent in</td><td> </td><td class="right"> the reception of RTP packets. The reception report blocks sent in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> these packets contain information about observed jitter, fractional</td><td> </td><td class="right"> these packets contain information about observed jitter, fractional</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> packet loss, and cumulative packet loss. It was intended that this</td><td> </td><td class="right"> packet loss, and cumulative packet loss. It was intended that this</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> information could be used to support congestion control algorithms,</td><td> </td><td class="right"> information could be used to support congestion control algorithms,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> but experience has shown that it is not sufficient for that purpose.</td><td> </td><td class="right"> but experience has shown that it is not sufficient for that purpose.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> An efficient congestion control algorithm requires more fine-grained</td><td> </td><td class="right"> An efficient congestion control algorithm requires more fine-grained</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-9" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-9"><em> page 10, line 32<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-9"><em> page 10, line 49<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> especially when used with non-compound RTCP packets [RFC5506].</td><td> </td><td class="right"> especially when used with non-compound RTCP packets [RFC5506].</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> This approach requires the receiver of the RTP packets to monitor</td><td> </td><td class="right"> This approach requires the receiver of the RTP packets to monitor</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> their reception, determine the level of congestion, and recommend</td><td> </td><td class="right"> their reception, determine the level of congestion, and recommend</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> a maximum bit rate suitable for current available bandwidth on the</td><td> </td><td class="right"> a maximum bit rate suitable for current available bandwidth on the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> path; it also assumes that the RTP sender can/will respect that</td><td> </td><td class="right"> path; it also assumes that the RTP sender can/will respect that</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> bit rate. This is the opposite of the sender-based congestion</td><td> </td><td class="right"> bit rate. This is the opposite of the sender-based congestion</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> control approach suggested in this memo, so TMMBR cannot be used</td><td> </td><td class="right"> control approach suggested in this memo, so TMMBR cannot be used</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> to convey the information needed for a sender-based congestion</td><td> </td><td class="right"> to convey the information needed for a sender-based congestion</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> control. TMMBR could, however, be viewed a complementary</td><td> </td><td class="right"> control. TMMBR could, however, be viewed a complementary</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> mechanism that can inform the sender of the receiver's current</td><td> </td><td class="right"> mechanism that can inform the sender of the receiver's current</td><td class="lineno"></td></tr>
<tr id="diff0020"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> view of acceptable maximum bit rate. <span class="delete">The Received Estimated</span></td><td> </td><td class="rblock"> view of acceptable maximum bit rate. <span class="insert">Mechanisms that convey the</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> Maximum Bit-rate (REMB) mechanism [I-D.alvestrand-rmcat-remb]</span></td><td> </td><td class="rblock"><span class="insert"> receiver's estimate of the maximum available bit-rate provide</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> provides</span> similar feedback.</td><td> </td><td class="rblock"> similar feedback.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> RTCP Extended Reports (XR): Numerous RTCP extended report (XR)</td><td> </td><td class="right"> RTCP Extended Reports (XR): Numerous RTCP extended report (XR)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> blocks have been defined to report details of packet loss, arrival</td><td> </td><td class="right"> blocks have been defined to report details of packet loss, arrival</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> times [RFC3611], delay [RFC6843], and ECN marking [RFC6679]. It</td><td> </td><td class="right"> times [RFC3611], delay [RFC6843], and ECN marking [RFC6679]. It</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> is possible to combine several such XR blocks into a compound RTCP</td><td> </td><td class="right"> is possible to combine several such XR blocks into a compound RTCP</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> packet, to report the detailed loss, arrival time, and ECN marking</td><td> </td><td class="right"> packet, to report the detailed loss, arrival time, and ECN marking</td><td class="lineno"></td></tr>
<tr id="diff0021"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">marking</span> information needed for effective sender-based congestion</td><td> </td><td class="rblock"> information needed for effective sender-based congestion control.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> control. However, the result has high overhead both in terms of</td><td> </td><td class="rblock"> However, the result has high overhead both in terms of bandwidth</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> bandwidth and complexity, due to the need to stack multiple</td><td> </td><td class="rblock"> and complexity, due to the need to stack multiple reports.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> reports.</td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Transport-wide Congestion Control: The format defined in this memo</td><td> </td><td class="right"> Transport-wide Congestion Control: The format defined in this memo</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> provides individual feedback on each SSRC. An alternative is to</td><td> </td><td class="right"> provides individual feedback on each SSRC. An alternative is to</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> add a header extension to each RTP packet, containing a single,</td><td> </td><td class="right"> add a header extension to each RTP packet, containing a single,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> transport-wide, packet sequence number, then have the receiver</td><td> </td><td class="right"> transport-wide, packet sequence number, then have the receiver</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> send RTCP reports giving feedback on these additional sequence</td><td> </td><td class="right"> send RTCP reports giving feedback on these additional sequence</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> numbers [I-D.holmer-rmcat-transport-wide-cc-extensions]. Such an</td><td> </td><td class="right"> numbers [I-D.holmer-rmcat-transport-wide-cc-extensions]. Such an</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> approach adds the per-packet overhead of the header extension (8</td><td> </td><td class="right"> approach adds the per-packet overhead of the header extension (8</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> octets per packet in the referenced format), but reduces the size</td><td> </td><td class="right"> octets per packet in the referenced format), but reduces the size</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> of the feedback packets, and can simplify the rate calculation at</td><td> </td><td class="right"> of the feedback packets, and can simplify the rate calculation at</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-10" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-10"><em> page 11, line 50<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-10"><em> page 12, line 17<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> Value: (to be assigned by IANA)</td><td> </td><td class="right"> Value: (to be assigned by IANA)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Reference: (RFC number of this document, when published)</td><td> </td><td class="right"> Reference: (RFC number of this document, when published)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The IANA is also requested to register one new SDP "rtcp-fb"</td><td> </td><td class="right"> The IANA is also requested to register one new SDP "rtcp-fb"</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> attribute "ack" parameter, "ccfb", in the SDP ("ack" and "nack"</td><td> </td><td class="right"> attribute "ack" parameter, "ccfb", in the SDP ("ack" and "nack"</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Attribute Values) registry:</td><td> </td><td class="right"> Attribute Values) registry:</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Value name: ccfb</td><td> </td><td class="right"> Value name: ccfb</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Long name: Congestion Control Feedback</td><td> </td><td class="right"> Long name: Congestion Control Feedback</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Usable with: ack</td><td> </td><td class="right"> Usable with: ack</td><td class="lineno"></td></tr>
<tr id="diff0022"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Mux: IDENTICAL-PER-PT</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Reference: (RFC number of this document, when published)</td><td> </td><td class="right"> Reference: (RFC number of this document, when published)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">11. Security Considerations</td><td> </td><td class="right">11. Security Considerations</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The security considerations of the RTP specification [RFC3550], the</td><td> </td><td class="right"> The security considerations of the RTP specification [RFC3550], the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> applicable RTP profile (e.g., [RFC3551], [RFC3711], or [RFC4585]),</td><td> </td><td class="right"> applicable RTP profile (e.g., [RFC3551], [RFC3711], or [RFC4585]),</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> and the RTP congestion control algorithm that is in use (e.g.,</td><td> </td><td class="right"> and the RTP congestion control algorithm that is in use (e.g.,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [RFC8698], [RFC8298], [I-D.ietf-rmcat-gcc], or [RFC8382]) apply.</td><td> </td><td class="right"> [RFC8698], [RFC8298], [I-D.ietf-rmcat-gcc], or [RFC8382]) apply.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> A receiver that intentionally generates inaccurate RTCP congestion</td><td> </td><td class="right"> A receiver that intentionally generates inaccurate RTCP congestion</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> control feedback reports might be able trick the sender into sending</td><td> </td><td class="right"> control feedback reports might be able trick the sender into sending</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> at a greater rate than the path can support, thereby causing</td><td> </td><td class="right"> at a greater rate than the path can support, thereby causing</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> congestion on the path. This will negatively impact the quality of</td><td> </td><td class="right"> congestion on the path. This will negatively impact the quality of</td><td class="lineno"></td></tr>
<tr id="diff0023"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> experience of that <span class="delete">receiver.</span> Since RTP is an unreliable transport, a</td><td> </td><td class="rblock"> experience of that <span class="insert">receiver, and potentially cause denial of service</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> sender can intentionally <span class="delete">leave</span> a gap in the RTP sequence number space</td><td> </td><td class="rblock"><span class="insert"> to other traffic sharing the path and excessive resource usage at the</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> without causing harm, to check that the receiver is correctly</td><td> </td><td class="rblock"><span class="insert"> media sender.</span> Since RTP is an unreliable transport, a sender can</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> reporting <span class="delete">losses.</span></td><td> </td><td class="rblock"> intentionally <span class="insert">drop a packet, leaving</span> a gap in the RTP sequence number</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> space without causing <span class="insert">serious</span> harm, to check that the receiver is</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> correctly reporting <span class="insert">losses (this needs to be done with care and some</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> awareness of the media data being sent, to limit impact on the user</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> experience).</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> An on-path attacker that can modify RTCP congestion control feedback</td><td> </td><td class="right"> An on-path attacker that can modify RTCP congestion control feedback</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> packets can change the reports to trick the sender into sending at</td><td> </td><td class="right"> packets can change the reports to trick the sender into sending at</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> either an excessively high or excessively low rate, leading to denial</td><td> </td><td class="right"> either an excessively high or excessively low rate, leading to denial</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> of service. The secure RTCP profile [RFC3711] can be used to</td><td> </td><td class="right"> of service. The secure RTCP profile [RFC3711] can be used to</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> authenticate RTCP packets to protect against this attack.</td><td> </td><td class="right"> authenticate RTCP packets to protect against this attack.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0024"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">An off-patch attacker that can spoof RTCP congestion control feedback</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> packets can similarly trick a sender into sending at an incorrect</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> rate, leading to denial of service. This attack is difficult, since</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> the attacker needs to guess the SSRC and sequence number in addition</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> to the destination transport address. As with on-patch attacks, the</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> secure RTCP profile [RFC3711] can be used to authenticate RTCP</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> packets to protect against this attack.</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">12. References</td><td> </td><td class="right">12. References</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">12.1. Normative References</td><td> </td><td class="right">12.1. Normative References</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [I-D.ietf-mmusic-sdp-bundle-negotiation]</td><td> </td><td class="right"> [I-D.ietf-mmusic-sdp-bundle-negotiation]</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Holmberg, C., Alvestrand, H., and C. Jennings,</td><td> </td><td class="right"> Holmberg, C., Alvestrand, H., and C. Jennings,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> "Negotiating Media Multiplexing Using the Session</td><td> </td><td class="right"> "Negotiating Media Multiplexing Using the Session</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle-</td><td> </td><td class="right"> Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle-</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> negotiation-54 (work in progress), December 2018.</td><td> </td><td class="right"> negotiation-54 (work in progress), December 2018.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-11" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-11"><em> page 13, line 15<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-11"><em> page 13, line 40<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.</td><td> </td><td class="right"> [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Jacobson, "RTP: A Transport Protocol for Real-Time</td><td> </td><td class="right"> Jacobson, "RTP: A Transport Protocol for Real-Time</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,</td><td> </td><td class="right"> Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> July 2003, <https://www.rfc-editor.org/info/rfc3550>.</td><td> </td><td class="right"> July 2003, <https://www.rfc-editor.org/info/rfc3550>.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and</td><td> </td><td class="right"> [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Video Conferences with Minimal Control", STD 65, RFC 3551,</td><td> </td><td class="right"> Video Conferences with Minimal Control", STD 65, RFC 3551,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> DOI 10.17487/RFC3551, July 2003,</td><td> </td><td class="right"> DOI 10.17487/RFC3551, July 2003,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> <https://www.rfc-editor.org/info/rfc3551>.</td><td> </td><td class="right"> <https://www.rfc-editor.org/info/rfc3551>.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0025"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">[RFC3611] Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed.,</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> "RTP Control Protocol Extended Reports (RTCP XR)",</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> RFC 3611, DOI 10.17487/RFC3611, November 2003,</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> <https://www.rfc-editor.org/info/rfc3611>.</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.</td><td> </td><td class="right"> [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Norrman, "The Secure Real-time Transport Protocol (SRTP)",</td><td> </td><td class="right"> Norrman, "The Secure Real-time Transport Protocol (SRTP)",</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> RFC 3711, DOI 10.17487/RFC3711, March 2004,</td><td> </td><td class="right"> RFC 3711, DOI 10.17487/RFC3711, March 2004,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> <https://www.rfc-editor.org/info/rfc3711>.</td><td> </td><td class="right"> <https://www.rfc-editor.org/info/rfc3711>.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,</td><td> </td><td class="right"> [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> "Extended RTP Profile for Real-time Transport Control</td><td> </td><td class="right"> "Extended RTP Profile for Real-time Transport Control</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,</td><td> </td><td class="right"> Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> DOI 10.17487/RFC4585, July 2006,</td><td> </td><td class="right"> DOI 10.17487/RFC4585, July 2006,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> <https://www.rfc-editor.org/info/rfc4585>.</td><td> </td><td class="right"> <https://www.rfc-editor.org/info/rfc4585>.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-12" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-12"><em> page 14, line 39<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-12"><em> page 15, line 11<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> Mascolo, "A Google Congestion Control Algorithm for Real-</td><td> </td><td class="right"> Mascolo, "A Google Congestion Control Algorithm for Real-</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Time Communication", draft-ietf-rmcat-gcc-02 (work in</td><td> </td><td class="right"> Time Communication", draft-ietf-rmcat-gcc-02 (work in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> progress), July 2016.</td><td> </td><td class="right"> progress), July 2016.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [I-D.ietf-rmcat-rtp-cc-feedback]</td><td> </td><td class="right"> [I-D.ietf-rmcat-rtp-cc-feedback]</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Perkins, C., "RTP Control Protocol (RTCP) Feedback for</td><td> </td><td class="right"> Perkins, C., "RTP Control Protocol (RTCP) Feedback for</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Congestion Control in Interactive Multimedia Conferences",</td><td> </td><td class="right"> Congestion Control in Interactive Multimedia Conferences",</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> draft-ietf-rmcat-rtp-cc-feedback-05 (work in progress),</td><td> </td><td class="right"> draft-ietf-rmcat-rtp-cc-feedback-05 (work in progress),</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> November 2019.</td><td> </td><td class="right"> November 2019.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0026"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">[RFC3611] Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed.,</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> "RTP Control Protocol Extended Reports (RTCP XR)",</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> RFC 3611, DOI 10.17487/RFC3611, November 2003,</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> <https://www.rfc-editor.org/info/rfc3611>.</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman,</td><td> </td><td class="right"> [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> "Codec Control Messages in the RTP Audio-Visual Profile</td><td> </td><td class="right"> "Codec Control Messages in the RTP Audio-Visual Profile</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> with Feedback (AVPF)", RFC 5104, DOI 10.17487/RFC5104,</td><td> </td><td class="right"> with Feedback (AVPF)", RFC 5104, DOI 10.17487/RFC5104,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> February 2008, <https://www.rfc-editor.org/info/rfc5104>.</td><td> </td><td class="right"> February 2008, <https://www.rfc-editor.org/info/rfc5104>.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [RFC6843] Clark, A., Gross, K., and Q. Wu, "RTP Control Protocol</td><td> </td><td class="right"> [RFC6843] Clark, A., Gross, K., and Q. Wu, "RTP Control Protocol</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> (RTCP) Extended Report (XR) Block for Delay Metric</td><td> </td><td class="right"> (RTCP) Extended Report (XR) Block for Delay Metric</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Reporting", RFC 6843, DOI 10.17487/RFC6843, January 2013,</td><td> </td><td class="right"> Reporting", RFC 6843, DOI 10.17487/RFC6843, January 2013,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> <https://www.rfc-editor.org/info/rfc6843>.</td><td> </td><td class="right"> <https://www.rfc-editor.org/info/rfc6843>.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
<tr id="end" bgcolor="gray"><th colspan="5" align="center"> End of changes. 26 change blocks. </th></tr>
<tr class="stats"><td></td><th><i>61 lines changed or deleted</i></th><th><i> </i></th><th><i>94 lines changed or added</i></th><td></td></tr>
<tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.46. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr>
</table>
</body>
</html>