IP Networking & Telecom Traffic
14 min read
Published: Oct 2026
Zero Telemetry • Client-Side
Erlang B vs. Erlang C: Mathematical Dimensioning for Telecom Trunks & Call Centers
Compare Erlang B and Erlang C traffic formulas. Learn how to dimension cellular voice channels, SIP trunks, call center staffing, and queuing delays.
1. The Birth of Teletraffic Engineering
At the turn of the 20th century, Danish mathematician and engineer Agner Krarup Erlang working at the Copenhagen Telephone Company confronted a fundamental telecommunications dilemma: how many physical copper telephone trunks must a telephone exchange install to guarantee that customers rarely receive a busy signal, without wasting millions of dollars building idle, unused circuits?
His groundbreaking mathematical proofs laid the foundation for modern queuing theory, teletraffic engineering, and server capacity dimensioning. In honor of his contributions, the dimensionless unit of telecommunications traffic intensity is named the Erlang (E).
Definition of Traffic Intensity in ErlangsA = λ × h
Where λ (lambda) is the arrival rate of incoming calls per unit time (e.g., calls per hour during the busy hour) and h is the average call holding duration (expressed in the same time units, e.g., hours per call). For example, 60 calls arriving in an hour with an average holding time of 3 minutes (0.05 hours) represents a traffic load of A = 60 × 0.05 = 3.0 Erlangs.
2. Erlang B: Blocked Calls Cleared (Loss Systems)
The Erlang B formula models a system with N identical parallel servers (circuits, cellular radio voice channels, or SIP trunks) where incoming calls arrive according to a Poisson process. Crucially, Erlang B assumes Blocked Calls Cleared (BCC): if all N channels are busy when a customer calls, the call is instantly rejected with a busy tone. There is no waiting line or queue.
The probability of call blocking Pb (also known as the Grade of Service, GoS) is:
Erlang B FormulaB(N, A) = [ AN / N! ] / [ ∑k=0N (Ak / k!) ]
Because direct computation of factorials like 100! causes floating-point overflow in computer systems, carrier software evaluates Erlang B using Erlang's recursive relation:
Stable Erlang B Recurrence RelationB(0, A) = 1.0 ; B(k, A) = [ A × B(k−1, A) ] / [ k + A × B(k−1, A) ]
Unlike trunk groups that reject calls, modern enterprise call centers, helpdesks, and packet-switched routing buffers hold excess traffic in a queue until a server (agent) becomes available. This is modeled by the Erlang C formula (Blocked Calls Delayed - BCD, or an M/M/c queue in Kendall notation).
The probability Pw that an incoming caller must wait in the queue before being answered by an agent is:
A stable queuing system requires that the traffic intensity A be strictly less than the number of servers N (A < N); otherwise, the queue length explodes to infinity.
Erlang C can also be computed directly from Erlang B via the elegant link formula:
Erlang C from Erlang B RelationC(N, A) = B(N, A) / [ 1 − (A / N) × (1 − B(N, A)) ]