mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-12 02:26:26 +05:00
4cd2dc3de8d8da471f6e91ca476b9466744167a1
The (*CDRServer).processEvent function is now called processEvents and can be passed an array of CGREvents instead of only one. This was done because when calling the RateCDRs API we want to first refund all CDRs before starting to debit again. The rerate parameter is now no longer hardcoded to true for the RateCDRs API.If required, the "*rerate" flag must be provided by the caller. Now, the refundEventCost function returns an additional boolean, that signals whether the refund occured or didn't. If the reRate parameter is set to true, also set refund to true. In case CostDetails is not populated, retrieve it from StorDB if possible and add it to the CGREvent before converting to CDRs. Set CostDetails back to nil once the refund goes through. Remove the refund logic from within the store block. Now that the refund happens before the debit, revise the expected values for the "testV1CDRsProcessEventWithRefund" subtest within the apier/v1/cdrs_it_test.go file. Add an integration test for the following scenario: -create one account with one balance of 1 free minute and rating for the rest. -send one CDR of two minutes with ProcessEvent. This should consume 60s out of the free balance and charge 60s. The SetupTime in the CDR should be 1 hour after the second CDR. -send the second CDR with an usage of 2m. This should be charged entirely. -send a RateCDR API call with OrderBy: "SetupTime". This should rerate the two CDRs from above and change their order of rating.
Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
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
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
Also check irc.freenode.net #cgrates (Webchat) and Google group for a more real-time support.
Description
Languages
Go
99%
Shell
0.7%
Jinja
0.1%
Python
0.1%
