In wholesale VoIP, margins per minute are small and volumes are large. A tiny error in a rate, a billing increment or a balance setting can turn profitable traffic into a loss within hours. This lesson explains how rates, billing, balances and call detail records (CDRs) fit together, and what a NOC or billing team should check routinely. All prices below are invented examples.
Reading a rate deck
A rate deck is a table that vendors send to buyers (and that you send to your customers). A typical line contains:
| Field | Example | Meaning |
|---|---|---|
| Destination | Country Z – Mobile | Human-readable name |
| Prefix | 999 7 | Digits the dialled number starts with |
| Rate | 0.0150 | Price per minute in the deck currency |
| Increments | 60/60 | Minimum and step in seconds |
| Effective date | 2026-11-07 | When this price applies |
| Change | Increase | New / increase / decrease / unchanged |
(Prefix 999 is used here only as a made-up example; it is not a real country code.)
Longest prefix match
When a number matches several prefixes, the longest matching prefix wins. If the deck has both 999 (Country Z, all) and 9997 (Country Z mobile), a call to 9997123456 is billed at the mobile rate. Missing a specific prefix means calls fall back to the shorter, often cheaper, one — a classic way to lose money.
Billing increments
The increment pair decides how call duration is rounded:
1/1– per-second billing from the first second.30/6– minimum 30 seconds, then 6-second steps. A 40-second call is billed as 42 seconds.60/60– per-minute. A 61-second call is billed as 120 seconds.
If you buy on 60/60 and sell on 1/1, every short call costs you more than you charge, even if the per-minute rate looks profitable. Always compare increments as well as prices.
Rate changes and notice periods
Vendors typically send rate changes in advance. Increases usually come with a notice period; decreases may apply sooner. Your team must:
- Load the vendor’s new rates with the right effective dates.
- Check whether any customer prices now fall below cost.
- Notify affected customers of your own changes within your contractual notice period.
Calculating a charge
An example with invented figures: a call lasts 95 seconds to a destination sold at 0.0200 per minute on 30/6.
- 95 seconds is above the 30-second minimum. The remaining 65 seconds round up to the next 6-second step: 66. Billed duration = 30 + 66 = 96 seconds.
- Charge = 96 ÷ 60 × 0.0200 = 0.0320.
The vendor side is calculated the same way using the vendor’s rate and increments. Margin for the call is the difference.
Balances and credit
Prepaid
The customer pays in advance and the switch deducts each call from the balance. When the balance reaches zero, new calls are blocked. Prepaid limits your risk with new or unknown customers.
Postpaid
The customer is invoiced after the period, usually weekly or monthly. The switch allows calls up to a credit limit. Set limits that match the customer’s payment history and expected traffic; a credit limit far above what they normally use is unnecessary exposure.
Watch-outs
- A long-running call can push a balance below zero, because the switch may only check balance at call setup. Some systems can cut calls when credit runs out — know how yours behaves.
- Concurrent-call limits multiply this effect: many simultaneous calls can overspend a balance quickly.
- Payments must be recorded promptly so that good customers are not blocked by mistake.
Call detail records
A CDR is written for every call attempt. Typical fields include:
- Start time, answer time and end time.
- Caller and callee numbers, before and after rewriting.
- Customer account and mapping gateway; vendor routing gateway.
- Billed duration and charges on both sides.
- End reason or SIP response code, and which side hung up.
CDRs are used for invoicing, reconciliation, quality reporting (ASR and ACD are calculated from them) and troubleshooting.
Reconciliation and disputes
At the end of each billing period, partners compare their CDR totals. Small differences are normal — clocks differ slightly and calls that cross midnight may land in different periods. Larger differences point to a problem:
- Different rates loaded on each side.
- Calls rejected on one side but billed on the other.
- Different rounding or increments.
- Quality problems, such as falsely answered calls, that one side refuses to pay for.
To raise a dispute, provide specific evidence: a CDR extract, the destinations involved, and for quality issues, SIP traces and recordings. Our blog post on False Answer Supervision explains what evidence is useful in FAS disputes.
Daily checks for the billing and NOC teams
- Negative margin report: any destination where sell price is below buy price, or where increments make short calls unprofitable.
- Unrated calls: answered calls with no rate found on either side.
- Balance alerts: customers close to zero or near their credit limit.
- Unusual spend: a customer or destination with traffic far above normal, which can indicate fraud (see Lesson 7).
- Upcoming rate changes: vendor changes that take effect in the next few days.
Good habits
- Keep every rate deck you receive and send, with the date and email it came in.
- Use a second person to check large rate imports before they go live.
- Export CDRs regularly and keep them for the period your contracts and local rules require.
- Restrict who can change balances and rates in the switch, and keep an audit trail.
Key takeaways
- The longest matching prefix decides which rate applies to a number.
- Billing increments can make short calls unprofitable even when the per-minute rate looks fine.
- Prepaid limits risk; postpaid needs sensible credit limits and prompt payment recording.
- CDRs drive invoicing, reconciliation, KPIs and troubleshooting.
- Daily checks for negative margin, unrated calls and unusual spend prevent silent losses.
Quick quiz
1. A deck has prefixes 999 and 9997. Which rate applies to 9997123456?
The 9997 rate, because the longest matching prefix wins.
2. On 30/6 increments, how is a 40-second call billed?
42 seconds: 30-second minimum plus 10 seconds rounded up to 12.
3. Name two common causes of CDR reconciliation differences.
Different rates or increments loaded on each side, and calls billed on one side but rejected or disputed on the other (e.g. FAS).
Related reading
- What is FAS (False Answer Supervision) in VoIP and how to detect it (blog)
- VoxInspector – VoIP monitoring, FAS detection and route testing for VOS3000
- All training lessons · VoxComms home
Examples in this course use invented names (Vendor X, Customer Y, Country Z) and documentation IP ranges. Menu names and options differ between softswitch versions; always check your own system and vendor documentation.