[SR-Users] Kamailio CDR logging to RADIUS

Daniel-Constantin Mierla miconda at gmail.com
Sat Nov 10 08:53:40 CET 2012


Hello,


On 6 Nov 2012, at 23:53, Owen Lynch <owen.lynch at paragon.co.nz> wrote:

> 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.920
> 
> but 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?

Iirc, the developer added support only for cdrs to log file. If nobody works on it, probably i will do it before next major release.

Cheers,
Daniel

> 
> Thanks,
> Owen
> 
> 
> On 7 November 2012 09:35, Owen Lynch <owen.lynch at 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_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")
> #!endif
> modparam("acc", "cdr_enable", 1)
> #modparam("acc", "cdr_facility", "LOG_LOCAL0")
> #!ifdef WITH_ACC_RADIUS
> modparam("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)
> #!endif
> 
> 
> 
> On 6 November 2012 20:52, Pawel Kuzak <pawel.kuzak at 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  4
>> modparam("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 INVITEs
>>         if (is_method("INVITE"))
>>         {
>>                 setflag(FLT_ACC); # do accounting
>>         }
>> 
>> 
>> Thanks,
>> Owen Lynch
> 
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at 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 at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20121110/77ee4eb9/attachment.htm>


More information about the sr-users mailing list