Hello to all
I enabled the acc module but it isn't writing to "acc" or
"missed_calls" table in mysql, and to a log file too.
my config:
(...)
loadmodule "db_mysql.so"
loadmodule "tm.so"
loadmodule "rr.so"
(...)
# ----- acc params -----
/* what sepcial events should be accounted ? */
modparam("acc", "early_media", 1)
modparam("acc", "report_ack", 1)
modparam("acc", "report_cancels", 1)
/* 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", "failed_transaction_flag", 3)
modparam("acc", "log_flag", 1)
modparam("acc", "log_missed_flag", 2)
modparam("acc",
"log_extra","src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
/* uncomment the following lines to enable DB accounting also */
modparam("acc", "db_flag", 1)
modparam("acc", "db_missed_flag", 2)
modparam("acc", "db_url",
"mysql://xxx:xxxx@localhost/kamailio")
modparam("acc", "db_extra",
"src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
Flags 1 and 2 set just like in a sample configuration file.
(...)
if (loose_route()) {
if (is_method("BYE")) {
setflag(1); # do accounting ...
setflag(3); # ... even if the transaction fails
}
route(1);
(...)
# account only INVITEs
if (is_method("INVITE")) {
setflag(1); # do accounting
}
Mysql tables are created:
| acc | CREATE TABLE `acc` (
`id` int(10) unsigned NOT NULL auto_increment,
`method` varchar(16) NOT NULL default '',
`from_tag` varchar(64) NOT NULL default '',
`to_tag` varchar(64) NOT NULL default '',
`callid` varchar(128) NOT NULL default '',
`sip_code` char(3) NOT NULL default '',
`sip_reason` varchar(32) NOT NULL default '',
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`src_ip` varchar(64) NOT NULL default '',
`dst_user` varchar(64) NOT NULL default '',
`dst_domain` varchar(128) NOT NULL default '',
`src_user` varchar(64) NOT NULL default '',
`src_domain` varchar(128) NOT NULL default '',
`cdr_id` int(11) NOT NULL default '0',
`dst_ouser` varchar(64) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `acc_callid` (`callid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
| missed_calls | CREATE TABLE `missed_calls` (
`id` int(10) unsigned NOT NULL auto_increment,
`method` varchar(16) NOT NULL default '',
`from_tag` varchar(64) NOT NULL default '',
`to_tag` varchar(64) NOT NULL default '',
`callid` varchar(128) NOT NULL default '',
`sip_code` char(3) NOT NULL default '',
`sip_reason` varchar(32) NOT NULL default '',
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`src_ip` varchar(64) NOT NULL default '',
`dst_user` varchar(64) NOT NULL default '',
`dst_domain` varchar(128) NOT NULL default '',
`src_user` varchar(64) NOT NULL default '',
`src_domain` varchar(128) NOT NULL default '',
`cdr_id` int(11) NOT NULL default '0',
`dst_ouser` varchar(64) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `mc_callid` (`callid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
There are no errors in log, and nothing about acc module in debug mode.
Cant get where is my mistake.