Billing¶
Billing - one of the most important and most extensive component Streamco Smartswitch.
The system is tightly integrated with billing in almost every aspect of call processing.
Below the billing subsystem is described in more detail.
The call itself is composed of N parts (legs): 0-1 inbound (terminated by the system) and 0+ or more outgoing (originated by system).
The legs are connected in this way: every incoming leg obtains a unique identifier (ID of the session), which is then inherited by all derivative legs.
When all of the legs (channels) of a call have been hung up the legs can easily be linked via the Session ID.
This binding allows you to analyze the routing of calls in Call detail report.
In its simplest configuration, the system performs the billing of a call on its completion.
When the call is completed, the billing system calculates its duration in minutes, according to the configured billing increment for the destination code.
And, accordingly, by multiplying the duration and price and applying additional rules of evaluation, calculates the final cost of the call.
The billing for each leg of the call is calculated independently.
After calculation, the final cost of the call is stored in billing for CDR and balances are updated accordingly.
In a slightly more complex configuration it may be needed to maintain balance non-negative.
This would require to perform a cut-off on the call basing on balance.
This topic is covered in chapter Balances.
Billing system has a billing cache, which contains information about the performed billing in processed and optimized form.
This allows to perform balance cut-off and calculation of Consumption profile in real time.
See also: