[Devel] ACC module - important changes

Bogdan-Andrei Iancu bogdan at voice-system.ro
Sat Sep 23 01:46:22 CEST 2006


Hi everybody,

I just commited on the CVS a grand ACC restructuring and clean-up. Here 
is form commit log:
    - simplify internal logic for preparing and message selection
    - more efficient data collection
    - eliminate the FMT-based accounting; instead of it, a default set of
      basic values are all the time accounted; for more, extra accounting
      should be used -> this leads to a more selective / flexible / 
performant
      accounting
    - pre-builds sets of names / columns / RADIUS AVPs / DIAMETER AVPs 
instead
      of doing it each time a request is accounted
    - "n/a" string for not found/available values replaced with empty 
string ""
    - eliminated a lot of un-necessary functions - heritage from the all TM
      callback design (pre pre-transaction transaction)
    - DB accounting table redesigned
    - accounting logic separated in a new file for a better modularity.
    - implemented an accounting environment for storing data; helps in 
reducing
      the number of function's parameters and of internal functions; more
      important, useless conversions from str to int and to int again are
      eliminated

The most important change was the drop of FMTs for a more flexible 
system: have a basic set of values used of call matching, plus the usage 
of extra accounting for anything more. The basic set is defined to :
    method name
    From URI
    From TAG
    To URI
    To TAG
    CallID
    Cseqno
    Reply code
    Reply reason
    Time stamp

having a timestamp generated by the proxy instead by the backend 
(syslog, RADIUS server, SQL server) is important as it is more accurate 
- the delays due transport to the backend server are eliminated. Also 
the time is logged in UNIX timestamp format to avoid confusions about 
timezones.

 From how to use it (enabling acc via flags), nothing changed :)..only 
some module parameters were lost. For more details, please see:
    http://openser.org/docs/modules/1.2.x/acc.html

any feedback is welcomed

regards,
bogdan








More information about the Devel mailing list