Hello Jabriel.

Dne sreda 09 marec 2005 11:36 je Jabriel Tezser napisal(a):
> Hi,
> I've a problem to getting byte-in and byte-out when processing accounting to 
> database on freeradius.
> Anybody have experience on this?

I use this to log bytes-in/out and packets-in/out + other data to the
MySQL database:

CREATE TABLE ACCOUNTING (
`User-Name` varchar(100) NOT NULL default '',
`Calling-Station-Id` varchar(100) NOT NULL default '',
`Client-IP-Address` varchar(100) NOT NULL default '',
`Called-Station-Id` varchar(100) NOT NULL default '',
`NAS-Port` int(10) unsigned NOT NULL default '0',
`Timestamp Start` datetime NOT NULL default '0000-00-00 00:00:00',
`Timestamp Dhcp` datetime NOT NULL default '0000-00-00 00:00:00',
`Timestamp Stop` datetime NOT NULL default '0000-00-00 00:00:00',
`Acct-Unique-Session-Id` varchar(100) NOT NULL default '',
`Acct-Session-Time` int(10) unsigned NOT NULL default '0',
`Acct-Input-Octets` int(10) unsigned NOT NULL default '0',
`Acct-Output-Octets` int(10) unsigned NOT NULL default '0',
`Acct-Input-Packets` int(10) unsigned NOT NULL default '0',
`Acct-Output-Packets` int(10) unsigned NOT NULL default '0',
`Acct-Terminate-Cause` varchar(100) NOT NULL default ''
) TYPE=MyISAM;

Of course you will need to check your NAS and see the actual
attribute names. These are for the Cisco AP12xx.

sql.conf:
sql {
    driver = "rlm_sql_mysql"
    server = "localhost"
    login = "<mysql user>"
    password = "<mysql password>"
    radius_db = "radius"

    accounting_start_query = "INSERT into ACCOUNTING SET\
        `User-Name` = '%{User-Name}',\
        `Calling-Station-Id` = '%{Calling-Station-Id}',\
        `Called-Station-Id` = '%{Called-Station-Id}',\
        `NAS-Port` = %{NAS-Port},\
        `Timestamp Start` = NOW(),\
        `Acct-Unique-Session-Id` = '%{Acct-Unique-Session-Id}'
    "

    accounting_update_query = "UPDATE ACCOUNTING SET\
        `Acct-Session-Time` = '%{Acct-Session-Time}',\
        `Acct-Input-Octets` = '%{Acct-Input-Octets}',\
        `Acct-Output-Octets` = '%{Acct-Output-Octets}',\
        `Acct-Input-Packets` = '%{Acct-Input-Packets}',\
        `Acct-Output-Packets` = '%{Acct-Output-Packets}'\
    WHERE `Acct-Unique-Session-Id` = '%{Acct-Unique-Session-Id}'\
    LIMIT 1
    "

    accounting_stop_query = "UPDATE ACCOUNTING SET\
        `Timestamp Stop` = NOW(),\
        `Acct-Session-Time` = '%{Acct-Session-Time}',\
        `Acct-Input-Octets` = '%{Acct-Input-Octets}',\
        `Acct-Output-Octets` = '%{Acct-Output-Octets}',\
        `Acct-Input-Packets` = '%{Acct-Input-Packets}',\
        `Acct-Output-Packets` = '%{Acct-Output-Packets}',\
        `Acct-Terminate-Cause` = '%{Acct-Terminate-Cause}'\
    WHERE `Acct-Unique-Session-Id` = '%{Acct-Unique-Session-Id}'\
    LIMIT 1
    "

} 


-- 
lep pozdrav,
Rok Papež.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to