draft-ietf-mmusic-sdp-g723-g729-01.txt   draft-ietf-mmusic-sdp-g723-g729-02.txt 
MMUSIC Muthu A M. Perumal MMUSIC Muthu A M. Perumal
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Updates: 4856 (if approved) Parthasarathi. Ravindran Updates: 4856 (if approved) Parthasarathi. Ravindran
Intended status: Standards Track Nokia Siemens Networks Intended status: Standards Track Nokia Siemens Networks
Expires: November 21, 2013 May 20, 2013 Expires: December 5, 2013 June 3, 2013
Offer/Answer Considerations for G.723 Annex A and G.729 Annex B Offer/Answer Considerations for G.723 Annex A and G.729 Annex B
draft-ietf-mmusic-sdp-g723-g729-01 draft-ietf-mmusic-sdp-g723-g729-02
Abstract Abstract
RFC4856 describes the annexa parameter for G723 and the annexb RFC4856 describes the annexa parameter for G723 and the annexb
parameter for G729, G729D and G729E. However, the specification does parameter for G729, G729D and G729E. However, the specification does
not describe the offerer and answerer behavior when the value of the not describe the offerer and answerer behavior when the value of the
annexa or annexb parameter does not match in the SDP offer and annexa or annexb parameter does not match in the SDP offer and
answer. This document provides the offer/answer considerations for answer. This document provides the offer/answer considerations for
these parameters and updates RFC4856. these parameters and updates RFC4856.
skipping to change at page 1, line 35 skipping to change at page 1, line 35
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 November 21, 2013. This Internet-Draft will expire on December 5, 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
skipping to change at page 2, line 16 skipping to change at page 2, line 16
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Offer/Answer Considerations . . . . . . . . . . . . . . . . . . 4 3. Offer/Answer Considerations . . . . . . . . . . . . . . . . . . 4
3.1. Offer/Answer Considerations for G723 Annex A . . . . . . . 4 3.1. Offer/Answer Considerations for G723 Annex A . . . . . . . 4
3.2. Offer/Answer Considerations for G.729 Annex B, G.729D 3.2. Offer/Answer Considerations for G.729 Annex B, G.729D
Annex B and G.729E Annex B . . . . . . . . . . . . . . . . 4 Annex B and G.729E Annex B . . . . . . . . . . . . . . . . 4
4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1. Offer with G279 annexb=yes and answer with G279 4.1. Offer with G729 annexb=yes and answer with G729
annexb=no . . . . . . . . . . . . . . . . . . . . . . . . . 5 annexb=no . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2. Offer with G279 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 G279 and no annexb parameter and answer 4.3. Offer with G729 and no annexb parameter and answer
with G729 annexb=no . . . . . . . . . . . . . . . . . . . . 6 with G729 annexb=no . . . . . . . . . . . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
7. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . 7 7. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . 7
8. Normative References . . . . . . . . . . . . . . . . . . . . . 7 8. Normative References . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 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
skipping to change at page 3, line 38 skipping to change at page 3, line 38
annexb=no. annexb=no.
Since [RFC4856] does not state it clearly, various implementations Since [RFC4856] does not state it clearly, various implementations
have interpreted the offer/answer in their own ways, resulting in a have interpreted the offer/answer in their own ways, resulting in a
different codec being chosen to call failure, when the parameter different codec being chosen to call failure, when the parameter
value does not match in the offer and answer. 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. But, [RFC4856] specify their proper interpretation in offer/answer. But, [RFC4856]
does not specify it for the Annex A flavor of G.723 and the Annex B does not specify it for the Annex A flavor of G.723 and the Annex B
flavors of G.729, G729D and G729E. flavors of G.729, G.729D and G.729E.
This document describes the offer/answer considerations for these This document describes the offer/answer considerations for these
parameters and provides the necessary clarifications. parameters and provides the necessary clarifications.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
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
[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.
Based on the above, it is best to not use comfort noise frames if the Based on the above, it is best not to use comfort noise frames if the
SDP offer or answer indicates no support for it. SDP offer or answer indicates that comfort noise is not supported.
3.1. Offer/Answer Considerations for G723 Annex A 3.1. Offer/Answer Considerations for G723 Annex A
When the offer or answer has G723 and the annexa parameter is absent, When the offer or answer has G723 and the annexa parameter is absent,
it MUST be considered as if the offer or answer has G723 with the offerer or answerer knows that it has implied the default
annexa=yes. "annexa=yes". This is because the annexa attribute is part of the
original registration of audio/G723 [RFC4856]. All implementations
that support G723 understand the annexa attribute. Hence, this case
MUST be considered as if the offer or answer has G723 with
annexa=yes. .
When the offer has G723 with annexa=yes and the answer has G723 with When the offer has G723 with annexa=yes and the answer has G723 with
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 then the answer MUST NOT have When the offer has G723 with annexa=no then the answer MUST NOT have
annexa=yes for G723. Thus the annexa parameter can be turned off by annexa=yes for G723. Thus the annexa parameter can be turned off by
the answerer, but cannot be turned on. the answerer, but cannot be turned on.
When the offer has G723 with annexa=no, the reason for not mandating When the offer has G723 with annexa=no, the reason for not mandating
skipping to change at page 4, line 46 skipping to change at page 4, line 50
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.2. Offer/Answer Considerations for G.729 Annex B, G.729D Annex B and 3.2. Offer/Answer Considerations for G.729 Annex B, G.729D Annex B and
G.729E Annex B G.729E 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
"annexb=yes". This is because the annexb attribute is part of the
original registration of audio/G729 [RFC4856]. All implementations
that support G729 understand the annexb attribute. Hence, this case
MUST be considered as if the offer or answer has G729 with
annexb=yes. .
When the offer or answer has G729 and the annexb parameter is absent,
it MUST be considered as if the offer or answer has G729 with it 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 then the answer MUST NOT have When the offer has G729 with annexb=no then the answer MUST NOT have
annexb=yes for G729. Thus the annexb parameter can be turned off by annexb=yes for G729. Thus the annexb parameter can be turned off by
the answerer, but cannot be turned on. the answerer, but cannot be turned on.
skipping to change at page 5, line 20 skipping to change at page 5, line 31
that the answer MUST have annexa=no for G729 is that there are there that the answer MUST have annexa=no for G729 is that there are there
implementations that omit the annexa parameter in answer and expect implementations that omit the annexa parameter in answer and expect
the least common denominator to be used. the least common denominator to be used.
When the offer has G.729 with no annexb parameter and the answer has When the offer has G.729 with no annexb parameter and the answer has
G.729 with annexb=yes, the offerer and answerer MUST proceed as if G.729 with annexb=yes, the offerer and answerer MUST proceed as if
G.729 is negotiated with annexb=yes. G.729 is negotiated with annexb=yes.
4. Examples 4. Examples
4.1. Offer with G279 annexb=yes and answer with G279 annexb=no 4.1. Offer with G729 annexb=yes and answer with G729 annexb=no
[Offer with G279 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
a=fmtp:18 annexb=yes a=fmtp:18 annexb=yes
skipping to change at page 5, line 47 skipping to change at page 6, line 19
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 G279 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 G279 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
a=fmtp:18 annexb=yes a=fmtp:18 annexb=yes
skipping to change at page 6, line 29 skipping to change at page 6, line 46
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 G279 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 G279 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
a=rtpmap:18 G729/8000 a=rtpmap:18 G729/8000
[Answer with G729 annexb=no] [Answer with G729 annexb=no]
skipping to change at page 7, line 20 skipping to change at page 7, line 41
There is no extra security consideration apart from what is described There is no extra security consideration apart from what is described
in [RFC4856]. in [RFC4856].
6. IANA Considerations 6. IANA Considerations
There is no IANA consideration for this draft. There is no IANA consideration for this draft.
7. Acknowledgement 7. Acknowledgement
Thanks to Flemming Andreasen (Cisco), Miguel A. Garcia (Ericsson), Thanks to Flemming Andreasen (Cisco), Miguel A. Garcia (Ericsson),
Ali C. Begen (Cisco), Paul Kyzivat, Roni Even (Huawei), Kevin Riley Ali C. Begen (Cisco), Paul Kyzivat(Huawei), Roni Even (Huawei), Kevin
(Sonus), Ashish Sharma (Sonus), Kevin P. Fleming (Digium) and Harprit Riley (Sonus), Ashish Sharma (Sonus), Kevin P. Fleming (Digium), Dale
worley, Cullen Jennings (Cisco), Ari Keraenen (Ericsson) and Harprit
S. Chhatwal (InnoMedia) for their valuable inputs and comments. S. Chhatwal (InnoMedia) for their valuable inputs and comments.
Martin Dolly (ATT) and Hadriel Kaplan (Acme Packet) provided useful Martin Dolly (ATT) and Hadriel Kaplan (Acme Packet) provided useful
suggestions at the mic at IETF-83. suggestions at the mic at IETF-83.
8. Normative References 8. 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
skipping to change at page 8, line 18 skipping to change at page 8, line 35
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 Siemens Networks Nokia Siemens Networks
Manyata Embassy Business park
Bangalore, Karnataka Bangalore, Karnataka
India India
Email: partha@parthasarathi.co.in Email: partha@parthasarathi.co.in
 End of changes. 18 change blocks. 
22 lines changed or deleted 36 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/