draft-ietf-mmusic-sdp-g723-g729-06.txt   rfc7261.txt 
MMUSIC Muthu A M. Perumal
Internet-Draft Cisco Systems Internet Engineering Task Force (IETF) M. Perumal
Intended status: Standards Track Parthasarathi. Ravindran Request for Comments: 7261 Cisco Systems
Expires: September 1, 2014 Nokia Solutions and Networks Category: Standards Track P. Ravindran
February 28, 2014 ISSN: 2070-1721 NSN
May 2014
Offer/Answer Considerations for G723 Annex A and G729 Annex B Offer/Answer Considerations for G723 Annex A and G729 Annex B
draft-ietf-mmusic-sdp-g723-g729-06
Abstract Abstract
This document provides the offer/answer considerations for the annexa This document provides the offer/answer considerations for the annexa
parameter of G723 and the annexb parameter of G729, G729D and G729E parameter of G723 and the annexb parameter of G729, G729D, and G729E
when the value of the annexa or annexb parameter does not match in when the value of the annexa or annexb parameter does not match in
the Session Description protocol (SDP) offer and answer. the Session Description Protocol (SDP) offer and answer.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the Status of This Memo
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering This is an Internet Standards Track document.
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on September 1, 2014. 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/rfc7261.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 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
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Offer/Answer Considerations . . . . . . . . . . . . . . . . . . 3 3. Offer/Answer Considerations . . . . . . . . . . . . . . . . . 3
3.1. Considerations for Use of Comfort Noise Frames . . . . . . 4 3.1. Considerations for Use of Comfort Noise Frames . . . . . 3
3.2. Offer/Answer Considerations for G723 Annex A . . . . . . . 4 3.2. Offer/Answer Considerations for G723 Annex A . . . . . . 3
3.3. Offer/Answer Considerations for G729 Annex B, G729D 3.3. Offer/Answer Considerations for G729 Annex B, G729D Annex
Annex B and G729E Annex B . . . . . . . . . . . . . . . . . 4 B, and G729E Annex B . . . . . . . . . . . . . . . . . . 4
4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1. Offer with G729 annexb=yes and answer with G729 4.1. Offer with G729 annexb=yes and Answer with G729 annexb=no 5
annexb=no . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2. Offer with G729 annexb=yes and Answer with G729 and No
4.2. Offer with G729 annexb=yes and answer with G729 and no annexb Parameter . . . . . . . . . . . . . . . . . . . . 5
annexb parameter . . . . . . . . . . . . . . . . . . . . . 6 4.3. Offer with G729 and No annexb Parameter and Answer with
4.3. Offer with G729 and no annexb parameter and answer G729 annexb=no . . . . . . . . . . . . . . . . . . . . . 6
with G729 annexb=no . . . . . . . . . . . . . . . . . . . . 6 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 7. Normative References . . . . . . . . . . . . . . . . . . . . 7
7. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . 7
8. Normative References . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
[RFC4856] describes the annexa parameter for G723 as follows: [RFC4856] describes the annexa parameter for G723 as follows:
annexa: indicates that Annex A, voice activity detection, is used annexa: indicates that Annex A, voice activity detection, is used
or preferred. Permissible values are "yes" and "no" (without the or preferred. Permissible values are "yes" and "no" (without the
quotes); "yes" is implied if this parameter is omitted. quotes); "yes" is implied if this parameter is omitted.
Also, [RFC4856] describes the annexb parameter for G729, G729D and Also, [RFC4856] describes the annexb parameter for G729, G729D, and
G729E as follows: G729E as follows:
annexb: indicates that Annex B, voice activity detection, is used annexb: indicates that Annex B, voice activity detection, is used
or preferred. Permissible values are "yes" and "no" (without the or preferred. Permissible values are "yes" and "no" (without the
quotes); "yes" is implied if this parameter is omitted. quotes); "yes" is implied if this parameter is omitted.
However, problem arises when the value of the annexa or annexb However, a problem arises when the value of the annexa or annexb
parameter does not match in the SDP [RFC4566] offer and answer. parameter does not match in the SDP [RFC4566] offer and answer.
For example, if the offer has G729 with annexb=yes and the answer has For example, if the offer has G729 with annexb=yes and the answer has
G729 with annexb=no, it can be interpreted in two different ways: G729 with annexb=no, it can be interpreted in two different ways:
o The offerer and answerer proceed as if G729 is negotiated with o The offerer and answerer proceed as if G729 is negotiated with
annexb=yes, or annexb=yes, or
o The offerer and answerer proceed as if G729 is negotiated with o The offerer and answerer proceed as if G729 is negotiated with
annexb=no. annexb=no.
Since this is not clear in the existing specifications, various Since this is not clear in the existing specifications, various
implementations have interpreted the offer/answer in their own ways, implementations have interpreted the offer/answer in their own ways,
resulting in a different codec being chosen to call failure, when the resulting in a different codec being chosen to call failure, when the
parameter value does not match in the offer and answer. parameter value does not match in the offer and answer.
[RFC3264] requires SDP extensions that define new fmtp parameters to [RFC3264] requires SDP extensions that define new fmtp parameters to
specify their proper interpretation in offer/answer. This document specify their proper interpretation in offer/answer. This document
skipping to change at page 4, line 7 skipping to change at page 3, line 29
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. Offer/Answer Considerations 3. Offer/Answer Considerations
The general objective of the offer/answer considerations is to make The general objective of the offer/answer considerations is to make
sure that if the offerer or answerer indicates it does not support sure that if the offerer or answerer indicates it does not support
Annex A or Annex B, then Annex A or Annex B is not used. Annex A or Annex B, then Annex A or Annex B is not used.
3.1. Considerations for Use of Comfort Noise Frames 3.1. Considerations for Use of Comfort Noise Frames
[RFC3551] states that [RFC3551] states that:
Receivers MUST accept comfort noise frames if restriction of their Receivers MUST accept comfort noise frames if restriction of their
use has not been signaled. The MIME registration for G729 in RFC use has not been signaled. The MIME registration for G729 in RFC
3555 specifies a parameter that MAY be used with MIME or SDP to 3555 specifies a parameter that MAY be used with MIME or SDP to
restrict the use of comfort noise frames. restrict the use of comfort noise frames.
Hence, if the SDP offer or answer indicates that comfort noise is not Hence, if the SDP offer or answer indicates that comfort noise is not
supported, comfort noise frames MUST NOT be used. supported, comfort noise frames MUST NOT be used.
3.2. Offer/Answer Considerations for G723 Annex A 3.2. Offer/Answer Considerations for G723 Annex A
skipping to change at page 4, line 38 skipping to change at page 4, line 12
annexa=no, the offerer and answerer MUST proceed as if G723 is annexa=no, the offerer and answerer MUST proceed as if G723 is
negotiated with annexa=no. negotiated with annexa=no.
When the offer has G723 with annexa=no, after the offer/answer When the offer has G723 with annexa=no, after the offer/answer
completion the offerer and answerer MUST proceed as if G723 is completion the offerer and answerer MUST proceed as if G723 is
negotiated with annexa=no. negotiated with annexa=no.
When the offer has G723 with annexa=no, the reason for not When the offer has G723 with annexa=no, the reason for not
mandating that the answer MUST have annexa=no for G723 is that mandating that the answer MUST have annexa=no for G723 is that
there are implementations that omit the annexa parameter in there are implementations that omit the annexa parameter in
answer. In such case the offerer and answerer proceed as if G723 answer. In such cases, the offerer and answerer proceed as if
is negotiated with annexa=no. G723 is negotiated with annexa=no.
When the offer has G723 with no annexa parameter and the answer has When the offer has G723 with no annexa parameter and the answer has
G723 with annexa=yes, the offerer and answerer MUST proceed as if G723 with annexa=yes, the offerer and answerer MUST proceed as if
G723 is negotiated with annexa=yes. G723 is negotiated with annexa=yes.
3.3. Offer/Answer Considerations for G729 Annex B, G729D Annex B and 3.3. Offer/Answer Considerations for G729 Annex B, G729D Annex B, and
G729E Annex B G729E Annex B
In this section G729 represents any of G729 or G729D or G729E. In this section, G729 represents any of G729 or G729D or G729E.
When the offer or answer has G729 and the annexb parameter is absent, When the offer or answer has G729 and the annexb parameter is absent,
the offerer or answerer knows that it has implied the default the offerer or answerer knows that it has implied the default
"annexb=yes". This is because the annexb attribute is part of the "annexb=yes". This is because the annexb attribute is part of the
original registration of audio/G729 [RFC4856]. All implementations original registration of audio/G729 [RFC4856]. All implementations
that support G729 understand the annexb attribute. Hence, this case that support G729 understand the annexb attribute. Hence, this case
MUST be considered as if the offer or answer has G729 with MUST be considered as if the offer or answer has G729 with
annexb=yes. annexb=yes.
When the offer has G729 with annexb=yes and the answer has G729 with When the offer has G729 with annexb=yes and the answer has G729 with
annexb=no, the offerer and answerer MUST proceed as if G729 is annexb=no, the offerer and answerer MUST proceed as if G729 is
negotiated with annexb=no. negotiated with annexb=no.
When the offer has G729 with annexb=no, after the offer/answer When the offer has G729 with annexb=no, after the offer/answer
completion the offerer and answerer MUST proceed as if G729 is completion the offerer and answerer MUST proceed as if G729 is
negotiated with annexb=no. negotiated with annexb=no.
When the offer has G729 with annexb=no, the reason for not When the offer has G729 with annexb=no, the reason for not
mandating that the answer MUST have annexb=no for G729 is that mandating that the answer MUST have annexb=no for G729 is that
there are implementations that omit the annexb parameter in there are implementations that omit the annexb parameter in the
answer. In such case the offerer and answerer proceed as if G729 answer. In such cases, the offerer and answerer proceed as if
is negotiated with annexb=no. G729 is negotiated with annexb=no.
When the offer has G729 with no annexb parameter and the answer has When the offer has G729 with no annexb parameter and the answer has
G729 with annexb=yes, the offerer and answerer MUST proceed as if G729 with annexb=yes, the offerer and answerer MUST proceed as if
G729 is negotiated with annexb=yes. G729 is negotiated with annexb=yes.
4. Examples 4. Examples
4.1. Offer with G729 annexb=yes and answer with G729 annexb=no 4.1. Offer with G729 annexb=yes and Answer with G729 annexb=no
[Offer with G729 annexb=yes] [Offer with G729 annexb=yes]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 18 m=audio 49170 RTP/AVP 18
a=rtpmap:18 G729/8000 a=rtpmap:18 G729/8000
skipping to change at page 6, line 6 skipping to change at page 5, line 31
v=0 v=0
o=bob 1890844326 1890844326 IN IP4 host.bangalore.example.com o=bob 1890844326 1890844326 IN IP4 host.bangalore.example.com
s= s=
c=IN IP4 host.bangalore.example.com c=IN IP4 host.bangalore.example.com
t=0 0 t=0 0
m=audio 19140 RTP/AVP 18 m=audio 19140 RTP/AVP 18
a=rtpmap:18 G729/8000 a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no a=fmtp:18 annexb=no
In the above example the offerer and answerer proceed as if G729 is In the above example, the offerer and answerer proceed as if G729 is
negotiated with annexb=no. negotiated with annexb=no.
4.2. Offer with G729 annexb=yes and answer with G729 and no annexb 4.2. Offer with G729 annexb=yes and Answer with G729 and No annexb
parameter Parameter
[Offer with G729 annexb=yes] [Offer with G729 annexb=yes]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 18 m=audio 49170 RTP/AVP 18
a=rtpmap:18 G729/8000 a=rtpmap:18 G729/8000
skipping to change at page 6, line 33 skipping to change at page 6, line 15
[Answer with G729 and no annexb parameter] [Answer with G729 and no annexb parameter]
v=0 v=0
o=bob 1890844326 1890844326 IN IP4 host.bangalore.example.com o=bob 1890844326 1890844326 IN IP4 host.bangalore.example.com
s= s=
c=IN IP4 host.bangalore.example.com c=IN IP4 host.bangalore.example.com
t=0 0 t=0 0
m=audio 19140 RTP/AVP 18 m=audio 19140 RTP/AVP 18
a=rtpmap:18 G729/8000 a=rtpmap:18 G729/8000
In the above example the offerer and answerer proceed as if G729 is In the above example, the offerer and answerer proceed as if G729 is
negotiated with annexb=yes. negotiated with annexb=yes.
4.3. Offer with G729 and no annexb parameter and answer with G729 4.3. Offer with G729 and No annexb Parameter and Answer with G729
annexb=no annexb=no
[Offer with G729 and no annexb parameter] [Offer with G729 and no annexb parameter]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 18 m=audio 49170 RTP/AVP 18
skipping to change at page 7, line 16 skipping to change at page 6, line 42
v=0 v=0
o=bob 1890844326 1890844326 IN IP4 host.bangalore.example.com o=bob 1890844326 1890844326 IN IP4 host.bangalore.example.com
s= s=
c=IN IP4 host.bangalore.example.com c=IN IP4 host.bangalore.example.com
t=0 0 t=0 0
m=audio 19140 RTP/AVP 18 m=audio 19140 RTP/AVP 18
a=rtpmap:18 G729/8000 a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no a=fmtp:18 annexb=no
In the above example the offerer and answerer proceed as if G729 is In the above example, the offerer and answerer proceed as if G729 is
negotiated with annexb=no. negotiated with annexb=no.
5. Security Considerations 5. Security Considerations
The guidelines described in [RFC6562] are to be followed for Use of The guidelines described in [RFC6562] are to be followed for Use of
Voice Activity Detection (i.e Annex A or Annex B) with SRTP. Voice Activity Detection (i.e., Annex A or Annex B) with the Secure
Real-time Transport Protocol (SRTP).
6. IANA Considerations
There is no IANA consideration for this draft.
7. Acknowledgment 6. Acknowledgments
Thanks to Flemming Andreasen (Cisco), Miguel A. Garcia (Ericsson), Thanks to Flemming Andreasen (Cisco), Miguel A. Garcia (Ericsson),
Ali C. Begen (Cisco), Paul Kyzivat (Huawei), Roni Even (Huawei), Ali C. Begen (Cisco), Paul Kyzivat (Huawei), Roni Even (Huawei),
Kevin Riley (Sonus), Ashish Sharma (Sonus), Kevin P. Fleming Kevin Riley (Sonus), Ashish Sharma (Sonus), Kevin P. Fleming
(Digium), Dale Worley (Avaya), Cullen Jennings (Cisco), Ari Keranen (Digium), Dale Worley (Avaya), Cullen Jennings (Cisco), Ari Keranen
(Ericsson), Harprit S. Chhatwal (InnoMedia), Aurelien Sollaud (Ericsson), Harprit S. Chhatwal (InnoMedia), Aurelien Sollaud
(Orange), SM, Stephen Casner, Keith Drage (Alcatel-Lucent), Stephen (Orange), SM, Stephen Casner, Keith Drage (Alcatel-Lucent), Stephen
Farrell, Barry Leiba and Ted Lemon for their valuable inputs and Farrell, Barry Leiba, and Ted Lemon for their valuable input and
comments. Martin Dolly (ATT) and Hadriel Kaplan (Acme Packet) comments. Martin Dolly (ATT) and Hadriel Kaplan (Acme Packet)
provided useful suggestions at the mic at IETF-83. provided useful suggestions at the mic at IETF 83.
8. Normative References 7. 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.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264, with Session Description Protocol (SDP)", RFC 3264, June
June 2002. 2002.
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
Video Conferences with Minimal Control", STD 65, RFC 3551, Video Conferences with Minimal Control", STD 65, RFC 3551,
July 2003. July 2003.
[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.
[RFC4856] Casner, S., "Media Type Registration of Payload Formats in [RFC4856] Casner, S., "Media Type Registration of Payload Formats in
the RTP Profile for Audio and Video Conferences", the RTP Profile for Audio and Video Conferences", RFC
RFC 4856, February 2007. 4856, February 2007.
[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
March 2012. 2012.
Authors' Addresses Authors' Addresses
Muthu Arul Mozhi Perumal Muthu Arul Mozhi Perumal
Cisco Systems Cisco Systems
Cessna Business Park Cessna Business Park
Sarjapur-Marathahalli Outer Ring Road Sarjapur-Marathahalli Outer Ring Road
Bangalore, Karnataka 560103 Bangalore, Karnataka 560103
India India
Email: mperumal@cisco.com EMail: mperumal@cisco.com
Parthasarathi Ravindran Parthasarathi Ravindran
Nokia Solutions and Networks NSN
Manyata Embassy Business park Manyata Embassy Business park
Bangalore, Karnataka 560045 Bangalore, Karnataka 560045
India India
Email: partha@parthasarathi.co.in EMail: partha@parthasarathi.co.in
 End of changes. 35 change blocks. 
74 lines changed or deleted 67 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/