ionutboangiu 49f6c5982e Add reference value functionality to *transfer_balance action
The *transfer_balance action can now use a reference value to ensure
the destination balance reaches a specified amount. If the destination
balance exceeds the reference value, the excess is transferred back
to the source balance. If the destination balance is below the
reference value, the required amount is transferred from the source
balance to the destination balance to reach the specified reference
value. An error is returned if the transfer cannot achieve the
specified reference value.

Used by specifying DestinationReferenceValue inside ExtraParameters.

Other *transfer_balance changes:
- used json tags when unmarshaling ExtraParameters in order to be
able to shorten the names of the fields
- lock the destination account only if it's different from the
source account. It is still passed to the Guard function but
without a lock key and with 0 timeout.
- if the transfer happens within the same account, update the
account and execute its ActionTriggers only once.
- moved transfer units validation after retrieving/creating the
destination balance

*cdrlog action has been updated to create cdrs for reference
*transfer_balance actions, although improvements are needed and
the functionality is not completely tested.

APIerSv1.TransferBalance has been updated to take into account the
ReferenceValue parameter.

Added new *transfer_balance action unit tests to account for the
new changes.

Added integration tests (incomplete for now, but functionality
has been tested manually).
2024-06-13 13:56:40 +02:00
2024-06-13 10:45:14 +02:00
2024-06-12 14:53:30 +02:00
2024-06-06 13:17:59 +02:00
2024-05-16 14:46:30 +02:00
2024-06-11 18:49:39 +02:00
2024-05-16 14:46:30 +02:00
2024-04-08 13:14:02 +02:00
2024-06-12 14:53:30 +02:00
2023-09-26 21:33:40 +02:00
2020-06-24 16:28:50 +03:00
2019-06-12 22:11:43 +02:00
2024-05-09 12:07:53 +02:00
2024-05-23 10:20:04 +02:00
2024-05-23 10:20:04 +02:00
2024-05-13 13:14:37 +02:00
2023-09-26 21:33:40 +02:00
2019-09-04 16:22:08 +02:00

Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments

Build Status Documentation Status GoDoc

Features

  • Real-time Online/Offline Charging System (OCS).
  • Account Balances Management with bundle support.
  • Session or Event charging with reservation.
  • Rating engine.
  • CDR logging with support for Interim Records.
  • QoS LCR and LCR over Bundles.
  • Fraud detection with automatic mitigation.
  • Call Statistics with pattern monitoring.
  • Performance oriented.
  • Modular architecture.
  • Test driven development.
  • Plug-able/non-intrusive into existing setups.
  • Cloud-ready, built on independent micro-services with rich set of RPC APIs.
  • Agile in developing new features.
  • Very fast (5000+ req/sec on a single machine)
  • Good documentation.
  • Commercial support available

Documentation

Step by steps tutorials

Debian apt-get repository

Installing CGRateS from sources on minimal debian (for devel or testing)

Browsable HTML docs http://readthedocs.org/docs/cgrates/

PDF, Epub, Manpage http://readthedocs.org/projects/cgrates/downloads/

API reference godoc

Description
No description provided
Readme 110 MiB
Languages
Go 99%
Shell 0.7%
Jinja 0.1%
Python 0.1%