draft-ietf-avt-rtp-isac-03.txt   draft-ietf-avt-rtp-isac-04.txt 
Network Working Group T. le Grand Network Working Group T. le Grand
Internet-Draft Google Internet-Draft Google
Intended status: Standards Track P. Jones Intended status: Standards Track P. Jones
Expires: July 20, 2013 P. Huart Expires: August 12, 2013 P. Huart
Cisco Systems Cisco Systems
T. Shabestary T. Shabestary
H. Alvestrand, Ed. H. Alvestrand, Ed.
Google Google
January 16, 2013 February 8, 2013
RTP Payload Format for the iSAC Codec RTP Payload Format for the iSAC Codec
draft-ietf-avt-rtp-isac-03 draft-ietf-avt-rtp-isac-04
Abstract Abstract
iSAC is a proprietary wideband speech and audio codec developed by iSAC is a proprietary wideband speech and audio codec developed by
Global IP Solutions (now part of Google), suitable for use in Voice Global IP Solutions (now part of Google), suitable for use in Voice
over IP applications. This document describes the payload format for over IP applications. This document describes the payload format for
iSAC generated bit streams within a Real-Time Protocol (RTP) packet. iSAC generated bit streams within a Real-Time Protocol (RTP) packet.
Also included here are the necessary details for the use of iSAC with Also included here are the necessary details for the use of iSAC with
the Session Description Protocol (SDP). the Session Description Protocol (SDP).
skipping to change at page 1, line 46 skipping to change at page 1, line 46
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 20, 2013. This Internet-Draft will expire on August 12, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
skipping to change at page 2, line 33 skipping to change at page 2, line 33
3.2. iSAC Wideband Payload Format . . . . . . . . . . . . . . . 6 3.2. iSAC Wideband Payload Format . . . . . . . . . . . . . . . 6
3.2.1. Encoded Speech Data . . . . . . . . . . . . . . . . . 6 3.2.1. Encoded Speech Data . . . . . . . . . . . . . . . . . 6
3.3. iSAC Superwideband Payload Format . . . . . . . . . . . . 7 3.3. iSAC Superwideband Payload Format . . . . . . . . . . . . 7
3.3.1. Encoded Upper-band Speech Data . . . . . . . . . . . . 8 3.3.1. Encoded Upper-band Speech Data . . . . . . . . . . . . 8
3.4. Padding . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4. Padding . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.5. Multiple iSAC frames in an RTP packet . . . . . . . . . . 9 3.5. Multiple iSAC frames in an RTP packet . . . . . . . . . . 9
4. Congestion Control . . . . . . . . . . . . . . . . . . . . . . 9 4. Congestion Control . . . . . . . . . . . . . . . . . . . . . . 9
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
6. Mapping to SDP Parameters . . . . . . . . . . . . . . . . . . 12 6. Mapping to SDP Parameters . . . . . . . . . . . . . . . . . . 12
6.1. Example Initial Target Bit Rate . . . . . . . . . . . . . 12 6.1. Example Initial Target Bit Rate . . . . . . . . . . . . . 12
6.2. Example Max Bit Rate . . . . . . . . . . . . . . . . . . . 12 6.2. Example Max Bit Rate . . . . . . . . . . . . . . . . . . . 13
6.3. Example with both WB and SWB offered . . . . . . . . . . . 13 6.3. Example with both WB and SWB offered . . . . . . . . . . . 13
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . . 14 9.1. Normative References . . . . . . . . . . . . . . . . . . . 14
9.2. Informative References . . . . . . . . . . . . . . . . . . 14 9.2. Informative References . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
This document gives a general description of the iSAC wideband speech This document gives a general description of the iSAC wideband speech
codec and specifies the iSAC payload format for usage in RTP packets. codec and specifies the iSAC payload format for usage in RTP packets.
Also included here are the necessary details for the use of iSAC with Also included here are the necessary details for the use of iSAC with
the Session Description Protocol (SDP). the Session Description Protocol (SDP).
2. iSAC Codec Description 2. iSAC Codec Description
skipping to change at page 6, line 18 skipping to change at page 6, line 18
The iSAC payload block consists of a payload header and one or two The iSAC payload block consists of a payload header and one or two
encoded 30 ms speech frames. The iSAC payload is generated in the encoded 30 ms speech frames. The iSAC payload is generated in the
following manner: following manner:
o Parameters representing one or two 30 ms frames of speech data are o Parameters representing one or two 30 ms frames of speech data are
determined by the encoder. The parameters are quantized to determined by the encoder. The parameters are quantized to
generate encoded data corresponding to the one or two speech generate encoded data corresponding to the one or two speech
frames. The length of the encoded data is variable and depends on frames. The length of the encoded data is variable and depends on
the signal characteristics and the target bit rate. the signal characteristics and the target bit rate.
o The payload header is generated (described in Section 3.2) and o The payload header is generated (described in Section 3.1) and
added before the encoded parameter data for the speech frame(s). added before the encoded parameter data for the speech frame(s).
o Lossless coding is applied to the complete iSAC payload block, o Lossless coding is applied to the complete iSAC payload block,
including payload header, to generate a compressed payload. The including payload header, to generate a compressed payload. The
length depends on the length of the data generated to represent length depends on the length of the data generated to represent
the speech and the effectiveness of the lossless coding. the speech and the effectiveness of the lossless coding.
No part of the payload header or the encoded speech data can be No part of the payload header or the encoded speech data can be
retrieved without partly or fully decoding the packet. retrieved without partly or fully decoding the packet.
skipping to change at page 10, line 35 skipping to change at page 10, line 35
Note: This mechanism is only capable of reducing iSAC traffic to the Note: This mechanism is only capable of reducing iSAC traffic to the
lowest available setting for iSAC. If there is congestion that makes lowest available setting for iSAC. If there is congestion that makes
even less bandwidth available, other mechanisms, such as dropping the even less bandwidth available, other mechanisms, such as dropping the
call, will have to be used to escape from the congestion situation. call, will have to be used to escape from the congestion situation.
5. IANA Considerations 5. IANA Considerations
This RTP payload format is identified using the media type audio/ This RTP payload format is identified using the media type audio/
isac, which is registered in accordance with [RFC4855] and uses the isac, which is registered in accordance with [RFC4855] and uses the
template of [RFC4288]. template of [RFC6838].
Type name: audio Type name: audio
Subtype name: isac Subtype name: isac
Required parameters: None Required parameters: None
Optional parameters: Optional parameters:
* ibitrate: The parameter indicates the upper bound in bits per * ibitrate: The parameter indicates the upper bound in bits per
second of the initial target bit rate (counting only payload second of the initial target bit rate (counting only payload
bits) the device would like to receive. An acceptable value bits) the device would like to receive. A sender SHOULD set its
for ibitrate is in the range of 20000 to 32000 (bits per initial target bitrate to a value less than or equal to this
second). In the absence of the parameter, the sender can parameter. An acceptable value for ibitrate is in the range of
choose any value up to the maximum bitrate possible. 20000 to 32000 (bits per second). In the absence of the
parameter, the sender can choose any value up to the maximum
bitrate possible.
* maxbitrate: The parameter indicates the maximum bit rate the * maxbitrate: The parameter indicates the maximum bit rate the
endpoint expects to receive. The recipient of this parameter endpoint expects to receive. The recipient of this parameter
SHOULD NOT transmit at a higher bit rate. The default maximum SHOULD NOT transmit at a higher bit rate. The default maximum
value is 53400 bits per second, which is the maximum bitrate value is 53400 bits per second, which is the maximum bitrate
possible for iSAC. possible for iSAC.
Encoding considerations: Encoding considerations:
This media format is framed and binary. This media format is framed and binary.
skipping to change at page 11, line 27 skipping to change at page 11, line 29
Interoperability considerations: None Interoperability considerations: None
Published specification: RFC XXXX Published specification: RFC XXXX
Applications which use this media type: Applications which use this media type:
This media type is suitable for use in numerous applications This media type is suitable for use in numerous applications
needing to transport encoded voice or other audio. Some examples needing to transport encoded voice or other audio. Some examples
include Voice over IP, Streaming Media, Voice Messaging, and include Voice over IP, Streaming Media, Voice Messaging, and
Conferencing. Conferencing.
Fragment identifier considerations The meaning of fragment
identifiers is not defined by this specification.
Additional information: None Additional information: None
Person to contact for further information: Person to contact for further information:
Tina le Grand [tlegrand@google.com] Tina le Grand [tlegrand@google.com]
Intended usage: COMMON Intended usage: COMMON
Other Information/General Comment: Other Information/General Comment:
iSAC is a speech and audio codec owned by Google. The codec iSAC is a speech and audio codec owned by Google. The codec
operates on 30 or 60 ms speech frames at a sampling rate clock of operates on 30 or 60 ms speech frames at a sampling rate clock of
16 kHz or 32 kHz. 16 kHz or 32 kHz.
Restrictions on usage: Restrictions on usage:
This media type depends on RTP framing, and hence is only defined This media type depends on RTP framing, and hence is only defined
for transfer via RTP [RFC3550]. Transport within other framing for transfer via RTP [RFC3550]. Transport within other framing
protocols is not defined at this time. protocols is not defined at this time.
Author Tina Le Grand and the listed authors of RFC XXXX
Change controller: The IETF Payload working group delegated from the Change controller: The IETF Payload working group delegated from the
IESG. IESG.
Provisional registration? No
Note to the RFC Editor / IANA: Please replace "RFC XXXX" above with Note to the RFC Editor / IANA: Please replace "RFC XXXX" above with
the number of this RFC when published, and remove this note. the number of this RFC when published, and remove this note.
6. Mapping to SDP Parameters 6. Mapping to SDP Parameters
The information carried in the media type specification has a The information carried in the media type specification has a
specific mapping to fields in the Session Description Protocol (SDP) specific mapping to fields in the Session Description Protocol (SDP)
[RFC4566], which is commonly used to describe RTP sessions. When SDP [RFC4566], which is commonly used to describe RTP sessions. When SDP
is used to specify sessions employing the iSAC codec, the mapping is is used to specify sessions employing the iSAC codec, the mapping is
as follows: as follows:
skipping to change at page 12, line 40 skipping to change at page 12, line 50
is provided in an offer. The parameter may be present in the answer, is provided in an offer. The parameter may be present in the answer,
even if absent in the offer. even if absent in the offer.
When conveying information by SDP, the encoding name SHALL be "isac" When conveying information by SDP, the encoding name SHALL be "isac"
(the same as the media subtype). (the same as the media subtype).
6.1. Example Initial Target Bit Rate 6.1. Example Initial Target Bit Rate
The offer indicates that it wishes to receive a wideband bitstream The offer indicates that it wishes to receive a wideband bitstream
with an initial target rate of 20000 bits per second. The remote with an initial target rate of 20000 bits per second. The remote
party SHOULD change its initial target rate to the requested value or party should change its initial target rate to the requested value or
less. less.
m=audio 10000 RTP/AVP 98 m=audio 10000 RTP/AVP 98
a=rtpmap: 98 isac/16000 a=rtpmap: 98 isac/16000
a=fmtp:98 ibitrate=20000 a=fmtp:98 ibitrate=20000
6.2. Example Max Bit Rate 6.2. Example Max Bit Rate
The offer indicates that it wishes to receive a superwideband The offer indicates that it wishes to receive a superwideband
bitstream with an initial target rate of 20000 bits per second, and a bitstream with an initial target rate of 20000 bits per second, and a
maximum bit rate of 45000 bits per second. The remote party SHOULD maximum bit rate of 45000 bits per second. The remote party should
change its initial target rate to 20000 bits per second or less, and change its initial target rate to 20000 bits per second or less, and
SHOULD NOT transmit at a higher rate than 45000. should not transmit at a higher rate than 45000.
m=audio 10000 RTP/AVP 98 m=audio 10000 RTP/AVP 98
a=rtpmap: 98 isac/32000 a=rtpmap: 98 isac/32000
a=fmtp:98 ibitrate=20000;maxbitrate=45000 a=fmtp:98 ibitrate=20000;maxbitrate=45000
6.3. Example with both WB and SWB offered 6.3. Example with both WB and SWB offered
This offer indicates willingness to receive both wideband and This offer indicates willingness to receive both wideband and
superwideband iSAC encodings, with default values for ibitrate and superwideband iSAC encodings, with default values for ibitrate and
bitrate. Superwideband is preferred. bitrate. Superwideband is preferred.
skipping to change at page 13, line 40 skipping to change at page 14, line 7
External mechanisms, such as SRTP [RFC3711], MAY be used. External mechanisms, such as SRTP [RFC3711], MAY be used.
Since iSAC is a variable rate codec, the attack using the length of Since iSAC is a variable rate codec, the attack using the length of
encoded packets described in [RFC6562] is of interest. When using encoded packets described in [RFC6562] is of interest. When using
RTP for transport, the padding approach described in that document is RTP for transport, the padding approach described in that document is
usable; when such padding is not available or not feasible, the iSAC usable; when such padding is not available or not feasible, the iSAC
padding mechanism can be used to the same effect. padding mechanism can be used to the same effect.
8. Acknowledgments 8. Acknowledgments
Special thanks to Roni Even for his thorough review of the document. Special thanks to Roni Even for his thorough review of the document,
and to Colin Perkins for additional review.
This document was originally prepared using 2-Word-v2.0.template.dot. This document was originally prepared using 2-Word-v2.0.template.dot.
The present version is prepared using xml2rfc and xxe-xml2rfc. The present version is prepared using xml2rfc and xxe-xml2rfc.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003. Applications", RFC 3550, July 2003.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)", Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004. RFC 3711, March 2004.
[RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and
Registration Procedures", BCP 13, RFC 4288, December 2005.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
[RFC4855] Casner, S., "Media Type Registration of RTP Payload [RFC4855] Casner, S., "Media Type Registration of RTP Payload
Formats", RFC 4855, February 2007. Formats", RFC 4855, February 2007.
[RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13,
RFC 6838, January 2013.
9.2. Informative References 9.2. Informative References
[RFC6562] Perkins, C. and JM. Valin, "Guidelines for the Use of [RFC6562] Perkins, C. and JM. Valin, "Guidelines for the Use of
Variable Bit Rate Audio with Secure RTP", RFC 6562, Variable Bit Rate Audio with Secure RTP", RFC 6562,
March 2012. March 2012.
[iSAC] GIPS / Google, "iSAC reference implementation". [iSAC] GIPS / Google, "iSAC reference implementation".
Available at http://code.google.com/p/webrtc/source - Available at http://code.google.com/p/webrtc/source -
directory src/modules/audio_coding/codecs/isac directory src/modules/audio_coding/codecs/isac
 End of changes. 21 change blocks. 
21 lines changed or deleted 33 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/