Re: [payload] FW: I-D Action: draft-muthu-payload-offer-answer-g723-g729-00.txt

"Chhatwal, Harprit S" <hschhatwal@gmail.com> Tue, 28 February 2012 17:34 UTC

Return-Path: <hschhatwal@gmail.com>
X-Original-To: payload@ietfa.amsl.com
Delivered-To: payload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DB71E21F86B4 for <payload@ietfa.amsl.com>; Tue, 28 Feb 2012 09:34:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.932
X-Spam-Level:
X-Spam-Status: No, score=-1.932 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1, SARE_HTML_USL_OBFU=1.666]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gxHtG0007n4K for <payload@ietfa.amsl.com>; Tue, 28 Feb 2012 09:34:18 -0800 (PST)
Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by ietfa.amsl.com (Postfix) with ESMTP id AFAEE21F869D for <payload@ietf.org>; Tue, 28 Feb 2012 09:34:17 -0800 (PST)
Received: by wicr5 with SMTP id r5so2002260wic.31 for <payload@ietf.org>; Tue, 28 Feb 2012 09:34:16 -0800 (PST)
Received-SPF: pass (google.com: domain of hschhatwal@gmail.com designates 10.180.95.1 as permitted sender) client-ip=10.180.95.1;
Authentication-Results: mr.google.com; spf=pass (google.com: domain of hschhatwal@gmail.com designates 10.180.95.1 as permitted sender) smtp.mail=hschhatwal@gmail.com; dkim=pass header.i=hschhatwal@gmail.com
Received: from mr.google.com ([10.180.95.1]) by 10.180.95.1 with SMTP id dg1mr40859038wib.21.1330450456893 (num_hops = 1); Tue, 28 Feb 2012 09:34:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=K7fJsA7U8qBVmRKGOmmQCScYr86HNpXdNqsVlIFsGFg=; b=SCDjrBnl8WPv2A8G9o1krtd90j+4bSxBSw45xwHsBLUDyPjv/qTHVSQhgpAfc3iifp 7klICPmhToCTPBur/Az2uXw19ghWgIlyMfPDSq099Ryn9fHSR52s/9Pgf7oMmnygCqz6 /imcXWmBT0ktNMQ21qYSFIrhulfaiB2b0uI58=
MIME-Version: 1.0
Received: by 10.180.95.1 with SMTP id dg1mr32423266wib.21.1330450456742; Tue, 28 Feb 2012 09:34:16 -0800 (PST)
Received: by 10.180.96.166 with HTTP; Tue, 28 Feb 2012 09:34:16 -0800 (PST)
In-Reply-To: <4F4D06B6.6020905@digium.com>
References: <1D062974A4845E4D8A343C653804920207ABB1E1@XMB-BGL-414.cisco.com> <4F4BB973.4060508@alum.mit.edu> <4F4D06B6.6020905@digium.com>
Date: Tue, 28 Feb 2012 17:34:16 +0000
Message-ID: <CAESr3KV7miBBFwY_4-cHE05YsvV7xvYjLwpbNcQGvN2kHOQ5GA@mail.gmail.com>
From: "Chhatwal, Harprit S" <hschhatwal@gmail.com>
To: "Kevin P. Fleming" <kpfleming@digium.com>
Content-Type: multipart/alternative; boundary="f46d044303f0dd89c904ba09a2e2"
Cc: payload@ietf.org
Subject: Re: [payload] FW: I-D Action: draft-muthu-payload-offer-answer-g723-g729-00.txt
X-BeenThere: payload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Audio/Video Transport Payloads working group discussion list <payload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/payload>, <mailto:payload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/payload>
List-Post: <mailto:payload@ietf.org>
List-Help: <mailto:payload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/payload>, <mailto:payload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Feb 2012 17:34:20 -0000

Kevin,

First of all, from RFC3264, I agree with you that for things like IP
addresses, ports, payload types, ptime, the SDP that one party sends
indicates the address/port/PT/ptime that the sender would like to receive
on.  However, I don't believe this is generally correct for all
parameters.  For instance, for codecs (again from RFC3264), the codec(s)
included in an SDP offer indicates the codec(s) the offerer is willing to
send AND receive (if the directional attribute is ‘sendrecv’).  As an
example, if party A is the offerer and sends G.729 & G.711 in its SDP
offer, it is saying that it is willing to use either codec.  If the
answerer replies with G.711, then it is only willing to use G.711, and then
G.729 will not be used in either direction.



