1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
|
Network Working Group J.-H. Chen
Request for Comments: 4298 W. Lee
Category: Standards Track J. Thyssen
Broadcom Corporation
December 2005
RTP Payload Format for BroadVoice Speech Codecs
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document describes the RTP payload format for the BroadVoice(R)
narrowband and wideband speech codecs. The narrowband codec, called
BroadVoice16, or BV16, has been selected by CableLabs as a mandatory
codec in PacketCable 1.5 and has a CableLabs specification. The
document also provides specifications for the use of BroadVoice with
MIME and the Session Description Protocol (SDP).
Chen, et al. Standards Track [Page 1]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
Table of Contents
1. Introduction ....................................................2
2. Background ......................................................2
3. RTP Payload Format for BroadVoice16 Narrowband Codec ............3
3.1. BroadVoice16 Bit Stream Definition .........................4
3.2. Multiple BroadVoice16 Frames in an RTP Packet ..............5
4. RTP Payload Format for BroadVoice32 Wideband Codec ..............6
4.1. BroadVoice32 Bit Stream Definition .........................6
4.2. Multiple BroadVoice32 Frames in an RTP Packet ..............8
5. IANA Considerations .............................................8
5.1. MIME Registration of BroadVoice16 for RTP ..................9
5.2. MIME Registration of BroadVoice32 for RTP ..................9
6. Mapping to SDP Parameters ......................................10
6.1. Offer-Answer Model Considerations .........................11
7. Security Considerations ........................................11
8. Congestion Control .............................................11
9. Acknowledgements ...............................................11
10. References ....................................................12
10.1. Normative References .....................................12
10.2. Informative References ...................................12
1. Introduction
This document specifies the payload format for sending BroadVoice
encoded speech or audio signals using the Real-time Transport
Protocol (RTP) [1]. The sender may send one or more BroadVoice codec
data frames per packet, depending on the application scenario, based
on network conditions, bandwidth availability, delay requirements,
and packet-loss tolerance.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [2].
2. Background
BroadVoice is a speech codec family developed for VoIP (Voice over
Internet Protocol) applications, including Voice over Cable, Voice
over DSL, and IP phone applications. BroadVoice achieves high speech
quality with a low coding delay and relatively low codec complexity.
The BroadVoice codec family contains two codec versions. The
narrowband version of BroadVoice, called BroadVoice16 [3], or BV16
for short, encodes 8 kHz-sampled narrowband speech at a bit rate of
16 kilobits/second, or 16 kbit/s. The wideband version of
BroadVoice, called BroadVoice32, or BV32, encodes 16 kHz-sampled
wideband speech at a bit rate of 32 kbit/s. The BV16 and BV32 use
Chen, et al. Standards Track [Page 2]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
very similar (but not identical) coding algorithms; they share most
of their algorithm modules.
To minimize the delay in real-time two-way communications, both the
BV16 and BV32 encode speech with a very small frame size of 5 ms
without using any look ahead. By using a packet size as small as 5
ms if necessary, this allows VoIP systems based on BroadVoice to have
a very low end-to-end system delay.
BroadVoice also has relatively low codec complexity when compared
with ITU-T standard speech codecs based on CELP (Coded Excited Linear
Prediction), such as G.728, G.729, G.723.1, and G.722.2. Full-duplex
implementations of the BV16 and BV32 take around 12 and 17 MIPS,
respectively, on general-purpose 16-bit fixed-point digital signal
processors (DSPs). The total memory footprints of the BV16 and BV32,
including program size, data tables, and data RAM, are around 12
kwords each, or 24 kbytes.
The PacketCable(TM) project of Cable Television Laboratories, Inc.
(CableLabs(R)) has chosen the BV16 codec for use in VoIP telephone
services provided by cable operators. More specifically, the BV16
codec was selected as one of the mandatory audio codecs in the
PacketCable(TM) 1.5 Audio/Video Codecs Specification [8] and has been
implemented by multiple vendors. The wideband version (BV32) has
been developed by Broadcom but has not yet appeared in a public
specification; since it is technically very similar to BV16, its
payload format is also defined in this document.
3. RTP Payload Format for BroadVoice16 Narrowband Codec
The BroadVoice16 uses 5 ms frames and a sampling frequency of 8 kHz,
so the RTP timestamp MUST be in units of 1/8000 of a second. The RTP
timestamp indicates the sampling instant of the oldest audio sample
represented by the frame(s) present in the payload. The RTP payload
for the BroadVoice16 has the format shown in the figure below. No
additional header specific to this payload format is required.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RTP Header [1] |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| |
| one or more frames of BroadVoice16 |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Chen, et al. Standards Track [Page 3]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
If BroadVoice16 is used for applications with silence compression,
the first BroadVoice16 packet after a silence period during which
packets have not been transmitted contiguously SHOULD have the marker
bit in the RTP data header set to one. The marker bit in all other
packets is zero. Applications without silence suppression MUST set
the marker bit to zero.
The assignment of an RTP payload type for this new packet format is
outside the scope of this document, and will not be specified here.
It is expected that the RTP profile for a particular class of
applications will assign a payload type for this encoding, or if that
is not done, then a payload type in the dynamic range shall be
chosen.
3.1. BroadVoice16 Bit Stream Definition
The BroadVoice16 encoder operates on speech frames of 5 ms
corresponding to 40 samples at a sampling rate of 8000 samples per
second. For every 5 ms frame, the encoder encodes the 40 consecutive
audio samples into 80 bits, or 10 octets. Thus, the 80-bit bit
stream produced by the BroadVoice16 for each 5 ms frame is octet-
aligned, and no padding bits are required. The bit allocation for
the encoded parameters of the BroadVoice16 codec is listed in the
following table.
Encoded Parameter Codeword Number of bits per frame
------------------------------------------------------------
Line Spectrum Pairs L0,L1 7+7=14
Pitch Lag PL 7
Pitch Gain PG 5
Log-Gain LG 4
Excitation Vectors V0,...,V9 5*10=50
------------------------------------------------------------
Total: 80 bits
The mapping of the encoded parameters in an 80-bit BroadVoice16 data
frame is defined in the following figure. This figure shows the bit
packing in "network byte order", also known as big-endian order. The
bits of each 32-bit word are numbered 0 to 31, with the most
significant bit on the left and numbered 0. The octets (bytes) of
each word are transmitted with the most significant octet first. The
bits of the data field for each encoded parameter are numbered in the
same order, with the most significant bit on the left.
Chen, et al. Standards Track [Page 4]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| L0 | L1 | PL | PG | LG | V0|
| | | | | | |
|0 1 2 3 4 5 6|0 1 2 3 4 5 6|0 1 2 3 4 5 6|0 1 2 3 4|0 1 2 3|0 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| V0 | V1 | V2 | V3 | V4 | V5 | V6 |
| | | | | | | |
|2 3 4|0 1 2 3 4|0 1 2 3 4|0 1 2 3 4|0 1 2 3 4|0 1 2 3 4|0 1 2 3|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V| V7 | V8 | V9 |
|6| | | |
|4|0 1 2 3 4|0 1 2 3 4|0 1 2 3 4|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: BroadVoice16 bit packing
3.2. Multiple BroadVoice16 Frames in an RTP Packet
More than one BroadVoice16 frame MAY be included in a single RTP
packet by a sender. Senders have the following additional
restrictions:
o SHOULD NOT include more BroadVoice16 frames in a single RTP
packet than will fit in the MTU of the RTP.
o MUST NOT split a BroadVoice16 frame between RTP packets.
o BroadVoice16 frames in an RTP packet MUST be consecutive.
Since multiple BroadVoice16 frames in an RTP packet MUST be
consecutive, and since BroadVoice16 has a fixed frame size of 5 ms,
recovering the timestamps of all frames within a packet is easy. The
oldest frame within an RTP packet has the same timestamp as the RTP
packet, as mentioned above. To obtain the timestamp of the frame
that is N frames later than the oldest frame in the packet, one
simply adds 5*N ms worth of time units to the timestamp of the RTP
packet.
It is RECOMMENDED that the number of frames contained within an RTP
packet be consistent with the application. For example, in a
telephony application where delay is important, the fewer frames per
packet, the lower the delay; whereas, for a delay insensitive
streaming or messaging application, many frames per packet would be
acceptable.
Chen, et al. Standards Track [Page 5]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
Information describing the number of frames contained in an RTP
packet is not transmitted as part of the RTP payload. The only way
to determine the number of BroadVoice16 frames is to count the total
number of octets within the RTP payload, and divide the octet count
by 10.
4. RTP Payload Format for BroadVoice32 Wideband Codec
The BroadVoice32 uses 5 ms frames and a sampling frequency of 16 kHz,
so the RTP timestamp MUST be in units of 1/16000 of a second. The
RTP timestamp indicates the sampling instant of the oldest audio
sample represented by the frame(s) present in the payload. The RTP
payload for the BroadVoice32 has the format shown in the figure
below. No additional header specific to this payload format is
required.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RTP Header [1] |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| |
| one or more frames of BroadVoice32 |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
If BroadVoice32 is used for applications with silence compression,
the first BroadVoice32 packet after a silence period during which
packets have not been transmitted contiguously SHOULD have the marker
bit in the RTP data header set to one. The marker bit in all other
packets is zero. Applications without silence suppression MUST set
the marker bit to zero.
The assignment of an RTP payload type for this new packet format is
outside the scope of this document, and will not be specified here.
It is expected that the RTP profile for a particular class of
applications will assign a payload type for this encoding, or if that
is not done, then a payload type in the dynamic range shall be
chosen.
4.1. BroadVoice32 Bit Stream Definition
The BroadVoice32 encoder operates on speech frames of 5 ms
corresponding to 80 samples at a sampling rate of 16000 samples per
second. For every 5 ms frame, the encoder encodes the 80 consecutive
audio samples into 160 bits, or 20 octets. Thus, the 160-bit bit
stream produced by the BroadVoice32 for each 5 ms frame is octet-
aligned, and no padding bits are required. The bit allocation for
Chen, et al. Standards Track [Page 6]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
the encoded parameters of the BroadVoice32 codec is listed in the
following table.
Number of bits
Encoded Parameter Codeword per frame
---------------------------------------------------------------
Line Spectrum Pairs L0,L1,L2 7+5+5=17
Pitch Lag PL 8
Pitch Gain PG 5
Log-Gains (1st & 2nd subframes) LG0,LG1 5+5=10
Excitation Vectors (1st subframe) VA0,...,VA9 6*10=60
Excitation Vectors (2nd subframe) VB0,...,VB9 6*10=60
---------------------------------------------------------------
Total: 160 bits
The mapping of the encoded parameters in a 160-bit BroadVoice32 data
frame is defined in the following figure. This figure shows the bit
packing in "network byte order", also known as big-endian order. The
bits of each 32-bit word are numbered 0 to 31, with the most
significant bit on the left and numbered 0. The octets (bytes) of
each word are transmitted with the most significant octet first. The
bits of the data field for each encoded parameter are numbered in the
same order, with the most significant bit on the left.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| L0 | L1 | L2 | PL | PG |LG0|
| | | | | | |
|0 1 2 3 4 5 6|0 1 2 3 4|0 1 2 3 4|0 1 2 3 4 5 6 7|0 1 2 3 4|0 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LG0 | LG1 | VA0 | VA1 | VA2 | VA3 |
| | | | | | |
|2 3 4|0 1 2 3 4|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VA4 | VA5 | VA6 | VA7 | VA8 |VA9|
| | | | | | |
|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VA9 | VB0 | VB1 | VB2 | VB3 | VB4 |
| | | | | | |
|2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|VB4| VB5 | VB6 | VB7 | VB8 | VB9 |
| | | | | | |
|4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|0 1 2 3 4 5|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: BroadVoice32 bit packing
Chen, et al. Standards Track [Page 7]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
4.2. Multiple BroadVoice32 Frames in an RTP Packet
More than one BroadVoice32 frame MAY be included in a single RTP
packet by a sender. Senders have the following additional
restrictions:
o SHOULD NOT include more BroadVoice32 frames in a single RTP
packet than will fit in the MTU of the RTP.
o MUST NOT split a BroadVoice32 frame between RTP packets.
o BroadVoice32 frames in an RTP packet MUST be consecutive.
Since multiple BroadVoice32 frames in an RTP packet MUST be
consecutive, and since BroadVoice32 has a fixed frame size of 5 ms,
recovering the timestamps of all frames within a packet is easy. The
oldest frame within an RTP packet has the same timestamp as the RTP
packet, as mentioned above. To obtain the timestamp of the frame
that is N frames later than the oldest frame in the packet, one
simply adds 5*N ms worth of time units to the timestamp of the RTP
packet.
It is RECOMMENDED that the number of frames contained within an RTP
packet be consistent with the application. For example, in a
telephony application where delay is important, the fewer frames per
packet, the lower the delay; whereas, for a delay insensitive
streaming or messaging application, many frames per packet would be
acceptable.
Information describing the number of frames contained in an RTP
packet is not transmitted as part of the RTP payload. The only way
to determine the number of BroadVoice32 frames is to count the total
number of octets within the RTP payload, and divide the octet count
by 20.
5. IANA Considerations
Two new MIME sub-types, as described in this section, have been
registered.
The MIME names for the BV16 and BV32 codecs have been allocated from
the IETF tree since these two codecs are expected to be widely used
for Voice-over-IP applications, especially in Voice over Cable
applications.
Chen, et al. Standards Track [Page 8]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
5.1. MIME Registration of BroadVoice16 for RTP
MIME media type name: audio
MIME media subtype name: BV16
Required parameter: none
Optional parameters:
ptime: Defined as usual for RTP audio (see RFC 2327 [4]).
maxptime: See RFC 3267 [7] for its definition. The maxptime
SHOULD be a multiple of the duration of a single codec data
frame (5 ms).
Encoding considerations:
This type is defined for transferring BV16-encoded data via RTP
using the payload format specified in Section 3 of RFC 4298.
Audio data is binary data and must be encoded for non-binary
transport; the Base64 encoding is suitable for Email.
Security considerations:
See Section 7 "Security Considerations" of RFC 4298.
Public specification:
The BroadVoice16 codec has been specified in [3].
Intended usage:
COMMON. It is expected that many VoIP applications, especially
Voice over Cable applications, will use this type.
Person & email address to contact for further information:
Juin-Hwey (Raymond) Chen
rchen@broadcom.com
Author/Change controller:
Author: Juin-Hwey (Raymond) Chen, rchen@broadcom.com
Change Controller: IETF Audio/Video Transport Working Group
delegated from the IESG
5.2. MIME Registration of BroadVoice32 for RTP
MIME media type name: audio
MIME media subtype name: BV32
Required parameter: none
Chen, et al. Standards Track [Page 9]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
Optional parameters:
ptime: Defined as usual for RTP audio (see RFC 2327 [4]).
maxptime: See RFC 3267 [7] for its definition. The maxptime
SHOULD be a multiple of the duration of a single codec data
frame (5 ms).
Encoding considerations:
This type is defined for transferring BV32-encoded data via RTP
using the payload format specified in Section 4 of RFC 4298.
Audio data is binary data and must be encoded for non-binary
transport; the Base64 encoding is suitable for Email.
Security considerations:
See Section 7 "Security Considerations" of RFC 4298.
Intended usage:
COMMON. It is expected that many VoIP applications, especially
Voice over Cable applications, will use this type.
Person & email address to contact for further information:
Juin-Hwey (Raymond) Chen
rchen@broadcom.com
Author/Change controller:
Author: Juin-Hwey (Raymond) Chen, rchen@broadcom.com
Change Controller: IETF Audio/Video Transport Working Group
delegated from the IESG
6. Mapping to SDP Parameters
The information carried in the MIME media type specification has a
specific mapping to fields in the Session Description Protocol (SDP)
[4], which is commonly used to describe RTP sessions. When SDP is
used to specify sessions employing the BroadVoice16 or BroadVoice32
codec, the mapping is as follows:
- The MIME type ("audio") goes in SDP "m=" as the media name.
- The MIME subtype (payload format name) goes in SDP "a=rtpmap"
as the encoding name. The RTP clock rate in "a=rtpmap" MUST be
8000 for BV16 and 16000 for BV32.
- The parameters "ptime" and "maxptime" go in the SDP "a=ptime"
and "a=maxptime" attributes, respectively.
Chen, et al. Standards Track [Page 10]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
An example of the media representation in SDP for describing BV16
might be:
m=audio 49120 RTP/AVP 97
a=rtpmap:97 BV16/8000
An example of the media representation in SDP for describing BV32
might be:
m=audio 49122 RTP/AVP 99
a=rtpmap:99 BV32/16000
6.1. Offer-Answer Model Considerations
No special considerations are needed for using the SDP Offer/Answer
model [5] with the BV16 and BV32 RTP payload formats.
7. Security Considerations
RTP packets using the payload format defined in this specification
are subject to the security considerations discussed in the RTP
specification [1] and any appropriate profile (for example, [6]).
This implies that confidentiality of the media streams is achieved by
encryption.
A potential denial-of-service threat exists for data encoding using
compression techniques that have non-uniform receiver-end
computational load. The attacker can inject pathological datagrams
into the stream that are complex to decode and cause the receiver to
become overloaded. However, the encodings covered in this document
do not exhibit any significant non-uniformity.
8. Congestion Control
The general congestion control considerations for transporting RTP
data apply to BV16 and BV32 audio over RTP as well (see RTP [1]) and
any applicable RTP profile like AVP [6]. BV16 and BV32 do not have
any built-in mechanism for reducing the bandwidth. Packing more
frames in each RTP payload can reduce the number of packets sent, and
hence the overhead from IP/UDP/RTP headers, at the expense of
increased delay and reduced error robustness against packet losses.
9. Acknowledgements
The authors would like to thank Magnus Westerlund, Colin Perkins,
Allison Mankin, and Jean-Francois Mule for their review of this
document.
Chen, et al. Standards Track [Page 11]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
10. References
10.1. Normative References
[1] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
"RTP: A Transport Protocol for Real-Time Applications", STD 64,
RFC 3550, July 2003.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[3] Cable Television Laboratories, Inc., BroadVoice(TM)16 Speech
Codec Specification, Revision 1.2, October 30, 2003.
[4] Handley, M. and V. Jacobson, "SDP: Session Description Protocol",
RFC 2327, April 1998.
[5] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
Session Description Protocol (SDP)", RFC 3264, June 2002.
[6] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and Video
Conferences with Minimal Control", STD 65, RFC 3551, July 2003.
[7] Sjoberg, J., Westerlund, M., Lakaniemi, A., and Q. Xie, "Real-
Time Transport Protocol (RTP) Payload Format and File Storage
Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate
Wideband (AMR-WB) Audio Codecs", RFC 3267, June 2002.
10.2. Informative References
[8] Cable Television Laboratories, Inc., PacketCable(TM) 1.5
Audio/Video Codecs Specification, PKT-SP-CODEC1.5-I01-050128,
January 28, 2005.
http://www.cablelabs.com/specifications/archives/
Chen, et al. Standards Track [Page 12]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
Authors' Addresses
Juin-Hwey (Raymond) Chen
Broadcom Corporation
Room A3020
16215 Alton Parkway
Irvine, CA 92618
USA
Phone: +1 949 926 6288
EMail: rchen@broadcom.com
Winnie Lee
Broadcom Corporation
Room A2012E
200-13711 International Place
Richmond, British Columbia V6V 2Z8
Canada
Phone: +1 604 233 8605
EMail: wlee@broadcom.com
Jes Thyssen
Broadcom Corporation
Room A3018
16215 Alton Parkway
Irvine, CA 92618
USA
Phone: +1 949 926 5768
EMail: jthyssen@broadcom.com
Chen, et al. Standards Track [Page 13]
^L
RFC 4298 RTP Payload Format for BroadVoice December 2005
Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Chen, et al. Standards Track [Page 14]
^L
|