[SR-Users] Request-URI in fail route
Jan Klepal
jan at klepal.cz
Thu Mar 15 19:05:13 CET 2012
Hello Daniel,
On Thursday 15 of March 2012 11:59:32 you wrote:
> >
> > First problem I encountered is that I can't check $rU in failure_route (it
> > is always set to original Request-URI - bob). Is this normal behavior or
> > am I missing something? Because of that I have to set divert destination
> > in branch route.
>
> in failure route you have access to the value of r-uri before getting to
> any branch_route or failure_route. You can use an avp to store the value
> you would like to check later in tm specific routes.
>
Thanks for confirming usage of avp.
> > Second problem is when Carol's no-answer forward to Dave happens. Then
> > add_diversion adds invalid diversion header because it uses Request-URI
> > which is still set to bob.
>
> You can set the r-uri to the value you want before calling
> add_diversion, after that set it to what you want to be the destination.
>
I am not able to make this working... not sure if I follow you correctly. So I
tried following minimal config:
route {
if(is_method("REGISTER")) {
save("location");
exit;
}
lookup("location");
t_set_fr(5000);
t_on_failure("FAIL_ONE");
t_relay();
}
failure_route[FAIL_ONE] {
add_diversion("no-answer");
rewiteuser("carol");
lookup("location");
t_on_failure("FAIL_TWO");
t_relay();
}
failure_route[FAIL_TWO] {
rewriteuser("carol");
add_diversion("no-answer");
rewiteuser("dave");
lookup("location");
t_relay();
}
First failure route works correctly, it adds diversion header.
However in second failure route diversion header is not appended to SIP packet
at all (no matter if I try to overwrite r-uri). In case I overwrite r-uri in
first failure route before calling add_diversion it still uses original r-uri.
Same result changing r-uri with $ru or even with $rU instead of rewiteuser
function.
There is also problem in case of cross redirect (B->C and C->B)... secondary
invites end with 500 Internal server error from UA (probably because it gets
invite with same callid and tags as original invite).
I think I need to use B2BUA to make multiple forwards working.
Cheers,
Jan
More information about the sr-users
mailing list