[Serusers] loose_route() function doesn't work? - ser 2_0_0

tzieleniewski tzieleniewski at o2.pl
Sun Jul 8 14:21:15 CEST 2007


Hi,

I have the following SIP scenario:

UA_A -> SER_A -> other SIP Proxy -> SER_A -> UA_B

I want to force SER_A instance to forward the received request to other SIP proxy element and ensure that that request will return to SER_A afterwards.
To do that I use an insert_hf() function from textops module inside ser.cfg to insert a double Route header field - first value the sip uri of the 'other SIP proxy' and second one the SER_A sip uri to assure that the forwarded request will return to SER_A.

Whenever request enters the ser.cfg script logic my SER code performs the loose_route() check in general. In my situation when request initialy enters the logic it doesn't have any Route headers. When request enters a particular route block responsible for handling this request there is an lookup_user() invocation to check if the user should be serviced by this SER. If lookup_user() returns true and this particular user has a flag set which indicates routing through the extra SIP proxy I add the Route headers and pass the request to the 'FORWARD' route block where I do the t_relay().
My problem is that when I do t_relay() after inserting the Route headers into the request it is not forwarded according to the topmost Route header field value??

Is it bug in ser??
Please point me what do I missed.
Thank you in advance.
Tomasz




More information about the sr-users mailing list