<br><br><div class="gmail_quote">2010/4/15 Panagiotis Skoulikaritis <span dir="ltr"><<a href="mailto:pskoul@algonet.gr">pskoul@algonet.gr</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Dear list members<br>
<br>
I'm using kamailio 3<br>
and the problem that I'm facing is that when a call is rejected by global blacklist, kamailio does not generate an accounting record.<br>
Is this normal behavior or I need to configure something somewhere ?<br>
<br>
<br>
Below are parts of the config file<br>
<br>
<br>
# ----- acc params -----<br>
modparam("acc", "early_media", 1)<br>
modparam("acc", "report_ack", 1)<br>
modparam("acc", "report_cancels", 1)<br>
modparam("acc", "detect_direction", 0)<br>
modparam("acc", "failed_transaction_flag", 3)<br>
#!ifdef WITH_ACCDB<br>
modparam("acc", "db_flag", 1)<br>
modparam("acc", "db_missed_flag", 2)<br>
modparam("acc", "db_url",<br>
"mysql://username:password@localhost/openser")<br>
modparam("acc", "db_extra",<br>
"src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")<br>
#!endif<br>
<br>
<br>
----------------------<br>
if (has_totag()) {<br>
# sequential request withing a dialog should<br>
# take the path determined by record-routing<br>
if (loose_route()) {<br>
if (is_method("BYE")) {<br>
setflag(1); # do accounting ...<br>
setflag(3); # ... even if the transaction fails<br>
}<br>
<br>
-------------------------<br>
if (is_method("INVITE")) {<br>
setflag(1); # do accounting<br>
setflag(2); # log missed calls<br>
setflag(3); # log failed calls<br>
setflag(4); # do siptrace<br>
setflag(5); # log dialog<br>
<br>
-------------<br>
route[name] {<br>
<br>
# --- Remove # or %23 from rU ---<br>
bm_start_timer("hash_remove");<br>
if($rU =~ "^.*%+") { xlog("------- The number contains %23 ---- ");<br>
$rU = $(rU{re.subst,/^(.*)%23(.*)/\1\2/});<br>
xlog(" ------- The perl $rU ------- ");<br>
} <br>
if($rU =~ "^.*#+") { xlog("------- The number contains # ----");<br>
$rU = $(rU{re.subst,/^(.*)#(.*)/\1\2/});<br>
xlog("------- The perl $rU ------- ");<br>
} bm_log_timer("hash_remove");<br>
# --- PDT section ------ get service prefix to be appended before is send out<br>
bm_start_timer("pdt_lookup");<br>
if(!prefix2domain("2", "0"))<br>
{<br>
sl_send_reply("404", "Prefix not found");<br>
exit;<br>
}<br>
$var(dstgrp) = 0;<br>
$var(dstgrp) = $(rd{<a href="http://s.int" target="_blank">s.int</a>});<br>
if($var(dstgrp)==0)<br>
{<br>
sl_send_reply("404", "Service not found");<br>
exit;<br>
}<br>
$avp(s:service_prefix) = $var(dstgrp);<br>
xlog("--$rU----------- $avp(s:service_prefix) --- PDT ---------\n");<br>
<br>
bm_log_timer("pdt_lookup");<br>
<br>
# --- DialPlan section --- get the routing group id<br>
<br>
xlog("----- The rU is $rU before DP -----\n");<br>
bm_start_timer("dialplan_lookup");<br>
if(dp_translate("1", "$rU/$rU"))<br>
{<br>
$avp(s:dstgrp) = $(var(dpattrs){<a href="http://s.int" target="_blank">s.int</a>});<br>
xlog("----- The destination Drouting GroupID is $avp(s:dstgrp) -----\n ");<br>
}<br>
<br>
bm_log_timer("dialplan_lookup");<br>
xlog("----- The rU is $rU after DP -----\n");<br>
# --- Global Blacklist section ---<br>
bm_start_timer("blacklist_lookup");<br>
if(!check_blacklist("globalblacklist")){<br>
xlog("----- The number is blacklisted globaly! -----");<br>
sl_send_reply("403", "Forbidden");<br>
exit;<br>
}<br>
<br></blockquote><div><br>... set a flag for that, as it's just sending the 403 and then exit<br><br>-Laszlo <br></div><div> </div></div><br><div style="visibility: hidden; display: inline;" id="avg_ls_inline_popup">
</div><style type="text/css">#avg_ls_inline_popup { position:absolute; z-index:9999; padding: 0px 0px; margin-left: 0px; margin-top: 0px; width: 240px; overflow: hidden; word-wrap: break-word; color: black; font-size: 10px; text-align: left; line-height: 13px;}</style>