Pull up your last phone bill and count the lines. A PRI here (23 channels), a block of 20 SIP trunks there, six POTS lines someone ordered in 2009. Now answer one question: at the busiest moment of your busiest day last month, how many of those were carrying a call at the same time?
Few telecom managers can answer, and that gap explains why most organizations pay for 30 to 50 percent more trunk capacity than they use. Someone sized the trunks years ago for a bigger office, a different business, or on the advice of a vendor with no incentive to sell less, and the count has sat untouched since. With many offices still half-empty in 2021 and more calls shifted to mobile and video, the gap between what you rent and what you use keeps widening.
Your PBX already records the data that answers the question, down to the call.
Trunk utilization, defined
A trunk (carriers also say line or channel, and mix the terms) carries one conversation at a time. Trunk utilization is the share of your trunks busy at the same moment. If you have 23 PRI channels and your peak last month was 9 concurrent calls, your peak utilization was 39 percent. The other 14 channels did nothing but appear on the bill.
Nights and weekends drag the average down and flatter you. Size against utilization during the busy hour.
Find your busy hour
The busy hour is the 60-minute window of the week with the most simultaneous call traffic. For most businesses it lands in the same slot week after week: Monday 10–11 a.m. for support desks, the lunch hour for medical offices. You size trunks for the busy hour, accept a tiny chance of blocking during it, and the quiet rest of the week takes care of itself.
Step one: chart concurrent calls per 15-minute interval over at least four full weeks (to catch month-end spikes) and find the peak. Four weeks is the minimum; a seasonal business should pull data from its busiest season rather than from July.
Erlangs without the math
You will run into the word “erlang” in any trunk-sizing discussion, and it is less scary than it looks. One erlang is one trunk kept busy for one hour. If your office makes 90 calls during the busy hour and each averages 4 minutes, that is 360 call-minutes, or 6 erlangs: the same load as 6 trunks busy nonstop.
You cannot buy 6 trunks and call it done, because calls clump instead of spacing themselves out. The classical Erlang B tables answer one question: given this load, how many trunks keep busy signals down to 1 caller in 100? For 6 erlangs at 1 percent blocking, the answer is 12 trunks. Free Erlang B calculators are all over the web, so skip the hand computation and keep the intuition: you need more trunks than your average load suggests, and fewer than you have installed.
Measuring concurrent calls from CDR data
Every CDR record has a start time and a duration, which means concurrency is a counting exercise: for each moment in time, count the calls whose interval covers it. A workable method in a spreadsheet or script:
- Export a month of CDRs with start time and duration.
- For every call, generate two events: +1 at the start, −1 at the end.
- Sort all events by timestamp and keep a running sum.
- The maximum of the running sum is your true peak concurrency; the running sum sampled every 15 minutes gives you the chart.
Two practical warnings. First, do this per trunk group: you size the PRI to one carrier and the SIP trunks to another as separate questions, and an internal extension-to-extension call uses no trunk at all, so filter the export to external calls. Second, include zero-duration (unanswered) calls in the export if you want to count ringing time against capacity; on most systems ringing occupies the trunk the same way talking does.
Rules of thumb for sizing
Once you know busy-hour peak concurrency per trunk group, sizing is short work:
| Situation | Sizing guidance |
|---|---|
| General office | Peak concurrent calls + 20% headroom |
| Call center / revenue line | Erlang B at 1% blocking on busy-hour erlangs |
| Outbound dialing team | Size to the dialer’s configured maximum, not history |
| Fax, alarm, elevator lines | Leave alone (see below) |
Round up to the carrier’s billing increments. SIP trunks sell per channel, which is a big reason companies migrate off PRI: if your peak is 9 calls, you can buy 12 SIP channels instead of renting 23 PRI channels because 23 is the size PRI comes in.
The dollar value of the cuts
Realistic 2021 numbers: a business POTS line runs $40–60 a month once fees are added, a PRI runs $300–500, and SIP channels run $10–25 each. A company that replaces a half-idle PRI with 12 SIP channels and drops four forgotten POTS lines saves $400–600 a month, $5,000–7,000 a year, without a single user noticing. We have watched call accounting reviews find lines billing for years that terminated on a punch-down block in a closet and nothing else.
The lines you should NOT cut
Before you cancel anything, walk the site. Some low-traffic lines are low-traffic because they exist for the one day they matter:
- 911 / emergency lines. A POTS line kept as an emergency dial-out path stays.
- Fire alarm and security panels. These often hold dedicated POTS lines that run their tests at 3 a.m. and bypass the PBX: zero CDRs on your side, line in use all the same.
- Elevator phones. Building codes require them in most jurisdictions.
- Fax lines for departments with regulatory fax needs (healthcare, legal).
- Failover lines that your PBX rolls to when the primary trunk group is full; by design they show little traffic.
Ask of each line: what breaks the day it is gone? A line with no answer to that question is savings.
A trunk review like this takes an afternoon if you already have the call data charted, and the charting is the part PBXDom automates. The collector reads call records straight from your Cisco, Avaya, Mitel, Panasonic, 3CX, or Asterisk system, and the dashboards show concurrent calls per trunk group, busy-hour peaks, and month-over-month trends without spreadsheet work. Plans start small enough that the first dropped POTS line covers the subscription; see pricing.
