Calls per second vs concurrent calls

5 min read

You buy a trunk by concurrent calls. The contract says 100 channels. The dialer still fails in the first second of a campaign, and the channel counter is near zero.

The number you did not buy is calls per second. CPS counts new call setups in one second. Concurrent calls count how many calls are up at one moment. A carrier can sell a large channel pack and a small CPS number on the same trunk. The dialer meets the small number first.

VICIfast described that split on 24 June 2026: a predictive campaign can spike past a low CPS cap in a single second, with the steady-state channel count still modest. EaseDial, on 14 July 2026 (page updated 2 September 2026), describes the trunk side: many channels, a low CPS ceiling, and a choke when the dialer ramps.

What each counter counts

CPS is attempt speed. Five fresh INVITEs inside one second is 5 CPS for that second, whether those calls later answer, ring out, or die. Concurrent calls are the calls occupying the trunk at one moment: ringing, connected, or still setting up.

Operators shorten concurrent calls to CC. In this article CC means that channel count. It does not mean contact centre or country code.

PortaOne’s wholesale page (no date on the page) tells operators to assign a limit for call attempts per second, so one customer’s burst does not flood the network. The channel allowance and the CPS allowance are separate controls. A larger CC pack leaves the setup rate where it was.

Counter What you count What you see when you pass it
Calls per second (CPS) New setups in that second Fast rejects, channel graph still low
Concurrent calls (CC) Calls up at the same moment Rejects once the channel counter is full

The first second is a CPS test

Predictive dialers place attempts ahead of free agents. You press start, or you resume a paused campaign, and the dialer fires a pile of INVITEs. After that the rate settles. The average across the hour can look fine, and the first second still overflows.

That overflow shows up as SIP 503 Service Unavailable or congestion. The 503 is the symptom. The limit underneath it is CPS, not a full channel pack.

VICIfast’s note from 24 June 2026 says carriers answer that burst with 503 and congestion, and a rejected attempt can still burn the lead. EaseDial’s 14 July 2026 article says the termination switch returns 503 or 486 Busy Here and drops the extra attempts instead of queueing them. From the dialer, those attempts look like fast failures, and no conversation starts.

The clock tells the two limits apart. CPS failures bunch up at campaign start and then thin out. CC exhaustion stays bad for as long as the floor is full.

A sketch with round numbers

This is a teaching sketch, not a trace from a Kolmisoft system.

Fifteen agents. The dialer places four attempts per agent in the first second. That is 60 INVITEs. The contract allows 100 concurrent calls and 8 new calls per second. At that second the CC counter is 0. The carrier accepts 8 attempts and rejects 52. The channel graph still looks empty. The dialer has already marked 52 leads as tried.

EaseDial published a similar sketch on 14 July 2026: a 10 CPS burst for 5 seconds can demand 50 concurrent calls when the steady-state need is lower. Size the trunk for the burst, not for the average across the hour.

What MOR documents for each limit

The Kolmisoft wiki page CPS (calls per second) states the MOR setup-rate ceilings:

  • Up to 100 CPS for the whole MOR system.
  • One Asterisk server can support up to 50 CPS. The wiki says that figure is closer to 20 most of the time.
  • The number moves with the architecture.

MOR can also cap a single device and a single provider: “Limit up to (number) calls, during (number) seconds” in Device Limits, and the same control in Advanced Provider settings. That control is the CPS limit.

Concurrent calls are a different page. Simultaneous call limitation says those settings limit simultaneous calls, not how many calls in total the user, device, or provider can make. When the simultaneous cap is full, the dialer hears BUSY. Provider call limit uses hangup 223. User concurrent call limit uses 220. Device call limit uses 221. Zero means unlimited.

When MOR itself stops the attempt, the hangup cause names the setup-rate limit:

  • 243: provider skipped because of CPS limitation
  • 244: device call aborted because of CPS limitation

A carrier 503, with no 243 or 244, is the carrier’s CPS cap. A 243 or 244 is the CPS cap on your MOR.

The same wiki page warns that a constant 150 CPS or more into MOR is dangerous if the system has no proxy. Internal CPS limits do not save the server from that load. The “100 CPS” line is the documented ceiling, not a promise that every MOR server will hold 100. Read the Asterisk line with it: one server is nearer 20.

Raising the simultaneous-call number does not change the CPS “calls during seconds” control. The two wiki pages describe two counters.

What M4 documents for each limit

