I've made some progress. It seems that dlg_manage() is required in the route script. Now I have CDR in syslog:NOTICE: acc [acc_cdr.c:192]: st=1352240307.196; et=1352240319.116; d=11.920but not as a RADIUS record. Looking at the code I can only see syslog support for CDR in the acc module, is this the case?In the acc module I see a conditional build flag RAD_ACC but I think this would give the same functionality as the acc_radius module, which is radius transaction logging only. I have the acc-radius module loaded.So, my question remains - how to get CDR entry into radius?
Thanks,OwenOn 7 November 2012 09:35, Owen Lynch <owen.lynch@paragon.co.nz> wrote:
Hi Paul,yes, I have the standard acc parameters set up. I have RADIUS logging of transactions working (start and stop events on call establishment and clear down) but not CDR events. I understand that CDR support requires the dialog module and I figure that the dlg_flag needs to be set and cleared in the route script, but I'm not sure where.The relevant parameters are:# ----- 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_ACCDBmodparam("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")#!endifmodparam("acc", "cdr_enable", 1)#modparam("acc", "cdr_facility", "LOG_LOCAL0")#!ifdef WITH_ACC_RADIUSmodparam("acc_radius", "radius_config", "/usr/local/etc/radiusclient-ng/radiusclient.conf")modparam("acc_radius", "radius_flag", FLT_ACC)modparam("acc_radius", "radius_missed_flag", FLT_ACCMISSED)modparam("acc_radius", "radius_extra", "Called-Station-Id=$tu;Calling-Station-Id=$fu")# ----- dialog params -----modparam("dialog", "dlg_flag", 4)#!endifOn 6 November 2012 20:52, Pawel Kuzak <pawel.kuzak@1und1.de> wrote:
_______________________________________________Hi Owen,
I think basically you are right. But referring to your code example, did you set up the log_flag module parameter correctly? E.g.:
#!define FLT_ACC 1
modparam("acc","log_flag", FLT_ACC)
Greetings,
Paul
On 06.11.2012 00:34, Owen Lynch wrote:
Hi,
I have transaction accounting to RADIUS setup and get the start and stop events logged to file when a call is made. I want to extend this to also get CDR logs - call duration etc. To do this I understand I need to configure the acc module and load and configure the dialog module:
#!define FLD_DLG 4modparam("acc", "cdr_enable", 1)
modparam("dialog", "dlg_flag", FLD_DLG)
I was expecting extra entries in the RADIUS file but they don't appear. I think this is because I need to set and clear the dialog flag at appropriate places in the route script (e.g. setflag(FLD_DLG)) but I'm not sure where. Should this be done in the INVITE and BYE method handling as is currently done for the transaction accounting, e.g.:
# account only INVITEsif (is_method("INVITE")){setflag(FLT_ACC); # do accounting}
Thanks,Owen Lynch
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users