On Jul 15, 2004 at 13:37, Ezequiel Colombo <ecolombo(a)arcotel.net> wrote:
As see in RFC3261 section 12.2.1.1:
...
If the route set is not empty, and the first URI in the route set
contains the lr parameter (see Section 19.1.1), the UAC MUST place
the remote target URI into the Request-URI and MUST include a Route
header field containing the route set values in order, including all
parameters.
...
The ACK sent by ATA186 v3.1.1 is ok (record-route contain lr) so ATA186
place remote target URI (uri of U2) in the Request-URI. The problem at this
moment is that ATA186 v3.1.1 place the remote target URI withouth the port
information (as my opinion must take the URI of the Contact in previous 200
OK).
With this logic of loose-routing (fragment of section 12.2.1.1) what is
suposed to
do by SER when receiving a Route: with "lr" ??? SER dont perform loose_route
if Route: have lr ?
Yes, it does, but in your case there is only one route field and that
with ser's address. ser sees it is its address, so it removes the route
field. There are no more routes, so loose_route will return false, and
the message will get to the main block.
The loose_route script function returns true only if the messages was
"routed" according to one of the route fields (meaning that the packet
will be sent to a different destination than the request uri, if t_relay
or forward(uri:host) is used).
Andrei