Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Sizing

What a VM handles, measured on the image: 50 customers with 20 extensions each, authenticated extension-to-extension calls, G.711 audio relayed by FreeSWITCH, quality computed on every call (MOS).

Guidelines

VMSimultaneous callsExtensions (guideline)
1 vCPU, 2 GB100700 to 1,000
2 vCPUs, 4 GB (image default)2001,300 to 2,000
  • Capacity follows the number of vCPUs: one vCPU handles 100 calls with headroom. Memory is not a limit (under 800 MB at 300 calls).
  • The extensions column assumes 10 to 15% of extensions on a call at peak time, the usual order of magnitude in companies; a call center needs much more. The number of customers matters little: simultaneous calls are what loads the machine.
  • Quality stays intact (MOS 4.48) as long as the CPU is not saturated: beyond 250 calls on 2 vCPUs, or 125 on 1 vCPU, it degrades.
  • SIP registrations are not a limit: 1,000 phones re-registering every minute make about 17 registrations per second, and a 2-vCPU VM absorbs 200.

When to grow

  • CPU above 75% at peak: the suggested alert threshold. Add vCPUs.
  • Costlier uses than extension-to-extension calls, not measured: transcoding (G.722, Opus), call recording, conferences, ring groups, call queues. Keep headroom if your customers use them heavily.
  • Recordings: about 16 MB per hour of recorded call, on their own volume (50 GB by default, about 3,000 hours): see Recordings volume.
  • Availability: a single VM is a single point of failure. Two VMs in active/passive restore service in under 2 minutes.

FreeSWITCH limits

  • 1,000 sessions at most (about 500 established calls).
  • 100 new sessions per second; beyond that, FreeSWITCH refuses new calls for a few minutes (503). An internal call costs about three, and a ring group one per extension: a VM accepts some thirty new internal calls per second.