Re: [MMUSIC] Query: payload type collision with offer/answer
Harald Alvestrand <harald@alvestrand.no> Fri, 11 January 2013 12:47 UTC
Return-Path: <harald@alvestrand.no>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7042121F877B for <mmusic@ietfa.amsl.com>; Fri, 11 Jan 2013 04:47:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.399
X-Spam-Level:
X-Spam-Status: No, score=-110.399 tagged_above=-999 required=5 tests=[AWL=0.200, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IgZF43t6apAR for <mmusic@ietfa.amsl.com>; Fri, 11 Jan 2013 04:47:16 -0800 (PST)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id 2937D21F8763 for <mmusic@ietf.org>; Fri, 11 Jan 2013 04:47:16 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id 0CAD639E2BE for <mmusic@ietf.org>; Fri, 11 Jan 2013 13:47:15 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at eikenes.alvestrand.no
Received: from eikenes.alvestrand.no ([127.0.0.1]) by localhost (eikenes.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OFO15BpRWFmG for <mmusic@ietf.org>; Fri, 11 Jan 2013 13:47:12 +0100 (CET)
Received: from hta-dell.lul.corp.google.com (unknown [IPv6:2620:0:1043:1:be30:5bff:fede:bcdc]) by eikenes.alvestrand.no (Postfix) with ESMTPSA id 5EFCC39E241 for <mmusic@ietf.org>; Fri, 11 Jan 2013 13:47:12 +0100 (CET)
Message-ID: <50F009CE.9060903@alvestrand.no>
Date: Fri, 11 Jan 2013 13:47:10 +0100
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0
MIME-Version: 1.0
To: mmusic@ietf.org
References: <50EDC40F.3010501@alvestrand.no> <1.77712513fa3f074cccef@cisco.com> <50EDF490.4000101@alvestrand.no> <50EE0139.8000909@jitsi.org> <50EF0D77.9040000@alum.mit.edu>
In-Reply-To: <50EF0D77.9040000@alum.mit.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [MMUSIC] Query: payload type collision with offer/answer
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Fri, 11 Jan 2013 12:47:17 -0000
On 01/10/2013 07:50 PM, Paul Kyzivat wrote:
>
>> Well there's also section 8.3.2 in 3264. The section is about updating
>> offers but it seems like the text explicitly prohibits remapping payload
>> types in any scenarios:
>>
>> 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. However, it is
>> acceptable for multiple payload type numbers to be mapped to the
>> same
>> codec, so that an updated offer could also use payload type
>> number 72
>> for G.711.
>
> The language above is underspecified.
>
> It is my impression that the intent of this language was to ensure
> there is no ambiguity in the meaning of a payload type. Since the
> exchange of the SDP is not synchronized with the flow of RTP, if you
> were to send a new SDP that changed the mapping for a payload type,
> then the result would be almost certainly to interpret some media
> packets according to the wrong mapping.
>
> But this argument is only about packets flowing in one direction. It
> isn't a valid argument for requiring the payload types to be
> consistent in the two directions. And its not clear to me that it even
> intended that this language apply to both directions. It could be
> clarified as follows:
>
> ... 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 ***by A*** for that media stream within the session. ...
>
> Interpreting it to apply to both directions brings it in conflict with
> the language elsewhere that permits it to be different in the two
> directions.
More than one number for one codec is explicitly permitted.
More than one codec for one number in a single direction is clearly
impossible.
More than one codec for one number in a single RTP session..... that's
the question.
If one were to go with textual analysis, this would hinge on the meaning
of "for that media stream" - which again hinges on whether a media
stream is unidirectional or bidirectional.
RFC 3264's definition:
Media Stream: From RTSP [8], a media stream is a single media
instance, e.g., an audio stream or a video stream as well as a
single whiteboard or shared application group. In SDP, a media
stream is described by an "m=" line and its associated
attributes.
which points back to RFC 2326:
(Media) stream:
A single media instance, e.g., an audio stream or a video
stream as well as a single whiteboard or shared application
group. When using RTP, a stream consists of all RTP and RTCP
packets created by a source within an RTP session. This is
equivalent to the definition of a DSM-CC stream([5]).
So if we believe these definitions, there's no prohibition on reusing
the payload type.
Definitely nice to clarify in a 3264bis.
>
> The use of different mappings in each direction has been discussed
> over the years, though I couldn't point you to where. IIRC one of the
> reasons had to do with gatewaying to other protocols. But I can't
> offer any details.
>
> Bottom line: IMO, in the weird case Harald described X ought to follow
> Postel's Law and accept the answer from Y. But for the same reason I
> would strongly discourage implementations from acting as Y did.
>
Seems like a conclusion.
- [MMUSIC] Query: payload type collision with offer… Harald Alvestrand
- Re: [MMUSIC] Query: payload type collision with o… Charles Eckel (eckelcu)
- Re: [MMUSIC] Query: payload type collision with o… Harald Alvestrand
- Re: [MMUSIC] Query: payload type collision with o… Emil Ivov
- Re: [MMUSIC] Query: payload type collision with o… Paul Kyzivat
- Re: [MMUSIC] Query: payload type collision with o… Charles Eckel (eckelcu)
- Re: [MMUSIC] Query: payload type collision with o… Emil Ivov
- Re: [MMUSIC] Query: payload type collision with o… Charles Eckel (eckelcu)
- Re: [MMUSIC] Query: payload type collision with o… Emil Ivov
- Re: [MMUSIC] Query: payload type collision with o… DRAGE, Keith (Keith)
- Re: [MMUSIC] Query: payload type collision with o… Harald Alvestrand
- Re: [MMUSIC] Query: payload type collision with o… Christer Holmberg
- Re: [MMUSIC] Query: payload type collision with o… Emil Ivov
- Re: [MMUSIC] Query: payload type collision with o… Christer Holmberg
- Re: [MMUSIC] Query: payload type collision with o… Charles Eckel (eckelcu)