Re: [Rum] draft-ietf-rum-rue-02.txt

Paul Kyzivat <pkyzivat@alum.mit.edu> Wed, 19 February 2020 19:24 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: rum@ietfa.amsl.com
Delivered-To: rum@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4DB33120045 for <rum@ietfa.amsl.com>; Wed, 19 Feb 2020 11:24:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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 bqtby2yLJGpW for <rum@ietfa.amsl.com>; Wed, 19 Feb 2020 11:24:17 -0800 (PST)
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2043.outbound.protection.outlook.com [40.107.244.43]) (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 61BCC120088 for <rum@ietf.org>; Wed, 19 Feb 2020 11:24:17 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U1icxEaD1zoOaCYQjt6wxvK0Bh6PAKnAzG72DWyh+nVrv0NZTkDZXgUkEVwpnMeb0CbLkhVHlzhxrivsSOd2mL2eW7j7LrhrOruc6wnBoB+3af7kJiiu0JG+QU+yTwWU9oJ6vqWAQHcFC+FVPVyWgTfYt8GbARJVobYgGnUyDp1vPaM5wGuyFUP9GDPNPWWvnXas+rXV7D9my2d4b+oIJL5zWlWm1yWJlnLr7ramBxMuV/1Guw/99vfszTQefxBdJzgOSjg6Asl2590nGRht9SSdv+bLq3LEbRhVLIsBMl7qIbVt0Y5NVMEcC9eB4904kix1sXgYh3luZlxNo0l8vg==
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=ZY/kVxf07qH4+j9lgqJWFfcqfqO64NdBS09eBZvH6RQ=; b=d/kR2GVfBH19W1VmkoG2fEjIbmgfwuO8ALyqiqT+m7dPYrYY0ghHIn5RhmuXce/UF6eVDwXcRL4AjAIRqdmJWvtpBlwz+N/4ckFJZpBraIyfTBsGY/rPj+VRfX/uo8lJaR/yqX5+sutZwsFVMa7tbC819uD0IopUiaEwANYS3p7knyjwn1y4p2BVEL3J8nWuyOSVupQ30KlVteUq53orvhSDhO7OikiaBj94bSjKDhkJOLuKIHptX+7UYmbACc6ItpagwVBSq5gVBPQYto3nkbLmrXEEHx8d4XPKRUqH2Zj7Dh1flg141s+oYodRpVNu+bjyS031r024eQuxRj4u+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 18.7.68.33) smtp.rcpttodomain=brianrosen.net 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=ZY/kVxf07qH4+j9lgqJWFfcqfqO64NdBS09eBZvH6RQ=; b=VJOueNYUZ/BHDobkoFSt/gsa031DD35WY8gK0hGKSPLILQWhpkqhLgY+36ZQqlBXVG5bXwRQH3TOW+52abyC5yjGG5cM3gc2UbQX2nugtvsqaF9FEgiPvhiIIPqtA6pXfo9uyWU7bUw0gUWZr1OCYkcANUZfqTJxudkI6nRCDI8=
Received: from DM3PR12CA0064.namprd12.prod.outlook.com (2603:10b6:0:56::32) by BYAPR12MB3253.namprd12.prod.outlook.com (2603:10b6:a03:12f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.25; Wed, 19 Feb 2020 19:24:16 +0000
Received: from SN1NAM02FT026.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::208) by DM3PR12CA0064.outlook.office365.com (2603:10b6:0:56::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.17 via Frontend Transport; Wed, 19 Feb 2020 19:24:15 +0000
Authentication-Results: spf=pass (sender IP is 18.7.68.33) smtp.mailfrom=alum.mit.edu; brianrosen.net; dkim=none (message not signed) header.d=none;brianrosen.net; 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 SN1NAM02FT026.mail.protection.outlook.com (10.152.72.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.22 via Frontend Transport; Wed, 19 Feb 2020 19:24: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 01JJOBf1030732 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Wed, 19 Feb 2020 14:24:12 -0500
To: Brian Rosen <br@brianrosen.net>
Cc: rum@ietf.org
References: <158033443345.2803.14350232562292068648@ietfa.amsl.com> <ccc9ecd9-2c73-ca5c-7e51-fce59b1e8654@alum.mit.edu> <24D0B5F1-C1C1-447F-9E8B-E711ADD18F36@brianrosen.net>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
Message-ID: <c42883f5-3788-94a6-3272-25dce57920e9@alum.mit.edu>
Date: Wed, 19 Feb 2020 14:24:11 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) Gecko/20100101 Thunderbird/68.5.0
MIME-Version: 1.0
In-Reply-To: <24D0B5F1-C1C1-447F-9E8B-E711ADD18F36@brianrosen.net>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-Forefront-Antispam-Report: CIP:18.7.68.33; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(396003)(136003)(346002)(376002)(189003)(199004)(36906005)(31686004)(26826003)(956004)(53546011)(316002)(786003)(336012)(2616005)(2906002)(478600001)(186003)(26005)(356004)(86362001)(6916009)(8936002)(8676002)(246002)(4326008)(70586007)(70206006)(31696002)(7596002)(75432002)(5660300002); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR12MB3253; H:outgoing-alum.mit.edu; FPR:; SPF:Pass; LANG:en; PTR:outgoing-alum.mit.edu; MX:1; A:1;
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 96129e79-e551-4f1d-3d88-08d7b5714dfd
X-MS-TrafficTypeDiagnostic: BYAPR12MB3253:
X-Microsoft-Antispam-PRVS: <BYAPR12MB32539A4643FCED4F778C46AEF9100@BYAPR12MB3253.namprd12.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-Forefront-PRVS: 0318501FAE
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: Y2m/4pbSKt8k9yhcbUJEOtgMcJ9nV+4b0ueWAXrtBSuDwwQO/tLWrqFo8hzMp0ly+fZ1HKIRCBq4fTIz1Ijw9R93HmmtBzGDGbSwKmqYDOF2m362JRFrWFTxE27LVU4NqmV9GQWnZL0n8dnbZOazaEkMvQzWJqG7bfce6H8UqAbB/LNHIz7ZssJXHPU2JOXneanh5il9bnY6mamBOmT1IVof0ey/iM65K5kAx1FcVdvhamhHGi0sx8b+JWp4/InpUgBZx6sZzKHqHm2Gu46uoCkZbp/mHhHgo5uxrmJr1MHMpHspINUWwmhFcsmxwPN4DJcEO0BwoPudEHqAYhfcwd7ZlWvOd4a8X7FkcutL1JzEbqrA2uKuYWB78iJaVw/tXCEW16RrR4FNFnKHCx8P97GPKdkJDbza1W3bmIyCjDyRgFB+I/iyulqiM3iGI2FB
X-OriginatorOrg: alum.mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2020 19:24:13.7035 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 96129e79-e551-4f1d-3d88-08d7b5714dfd
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-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3253
Archived-At: <https://mailarchive.ietf.org/arch/msg/rum/TAtU9MsmlmfeWXe3OwGZR6HNO7o>
Subject: Re: [Rum] draft-ietf-rum-rue-02.txt
X-BeenThere: rum@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Relay User Machine <rum.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rum>, <mailto:rum-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rum/>
List-Post: <mailto:rum@ietf.org>
List-Help: <mailto:rum-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rum>, <mailto:rum-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Feb 2020 19:24:20 -0000

Brian,

Followups inline.

On 2/17/20 7:08 PM, Brian Rosen wrote:
> Inline
> 
>> On Jan 30, 2020, at 1:00 PM, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:
>>
>> Here are some further comments on -02:
>>
>> This update has largely expunged separate specifications for the RUE and the provider server the RUE connects to in favor of talking about the RUE Interface that both are required to implement. In some cases that makes sense because the requirements are the same on both sides. In other cases it seems to dodge the issue that the two sides have different roles and responsibilities. For instance: RFC5626 (outbound), RFC6665 (events), RFC6442 (geoloc).
> You might be right about Outbound, but only in the sense that the providers don’t have to implement it at all, but if they do, then they have to do what 5656 says.
> Events is sort of the same way, depending on what the final text on MWI says.
> Geoloc isn’t: the provider must accept and pass Geoloc to maintain 6881 conformance.

My point in general though is that most of these protocols specify 
differing behavior on the two ends of a connection. Sometimes this is 
UAC vs. UAS, but not always. So at least I think we need to profile what 
part each end must support.

For instance:

- when outbound is in use, the roles of the RUE and the provider are 
clearly distinct. E.g. the RUE is responsible for setting of the 
connections to the server, and keeping them up as long as it wants the 
possibility of receiving a call.

- for MWI the RUE is always the subscriber and the provider is always 
the publisher.

- for location information I should probably have called out RFC6881 
rather than RC6442. The RUE will be the one including geoloc info, and 
the provider acting on it. I don't think there is any requirement or 
expectation that geoloc info flows from the provider to the RUE.

> There are some differences, but I’d prefer to use “UAC and “UAS” as the terms.

Rarely is that the proper distinction for this. E.g., for MWI the RUE is 
the UAC for subscriptions, but is UAS for the notifications.

>>
>> Section 5.2.1 now says:
>>
>>    The all outbound calls MUST be routed through an outbound proxy if
>>    configured.
>>
>> (It previously specified the RUE.) IIUC this really does only apply to the RUE. AFAIK we don't specify any configuration for the provider, and presumably providers can do whatever they want that works. (Also, the language is a bit messed up.)
> Yes, but doesn’t the text read correctly?

IMO the old way was right. ("The RUE MUST route all calls through the 
outbound proxy ...")

This of course depends on what you mean by an outbound call. A call *to* 
a particular RUE in inbound from the RUE perspective, but what is it 
from the perspective of the interpreter at the provider that is 
initiating it?

>> Section 5.2.3 says:
>>
>>    To identify the owner of a RUE, the initial INVITE for a call from a
>>    RUE, or the 200 OK accepting a call by a RUE, identifies the owner by
>>    sending a Call-Info header with a purpose parameter of "rue-owner".
>>
>> This new purpose parameter needs to be registered with IANA. It currently isn't mentioned in section 11.
> Yes, need to do that.

OK

>> Section 5.2.5 says:
>>
>>    The implementations comply with [RFC6881] for handling of emergency
>>    calls.
>>
>> This is not a normative statement. AFAICT there is no normative requirement to support this. And this is another asymmetric case. (IIUC the provider need not include GeoLoc in outbound calls to the RUE.)
> Missing the MUST.  It has to be normative (among other things, NG9-1-1 in the US requires it).

OK

>> This section also uses "client" and "server" to refer to the RUE and Provider sides of a RUE Interface. This differs from using "client" to refer to UAC and "server" for UAS.
> I’ll change to UAC/UAS

I don't think that works. UAC pertains only to a particular message. 
Both RUE and provider take both roles at various times. IIUC Additional 
Data is only ever sent in requests, not responses, so of course it will 
be a UAC that is sending. What is really important here is that it is 
the RUE that is sending the Additional Data.

>> Section 5.5 and elsewhere use the following construction:
>>
>>    Implementations MUST conform to ... with the understanding that ...
>>
>> That language seems a bit vague to me. Is this relaxing any normative statements in the reference, or simply stating that only a subset of the standard will be used in practice? I'd like to see this tightened up normatively.
> Could you suggest language.  I agree with you.

There are three usages of this language, in 5.5, 6.1, and 6.6. These 
refer respectively to rtcweb-transports, rtcweb-rtp-usage, rtcweb-jsep.

I started looking at rtcweb-transports to see how to rewrite it. It 
isn't written in a way that makes it easy to adopt for our needs. I'm 
not sure it is possible without violating some of its normative 
statements. I think we may need to go through it almost line by line to 
see if we can make it work.

I didn't look at the others in detail yet.

I think this may be a significant effort. We may find that we simply 
have to copy and modify some text with these, and discuss how that will 
facilitate interop with rtcweb.

We need to start a separate thread focused on this.

>> Section 6.3:
>>
>> I think this is saying that RUEs MUST support VP8 unless they can't, while providers MUST *support* VP8 but need not use it in every call, such as when connecting to another endpoint that doesn't. I get the spirit, but it fails to make clear when an implementation is non-conforming.
>>
>> For instance, is it acceptable for a provider's interpreters to use non-RUE devices that don't support VP8? Is it acceptable for the provider video-mail server to not support VP8?
> I think those questions are more a regulator issue.  UACs must offer VP8.  UASs must support VP8 if both ends support VP8.  I don’t think this doc should mandate what a VideoMail server does, because that’s outside the scope (VM servers may or may not conform to this doc).
> 
> Language suggestions welcome!

IIUC you are suggesting that H.264 is MTI by both provider and RUE. 
Beyond that it isn't clear.

We could just leave it at that, and leave it to the FCC to mandate VP8 
if they want.

Or, we could mandate VP8 support by providers on the RUE interface 
without requiring that RUEs support it. That would allow new RUE 
implementations that support VP8, but would still allow RUE 
implementations without it so that old devices can be supported. (In 
particular, the potential upgrading of existing provider supplied 
equipment.)

This requires further discussion of what we are trying to accomplish.

>> Section 8:
>>
>> IIUC this means that the provider may or may not include a "mwi" entry in the configuration, but if it is configured that both sides are required to support it as specified.
> Yeah, although I have a pretty hard time not mandating MWI.  I really don’t think there is a reasonable way to build a client without supporting MWI, since there is no other interface to support the function.

IIUC (I might not) at least some providers now provide a non-SIP 
mechanism for retrieving video mail. (A web interface?)

However, that might not be accessible to users with a conforming RUE. 
Potentially they could simply say they don't support receiving video 
mail via SIP. In the past we had some language that said if the RUE spec 
makes a feature optional, they a provider MUST provide it if they have a 
comparable proprietary feature.

We can check, but I suspect that *every* provider has video mail. If so, 
they making this MTI makes sense to me.

>> Section 9.1:
>>
>> This makes it optional for a RUE to make the choice of provider available to the user. Is that what we want?
>>
> Hmmm. Is that a UI issue, and thus beyond scope, or an interface issue and in scope?

We can specify the need to provide the feature without specifying what 
it looks like in the UI. This is analogous the requiring the support of MWI.

It seems likely to me that the providers will provide a RUE 
implementation that runs on some of their already deployed hardware. 
They most likely won't want to enable it to choose another provider. We 
need to decide if that is ok or not. Or we can leave it to the FCC to 
decide.

>> Section 9.3:
>>
>> These schemas use the [JCR] notation. This dates back to the early versions of this document several years ago. At the time there was single accepted schema notation for JSON. JCR was under development at the time. I haven't kept up with what has been happening with JSON schemas. I just looked and it appears that draft-newton-json-content-rules-09 is the latest version of JCR. I don't know if that means it was abandoned in favor of something else. We need to investigate this.\\
> Yeah, I’m pretty heavily dealing with this in other venues.  I think we want json schemas.  I’ll do that next rev.

Sounds like you are more up to speed than I am.

	Thanks,
	Paul