[freeside-devel] OpenRADIUS support

ivan ivan at 420.am
Tue Dec 14 14:22:52 PST 2004


On Tue, Dec 14, 2004 at 03:28:34PM +0100, Emile van Bergen wrote:
> Hello,
> 
> I would like to establish a good interface between Freeside and
> OpenRADIUS.
> 
> As both are quite flexible in allowing you to adapt to 'the other end',
> there are many options to consider. 
> 
> Of course I could simply make OpenRADIUS look as much as ICRadius or
> FreeRADIUS as possible, but I would like to aim for elegance, and take
> advantage of both product's strengths. 

Configuring OpenRADIUS to use the same sort of database schema as
FreeRADIUS and ICRADIUS certainly isn't all that unreasonable an idea,
especially since that schema is becoming a de-facto standard (RADIATOR
can also be configured to use a schema like this too).  Personally I
don't see anything particularly inelegant about going this route for new
installations.

It doesn't do anything for users with existing OpenRADIUS databases, of 
course, so if you wanted to work on an OpenRADIUS-specific export I'd be 
happy to include it.

> At one extreme, I could write an OpenRADIUS behaviour file that uses
> Freesides own database schema directly, in real time.

Not that it matters, but I'm not personally too keen on this sort of
architecture.  I think of Freeside as a central, private database that
pushes information to (and pulls information from) external, public
databases and servers.

> At the other extreme, Freeside could get an export to tie in to one of
> the current example database setups that come with OpenRADIUS.

This would be my preference if you'd like to work on an
OpenRADIUS-specific export.  I'd suggest creating
FS::part_export::openradius by starting with FS::part_export::sqlradius
and modifying it to suit your needs.

If there's any sort of standard / most-popular / best-practice schema
that is distributed with OpenRADIUS that's probably what the export 
should work against.

> Another question is for a pointer to a reference what Freeside needs at
> the minimum from a RADIUS server in order to offer its full
> functionality. Eg. other than the flexible exports mechanism to push
> accounts to the RADIUS server, what type of mechanisms exist to get
> accounting data?

If your export offers a "usage_sessions" method like
FS::part_export::sqlradius, it should be trivial to get all the
usage-based functionality working (looking at sessions, billing on 
time/data, the new RADIUS VoIP billing, and so on).

-- 
_ivan



More information about the freeside-devel mailing list