For stable operation of a VoIP system based on Asterisk or FreePBX, a VoIP server is required with sufficient CPU (from 2 cores), RAM (from 4 GB), a fast NVMe disk, and low ping to ensure call quality and minimize delays.
What is a VoIP Server and Why Asterisk/FreePBX?
A VoIP server (Voice over IP) is a specialized hardware or virtual solution designed to process voice traffic over the internet protocol. Essentially, it acts as the central PBX (Private Branch Exchange) for your IP telephony. Instead of traditional analog lines, a VoIP server allows you to make and receive calls over the network, significantly reducing communication costs and expanding functionality.
Asterisk is a powerful, open-source platform for building IP telephony systems. It provides a rich set of features, including voicemail, conferencing, IVR (Interactive Voice Response), call recording, and much more. Thanks to its flexibility, Asterisk has become a de facto standard for many companies looking to build their own communication system.
FreePBX is a web interface for managing Asterisk, which significantly simplifies setup and administration. It provides an intuitive graphical interface, allowing even users without deep knowledge of the Asterisk command line to create and manage complex configurations. This is why many choose FreePBX hosting for their communication needs.
Key Requirements for an Asterisk Server: CPU, RAM, Storage
Choosing the right Asterisk server is critical for ensuring uninterrupted and high-quality communication. The main components to pay attention to are:
Processor (CPU)
CPU performance is one of the main factors. Asterisk heavily uses the processor for audio encoding/decoding, especially when using resource-intensive codecs and processing a large number of concurrent calls. For a small company with up to 20-30 concurrent calls, 2-4 cores of a modern processor (e.g., Intel Xeon E3/E5 or AMD EPYC) are sufficient.
- Up to 20 concurrent calls: 2 vCPU (2.5+ GHz).
- 20-50 concurrent calls: 4 vCPU.
- 50-100+ concurrent calls: 6-8 vCPU or a dedicated server with a multi-core processor.
It's important to remember that virtual cores (vCPU) on a VPS may be less performant than physical cores on a dedicated server. When choosing a VPS or dedicated server, consider this difference.
Random Access Memory (RAM)
Asterisk is not overly demanding on RAM, but sufficient memory is necessary for the stable operation of the operating system, Asterisk itself, FreePBX, and all modules. Each active connection consumes a small amount of RAM, and memory is also needed for caching, databases (FreePBX uses MySQL/MariaDB), and logging.
- Up to 20 concurrent calls: 4 GB RAM.
- 20-50 concurrent calls: 8 GB RAM.
- 50-100+ concurrent calls: 16 GB RAM or more.
Disk Subsystem (Storage)
Disk speed is important for fast system boot, FreePBX database operation, call recording, and voicemail storage. NVMe SSDs are preferred over SATA SSDs or HDDs due to significantly higher read/write speeds and lower latencies.
Looking for a reliable server for your projects?
VPS from $10/month and dedicated servers from $9/month with NVMe, DDoS protection, and 24/7 support.
View offers →
- Disk Type: NVMe SSD (highly recommended).
- Capacity:
- Minimum: 50-80 GB for OS and basic installation.
- With call recording: From 100 GB to several TB, depending on recording volume and retention period. 1 hour of G.711 recording takes about 30 MB.
Codecs in IP Telephony and Their Impact on Resources
Codecs (coder-decoders) determine how an audio signal is compressed and transmitted over the network. The choice of codec directly affects sound quality, bandwidth consumption, and the CPU load of the IP telephony server.
- G.711 (PCMU/PCMA): Standard, uncompressed codec. High sound quality, but requires more bandwidth (about 80 kbps per call). Minimal CPU load.
- G.729: Compressed codec. Low bandwidth (about 8 kbps per call), but requires significantly more CPU resources for compression/decompression. Often used to save traffic.
- G.722: Wideband HD codec. Excellent sound quality, requires about 64 kbps. Moderate CPU load.
- Opus: Modern, adaptive codec. Excellent quality at low bandwidth, but can be more CPU-intensive.
If your telephony server handles many calls with G.729, ensure it has a sufficiently powerful processor, otherwise, it can lead to delays and degraded call quality.
Resource Calculation: Number of Lines vs. Concurrent Calls
The terms "number of lines" and "number of concurrent calls" are often confused. Lines (or "extensions") refer to the number of internal numbers or SIP accounts. Concurrent calls are the actual number of active conversations the server is handling at any given moment. It is concurrent calls that determine the server load.
When calculating resources, use the rule of thumb: for G.711 voice calls, each active call consumes about 0.1-0.2% of one CPU core and several megabytes of RAM. For G.729, these figures can be 2-3 times higher for the CPU.
Approximate Server Requirements Table for VoIP
| Parameter |
Up to 20 Concurrent Calls |
20-50 Concurrent Calls |
50-100+ Concurrent Calls |
| CPU |
2 vCPU (2.5+ GHz) |
4 vCPU |
6-8+ vCPU / Dedicated (Xeon E3/E5) |
| RAM |
4 GB |
8 GB |
16 GB+ |
| Disk |
80 GB NVMe SSD |
120 GB NVMe SSD |
240 GB+ NVMe SSD (including call recording) |
| Bandwidth |
100 Mbps |
100 Mbps |
1 Gbps |
| Example Valebyte Plan |
VPS-4 |
VPS-8 |
Dedicated Entry / Mid |
Latency and Call Quality
Low latency is a critically important factor for IP telephony. High ping between subscribers and the VoIP server leads to echo, interruptions, and overall degradation of call quality. Ideal ping should not exceed 50-100 ms. When choosing hosting for your server, prioritize data centers located geographically close to the primary users of your system.
To check ping to a potential server, you can use the ping or traceroute utility:
ping your_server_ip
traceroute your_server_ip
Network stability (absence of packet loss) and sufficient channel bandwidth are also important.
SIP Server Security: Protection Against Hacking and Fraud
A SIP server, like any other publicly accessible service, is a target for attacks. A compromised SIP server can lead to huge international call bills, data breaches, and privacy violations. Here are the main security measures:
- Strong Passwords: Use complex, unique passwords for all SIP accounts, FreePBX administrative access, and SSH.
- Firewall: Configure strict firewall rules. Allow access to SIP ports (UDP 5060, UDP 5160) and RTP (UDP 10000-20000) only from trusted IP addresses. Block access to FreePBX Admin (port 80/443) and SSH (port 22) for everyone except your office or VPN.
- Fail2Ban: Install and configure Fail2Ban to automatically block IP addresses that attempt to guess passwords. FreePBX typically comes with built-in Fail2Ban integration.
- VPN: For remote access to the FreePBX administrative panel and for connecting remote SIP clients, use a VPN. This significantly enhances security by encapsulating traffic.
- Updates: Regularly update Asterisk, FreePBX, and the operating system. Updates often contain security fixes.
- Encryption: Use TLS for SIP signaling and SRTP for media traffic, if possible. This will protect your conversations from eavesdropping.
- Outgoing Call Restrictions: Configure routing rules to limit the ability to make expensive international calls only to specific internal numbers or block them entirely if not needed.
- Monitoring: Implement a monitoring system to track unusual activity, a large number of concurrent calls, or unauthorized access attempts.
For additional protection, consider using a dedicated server with DDoS protection to secure your VoIP system from network-level attacks.
Recommendations for Choosing Hosting for Your VoIP Server
Choosing the right hosting provider is half the battle for your IP telephony. Here are the key recommendations:
- Choose a provider with data centers in your region: This minimizes latency and improves call quality.
- Prioritize NVMe SSDs: Disk speed is critical for databases and call recording.
- Reliable network channel: Ensure the provider offers a stable channel with sufficient bandwidth (minimum 100 Mbps, preferably 1 Gbps).
- Availability and SLA: Review the provider's Service Level Agreement (SLA). High availability (99.9% and above) is important for communication continuity.
- Support: The presence of qualified technical support capable of assisting with network issues will be a big plus.
- Scalability: Choose a provider that allows you to easily scale resources (CPU, RAM, disk) as your business grows.
- DDoS Protection: Given the criticality of a VoIP server, having basic or advanced DDoS protection is an important factor.
If you are unsure of your capabilities, consider a Managed Dedicated Server, where the hosting provider takes on part of the administration.
Conclusion
Choosing and configuring a VoIP server for Asterisk and FreePBX requires a careful approach to resources, security, and network parameters. A properly selected telephony server with sufficient CPU, RAM, and a fast NVMe disk, located close to your users, will ensure high-quality communication and stable operation. Do not forget about regular updates and comprehensive protection against external threats.
Ready to choose a server?
VPS and dedicated servers in 72+ countries with instant activation and full root access.
Get started now →