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