Re: [Sip] SIP instance identifiers

Paul Kyzivat <pkyzivat@cisco.com> Tue, 17 February 2004 22:31 UTC

Received: from optimus.ietf.org (optimus.ietf.org [132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id RAA13014 for <sip-archive@odin.ietf.org>; Tue, 17 Feb 2004 17:31:42 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AtDkK-0007LQ-3y for sip-archive@odin.ietf.org; Tue, 17 Feb 2004 17:31:16 -0500
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i1HMVGoB028232 for sip-archive@odin.ietf.org; Tue, 17 Feb 2004 17:31:16 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AtDk6-0007HN-T9; Tue, 17 Feb 2004 17:31:02 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AtDjh-0007FO-Hm for sip@optimus.ietf.org; Tue, 17 Feb 2004 17:30:37 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id RAA12934 for <sip@ietf.org>; Tue, 17 Feb 2004 17:30:33 -0500 (EST)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1AtDjf-0006ZP-00 for sip@ietf.org; Tue, 17 Feb 2004 17:30:35 -0500
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1AtDim-0006Tw-00 for sip@ietf.org; Tue, 17 Feb 2004 17:29:41 -0500
Received: from sj-iport-3-in.cisco.com ([171.71.176.72] helo=sj-iport-3.cisco.com) by ietf-mx with esmtp (Exim 4.12) id 1AtDiI-0006Nu-00 for sip@ietf.org; Tue, 17 Feb 2004 17:29:10 -0500
Received: from sj-core-5.cisco.com (171.71.177.238) by sj-iport-3.cisco.com with ESMTP; 17 Feb 2004 14:38:08 +0000
Received: from flask.cisco.com (IDENT:mirapoint@flask.cisco.com [161.44.122.62]) by sj-core-5.cisco.com (8.12.10/8.12.6) with ESMTP id i1HMSZuC008023; Tue, 17 Feb 2004 14:28:37 -0800 (PST)
Received: from cisco.com ([161.44.79.87]) by flask.cisco.com (Mirapoint Messaging Server MOS 3.3.6-GR) with ESMTP id AGC81489; Tue, 17 Feb 2004 17:28:34 -0500 (EST)
Message-ID: <40329592.1080001@cisco.com>
Date: Tue, 17 Feb 2004 17:28:34 -0500
From: Paul Kyzivat <pkyzivat@cisco.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jonathan Rosenberg <jdrosen@dynamicsoft.com>
CC: sip@ietf.org
Subject: Re: [Sip] SIP instance identifiers
References: <40302143.9080000@dynamicsoft.com>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=no version=2.60
Content-Transfer-Encoding: 7bit
Sender: sip-admin@ietf.org
Errors-To: sip-admin@ietf.org
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Id: Session Initiation Protocol <sip.ietf.org>
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>
Content-Transfer-Encoding: 7bit

Jonathan,

I like using a callee-cap feature tag in a registration. OTOH, I can see 
validity in Brian's desire to have it in a header of its own, 
potentially in any message. I don't see those usages as conflicting.

The only potential conflict would be in REGISTER, but that isn't a real 
conflict - a Guid header would describe the entity sending the REGISTER 
message, while the +sip.instance tag on a contact would describe the 
endpoint being registered. Often they would be the same, but not 
necessarily.

Regarding the form of guids, I don't think any single scheme works in 
all cases. My preference is to:

- represent the instance id as a URI

- make it the responsibility of the endpoint to select a URI
   that is unique

- Recommend that a URN be used.

- Define a couple of new URN namespaces that are especially
   suitable for this purpose. (I have in mind urn:mac:xxx for
   mac addresses, and possibly urn:random:xxx for random numbers
   in some large range.)

A couple of other comments:

Section 7.1 says:

    The combination of a UA instance ID and an AOR is referred to as an
    instance ID/AOR pair. There is a one-to-one mapping between such a
    pair and a GRUU; ...

And figure 2 shows the corresponding 1:1 relationship. But it isn't 
necessarily 1:1. It should be 1:0..1 because it is possible to have an 
instance ID/AOR Pair that doesn't have a GRUU. (Instance IDs are 
valuable in their own right.)

This 1:0..1 relationship imposes another error condition on registrars. 
If an attempt is made to register a contact with an instance id in use 
by some other contact of the same AOR, the registrar will have to refuse 
it. This needs to be spelled out somewhere, and a suitable error 
identified. (I don't know if any of the existing responses works for 
this. At the least, a new Reason code is likely to be needed.)

	Paul

Jonathan Rosenberg wrote:
> Folks,
> 
> We have three drafts this round that all propose a way to define an 
> instance identifier for a UA:
> 
> 
> http://www.jdrosen.net/papers/draft-ietf-sip-gruu-01.txt
> http://www.ietf.org/internet-drafts/draft-jennings-sipping-instance-id-00.txt 
> 
> http://www.ietf.org/internet-drafts/draft-stucker-sip-guid-00.txt
> 
> all three are similar. Mine uses a contact header field parameter, and 
> uses the callee capabilities framework to enable caller preferences 
> routing based on instance iDs. Cullen also uses a contact parameter, but 
> not within the callee caps framework. Brian defines a header field.
> 
> I think we generally understand the requirement here, though it would 
> probably be good to obtain use cases to be sure. The design choice is 
> where to include this parameter, and this represents the difference 
> between the three approaches.
> 
> I tend to prefer a Contact URI parameter over a header. My main reason 
> for that is REGISTER requests. If a register request has multiple 
> contacts, which contact does the instance identifier apply to? As a 
> header field, it would be hard to know. If you make it a contact header 
> field parameter, its no problem. Those header field parameters could 
> also then be used in the Contact in INVITE/200 SUB/NOT, etc.
> 
> Then, the question is whether to use a regular Contact header field 
> parameter as Cullen has done, or a callee cap parameter as I have done? 
> The callee cap approach allows for caller preferences to be applied to 
> routing to a specific instance. Now, a good question is whether such a 
> thing is needed or even a good idea, if we have GRUU as the ideal way to 
> route to a UA instance. I can go either way, but welcome thoughts on the 
> topic.
> 
> Thanks,
> Jonathan R.


_______________________________________________
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