Re: [MMUSIC] Offer/Answer PT Questions

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 22 February 2016 19:16 UTC

Return-Path: <christer.holmberg@ericsson.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DF79F1B2C01 for <mmusic@ietfa.amsl.com>; Mon, 22 Feb 2016 11:16:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GGsbON00DVEm for <mmusic@ietfa.amsl.com>; Mon, 22 Feb 2016 11:16:36 -0800 (PST)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CFD671ACDF9 for <mmusic@ietf.org>; Mon, 22 Feb 2016 11:16:35 -0800 (PST)
X-AuditID: c1b4fb25-f794e6d000003d15-41-56cb5e91fbe4
Received: from ESESSHC017.ericsson.se (Unknown_Domain [153.88.183.69]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 74.D8.15637.19E5BC65; Mon, 22 Feb 2016 20:16:34 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.73]) by ESESSHC017.ericsson.se ([153.88.183.69]) with mapi id 14.03.0248.002; Mon, 22 Feb 2016 20:16:33 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>, "mmusic@ietf.org" <mmusic@ietf.org>
Thread-Topic: [MMUSIC] Offer/Answer PT Questions
Thread-Index: AdFrl0kuiZ+JG67LRQCl2lgEejcpMAAYtOkAAGpJ4lA=
Date: Mon, 22 Feb 2016 19:16:33 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B37E35E33@ESESSMB209.ericsson.se>
References: <E42CCDDA6722744CB241677169E8365615E419C0@MISOUT7MSGUSRDB.ITServices.sbc.com> <56C89F86.7020401@alum.mit.edu>
In-Reply-To: <56C89F86.7020401@alum.mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.148]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrNLMWRmVeSWpSXmKPExsUyM2K7q+6kuNNhBkcWc1lMXf6YxWLFhgOs Dkwef99/YPJYsuQnUwBTFJdNSmpOZllqkb5dAldG/5p2xoKv6hV/V21ibGBcId/FyMkhIWAi cXzvU0YIW0ziwr31bF2MXBxCAocZJTqm3mCBcBYzSlx//wIow8HBJmAh0f1PG6RBRMBX4tnj 22wgtrCAvsT7RUfYIeIGEntfHoCyrST273gEVsMioCpx7X0/C4jNC9Q749cCRpCRQgLVEreX BICEOQV0JGa1HgdrZQS65/upNUwgNrOAuMStJ/OZIO4UkFiy5zwzhC0q8fLxP1YIW0micckT Voh6HYkFuz+xQdjaEssWvmaGWCsocXLmE5YJjKKzkIydhaRlFpKWWUhaFjCyrGIULU4tTspN NzLWSy3KTC4uzs/Ty0st2cQIjJKDW36r7mC8/MbxEKMAB6MSD++GqNNhQqyJZcWVuYcYJTiY lUR4U2OAQrwpiZVVqUX58UWlOanFhxilOViUxHnXOK8PExJITyxJzU5NLUgtgskycXBKNTB6 z85sWfnsjFw1d6rx6zshlxZXLX/9aqnND9Wr546c/VI+yapF+9CChMjPM9LWxGV5L/yxdqUP 2+bLlqyx3PMe9HMcuSn+6XTtMQZ1xkjrpf15q98x38q6f+r6X2NRRi3LC4E7FWMfOUlMP5Ce Vuvzds4SmbeN845xTt6yol+d7XVf8mzFn4K3lFiKMxINtZiLihMBoJbJ0o4CAAA=
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/gIbJBjMFhBZcO8jTuSez_oHhb3U>
Subject: Re: [MMUSIC] Offer/Answer PT Questions
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 Feb 2016 19:16:40 -0000

Hi,

I had a talk with Martin about this, suggesting we put this in front of the collective wisdom of MMUSIC, so I'll jump in.

