[OpenSIPS-Users] Radius Async Support
Ionut Ionita
ionutionita at opensips.org
Mon Jul 27 15:26:40 CEST 2015
Hello all,
I’m glad to announce that OpenSIPS 2.2 now has async support for RADIUS
operations. This new extension allows you to do RADIUS authentication
and accounting requests (against a RADIUS server) in an asynchronous way
(by transparently using the OpenSIPS internal reactor).
A big problem we are trying to solve these days is trying to reduce the
time we wait for the response from a remote server we are talking to. We
definitely do not want to block one entire process while waiting for the
response. This exact problem arises when doing RADIUS authentication and
accounting, because we send a message to the radius server and wait for
the response. In order to solve this problem, we implemented these two
operations asynchronously - basically this translates into non-blocking
waiting for the responses from the RADIUS server.
There are two new async functions that are now exposed by the RADIUS
module:
***radius_send_auth(), authentication function [0]
*** *radius_send_acct(), accounting function [1]*
For the moment, freeradius-client[2] does not officially have any async
support, so we developed a patch for the library. We also proposed the
patch to freeradius-client team, and we hope it will reach future
versions. For the moment, you have to apply the patch manually over the
radius library. You can find a full tutorial on how to apply it here [3].
The patch has not been intensely tested in real life scenarios, so we
are looking forward to receiving feedback about any bugs you may find
and/or new functionalities that may be useful to you.
Best regards,
Ionut-Razvan Ionita
[0]
http://www.opensips.org/html/docs/modules/2.2.x/aaa_radius.html#id293595
[1]
http://www.opensips.org/html/docs/modules/2.2.x/aaa_radius.html#id293657
[2] https://github.com/FreeRADIUS/freeradius-client
[3]
http://www.opensips.org/html/docs/modules/2.2.x/aaa_radius.html#id294274*
More information about the Users
mailing list