Subject: Re: [SIP] Record-Route (Was: Contact in OPTIONS)

From: Henning Schulzrinne <[email-masked]>
Date: Sun, 04 Jun 2000 11:30:00 -0400

Jonathan Rosenberg wrote:

> In addition to this, we can define an explicit "remove me" record-route
> entry. Something like:
> 
> Remove-Route: <sip:user@host;maddr=1.2.3.4>;remove=true
> 
> Proxies would add this when they want out. A UA not understanding this
> will ignore out continue to use the old route, but a new UA would know
> that this means to remove it from the Route in the next request. I think
> this is also backwards compatible.
> 
> Both of these mechanisms combined (remove-route and adding record-route
> for mid-call messages) has the desired result of being backwards
> compatible, providing for restarts after crashes, and allowing proxies
> to remove themselves during a call.

Since this is something that can be added later if there's a real,
demonstrated example, my inclination would be to leave it out of the
base spec at this point as it does impose non-trivial implementation
effort. (In order to stay in the spec for Draft, we have to show two
implementations in any event.)

Another wrinkle in this Record-Route business is that we could
presumably define a hiding mechanism similar to Via hiding mechanism.
(The details would have to differ, since it's the upstream proxy that
would have to do the encryption). Is this useful? Personally, I'd rather
not add this complexity. Via hiding itself doesn't seem to be the
most-implemented feature at this stage...

Currently, there's a silent (and reasonable) assumption that the UAC
issuing the first request inserts a RR. However, would there be a use
for the UAS receiving that request doing this? Clearly, this would only
make sense if that request isn't routed directly, i.e., typically, if
the first INVITE didn't contain a Contact header. Is this useful enough
to be described explicitly? Any existing implementations deal with this
gracefully?

Henning
-- 
Henning Schulzrinne   http://www.cs.columbia.edu/~hgs

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

---

From: Jonathan Rosenberg <[email-masked]>
Date: Sun, 04 Jun 2000 22:53:03 -0400

> implementations in any event.)

I agree.

> most-implemented feature at this stage...

Via hiding is not stricly needed; only if you want to be stateless AND
hide the route. The far easier approach is simply strip off the via
list, store it, and insert a fresh Via header with some public address
you are not afraid to show to the world, in order to get the response.
When the response comes, slap back on the old Via list, and off you go. 

I'll also note that Via hiding always worried me because it relied on
the *next hop* to encrypt for you; what if the trust relationship is
such that they might not do this for you? Better off protect yourself
than trust the next hop to do so.

So, I would agree that adding this for Record-Route is probably not
needed.

> issuing the first request inserts a RR. 

You mean insert or doesn't insert? UAC doesn't insert an RR....

> However, would there be a use

Assuming you meant "doesn't" above, I see no need to explicitly indicate
this, since Contact more or less plays the role of the UA record-route. 

-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: (732) 741-7244
http://www.dynamicsoft.com

---

From: Henning Schulzrinne <[email-masked]>
Date: Tue, 06 Jun 2000 20:26:01 -0400

Jonathan Rosenberg wrote:

> than trust the next hop to do so.

Actually, that's pretty similar in either case. One could think of the
"public address that you are not afraid to show" as the one doing the
Via hiding. The SIP server at the public address would have to be
trusted in either case.