Dear users,<br><br>I'm using kamailio in the following scenario:<br><br>1.
A call comes in and is checked against PDT module. From this module
depend from the prefix I'm getting back the domain which is used as the
dialplan group.<br>
2. After that the call is checked against Dialplan module using the
previous value from PDT as Dialplan dpid. From the Dialplan module i
get back the the attributes values.<br>3. these attributes values are user in the dispathcher module where I continue with failover scenarios.<br>
<br>Also the script is working with a radius for accounting purposes.<br><br>This scenario works perfecttly and it is still in a testing mode.<br><br>An the problem:<br><br>I'm
running SIPP against this scenario and until the CPS is 5 everything
looks good. The scenario for SIPP is the simplest. uac and uas default.
Uac is sending a call and uas is answering. <br>
When the CPS goes above 9 then I have call failures. All the statistics are going down.<br>I'm
cheking for CPU load or other system problems but I don't see anything
strange. Does anyone understand why this is happening?<br>
<br>I'm attachng the 2 routes that i'm using:<br><br><br>test values in order to understand the script<br><br><b>PDT value = 1 (used for the dialplan group)<br>Dialplan value = 100.101.102.#<br>Dispatcher values:<br>
100 = 10.0.0.5<br>101 = 10.0.0.6<br>102 = 10.0.0.7</b><br><br><br>Thank you in advance<br><br>Alex<br><br><br><br><br>route[7] {<br><br> if(prefix2domain("2", "0")) {<br> <br> $var(dial_grp) = $(rd{<a href="http://s.int/" target="_blank">s.int</a>});<br>
if(dp_translate("$var(dial_<div id=":5" class="ii gt">grp)", "$rU/$rU"))<br> {<br> <br> $var(i) = 0;<br> while($(avp(s:dest){s.select,$var(i),.})!="#")<br>
{<br> $avp(s:dstgrp) = $(avp(s:dest){s.select,$var(i),.}{<a href="http://s.int/" target="_blank">s.int</a>});<br> $var(i) = $var(i) + 1;<br>
<br> } <br>
<br> $avp(s:user) = $rU;<br> <br><br> if(ds_select_domain("$avp(s:dstgrp)", "4"))<br> {<br>
<br><br> if($(ru{uri.param,prefix})!=null)<br> {<br> $ru = "sip:" + $(ru{uri.param,prefix}) + $rU + "@" + $rd;<br>
} else {<br> $ru = "sip:" + $rU + "@" + $rd;<br> }<br>
$avp(s:dstgrp) = null;<br> t_on_failure("2");<br> t_relay();<br> exit;<br>
}<br> }<br> sl_send_reply("404", "No route found");<br> exit;<br> }<br>}<br> <br><br>failure_route[2] {<br><br> if(t_was_cancelled()) {<br>
exit;<br> }<br><br> if(t_check_status("4[0-9][0-9]|5[0-9][0-9]"))<br> {<br><br> if(ds_next_domain())<br> {<br> if($(ru{uri.param,prefix})!=null)<br> {<br> $ru = "sip:" + $(ru{uri.param,prefix}) + $avp(s:user) + "@" + $rd;<br>
} else {<br> $ru = "sip:" + $avp(s:user) + "@" + $rd;<br> }<br> t_on_failure("2");<br> append_branch();<br> t_relay();<br>
exit;<br> } else {<br><br> if($avp(s:dstgrp)!=null)<br> {<br> if(ds_select_domain("$avp(s:dstgrp)", "4"))<br> {<br><br> if($(ru{uri.param,prefix})!=null)<br>
{<br> $ru = "sip:" + $(ru{uri.param,prefix}) + $avp(s:user) + "@" + $rd;<br> } else {<br> $ru = "sip:" + $avp(s:user) + "@" + $rd;<br>
}<br> $avp(s:dstgrp) = null;<br> t_on_failure("2");<br> append_branch();<br> t_relay();<br> exit;<br>
}<br> } else {<br> t_reply("444", "No more tries for you!");<br> }<br> }<br>}</div>