Subject: [Sip] Errant Proxy Behavior?

From: Joe <[email-masked]>
Date: Wed, 21 Nov 2007 12:20:08 -0600

Hello all,

If a proxy receives a message containing a SIP URI in a Route header that
has "%24" in the user portion (used as part of a token) is it allowed to
modify this to "$", leave the rest untouched, and forward it?

This seems like incorrect behavior.

Thanks!
Joe
_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

---

From: Robert Sparks <[email-masked]>
Date: Wed, 21 Nov 2007 13:09:06 -0600

There are several things to comment on here.

I assume you're talking about a Route header value that's not the  
topmost one (which would in most circumstances be consumed before  
being forwarded).

Making any modification to those values while proxying is unwise,  
even when its legal. The best way to achieve interoperability is to  
give a proxy back EXACTLY the set of bits it record-routed with.

Now, for the particular transformation you're describing - it's not  
legal. Replacing a %41 with an 'A' or vice-versa would be legal (but  
unwise). "$", on the other hand, is special.

The text in section 19.1.4 (URI Comparison) says:
...
   SIP and SIPS URIs are compared for equality
    according to the following rules:
...
       o  Characters other than those in the "reserved" set (see RFC  
2396
          [5]) are equivalent to their ""%" HEX HEX" encoding.

But

       reserved    =  ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+"
                      / "$" / ","

Hope that helps,

RjS

On Nov 21, 2007, at 12:20 PM, Joe wrote:

> Hello all,
>
> If a proxy receives a message containing a SIP URI in a Route  
> header that has "%24" in the user portion (used as part of a token)  
> is it allowed to modify this to "$", leave the rest untouched, and  
> forward it?
>

---

From: [email-masked]
Date: Fri, 23 Nov 2007 18:38:05 -0500

From: Robert Sparks <[email-masked]>

   But

Hmmmm, I agree that this is what the RFCs say, but is it what we
really want?  That '%41' is expected to be equivalent to 'A' but '%24'
is *not* equivalent to '$', in a context where '$' is a character with
no exceptional semantics?  That seems like opening a big can of worms.

Dale