[Serusers] ATA186 v3.1.1 LooseRoute logic

Andrei Pelinescu-Onciul pelinescu-onciul at fokus.fraunhofer.de
Thu Jul 15 20:11:07 CEST 2004


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




More information about the sr-users mailing list