Blog
VoIP

Voice Channel Sizing: Erlang, CPS and Capacity Planning

Learn how to use the Erlang B formula, calculate CPS, and correctly size voice channels, media servers, and bandwidth for your VoIP operation.

SipPulse - Technical TeamSeptember 1, 20258 min read
Share
Voice Channel Sizing: Erlang, CPS and Capacity Planning

Voice Channel Sizing: Erlang, CPS and Capacity Planning

Correctly sizing voice infrastructure is one of the most critical tasks for operators, ISPs, and contact centers. Undersizing means blocked calls and unhappy customers. Oversizing means wasted resources and investment. This article presents the formulas and tools to get sizing right, with practical examples using the actual capacity of the SipPulse platform.

The Erlang B Formula

The Erlang is the unit of measure for telephone traffic. One Erlang represents one voice channel occupied continuously for one hour. The Erlang B formula calculates the blocking probability (call rejected due to lack of channels) given a traffic volume and a number of channels.

The formula parameters are:

  • A (traffic in Erlangs): calculated as (number of calls per hour x average duration in hours)
  • N (number of channels): number of trunks or simultaneous channels available
  • B (blocking probability): acceptable percentage of blocked calls (typically 1% to 2%)

Practical Example

A company receives 200 calls per hour, with an average duration of 3 minutes:

  • Traffic = 200 x (3/60) = 10 Erlangs
  • For a 1% blocking probability, approximately 18 channels are needed
  • For a 2% blocking probability, approximately 16 channels are needed

Erlang B Reference Table

Traffic (Erlangs)Channels (1% blocking)Channels (2% blocking)
51110
101816
202927
304037
506258
100117112

CPS and CAPS: Signaling Capacity

While Erlang measures sustained traffic, CPS (Calls Per Second) or CAPS (Call Attempts Per Second) measures signaling processing capacity. It is a critical metric for sizing the softswitch and SBC.

CPS indicates how many new calls the system can establish per second. This involves:

  • Processing the SIP INVITE
  • Querying routing rules
  • Authenticating the originator
  • Forwarding the call to the destination
  • Processing the response (180 Ringing, 200 OK)

SipPulse SoftSwitch Capacity: 1,000 CAPS

The SipPulse SoftSwitch processes up to 1,000 CAPS (Call Attempts Per Second). This places it in the large-scale platform category, suitable for regional operators, wholesale carriers, and large contact centers.

To put this number in perspective: 1,000 CAPS means the SoftSwitch can establish 1,000 new calls every second. In one hour, that equals 3,600,000 call attempts. Even in the most demanding scenarios, signaling capacity will not be the bottleneck.

SipPulse SBC Capacity: 4,000 Concurrent Calls

The SipPulse SBC supports up to 4,000 concurrent calls per instance. This is the media channel capacity (RTP/SRTP), which determines how many active calls can coexist.

Relationship Between Concurrent Calls and CPS

The relationship between concurrent calls and CPS depends directly on the average call duration (ACD):

Concurrent calls = CPS x ACD (in seconds)

Examples with SipPulse SoftSwitch (1,000 CAPS)

ScenarioACDTheoretical Concurrent Calls
Robocalls / auto-dialer30 sec30,000
Outbound contact center120 sec (2 min)120,000
Technical support300 sec (5 min)300,000
Wholesale voice180 sec (3 min)180,000

In practice, the concurrent call limit will be defined by the SBC capacity (4,000 per instance) or the media infrastructure, not by the SoftSwitch's signaling capacity.

Sizing an Operation with SipPulse

Let us consider real-world scenarios and how to size the SipPulse platform for each one.

Scenario 1: Regional ISP Offering SIP Trunking

  • 500 business customers
  • Average of 5 concurrent channels per customer at peak hours
  • Estimated peak total: 800 concurrent calls
  • ACD: 3 minutes

SipPulse Sizing:

  • SipPulse SBC: 1 instance (supports up to 4,000 concurrent calls; 800 is well within capacity)
  • SipPulse SoftSwitch: 1 instance (800 concurrent calls with 180s ACD requires only ~4.4 CPS, far below 1,000 CAPS)
  • Bandwidth needed (G.711): 800 x 87 kbps x 2 = 139.2 Mbps
  • Bandwidth needed (G.729): 800 x 31 kbps x 2 = 49.6 Mbps

Scenario 2: Large Contact Center

  • 300 agents
  • Peak of 250 concurrent calls
  • ACD: 5 minutes
  • High new-call rate (predictive dialer)

