Kamailio文本文件CDR

时间:2012-09-19 08:57:45

标签: voip kamailio

我试图让Kamailio将其CDR记录到文本文件而不是数据库。呼叫路由正常,但我的CDR目录中没有任何内容。以下是我认为的kamailio.cfg文件的相关内容。显然,这不是一切,但大多数是3.3.1发行版附带的默认值。呼叫根据分发文件进行路由,但在呼叫终止时没有任何内容写入/ var / log / kamailio目录。 Kamailio以kamailio:kamailio运行,目录由同属拥有。 wireshark跟踪显示正确的信令代码顺序(邀请到IVR,尝试,200,再见)和那里的音频。

感谢。

`...
loadmodule "dialog.so"
loadmodule "db_flatstore.so"
...
modparam("acc", "db_url", "flatstore:/var/log/kamailio") 
modparam("acc", "early_media", 0)
modparam("acc", "report_ack", 0) 
modparam("acc", "report_cancels", 0)
modparam("acc", "detect_direction", 0)
modparam("acc", "log_flag", FLT_ACC)
modparam("acc", "log_missed_flag", FLT_ACCMISSED)
modparam("acc", "log_extra", 
modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)
modparam("acc", "cdr_enable", 1)
modparam("acc", "cdr_flag", 3)
...
request_route {
    ...
        remove_hf("Route");
        if (is_method("INVITE")) {
                record_route();   
                setflag(FLT_ACC); 
                ds_select_dst("1","4");
                forward();
                exit();   
        }
        ...
}

`

1 个答案:

答案 0 :(得分:0)

被驾驶半便盆后发现问题。 问题在于“向前()” - 在这种情况下不会写入会计记录。

而不是使用forward()使用

if (!t_relay()) {
    sl_reply_error();
}

并且会计记录被神奇地写入。我的acc模块的模块也在各地,但这仍然是一项正在进行的研究,并不影响我在这里的基本问题。

如果有人比我更聪明可以解释为什么前锋没有写CDR,那么如果你能写评论,我将不胜感激。