[OpenSIPS-Users] Module Path and function loose_route

mayamatakeshi mayamatakeshi at gmail.com
Fri Aug 21 05:46:00 CEST 2009


On Fri, Aug 21, 2009 at 3:43 AM, Iñaki Baz Castillo<ibc at aliax.net> wrote:
> El Jueves, 20 de Agosto de 2009, Alex Balashov escribió:
>> Iñaki Baz Castillo wrote:
>> > El Jueves, 20 de Agosto de 2009, mayamatakeshi escribió:
>> >> "There is only one exception: If the request is out-of-dialog (no
>> >> to-tag) and there is only one Route: header indicating the local
>> >> proxy, then the Route: header is removed and the function returns
>> >> FALSE."
>> >>
>> >> But why does it return FALSE?
>> >
>> > Because if an initial request (no To-tag) has a single Route header
>> > pointing to the proxy handling it, it's useless.
>>
>> That's correct - initial INVITEs (and all initial requests) are
>> different than in-dialog requests (requests arising within a dialog
>> created by the initial requests).
>>
>> They are routed manually, not using loose_route() in any way.
>
> In fact, in case of PATH usage, the registrar should receive the request for a
> registered user, add Route header pointing to the inbound/outbound proxy of
> the registered user and change the RURI with the real location of the
> registered user (or mapped public address in case of NAT), route the request
> to it,

Iñaki, Alex,
thanks. But I'm still confused about this.
The above is what I believe I'm doing in my tests: I am setting the
RURI to the real location of the registered user and I'm passing the
URI of opensips in the sole Route header.

> and the inbound/outbound proxy should remove the Route header and route
> the request based on the RURI as usual.

How my cfg should accomplish this then? If loose_route returned TRUE,
I would simply relay the request to the address in the RURI.
Do you mean I should not be using loose_route() for this? Should I
perform the checking in another way?
Well, of course I could come up with something else, but it seems to
me loose_route() would be the simplest way to do it if there was not
that exception clause that I really don't understand why is there.

regards,
takeshi



More information about the Users mailing list