[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
  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
  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
  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