[OpenSIPS-Devel] [OpenSIPS/opensips] 5ee21c: [acc] introducing new extra/leg engine; module re...
ionutrazvanionita
ionutionita at opensips.org
Mon Jul 25 18:27:39 CEST 2016
Branch: refs/heads/master
Home: https://github.com/OpenSIPS/opensips
Commit: 5ee21cd112e3cd881566fc75e275ca5417ee9501
https://github.com/OpenSIPS/opensips/commit/5ee21cd112e3cd881566fc75e275ca5417ee9501
Author: ionutrazvanionita <ionutionita at opensips.org>
Date: 2016-07-25 (Mon, 25 Jul 2016)
Changed paths:
M modules/acc/acc.c
M modules/acc/acc.h
M modules/acc/acc_extra.c
M modules/acc/acc_extra.h
M modules/acc/acc_logic.c
M modules/acc/acc_logic.h
M modules/acc/acc_mod.c
M modules/acc/acc_mod.h
A modules/acc/acc_vars.c
A modules/acc/acc_vars.h
R modules/acc/diam_avp.c
R modules/acc/diam_dict.h
R modules/acc/diam_message.c
R modules/acc/diam_message.h
R modules/acc/diam_tcp.c
R modules/acc/diam_tcp.h
Log Message:
-----------
[acc] introducing new extra/leg engine; module redesign
Redesigning accounting module extra values engine raised
new problems which in the end were solved by redesigning the
whole accounting module.
First of all an accounting module context was created
which is available for the whole dialog lifetime. Having
this mechanism all values that were stored in avps or dialog
values are now being held in this context.
Using the new dialog callback that is triggered at shutdown,
extra and leg values are not abusing anymore of dialog values.
We store them there only when OpenSIPS closes by any means. This
made the code look a lot cleaner and the program faster by not
creating a dialog value for all INVITEs and restoring it for each
BYE.
Accounting module extra values new engine are the main purpose
of this commit. There are only two variables now, called
$acc_extra and $acc_leg. They are visible during the whole lifetime
of a dialog and provide a much cleaner and easier way to use this
powerful engine.
New parameters have been defined, extra_fields and leg_fields
through which one can define tags and log values. The tags are
used to reference $acc_extra and $acc_leg variables, whereas the
leg_fields will be the value that you will see in the logs.
As concerning the acc_leg variable, new legs can be created
using acc_new_leg() function. The value of the current leg can
be retrieved using $acc_current_leg. It's the script writer the
one who has to decide when is the moment to jump to a new leg.
Also from this commit diameter support from acc module has been
removed. Diameter didn't have any support and it wasn't
compatible with a diameter server.
Commit: 2e36f29d686b26973e9f8ff25c76a513c8f0c12b
https://github.com/OpenSIPS/opensips/commit/2e36f29d686b26973e9f8ff25c76a513c8f0c12b
Author: ionutrazvanionita <ionutionita at opensips.org>
Date: 2016-07-25 (Mon, 25 Jul 2016)
Changed paths:
M modules/acc/README
M modules/acc/doc/acc_admin.xml
Log Message:
-----------
[acc] updated docs for previous commit
Compare: https://github.com/OpenSIPS/opensips/compare/b7f194e26472...2e36f29d686b
More information about the Devel
mailing list