This is an old revision of the document!
Generic RADIUS Driver
Contact: Jan Janak
Abstract
The sip-router server contains several modules that can talk to a RADIUS server. We have acc_radius module that implements RADIUS accounting, we have auth_radius module which implementes digest authentication against a RADIUS server, we have a couple of other modules that can be used to retrieve bits of information from a RADIUS server. All these modules depend on a RADIUS client library and these is some portion of code that needs to be duplicated in those modules.
The goal of this task is to develop a generic RADIUS module called db_radius which can be then reused from all other RADIUS-modules. Instead of having acc_radius we will simply use acc_db to do RADIUS accounting, instead of acc_radius we will use acc_db to perform RADIUS digest authentication, and so on.
A RADIUS server is in fact nothing else than a special type of database running on a remote host and speaking the RADIUS protocol and thus we can develop a generic RADIUS database driver which will convert database operations performed by other sip-router modules through the database abstraction layer to RADIUS queries.
Reading List
- RFC 2866: RADIUS Accounting
- RFC 2869: RADIUS Extensions