Re: [Sip] Alert-Info Idea (was Re: Comment on draft-willis-sip-answeralert-01)

Dean Willis <dean.willis@softarmor.com> Fri, 28 October 2005 03:37 UTC

Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EVL3F-0002ZX-0v; Thu, 27 Oct 2005 23:37:09 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EVL3C-0002ZN-IH for sip@megatron.ietf.org; Thu, 27 Oct 2005 23:37:06 -0400
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id XAA16257 for <sip@ietf.org>; Thu, 27 Oct 2005 23:36:50 -0400 (EDT)
Received: from nylon.softarmor.com ([66.135.38.164]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1EVLGh-0005zD-29 for sip@ietf.org; Thu, 27 Oct 2005 23:51:03 -0400
Received: from [192.168.2.101] (sj-natpool-220.cisco.com [128.107.248.220]) (authenticated bits=0) by nylon.softarmor.com (8.13.1/8.13.1) with ESMTP id j9S3g9pc022648 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO); Thu, 27 Oct 2005 22:42:12 -0500
In-Reply-To: <4360D5FC.2020408@cisco.com>
References: <B30D6148F304A743A53B9B44751CDB9A033BF229@FTRDMEL2.rd.francetelecom.fr> <BE8DA696-8EDF-4B68-8D67-A8E89F283E8A@softarmor.com> <4360D5FC.2020408@cisco.com>
Mime-Version: 1.0 (Apple Message framework v734)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <E76BE813-638F-4347-8FCC-90FD4C9057F3@softarmor.com>
Content-Transfer-Encoding: 7bit
From: Dean Willis <dean.willis@softarmor.com>
Subject: Re: [Sip] Alert-Info Idea (was Re: Comment on draft-willis-sip-answeralert-01)
Date: Thu, 27 Oct 2005 22:36:56 -0500
To: Paul Kyzivat <pkyzivat@cisco.com>
X-Mailer: Apple Mail (2.734)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 8de5f93cb2b4e3bee75302e9eacc33db
Content-Transfer-Encoding: 7bit
Cc: sip@ietf.org, MARJOU Xavier RD-MAPS-LAN <xavier.marjou@francetelecom.com>, leo@cisco.com
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
Sender: sip-bounces@ietf.org
Errors-To: sip-bounces@ietf.org

On Oct 27, 2005, at 8:28 AM, Paul Kyzivat wrote:
>
>
>> We could lump these into one URN set (namespace?) and associate a  
>> SIP  OPTION tag with support for the entire set of alerting  
>> behaviors. I  think of this as "basic alerting options", and we  
>> could bound up the  whole set in one I-D.
>>
>
> In general, alerting is normally considered to ultimately be up to  
> the one doing the alerting. In most cases I would expect any  
> indication by the caller to be advisory. E.g. the callee may not  
> trust the caller, and/or may want to use some kind of distinctive  
> alerting it chooses to indicate who is calling. Ultimately, both  
> the caller and the callee may want to choose, and somebody has to win.
>
> The question then is: if the OPTION tag is there, should the  
> request be rejected if the Alert-Info value isn't understood, or if  
> it won't be honored?
>

SIP is actually very clear here -- accepting the request with a  
Requires: option tag says only that you understand the extension, not  
that you are committing to doing what it says for this call.

> This is further complicated because I think there will be many  
> cases where intermediaries may want to insert an Alert-Info. For  
> instance, I know of one proposal for a proxy acting on behalf of  
> the callee to implement distinctive alerting by inserting an Alert- 
> Info header with a value chosen according to who the caller is.  
> Then the UAS only has to honor the Alert-Info, not figure out the  
> circumstances when distinctive alerting should apply. I guess the  
> usage for PoC would be simiar to this. In some sense things are  
> simpler if the Alert-Info is inserted by an agent operating on  
> behalf of the UAS, because it can perhaps be assumed to know what  
> the UAS is capable of processing.
>

Actually, I think that makes it not more complicated, but less. You  
act on the Alert-Info only to the extent that you trust the sender  
and forwarding elements to use it correctly -- kind of like not  
retrieving HTML links inside an unauthenticated email.  I think this  
can be wrapped up with some tight security considerations.

In an IMS-type environment, it would be reasonable to require the S- 
CSCF to strip off any foreign Alert-Info that it doesn't have reason  
to include. We can't say that in IETF, however, as we might well not  
have an S-CSCF.

>
>> Thus, an INVITE request might carry something like:
>> Alert-Info: urn:org.ietf.sip.alert.basic//emergency
>> Require: alert.basic
>> or maybe:
>> Alert-Info: urn:org.ietf.sip.alert.basic//distinct.1
>> or
>> Alert-Info: urn:org.ietf.sip.alert.basic//cadence?3,1,3,5
>> Then for "downloaded" alert sets (aka HTTP or other URLS) we  
>> could  potentially have additional URN sets, perhaps by URL type,  
>> or by  payload type, or some other combination. This could provide  
>> subject  material for additional IDs.
>>
>
> I could pick at the details above, but now is not the time. Lets  
> get the basic concepts worked out first.
>
> I'm worried about conflicts between the desires of the caller and  
> callee, and also about the HERFP problem if we use Require. I think  
> these can be sidestepped IF we assume the caller never inserts  
> mandatory Alert-Info headers, and that A-I is generally only  
> inserted by an agent of the callee that can have been provisioned  
> to be aware of the UAS capabilities.

Well, there's no way to tell WHO inserted an Alert-Info, is there?

So, what happens if we have an Alert-Info extension set, with a  
corresponding Require? If the proxy forks it (I LOATHE forking),  
there's a chance that the request might be delivered to a node that  
doesn't grok the extension, and the resulting 4xx response might be  
HERFP-eaten by the proxy if it gets a "better" response from some  
other branch.

So what?

Either a "better" response goes back to the UAC (perhaps from a  
branch that understands the require),  or it doesn't. Big loss. All  
that happens is that we don't get an error response back from a node  
we didn't want to talk to anyhow.

We could certainly insert caveats about Require and HERFP in the  
draft. Oddly enough, the answer-mode/alert-mode draft I did for OMA  
suffers from exactly the same quirk, but nobody complained there.

--
Dean


_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip