Re: [MMUSIC] Query: payload type collision with offer/answer

"Charles Eckel (eckelcu)" <eckelcu@cisco.com> Thu, 10 January 2013 23:23 UTC

Return-Path: <eckelcu@cisco.com>
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 CE7B621F86D6 for <mmusic@ietfa.amsl.com>; Thu, 10 Jan 2013 15:23:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.253
X-Spam-Level:
X-Spam-Status: No, score=-9.253 tagged_above=-999 required=5 tests=[AWL=0.746, BAYES_00=-2.599, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_HI=-8]
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 K5ZJS-6ZYPwX for <mmusic@ietfa.amsl.com>; Thu, 10 Jan 2013 15:23:01 -0800 (PST)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) by ietfa.amsl.com (Postfix) with ESMTP id BD7F821F85FC for <mmusic@ietf.org>; Thu, 10 Jan 2013 15:23:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4716; q=dns/txt; s=iport; t=1357860180; x=1359069780; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=gZ5i6JuOM+Xqbkkv75yoZ1LTz/Vm5NaXYcZkWd2Uqsw=; b=fabQPrVZ46Qj89IsGXQ578+/gn6pfwFgQz/exuZYEkWoEfExkrSKlnv+ U5OFU+iy0mg4cd6jNyiwtbP8tHk4KZyZ7f8g0naSvlzHIIx0oL3IdNCji HZKUWSREFEPBurJOiv7rqQoYAl7gplTL+uPJ7tamQ0ja6YZNI5lxJyybD Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgEFAM1M71CtJV2c/2dsb2JhbABEvXUWc4IeAQEBAwEBAQE3NAsFBwQCAQgOAwQBAQEKFAkHJwsUCQgCBAENBQiICwUBDLRcBJA+YQOmU4J1gWYHNw
X-IronPort-AV: E=Sophos;i="4.84,447,1355097600"; d="scan'208";a="160952283"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by rcdn-iport-1.cisco.com with ESMTP; 10 Jan 2013 23:22:59 +0000
Received: from xhc-aln-x14.cisco.com (xhc-aln-x14.cisco.com [173.36.12.88]) by rcdn-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id r0ANMxqW007253 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 10 Jan 2013 23:22:59 GMT
Received: from xmb-aln-x08.cisco.com ([169.254.3.224]) by xhc-aln-x14.cisco.com ([173.36.12.88]) with mapi id 14.02.0318.004; Thu, 10 Jan 2013 17:22:59 -0600
From: "Charles Eckel (eckelcu)" <eckelcu@cisco.com>
To: Emil Ivov <emcho@jitsi.org>, Harald Alvestrand <harald@alvestrand.no>
Thread-Topic: [MMUSIC] Query: payload type collision with offer/answer
Thread-Index: AQHN7p8Pzrd89LSrqUC7n2O8JcktGJhBmrDJgABznICAASXGUA==
Date: Thu, 10 Jan 2013 23:22:58 +0000
Message-ID: <92B7E61ADAC1BB4F941F943788C088280472896C@xmb-aln-x08.cisco.com>
References: <50EDC40F.3010501@alvestrand.no> <1.77712513fa3f074cccef@cisco.com> <50EDF490.4000101@alvestrand.no> <50EE0139.8000909@jitsi.org>
In-Reply-To: <50EE0139.8000909@jitsi.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [171.68.16.69]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "mmusic@ietf.org" <mmusic@ietf.org>
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: Thu, 10 Jan 2013 23:23:04 -0000

Please see inline.

> -----Original Message-----
> From: mmusic-bounces@ietf.org [mailto:mmusic-bounces@ietf.org] On
> Behalf Of Emil Ivov
> Sent: Wednesday, January 09, 2013 3:46 PM
> To: Harald Alvestrand
> Cc: mmusic@ietf.org
> Subject: Re: [MMUSIC] Query: payload type collision with offer/answer
> 
> 
> 
> On 09.01.13, 23:52, Harald Alvestrand wrote:
> > On 01/09/2013 10:01 PM, Charles Eckel (eckelcu) wrote:
> >> Please see inline.
> >>
> >>> -----Original Message-----
> >>> From: mmusic-bounces@ietf.org [mailto:mmusic-bounces@ietf.org] On
> >>> Behalf Of Harald Alvestrand
> >>> Sent: Wednesday, January 09, 2013 11:25 AM
> >>> To: mmusic@ietf.org
> >>> Subject: [MMUSIC] Query: payload type collision with offer/answer
> >>>
> >>> Hello,
> >>> I have encountered an issue, and I'm not sure it's an issue or not. SDP
> >>> wisdom is sought.
> >>>
> >>> Suppose two entities exchange the following offer/answer:
> >>>
> >>> offer from X:
> >>>
> >>> m=video 97
> >>> a=rtpmap:97 foo
> >>>
> >>> answer from Y:
> >>>
> >>> m=video 98
> >>> a=rtpmap:98 foo
> >>>
> >>> It's clear from RFC 3264 that now X must send codec foo with payload
> >>> type 98, and Y must send codec foo with payload type 97. That's not the
> >>> question.
> >>>
> >>> But suppose these are the offer and answer:
> >>>
> >>> offer from X:
> >>>
> >>> m=video 97 98
> >>> a=rtpmap:97 foo
> >>> a=rtpmap:98 bar
> >>>
> >>> answer from Y:
> >>>
> >>> m=video 97 98
> >>> a=rtpmap:97 bar
> >>> a=rtpmap:98 foo
> >>>
> >>> That is, the payload types collide.
> >>>
> >>> It would be possible to write code so that X sends foo with 98 and bar
> >>> with 97, while Y sends foo with 97 and bar with 98. But is it
> >> conformant
> >>> with the specs to do so?
> >>>
> >>> And if this has a clear answer - which paragraph of which RFC makes
> >> this
> >>> clear?
> >>> (Yes, this discussion is triggered from a real world problem.)
> >>
> >> It is recommended to avoid such mismatches when possible, but doing so
> >> may not always be possible. The examples you mention are conformant.
> >> The following text from section 5.1 addresses this:
> >>
> >> For sendrecv RTP
> >> streams, the payload type numbers indicate the value of the payload
> >> type field the offerer expects to receive, and would prefer to send.
> >> However, for sendonly and sendrecv streams, the answer might indicate
> >> different payload type numbers for the same codecs, in which case,
> >> the offerer MUST send with the payload type numbers from the answer.
> >>
> >> Different payload type numbers may be needed in each direction
> >> because of interoperability concerns with H.323.
> > I was reading that text, and it clearly says which ones to use if the
> > payload types are different, but I don't think they clearly address the
> > situation with using the same payload type for two different codecs in
> > different directions.
> >
> > In a multicast or transport relay scenario, this would clearly be
> > untenable, since third parties would not be able to send streams that
> > would be interpreted correctly by the two conflicting endpoints, but in
> > a two-party conversation, it's possible to make this work.
> > I just don't know if it's worth the effort to make it so.
> 
> 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.

I viewed this as being a requirement for all offers or answers sent by A to B, but not necessarily the corresponding answer and offers from B to A. Otherwise, it seems to conflict with the text in section 5.1. That said, I can certainly see where someone else may interpret it differently.

 Cheers,
Charles

> Cheers,
> Emil
> 
> 
> --
> https://jitsi.org
> _______________________________________________
> mmusic mailing list
> mmusic@ietf.org
> https://www.ietf.org/mailman/listinfo/mmusic