Hi,
do you think would this be developed?
Here's how it works: The users balance is administered by the engine as a series of quotas representing a duration of use (in seconds).
A quota is a fragment of available credit. Allocating quotas in fragments rather than providing all the credit at once enables engine to support the use of credit for multiple simultaneous prepaid sessions.
To obtain the first quota for a session, engine requests a quota for a subscriber, then monitors the session to track the quota usage. When the quota runs out, engine performs another request.
During request, the prepaid engine will check an additional quota if there is available credit. If there is not available credit, engine forces the session to end.
Let me explain in a sample:
Simultaneous calls are 5 and engine interval is 180 secs
Balance before call: 60 euro
Italy rate: 0.6 euro/min
When caller dials Italy, engine will reserve 0.6*3=1.8 euro for next 3 minutes.
Outstanding balance will be decresed to 100-1.8=98.2 euro until end of 3rd minute.
Assume that he keeps on talking since 20 minutes. After 18th minute, a new quota will be reserved as 0.6*3=1.8 euro as always in this case.
Outstanding balance will be decresed to 49.2-1.8=47.4 euro.
Let's assume he hangs up at 20.5th minute. from 18 to 20.5 minute, there're 2.5 minutes which equals 1.5 euro. Reserved and not used 0.3 euro will paid back to outstanding balance and it will be 47.4+0.3=47.7 euro.
Total duration is 20.5 minutes equals to 12.3 euro 60-12.3=47.7 euro.

