Subject: [Simple] UUID in presence data model

From: Rohan Mahy <[email-masked]>
Date: Wed, 2 Mar 2005 19:19:51 -0800

Hi,

I think for things that use SIP me should require that <device-id>s 
MUST be a UUID URN, and that this URN SHOULD be the same one as used to 
obtain a GRUU (if any).

thanks,
-rohan

> This loose contract also provides some guidance on the type of URI
>    that are most ideally suited for the service URI.  A URN [10] can be
>    used as the service URI.  However, since a URI could be resolved to
>    potentially any number of different URI, the characteristics, 
> status,
>    and relative information need to be sensible for all of the URI 
> which
>    can be resolved from the URN.  As the URN becomes increasingly
>    "vague" in terms of the service it identifies, the amount of 
> presence
>    attributes that can be included become increasingly small.

>    Unfortunately, due to the variety of different devices in existence,
>    it is difficult for a single URN scheme to be used that have these
>    properties.  It is anticipated that multiple schemes will be 
> defined,
>    with different ones appropriate for different types of devices.  For
>    cellular telephones, the Electronic Serial Number (ESN), for 
> example,
>    is a good identifier.  For IP devices, the MAC address is another
>    good one.  Unfortunately, neither of these are associated with URN
>    schemes at this time.  In the interim, the UUID URN [14] can be 
> used.
>    It has the properties of being globally and temporally unique, but
>    because of its random component, it is not useful as a correlation 
> ID
>    with other presence sources on a network.

_______________________________________________
Simple mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/simple

---

From: Jonathan Rosenberg <[email-masked]>
Date: Thu, 03 Mar 2005 23:56:20 -0500

Rohan Mahy wrote:

> Hi,
> 
> I think for things that use SIP me should require that <device-id>s MUST 
> be a UUID URN, and that this URN SHOULD be the same one as used to 
> obtain a GRUU (if any).

That doesnt work, though.

The GRUU instance ID identifies an instance of a SIP agent. Its role 
there is solely as a unique identifier. This is a mismatch for the needs 
of device-ID for several reasons:

1. the device ID should be meaningful, so that you can correlate it with 
other sources of data about the device. For example, for a cell phone, 
the ESN, or a PC, the MAC address.

2. there can be multiple SIP UA instances on a single device. Each will 
have a different instance ID as defined in GRUU, but need to have the 
same device ID.

-Jonathan R.

-- 
Jonathan D. Rosenberg, Ph.D.                   600 Lanidex Plaza
Director, Service Provider VoIP Architecture   Parsippany, NJ 07054-2711
Cisco Systems
[email-masked]                              FAX:   (973) 952-5050
http://www.jdrosen.net                         PHONE: (973) 952-5000
http://www.cisco.com

---

From: Rohan Mahy <[email-masked]>
Date: Thu, 3 Mar 2005 21:32:32 -0800

On Mar 3, 2005, at 20:56, Jonathan Rosenberg wrote:
>> MUST be a UUID URN, and that this URN SHOULD be the same one as used 
>> to obtain a GRUU (if any).
>
> there is solely as a unique identifier. This is a mismatch for the 
> needs of device-ID for several reasons:
>
> 1. the device ID should be meaningful, so that you can correlate it 
> with other sources of data about the device. For example, for a cell 
> phone, the ESN, or a PC, the MAC address.

For the cell phone, I agree that the ESN would be useful.  However, as 
we've already discussed, the mac address is not a reliable indicator of 
a single PC device.  If you switch interfaces you have a different mac 
address.  If I replace the wireless card that finally bit the dust 
after surviving a fall off the podium with another wireless card, you 
have a different mac address.

Many types of PC hardware now expose a serial number.  This might be a 
good choice, but it needs to be scoped to a manufacturer and model 
number.

> 2. there can be multiple SIP UA instances on a single device. Each 
> will have a different instance ID as defined in GRUU, but need to have 
> the same device ID.

I see where you are coming from here.  My suggestion does not achieve 
the properties in the data model

