Re: [MMUSIC] Query: When rejecting a PT, can I reuse the PT number?

Paul Kyzivat <pkyzivat@alum.mit.edu> Mon, 23 November 2020 19:39 UTC

Return-Path: <pkyzivat@alum.mit.edu>
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 066143A0D31 for <mmusic@ietfa.amsl.com>; Mon, 23 Nov 2020 11:39:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.103
X-Spam-Level:
X-Spam-Status: No, score=-0.103 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=alum.mit.edu
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 TbhSe0uK4wvd for <mmusic@ietfa.amsl.com>; Mon, 23 Nov 2020 11:39:56 -0800 (PST)
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2045.outbound.protection.outlook.com [40.107.243.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2DC263A0D2F for <mmusic@ietf.org>; Mon, 23 Nov 2020 11:39:56 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DHrXxOLlW44Uk6CY17kfQ9cnNIy6y9L+E4r30hgeh21xZKoHMK+4chUd1PWPS6LHyF2NahipSgDcrdonJf4vvHseBMLkZNBEOppmXZx96lk1HxQ8ugK0qQd7a5jO+6AnbduktzGYq/Z+WZulagMDVvuxKiYHANFs9yXT9/N7WtK0JKwUyInDsvfGRVvBOdyetdS13LVCCV10xHBOXJzZ9zwkwerG1SHAaOpFDzHKD08v5B6L0j7rGGCWIjMFkQXbBhLG9AzuK8uInojW/LabkOt3MDqVDsVx+uRzNsrUJ62/YYY7ihTK5ZHCdFluTjb/sLm0CNFsplKaK0NFFplXKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JikDOLKnqBW99PZww0Ty2+K9cZtcKoz6F8Zgx1Ep+3s=; b=c/fT/uuiym6aRzDlx5/9EHUumOs48+bzlXvxWvzUQHg67v6SvQYNmdd04TVEd4B4PheP8vI3yhQJz9NBL5MP6QaQqUzslmJBybDHoS9rdgdZdhJnCIP+Lobv+NjdFh9IiDzs2uuZS3kNpDMnPLNpla2RtCNJ8e7VCYwndZVqAXK6sLsN+uASaYhvV55VSDBhbk70SR7s2UFI6LfIHeYfGwSWpG8BYtcgyeBfOjA7ynpEtdPsztjG04IWiFKhKgFYCa2u3/DZ/z6Xl6UpttCrz07k7MNlQ3ZY+5gKjtfXFuGyDj5zFIcSmOefJZK2IHPUdz31yugVCgdheSxrlsOULw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 18.7.68.33) smtp.rcpttodomain=ietf.org smtp.mailfrom=alum.mit.edu; dmarc=bestguesspass action=none header.from=alum.mit.edu; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alum.mit.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JikDOLKnqBW99PZww0Ty2+K9cZtcKoz6F8Zgx1Ep+3s=; b=LUhWDTc6rvSjzlSlFrFPQYkAIVa98l+UHC2hSnSq+AbSj6LjwS2bD7FicxRMJzbF6KSB8S9ARNEDq2rgUALhwk4JFP3VMS0m4jTJcGJm/yE/cKh2pTE7sOvi015FiW2JASWFgLgAjYK+K89yB+OwGkd67vFe7WL5TQHycNpdEXY=
Received: from CY4PR22CA0088.namprd22.prod.outlook.com (2603:10b6:903:ad::26) by MN2PR12MB3294.namprd12.prod.outlook.com (2603:10b6:208:af::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.25; Mon, 23 Nov 2020 19:39:54 +0000
Received: from CY1NAM02FT057.eop-nam02.prod.protection.outlook.com (2603:10b6:903:ad:cafe::fe) by CY4PR22CA0088.outlook.office365.com (2603:10b6:903:ad::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.20 via Frontend Transport; Mon, 23 Nov 2020 19:39:54 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 18.7.68.33) smtp.mailfrom=alum.mit.edu; ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=bestguesspass action=none header.from=alum.mit.edu;
Received-SPF: Pass (protection.outlook.com: domain of alum.mit.edu designates 18.7.68.33 as permitted sender) receiver=protection.outlook.com; client-ip=18.7.68.33; helo=outgoing-alum.mit.edu;
Received: from outgoing-alum.mit.edu (18.7.68.33) by CY1NAM02FT057.mail.protection.outlook.com (10.152.75.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.20 via Frontend Transport; Mon, 23 Nov 2020 19:39:53 +0000
Received: from PaulKyzivatsMBP.localdomain (c-24-62-227-142.hsd1.ma.comcast.net [24.62.227.142]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.14.7/8.12.4) with ESMTP id 0ANJdpeC027755 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT) for <mmusic@ietf.org>; Mon, 23 Nov 2020 14:39:52 -0500
To: mmusic@ietf.org
References: <65bb04c5-c974-02d4-5e10-d54f0cde6f1f@alvestrand.no>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
Message-ID: <c0dae115-1cbb-71db-a9eb-d72bb029200f@alum.mit.edu>
Date: Mon, 23 Nov 2020 14:39:51 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:78.0) Gecko/20100101 Thunderbird/78.5.0
MIME-Version: 1.0
In-Reply-To: <65bb04c5-c974-02d4-5e10-d54f0cde6f1f@alvestrand.no>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 288ab10e-bf9d-4a81-1e22-08d88fe78d08
X-MS-TrafficTypeDiagnostic: MN2PR12MB3294:
X-Microsoft-Antispam-PRVS: <MN2PR12MB3294DD7A70AD1A60FD1EED2FF9FC0@MN2PR12MB3294.namprd12.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: PBVlNIsT+Ir/NIzg/kwzFkLQHajzfx3Xc8BhGIF4Q4qh/Pej6eORKsuuxT8tebC1izQXbSQtUq7jTEYBvP1rBel5LHZAizgor6V74ZfLUQ1JzrgJaPO+3qeDB/7QKj0a/QnCSBC84Q9m/4EJ5lVAg4vW5JTM5bRfWovMEpEI6Ym8wxe0mUHSWfYIcdKgih5h/GJhxHe7SbgyDj15Z6BGe9GpI5iuhXXPs5osegs157NNb8mhAs2ajo8DKf8oYoT6ZqnEbS2XmqKkEe2UqXAk48vR2OrcLAT86Q6nD/EVX7KgIDZ08li0K64rNFUvPz2SYAbzAfkk6t3RAlh6uHjhV1U6qEup1P+yun2kNKoKPjj+IVifSsgusxtIpjd2iYUMYYFegGOULCNS814VEwQKt2SrMN8sWVyPljMOncM1mOgJsCYSHEmS3XH2epvKuRZC
X-Forefront-Antispam-Report: CIP:18.7.68.33; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:outgoing-alum.mit.edu; PTR:outgoing-alum.mit.edu; CAT:NONE; SFS:(396003)(376002)(39860400002)(136003)(346002)(46966005)(6916009)(8676002)(82310400003)(956004)(86362001)(186003)(2906002)(26005)(70206006)(70586007)(8936002)(31696002)(53546011)(356005)(82740400003)(2616005)(83380400001)(786003)(316002)(7596003)(336012)(31686004)(47076004)(75432002)(5660300002)(478600001)(36906005)(43740500002); DIR:OUT; SFP:1101;
X-OriginatorOrg: alum.mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2020 19:39:53.6923 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 288ab10e-bf9d-4a81-1e22-08d88fe78d08
X-MS-Exchange-CrossTenant-Id: 3326b102-c043-408b-a990-b89e477d582f
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3326b102-c043-408b-a990-b89e477d582f; Ip=[18.7.68.33]; Helo=[outgoing-alum.mit.edu]
X-MS-Exchange-CrossTenant-AuthSource: CY1NAM02FT057.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3294
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/X0bJVyu4eili1-dxDfvj_TneDck>
Subject: Re: [MMUSIC] Query: When rejecting a PT, can I reuse the PT number?
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.29
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, 23 Nov 2020 19:39:58 -0000