Turning now to silence suppression, the situation does not seem very
clear.  This is what RFC3264 has to say about fmtp parameters such as
‘annexb’ :



   The interpretation of fmtp parameters in an offer depends on the

   parameters.  In many cases, those parameters describe specific

   configurations of the media format, and should therefore be processed

   as the media format value itself would be.  This means that the same

   fmtp parameters with the same values MUST be present in the answer if

   the media format they describe is present in the answer.  Other fmtp

   parameters are more like parameters, for which it is perfectly

   acceptable for each agent to use different values.  In that case, the

   answer MAY contain fmtp parameters, and those MAY have the same

   values as those in the offer, or they MAY be different.  SDP

   extensions that define new parameters SHOULD specify the proper

   interpretation in offer/answer.



To me, ‘annexb’ is more like a parameter in this sense and, in this case,
everything is allowed – the answer may contain the same fmtp or different.
 RFC3264 doesn’t appear to specify the interpretation.  The problem is that
I don't know of anywhere else where the interpretation is specified
either.  RFC4856  specifies the parameter ‘annexb’, but doesn’t say whether
it can be used asymmetrically (or how).  The only other guidance I can find
on this is elsewhere in RFC3264:



   The list of media formats for each media stream conveys two pieces of

   information, namely the set of formats (codecs and any parameters

   associated with the codec, in the case of RTP) that the offerer is

   capable of sending and/or receiving (depending on the direction

   attributes)...

   ...For a sendrecv stream, the offer SHOULD indicate those

   codecs that the offerer is willing to send and receive with.



So, this appears to be lumping codec parameters with codecs and so both
should behave in the same way.  If we take this interpretation, then
indicating ‘annexb=no’ indicates that the sender of this SDP is willing to
send and receive with silence suppression off.  So, according to this, if
the offerer sends ‘annexb=yes’ in the offer and the answerer sends back
‘annexb=no’, then there is a mismatch and the offerer should send a
re-INVITE with ‘annexb=no’ to resolve the conflict.  According to this
interpretation, we cannot have an asymmetric use of silence suppression.
However,  from the discussion we're having, I can see that all of this is
somewhat open to interpretation (since the specs do not seem to be clear)
and I agree with the authors of this ID that we need some clarification as
to how this issue should be dealt with (and whether asymmetric use of
annexb should be allowed and, if so, how).


Regards.  Harprit.


Harprit S. Chhatwal

InnoMedia

On 28 February 2012 16:54, Kevin P. Fleming <kpfleming@digium.com> wrote:

