Voice traffic does not tolerate the same forgiveness that a slow-loading web page gets from users. A web request that takes an extra 300ms is barely noticeable; 300ms of jitter on a VoIP call is the difference between a clear conversation and a call that sounds like both people are talking over a bad walkie-talkie. This is why VoIP platforms — Asterisk, FreePBX, Kamailio, or FreeSWITCH — need infrastructure evaluated on entirely different criteria than a typical web app: concurrent call capacity, codec transcoding overhead, and network jitter, not just raw CPU benchmarks or storage IOPS. A dedicated server for VoIP applications gives you the isolated, low-jitter network path and guaranteed CPU cycles that shared or oversubscribed VPS hosting cannot reliably deliver during a busy call center shift.

This guide covers how to size a VoIP dedicated server by concurrent call volume, the real CPU cost differences between codecs, the network configuration that keeps call quality consistent, and troubleshooting steps for the jitter, echo, and one-way-audio problems that account for most VoIP support tickets.

Why VoIP Needs Dedicated, Not Shared, Infrastructure

  • Jitter sensitivity — VoIP quality depends on packets arriving at consistent intervals; a noisy-neighbor VPS host can introduce CPU steal time that translates directly into audio jitter, something a web app would never even register.
  • Real-time processing requirements — transcoding between codecs (e.g., converting a G.711 call leg to Opus for a WebRTC client) happens in real time, per call, and CPU contention causes audible artifacts, not just a slower page load.
  • Predictable public IP requirements — SIP trunking with carriers typically requires a static, whitelisted IP address, which is straightforward on a dedicated server and can be awkward or costly on some cloud/VPS platforms.
  • NAT and firewall control — VoIP's signaling (SIP) and media (RTP) travel on separate paths, and getting NAT traversal right (via STUN, or a session border controller) requires full control over the server's network stack — control that shared hosting rarely grants.

Sizing a Dedicated Server by Concurrent Call Capacity

The single most useful sizing metric for VoIP is concurrent calls, not "number of users" or "number of extensions" (most extensions are idle at any given moment). A widely used rule of thumb for Asterisk-based PBX systems on modern hardware: budget roughly 20-40 MHz of CPU per concurrent call using low-complexity codecs (G.711), rising to 60-100+ MHz per call for CPU-intensive codecs requiring transcoding (G.729, or any Opus/G.711 transcoding for WebRTC bridging).

Deployment SizeConcurrent CallsRecommended CPURAMNetworkPrice/Month
Small office PBX10-304-core (3.5+ GHz)8 GB100 Mbps dedicated, low-jitter$50-$90
Mid-size call center50-1508-core (3.5+ GHz)16-32 GB1 Gbps, QoS-capable$120-$220
Large call center / SIP trunk provider200-50016-core, high clock speed32-64 GB1-10 Gbps, redundant uplinks$280-$500
Carrier-grade / multi-tenant PBX platform500-2,000+Dual CPU, 24-32 core64-128 GB10 Gbps, BGP redundancy$600-$1,200+

Note the emphasis on clock speed over raw core count relative to other workloads in this series — Asterisk's core media processing is not perfectly parallelized across unlimited cores the way a web server's request handling is, so a CPU with fewer, faster cores often outperforms a CPU with more, slower cores for call-heavy PBX workloads.

Codec Choice and Its Direct Impact on Server Load

CodecBandwidth per CallCPU LoadAudio QualityTypical Use
G.711 (PCMU/PCMA)~87 KbpsVery low (near-zero transcoding)Excellent (uncompressed)Internal PBX calls, PSTN gateways
G.729~24 KbpsHigh (licensed, compression-heavy)GoodBandwidth-constrained trunks
Opus~24-64 Kbps (variable)ModerateVery good, adaptiveWebRTC softphones, modern SIP clients
G.722 (HD Voice)~64 KbpsLow-moderateWideband, noticeably clearerInternal HD calling between compatible endpoints

If most of your traffic is internal calls between HD-capable desk phones, standardizing on G.722 avoids transcoding entirely and reduces both bandwidth and CPU load versus mixing codecs, which forces the server to transcode between legs.

Step-by-Step: Deploying Asterisk/FreePBX on a Dedicated Server

Step 1: Choose and Install the OS

