Hi Chris,
Could also post a dump of the content of dr_xxxx tables ?
Regards,
Bogdan
On 01/18/2012 09:45 AM, Christopher Dye wrote:
Hello All,
I've been posing this question in IRC, but haven't had
any luck with a lead...
I'm trying to setup DRouting and I think I'm really
close, but for some reason when I get into my drouting subroute (in
this case route[4]) it matches from a row in the database on the first
try, but continues to loop through that subroute up to 32 additional
times before starting to throw errors. I'll attach a snippet here to
illustrate:
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:core:parse_headers:
flags=10
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:core:parse_to_param:
tag=as3cde8572
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:core:parse_to: end of
header reached, state=29
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:core:parse_to:
display={"username_of_caller"},
ruri={sip:username_of_caller@address_of_caller}
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
using dr group 0
Jan 18 01:39:06 core01 /sbin/opensips[8489]:
DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xa741465c)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[4]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: CRITICAL:core:eval_expr:
too many expressions (101)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: WARNING:core:do_action:
error in expression (l=387)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: CRITICAL:core:eval_expr:
too many expressions (101)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: WARNING:core:do_action:
error in expression (l=391)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DEBUG: >>>BEGIN: route[1]
Block -->
Jan 18 01:39:06 core01 /sbin/opensips[8489]: CRITICAL:core:eval_expr:
too many expressions (101)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: WARNING:core:do_action:
error in expression (l=369)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: CRITICAL:core:eval_expr:
too many expressions (101)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: WARNING:core:do_action:
error in expression (l=372)
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
setting GW attr [] as for ruri
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
setting GW id [1] as avp
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
setting RULE id [3] as avp
Jan 18 01:39:06 core01 /sbin/opensips[8489]: DBG:drouting:do_routing:
setting the gw [0] as ruri "sip:NXXNXXNXXX@address_of_gateway_from_mysql"
It continues, then, to loop through my first subroute (the same number
of times as route[4] hits) and then dies... One important thing to
note is that if I throw an xlog() the line after the do_routing()
call, it doesn't fire between the loops... the looping seems to happen
within the function...
An ngrep packet capture reveals that there is a copy of the INVITE
sent to the gateway for every one of the attempts. The gateway
responds after the flood with a "500: Server Error", which is
ironically correctly forwarded back to the caller address (so the
record_route() seems to be working).
My subroute is as follows:
route[4] {
#log that we're trying dynamically at least
xlog("DEBUG: >>>BEGIN: route[4] Block -->\n");
if (!do_routing("0")) {
xlog("!do_routing: No Rules matching the URI\n");
send_reply("503", "No Rules matching the URI");
exit;
}
if (is_method("INVITE")) {
t_on_failure("4");
}
route(1);
}
There seems to be precedence for this problem as I found a pastebin
containing the exact same issue from Feb 17, 2011 -- but no resolution
was discernible...
I apologize in advance if this isn't the proper forum for this
question, but I'm getting desperate to get this working and didn't
know where else to go.
Thanks in Advance,
Chris
[email protected]
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
OpenSIPS solutions and "know-how"
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users