Harald,

My take, at end.

On 11/23/20 6:00 AM, Harald Alvestrand wrote:
> I recently encountered this situation (names changed to protect the 
> guilty):
> 
> 
> <incoming offer>
> 
> a=rtpmap:127 unicorn
> 
> <outgoing answer>
> 
> a=rtpmap:127 opus/48000
> 
> 
> That is - the respondent was rejecting the payload type, but then 
> recycling the payload type number for a different codec.
> 
> This seems fragile to me.
> 
> Question for the WG: Is this:
> 
> - Illegal?
> 
> - Legal, but inadvisable?
> 
> - Legal, and MUST be handled gracefully by all initiators?
> 
> Inquiring minds want to know :-)

First, you didn't specify if this media stream is sendrecv or 
sendonly/recvonly. For now I'll assume sendrecv. (I'm not certain if it 
makes a difference, but it opens additional cans of worms.)

The answers are dictated by RFC3264. However it is at times unclear and 
ambiguous.

Two different constraints interact in a confusing way:

 From section 5.1:

    ... 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.

 From section 6.1:

    ... For streams marked as sendrecv in the answer,
    the "m=" line MUST contain at least one codec the answerer is willing
    to both send and receive, from amongst those listed in the offer.
    The stream MAY indicate additional media formats, not listed in the
    corresponding stream in the offer, that the answerer is willing to
    send or receive (of course, it will not be able to send them at this
    time, since it was not listed in the offer).
    ...
    In the case of RTP, if a particular codec was referenced with a
    specific payload type number in the offer, that same payload type
    number SHOULD be used for that codec in the answer.

 From section 8.3.2:

    ... 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.
    ...
       The mappings need to remain fixed for the duration of the session
       because of the loose synchronization between signaling exchanges
       of SDP and the media stream.


Now, applying that to your case:

You don't show the m-lines from the offer and answer. Was 127 the only 
PT in each? If so, then this violates the requirement that there be a 
codec in common between the offer and answer. In that case this would 
violate 3264.

OTOH, if there was *some* codec in common between the offer and answer 
(even with differing PTs) then that rule wouldn't be violated. But then 
section 8,3.2 becomes an issue.

By the letter of 8.3.2 a PT can only be mapped on one codec for the 
duration of the session. It says nothing about direction. But PTs can be 
different in each direction for a given codec, and the rationale for why 
they must not change only applies in a given direction. Applying this 
restriction collectively to both ends seems illogical and excessively 
restrictive.

Hence it is unclear to me whether it is valid for a PT to be assigned to 
a different codec on each end.