AlmaLinux 9 or Debian 12 are both well-supported for Asterisk. Disable unnecessary services and set the system clock to sync via NTP — VoIP signaling is timestamp-sensitive and clock drift causes subtle call setup failures.

Step 2: Install Asterisk and FreePBX

sudo dnf install -y asterisk asterisk-configs
sudo systemctl enable --now asterisk

Step 3: Configure NAT and RTP Port Ranges

In pjsip.conf, set your external IP and local network explicitly so Asterisk rewrites SIP headers correctly for NAT traversal:

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
external_media_address=YOUR_PUBLIC_IP
external_signaling_address=YOUR_PUBLIC_IP
local_net=192.168.0.0/16

Open the RTP media port range (commonly 10000-20000 UDP) on your firewall — this range must remain open and NAT-mapped consistently for call audio to flow both directions.

Step 4: Set Firewall Rules and Fail2Ban

VoIP servers are a constant target for SIP scanning and toll fraud attempts. Restrict SIP signaling port 5060 to known trunk provider IPs where possible, and deploy Fail2Ban with a SIP-specific jail to block repeated failed registration attempts automatically.

Step 5: Configure SIP Trunks and Test Call Quality

After registering your SIP trunk provider, run test calls while monitoring jitter and packet loss with asterisk -rx "rtp set stats on" or a dedicated tool like mtr toward your trunk provider's SIP server to baseline your network path quality before go-live.

Common Issues and Troubleshooting

  • One-way audio — almost always a NAT/RTP traversal issue; verify external_media_address is set correctly and that your firewall's RTP port range matches what Asterisk is configured to use.
  • Choppy or robotic-sounding audio — check for CPU saturation with top during a call; if transcoding load is the cause, standardize codecs across endpoints to reduce transcoding, or add CPU capacity.
  • Calls drop after exactly one hour — a classic SIP session-timer or NAT keepalive misconfiguration; ensure SIP OPTIONS keepalives or session-timer settings match what your NAT/firewall expects for idle connection timeouts.
  • High jitter despite adequate bandwidth — check whether QoS/traffic shaping is enabled upstream; RTP traffic should be prioritized (DSCP tagging, e.g., EF for voice) ahead of bulk data transfer on shared network links.
  • Toll fraud (unexpected international call charges) — restrict outbound dial permissions per extension, disable default/guest SIP accounts, and monitor call detail records (CDR) for unusual call patterns, especially to international premium-rate numbers.

Buyer's Checklist: Choosing a Dedicated Server for VoIP Hosting

  • Does the provider guarantee low network jitter and packet loss, not just raw bandwidth — ask for their network SLA specifics, not just "unmetered" marketing language.
  • Is a static dedicated IP included, since most SIP trunk providers require IP whitelisting?
  • Does the data center location minimize round-trip latency to your primary user base and SIP trunk provider's points of presence?
  • Can the provider open and reliably NAT a wide UDP port range (10000-20000) for RTP media without additional firewall complications?
  • Is DDoS protection included — VoIP servers are common targets for both toll-fraud scanning and denial-of-service attacks aimed at disrupting call centers?
  • What is the CPU clock speed, not just core count, since VoIP media processing benefits more from single-thread performance?

Frequently Asked Questions

How many concurrent calls can a mid-range dedicated server handle?

An 8-core, 3.5+ GHz dedicated server running mostly G.711 or G.722 with minimal transcoding can comfortably handle 100-150 concurrent calls; that capacity drops significantly, often by half or more, if most calls require G.729 transcoding or codec bridging.

Do I need a dedicated server, or is a VPS enough for a small office PBX?

For under about 10-15 concurrent calls with all internal/LAN traffic, a well-provisioned VPS can work, but any noisy-neighbor CPU steal on shared hosting shows up immediately as jitter or dropped calls — a dedicated server removes that risk entirely and is worth the modest cost increase once you are handling external customer calls.

What network requirements matter most for VoIP hosting?

Low and consistent jitter (ideally under 20-30ms) and minimal packet loss (under 1%) matter far more than raw bandwidth — a well-managed 100 Mbps connection with low jitter will deliver better call quality than a noisy 1 Gbps connection with inconsistent latency.

Can I run Asterisk and a CRM or helpdesk system on the same dedicated server?

