Hello,

I am running freeradius 0.9.3. I need to run an external program after stop record arrives. I pass %{Acct-Unique-Session-Id}, %{User-Name} and %{Calling-Station-Id} to this external program. according to this username and callingnumber it does some calculations and should update radacct table for this acctuniquesessionid. The problem is that often my external program receives uniquesessionid which is not found in radacct. As noted in config, exec is called after sql so it should be there but... Is there any obvious reason for this? Now I decided to use Acct-Session-Id instead and since then I have no problems. Any suggestions?


my config:

...

modules {
realm RealM {
format = suffix
delimiter = "@"
}
preprocess {
with_cisco_vsa_hack = yes
}
files {
usersfile = ${confdir}/users
}
exec setprice {
wait = no
program = "/usr/local/radius/share/epw %{Acct-Status-Type} %{User-Name} %{Acct-Session-Id} %{Calling-Station-Id}"
input_pairs = request
}
detail {
detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d
detailperm = 0600
}
detail auth_log {
detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d
detailperm = 0600
}
acct_unique {
key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port-Id"
}
$INCLUDE ${confdir}/sql.conf
}


...

preacct {
        preprocess
}

accounting {
        acct_unique
        sql
        setprice
        detail
}


Best Regards, -- George Chelidze


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

Reply via email to