RTP Payload Format for the Speex Codec
RFC 5574
Network Working Group G. Herlein
Request for Comments: 5574 Independent
Category: Standards Track J. Valin
Xiph.Org Foundation
A. Heggestad
Creytiv.com
A. Moizard
Antisip
June 2009
RTP Payload Format for the Speex Codec
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) 2009 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 in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Abstract
Speex is an open-source voice codec suitable for use in VoIP (Voice
over IP) type applications. This document describes the payload
format for Speex-generated bit streams within an RTP packet. Also
included here are the necessary details for the use of Speex with the
Session Description Protocol (SDP).
Herlein, et al. Standards Track [Page 1]
RFC 5574 Speex June 2009
Table of Contents
1. Introduction ....................................................3
2. Terminology .....................................................3
3. RTP Usage for Speex .............................................3
3.1. RTP Speex Header Fields ....................................3
3.2. RTP Payload Format for Speex ...............................4
3.3. Speex Payload ..............................................4
3.4. Example Speex Packet .......................................5
3.5. Multiple Speex Frames in an RTP Packet .....................5
4. IANA Considerations .............................................6
4.1. Media Type Registration ....................................6
4.1.1. Registration of Media Type Audio/Speex ..............6
5. SDP Usage of Speex ..............................................8
5.1. Example Supporting All Modes, Prefer Mode 4 ...............10
5.2. Example Supporting Only Modes 3 and 5 .....................10
5.3. Example with Variable Bit-Rate and Comfort Noise ..........10
5.4. Example with Voice Activity Detection .....................11
5.5. Example with Multiple Sampling Rates ......................11
5.6. Example with Ptime and Multiple Speex Frames ..............11
5.7. Example with Complete Offer/Answer Exchange ...............12
6. Implementation Guidelines ......................................12
7. Security Considerations ........................................12
8. Acknowledgments ................................................13
9. References .....................................................13
9.1. Normative References ......................................13
9.2. Informative References ....................................13
Herlein, et al. Standards Track [Page 2]
RFC 5574 Speex June 2009
1. Introduction
Speex is based on the Code Excited Linear Prediction [CELP] encoding
technique with support for either narrowband (nominal 8 kHz),
wideband (nominal 16 kHz), or ultra-wideband (nominal 32 kHz). The
main characteristics can be summarized as follows:
o Free software/open-source
o Integration of wideband and narrowband in the same bit-stream
o Wide range of bit-rates available
o Dynamic bit-rate switching and variable bit-rate (VBR)
o Voice Activity Detection (VAD, integrated with VBR)
o Variable complexity
The Speex codec supports a wide range of bit-rates from 2.15 kbit/s
to 44 kbit/s. In some cases however, it may not be possible for an
implementation to include support for all rates (e.g., because of
bandwidth or RAM or CPU constraints). In those cases, to be
compliant with this specification, implementations MUST support at
least narrowband (8 kHz) encoding and decoding at 8 kbit/s bit-rate
Show full document text