> On 02/27/2012 11:12 AM, Paul Kyzivat wrote:
>
>> On 2/27/12 6:33 AM, Muthu Arul Mozhi Perumal (mperumal) wrote:
>>
>>> We have submitted an I-D clarifying the offer/answer considerations for
>>> the Annex A flavor of G.723 and the Annex B flavors of G.729, G.729D and
>>> G.729E. This clarification is missing in RFC 4856, leading to interop
>>> issues, for e.g:
>>> http://sipforum.org/pipermail/**discussion/2008-January/**004026.html<http://sipforum.org/pipermail/discussion/2008-January/004026.html>
>>>
>>> We have a couple of open items in the I-D. We expect the WG discussions
>>> would guide us on how to go about them.
>>>
>>> Comments welcome.
>>>
>>
>> I'm the source of the issues. :-)
>>
>> The fundamental point is that RFC4856 specifies a *default* value of
>> "yes" for annexa and annexb. This means that if annexa/annexb is not
>> specified in an answer, then it will default to yes, even if the offer
>> contained "no".
>>
>> I see a few ways to fix this:
>>
>> 1) revise the IANA registration for annexa and annexb to remove the
>> default, at least when used with O/A. Instead specify the defaulting
>> separately for offers and answers.
>>
>> 2) REQUIRE that the answer contain "no" if the offer contained "no".
>>
>> 3) permit the answer to contain "yes" (explicitly or by default)
>> when the offer contained "no", and specify that this still means
>> that the annex is *not* to be used.
>>
>> 4) forbid the answer from *explicitly* containing "yes" when the
>> offer contained "no", but allow the answer to *implicitly* contain
>> "yes" (via the default) and ignore it/treat it as "no".
>>
>> None of these are ideal. (1) is problematic because this is used in
>> non-O/A contexts, such as RSVP. (2) begs the question of what should be
>> done if this is violated. (3) risks failing to recognize that the two
>> sides disagree. (4) is pragmatic but seems to violate the spirit of
>> defaults.
>>
>> I guess my preference is to make (2) normative for the answerer, while
>> making (4) normative for the offerer, and put enough words in so its
>> very clear what is being specified and why.
>>
>
> I must *really* be missing something here; why does the usage of G.729
> Annex B have to be symmetrical? Until I saw this thread, it was always my
> understanding that the 'annexb' format parameter for G.729 in SDP indicated
> the preference of the endpoint sending that parameter. Like nearly
> everything else in SDP, it indicates what that endpoint is *prepared to
> accept*, and has nothing at all to do with what it will (or could) send.
>
> Unless that's a completely broken understanding, then these 'interop'
> issues are really just very poorly coded implementations. I would interpret
> the current RFC language as follows:
>
> 1) If an offer/answer contains 'annexb=no', the receiver of that
> offer/answer MUST NOT send G.729 Annex B SID frames to the
> offering/answering endpoint.
>
> 2) If an offer/answer contains 'annexb=yes', the receiver of that
> offer/answer SHOULD send G.729 Annex B SID frames to the offering/answering
> endpoint.
>
> 3) An answer's value for the 'annexb' parameter is completely independent
> of the value (if any) present in the offer it is answering.
>
>
>> Thanks,
>> Paul
>>
>>  Muthu
>>>
>>> -----Original Message-----
>>> From: i-d-announce-bounces@ietf.org
>>> [mailto:i-d-announce-bounces@**ietf.org <i-d-announce-bounces@ietf.org>]
>>> On Behalf Of
>>> internet-drafts@ietf.org
>>> Sent: Friday, February 24, 2012 5:57 PM
>>> To: i-d-announce@ietf.org
>>> Subject: I-D Action: draft-muthu-payload-offer-**answer-g723-g729-00.txt
>>>
>>>
>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>> directories.
>>>
>>> Title : Offer/Answer Considerations for G.723 Annex A
>>> and G.729 Annex B
>>> Author(s) : Muthu Arul Mozhi Perumal
>>> Parthasarathi Ravindran
>>> Filename :
>>> draft-muthu-payload-offer-**answer-g723-g729-00.txt
>>> Pages : 8
>>> Date : 2012-02-24
>>>
>>> [RFC4856] describes the annexa parameter for G723 and the annexb
>>> parameter for G729, G729D and G729E. However, the specification does
>>> not describe the offerer and answerer behavior when the value of the
>>> annexa or annexb parameter does not match in the SDP offer and
>>> answer. This document provides the offer/answer considerations for
>>> these parameters.
>>>
>>>
>>> A URL for this Internet-Draft is:
>>> http://www.ietf.org/internet-**drafts/draft-muthu-payload-**
>>> offer-answer-g72<http://www.ietf.org/internet-drafts/draft-muthu-payload-offer-answer-g72>
>>> 3-g729-00.txt
>>>
>>> Internet-Drafts are also available by anonymous FTP at:
>>> ftp://ftp.ietf.org/internet-**drafts/<ftp://ftp.ietf.org/internet-drafts/>
>>>
>>> This Internet-Draft can be retrieved at:
>>> ftp://ftp.ietf.org/internet-**drafts/draft-muthu-payload-**
>>> offer-answer-g723<ftp://ftp.ietf.org/internet-drafts/draft-muthu-payload-offer-answer-g723>
>>> -g729-00.txt
>>>
>>> ______________________________**_________________
>>> I-D-Announce mailing list
>>> I-D-Announce@ietf.org
>>> https://www.ietf.org/mailman/**listinfo/i-d-announce<https://www.ietf.org/mailman/listinfo/i-d-announce>
>>> Internet-Draft directories: http://www.ietf.org/shadow.**html<http://www.ietf.org/shadow.html>
>>> or ftp://ftp.ietf.org/ietf/**1shadow-sites.txt<ftp://ftp.ietf.org/ietf/1shadow-sites.txt>
>>>
>>>
>> ______________________________**_________________
>> payload mailing list
>> payload@ietf.org
>> https://www.ietf.org/mailman/**listinfo/payload<https://www.ietf.org/mailman/listinfo/payload>
>>
>
>
> --
> Kevin P. Fleming
> Digium, Inc. | Director of Software Technologies
> Jabber: kfleming@digium.com | SIP: kpfleming@digium.com | Skype: kpfleming
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
> Check us out at www.digium.com & www.asterisk.org
> ______________________________**_________________
> payload mailing list
> payload@ietf.org
> https://www.ietf.org/mailman/**listinfo/payload<https://www.ietf.org/mailman/listinfo/payload>
>