Asterisell-6.0.3-test

Posted on Mon 18 February 2019 in new release

Switched to 6.X version because this version is not compatible with previous 5.X stable versions:

  • the DB schema and application upgrade is not automatic
  • the code of the rating engine is heavily refactored
  • the instance is installed on an host/VM and not any more in a Docker container
  • the management tool changed a lot
  • the specification language of rates changed parts of its semantic and syntax, and rating rules had to be manually updated

The GitHub repo will be the same https://github.com/massimo-zaniboni/asterisell-v5 with "-v5" in the name, because there are various links to this repo, from external web-sites that I can not update.

Upgrading from v5.10.2-test

There are bug fixes and improvements in the installation scripts. If you are upgrading from v5.10.2-test you had to connect as root to every host in which there are Asterisell instances and

  • manually remove the first blank line from file /etc/rc.local
  • yum -y upgrade
  • `reboot now
  • upgrade the application using the usual commands (i.e. fab upgrade_app:HOST/INSTANCE)

Upgrading from last stable

For migrating from v5.9 (last stable), see the upgrading notes of previous post.

Changes

Improvements to the installation script, and installation of the last version of Percona server, and Ditac documentation generator.

Minor bug fixes in the management of resellers.

Minor bug fixes in the Web calls report pagination.

Refactored the rating code:

  • the two files with rating logic are now ~ 40% smaller, and with a more clear code
  • the rating language is more powerful

Rating specification language

Changed the semantic of normal rates: now in case of nested rates, the best rate to select is not chosen following every chain of nested rates until its end, and choosing the entire best matching chain, but only choosing the best matching children rate at the same level, and then repeating the choosing process only for the nested rates of the chosen rate. This semantic is more clear because choices are local, and always of depth one. Copying and pasting a nested-rate does not affect selection at upper nesting levels, but only selections of the rates at same nesting level. Read the manual for better clarifications.

Changed the syntax of external-rate in main-income-rate and main-cost-rate:

  • bundle-rate is now called bundle
  • bundle can be nested, and they can use different limits according the type of the call, but not different params
  • there are no external-rate, but use: [some-csv-rate] can be used inside every rate
  • this in external-rate is now called external
  • the best rate is selected only between nested rates at the same level, and then, in a recursive way, its best children rate is selected, and so on. On the contrary in previous stable version, the best leaf was selected, among all leafs
  • an extension with a direct bundle price-category assignation can use only its bundle, and not any more the bundle of its parent organization. Obviously the extension will still use the bundle of the parent, if the extension has no direct bundle assignation, and it inherits the parent bundle
  • calls-can-be-split is not any more present, and the fixed behaviour it is that a call can be rated according the bundle only if it respects entirely the bundle limits. This simplify the rating logic in case of nested bundle-rates, and it does no affect customers in normal usage case, and it is also more fair in case of calls with a cost on call on the bundle side.

Improved the documentation, semantic and implementation of bundle-rates:

  • better support for nested bundle-rates
  • simplified semantic, similar to the new semantic of nested normal rates

You had to review and in case adapt your main-income-rate and main-cost-rate according the new semantic and syntax.

Business support

Asterisell is not anymore supported for new users, but only for current customers already using it.