Billing a voice call by the minute: whose clock counts?
A voice agent billing per minute must answer what most pricing pages skip: which clock. Ours or the carrier's. The two disagree, and one is defensible.
· 3 min read
The two clocks
When software places a phone call it can time that call in two places. It can start a stopwatch when it hands the number to the carrier and stop it when the line drops — its own clock. Or it can wait for the carrier's call detail record, the CDR, and bill the duration the carrier reports.
These disagree, and not by a rounding error. Our own clock starts while the phone is still ringing. It includes the seconds spent connecting, the time the recipient's phone spent deciding whether to divert to voicemail, and any delay in our own code noticing the call had ended. On a thirty-second conversation that can be a third of the bill.
It is also the clock that is easier to implement, and the one that quietly favours the seller. Which is a reason to be suspicious of it.
Ring time is not conversation
The customer's mental model is simple: they pay for talking. A call that rang for eighteen seconds and was never answered should cost nothing, and a call answered after eighteen seconds of ringing should cost from the moment somebody said hello.
Carriers already work this way. A CDR distinguishes the total duration from the billable duration, and the billable figure is the one the carrier charges for. If a product bills its own stopwatch while paying the carrier's billable duration, the difference is margin the customer did not agree to.
Why the carrier's number is the defensible one
There is a stronger argument than fairness, which is auditability. If a customer disputes a charge, a bill computed from our own clock can only be defended by our own logs — the same system that produced the charge. A bill computed from the carrier's CDR can be checked against a third party's record that neither side controls.
That is the whole reason Wani settles from the CDR. Credits are reserved before the dial, at the maximum the call could cost, and reconciled when the carrier reports what actually happened. Unused reservation is refunded. The rate is fixed at the moment of authorisation and never looked up again, so a repricing midway through a call cannot change what that call costs.
Rounding, and where the fraction goes
Per-minute billing means rounding up, because a 95-second call is two minutes. That is standard and it is fine, provided it happens once.
Where it stops being fine is fractional rates. If a plan charges 4.5 credits a minute and the ledger only stores whole credits, every call rounds up again — and ten two-minute calls cost 50 credits instead of 45. The fraction has to go somewhere, and the honest place is a running remainder carried between calls rather than a rounding gain on each one.
It is a small amount of money and a large amount of trust. A customer who works out that their per-minute rate is not the rate they were quoted does not conclude that the rounding was accidental.
What a pricing page should tell you
Three questions worth asking any voice product, ours included.
Which clock do you bill — yours or the carrier's? If the answer is vague, it is the seller's clock.
Is ringing time billed? A call nobody answered should cost nothing.
What happens to fractions of a credit? If each call rounds up independently, the advertised rate is not the effective rate.
None of this requires trusting anyone. All three are answerable from a bill and a call log, and a product that cannot answer them plainly has told you something.
Common questions
Is ringing time billed?
No. Billing uses the carrier's billable duration, which begins when the call is answered. A call nobody picked up costs nothing at all.
What happens if a call is cut off mid-conversation?
The carrier still issues a CDR with the duration up to the disconnect, and that is what is billed. Credits reserved beyond it are refunded.
Why reserve credits before the call instead of billing afterwards?
So a workspace cannot run a call it cannot pay for. The reservation is the maximum the call could cost at its configured length; the difference comes back once the carrier reports the real duration.
Can the rate change while a call is in progress?
No. The rate is fixed when the call is authorised and stored alongside the usage record, so settlement uses the rate that was quoted rather than looking it up again.
Related pages