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 <[email protected]> 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;[email protected];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;[email protected];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;[email protected];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;[email protected];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;[email protected];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;[email protected];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
> [email protected]
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users