SipPulse Sizing:

  • SipPulse SBC NNI-CC: 1 instance (250 concurrent calls, with ample headroom up to 4,000)
  • SipPulse SoftSwitch: 1 instance (predictive dialer generating ~50 CPS at peak, well below 1,000 CAPS)
  • Bandwidth needed (G.711): 250 x 87 kbps x 2 = 43.5 Mbps

Scenario 3: Wholesale Carrier

  • Interconnection with 20 operators
  • Peak of 3,500 concurrent calls
  • ACD: 3 minutes
  • Peak CPS: 200

SipPulse Sizing:

  • SipPulse SBC NNI: 1 instance (3,500 is within the 4,000 concurrent call limit, but a safety margin is recommended)
  • For redundancy and headroom: 2 SBC instances in high availability
  • SipPulse SoftSwitch: 1 instance (200 peak CPS is well below 1,000 CAPS)
  • Bandwidth needed (G.729): 3,500 x 31 kbps x 2 = 217 Mbps

Scenario 4: High-Scale Operation

  • Peak of 10,000 concurrent calls
  • Peak CPS: 800

SipPulse Sizing:

  • SipPulse SBC: 3 instances (each with 4,000 calls, totaling 12,000 capacity for 10,000 demand)
  • SipPulse SoftSwitch: 1 instance (800 CPS is within the 1,000 CAPS limit)
  • For operations above 1,000 CPS, the SoftSwitch can be scaled horizontally

Bandwidth Calculation

The bandwidth required for voice depends on the codec used and the number of concurrent calls:

CodecCodec BitrateBandwidth with Overhead (IP/UDP/RTP)
G.71164 kbps~87 kbps per call
G.7298 kbps~31 kbps per call
Opus20-40 kbps~43-63 kbps per call

To calculate total bandwidth:

Total bandwidth = concurrent calls x bandwidth per call x 2 (bidirectional)

Bandwidth Sizing Table with SipPulse SBC

Concurrent Calls% SBC CapacityBandwidth (G.711)Bandwidth (G.729)
50012.5%87 Mbps31 Mbps
1,00025%174 Mbps62 Mbps
2,00050%348 Mbps124 Mbps
4,000 (max/instance)100%696 Mbps248 Mbps

Common Sizing Mistakes

Confusing CPS with Concurrent Calls

CPS is the rate of new calls per second. Concurrent calls is the total number of active calls at the same time. A system can have 1,000 CAPS (like the SipPulse SoftSwitch) and sustain thousands of concurrent calls, depending on the ACD.

Undersizing the SBC

The softswitch may have the signaling capacity to process call volume, but the SBC needs the media capacity to sustain all active calls simultaneously. Each call on the SipPulse SBC consumes media processing resources (RTP). When sizing, always consider the peak of concurrent calls, not the average.

Ignoring Transcoding Load

When the two sides of a call use different codecs (for example, Opus on WebRTC to G.711 on the PBX), the SBC must transcode in real time. A session with transcoding consumes 3 to 5 times more CPU than a session in media bypass. The SipPulse SBC with its 4,000 concurrent calls already accounts for mixed transcoding and bypass scenarios.

Not Accounting for Peak Hours

Sizing should be done for peak traffic, not the average. In contact centers, the peak can be 3 to 5 times the average. For operators, special dates (Mother's Day, Black Friday) can generate peaks of 2 to 3 times normal traffic.

A best practice is to size the SipPulse SBC so that peak traffic stays at 70-80% of maximum capacity (2,800 to 3,200 concurrent calls per instance), maintaining headroom for unexpected spikes.

Forgetting Signaling Overhead

In addition to media traffic (RTP), there is signaling traffic (SIP). In scenarios with many short calls (high CPS), SIP traffic can be significant. The SipPulse SoftSwitch, with 1,000 CAPS, is sized to handle this signaling volume.

Tools for Traffic Analysis

  • Online Erlang calculators: several free tools available for quick Erlang B and Erlang C calculations
  • CDR analysis: the SipPulse SoftSwitch generates detailed CDRs that can be analyzed by SipPulse BSS to identify traffic patterns and size the operation
  • SNMP/Grafana: real-time monitoring of concurrent calls, CPS, and resource usage on the SBC and SoftSwitch
  • SipPulse BSS reports: traffic dashboards by time-of-day, destination, and customer, essential for capacity planning

Conclusion

Correct voice channel sizing starts with concrete data: call volume, average duration, peak hours, and codec used. The Erlang B formula provides the mathematical foundation, and the SipPulse platform's capacity numbers provide the practical limits: 1,000 CAPS on the SoftSwitch and 4,000 concurrent calls per SBC instance. With these parameters, you can size everything from a regional ISP to a large-scale wholesale operation, knowing exactly how many instances are needed and what growth headroom is available.

References

#Erlang#capacity planning#CPS#VoIP#sizing

Related Articles