Wiki -VoIP Topics

Server Hardware Requirements


The Mizu VoIP server runs as a Windows service application with good scalability across different hardware configurations from low cost PC's up to modern SMP systems with 32 processors. The service is a native application written in C++ capable to handle millions of endpoints.

If your traffic is below 1000 simultaneous calls then stop reading this and just start ahead with a best-offer/low-cost server like a cheap 4 core CPU with 8 GB RAM. You can also use a virtual server. To maximize service availability add another server and you already got doubled performance and a hot backup in case if you encounter a hardware failure.

Requirements:

  • Network: 1 mbits can handle 200 parallel calls without RTP routing, ~10 MB for 5000 parallel calls without RTP routing or 300 calls with routed RTP (depending on the codec used). Public static IP is preferable with broadband internet connection using gbit ethernet card. The bandwidth will depend on the codec’s used. You might also need to setup a domain name (or a sub-domain like sip.yourcompany.com) for easier client software configuration and more flexibility.
  • CPU: any low-end PC for home, testing or small business usage, dual core cpu for less than 500 parallel call, quad core or more for more than 1000 parallel call. You can also use expensive SMP systems since the service is massively multi-threaded and it can take advantage from up to 128 CPU core systems, however instead of using big harware, we often recommend to take advantage of our load balancer and use low cost smaller servers to distribute the load.
  • RAM: 1 GB RAM for less than 400 simultaneous calls, 4-8 GB RAM for 1000 simultaneous calls, 16 GB RAM or more for 5000+ simultaneous calls
  • Disk: 128 GB HDD without voice recording and callcenter, 500 GB SSD for high load
  • OS:   Windows Server 2003/2008/2012/2016/2019/2022 (Windows XP/Vista/7/8/10/11 for home usage or testing). Both 32 and 64 bit versions are supported. For a smaller instance you can use the cheap windows server Web edition license. Otherwise the Standard edition is recommended. English language required for support.
  • Database: Embedded or Full/Express versions of MS SQL 2005/2008/2012/2014/2016/2017/2019/2022 (included in the install package)
  • Dual server configuration: recommended for failover, load sharing and hot backup

Example optimal hardware for 300000 users with 3000 simultaneous calls: any modern cpu with 9000 passmark points or above (for example Intel Xeon E5-4650), 16 GB RAM, 500 GB SSD

Typical hardware recommendations:

  • For 60 simultaneous calls: cheapest PC that can barely run the windows OS (2 CPU core, 3 GB RAM, 90 GB disk)
  • For 600 simultaneous calls: a low cost 4 core Xeon with 6 GB RAM, at least 128 GB disk space
  • For 6000 simultaneous calls: a powerful 6-8 core CPU, 16 GB RAM, 500 GB SSD. With this amount of traffic we recommend to use 2 servers to separate the app from the db services and also you will have a hot backup
  • For more traffic: although our server is capable to handle up to 12000 simultaneous calls, we recommend our SIP load balancer for traffic above 4000 simultaneous calls and add as many app servers as you need. Contact us to determine a complete, optimized, fault-tolerant, scalable and cost effective architecture with best fit for your needs.

Although we were described hardware usage related to simultaneous calls as an easy to use concept, in reality the relevant statistics from the performance point of view are the followings:

  • PPS (signaling packet per second)
  • BHCA (busy-hour call attempts). This also depends on ASR/ACD. The lower your statistics, the more load have to be handled by the VoIP server application.
  • RTP routing (percent of total calls where the RTP have to be also routed). Around 80% of the total CPU and network usage can be spent for RTP routine alone so this requires special attention on high-load servers.
  • PBX services and other modules such as IVR, call recording, codec transcoding and others (these will generate extra CPU and I/O load)

Also for the CPU the relevant is their real performance and not the number of cores. See the passmark point of your CPU: https://www.cpubenchmark.net/

If you would like to take advantage of Mizutech support, make sure to provide a hardware which can run Windows OS comfortably, even if your traffic is low and otherwise it could be run on an underpowered server. This means at least a dual core CPU with 3 GB RAM.

Benchmarks:

Here is our last test results using Xeon E5620 with 8 GB RAM:

  • simultaneous calls with rtp routing: 4000
  • simultaneous calls without rtp routing: 13000
  • registered users: 55000
  • BHCA: 648000 (180 calls/sec)
  • max signaling message processing/sec: 1600

Test results using UDP transport with tunneling and encryption on a Xeon E5620 with 8 GB RAM:

  • simultaneous calls: 3000
  • registered users: 40000
  • BHCA: 422000 (120 calls/sec)
  • signaling message processing/sec: 1400

We recommend a hardware overprovisioning under real circumstances to have enough resources to deal with high traffic peaks, DoS attacks, extra features and other unexpected load.

Scalability, redundancy and highly available deployments can be achieved as described here.

Load balancer:

You can easily scale your system using our rock stable sip load balancer which can handle and enormous amount of traffic, capable to fully saturate a gbit link with SIP signaling. More exactly it is capable to handle 100000 PPS (packets per second) which means a million of simultaneous calls. When this load balancer is used you also have an extra protection against software and hardware failures by the load balancer automatic failover and rerouting capabilities depending on your app servers health statistics.


VoIP Server