Re: [Ecrit] GRUUs for callbacks

Paul Kyzivat <pkyzivat@alum.mit.edu> Sat, 03 December 2011 19:13 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: ecrit@ietfa.amsl.com
Delivered-To: ecrit@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 859C421F8E77 for <ecrit@ietfa.amsl.com>; Sat, 3 Dec 2011 11:13:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.243
X-Spam-Level:
X-Spam-Status: No, score=-2.243 tagged_above=-999 required=5 tests=[AWL=-0.244, BAYES_00=-2.599, J_CHICKENPOX_33=0.6]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Opz5QJyl6PVp for <ecrit@ietfa.amsl.com>; Sat, 3 Dec 2011 11:13:09 -0800 (PST)
Received: from qmta07.westchester.pa.mail.comcast.net (qmta07.westchester.pa.mail.comcast.net [76.96.62.64]) by ietfa.amsl.com (Postfix) with ESMTP id 8928E21F8E5F for <ecrit@ietf.org>; Sat, 3 Dec 2011 11:13:09 -0800 (PST)
Received: from omta10.westchester.pa.mail.comcast.net ([76.96.62.28]) by qmta07.westchester.pa.mail.comcast.net with comcast id 4j2K1i0040cZkys57jDAjf; Sat, 03 Dec 2011 19:13:10 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([24.62.229.5]) by omta10.westchester.pa.mail.comcast.net with comcast id 4jD91i00Y07duvL3WjD9Qe; Sat, 03 Dec 2011 19:13:09 +0000
Message-ID: <4EDA74C3.9070603@alum.mit.edu>
Date: Sun, 04 Dec 2011 03:13:07 +0800
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:8.0) Gecko/20111105 Thunderbird/8.0
MIME-Version: 1.0
To: Henning Schulzrinne <hgs@cs.columbia.edu>
References: <CAFD6962.2CB02%mlinsner@cisco.com> <4EDA48A1.7040906@alum.mit.edu> <02BBB8BF-CDD8-4F86-A17C-B4283BE15789@cs.columbia.edu> <4EDA584E.2050604@alum.mit.edu> <255057E7-1251-4F8D-A918-B64C844065EB@cs.columbia.edu>
In-Reply-To: <255057E7-1251-4F8D-A918-B64C844065EB@cs.columbia.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: ecrit@ietf.org
Subject: Re: [Ecrit] GRUUs for callbacks
X-BeenThere: ecrit@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <ecrit.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ecrit>, <mailto:ecrit-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ecrit>
List-Post: <mailto:ecrit@ietf.org>
List-Help: <mailto:ecrit-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ecrit>, <mailto:ecrit-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Dec 2011 19:13:10 -0000

On 12/4/11 1:28 AM, Henning Schulzrinne wrote:
> That's roughly what I said below (last paragraph), so I'm a bit confused by your response. Both the ARID and the signed call mechanism rely on identifying the privileged caller (PSAP), rather than identifying a callback. However, from a deployability perspective, this requires significant changes in a number of places. If we're complaining about GRUUs not being widely deployed, we can't exactly call deploying a completely new solution an improvement.
>
> This is why I'm trying to suggest that searching for a single magic solution that is
>
> - secure
> - works everywhere
> - works with broken implementations
> - works with no changes anywhere
>
> is a fool's errand. Rather, by combining solutions, we might allow different providers/enterprise/UAs to pick their own trade-off and migrate to better solutions over time.

Its possible we are not disagreeing much, but just thinking about things 
differently, or focusing on different things.

But I am a bit concerned that a scatter gun approach, where providers 
pick the pieces they like, may just result in needless differences and 
systems that don't work well.

If we agree that it isn't feasible to get an ideal system that meets all 
our wishes, then perhaps we can get a general agreement on a lesser set 
of requirements. E.g.

- its most important for the psap to be able, on explicit request,
   to achieve expedited access to an arbitrary AOR.
   (This might be a callback to an emergency call, via Contact AOR
   or From AOR, or whatever of the emergency call. It might also
   be some other AOR.)

- its nearly as important that the expedited access be able to reach
   devices that have recently made an emergency call but are normally
   not permitted or able to receive calls.

- its important (but less so) to minimize fraud by preventing non-
   psaps from getting the sort of expedited access mentioned above.

- it may be desirable that callees not be charged for receiving these
   expedited calls. (Decisions about this are based on policy.)

If we were to agree to the above, then we could start identifying 
mechanisms to support each. But some of them might be incomplete.

For instance, to achieve the first, we come up with a mechanism to 
indicate this is a psap expedited call. (e.g. urn:sos in From or P-A-ID.)

For the second, maybe nothing else is required in signaling if the 
contact address is reachable - just some policy adjustments. In other 
cases it might require allowing some sort of emergency registration, and 
then would only work as long as that registration remains in effect.

Some might not bother to minimize fraud at all. Others might depend on 
transitive trust to prevent unauthorized parties from making the 
indication for a psap expedited call. Or something like ARID might be used.

