Re: [dispatch] RFC 3261 section 14.2 - "brand new call" does not specify whether the SDP should modify media attributes of an existing session containing a=sendonly or a=recvonly

Paul Kyzivat <pkyzivat@alum.mit.edu> Sat, 05 September 2020 20:50 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 47E853A12D9 for <dispatch@ietfa.amsl.com>; Sat, 5 Sep 2020 13:50:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.649
X-Spam-Level:
X-Spam-Status: No, score=-2.649 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, NICE_REPLY_A=-0.948, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (1024-bit key) reason="fail (body has been altered)" 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 SU_dW2IXGSpT for <dispatch@ietfa.amsl.com>; Sat, 5 Sep 2020 13:50:16 -0700 (PDT)
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-eopbgr770059.outbound.protection.outlook.com [40.107.77.59]) (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 D23123A0FD9 for <dispatch@ietf.org>; Sat, 5 Sep 2020 13:50:15 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YYbJbgl1YjTYW69qY1iLNVZ6d1ePCx6QoPDm0+hyvYoZdm/KFTmzKVYfgcevIi9gl8PTQGc+c6xpf5ykoTqBI4u5ojMeIV+ssH0eaBbT5buY3k26fL8YeMtWDZWZkSCM+IJdbN3946RD+bD+RQH87S8GDKh/aWsJFtCozlu4oqRoABcKk0i3HzNWoxAZL/OkgUinE+hNZqtVHf0QDQq4FrwiEDCJi4xbch+9Zxqwo0viZdcEByXuVhdmWvB4dwYPoF4Aq+wJm8YkxJGlkeLbV5CcLFzCpkGXf8Bi6mds8gwsLgr+6/FWdRDP5HFzGSL5W4HQNkaUz+Hfx061/NRO1Q==
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=Zo1y4Dn+WLkZDkIotSX1Q3BaB2dGCbbMhBbf0NB6Cco=; b=asKnt9r0qB1bhoUdD12ipIPxPHvjCvGhKSt/DyHi77HuKfMkVz8fOqxbhVA3zkmE90aGaxrWltgd12XHchPmh66xf1LtBK08qjd895nHVBMrXHUtgmJu8PDQ+YRSlwWSym3KVdcYTK2Cl6HYgjwmiRgpZRswMPj/CzwWxTzzuAn1eIbyf0/q9NizpBxKKUOypoRRrXF4fFb1KiBZvBm3v2SR0gr+4pONrs4ku+9VyWb5BUiBbqt0Ynw28UhagBGvP2VqlUuW7BR4FWXQXXCD2A91IzBJPCHo8Iu9ZYU883IKP74kcX6nZdzLhStF1TdFiZMiRbIpKx5TodcQFZm/Jw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 18.7.68.33) smtp.rcpttodomain=sysconfig.cloud 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=Zo1y4Dn+WLkZDkIotSX1Q3BaB2dGCbbMhBbf0NB6Cco=; b=GZUA7+IuxoQm/+2C5/Jc18A6XOpeNgNXideMG7FhXc2df5jm9H9S/qOG2eyJo73em9gwFiq0aByCZ9z0BAc0J+g4Odzaeq3Jr02QZJIdE1tXN1ALvjnwOe0Ihg98muJLmUZ6QQrCEEesAVaW2NoNuB/xUQ308BawWPplsifFtdY=
Received: from SN4PR0201CA0069.namprd02.prod.outlook.com (2603:10b6:803:20::31) by DM6PR12MB3033.namprd12.prod.outlook.com (2603:10b6:5:11e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.15; Sat, 5 Sep 2020 20:50:14 +0000
Received: from SN1NAM02FT016.eop-nam02.prod.protection.outlook.com (2603:10b6:803:20:cafe::4b) by SN4PR0201CA0069.outlook.office365.com (2603:10b6:803:20::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.16 via Frontend Transport; Sat, 5 Sep 2020 20:50:13 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 18.7.68.33) smtp.mailfrom=alum.mit.edu; sysconfig.cloud; dkim=none (message not signed) header.d=none;sysconfig.cloud; 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 SN1NAM02FT016.mail.protection.outlook.com (10.152.72.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.17 via Frontend Transport; Sat, 5 Sep 2020 20:50:13 +0000
Received: from Kokiri.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 085KoAvY012413 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Sat, 5 Sep 2020 16:50:11 -0400
To: Shaun Stokes <shaun@sysconfig.cloud>
Cc: "dispatch@ietf.org" <dispatch@ietf.org>
References: <CWLP123MB2371666E1183360960FBE3DFB72A0@CWLP123MB2371.GBRP123.PROD.OUTLOOK.COM> <da627728-95df-8690-9e64-bed484584c03@alum.mit.edu> <CWLP123MB23710CFC5F5C1C35E335242EB72A0@CWLP123MB2371.GBRP123.PROD.OUTLOOK.COM>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
Message-ID: <63a56fe8-84a8-cb08-bacf-601475fad4b3@alum.mit.edu>
Date: Sat, 05 Sep 2020 16:50:10 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) Gecko/20100101 Thunderbird/68.12.0
MIME-Version: 1.0
In-Reply-To: <CWLP123MB23710CFC5F5C1C35E335242EB72A0@CWLP123MB2371.GBRP123.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d3cc7df0-01ee-4441-a05e-08d851dd4966
X-MS-TrafficTypeDiagnostic: DM6PR12MB3033:
X-Microsoft-Antispam-PRVS: <DM6PR12MB3033D8D6FCCC364EF08BC704F92A0@DM6PR12MB3033.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: RGpMa0qE+v2CCwAR7aqw9K8IRTinch41MzEVqucCqFCdDPezeos8OjUQ21fmWnIBiuGtBlpKej4pLUwmxSnMozyBTqCwhTcMkEbeMJnZ8pJUZmt0mfv1S8EZMeZfXAoet4YsAkUYuvLOrY5oFQtzkhgZf3gXZRXM52gr6YeEe1coBcBE18gE4Qssu1gaf8zU7g1FVkHvaKYfjB46RynhyV0Jzfj+2/PvM+JdgARTv2xyEvvr6+47hhZPPedXGpyy6LBzpx8hRjXjkaJqSNa+Mmhesmr3E36vuWgcFVj0w4k03MZao39Kgg1Xz0ATZLfziWYDBGPTvXYk0dpJXob7m2U7mo3s/ZpGXBANHZekP2RdYYCMHoTAVKAe8e0pVHFx/zznG+B1GZ0vx0vVpim6CxujXcolWrg4h5roZcseuOlI8ZiO0eLB1vvXABaAW7Yt0xcjUPQPzX5sXqyLCLClFkVPEhqn7Pi7vtMT5o48odgsNefrZdk9Fq5HVv/fTrGUFUOdZXx7fuVRdsHko88yC6vMFpTeabbDgaVWHYns4lyjY4d0heRh8FjGMoWabTQH
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)(346002)(376002)(136003)(39860400002)(209900001)(46966005)(8936002)(7596003)(70206006)(6916009)(53546011)(4326008)(86362001)(356005)(70586007)(2616005)(2906002)(83380400001)(82310400003)(956004)(31696002)(336012)(31686004)(5660300002)(186003)(478600001)(786003)(82740400003)(47076004)(15974865002)(36906005)(8676002)(316002)(26005)(75432002)(966005)(71440200001)(43740500002)(6606295002); DIR:OUT; SFP:1101;
X-OriginatorOrg: alum.mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2020 20:50:13.2187 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d3cc7df0-01ee-4441-a05e-08d851dd4966
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: SN1NAM02FT016.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3033
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/BOHXjWORp3fKJcrDB0tOT8Pm1Q8>
Subject: Re: [dispatch] RFC 3261 section 14.2 - "brand new call" does not specify whether the SDP should modify media attributes of an existing session containing a=sendonly or a=recvonly
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 05 Sep 2020 20:50:18 -0000

