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

Reply via email to