redzilla
All tools
Voice

Erlang Calculator

Size voice trunks with Erlang B (blocking probability) or call-center agents with Erlang C (service level and waiting), from the traffic in Erlangs or from calls per hour and the average handle time. Everything in your browser.

What do you want to size

Erlang B: lines/trunks with a target blocking (lost calls). No waiting queue.

Offered traffic

1 Erlang = one circuit busy continuously for an hour.

Average call duration in seconds. With direct traffic it is only used for the average wait (Erlang C).

Grade of service: % of calls that get a busy signal. Typical 1 % (P.01) for voice.

Examples
redzilla.cl — erlang
 
Trunks needed
Actual blocking
Utilization
per line
N
Traffic

How it changes with the number of lines

The highlighted row is the minimum that meets the target.

How it is calculated · Erlang B and C

1. Traffic A (Erlangs) = calls/hour × AHT(s) / 3600. It is the average number of circuits busy at the same time.

2. Erlang B (no queue): the blocking probability is obtained iteratively B = 1; for n=1..N: B = A·B / (n + A·B). We raise N until B ≤ target.

3. Erlang C (with a queue, requires N > A): from EB = ErlangB(N,A), C = EB / (1 − (A/N)·(1−EB)) is the probability of waiting.

4. Service level SL = 1 − C·e^(−(N−A)·t/AHT) and average wait Wq = C·AHT / (N−A). We raise N until the goal is met.

Runs locally in your browser · no sign-up · nothing leaves your browser.

How it works

The calculator sizes voice systems with the two classic teletraffic models. In trunks (Erlang B) mode it finds the minimum number of lines N such that the blocking probability B(N, A) stays under the target (typically 1 %, the P.01 grade of service), using the standard recurrence B = A·B / (n + A·B) for n from 1 to N. In agents (Erlang C) mode it finds the minimum number of agents (with N > A) that meets a call-center service-level goal, for example 80/20: answering 80 % of calls in under 20 seconds.

The offered traffic A is entered directly in Erlangs (1 Erlang = one circuit continuously busy for an hour) or derived from A = calls/hour × AHT(s) / 3600. In Erlang C, from EB = ErlangB(N, A) it computes the probability of waiting C = EB / (1 − (A/N)·(1 − EB)), the service level SL = 1 − C·e^(−(N−A)·t/AHT) and the average wait Wq = C·AHT / (N − A). A sensitivity table shows how blocking or service level changes as you add or remove lines.

Example: 10 Erlangs of voice traffic

  1. Trunks with a 1 % blocking target: with 17 lines blocking is 1.29 % (fails); with 18 trunks it drops to 0.71 %. Average occupancy sits near 55 % per line.
  2. Agents with an 80/20 goal and 180 s AHT: with 13 agents the service level is 79.6 % (just misses the goal); with 14 agents it rises to 88.8 % with an average wait of 7.8 s.
  3. Same traffic, different answers: Erlang B rejects excess calls (busy signal) while Erlang C queues them, which is why it needs more resources for a comparable goal.

Frequently asked questions

What exactly is an Erlang?
It is the unit of traffic intensity: 1 Erlang equals one circuit busy 100 % of the time over the measurement period (normally the busy hour). It is computed as calls per hour × average duration in seconds ÷ 3600: 300 calls/hour lasting 240 s are 20 Erlangs.
What is the difference between Erlang B and Erlang C?
Erlang B models systems without a queue: a call that finds no free line is lost with a busy signal, and it is used to size SIP or E1 trunks. Erlang C models systems with a queue: the call waits for an agent to free up, and it is used for call centers. At the same traffic, Erlang C requires more resources because besides serving calls it must absorb the waiting.
How many trunks do I need for 300 calls per hour?
First convert to Erlangs: with a 240 s AHT that is 300 × 240 / 3600 = 20 Erlangs. With a 1 % blocking target, the Erlang B model yields around 30 trunks. The relationship is not linear: doubling the traffic does not double the lines, because larger systems are more efficient (trunking gain).
What happens if there are fewer agents than the traffic in Erlangs?
The system becomes unstable: with N ≤ A more calls arrive on average than the team can handle and the queue grows without bound, so the service level tends to zero. That is why Erlang C requires N greater than A; the calculator starts its search from there. Everything runs in your browser and no data is sent anywhere.
Was this tool useful?
Disclaimer We take great care to keep every tool accurate and review it thoroughly; even so, we can't guarantee it is free of errors or take responsibility for how the results are used. We recommend double-checking anything critical.
Found an error? Let us know →