Yes for small-to-mid call volumes, but isolate CPU-intensive reporting or database queries from the real-time voice processing where possible (via container resource limits or separate worker processes) so a heavy CRM report does not introduce audio jitter during active calls.

How do I protect a VoIP dedicated server from toll fraud?

Disable unused SIP accounts, enforce strong SIP registration passwords, restrict international/premium-rate dialing by default, deploy Fail2Ban against repeated failed SIP registration attempts, and review CDR logs regularly for anomalous call patterns, especially overnight when fraud attempts are most common.

What is the difference between Asterisk, FreePBX, and Kamailio for hosting purposes?

Asterisk is the underlying media/PBX engine that handles call control, media processing, and codec transcoding; FreePBX is a web-based management layer built on top of Asterisk that simplifies configuration for typical PBX use cases. Kamailio, by contrast, is a SIP proxy/router rather than a full PBX — it excels at routing very high volumes of SIP signaling (common at carrier or SIP trunk provider scale) but does not handle media/transcoding itself, so it is often paired with a separate media server (like FreeSWITCH or RTPengine) in large deployments.

How does SIP trunking differ from traditional PRI lines in terms of server requirements?

SIP trunking replaces physical PRI circuits with an internet-delivered SIP connection to your carrier, meaning your dedicated server's network quality (jitter, packet loss, bandwidth) directly determines call quality, whereas a PRI line's quality was guaranteed by the telco's dedicated physical circuit. This is precisely why network SLA quality matters more for a VoIP dedicated server than for most other hosting workloads.

Can I run a WebRTC-based softphone system on the same dedicated server as my SIP PBX?

Yes, but budget for the transcoding overhead — WebRTC clients typically use the Opus codec while traditional SIP trunks and desk phones commonly use G.711 or G.729, meaning your server transcodes between codecs for every WebRTC-to-PSTN call leg, which is meaningfully more CPU-intensive than same-codec calls and should be accounted for in your concurrent call capacity planning.

What redundancy options exist for a business that cannot tolerate any VoIP downtime?

Common patterns include a hot-standby Asterisk/FreePBX server with configuration synced continuously (via a shared database backend or file sync), SIP trunk failover to a secondary carrier or secondary dedicated server in a different data center, and DNS-based or SIP-registrar-based failover so endpoints automatically re-register to the standby if the primary becomes unreachable.

Recording, Compliance, and Storage Considerations

Call recording is a common requirement for compliance (financial services, healthcare) or quality assurance (call centers), and it adds a storage and I/O dimension that pure signaling/media processing does not have on its own:

Recording FormatApprox. Storage per Call-HourNotes
G.711 WAV (uncompressed)~60-65 MB/hourSimple, widely compatible, but storage-heavy at scale
MP3 (compressed)~7-15 MB/hourCommon compromise for long-term archival where exact fidelity is not required
Opus (compressed)~5-10 MB/hourGood quality-to-size ratio, less universally supported by legacy playback tools

A call center running 100 concurrent agents 10 hours a day generates roughly 1,000 call-hours daily; at uncompressed WAV rates that is 60-65 GB per day, or well over 1.5 TB per month, making a clear compression and retention policy essential rather than optional. Many compliance regimes require retention periods of 1-7 years, which makes tiered storage (fast NVMe for recent recordings, cheaper bulk storage for older archives) a practical necessity rather than a nice-to-have.

Monitoring and Capacity Planning for VoIP Servers

Unlike a web application where a slow response is visible in a dashboard graph, VoIP quality degradation is often only reported anecdotally by users ("calls sounded choppy this morning") unless you are actively monitoring the right metrics:

  • Mean Opinion Score (MOS) estimation — tools like Asterisk's built-in RTP statistics or third-party monitoring can estimate call quality on a 1-5 MOS scale in near real time, giving an objective quality metric instead of relying on user complaints.
  • Concurrent call count vs. provisioned capacity — graph concurrent calls against your sized capacity ceiling over time to catch gradual growth before it becomes a capacity crisis during a busy period.
  • Jitter and packet loss trends — baseline your normal jitter/loss range and alert on deviations, since a gradual network degradation (a failing switch port, an oversubscribed upstream link) often shows up as a slow trend rather than a sudden failure.
  • Registration failure spikes — a sudden spike in failed SIP registrations is either a misconfigured endpoint rollout or an active toll-fraud/scanning attempt, and both warrant immediate investigation.