M4 is the wholesale switch. The M4 Switch FAQ states up to 10,000 simultaneous calls and up to 1,000 CPS. Those are the two counters side by side: CC at 10,000, CPS at 1,000, both depending on architecture. The CPS wiki page repeats the 1,000 CPS figure for the whole system. The same FAQ says M4 cannot be upgraded from MOR, because the architecture is different.

M4 CPS caps sit in different places from MOR:

  • Per origination point or termination point: “Limit up to X calls, during Y seconds” in Advanced OP/TP settings.
  • Per dial-peer and termination-point pair, in the dial-peer assignment window.
  • A live CPS monitor exists. The wiki says some installations do not have it.

Hangup causes when M4’s own CPS cap trips:

  • 304: originator’s CPS limit reached
  • 329: terminator’s CPS limit reached
  • 342: global incoming system CPS limit reached
  • 345: terminator reached CPS limit in a dial peer

Disconnect codes for the same events: 802 for the whole system, 826 origination point, 853 termination point, 855 termination point inside a dial peer.

A dialer whose setup rate sits above one Asterisk server is an M4 conversation. Raising the MOR concurrent-call pack leaves the Asterisk CPS line on the wiki unchanged.

How to tell CPS from CC in the log

Work through the CDR and the dialer log in this order.

  1. Check the clock. Rejects in the first seconds after start or resume point at CPS first.
  2. Check the concurrent-call counter at that same second. Free channels plus fast rejects means the setup rate, not the CC pack.
  3. Check the hangup. BUSY with 220, 221, or 223 is the simultaneous-call cap. Hangup 243 or 244 on MOR, or 304, 329, 342, or 345 on M4, is your CPS cap. A carrier 503 or congestion, with none of those codes and with channels still free, is the carrier’s CPS cap.
  4. Check the rest of the hour. A floor that stays failed while channels are pegged is a CC problem. A floor that fails in spikes and then runs is a CPS problem.

VICIfast also notes that hammering the carrier past its CPS cap can get the trunk limited harder or suspended. Slow the dialer. Retrying the rejects faster feeds the same CPS cap.

What to ask for in the agreement

Ask for two numbers: concurrent calls, and new call attempts per second. EaseDial’s 14 July 2026 piece says a quote that lists channels and skips CPS is incomplete for dialer traffic, and a missing CPS figure is a signal.

If one trunk’s CPS is the bottleneck and the switch can hold more, VICIfast’s 24 June 2026 article says spreading the load across more than one provider buys headroom. Each provider keeps its own CPS cap and its own CC cap. Add the CPS caps. They do not stack inside one trunk.

On MOR, set the device or provider CPS limit at or under the carrier’s CPS number. MOR then stops the extra attempts with 243 or 244, so those attempts do not go out to that provider. If the dialer must place more setups than one Asterisk server can start, the M4 FAQ is the page that states 1,000 CPS beside 10,000 simultaneous calls. There is no CC control on MOR that turns it into that switch.

Keep reading

A slow ring after the INVITE is a different clock. Post-dial delay is the gap from INVITE to the first 180, 183, or a negative response. A high setup rate makes that gap worse, because the switch is busy setting up calls. A long delay with no CPS reject is a delay problem, not a concurrent-call cap.

If the next constraint is the hours a dialer may run, the neighbor article is time-based routing for dialer calls. That post is about when the route is open. This one is about CPS versus CC while the route is open.

FAQ

Are calls per second and concurrent calls the same number?

CPS is new setups per second. Concurrent calls are calls up at one moment. You can sit under the CC ceiling and still fail the CPS ceiling.

What CPS and CC does MOR document?

CPS: up to 100 for the whole MOR system. One Asterisk server can reach 50, and the wiki says that figure is closer to 20 most of the time. Device and provider “calls during seconds” limits can sit lower. CC is the simultaneous-call limit (hangup 220, 221, or 223). Raising that limit does not change the CPS control.

What CPS and CC does M4 document?

Up to 1,000 CPS for the whole system, and up to 10,000 simultaneous calls. Both depend on architecture. Origination points, termination points, and dial peers can carry their own CPS limits. M4 is a separate product from MOR.

Which hangup means the switch stopped the call on CPS?

On MOR, 243 and 244. On M4, 304, 329, 342, and 345, with disconnect codes 802, 826, 853, and 855. A carrier 503 with none of those codes is the carrier’s CPS cap, not proof that CC is full.


Two clocks on the same trunk

Post-dial delay is the gap after the INVITE. Time-based routing is when the dialer may run. This piece is calls per second versus concurrent calls while the route is open.

Contact us

Leave a Reply

Your email address will not be published. Required fields are marked *