1. CID based callback - this calls you back only if A2Billing recognises your Caller ID.
2. All-Callback - this calls you back at your caller ID, and then prompts for a PIN.
There are differences in the way that the two types of calls are rated.
In the case of the CID based callback, the customer's callplan is used, and then the A Leg and the B Leg are added together from the same rate table. A different rate table for the A Leg can be selected by invoking the 5th parameter when calling CID callback. e.g.:-
[a2billing-cid-callback] exten => _X.,1,deadagi(a2billing.php|4|cid-callback|||5) exten => _X.,n,Hangup
"4" is agi-conf4 "5" is ID of Call Plan which includes Ratecard and Rate to charge Leg A.
The callback_bill_1stleg_ifcall_notconnected selects whether the A Leg is charged from A Leg answer, or whether it is charged from B Leg answer. E.G. If set to charging when the A Leg is answered, the customer will still be charged even if the B Leg does not connect.
In the case of All-Callback, the rate used for the A Leg is selected from the callplan specified in all_callback_tariff in the system settings / callback / all_callback_tariff. The B Leg rate is determined by the customer's call plan.
callback_reduce_balance is a setting used to reduce the balance by a fixed amount to avoid negative credit. It is set to 1 by default. It must never be set to 0, but can be set to a very small value, e.g. 0.001.
The Call-back screen shows the callbacks launched. If Asterisk is restarted, then the callback Daemon must also be restarted, as the callback daemon must start after Asterisk.
The list of callbacks will also show why they have failed.