I have this code in very beginning of Request
route of kamailio.cfg
# handle retransmissions
if (!is_method("ACK")) {
if(t_precheck_trans()) {
t_check_trans();
exit;
}
t_check_trans();
}
I think its left from the default config - i changed only few things in
default config to add calls per second limit / dispatcher some routing
logic but nothing more and set the flags for ACC module to save.
śr., 12 lut 2020 o 22:03 Voip support <voipexpert0(a)gmail.com>
napisał(a):
I am using kamailio 5.3 from debian (installed in
ubuntu 16.04)
repository.
Could you please explain bit more what flag to reset call-id you mean.
What does the code you pasted, where it should be in kamailio.cfg?
Thanks upfront for explanation!
Regards,
Tom
śr., 12 lut 2020 o 17:11 Julien Chavanton <jchavanton(a)gmail.com>
napisał(a):
> The flag will prevent duplicates. Which version are you using, there
> was a patch a few months ago
>
>
> The explanation shold be that you are resetting them.
>
> Are you using the following, one option to confirm that your logic is
> good is add one log line at INFO / NOTICE level logging each time you reset
> the flag including the call-id :
>
> if (t_precheck_trans()) {
> t_check_trans();
> exit;
> }
>
>
> On Wed, Feb 12, 2020 at 4:13 AM Voip support <voipexpert0(a)gmail.com>
> wrote:
>
>> Dear Community,
>> I have setup ACCDB module to save missed / failed and
>> successful calls.
>>
>> My issue is that i am getting duplicated entries for INVITE / BYE in
>> acc database table.
>>
>> For example:
>>
>>
id;method;from_tag;to_tag;callid;sip_code;sip_reason;time;src_ip;dst_user;dst_domain;src_user;src_domain;cdr_id
>>
231838;INVITE;21-7FC1D85;1914472180948750;KKyIdaaJceAu7pzN(a)172.16.0.35;200;OK;2020-02-11
>> 19:16:28;22.33.44.55;nlb124#78019989897056;11.11.11.11;asterisk;172.16.0.35;0
>>
231839;INVITE;21-7FC1D85;1914472180948750;KKyIdaaJceAu7pzN(a)172.16.0.35;200;OK;2020-02-11
>> 19:16:28;22.33.44.55;nlb124#78019989897056;11.11.11.11;asterisk;172.16.0.35;0
>>
231840;INVITE;21-7FC1D85;1914472180948750;KKyIdaaJceAu7pzN(a)172.16.0.35;200;OK;2020-02-11
>> 19:16:28;22.33.44.55;nlb124#78019989897056;11.11.11.11;asterisk;172.16.0.35;0
>>
231841;BYE;21-7FC1D85;1914472180948750;KKyIdaaJceAu7pzN(a)172.16.0.35;200;OK;2020-02-11
>> 19:16:36;22.33.44.55;;190.196.153.130;asterisk;172.16.0.35;0
>>
231842;BYE;21-7FC1D85;1914472180948750;KKyIdaaJceAu7pzN(a)172.16.0.35;200;OK;2020-02-11
>> 19:16:36;22.33.44.55;;190.196.153.130;asterisk;172.16.0.35;0
>>
231844;BYE;21-7FC1D85;1914472180948750;KKyIdaaJceAu7pzN(a)172.16.0.35;200;OK;2020-02-11
>> 19:16:36;22.33.44.55;;190.196.153.130;asterisk;172.16.0.35;0
>>
>> Following way:
>> # ----- acc params -----
>> /* what special events should be accounted ? */
>> modparam("acc", "early_media", 0)
>> modparam("acc", "report_ack", 0)
>> modparam("acc", "report_cancels", 0)
>> /* by default ww do not adjust the direct of the sequential requests.
>> * if you enable this parameter, be sure the enable "append_fromtag"
>> * in "rr" module */
>> modparam("acc", "detect_direction", 0)
>> /* account triggers (flags) */
>> modparam("acc", "log_flag", FLT_ACC)
>> modparam("acc", "log_missed_flag", FLT_ACCMISSED)
>> modparam("acc", "log_extra",
>> "src_user=$fU;src_domain=$fd;src_ip=$si;"
>> "dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
>> modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)
>> /* enhanced DB accounting */
>> #!ifdef WITH_ACCDB
>> modparam("acc", "db_flag", FLT_ACC)
>> modparam("acc", "db_missed_flag", FLT_ACCMISSED)
>> modparam("acc", "db_url", DBURL)
>> #modparam("acc", "db_extra",
>> # "src_user=$fU;src_domain=$fd;src_ip=$si;"
>> # "dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
>> modparam("acc", "db_extra",
>>
>> "src_user=$fU;src_domain=$fd;dst_user=$rU;dst_domain=$rd;src_ip=$si")
>>
>> # our lines
>> modparam("acc", "cdrs_table", "acc_cdrs")
>> modparam("acc", "cdr_on_failed", 1)
>> #!endif
>>
>> Then in routing config i set setflag(FLT_ACC FLT_ACCMISSED
>> FLT_ACCFAILED in several places.
>>
>> My question is - each setflag cause an entry to be saved in DB?
>> How can i debug and resolve the issue of duplicates.
>>
>> I am trying to use a CDR script found somewhere on siremis sites to
>> do the accounting but it's making trouble because due to duplicates in acc
>> table i am getting cdrs unique key violations.
>>
>> Secondary question is - if a BYE is not received / lost is there any
>> way to send a check triggered by kamailio to each caller and callee side to
>> check if dialog is still active.
>> I would not like to use session timers (as endpoints need to support
>> it).
>>
>> Best regards,
>> Tom
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users(a)lists.kamailio.org
>>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users(a)lists.kamailio.org
>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
_______________________________________________