Re: [Sip] Question regarding instance ID in GRUU and outbound

Cullen Jennings <fluffy@cisco.com> Wed, 09 August 2006 22:58 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GAx0O-0002wi-Ah; Wed, 09 Aug 2006 18:58:28 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GAx0N-0002tp-E3 for sip@ietf.org; Wed, 09 Aug 2006 18:58:27 -0400
Received: from sj-iport-5.cisco.com ([171.68.10.87]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GAx0K-0008LB-VG for sip@ietf.org; Wed, 09 Aug 2006 18:58:27 -0400
Received: from sj-dkim-5.cisco.com ([171.68.10.79]) by sj-iport-5.cisco.com with ESMTP; 09 Aug 2006 15:58:25 -0700
X-IronPort-AV: i="4.08,107,1154934000"; d="scan'208"; a="310813777:sNHT27708660"
Received: from sj-core-3.cisco.com (sj-core-3.cisco.com [171.68.223.137]) by sj-dkim-5.cisco.com (8.12.11.20060308/8.12.11) with ESMTP id k79MwOcU023018; Wed, 9 Aug 2006 15:58:24 -0700
Received: from [192.168.1.2] (sjc-vpn4-138.cisco.com [10.21.80.138]) by sj-core-3.cisco.com (8.12.10/8.12.6) with ESMTP id k79MwNuD028433; Wed, 9 Aug 2006 15:58:23 -0700 (PDT)
In-Reply-To: <1155070150.14419.18.camel@macbuster.research.nokia.com>
References: <1155070150.14419.18.camel@macbuster.research.nokia.com>
Mime-Version: 1.0 (Apple Message framework v752.2)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <3135FE06-4196-44A4-9310-0AFEF22E449D@cisco.com>
Content-Transfer-Encoding: 7bit
From: Cullen Jennings <fluffy@cisco.com>
Subject: Re: [Sip] Question regarding instance ID in GRUU and outbound
Date: Wed, 09 Aug 2006 15:58:16 -0700
To: Aki Niemi <aki.niemi@nokia.com>
X-Mailer: Apple Mail (2.752.2)
DKIM-Signature: a=rsa-sha1; q=dns; l=4007; t=1155164304; x=1156028304; c=relaxed/simple; s=sjdkim5002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=fluffy@cisco.com; z=From:Cullen=20Jennings=20<fluffy@cisco.com> |Subject:Re=3A=20[Sip]=20Question=20regarding=20instance=20ID=20in=20GRUU=20and=2 0outbound; X=v=3Dcisco.com=3B=20h=3DIENY9UeXpCdBpVOdSBMqVoWwwaY=3D; b=jQeIr66XOLrlFbbIv5cNMDuo0pAGV0s53ukX4Cf66vx70qzvGZZb+vjmNUwdoE7yqSxSFru7 FJyTHO9/GpOxki/T5YP8wgnpfF30oI/mE563TdXPJ1bPEbOGDl/tL6iT;
Authentication-Results: sj-dkim-5.cisco.com; header.From=fluffy@cisco.com; dkim=pass ( sig from cisco.com verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a2c12dacc0736f14d6b540e805505a86
Cc: sip <sip@ietf.org>
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>
Errors-To: sip-bounces@ietf.org

This email is sort of irrelevant but I'm sending it anyways :-)

A few year back, I wrote
http://www.softarmor.com/wgdb/docs/draft-jennings-sipping-instance- 
id-00.txt

and it had some use cases for why one might need a long term stable  
identifier for a device. I think theses still hold. We need something  
and it needs to survive reboots of a device. You are right it does  
not matter who generates the ID but the UA needs to store it. Cookies  
were discussed but rejected due to worries about if there was AT&T  
IPR on them.

I originally proposed something "simple" to generate - I'm a big fan  
of large random numbers. Others were less comfortable with large  
random numbers and wanted something algorithmically guaranteed to be  
unique by some sort of delegated assignment - like MAC or OIDs. Most  
devices had MAC addresses or an equivalent sort of identifier. I  
wrote something for MAC plus something for things without a MAC. It  
was looking less simple. There were problems with the multiple phones  
on one MAC that added more complexity. Pretty soon, I was reinventing  
UUID. UUID covered everything we needed and encompassed a huge set of  
existing arguments on the subject. If you remove any part of UUID,  
there is some use case that gets broken. It may be that the use case  
is bogus but none the less the argument goes on.

Anyways, I think we needs something and I can't imagine anything much  
simpler than what we have right now.



On Aug 8, 2006, at 1:49 PM, Aki Niemi wrote:

> Howdy,
>
> I read GRUU and outbound, and an old nagging concern of mine  
> resurfaced:
> what the heck do we need the instance ID for?
>
> Seems outbound uses it to guarantee uniqueness of flows in a  
> registrar,
> but to me it sounds weird that the task of acquiring unique IDs within
> the registrar's internal state is left to the UA -- after all,  
> browsers
> don't generally generate cookies themselves but store whatever the
> website gives them.
>
> To me, a much better approach would be to have the registrar generate
> and allocate a unique ID (perhaps the 'opaque' used in GRUU?) for the
> first REGISTER, and whenever a client registers with that ID again, it
> is deemed the same UA. A REGISTER without an ID would be another UA
> instance.
>
> Even DHCP clients' leases seem to survive reboots without some  
> weird URN
> generation, so I don't think that it's unreasonable to require UAs to
> store their outbound IDs either. I mean, they already have to store  
> the
> reg-id, no? (Not to mention web cookies...)

Side issue but I think they would usually just hardcode in reg-id of  
1 for the first one, 2 for second and so on. Some devices store only  
their MAC and the configuration system uses that to know what data to  
hand down to them. I have seen some systems where the config handed  
to the phone is based only on the which ethernet port in the switch  
the device was connected to. Some residential ethernet to the home  
systems do this so that if my neighbor plugs in his phone at my  
house, it becomes my phone. In theory these systems would not need to  
really store anything.

>
> And worst case is you need to garbage-collect some stale flows, in  
> case
> a UA happens to forget its ID, but that you need to be doing in any
> case.
>
> We chose a similar approach over instance ID in PUBLISH, which uses
> etags generated by the server to identify uniqueness of publisher
> instances. With PUBLISH, UAs are also instructed to remember their
> etags, even across reboots.

of course close to none of them do :-)

>
> Cheers,
> Aki
>
>
> _______________________________________________
> 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

_______________________________________________
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