>> Section 8.3.2 of RFC 3264 says the following:
>>
>>     "However, in the case of RTP, the mapping from a particular 
>>     dynamic payload type number to a particular codec within that media stream MUST NOT 
>>     change for the duration of a session.  For example, if A generates an offer
>>     with G.711 assigned to dynamic payload type number 46, payload type
>>     number 46 MUST refer to G.711 from that point forward in any offers
>>    or answers for that media stream within the session."
>
> As you know, this area is not well defined.
>
>> Now, assume the following case:
>>
>> 1.Alice sends an Offer, with the following PT values:
>>
>> PT 100: AMR-WB(mode-set=2)
>>
>> PT 111: AMR-WB(mode-set=2, OA)
>>
>> PT 0: PCMU
>>
>> 2.Bob sends the associated Answer:
>>
>> PT 100: AMR-WB (mode-set=2)
>>
>> PT 0: PCMU
>
> At this point, I think there is an open question of whether the "must not change" even applies for a PT that was offered but not accepted in the answer.

Correct. That is one issue. If it *does* apply, the answerer would have to remember everything that has been offered by the remote endpoint within the session, even if it was not accepted in the answer.

(Now, once could claim that there is no such thing as "accepting" a codec, and that technically the answerer is allowed to send whatever was offered, eventhough it most of the time wouldn't work in reality: endpoint will reserve resources for the codecs both parties indicate support for.)

> One might argue that the real point of the requirement is that it can't be reused once there might be packets in flight using it. But that isn't true in this case. So IMO it is uncharted territory.

And it is not even a special case: offers including more codecs than the corresponding answer is more or less the norm, at least when we take codec configurations into consideration :)


>> 3.Later Bob sends the following subsequent Offer:
>>
>> PT 111: AMR(mode-set=0,2,5,7)
>
> You mean the new offer no longer mentions 0 and 100, only 111 with this new mapping? (Though I don't think the answer to that affects your
> questions.)

The new offer may have included 0 and 100 too, I don't remember. But, as you say, it does not affect the question. The question is whether Bob can use 111 for something else than Alice previously used it for.

>> QUESTION 1: Is it allowed for Bob to offer PT 111 for AMR in the 
>> subsequent Offer, as Alice used PT 111 for AMR-WG in the initial Offer?
>> In other words, does the
>> pt-value-must-only-refer-to-a-specific-payload-for-the-stream-within-t
>> he-session text in section 8.3.2 apply to user A only, or to **all** 
>> users within the session?
>
> While it is *recommended* that the answer use the same PT as the offer for a given codec configuration, that isn't *required*. The answer may accept the codec from the offer using a different PT.

Assuming Bob is allowed to offer 111, then I assume Alice would not be allowed to answer with 111, as Alice previously offered 111 for something else - eventhough Bob did not "accept" it.

> So, in the first answer Bob *could* have accepted the offer for AMR-WB(mode-set=2, OA) using some other PT (say 112). If so, when 
> Bob subsequently sent an offer reusing the same codecs it would have used 100, 112, and 0. (111 would not have been used.) In that case 
> it seems like Bob would be free to use 111 for something else. Alice, in her answer, would be free to map it to a different PT in order to avoid a clash with 111 on her end.
> 
> All of that seems equally applicable in your example, where Bob never accepted AMR-WB(mode-set=2, OA).

Correct. 


>> QUESTION 2:   Assuming the text applies to all users, is it allowed to
>> re-use a PT value for the same codec, but for a different CODEC 
>> CONFIGURATION? The text only talks about codec.
>
> I think use of "codec" was just sloppy, and that it always meant codec configuration.

I would probably agree with that, but it should be clarified.

>> Now, I agree that the easiest way to avoid trouble is simply to make 
>> sure PT values aren't re-used by any party. But, the text still needs 
>> to be clear, because this is causing problems in real deployments.
>
> Agree.
>
> The spec is far from clear on this subject. A starting point for clarifying it to ascertain as best we can the original
> intent. 

What is the original intent? :)

> But then we also need to try to understand common practice. Where this has been unclear there may well 
> be conflicting interpretations in the wild. 
> *Somebody* is likely to be negatively affected by whatever decision we come to.

It is always much easier to get things fixed when the specification is clear on who is wrong and who is right :)

Regards,

Christer