[OpenSIPS-Devel] [ opensips-Patches-2867994 ] Non-blocking AAA Accounting

SourceForge.net noreply at sourceforge.net
Tue Jun 28 10:12:54 CEST 2011


Patches item #2867994, was opened at 2009-09-27 11:34
Message generated for change (Comment added) made by cupotka2008
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086412&aid=2867994&group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: 1.6.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Alex Massover (cupotka2008)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: Non-blocking AAA Accounting

Initial Comment:
Hi!

I know that OpenSIPS moves to asynchronous processing, but meanwhile I did this patch for me to make Radius accounting request non-blocking (anyway they return nothing).
The patch is against 1.5.3, but if you like it I'll prepare the same against the trunk (1.6).

----------------------------------------------------------------------

Comment By: Alex Massover (cupotka2008)
Date: 2011-06-28 11:12

Message:
Hi Bogdan!

This patch was only initial part of work in creating non-blocking Radius
accounting. I did created such feature and we do use it in production. But
the solution we use is much more complex that this patch. This patch is
also wrong and shouldn't be applied, sorry for not deleting it by myself.

The solution I use requires following changes:
- patching freeradius-client lib for thread-safety
- patching OpenSIPS (I implemented producer-consumer model with thread
pool, not just a detached thread like this patch)
- compiling OpenSIPS with system malloc, since the internal memory manager
is not thread-safe

This solution solved the problem for us and works perfectly in production,
but it looks to be non-generic to be applied to OpenSIPS, depends on
customly patched external libs (freeradius-client) and doesn't work with
OpenSIPS default memory manager. Especially provided that non-blocking
processing is a part of 2.0 design.

Regarding 2.0, not sure how radius suff will be impelemented, but
freeradius-client lib is niether thread-safe nor reentrant. 

----------------------------------------------------------------------

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2011-06-27 20:38

Message:
Hi Alex,

have you used this patch in a production environment ?

Regards,
Bogdan

----------------------------------------------------------------------

Comment By: Alex Massover (cupotka2008)
Date: 2009-11-11 10:48

Message:
+ Not loosing accounting if can't create detached thread. In such case
accounting will happen in main thread in blocking mode.
- Removed old patch for 1.5.3

----------------------------------------------------------------------

Comment By: Alex Massover (cupotka2008)
Date: 2009-10-19 11:23

Message:
Added a full patch against 1.6:
- aaa accounting requests run in detached thread
- AAA API extended with log_aaa_message() function, it supposed to created
a well formatted string from aaa_message. The idea is to provide
comprehensive log for failed accounting request.

----------------------------------------------------------------------

Comment By: Alex Massover (cupotka2008)
Date: 2009-10-19 11:14

Message:
Added a full patch agains 1.6:


----------------------------------------------------------------------

Comment By: Alex Massover (cupotka2008)
Date: 2009-10-01 10:26

Message:
The acc module needs to be linked with -lrt

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086412&aid=2867994&group_id=232389



More information about the Devel mailing list