We do need to come up with some practical implementable guidance for 
implementors for a few common cases:  for example, non-programmable 
hardware phone, software running on PC, PDA, or programmable hard 
phone.  I don't think the mac address qualifies here.  If we don't 
provide guidance then its unlikely that two services on the same device 
will pick the same device-id (which I understand was the whole point of 
this separation exercise in the first place.

thanks,
-rohan

---

From: Paul Kyzivat <[email-masked]>
Date: Fri, 04 Mar 2005 16:21:58 -0500

Rohan,

I don't understand. Suppose we have two distinct sip applications 
running on a single PC. To keep things simple, assume they use separate 
ports, so their sip addresses are unique, and they don't cooperate with 
each other in any way. (Maybe one is IM, the other is voice, though it 
doesn't matter.)

They could register with the same AoR, and each request a gruu. For this 
they each need a unique instance id.

They also can both publish presence. For that, the goal of the device-id 
is that they both reference the same device. If they each use their own 
instance-id from gruu as their device-id, they won't appear to be from 
the same device.

Depending on how specific we want to get, we could come up with a way 
that instance-ids for gruu are *derived* from the device-id used for 
presence, by adding some extra information to the device-id. But I think 
that might be a bit too constraining. Applications may have more 
suitable ids for use as instance-id.

	Paul

Rohan Mahy wrote:
> address.  If I replace the wireless card that finally bit the dust after 
> surviving a fall off the podium with another wireless card, you have a 
> different mac address.
> 
> good choice, but it needs to be scoped to a manufacturer and model number.
> 
>

---

From: Rohan Mahy <[email-masked]>
Date: Fri, 4 Mar 2005 14:59:56 -0800

On Mar 4, 2005, at 13:21, Paul Kyzivat wrote:

> running on a single PC. To keep things simple, assume they use 
> separate ports, so their sip addresses are unique, and they don't 
> cooperate with each other in any way. (Maybe one is IM, the other is 
> voice, though it doesn't matter.)
>
> They could register with the same AoR, and each request a gruu. For 
> this they each need a unique instance id.
>
> They also can both publish presence. For that, the goal of the 
> device-id is that they both reference the same device. If they each 
> use their own instance-id from gruu as their device-id, they won't 
> appear to be from the same device.

yes, as I said in my response, JDR is right, I was wrong, the instance 
will not work.

Now more importantly, if we want this property of identical device id's 
for uncoordinated services, we need to provide some guidance about what 
the two applications should use as a device-id.

I don't think a mac address qualifies for general purpose hardware like 
PCs, laptops, and PDAs.  (since i can construct several cases where the 
mac address changes so that two apps on the same device would use 
different mac address.

thx,
-r

> presence, by adding some extra information to the device-id. But I 
> think that might be a bit too constraining. Applications may have more 
>>>> MUST be a UUID URN, and that this URN SHOULD be the same one as 
>>>> used to obtain a GRUU (if any).
>>>
>>>
>> For the cell phone, I agree that the ESN would be useful.  However, 
>> as we've already discussed, the mac address is not a reliable 
>> indicator of a single PC device.  If you switch interfaces you have a 
>> different mac address.  If I replace the wireless card that finally 
>> bit the dust after surviving a fall off the podium with another 
>> wireless card, you have a different mac address.
>> Many types of PC hardware now expose a serial number.  This might be 
>> a good choice, but it needs to be scoped to a manufacturer and model 
>> number.
>>> will have a different instance ID as defined in GRUU, but need to 
>>> have the same device ID.
>> provide guidance then its unlikely that two services on the same 
>> device will pick the same device-id (which I understand was the whole 
>> point of this separation exercise in the first place.
>> thanks,
>> -rohan

---

From: Jonathan Rosenberg <[email-masked]>
Date: Mon, 07 Mar 2005 01:21:00 -0500

inline.

> the two applications should use as a device-id.

Hopefully the applications use whatever the OS provides them. 
Applications shouldn't ideally be picking it.

> mac address changes so that two apps on the same device would use 

I think that its OK if they change. The draft talks about having service 
URI change all of the time. Mac addresses have the essential property 
that other things in the network - like a DHCP server or an ethernet 
switch, can tell me something useful about a device with that ID. Thus, 
that makes it a good choice. Since being fixed for all time is not a 
requirement, I dont see changing device IDs as an issue.

That said, each device instance is supposed to have an instance 
identifier that isn't semantically meaningful but is rather a unique 
handle that persists over time. Something like a serial number is useful 
there, or a UUID is fine too (assuming it is stored).

-Jonathan R.