We built a load test and ran 800 calls at once on one desktop computer.
We wanted a real number, so we built a test.
The test
It starts the real call-handling code and plays the phones itself: real registrations, real call setup, and real audio at the real rate, with every packet stamped so that loss and delay through the system can be measured.
Each call is two phones talking through the system for the length of the test.
The result
On a single desktop computer with ten processor cores:
| Calls at once | Audio lost | Processor used |
|---|---|---|
| 800 | None | Under 3 of 10 cores |
| 1,000 | About a quarter | Cores to spare |
| 1,000 at half the packet rate | None | Cores to spare |
At 800 calls, everything connected, nothing was lost, and the system added about eight milliseconds of delay.
What broke at 1,000
Not the phone system. At 1,000 calls, roughly 190,000 packets a second were crossing the test computer's internal network, and the computer itself started dropping them before they reached us. The same 1,000 calls at half the packet rate lost nothing at all.
Finding the real ceiling needs the test phones on a second machine. We will do that and say what we find.
What the test found and fixed
One real limit: a setting that capped how many calls could be set up at the same moment, which made call setup fail when about 700 were placed in quick succession. It is now adjustable and far higher by default.
What this does not cover
These were calls passed straight through between desks. Calls that need converting between codecs cost more processor, and we have not measured those yet.
The point
There is no license count to hit first. Capacity is a hardware question, as it should be.