[OpenSIPS-Users] Unexpected loose_route() behavior

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Jun 10 22:20:54 CEST 2010


Hi Matthew,

you have a logical bug in your routing - all sequential requests are 
routed in SIP based only on Route hdrs (via loose_route), so there is no 
need to do manual routing for them. Manual routing is done only for 
initial requests.

Better see http://www.opensips.org/Resources/Webinars#toc11

When the sequential request comes from the provider, it will have a 
Route hdr pointing to your opensips and in RURI will be the IP of the 
final Asterisk box (contact from 200 OK) -> after loose_route, opensips 
will remove the Route hdr with its IP and the request will be routed 
(RURI based) to proper Asterisk.

Regards,
Bogdan

Matthew Lehner wrote:
> I am setting up opensips to act as a proxy between a SIP trunk
> provider and more than one asterisk server. I am using alias_db to
> determine which asterisk server a particular DID/user should be
> relayed to. I am also using record_route() to ensure my proxy stays in
> the entire dialog of the call.
>
> The initial requests go through just fine, but subsequent requests in
> the same dialog from the SIP provider are not getting routed properly
> because of loose_route().
>
> When the request from the SIP provider arrives, it hits loose_route()
> and the RURI gets changed to sip:222.222.222.227;lr=on which does not
> contain a username and so alias_db can no longer match the call
> details and route the request to the proper asterisk server.
>
> The way I understood loose_route() was supposed to work is.. it checks
> the top-most Route header to see if it is the local proxy.. if it is
> it removes that Route and if there is another Route below it.. it will
> change the RURI to that.
>
> If I just don't do loose_route() on requests from the SIP provider,
> everything works as expected.. but this does not seem like the right
> solution to the problem.
>
> I have included debug output from opensips, along with some of my own logging.
>
> 333.333.333.x is the SIP provider
> 222.222.222.x is my opensips proxy
>
> Regards,
>
> Matt
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   


-- 
Bogdan-Andrei Iancu
www.voice-system.ro




More information about the Users mailing list