Subject: RE: [SIP] possibly unintended recommendation for "tag" in 6.25 of the spec

From: Jonathan Rosenberg <[email-masked]>
Date: Sun, 29 Oct 2000 15:51:45 -0500

> -----Original Message-----
> From: Piotr S. Kossowski [mailto:[email-masked]]
> Sent: Thursday, October 26, 2000 4:03 PM
> To: SIP disscussion list
> Subject: [SIP] possibly unintended recommendation for "tag" in 6.25 of
> the spec
> 
> 
> Hello,
> 
> During my studies on RFC2543bis-02, I've noticed following phrase:
> 
> section 6.25:
> 
> " The "tag" value MUST be globally unique and 
> cryptographically random 
> with at least 32 bits of randomness. A single user agent maintains the
> same tag at least within the same Call-ID, but it is RECOMMENDED to 
> maintain the same tag across calls and instances of the UA 
> application 
> to allow restarting of a user agent. "
> 
> On the one hand, we want tag to be globally unique to provide
> matching in case of forking, on the other, this RECOMMENDATION would
> damage to this tag-mechanism, in my opinion. Why ? As the spec. says,
> instances of UA should (in recommendation meaning) have the same
> tag. Let's assume that there are only ten "equal" vendors of 
> SIP-UAs in
> the world. Eeach of them compiled its UA with cryptographically random
> tag. According to probability principles, 10% of UAs instances in the
> world WILL HAVE THE SAME TAG. It is probably NOT what we had 
> on our mind.
> 
> But, don't argue about numbers.
> I suppose, that author of this recommendation had on his mind
> instances in meaning pair: {1.ran executable code 2.host, on which
> this instance was run}, not {ran executable code} (common meaning).

The meaning of instance is that if two UAs from the same vendor run on two
machines, there are two instances. I'd ideally like that to be true even if
two processes ran on the same machine, but the notion of maintaining tags
across restarts doesn't make sense in such a context. Thus, computing the
tag as a function of a machine specific invariant (IP address is a bad
example, actually, since it might change on restart of the machine) is what
you want.

-Jonathan R.
---
Jonathan D. Rosenberg                       72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.cs.columbia.edu/~jdrosen         PHONE: (973) 952-5000
http://www.dynamicsoft.com

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: "Piotr S. Kossowski" <[email-masked]>
Date: Mon, 30 Oct 2000 21:49:50 +0100

Jonathan Rosenberg wrote:

> example, actually, since it might change on restart of the machine) is what

Yes, You're right. IP address as a machine invariant wasn't my best idea 
(e.g. because of DHCP). As concerns network equipement, MAC address would
be a better choice, i think. 

BTW, for Billy:

What is a reason for calling yourself (in application of SIP, not POTS,
of course :-) ) ? (Or you have REGISTER on your mind ?)

Thank you for your replies,
Piotr

---

From: Billy Biggs <[email-masked]>
Date: Mon, 30 Oct 2000 15:11:37 -0600

Piotr S. Kossowski ([email-masked]):

> BTW, for Billy:
> 
> What is a reason for calling yourself (in application of SIP, not
> POTS, of course :-) ) ? (Or you have REGISTER on your mind ?)

  It happens when you misconfigure forking proxies: you call a number
that ends up forking to yourself.  It's also an easy way to check if
your registration is still active.

  An even better reason to not use the same tag across calls is for
security reasons:  Do you really want to silently accept re-INVITEs from
unknown individuals as if it was an old call you forgot about after a
reboot?

  Tags should be unique to the call-leg, and more specifically, one end
of the call leg.

-- 
Billy Biggs, 3Com               Email: [email-masked]
http://www.div8.net/billy/      Phone: [email-masked]