High Availability Patterns for Business-Critical VoIP

For organizations where phone system downtime directly costs revenue (call centers, sales teams, customer support operations), a single-server VoIP deployment is a real business risk. Common redundancy patterns include:

  • Active-standby PBX pair — a secondary Asterisk/FreePBX server kept configuration-synced (via a shared database or scheduled config replication) that can take over if the primary becomes unreachable, with endpoints configured to fail over registration automatically.
  • Multiple SIP trunk providers — configuring outbound routing to fail over to a secondary carrier if the primary trunk becomes unreachable, avoiding a single carrier outage taking down all outbound calling capability.
  • Geographic redundancy — running the standby PBX in a different data center or region entirely, so a regional network or power issue does not affect both the primary and its failover simultaneously.
  • DNS or SRV-record-based failover — configuring SIP endpoints and trunks to use DNS SRV records with both primary and secondary server addresses, allowing automatic failover at the protocol level without manual endpoint reconfiguration during an incident.

Real-World Deployment Cost Example

A representative cost comparison for a 75-agent call center evaluating VoIP hosting options illustrates the economics clearly:

Hosting OptionMonthly CostCall Quality ConsistencyCustomization
Hosted/cloud PBX SaaS (per-seat)$1,500-$2,500 (75 seats at $20-$33/seat)Good, provider-managedLimited to provider's feature set and API
Shared VPS self-hosted Asterisk$40-$80Inconsistent, subject to noisy-neighbor jitterFull, but reliability risk undermines the savings
Dedicated server self-hosted FreePBX$150-$220Consistent, isolated resourcesFull control over routing, IVR, integrations, and recording policy

The dedicated server option lands in a sweet spot for organizations past roughly 30-50 seats: meaningfully cheaper than per-seat SaaS PBX pricing at that scale, while avoiding the call-quality risk that comes with running production voice traffic on shared/VPS infrastructure.

Integrating VoIP With CRM and Helpdesk Systems

Most business VoIP deployments do not stand alone — they integrate with CRM or helpdesk software so agents see caller context automatically and calls log against the right customer record. This integration layer adds its own considerations to server planning:

  • AMI/ARI event streaming — Asterisk's Manager Interface (AMI) or the newer Asterisk REST Interface (ARI) lets external applications subscribe to call events (ringing, answered, hung up) in real time, which a CRM integration uses to pop a screen or log a call automatically; this adds a modest, steady CPU and connection load that should be included in sizing for integration-heavy deployments.
  • Call detail record (CDR) export — CDR data feeding into a CRM or business intelligence tool is typically a batch or near-real-time export process; ensure your database can handle the additional read load from a reporting/export job running alongside live call processing.
  • Click-to-call and screen-pop latency — integrations that let agents click a CRM contact to initiate a call route through the PBX's API, and this path should be tested under load alongside regular call volume, since a slow integration API response feels just as broken to an agent as a dropped call.

International Calling and Regulatory Considerations

Businesses running VoIP infrastructure across multiple countries encounter regulatory and technical requirements beyond pure server sizing:

  • Emergency calling compliance — regulations in many jurisdictions require VoIP providers to support emergency service calling with accurate location information, which affects how you configure outbound trunk routing and register physical addresses with your SIP trunk provider for each location.
  • Number portability and local presence — maintaining local phone numbers in multiple countries typically requires SIP trunk providers with local termination in each region, and routing decisions (which trunk handles which destination) should be configured explicitly rather than relying on a single global trunk's default routing.
  • Codec and bandwidth planning across international links — calls routed between offices in different countries may cross higher-latency international network paths; testing actual round-trip latency and choosing appropriate codecs (potentially G.729 for lower bandwidth on constrained international links) reduces the risk of degraded call quality on cross-border calls specifically.
  • Data protection regulations on call recordings — call recording laws vary significantly by country and sometimes by state/province; ensure your recording policy and storage location comply with the regulations applicable to both parties on the call, not just your own headquarters' jurisdiction.

Bandwidth Math: Calculating Real Trunk Capacity

