[OpenSIPS-Users] EC2 and rapidly repeated invites

Bogdan-Andrei Iancu bogdan at opensips.org
Thu Jun 12 07:48:00 CEST 2014


Hi Kurtis,

Do you use any routeid in the rule definitions ? maybe that's the 
looping cause.....Be sure it is set to NULL.

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 12.06.2014 03:14, Kurtis Heimerl wrote:
> Thanks so much Bogdan, that line is super helpful.
>
> I can't yet figure out why it's looping though. Here's what the log 
> now shows:
>
> Jun 11 23:59:32 ip-172-31-27-53 /usr/sbin/opensips[5836]: [Script 
> Trace][line 149][me][route 4] -> (INVITE from IP, ruri=sip:NAME at HOST)
> Jun 11 23:59:32 ip-172-31-27-53 /usr/sbin/opensips[5836]: [Script 
> Trace][line 273][me][core if] -> (INVITE from IP, ruri=sip:NAME at HOST)
> Jun 11 23:59:32 ip-172-31-27-53 /usr/sbin/opensips[5836]: [Script 
> Trace][line 270][me][module do_routing] -> (INVITE from IP, 
> ruri=sip:NAME at HOST)
> Jun 11 23:59:32 ip-172-31-27-53 /usr/sbin/opensips[5836]: [Script 
> Trace][line 273][me][core if] -> (INVITE from IP, ruri=sip:NAME at HOST)
> Jun 11 23:59:32 ip-172-31-27-53 /usr/sbin/opensips[5836]: [Script 
> Trace][line 270][me][module do_routing] -> (INVITE from IP, 
> ruri=sip:NAME at HOST)
> ... (repeated dozens of times)
> Jun 11 23:59:32 ip-172-31-27-53 /usr/sbin/opensips[5836]: 
> CRITICAL:core:eval_expr: too many expressions (101)
> Jun 11 23:59:32 ip-172-31-27-53 /usr/sbin/opensips[5836]: 
> WARNING:core:do_action: error in expression (l=273)
>
> This seems to indicate an issue with my routing logic. However, I 
> can't see where I'm infinitely recursing. Here's the dialplan:
>
> route{
>         script_trace( 1, "$rm from $si, ruri=$ru", "me");
>
>         if (!mf_process_maxfwd_header("70")) {
>                 sl_send_reply("483","Too Many Hops");
>                 exit;
>         }
>
>         #kurtis
>         if (is_method("INVITE")) {
>            setflag(1); # do accounting
>            route(4); # Call our dynamic route.
>         }
>
>         if (has_totag()) {
> ... (default from here)
>
> and my custom route 4, which i've tried to poke at to remove the 
> recursion, but failed.
>
> route[4] {
>   if (!do_routing("0")) {
>     send_reply("503", "No Rules matching the URI");
>   }
>   exit;
>
> #  route(relay);
> }
>
> Any guidance? I can't see how I'm causing it to recurse, but I've done 
> this in opensips before so I'm not surprised.
>
> Thanks for all of your help!
>
>
>
>
> On Tue, Jun 10, 2014 at 6:08 AM, Bogdan-Andrei Iancu 
> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>
>     Hi Kurtis,
>
>     On a first look, it seems your script doing doing a kind of
>     looping (maybe a recursive call of a route or so) - at least this
>     is what the log errors tell.
>
>     You can try the script_trace() function to understand how your
>     script is executed:
>     http://www.opensips.org/Documentation/Script-CoreFunctions-1-11#toc42
>
>     Regards,
>
>     Bogdan-Andrei Iancu
>     OpenSIPS Founder and Developer
>     http://www.opensips-solutions.com
>
>     On 09.06.2014 01:37, Kurtis Heimerl wrote:
>>     Hello mailing list,
>>
>>     I've been working on setting up OpenSIPS on an EC2 instance,
>>     routing traffic between nexmo and our gateway, a FS instance on a
>>     public IP. I was kindly directed to an earlier thread on OpenSIPs
>>     and EC2
>>     (http://lists.opensips.org/pipermail/users/2010-April/012393.html) but
>>     have come to an issue I think is unrelated.
>>
>>     Here's the current architecture:
>>     Nexmo -> EC2 NAT -> OpenSIPs -> EC2 NAT -> FS
>>
>>     I started with a walkthrough on the website
>>     (http://www.unixnews.net/2010/09/dynamic-routing-with-opensips.html)
>>     which roughly seems to be working. I've configured the gateway,
>>     the routes, and so on. When I call my Nexmo number, it
>>     successfully routes to FS and rings but, when answered, never
>>     connects, failing after 30 seconds. This is, as expected, the OK
>>     never reaching Nexmo and the RTP negotiation never starting. I
>>     started poking around in wireshark and ran into another issue:
>>     OpenSIPs is forwarding 9 invites in rapid succession (less than a
>>     second) rather than just the one it received! FS *seems* to
>>     handle this correctly (482 Request Merged) but it makes the SIP
>>     trace an enormous mess and completely unreadable.
>>
>>     The opensips log is a mess, but isn't particularly useful:
>>     Jun  8 21:55:51 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     ERROR:signaling:sig_send_reply_mod: failed to send reply with tm
>>     module
>>     Jun  8 21:55:51 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     ERROR:tm:add_uac: maximum number of branches exceeded
>>     Jun  8 21:55:51 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     ERROR:tm:t_forward_nonack: failure to add branches
>>     Jun  8 21:55:51 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     ERROR:tm:w_t_relay: t_forward_nonack failed
>>     Jun  8 21:55:51 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     ERROR:tm:_reply_light: failed to generate 500 reply when a final
>>     500 was sent out
>>     Jun  8 21:55:51 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     ERROR:signaling:sig_send_reply_mod: failed to send reply with tm
>>     module
>>     Jun  8 21:55:51 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     incoming reply
>>     Jun  8 21:55:51 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     incoming reply
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     CRITICAL:core:eval_expr: too many expressions (101)
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     WARNING:core:do_action: error in expression (l=272)
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     CRITICAL:core:eval_expr: too many expressions (101)
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     WARNING:core:do_action: error in expression (l=283)
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     CRITICAL:core:eval_expr: too many expressions (101)
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18082]:
>>     WARNING:core:do_action: error in expression (l=285)
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18082]: new
>>     branch at sip:18178184971 at gadogado.banatao.berkeley.edu
>>     <mailto:sip%3A18178184971 at gadogado.banatao.berkeley.edu>
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18083]:
>>     message repeated 5 times: [ incoming reply]
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18083]:
>>     CRITICAL:tm:t_should_relay_response: pick_branch failed
>>     (lowest==-1) for code 482
>>     Jun  8 21:56:55 ip-172-31-27-53 /usr/sbin/opensips[18083]:
>>     incoming reply
>>
>>     Does anyone have any idea what would cause OpenSIPs to forward an
>>     invite 9 times in less than a second? Fixing that should allow me
>>     to move onto figuring out why it's not forwarding the 200 OK back
>>     to Nexmo.
>>
>>     Thanks!
>>
>>
>>     _______________________________________________
>>     Users mailing list
>>     Users at lists.opensips.org  <mailto:Users at lists.opensips.org>
>>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>

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


More information about the Users mailing list