Call authorization
The billing system must support a type of call authorization which is specific to callback services. For normal service (e.g., using prepaid cards) the question for authorization is, "If account 12065554123 has $5 available, and tries to call 861234567, is he allowed to talk at all and, if yes, for how long?" In this case, the billing system finds the applicable rate for 861234567 (let us assume it is $0.10/min, rounded to 60-second increments) and then calculates the allowed maximum duration as 5/0.10=50 minutes. This task becomes more complicated as the rating formula is more complex, including multiple intervals and special surcharges (a.k.a. billing tricks).
With callback, it becomes more complicated still. Now the question is, "If account 12065554123 has $5 available, and tries to call 861234567 and 42029876543 at the same time, for how long should he be allowed to talk?"
Thus the maximum allowed call duration must be calculated in such a way that the sum of the charges for the first and second calls does not exceed $5. Since rates for China and the Czech Republic will most certainly be different, and the rates will include different intervals and surcharges, this task becomes quite complicated and is therefore not supported by most billing systems. However, PortaBilling supports special callback authorization, and is available to provide authorization for advanced callback services.
Charging a call
After the call has been completed, billing should take appropriate action to calculate the call charges, write an xDR to the database and modify the account’s balance as well as any other applicable tasks. PortaBilling supports all of the callback features described and allows you to implement flexible rating for callback services.