freeradius, Calling-Station-Id
Help me please. Can't figure out how to authenticate my PBX calls only by Calling-Station-Id attribute, without username. /etc/raddb/users is useless here, right? Here's "radiusd -X > debug.txt" output: http://pastebin.com/LfB9NZvf
On Wed, Sep 05, 2012 at 09:53:49PM +0400, ZZ Wave wrote:
Help me please. Can't figure out how to authenticate my PBX calls only by Calling-Station-Id attribute, without username. /etc/raddb/users is useless here, right?
Here's "radiusd -X > debug.txt" output: http://pastebin.com/LfB9NZvf
In the authorize section of my sites-avail/default configuration, I have code which updates the username before doing an sql module lookup. I suspect you could do something like that for your authorize section depending on where you store your user authentication information. If I am correct, I think it would look something like: (untested) authorize { if ( "%{User-Name}" =~ //) { #User-Name is empty update request { User-Name := "%{Calling-Station-Id}" } } preprocess chap mschapp digest ... unix files sql ldap ... } Maybe the update request stuff should go in modules/preprocess? I, personally, would probably leave it in authorize{} to have my local changes spread into as few files as possible. Then your user file or other backend could have Calling-Station-Id values as usernames and set "Auth-Type := Accept" to get around not having a password. In my MySQL database's radcheck table, that looks like: +--------+-------------------+-----------+----+--------+ | id | username | attribute | op | value | +--------+-------------------+-----------+----+--------+ | 284803 | test | Auth-Type | := | Accept | +--------+-------------------+-----------+----+--------+ -- Scott Lambert KC5MLE Unix SysAdmin lambert@lambertfam.org
You can create another instance of rlm_files module that is using Calling-Station-Id as a key: # raddb/modules/callingids files callingids { key = "%{Calling-Station-Id}" usersfile = %{confdir}/callingids acctusersfile = %{confdir}/acct_callingids preproxy_usersfile = %{confdir}/preproxy_callingids } And you can use this module instance instead of files: # raddb/sites-available/default ... authorize { ... #files callingids ... } ... ZZ Wave wrote:
Help me please. Can't figure out how to authenticate my PBX calls only by Calling-Station-Id attribute, without username. /etc/raddb/users is useless here, right?
Here's "radiusd -X > debug.txt" output: http://pastebin.com/LfB9NZvf
------------------------------------------------------------------------
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
participants (4)
-
Alan DeKok -
Iliya Peregoudov -
Scott Lambert -
ZZ Wave