Skip to main content
Calcimator

Telephone System Sizing Calculator

PBX trunk and extension count from user and traffic data.

About this calculator

This calculator sizes a PBX's trunk lines using Erlang B, the traffic-engineering formula telecom planners have used for over a century to relate call volume, call length, and acceptable blocking probability to the number of circuits needed. It first converts your inputs into traffic intensity: multiplying calls-per-user-per-hour by average call duration (in seconds, over 3600) gives Erlangs of traffic per user, which is scaled up by total users and then further scaled to the busy-hour fraction — the share of the day's traffic concentrated in the single busiest hour, since a system sized for average load would drop calls during peak periods. From that busy-hour Erlang figure, the calculator runs the Erlang B recursive formula, testing successively larger trunk counts until the computed blocking probability (the odds a call is dropped because every trunk is busy) falls at or under your target — the industry-standard target is typically 1% (P.01).

Voicemail is factored in as a modest reduction in effective trunk load, since calls that resolve to voicemail free trunks somewhat sooner. Extensions are estimated as total users plus 15% overhead for shared and common-area phones, and external vs. internal trunk split assumes a 70/30 industry-typical ratio rather than your actual call routing patterns. Bandwidth estimates for G.711 and G.729 SIP channels are a convenience conversion, not a substitute for the VoIP Bandwidth calculator's fuller overhead accounting — treat this tool as busy-hour trunk sizing, and revisit assumptions if your traffic pattern is unusually spiky or seasonal.

Inputs

%
%

Results

Required trunk lines

17

Extensions needed115
Busy hour traffic (Erlangs)10
Actual blocking (%)0.71
External (PSTN) trunks12
SIP channels (VoIP)17
Bandwidth G.711 (Mbps)1.48
Bandwidth G.729 (Mbps)0.54
Busy hour call volume200
System tier (1-4)2
Internal Capacity30
How to Use This Calculator
  1. Enter the total number of users/stations and the busy hour traffic fraction (typically 0.12-0.18).
  2. Set the average call duration in seconds and the calls per hour per user.
  3. Input the desired blocking probability (standard is 2% or less using Erlang B).
  4. Review the Traffic Intensity in Erlangs and the Number of Lines Required.
  5. Add 20% capacity headroom over the calculated lines to handle traffic spikes.

How the result changes with Total users / stations

Total users / stationsRequired trunk lines
5010
7514
15022
25033

What each input means

Total users / stations
Total number of telephone users or desk stations.
Calls per user per hour
Average number of calls each user makes or receives per hour.
Avg call duration (sec)
Average call holding time in seconds. Typical office: 150-240 sec.
Target blocking (%)
Acceptable probability a call is blocked due to all trunks busy. Industry standard: 1% (P.01).
Busy hour traffic fraction
Fraction of daily traffic occurring in the busiest hour. Typical: 0.12-0.18.
Voicemail pickup (%)
Percentage of calls handled by voicemail, reducing trunk holding time.

What each result means

Required trunk lines
Number of trunk lines needed to meet the blocking target (Erlang B).
Extensions needed
Recommended extension count (users + 15% overhead for shared areas).
Busy hour traffic (Erlangs)
Total traffic load during the busiest hour in Erlangs.
Actual blocking (%)
Calculated blocking probability with the determined trunk count.
External (PSTN) trunks
Trunk lines needed for external calls (approx. 70% of total).
SIP channels (VoIP)
Equivalent SIP channel count for IP-based PBX.
Bandwidth G.711 (Mbps)
Network bandwidth needed using G.711 codec (87 kbps/call with overhead).
Bandwidth G.729 (Mbps)
Network bandwidth needed using G.729 codec (32 kbps/call with overhead).
Busy hour call volume
Estimated number of calls during the busy hour.
System tier (1-4)
Recommended PBX tier: 1=Key system, 2=Mid-range, 3=Enterprise, 4=Large/Carrier.

How this is calculated

Worked example, using the default values

  1. Identify Input Parameters
    4 parameters
    Total users / stations = 100, Calls per user per hour = 2, Avg call duration (sec) = 180, Target blocking (%) = 1 = 6 input(s) provided
  2. Calculate Required trunk lines
    Required trunk lines = ceil(trunks * (1 - voicemailPct / 200))
    17 = 17
  3. Calculate Extensions needed
    Extensions needed
    115 = 115
  4. Calculate Busy hour traffic
    Busy hour traffic = totalErlangs * (busyHourFraction / 0.15)
    10 = 10

Engine last updated . Checked against 2 independently-derived tests — how we verify calculators. Built by Paul Gunder, a software engineer, not a licensed financial, medical, or legal professional.

Frequently Asked Questions

Why does the calculator use busy-hour traffic instead of average daily traffic to size trunks?

A system sized for average load would drop calls during peak periods, since call volume isn't spread evenly across the day. The calculator scales total Erlang traffic by your busy-hour fraction — the share of the day's calls concentrated in the single busiest hour — before running Erlang B, so the trunk count is sized to handle the worst realistic hour, not a flattened daily average.

How does the calculator find the required number of trunks from the Erlang B formula?

It starts with a trunk count near the busy-hour Erlang load and applies the Erlang B recursive formula iteratively, testing successively larger trunk counts until the computed blocking probability — the odds a call is dropped because every trunk is busy — falls at or under your target blocking percentage. This iterative search is necessary because Erlang B has no simple closed-form inverse for trunk count given a target blocking rate.

Why does raising the voicemail pickup percentage reduce the required trunk count?

The calculator treats calls that resolve to voicemail as freeing trunks somewhat sooner than a full live conversation would, so it applies a modest reduction to effective trunk load: effective trunks = trunks × (1 − voicemailPct/200). This is a simplifying assumption rather than a measurement of your actual average voicemail call duration versus live call duration.

Why are the G.711 and G.729 bandwidth figures different from what the VoIP Bandwidth calculator would show for the same channel count?

This calculator uses flat per-channel bandwidth conventions — 87 kbps for G.711 and 32 kbps for G.729, both already including a general overhead allowance — as a quick sizing convenience tied to trunk count. The VoIP Bandwidth calculator instead builds bandwidth up from actual packet headers, packetization interval, and VAD settings, so for precise network provisioning based on your real codec and packet settings, that calculator's fuller accounting is the more accurate source.

The questions that sit next to this one — chosen by subject, including calculators filed under a different category.

More in Technology & Computing.