Posted on Sun 07 November 2021 in new release


Improvements to the rating engine:

  • Bug-fixes for (complex) nested rates using "external", "imported", "expected", and "parent" settings.
  • Switched to GHC 8.10.
  • Hacked calls can be managed in a better way, using a dedicated rating work-flow.
  • Improved the code importing CDRS from TWT vendor.
  • Improved DB schema.
  • Disabled whole sale number support because it is not used any more.
  • Improved comments and generation of random IDs.
  • Refactoring of code importing from FTP sites: better support for signaling missing files; better support for TWT provider.
  • A better recognition of ported telephone numbers for CDRs imported from TWT vendor.
  • Support for Solidal telephone numbers signaled by the TWT vendor.

Improvements to the Web UI:

  • Aded a filter for the active customers.
  • Can generate compressed specific rates respect a base (i.e. shared) rate.
  • Improved the web form for specifying new (CSV) rates.
  • Produce a CSV file with invocing data, for sending it to external billing tools. NOTE: not yet 100% production-ready.

Improvements to the instance configuration tool:

  • Adapted the code to the changes to CentOS and related repositories.
  • Improved regression tests.
  • MySQL can be configured for listening on and different ports.

Various improvements to the code, and minor bug-fixes.

How to upgrade

Install missing packages

Only for active instances, install manually these packages:

sudo yum install -y ncurses ncurses-libs ncurses-devel

Execute also this command

stack upgrade

Then upgrade Asterisell in the usual way, as described in the manual.

Test of the rating code, before upgrading

The rating-plan code has improved, and it should rate in the same way or in a better way, because it is respecting the true semantic described in the manual. In the previous version, some complex combination of "external", "imported", "expected", and "parent" settings caused the creation of a bad rate-plan respect the specifications of the manual.

  • The bug was not an intermittent bug, i.e. all calls were rated using a rate-plan different from the expected rate-plan.
  • The bug effect is rather easy to spot, because incomes were calculated using a different parameter.
  • The bug should be not present in normal rate-plans, but only in very complex rate-plans.

Now the same rate-plan is interpreted in the correct way. You should check the totals of calls before and after upgrading, for seeing if you are affected by the bug.

In case of differences in the totals:

  • check if the rate-plan was previously applied in a bad way, and so now it is calculated in the correct way
  • if the differences are not justified, consult the assistance

So before upgrading, save some rated CDR for detailed comparison in case of differences.

Decimal precision

For new instances the precision of calculations switched from 5 to 6 decimal digits.

Check the setting

conf_currency_decimal_places = 6

and if you are using an old instance, set it to 5 again. Otherwise CDRs will have a cost and income that are 10 times lower than the correct value.

TWT vendor

TWT vendor uses some non-standard telephone prefix for Italian ported telephone numbers. The code now sanitize them. This will take effect only on new rated CDRs.