The disabling of fees could presumably be driven by one of the above 
mechanisms if desired.

	Thanks,
	Paul

> Henning
>
> On Dec 3, 2011, at 12:11 PM, Paul Kyzivat wrote:
>
>> Why not forget about detecting and verifying that the call is a *callback* to an emergency call. Instead, simply give the psap a way to initiate a "priority" call to some URI. Then expect the elements on the path to take special action on these, such as bypassing features like VM.
>>
>> We can rely on policy to restrict such calls to callbacks, or comparably compelling reasons.
>>
>> There is still work to be done to satisfy this, but some hard things are avoided.
>>
>> 	Thanks,
>> 	Paul
>>
>> On 12/4/11 12:40 AM, Henning Schulzrinne wrote:
>>> We seem to have difficulty finding a single mechanism that meets all requirements (such as non-forgeability and reach-the-same UA) in all situations:
>>> - SBCs that destroy session identity
>>> - UAs and/or proxies that don't support GRUUs
>>> - call route divergence (route asymmetry), where the initial outbound emergency call and the call back traverse different paths.
>>>
>>> Thus, maybe we need a more probabilistic approach that will work in most situations, relying on *multiple* markers and indicators. We may not achieve 100% coverage, but I suspect that the only way of doing that would be a 100% deployment of an end-to-end cryptographic mechanism that is recognized by all parties. (Since it seems close to impossible for the caller to convey an element that survives round-trip, you would probably have to identify the PSAP, not the call, since there's nothing that can be signed by the caller and be recognized by third parties.)
>>>
>>> I can think of a few ingredients that are plausible and "survive" under different circumstances, two of which we have been discussing before:
>>>
>>> (1) normal GRUUs, where the inbound proxy remembers that the outbound call was an emergency call; may fail under some route asymmetry cases and is subject to GRUU deployment issues.
>>>
>>> (2) In-Reply-To and Priority; does not require any GRUU or new SIP elements, but fails with call-ID mangling SBCs and does not address asymmetric call paths.
>>>
>>> (3) ARID (draft-ono-dispatch-attribute-validation), which allows entities on the call path to validate that the call originated from a PSAP, with pretty minimal infrastructure.
>>>
>>> (4) PSAP-signed calls (see below).
>>>
>>> I suspect there are others, but the basic goal seems to be that the caller, the only one knowing reliably that an emergency call was placed, needs to tell various elements responsible for inbound call handling to provide special handling for a specific call, identified by some element that survives the trip to and from the PSAP. If there was a standard protocol that allowed a UA to request per-call features, we could leverage that, but I haven't heard of such a thing. (Just to illustrate the spirit: The caller could create a CPL rule that bypasses call treatments just after placing the emergency call, but it seems fanciful to suggest this as a general mechanism, given the additional complexity in lots of places.)
>>>
>>> The usual other way of proving yourself is a challenge-response mechanism, but that assumes that all the call handling elements share a secret with the caller. I can't think of a way to build such a system without a whole lot of new protocol machinery.
>>>
>>> I also wonder whether for the more complicated IMS scenarios, it wouldn't be easier to just rely on PSAP signed requests, given that the number of IMS operators is likely to be not that large and that they are likely to be reasonably sophisticated operators. In other words, we don't try to identify return calls, just PSAP-originated calls.
>>>
>>> Henning
>>>
>>> On Dec 3, 2011, at 11:04 AM, Paul Kyzivat wrote:
>>>
>>>> On 12/2/11 6:30 AM, Marc Linsner wrote:
>>>>
>>>>>> I'm finding this a little confusing.
>>>>>> Are you are saying that the UA making the emergency call will get an
>>>>>> egruu from the registrar/scscf in the visited network, but the resulting
>>>>>> call will be processed by the scscf of the home network?
>>>>>
>>>>> No, it was intended the eGRUU would be minted by the home network and
>>>>> passed to the UA upon registration.
>>>>
>>>> So, if the UA was registered normally, to its home scscf, then it would get the gruu from there? But the emergency call might not traverse the home scscf? But the callback, because it uses a gruu from the home scscf, will traverse that one?
>>>>
>>>> In such a case, the home scscf won't know that an emergency call has been made (as Hadriel mentioned). And while it could apply some expiration time to the gruu, the clock for that would start ticking when the registration that minted the gruu was done. That could be a long time ago. (I gather it is not considered desirable to force a special registration just prior to the emergency call - due to the extra time it might take and the possibility that it might fail.)
>>>>
>>>> OTOH, IIUC  for some IMS cases its also necessary to support emergency calls from SIMless devices that don't have a normal registration. In that case I gather there will be an emergency registration, possibly to a visited network. That is probably the easier case.
>>>>
>>>> 	Thanks,
>>>> 	Paul
>>>> _______________________________________________
>>>> Ecrit mailing list
>>>> Ecrit@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/ecrit
>>>>
>>>
>>>
>>
>>
>
>