On 9/5/20 4:10 PM, Shaun Stokes wrote:
> Hi Paul,
> 
> Thanks for your response.
> 
> RFC 6337 section 5.1 refers us back to RFC 3261 in case of a RE-INVITE 
> and "without regard for what the other party in the call may have 
> indicated previously" would suggest we should be using 'a=sendrecv' in 
> our offer.

As one of the authors of 6337 I will agree that sendrecv is probably 
what the UAS should be offering given the circumstances. But it 
ultimately comes down to what it "wants" to be doing at that time.

The folly comes when it offers something less than what *it* wants 
because it imagines (based on prior o/a) that the answerer wants less 
than it does. This can get you into "stuck on hold" scenarios or other 
trouble.

	Thanks,
	Paul

> I previously tried to touch base with Henning and was directed to the 
> dispatch mail list.
> 
> I'll post the question to the sip-implementors mail list.
> 
> Thanks,
> Shaun
> ------------------------------------------------------------------------
> *From:* Paul Kyzivat <pkyzivat@alum.mit.edu>
> *Sent:* 05 September 2020 17:16
> *To:* Shaun Stokes <shaun@sysconfig.cloud>
> *Cc:* dispatch@ietf.org <dispatch@ietf.org>
> *Subject:* Re: [dispatch] RFC 3261 section 14.2 - "brand new call" does 
> not specify whether the SDP should modify media attributes of an 
> existing session containing a=sendonly or a=recvonly
> Shaun,
> 
> Take a look at RFC6337 (especially section 5.1) and see if it helps.
> That RFC was written to respond to many questions about O/A that came up
> over time. It is not normative, but rather simply clarifies things that
> are implicit upon analyzing an assortment of normative RFCs.
> 
> BTW, dispatch isn't really the right place for a question like this. A
> better place is <sip-implementors@lists.cs.columbia.edu>.
> 
>          Thanks,
>          Paul
> 
> On 9/5/20 5:43 AM, Shaun Stokes wrote:
>> Hi,
>> 
>> We are struggling with some of the interpretation used in RFC 3261 
>> section 14.2 which is creating a conflict between the software we use 
>> (FreeSWITCH) and another environment (based on Cisco previously 
>> Broadsoft equipment) both of which claim to be RFC 3261 compliant and 
>> claim that the other is not.
>> 
>> The problem occurs when the 3rd party sends an SDP with the media 
>> attribute 'a=sendonly' on an existing session then follow with a 
>> RE-INVITE with-out an SDP, they claim that our 2xx offer in response 
>> should contain an SDP with-out 'a=sendonly' (or replace with 
>> 'a=sendrecv') based on the interpretation of a "brand new call" used 
>> below. Anthony Minessale II (FreeSWITCH lead) claims that "brand new 
>> call" is only intended to refer to codecs (not all media attributes) and 
>> that the 3rd party (Broadsoft) invented this concept on their own.
>> 
>>     RFC 3261
>> 
>>     14.2 UAS Behavior
>>     A UAS providing an offer in a 2xx (because the INVITE did not contain
>>     an offer) SHOULD construct the offer as if the UAS were making a
>>     brand new call, subject to the constraints of sending an offer that
>>     updates an existing session, as described in [13] in the case of SDP.
>>     Specifically, this means that it SHOULD include as many media formats
>>     and media types that the UA is willing to support.  The UAS MUST
>>     ensure that the session description overlaps with its previous
>>     session description in media formats, transports, or other parameters
>>     that require support from the peer.  This is to avoid the need for
>>     the peer to reject the session description.  If, however, it is
>>     unacceptable to the UAC, the UAC SHOULD generate an answer with a
>>     valid session description, and then send a BYE to terminate the
>>     session.
>> 
>>     Source: https://tools.ietf.org/html/rfc3261#section-14.2
>> 
>> 
>> The 3rd party have also stated that this isn't a call going on hold as 
>> it's routing to an ACD group, according to RFC 6337 section 5.3 "the use 
>> of sendonly/recvonly is not limited to hold".
>> 
>> In the following discussion on this subject involving the authors of RFC 
>> 3261 there is a clear indication that a RE-INVITE with-out an SDP should 
>> not modify 'a=sendonly', unfortunately this isn't enough to support our 
>> argument and our service providers protocol lead have determined that 
>> the 3rd party is acting correctly and have asked for more evidence.
>> http://marc.info/?t=98738614300001&r=1&w=2
>> 
>> We have also pointed out that RFC 3264 section 8 states that the offer 
>> MAY be identical to the last SDP provided but are promptly referred back 
>> to "brand new call" in RFC 3261 section 14.2.
>> 
>>     RFC 3264
>> 
>>     8 Modifying the Session
>>     At any point during the session, either participant MAY issue a new
>>     offer to modify characteristics of the session.  It is fundamental to
>>     the operation of the offer/answer model that the exact same
>>     offer/answer procedure defined above is used for modifying parameters
>>     of an existing session.
>> 
>>     The offer MAY be identical to the last SDP provided to the other
>>     party (which may have been provided in an offer or an answer), or it
>>     MAY be different.  We refer to the last SDP provided as the "previous
>>     SDP".  If the offer is the same, the answer MAY be the same as the
>>     previous SDP from the answerer, or it MAY be different.  If the
>>     offered SDP is different from the previous SDP, some constraints are
>>     placed on its construction, discussed below.
>> 
>>     Source: https://tools.ietf.org/html/rfc3264#section-8
>> 
>> 
>> I'm struggling to find anything more in RFC which can support our 
>> argument, is it possible to update RFC 3261 14.2 to be more specific in 
>> the terminology for "brand new call" or is this answered elsewhere?
>> 
>> Hope someone here can help.
>> 
>> Regards,
>> Shaun
>> 
>> _______________________________________________
>> dispatch mailing list
>> dispatch@ietf.org
>> https://www.ietf.org/mailman/listinfo/dispatch
>> 
> 
> 	
> Shaun Stokes -
> 	
> T : 	0800 0489300
> E : 	shaun@sysconfig.cloud
> W : 	www.sysconfig.cloud
> 
> SYSCONFIG is a trading name of ITEC Support LTD which is a limited 
> company registered in England and Wales. Company Registered Number 
> 06908001. Registered office: Suite 2, Prospect House, Bath Road Trading 
> Estate, Stroud, GL5 3QF. VAT Number GB971629981
> 
> CONFIDENTIALITY NOTICE
> This email and any files transmitted with it are confidential and 
> intended solely for the use of the individual or entity to whom they are 
> addressed. If you have received this email in error; please notify the 
> system manager. This message contains confidential information and is 
> intended only for the individual named. If you are not the named 
> addressee you should not disseminate, distribute or copy this e-mail. 
> Please notify the sender immediately by e-mail if you have received this 
> e-mail by mistake and delete this e-mail from your system. If you are 
> not the intended recipient you are notified that disclosing, copying, 
> distributing or taking any action in reliance on the contents of this 
> information is strictly prohibited.
> 
> WARNING: Although the company has taken reasonable precautions to ensure 
> no viruses are present in this email, the company cannot accept 
> responsibility for any loss or damage arising from the use of this email 
> or attachments.