[SR-Users] call not being accounted when rejected by global blacklist
Panagiotis Skoulikaritis
pskoul at algonet.gr
Thu Apr 15 17:28:11 CEST 2010
Dear Ovidiu
Thanks, I will give it a try
Regards
Panagiotis
Ovidiu Sas wrote:
> You are sending a reply via the sl module and no tm transaction was created.
> Accounting is bind to tm (a tm transaction must be created in order to
> have an acc log).
>
> Try to do manual accounting:
> http://sip-router.org/docbook/sip-router/branch/master/modules_s/acc_syslog/acc_syslog.html#acc_log_request1
> http://kamailio.org/docs/modules/stable/modules_k/acc.html#id2850646
>
>
> Regards,
> Ovidiu Sas
>
> 2010/4/15 Panagiotis Skoulikaritis <pskoul at algonet.gr>:
>
>> Dear Lazlo
>>
>> I did set a flag for it, in fact I set all flags but it does not write
>> anything on the mysql or on a log file.
>>
>> if(!check_blacklist("globalblacklist")){
>> xlog("----- The number is blacklisted globaly! -----");
>> sl_send_reply("403", "Forbidden");
>> setflag(1);
>> setflag(2);
>> setflag(3);
>> exit;
>> }
>>
>> Thanks
>>
>> Panagiotis
>>
>> Laszlo wrote:
>>
>> 2010/4/15 Panagiotis Skoulikaritis <pskoul at algonet.gr>
>>
>>> Dear list members
>>>
>>> I'm using kamailio 3
>>> and the problem that I'm facing is that when a call is rejected by global
>>> blacklist, kamailio does not generate an accounting record.
>>> Is this normal behavior or I need to configure something somewhere ?
>>>
>>>
>>> Below are parts of the config file
>>>
>>>
>>> # ----- acc params -----
>>> modparam("acc", "early_media", 1)
>>> modparam("acc", "report_ack", 1)
>>> modparam("acc", "report_cancels", 1)
>>> modparam("acc", "detect_direction", 0)
>>> modparam("acc", "failed_transaction_flag", 3)
>>> #!ifdef WITH_ACCDB
>>> modparam("acc", "db_flag", 1)
>>> modparam("acc", "db_missed_flag", 2)
>>> modparam("acc", "db_url",
>>> "mysql://username:password@localhost/openser")
>>> modparam("acc", "db_extra",
>>>
>>> "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
>>> #!endif
>>>
>>>
>>> ----------------------
>>> if (has_totag()) {
>>> # sequential request withing a dialog should
>>> # take the path determined by record-routing
>>> if (loose_route()) {
>>> if (is_method("BYE")) {
>>> setflag(1); # do accounting ...
>>> setflag(3); # ... even if the transaction
>>> fails
>>> }
>>>
>>> -------------------------
>>> if (is_method("INVITE")) {
>>> setflag(1); # do accounting
>>> setflag(2); # log missed calls
>>> setflag(3); # log failed calls
>>> setflag(4); # do siptrace
>>> setflag(5); # log dialog
>>>
>>> -------------
>>> route[name] {
>>>
>>> # --- Remove # or %23 from rU ---
>>> bm_start_timer("hash_remove");
>>> if($rU =~ "^.*%+") {
>>> xlog("------- The number contains %23 ---- ");
>>> $rU = $(rU{re.subst,/^(.*)%23(.*)/\1\2/});
>>> xlog(" ------- The perl $rU ------- ");
>>> }
>>> if($rU =~ "^.*#+") {
>>> xlog("------- The number contains # ----");
>>> $rU = $(rU{re.subst,/^(.*)#(.*)/\1\2/});
>>> xlog("------- The perl $rU ------- ");
>>> } bm_log_timer("hash_remove");
>>> # --- PDT section ------ get service prefix to be appended before is
>>> send out
>>> bm_start_timer("pdt_lookup");
>>> if(!prefix2domain("2", "0"))
>>> {
>>> sl_send_reply("404", "Prefix not found");
>>> exit;
>>> }
>>> $var(dstgrp) = 0;
>>> $var(dstgrp) = $(rd{s.int});
>>> if($var(dstgrp)==0)
>>> {
>>> sl_send_reply("404", "Service not found");
>>> exit;
>>> }
>>> $avp(s:service_prefix) = $var(dstgrp);
>>> xlog("--$rU----------- $avp(s:service_prefix) --- PDT ---------\n");
>>>
>>> bm_log_timer("pdt_lookup");
>>>
>>> # --- DialPlan section --- get the routing group id
>>>
>>> xlog("----- The rU is $rU before DP -----\n");
>>> bm_start_timer("dialplan_lookup");
>>> if(dp_translate("1", "$rU/$rU"))
>>> {
>>> $avp(s:dstgrp) = $(var(dpattrs){s.int});
>>> xlog("----- The destination Drouting GroupID is
>>> $avp(s:dstgrp) -----\n ");
>>> }
>>>
>>> bm_log_timer("dialplan_lookup");
>>> xlog("----- The rU is $rU after DP -----\n");
>>> # --- Global Blacklist section ---
>>> bm_start_timer("blacklist_lookup");
>>> if(!check_blacklist("globalblacklist")){
>>> xlog("----- The number is blacklisted globaly! -----");
>>> sl_send_reply("403", "Forbidden");
>>> exit;
>>> }
>>>
>>>
>> ... set a flag for that, as it's just sending the 403 and then exit
>>
>> -Laszlo
>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>>
More information about the sr-users
mailing list