On 24/05/11 13:44, Pedro Costa wrote:
Hi,
I'm new to Freeradius and i am trying to figure a way to use Freeradius
to Authenticate a user through a CISCO GGSN in where the GGSN will send
the IMSI to the Freeradius and the Freeradius will connect to a
Postgresql DB doing a SELECT on 2 tables and will receive a Language
that the IMSI/User has stored in the database, the Freeradius will then
use the language (ex.: French or German) and choose the specific IP Pool
for that Language.
I'm currently trying to connect to Postgresql but i'm having doubt on
how can i acheive this purpose of selecting a ip pool based upon the
output of the SELECT command performed on the DB.
Yes. You can execute a SQL query from "unlang", and use this to set the
Pool-Name attribute; then use the sqlippool or other module to allocate
IPs from the pool.
e.g.
authorize {
...
update control {
Tmp-String-0 := "%{sql:select language from ... where ...}"
}
if (control:Tmp-String-0 == "english") {
update control {
Pool-Name := English-IP-Pool
}
}
else {
update control {
Pool-Name := French-IP-Pool
}
}
...
}
post-auth {
...
sqlippool
...
}
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html