1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
|
Internet Engineering Task Force (IETF) A. Begen
Request for Comments: 6659 Cisco
Category: Informational July 2012
ISSN: 2070-1721
Considerations for Deploying the Rapid Acquisition of
Multicast RTP Sessions (RAMS) Method
Abstract
The Rapid Acquisition of Multicast RTP Sessions (RAMS) solution is a
method based on RTP and the RTP Control Protocol (RTCP) that enables
an RTP receiver to rapidly acquire and start consuming the RTP
multicast data. Upon a request from the RTP receiver, an auxiliary
unicast RTP retransmission session is set up between a retransmission
server and the RTP receiver, over which the reference information
about the new multicast stream the RTP receiver is about to join is
transmitted at an accelerated rate. This often precedes, but may
also accompany, the multicast stream itself. When there is only one
multicast stream to be acquired, the RAMS solution works in a
straightforward manner. However, when there are two or more
multicast streams to be acquired from the same or different multicast
RTP sessions, care should be taken to configure each RAMS session
appropriately. This document provides example scenarios and
discusses how the RAMS solution could be used in such scenarios.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6659.
Begen Informational [Page 1]
^L
RFC 6659 RAMS Considerations July 2012
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction ....................................................2
2. Background ......................................................3
3. Example Scenarios ...............................................4
3.1. Scenario #1: Two Multicast Groups ..........................4
3.2. Scenario #2: One Multicast Group ...........................5
3.3. Scenario #3: SSRC Multiplexing .............................6
3.4. Scenario #4: Payload-Type Multiplexing .....................6
4. Feedback Target and SSRC Signaling Issues .......................7
5. FEC during RAMS and Bandwidth Issues ............................7
5.1. Scenario #1 ................................................7
5.2. Scenario #2 ................................................9
5.3. Scenario #3 ...............................................10
6. Security Considerations ........................................10
7. Acknowledgments ................................................10
8. References .....................................................11
8.1. Normative References ......................................11
8.2. Informative References ....................................11
1. Introduction
The Rapid Acquisition of Multicast RTP Sessions (RAMS) solution is a
method based on RTP and the RTP Control Protocol (RTCP) that enables
an RTP receiver to rapidly acquire and start consuming the RTP
multicast data. Through an auxiliary unicast RTP retransmission
session [RFC4588], the RTP receiver receives reference information
about the new multicast stream it is about to join. This often
precedes, but may also accompany, the multicast stream itself. The
RAMS solution is documented in detail in [RFC6285].
Begen Informational [Page 2]
^L
RFC 6659 RAMS Considerations July 2012
The RAMS specification [RFC6285] has provisions for concurrently
acquiring multiple streams inside a multicast RTP session. However,
the RAMS specification does not discuss scenarios where an RTP
receiver makes use of the RAMS method to rapidly acquire multiple and
associated multicast streams in parallel, or where different RTP
sessions are part of the same Source-Specific Multicast (SSM)
session. The example presented in Section 8.3 of [RFC6285] addresses
only the simple case of an RTP receiver rapidly acquiring only one
multicast stream to explain the protocol details.
There are certain deployment models where a multicast RTP session
might have two or more multicast streams associated with it. There
are also cases where an RTP receiver might be interested in acquiring
one or more multicast streams from several multicast RTP sessions.
Close coordination is required for multiple RAMS sessions
simultaneously started by an RTP server, where each session is
initiated with an individual RAMS Request message to a different
feedback target. In this document, we present scenarios from real-
life deployments and discuss how the RAMS solution could be used in
such scenarios.
2. Background
In the following discussion, we assume that there are two RTP streams
(1 and 2) that are in some manner associated with each other. These
could be audio and video elementary streams for the same TV channel,
or they could be an MPEG2 Transport Stream (that has audio and video
multiplexed together) and its Forward Error Correction (FEC) stream.
An SSM session is defined by its (distribution) source address and
(destination) multicast group, and there can be only one feedback
target per SSM session [RFC5760]. So, if the RTP streams are
distributed by different sources or over different multicast groups,
they are considered different SSM sessions. While different SSM
sessions can normally share the same feedback target address and/or
port, RAMS requires each unique feedback target (i.e., the
combination of address and port) to be associated with at most one
RTP session (See Section 6.2 of [RFC6285]).
Two or more multicast RTP streams can be transmitted in the same RTP
session (e.g., in a single UDP flow). This is called Synchronization
Source (SSRC) multiplexing. In this case, (de)multiplexing is done
at the SSRC level. Alternatively, the multicast RTP streams can be
transmitted in different RTP sessions (e.g., in different UDP flows),
which is called session multiplexing. In practice, there are
different deployment models for each multiplexing scheme.
Begen Informational [Page 3]
^L
RFC 6659 RAMS Considerations July 2012
Generally, to avoid complications in RTCP reports, it is suggested
that two different media streams with different clock rates use
different SSRCs or be carried in different RTP sessions. Some of the
fields in RAMS messages might depend on the clock rate. Thus, in a
single RTP session, RTP streams carrying payloads with different
clock rates need to have different SSRCs. Since RTP streams with
different SSRCs do not share the sequence numbering, each stream
needs to be acquired individually.
In the remaining sections, only the relevant portions of the Session
Description Protocol (SDP) descriptions [RFC4566] will be provided.
For an example of a full SDP description, refer to Section 8.3 of
[RFC6285].
3. Example Scenarios
3.1. Scenario #1: Two Multicast Groups
This is the scenario for session multiplexing where RTP streams 1 and
2 are transmitted over different multicast groups. A practical use
case is where the first and second SSM sessions carry the primary
video stream and its associated FEC stream, respectively.
An individual RAMS session is run for each of the RTP streams that
require rapid acquisition. Each requires a separate RAMS Request
message to be sent. These RAMS sessions can be run in parallel. If
they are, the RTP receiver needs to pay attention to using the shared
bandwidth appropriately among the two unicast bursts. As explained
earlier, there has to be a different feedback target for these two
SSM sessions.
v=0
o=ali 1122334455 1122334466 IN IP4 rams.example.com
s=RAMS Scenarios
t=0 0
a=group:FEC-FR Channel1_Video Channel1_FEC
m=video 40000 RTP/AVPF 96
c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtcp:41000 IN IP4 192.0.2.1
a=ssrc:1 cname:ch1_video@example.com
a=mid:Channel1_Video
m=application 40000 RTP/AVPF 97
c=IN IP4 233.252.0.2/127
a=source-filter:incl IN IP4 233.252.0.2 198.51.100.1
a=rtcp:42000 IN IP4 192.0.2.1
a=ssrc:2 cname:ch1_fec@example.com
a=mid:Channel1_FEC
Begen Informational [Page 4]
^L
RFC 6659 RAMS Considerations July 2012
Note that the multicast destination ports in the above SDP do not
matter, and they could be the same or different. The "FEC-FR"
grouping semantics are defined in [RFC5956].
3.2. Scenario #2: One Multicast Group
Here, RTP streams 1 and 2 are transmitted over the same multicast
group with different destination ports. A practical use case is
where the SSM session carries the primary video and audio streams,
each destined to a different port.
The RAMS Request message sent by an RTP receiver to the feedback
target could indicate the desire to acquire all or a subset or one of
the available RTP streams. Thus, both the primary video and audio
streams can be acquired rapidly in parallel. Or, the RTP receiver
can acquire only the primary video or audio stream, if desired, by
indicating the specific SSRC in the request. Compared to the
previous scenario, the only difference is that in this case the join
times for both streams need to be coordinated as they are delivered
in the same multicast session.
v=0
o=ali 1122334455 1122334466 IN IP4 rams.example.com
s=RAMS Scenarios
t=0 0
m=video 40000 RTP/AVPF 96
c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtcp:41000 IN IP4 192.0.2.1
a=ssrc:1 cname:ch1_video@example.com
a=mid:Channel1_Video
m=audio 40001 RTP/AVPF 97
c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtcp:41000 IN IP4 192.0.2.1
a=ssrc:2 cname:ch1_audio@example.com
a=mid:Channel1_Audio
Note that the destination ports in "m" lines need to be distinct per
[RFC5888].
If RTP streams 1 and 2 share the same distribution source, then there
is only one SSM session, which means that there can be only one
feedback target (as shown in the SDP description above). This
requires RTP streams 1 and 2 to have their own unique SSRC values
(also as shown in the SDP description above). If RTP streams 1 and 2
do not share the same distribution source, meaning that their
Begen Informational [Page 5]
^L
RFC 6659 RAMS Considerations July 2012
respective SSM sessions can use different feedback target transport
addresses, then their SSRC values do not have to be different from
each other.
3.3. Scenario #3: SSRC Multiplexing
This is the scenario for SSRC multiplexing where both RTP streams are
transmitted over the same multicast group to the same destination
port. This is a less practical scenario, but it could be used where
the SSM session carries both the primary video and audio stream,
destined to the same port.
Similar to scenario #2, both the primary video and audio streams can
be acquired rapidly in parallel. Or, the RTP receiver can acquire
only the primary video or audio stream, if desired, by indicating the
specific SSRC in the request. In this case, there is only one
distribution source and the destination multicast address is shared.
Thus, there is always one SSM session and one feedback target.
v=0
o=ali 1122334455 1122334466 IN IP4 rams.example.com
s=RAMS Scenarios
t=0 0
m=video 40000 RTP/AVPF 96 97
c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtcp:41000 IN IP4 192.0.2.1
a=ssrc:1 cname:ch1_video@example.com
a=ssrc:2 cname:ch1_audio@example.com
a=mid:Channel1
3.4. Scenario #4: Payload-Type Multiplexing
This is the scenario for payload-type multiplexing.
In this case, instead of two, there is only one RTP stream (and one
RTP session) carrying both payload types (e.g., media payload and its
FEC data). While this scheme is permissible per [RFC3550], it has
several drawbacks. For example, RTP packets carrying different
payload formats will share the same sequence numbering space, and the
RAMS operations will not be able to be applied based on the payload
type. For other drawbacks and details, see Section 5.2 of [RFC3550].
Begen Informational [Page 6]
^L
RFC 6659 RAMS Considerations July 2012
4. Feedback Target and SSRC Signaling Issues
The RAMS protocol uses the common packet format from [RFC4585], which
has a field to signal the media sender SSRC. The SSRCs for the RTP
streams can be signaled out-of-band in the SDP or could be learned
from the RTP packets once the transmission starts. In RAMS, the
latter cannot be used.
Signaling the media sender SSRC value helps the feedback target
correctly identify the RTP stream to be acquired. If a feedback
target is serving multiple SSM sessions on a particular port, all the
RTP streams in these SSM sessions are supposed to have a unique SSRC
value. However, this is not an easy requirement to satisfy. Thus,
the RAMS specification forbids having more than one RTP session
associated with a specific feedback target on a specific port.
5. FEC during RAMS and Bandwidth Issues
Suppose that RTP stream 1 denotes the primary video stream that has a
bitrate of 10 Mbps and RTP stream 2 denotes the associated FEC stream
that has a bitrate of 1 Mbps. Also assume that the RTP receiver
knows that it can receive data at a maximum bitrate of 22 Mbps. SDP
can specify the bitrate ("b=" line in kbps) of each media session
(per "m" line).
Note that RAMS can potentially congest the network temporarily.
Refer to [RFC6285] for a detailed discussion.
5.1. Scenario #1
This is the scenario for session multiplexing where RTP streams 1 and
2 are transmitted over different multicast groups.
This is the preferred deployment model for FEC [RFC6363]. Having FEC
in a different multicast group provides two flexibility points: RTP
receivers that are not FEC capable can receive the primary video
stream without FEC, and RTP receivers that are FEC capable can decide
to not receive FEC during the rapid acquisition (but still start
receiving the FEC stream after the acquisition of the primary video
stream has been completed).
Begen Informational [Page 7]
^L
RFC 6659 RAMS Considerations July 2012
v=0
o=ali 1122334455 1122334466 IN IP4 rams.example.com
s=RAMS Scenarios
t=0 0
a=group:FEC-FR Channel1_Video Channel1_FEC
m=video 40000 RTP/AVPF 96
c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtcp:41000 IN IP4 192.0.2.1
a=rtpmap:96 MP2T/90000
b=TIAS:10000
a=ssrc:1 cname:ch1_video@example.com
a=mid:Channel1_Video
m=application 40000 RTP/AVPF 97
c=IN IP4 233.252.0.2/127
a=source-filter:incl IN IP4 233.252.0.2 198.51.100.1
a=rtcp:42000 IN IP4 192.0.2.1
a=rtpmap:97 1d-interleaved-parityfec/90000
b=TIAS:1000
a=ssrc:2 cname:ch1_fec@example.com
a=mid:Channel1_FEC
If the RTP receiver does not want to receive FEC until the
acquisition of the primary video stream is completed, the total
available bandwidth can be used for faster acquisition of the primary
video stream. In this case, the RTP receiver can request a Max
Receive Bitrate of 22 Mbps in the RAMS Request message for the
primary video stream. Once RAMS has been completed, the RTP receiver
can join the FEC multicast session, if desired.
If the RTP receiver wants to rapidly acquire both primary and FEC
streams, it needs to allocate the total bandwidth among the two RAMS
sessions and indicate individual Max Receive Bitrate values in each
respective RAMS Request message. Since less bandwidth will be used
to acquire the primary video stream, the acquisition of the primary
video session will take a longer time on the average.
While the RTP receiver can update the Max Receive Bitrate values
during the course of the RAMS session, this approach is more error-
prone, due to the possibility of losing the update messages.
Begen Informational [Page 8]
^L
RFC 6659 RAMS Considerations July 2012
5.2. Scenario #2
Here, RTP streams 1 (primary video) and 2 (FEC) are transmitted over
the same multicast group with different destination ports. This is
not a preferred deployment model.
v=0
o=ali 1122334455 1122334466 IN IP4 rams.example.com
s=RAMS Scenarios
t=0 0
a=group:FEC-FR Channel1_Video Channel1_FEC
m=video 40000 RTP/AVPF 96
c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtcp:41000 IN IP4 192.0.2.1
a=rtpmap:96 MP2T/90000
b=TIAS:10000
a=ssrc:1 cname:ch1_video@example.com
a=mid:Channel1_Video
m=application 40001 RTP/AVPF 97
c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtcp:41000 IN IP4 192.0.2.1
a=rtpmap:97 1d-interleaved-parityfec/90000
b=TIAS:1000
a=ssrc:2 cname:ch1_fec@example.com
a=mid:Channel1_FEC
The RAMS Request message sent by an RTP receiver to the feedback
target could indicate the desire to acquire all or a subset or one of
the available RTP streams. Thus, both the primary video and FEC
streams can be acquired rapidly in parallel sharing the same
available bandwidth. Or, the RTP receiver can acquire only the
primary video stream by indicating its specific SSRC in the request.
In this case, the RTP receiver can first acquire the primary video
stream at the full receive bitrate. But, upon the multicast join,
the available bandwidth for the burst drops to 11 Mbps instead of
12 Mbps. Regardless of whether FEC is desired or not by the RTP
receiver, its bitrate needs to be taken into account once the RTP
receiver joins the SSM session.
Begen Informational [Page 9]
^L
RFC 6659 RAMS Considerations July 2012
5.3. Scenario #3
This is the scenario for SSRC multiplexing where both RTP streams are
transmitted over the same multicast group to the same destination
port.
v=0
o=ali 1122334455 1122334466 IN IP4 rams.example.com
s=RAMS Scenarios
t=0 0
m=video 40000 RTP/AVPF 96 97
c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtcp:41000 IN IP4 192.0.2.1
a=rtpmap:96 MP2T/90000
a=rtpmap:97 1d-interleaved-parityfec/90000
a=fmtp:97 L=10; D=10; repair-window=200000
a=ssrc:1 cname:ch1_video@example.com
a=ssrc:2 cname:ch1_fec@example.com
b=TIAS:11000
a=mid:Channel1
Similar to scenario #2, both the primary video and audio streams can
be acquired rapidly in parallel. Or, the RTP receiver can acquire
only the primary video stream, if desired, by indicating its specific
SSRC in the request.
Note that based on the "a=fmtp" line for the FEC stream, it could be
possible to infer the bitrate of this FEC stream and set the Max
Receive Bitrate value accordingly.
6. Security Considerations
Because this document describes deployment scenarios for RAMS, all
security considerations are specified in the RAMS specification
[RFC6285].
7. Acknowledgments
I would like to thank various individuals in the AVTEXT and MMUSIC
WGs, and my friends at Cisco for their comments and feedback.
Begen Informational [Page 10]
^L
RFC 6659 RAMS Considerations July 2012
8. References
8.1. Normative References
[RFC6285] Ver Steeg, B., Begen, A., Van Caenegem, T., and Z. Vax,
"Unicast-Based Rapid Acquisition of Multicast RTP
Sessions", RFC 6285, June 2011.
8.2. Informative References
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
"Extended RTP Profile for Real-time Transport Control
Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
July 2006.
[RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R.
Hakenberg, "RTP Retransmission Payload Format", RFC 4588,
July 2006.
[RFC5760] Ott, J., Chesterfield, J., and E. Schooler, "RTP Control
Protocol (RTCP) Extensions for Single-Source Multicast
Sessions with Unicast Feedback", RFC 5760, February 2010.
[RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description
Protocol (SDP) Grouping Framework", RFC 5888, June 2010.
[RFC5956] Begen, A., "Forward Error Correction Grouping Semantics in
the Session Description Protocol", RFC 5956,
September 2010.
[RFC6363] Watson, M., Begen, A., and V. Roca, "Forward Error
Correction (FEC) Framework", RFC 6363, October 2011.
Begen Informational [Page 11]
^L
RFC 6659 RAMS Considerations July 2012
Author's Address
Ali Begen
Cisco
181 Bay Street
Toronto, ON M5J 2T3
Canada
EMail: abegen@cisco.com
Begen Informational [Page 12]
^L
|