Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tbd:db_radius [2009/04/29 16:40] janakj |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Generic RADIUS Driver ====== | ||
- | |||
- | **Contact: | ||
- | |||
- | ===== 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, | ||
- | 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. | ||
- | |||
- | ===== State of the Art ===== | ||
- | RADIUS related functionality is currently scattered across a number of sip-router modules. We have | ||
- | * **acc_radius**: | ||
- | * **auth_radius** | ||
- | * **misc_radius** | ||
- | |||
- | All three modules share some parts of RADIUS related code. All the modules have similar parameters, | ||
- | for example, they all need to be configured with a path to the configuration file of the radius | ||
- | client library. They all need to be provided with the radius attribute dictionary, and so on. | ||
- | |||
- | ===== Goals ===== | ||
- | |||
- | ===== Reading List ===== | ||
- | - RFC 2865: [[http:// | ||
- | ]] | ||
- | - RFC 2866: [[http:// | ||
- | - RFC 2869: [[http:// | ||
- | - RFC 4590: [[http:// | ||