[OpenSIPS-Users] DRouting Madness

Bogdan-Andrei Iancu bogdan at opensips.org
Wed Jan 18 11:14:33 CET 2012


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 at 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 at 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
>
> chris.dye at paragon.net
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users


-- 
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
OpenSIPS solutions and "know-how"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120118/7fb2829e/attachment-0001.htm>


More information about the Users mailing list