accounting scripts ?

Frank Bonnet f.bonnet at esiee.fr
Fri Oct 21 11:58:33 CEST 2005


Miguel wrote:
> Frank Bonnet wrote:
> 
>> Hello
>>
>> I'm searching for scripts that are able to parse the 
>> radacct/xxx.xxx.xxx.xxx/detail-xxxxxxx file to perform
>> some simple statistics ?
>>
>> Thanks
>>
>> - List info/subscribe/unsubscribe? See 
>> http://www.freeradius.org/list/users.html
>>
> what do you mean with parsing?, i got this, i call it summarize.pl, just 
> change the attributes that you want to extract, the result is a csv file,
> the output is to your screen, so you have to redirecte it to a file, 
> etc, with that csv file you can dump it to a db, or wharever. ej:
> 
> for standar output: # ./summarize.pl name_of_detail_file
> 
> for csv file: # ./summarize.pl name_of_detail_file > name_of_csv_file
> 
> 
> ### BEGIN ###
> 
> #!/usr/bin/perl
> #
> 
> 
> # define caracter de separacion para lineas
> $/ = "\n\n";
> 
> open(SUM,$ARGV[0]) or die "No se encontro archivo detalle";
> 
> print "h323-call-origin,h323-call-type,out-intrfc-desc,h323-connect-time,";
> print "Acct-Session-Time,h323-disconnect-time,h323-disconnect-cause,";
> print "Cisco-NAS-Port,Calling-Station-Id,Called-Station-Id\n";
> 
> while (<SUM>){
>    s/\t+//g;
>    @campos = split(/\n/);
>        foreach $c (@campos) {
>        ($cpo, $vlr) = split(/ = /, $c);
>        $vlr =~ s/^ |\"//g;
>        #print $cpo,$vlr,"\n";
>        if ($cpo eq "h323-call-origin") {$h323_call_origin = $vlr;}
>        if ($cpo eq "h323-call-type")   {$h323_call_type = $vlr;}
>        if ($cpo eq "Cisco-AVPair") {
>            if ($vlr =~ /out-intrfc-desc/) {
>                $out_intrfc_desc = (split("=",$vlr))[1];
>            }
>        }
>        if ($cpo eq "h323-connect-time")     {$h323_connect_time = $vlr;}
>        if ($cpo eq "Acct-Session-Time")     {$Acct_Session_Time = $vlr;}
>        if ($cpo eq "h323-disconnect-time")  {$h323_disconnect_time = $vlr;}
>        if ($cpo eq "h323-disconnect-cause") {$h323_disconnect_cause = 
> $vlr;}
>        if ($cpo eq "Cisco-NAS-Port")        {$Cisco_NAS_Port = $vlr;}
>        if ($cpo eq "Calling-Station-Id")    {$Calling_Station_Id = $vlr;}
>        if ($cpo eq "Called-Station-Id")     {$Called_Station_Id = 
> $vlr;}                             }
>    print 
> "$h323_call_origin,$h323_call_type,$out_intrfc_desc,$h323_connect_time,";
>    print 
> "$Acct_Session_Time,$h323_disconnect_time,$h323_disconnect_cause,";
>    print "$Cisco_NAS_Port,$Calling_Station_Id,$Called_Station_Id\n";
> }
> close SUM;
> 
> ### END ###
> - List info/subscribe/unsubscribe? See 
> http://www.freeradius.org/list/users.html

thanks also a lot !



More information about the Freeradius-Users mailing list