On Jul 15, 2004 at 13:37, Ezequiel Colombo ecolombo@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