Codec bandwidth figures like "G.711 uses 64 Kbps" describe only the raw audio payload; the per-call figure that matters for capacity planning includes RTP, UDP, and IP header overhead, because voice is sent as a continuous stream of small packets rather than a few large ones. With the standard 20ms packetization interval, each call leg sends fifty packets per second in each direction, and every one of those packets carries roughly forty bytes of RTP, UDP, and IP headers on top of the audio payload:

  • G.711 at 20ms packetization — a 160-byte audio payload plus headers works out to roughly 87 Kbps per direction on the wire, or about 174 Kbps of symmetric traffic per call once you count both directions.
  • G.729 at 20ms packetization — the audio payload shrinks to 20 bytes, but the headers do not shrink with it, so the on-wire rate is roughly 31 Kbps per direction; header overhead dominates compressed codecs, which is why the real-world savings from G.729 are smaller than the raw codec bitrates suggest.
  • One hundred concurrent G.711 calls — roughly 17-18 Mbps of symmetric, latency-sensitive traffic, comfortably inside a gigabit port, which illustrates why jitter and packet loss, not raw bandwidth, are almost always the true constraint on VoIP quality.
  • Packetization trade-off — increasing the interval to 30ms or 40ms reduces header overhead per second but increases the audio lost per dropped packet and adds latency; the 20ms default is the sensible balance for nearly all deployments.

Troubleshooting Scenarios: Symptom, Cause, Fix

Callers Hear Echo Only on External Calls

Symptom: internal extension-to-extension calls are clean, but calls to the PSTN carry an audible echo of the caller's own voice. Cause: echo on external legs almost always originates at the analog or carrier boundary, not on your server — acoustic echo from a far-end speakerphone or hybrid echo introduced at a media gateway. Fix: confirm your trunk provider has echo cancellation enabled on their gateways, and if you operate your own analog gateway hardware, enable and tune its echo canceller; adding server-side echo training in Asterisk is a last resort, not a first response.

DTMF Digits Not Recognized by IVR Menus

Symptom: callers press keys in your IVR and nothing happens, or digits register twice. Cause: a DTMF signaling mismatch — one side sending digits in-band as audio while the other expects RFC 4733 telephone-events, or both methods arriving simultaneously. Fix: set the DTMF mode explicitly on the trunk and endpoint definitions so both sides agree on a single method, and retest after every carrier change, since trunk providers differ in their defaults.

Registration Storm After a Network Blip

Symptom: after a brief upstream outage, hundreds of phones attempt to re-register at once and the PBX becomes sluggish or drops active calls. Cause: synchronized registration expiry means every endpoint retries on the same schedule, creating a thundering-herd load spike on the SIP stack. Fix: stagger registration expiry timers across endpoint templates and rate-limit new registrations at the firewall so recovery is spread over a minute or two instead of a single burst.

Common Mistakes in VoIP Server Deployments

  • Leaving SIP port 5060 open to the entire internet — within hours of provisioning, scanners will find it and begin brute-forcing extensions; restrict signaling to known carrier and office IP ranges from day one, before the first phone registers.
  • Testing call quality only during quiet hours — a server that sounds perfect with five test calls can degrade badly at the daily peak; always validate with a load generator (such as SIPp) at your projected busy-hour call volume before go-live.
  • Mixing codecs without accounting for transcoding cost — allowing every endpoint to negotiate its own preferred codec silently turns the server into a transcoding farm; standardize the allowed codec list per trunk and per endpoint group deliberately.
  • Skipping the CDR review habit — toll fraud is usually discovered on the invoice rather than in the logs; a weekly ten-minute review of call detail records for unusual destinations catches fraud patterns while they are still cheap.
  • Running voicemail transcription or recording jobs on the voice core at peak — batch-style post-processing competes with real-time media handling; schedule heavy jobs off-peak or move them to a separate worker process.

VoIP is one of the workloads where the difference between shared and dedicated infrastructure is audible in real time, not just visible in a performance dashboard. WebsNP's Linux dedicated server plans come with the static dedicated IP addresses and consistent network paths that SIP trunking requires, and our dedicated IP address options simplify carrier whitelisting. Related reading: our guides on dedicated servers for CRM and ERP hosting and dedicated servers for Discord bots and community platforms. If you are planning a PBX migration or scaling a call center, contact our team for a network-aware sizing recommendation.