I'm attempting to handle a 302 redirect being returned from another sip switch. The 302 message contacts contains 6 redirect bindings with a different q value for each. I'm using the UAC_redirect module to handle the redirect. My problem is that it does not serialize the sip calls. Instead it calls each in turn without waiting for a response from the previous. I'm unable to configure the redirect module to serialize the calls. What am I missing?
I've tried changing the get_redirects call to:
get_redirects("*:*", "redirect");
get_redirects("1:*", "redirect");
get_redirects("*:1", "redirect");
In debugging, I did notice that the q value seems to be misinterpreted? The code that follows shows q values of 930,940,950 and 960. Is the module interpreting the decimal point as a thousands separator?
The contact bindings:
"<sip:18452259999@192.168.10.125:5060>;q=0.990"
"<sip:18452259999@192.168.10.125:5060>;q=0.980"
"<sip:18452259999@192.168.10.125:5060>;q=0.970"
"<sip:18452259999@192.168.10.125:5060>;q=0.960"
"<sip:18452259999@192.168.10.125:5060>;q=0.950"
"<sip:18452259999@192.168.10.125:5060>;q=0.940"
"<sip:18452259999@192.168.10.125:5060>;q=0.930"
the on failure route:
failure_route[REDIRECT_ACC] {
xlog("$var(loglevel)","In failure_route[REDIRECT_ACT]");
if(!t_check_status("3[0-9][0-9]")) {
xlog("$var(loglevel)","In failure_route[REDIRECT_ACT] - NOT 3nn");
exit;
}
get_redirects("*:*", "redirect");
xlog("$var(loglevel)","In failure_route contact branch index:$branch(count)");
xlog("$var(loglevel)","In failure_route contact branch q[0]:$(branch(q)[0])");
xlog("$var(loglevel)","In failure_route contact branch q[1]:$(branch(q)[1])");
xlog("$var(loglevel)","In failure_route contact branch q[2]:$(branch(q)[2])");
xlog("$var(loglevel)","In failure_route contact branch q[3]:$(branch(q)[3])");t_relay();
}
The log shows:INFO: xlog:In failure_route contact branch index:7
INFO: xlog:In failure_route contact branch q[0]:930
INFO: xlog:In failure_route contact branch q[1]:940
INFO: xlog:In failure_route contact branch q[2]:950
INFO: xlog:In failure_route contact branch q[3]:960
Thanks in advance for any help.
Rich