Subject: Re: [sipcore] [dispatch] SIP outbound and in-dialog requests

From: [email-masked] (Dale R. Worley)
Date: Tue, 7 May 2013 16:29:37 -0400 (EDT)

[Moving this discussion to Sipcore.]

[Sorry about losing the diacritic on the "n".]

> From: IC1aki Baz Castillo <[email-masked]>
> 
> Anyhow, it seems that nobody wants to reply to the problem I describe.
> Is it not clear? Let me re-explain it:

It is not at all clear to me.  There may be important details that I
don't recall at this point, but even so, it would be very useful if
you could provide additional explanation at a number of points.

> - Bob registers with GRUU and Outbound. EDGE adds Path:
> 
>    Path: <sip:FLOW_TOKEN_1@EDGE;lr>
> 
> 
> - Alice calls Bob. Once the call is established, the route set from
> Alice is as follows:
> 
>   Route: <sip:REGISTRAR;lr>
>   Route: <sip:FLOW_TOKEN_1@EDGE;lr>

OK, you need to explain why the registrar record-routes itself.

> - So an in-dialog INFO from Alice looks as follows:
> 
>   INFO sip:[email-masked];gr=GRUU_1
>   Route: <sip:REGISTRAR;lr>
>   Route: <sip:FLOW_TOKEN_1@EDGE;lr>
> 
> - When the INFO arrives to the REGISTRAR, the REGISTRAR MUST perform
> GRUU lookup, RIGHT??

No, because the registrar only needs to forward the request to
<sip:FLOW_TOKEN_1@EDGE;lr>, the next address in the route set after
the registrar's address, and that doesn't contain a GRUU.  In general,
a SIP element shouldn't be looking at addresses beyone the next
address in the route set.

Dale

---

From: Paul Kyzivat <[email-masked]>
Date: Tue, 07 May 2013 17:23:46 -0400

At end...

> address in the route set.

I always thought that, (and I still do, BUT) if you read 3261 carefully, 
you will discover that the instructions are to first look at the R-URI, 
and if you are responsible for it, then translate it. Once you have done 
that, then you still use the Route to decide on next place to go.

I think it is the wrong thing to do, but it is what it says. IMO you 
should not pay any attention to the R-URI if there is a Route header. 
But that's just me.

The other thing is: if the contact is a GRUU, you really *want* it to 
translate it for each request in the dialog. And you want there to be no 
pending Route headers at that time, so that the Path corresponding to 
the GRUU can be followed.

	Thanks,
	Paul