<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">Thanks David,</div><div class=""><br class=""></div><div class="">I was trying an alternate way as Mr. Daniel presented in ClueCon.  Pasting below the snippet from my configuration. Somehow the code is not working. <b class="">kacmd htable.dump acalls </b>returning empty results.<b class=""> </b>What might be wrong?</div><div class=""><br class=""></div><div class=""><div class=""><font color="#ff2600" class="">modparam("htable", "htable", "acalls=>size=8;autoexpire=7200;")</font></div><div class=""><font color="#ff2600" class="">modparam("cfgutils", "lock_set_size", 8)</font></div></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><div class=""><font color="#ff2600" class="">request_route {</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre"> </span># per request initial checks</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>route(REQINIT);</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">        </span># NAT detection</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>route(NATDETECT);</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span># CANCEL processing</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>if (is_method("CANCEL"))</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>{</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span>if (t_check_trans())</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                        </span>t_relay();</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">          </span>exit;</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">       </span>}</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span># handle requests within SIP dialogs</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>route(WITHINDLG);</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span>### only initial requests (no To tag)</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>t_check_trans();</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">       </span># authentication</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">    </span>route(AUTH);</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">   </span># record routing for dialog forming requests (in case they are routed)</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span># - remove preloaded route headers</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>remove_hf("Route");</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">       </span>if (is_method("INVITE|SUBSCRIBE"))</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                </span>record_route();</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">        </span># account only INVITEs</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span>if (is_method("INVITE"))</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>{</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span>setflag(FLT_ACC); # do accounting</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">   </span>}</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">   </span>if(is_method("BYE")) </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span>$sht(acalls=>$ci) = $null; </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>}</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span># dispatch requests to foreign domains</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span>route(SIPOUT);</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>### requests for my local domains</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span># handle presence related requests</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>route(PRESENCE);</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">       </span># handle registrations</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span>route(REGISTRAR);</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">      </span>if ($rU==$null)</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>{</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span># request with no Username in RURI</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">          </span>sl_send_reply("484","Address Incomplete");</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">              </span>exit;</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">       </span>}</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">   </span>route(ACLIMIT);</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">     </span># dispatch destinations to LOADBALANCE</font></div><div class=""><font color="#ff2600" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>#!ifdef WITH_LOADBALANCE</font></div><div class=""><font color="#ff2600" class="">       </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">         </span>if($rU=~"^([0-9]{10}|1[0-9]{10}|37051[0-9]{10}|3706[0-9]{10})$")
        { </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                  </span>route(LOADBALANCE);</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">         </span>}</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span>route(ACLIMIT);</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">             </span>route(RELAY);</font></div><div class=""><font color="#ff2600" class="">       </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">    </span> #!endif</font></div></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class="">reply_route {</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><div class=""><font color="#ff2600" class="">if(is_method("INVITE") && $rs>=300) {</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">         </span>$sht(acalls=>$ci) = $null; </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>}</font></div></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><div class=""><font color="#ff2600" class="">route[ACLIMIT] {</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">       </span>if(is_method("INVITE") && !has_totag()) { </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span>lock("$fU");</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">              </span>$var(ac) = $shtcv(acalls=>eq$fU); </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">          </span>if($var(ac) >= 4) {</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                      </span>unlock("$fU");</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                    </span>send_reply("403", "Too many active calls"); </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                       </span>exit;</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">               </span>}</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span>$sht(acalls=>$ci) = $fU; </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span>unlock("$fU");</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">    </span>}</font></div><div class=""><font color="#ff2600" class="">}</font></div></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><div class=""><font color="#ff2600" class="">#!ifdef WITH_LOADBALANCE</font></div><div class=""><font color="#ff2600" class="">route[LOADBALANCE] {</font></div><div class=""><font color="#ff2600" class="">        </font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>if(!ds_select_dst("0", "4"))</font></div><div class=""><font color="#ff2600" class="">        {</font></div><div class=""><font color="#ff2600" class="">              </font></div><div class=""><font color="#ff2600" class="">                xlog("L_NOTICE", "No destination available!");</font></div><div class=""><font color="#ff2600" class="">                send_reply("404", "No destination");</font></div><div class=""><font color="#ff2600" class="">                exit;</font></div><div class=""><font color="#ff2600" class="">        }</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>xlog("L_DBG", "--- SCRIPT: going to <$ru> via <$du>\n");</font></div><div class=""><font color="#ff2600" class="">        t_set_fr(0,2000);</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">       </span>t_on_failure("RTF_DISPATCH");</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>route(RELAY);</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">       </span>return;</font></div><div class=""><font color="#ff2600" class="">}</font></div></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><div class=""><font color="#ff2600" class="">#!endif</font></div><div class=""><font color="#ff2600" class=""><br class=""></font></div><div class=""><font color="#ff2600" class="">##Failure route</font></div><div class=""><font color="#ff2600" class="">failure_route[RTF_DISPATCH] {</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>if (t_is_canceled()) {</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">              </span>exit;</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">       </span>}</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">   </span># next DST - only for 500 or local timeout</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>if (t_check_status("500")</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                 </span>or (t_branch_timeout() and !t_branch_replied()))</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">    </span>{</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span>if(ds_next_dst())</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">           </span>{</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                   </span>t_on_failure("RTF_DISPATCH");</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                     </span>route(RELAY);</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">                       </span>exit;</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">               </span>}</font></div><div class=""><font color="#ff2600" class=""><span class="Apple-tab-span" style="white-space:pre">   </span>}</font></div><div class=""><font color="#ff2600" class="">}</font></div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 16-Dec-2016, at 6:34 PM, David Villasmil <<a href="mailto:david.villasmil.work@gmail.com" class="">david.villasmil.work@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">you can achieve that with the dialog module.<br class=""><div class=""><a href="http://www.kamailio.org/docs/modules/4.4.x/modules/dialog_ng.html" class="">http://www.kamailio.org/docs/modules/4.4.x/modules/dialog_ng.html</a><br class=""></div></div><div class="gmail_extra"><br clear="all" class=""><div class=""><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class="">Regards,</div><div class=""><br class=""></div>David Villasmil<div class="">email: <a href="mailto:david.villasmil.work@gmail.com" target="_blank" class="">david.villasmil.work@gmail.com</a></div><div class="">phone: +34669448337</div></div></div></div>
<br class=""><div class="gmail_quote">On Fri, Dec 16, 2016 at 10:33 AM, Cibin Paul <span dir="ltr" class=""><<a href="mailto:paul_cibin@me.com" target="_blank" class="">paul_cibin@me.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br class="">
<br class="">
Is there a way to limit the number of active calls per cli or dst number basis? Yesterday my system had a ddos attack in which 123456 (CLI) was hitting 2345 (DID) at a rate of 100-200 calls per minute. I would like to restrict to 2-4 simultaneous calls per CLI/DST.<br class="">
<br class="">
Any help would be appreciated.<br class="">
<br class="">
Thanks,<br class="">
Cibin<br class="">
<br class="">
<br class="">
<br class="">
______________________________<wbr class="">_________________<br class="">
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br class="">
<a href="mailto:sr-users@lists.sip-router.org" class="">sr-users@lists.sip-router.org</a><br class="">
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank" class="">http://lists.sip-router.org/<wbr class="">cgi-bin/mailman/listinfo/sr-<wbr class="">users</a><br class="">
</blockquote></div><br class=""></div>
_______________________________________________<br class="">SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br class=""><a href="mailto:sr-users@lists.sip-router.org" class="">sr-users@lists.sip-router.org</a><br class="">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users<br class=""></div></blockquote></div><br class=""></div></body></html>