The proxy server uses the concept of Authentication, Authorization, and Accounting (AAA). Until now, we have seen how to use a database to only authenticate and authorize users. We can use many different backends such as databases, RADIUS servers, plain text, and log files. Each backend serves a different purpose. The following table compares the most popular choices:
Backend |
Pros |
Cons |
---|---|---|
Database |
Simple. Fast. |
Corruption in a database can lead to billing problems and missing records. |
RADIUS |
Separation of the billing server. Reusing the existing RADIUS infrastructure in the VoIP provider. |
It is more complex. Dictionary additions and server configurations are sometimes tricky and time-consuming. The data will end up in a database. |
FlatStore (files) |
No corruption issues. |
An external program is required to send CDRs to a central repository. |