Re: [sipcore] Last Call: <draft-ietf-sipcore-status-unwanted-04.txt> (A SIP Response Code for Unwanted Calls) to Proposed Standard

Pete Resnick <presnick@qti.qualcomm.com> Tue, 21 March 2017 16:52 UTC

Return-Path: <presnick@qti.qualcomm.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 46F93129C04; Tue, 21 Mar 2017 09:52:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.021
X-Spam-Level:
X-Spam-Status: No, score=-7.021 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_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=qti.qualcomm.com
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 65RoKLSLE9Nd; Tue, 21 Mar 2017 09:52:07 -0700 (PDT)
Received: from wolverine01.qualcomm.com (wolverine01.qualcomm.com [199.106.114.254]) (using TLSv1.2 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4AAE8129C06; Tue, 21 Mar 2017 09:51:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=qti.qualcomm.com; i=@qti.qualcomm.com; q=dns/txt; s=qcdkim; t=1490115106; x=1521651106; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=60YZ6R8AXRqUNtD1v8/K/pk4ClW+mDESFp+CYUyptS0=; b=DuEBxut/13X0qt0jXUUzGwvSiHbseULyu4tkvb/I9HkF6utFMoiqyJkb e4nXloOXkph8wvOgTwNOximRLj2e4Mbjw/cmT9xNGfORC948s5Z4rUEOx 77SkEzsLdwAUqeI7gTTruYhdRfxWPaQj8Bh6jqIROICJhcJf6Oa3aIBd7 w=;
X-IronPort-AV: E=Sophos;i="5.36,200,1486454400"; d="scan'208";a="271792141"
Received: from unknown (HELO Ironmsg04-L.qualcomm.com) ([10.53.140.111]) by wolverine01.qualcomm.com with ESMTP; 21 Mar 2017 09:51:45 -0700
X-IronPort-AV: E=McAfee;i="5800,7501,8474"; a="1313103308"
X-MGA-submission: MDHb44LJFXKNOubnsvcd/dTKGwNS1+NITaeTwiXIQo9TtH6TWVaFs9YDkY2TM5eodFtr51//hw7VsM5wMlaGAniKUI3EmEmI8TPilNHUX6Gvigo/6JQHvfZdsCLKpzQ68nZ0RlqwHaRzbcSb78J3jZR5
Received: from nasanexm01f.na.qualcomm.com ([10.85.0.32]) by Ironmsg04-L.qualcomm.com with ESMTP/TLS/RC4-SHA; 21 Mar 2017 09:51:45 -0700
Received: from [10.64.124.243] (10.80.80.8) by NASANEXM01F.na.qualcomm.com (10.85.0.32) with Microsoft SMTP Server (TLS) id 15.0.1178.4; Tue, 21 Mar 2017 09:51:44 -0700
From: Pete Resnick <presnick@qti.qualcomm.com>
To: Henning Schulzrinne <Henning.Schulzrinne@fcc.gov>
CC: "ietf@ietf.org" <ietf@ietf.org>, "draft-ietf-sipcore-status-unwanted@ietf.org" <draft-ietf-sipcore-status-unwanted@ietf.org>, "sipcore@ietf.org" <sipcore@ietf.org>
Date: Tue, 21 Mar 2017 11:51:42 -0500
Message-ID: <8443007A-60F0-4AB6-80EC-DD20368D61EA@qti.qualcomm.com>
In-Reply-To: <BY1PR09MB0631F94D0B74E498ECCF3A4DEA3D0@BY1PR09MB0631.namprd09.prod.outlook.com>
References: <148893258669.17675.7013326933036466908.idtracker@ietfa.amsl.com> <E74825F1-B661-4A8C-9B96-CC970AEA0E56@qti.qualcomm.com> <BY1PR09MB0631F94D0B74E498ECCF3A4DEA3D0@BY1PR09MB0631.namprd09.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"
X-Mailer: MailMate (1.9.6r5347)
X-Originating-IP: [10.80.80.8]
X-ClientProxiedBy: NASANEXM01E.na.qualcomm.com (10.85.0.31) To NASANEXM01F.na.qualcomm.com (10.85.0.32)
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/0LNSQBcA3Nu_UkIvlBxRLQ9a_uI>
Subject: Re: [sipcore] Last Call: <draft-ietf-sipcore-status-unwanted-04.txt> (A SIP Response Code for Unwanted Calls) to Proposed Standard
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sipcore/>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Mar 2017 16:52:10 -0000

Just replying to the points in your message (trimming as I go along):

On 21 Mar 2017, at 11:17, Henning Schulzrinne wrote:

> My take of the discussion was that a simple mechanism that reflects 
> plausible and likely UI approaches was preferable to a more complex 
> mechanism.

First, there is nothing complex about adding a header that says, 
"Decline-Type: spam" to 603. It is extremely simple, accomplishes 
exactly the same result, reflects the one envisioned plausible and 
likely UI, and has the added advantage of extensibility.

> Nothing prevents adding information to the 'unwanted' status code in 
> the future, should there be a need. As you indicate, the Call-Info 
> labeling may well inform such an effort.

The problem there is that you then will have two different ways of 
expressing "spam", adding yet more ambiguity. It means that the 
implementer has to know whether they're talking to a 666 implementation 
that does or does not know about the additional parameter to understand 
what the behavior will be. We've constantly faced this problem in IMAP 
over the years and it's made for horrible implementations.

Better to do the simple thing first and not end up with two incompatible 
ways to do the same thing in the future.

> Yes, the idea was to model the (apparently near-universal) notions of 
> the email spam button.

Simply achievable with 603 and "Decline-Type: spam". The only additional 
complexity is to create the IANA registry for future decline types. I'm 
only suggesting this document defining the one right now.

> The goal was never to create a full-fledged API for rejecting classes 
> of calls or otherwise controlling the behavior of voice spam filters.

Nor am I proposing such an API. Sure, pieces of this (and Call-Info 
labeling) might be useful for such a thing later, but I have no interest 
in such a thing now.

> In practice, users will only be willing to spend a limited amount of 
> time on feedback for unwanted calls.

Again, the mechanism I propose does not add to that limited time. It 
functions, in that scenario, exactly like 666. The difference is only in 
extensibility (and avoids the potential pitfalls I mentioned earlier).

> Adding parameters to existing status codes can be done, but that seems 
> more a matter of design taste.

As I said quite clearly, it's not a design matter. Using a separate 
status code to mean "decline, with additional semantics" has side 
effects, because you already have a status code for decline. Please 
re-read my explanation.

> After all, we could then dispense with all specific codes and just use 
> 100, 200, 400, 500 and 600, each with headers attached.

No, that absolutely does not follow. A layered approach of status codes 
for broader semantic values and headers for specialized processing works 
incredibly well. The problem arises when you introduce a status code 
that does not give the basic processing engine enough information to go 
on.

What you want in this case is to have the default behavior be "decline", 
as per the status code, and then have some side processing to figure out 
whether to deposit information into a spam analysis engine, or hand it 
off to some other process that does different sorts of things, based on 
the additional semantic information in the header. That's a good 
division of labor.

> I don't see the problem with a new status code - we routinely add them 
> and the mechanism of handling unknown ones are quite clear.

Please see my earlier comments on this particular status code: It 
increases semantic ambiguity, it increases the possibility for data 
loss, and it limits future extensibility.

Again, it's not clear that you've fully understood and considered what I 
wrote.

pr
-- 
Pete Resnick <http://www.qualcomm.com/~presnick/>
Qualcomm Technologies, Inc. - +1 (858)651-4478