Module rad_auth does only RADIUS authentication (and not the accounting).
The truly magic thing about the rad_auth is that you can specify your own list of VSAs (Vendor-Specific Attributes) to be included in the packet along with the standard ones that are being used.
VSA mappings can be used to specify additional VSA list in both radius request and radius response messages.
Including an additional VSA in a radius request message looks like this:
CALLINGNUMBER is a channel variable you can re-use later in the dialplan.
Extracting VSA of your interest from a radius response message looks like this:
Here you map VSA with vendor_id=9 and id=110 into a channel variable called PREFFERED_LANG so you can use it later in dialplan to play the correct language for instance.
1) To install the module you have to install freeradius-client first.
Go to http://freeradius.org/freeradius-client/ and download the package:
(or $ sudo checkinstall) Checkinstall will create and install a nice Debian package for you, otherwise you may use a traditional make install.
run ldconfig as root to update the shared libs links:
2) Go to FreeSWITCH source directory and edit the modules.conf
append applications/mod_rad_auth to the end
3) Run Freeswitch and verify that module is installed.
Here an example on how to use RADIUS for authentication:
In the dialplan you need to trigger auth as:
There are two behaviors:
- authorize the call according to username&pass and dialed number - if authorized, the radius server returns credit time towards the dialed number.
- authorize the call according to username&pass - if authorized, the radius server returns the current account balance.
For example, you may use the credit time for scheduled hangup of call: