{"id":82572,"date":"2026-03-17T12:34:44","date_gmt":"2026-03-17T16:34:44","guid":{"rendered":"https:\/\/www.inmotionhosting.com\/blog\/?p=82572"},"modified":"2026-03-17T12:34:50","modified_gmt":"2026-03-17T16:34:50","slug":"voip-unified-communications-hosting-dedicated-servers","status":"publish","type":"post","link":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/","title":{"rendered":"VOIP &amp; Unified Communications Hosting on Dedicated Servers"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers-1024x538.png\" alt=\"VOIP &amp; Unified Communications Hosting on Dedicated Servers insights\" class=\"wp-image-82573\" srcset=\"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers-1024x538.png 1024w, https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers-300x158.png 300w, https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers-768x403.png 768w, https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Monthly per-seat fees for UCaaS platforms add up fast. A company with 50 employees paying $30-50\/seat for business phone service pays $18,000-30,000 annually for communications infrastructure that a self-hosted Asterisk\/FreePBX deployment on a dedicated server replaces at a fraction of the cost. The tradeoff is configuration complexity and the responsibility to keep the system running.For&hellip; <\/p><\/div>\n\n\n<h2 class=\"wp-block-heading\"><strong>Why Dedicated Hardware vs Cloud for VOIP<\/strong><\/h2>\n\n\n\n<p>VOIP quality is sensitive to network jitter and latency in ways that web applications are not. A 50ms spike in a web request adds 50ms to page load \u2014 noticeable but not catastrophic. A 50ms spike in an active phone call is audible as a click or dropout. A 200ms spike causes words to cut out entirely.<\/p>\n\n\n\n<p>Cloud instances introduce two sources of jitter that dedicated servers eliminate: hypervisor scheduling variability (the VM waits for CPU time when the physical host is under load) and noisy-neighbor network congestion. <a href=\"https:\/\/wiki.asterisk.org\/wiki\/display\/AST\/Asterisk+Home\">Asterisk&#8217;s own documentation<\/a> recommends dedicated hardware for production deployments specifically because of these factors.<\/p>\n\n\n\n<p>A dedicated server with burstable 10Gbps connectivity as provided by <a href=\"https:\/\/www.inmotionhosting.com\/dedicated-servers\">InMotion Hosting&#8217;s dedicated server lineup<\/a> provides the low-jitter, low-latency network environment that call quality requires. The Essential tier (64GB RAM, Intel-based processor) handles 500+ simultaneous SIP calls comfortably; the Extreme tier with AMD EPYC handles several thousand.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Asterisk and FreePBX: Understanding the Stack<\/strong><\/h2>\n\n\n\n<p><strong>Asterisk<\/strong> is the open source telephony engine. It handles call routing, SIP signaling, media processing, and integration with external providers. It&#8217;s configured via text files and requires significant technical knowledge to configure from scratch.<\/p>\n\n\n\n<p><strong>FreePBX<\/strong> is a web-based administration interface built on top of Asterisk. It provides a GUI for configuring extensions, IVR menus, call queues, voicemail, and SIP trunk connections without editing Asterisk configuration files directly. Most self-hosted VOIP deployments use FreePBX as the management layer over Asterisk.<\/p>\n\n\n\n<p><strong>Distros that bundle both:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FreePBX Distro (CentOS-based, maintained by Sangoma)<\/li>\n\n\n\n<li>PBX in a Flash<\/li>\n\n\n\n<li>VoIP.ms&#8217;s recommended stack<\/li>\n<\/ul>\n\n\n\n<p>For a fresh deployment on InMotion&#8217;s dedicated servers, the FreePBX Distro ISO is the fastest path to a working system \u2014 it installs Asterisk, FreePBX, and all dependencies in a single process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Server Hardware Requirements<\/strong><\/h2>\n\n\n\n<p>FreePBX&#8217;s hardware requirements scale with simultaneous call volume and codec choices:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><\/td><td><\/td><td><\/td><td><\/td><\/tr><tr><td>Up to 50<\/td><td>4GB<\/td><td>2+ cores<\/td><td>G.711 (no transcoding)<\/td><\/tr><tr><td>50-200<\/td><td>8GB<\/td><td>4+ cores<\/td><td>G.711 or G.729<\/td><\/tr><tr><td>200-500<\/td><td>16GB<\/td><td>8+ cores<\/td><td>Any codec<\/td><\/tr><tr><td>500-1,000<\/td><td>32GB<\/td><td>12+ cores<\/td><td>Any codec<\/td><\/tr><tr><td>1,000+<\/td><td>64GB+<\/td><td>16+ cores<\/td><td>Any codec with transcoding<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Codec choice significantly affects CPU load.<\/strong> G.711 (ulaw\/alaw) passes audio without transcoding \u2014 it&#8217;s raw PCM audio at 64Kbps per channel. G.729 is the compressed alternative at 8Kbps, requiring CPU transcoding on every call. At 100 simultaneous G.729 calls, transcoding alone consumes 2-4 CPU cores on a modern processor.<\/p>\n\n\n\n<p>For most SMB deployments (under 200 simultaneous calls), InMotion&#8217;s Essential server ($99.99\/month) provides substantial headroom. The 64GB RAM far exceeds VOIP requirements; the Intel processor handles the transcoding load comfortably with cores left over for other services.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FreePBX Installation on AlmaLinux<\/strong><\/h2>\n\n\n\n<p>AlmaLinux 8 is the recommended OS for production FreePBX deployments as of 2025, following CentOS 8&#8217;s end-of-life.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Update base system\n\ndnf update -y\n\n# Install dependencies\n\ndnf install -y wget git\n\n# Download and run FreePBX install script\n\nwget https:\/\/github.com\/FreePBX\/sng_freepbx_debian_install\/releases\/download\/latest\/sangoma_freepbx_install.sh\n\n# Review the script before executing\n\nbash sangoma_freepbx_install.sh\n\n# The script installs Asterisk, FreePBX, and web UI\n\n# Access FreePBX admin at http:\/\/your-server-ip\/admin<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #E1E4E8\"># Update base system<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">dnf update <\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #E1E4E8\">y<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\"># Install dependencies<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">dnf install <\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #E1E4E8\">y wget git<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\"># Download and run FreePBX install script<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">wget <\/span><span style=\"color: #B392F0\">https<\/span><span style=\"color: #E1E4E8\">:<\/span><span style=\"color: #6A737D\">\/\/github.com\/FreePBX\/sng_freepbx_debian_install\/releases\/download\/latest\/sangoma_freepbx_install.sh<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\"># Review the script before executing<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">bash sangoma_freepbx_install.sh<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\"># The script installs Asterisk, FreePBX, and web <\/span><span style=\"color: #79B8FF\">UI<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\"># Access FreePBX admin at <\/span><span style=\"color: #B392F0\">http<\/span><span style=\"color: #E1E4E8\">:<\/span><span style=\"color: #6A737D\">\/\/your-server-ip\/admin<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>After installation, the FreePBX admin UI handles the remaining configuration: setting the admin password, configuring SIP trunks, creating extensions, and building the IVR.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>SIP Trunk Configuration<\/strong><\/h2>\n\n\n\n<p>A SIP trunk connects your Asterisk server to the PSTN (Public Switched Telephone Network) \u2014 the regular phone network. Commercial SIP trunk providers bill per-minute or offer flat-rate channel plans.<\/p>\n\n\n\n<p><strong>Recommended SIP trunk providers for dedicated server deployments:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.twilio.com\/en-us\/sip-trunking\">Twilio Elastic SIP Trunking<\/a> \u2014 per-minute pricing, no monthly minimums, excellent documentation<\/li>\n\n\n\n<li><a href=\"https:\/\/voip.ms\">VoIP.ms<\/a> \u2014 Canadian provider with US termination, flat-rate and per-minute options<\/li>\n\n\n\n<li><a href=\"https:\/\/telnyx.com\">Telnyx<\/a> \u2014 competitive pricing with good developer documentation<\/li>\n<\/ul>\n\n\n\n<p>In FreePBX, trunks are configured under Connectivity &gt; Trunks. A typical SIP trunk configuration:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Trunk Name: Primary_SIP_Trunk\n\nOutbound CallerID: Your DID number\n\nPEER Details:\n\nhost=sip.provider.com\n\ntype=peer\n\nqualify=yes\n\nnat=force_rport,comedia\n\ndtmfmode=rfc2833\n\ncontext=from-trunk<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #E1E4E8\">Trunk <\/span><span style=\"color: #B392F0\">Name<\/span><span style=\"color: #E1E4E8\">: Primary_SIP_Trunk<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">Outbound <\/span><span style=\"color: #B392F0\">CallerID<\/span><span style=\"color: #E1E4E8\">: Your <\/span><span style=\"color: #79B8FF\">DID<\/span><span style=\"color: #E1E4E8\"> number<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">PEER<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">Details<\/span><span style=\"color: #E1E4E8\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">host<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\">sip.provider.com<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">type<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\">peer<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">qualify<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\">yes<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">nat<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\">force_rport,comedia<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">dtmfmode<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\">rfc2833<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">context<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\">from<\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #E1E4E8\">trunk<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Network and Firewall Configuration for VOIP<\/strong><\/h2>\n\n\n\n<p>VOIP requires specific firewall configuration. SIP signaling uses UDP\/TCP port 5060; media (RTP audio) uses a range of UDP ports:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># SIP signaling\n\nnft add rule inet filter input udp dport 5060 accept\n\nnft add rule inet filter input tcp dport 5060 accept\n\n# RTP media ports (FreePBX default range)\n\nnft add rule inet filter input udp dport 10000-20000 accept\n\n# FreePBX web interface (restrict to admin IPs)\n\nnft add rule inet filter input ip saddr 203.0.113.0\/32 tcp dport 80 accept\n\nnft add rule inet filter input ip saddr 203.0.113.0\/32 tcp dport 443 accept<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #E1E4E8\"># <\/span><span style=\"color: #79B8FF\">SIP<\/span><span style=\"color: #E1E4E8\"> signaling<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">nft add rule inet filter input udp dport <\/span><span style=\"color: #79B8FF\">5060<\/span><span style=\"color: #E1E4E8\"> accept<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">nft add rule inet filter input tcp dport <\/span><span style=\"color: #79B8FF\">5060<\/span><span style=\"color: #E1E4E8\"> accept<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\"># <\/span><span style=\"color: #79B8FF\">RTP<\/span><span style=\"color: #E1E4E8\"> media <\/span><span style=\"color: #B392F0\">ports<\/span><span style=\"color: #E1E4E8\"> (FreePBX default range)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">nft add rule inet filter input udp dport <\/span><span style=\"color: #79B8FF\">10000<\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #79B8FF\">20000<\/span><span style=\"color: #E1E4E8\"> accept<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\"># FreePBX web <\/span><span style=\"color: #F97583\">interface<\/span><span style=\"color: #E1E4E8\"> (<\/span><span style=\"color: #B392F0\">restrict<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">to<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">admin<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">IPs<\/span><span style=\"color: #E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">nft<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">add<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">rule<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">inet<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">filter<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">input<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">ip<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">saddr<\/span><span style=\"color: #E1E4E8\"> 203.0.113.0\/32 <\/span><span style=\"color: #B392F0\">tcp<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">dport<\/span><span style=\"color: #E1E4E8\"> 80 <\/span><span style=\"color: #B392F0\">accept<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">nft<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">add<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">rule<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">inet<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">filter<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">input<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">ip<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">saddr<\/span><span style=\"color: #E1E4E8\"> 203.0.113.0\/32 <\/span><span style=\"color: #B392F0\">tcp<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">dport<\/span><span style=\"color: #E1E4E8\"> 443 <\/span><span style=\"color: #B392F0\">accept<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>Fail2Ban is mandatory for VOIP servers.<\/strong> SIP port 5060 is scanned continuously by automated tools attempting to register extensions and make calls at your expense. Fail2Ban with the Asterisk jail blocks IPs after failed registration attempts:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># \/etc\/fail2ban\/jail.local\n\n&#91;asterisk&#93;\n\nenabled = true\n\nport = 5060\n\nfilter = asterisk\n\nlogpath = \/var\/log\/asterisk\/security\n\nmaxretry = 3\n\nbantime = 3600<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #E1E4E8\"># <\/span><span style=\"color: #F97583\">\/<\/span><span style=\"color: #E1E4E8\">etc<\/span><span style=\"color: #F97583\">\/<\/span><span style=\"color: #E1E4E8\">fail2ban<\/span><span style=\"color: #F97583\">\/<\/span><span style=\"color: #E1E4E8\">jail.local<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">&#91;asterisk&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">enabled <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">true<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">port <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">5060<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">filter <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\"> asterisk<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">logpath <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">\/var<\/span><span style=\"color: #E1E4E8\">\/log\/asterisk\/security<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">maxretry <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">3<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">bantime <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">3600<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Without Fail2Ban, a compromised extension credential results in thousands of dollars in fraudulent international calls within hours. This is not hypothetical \u2014 SIP toll fraud is one of the most common and costly incidents on improperly secured VOIP deployments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Call Quality Optimization<\/strong><\/h2>\n\n\n\n<p><strong>QoS (Quality of Service) marking:<\/strong> Mark VOIP packets with DSCP EF (Expedited Forwarding) so network equipment prioritizes them over bulk data traffic:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Mark outbound RTP packets with DSCP EF (46)\n\nnft add rule inet mangle output ip protocol udp udp dport 10000-20000 ip dscp set ef\n\nnft add rule inet mangle output ip protocol udp udp dport 5060 ip dscp set ef<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #E1E4E8\"># Mark outbound <\/span><span style=\"color: #79B8FF\">RTP<\/span><span style=\"color: #E1E4E8\"> packets <\/span><span style=\"color: #F97583\">with<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">DSCP<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #B392F0\">EF<\/span><span style=\"color: #E1E4E8\"> (<\/span><span style=\"color: #79B8FF\">46<\/span><span style=\"color: #E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">nft add rule inet mangle output ip protocol udp udp dport <\/span><span style=\"color: #79B8FF\">10000<\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #79B8FF\">20000<\/span><span style=\"color: #E1E4E8\"> ip dscp set ef<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">nft add rule inet mangle output ip protocol udp udp dport <\/span><span style=\"color: #79B8FF\">5060<\/span><span style=\"color: #E1E4E8\"> ip dscp set ef<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>Kernel timer resolution:<\/strong> VOIP timing is sensitive to kernel scheduling delays. On heavily loaded servers, set CONFIG_HZ=1000 in the kernel configuration to reduce scheduling latency. For most dedicated server configurations, the default is already appropriate; verify with grep CONFIG_HZ \/boot\/config-$(uname -r).<\/p>\n\n\n\n<p><strong>Disable swap for RTP buffers.<\/strong> Memory paging during active call processing introduces latency spikes. With InMotion&#8217;s Essential server at 64GB RAM running a modest VOIP deployment, swap should never be touched. Confirm with free -m and set vm.swappiness=1 in \/etc\/sysctl.conf as a preventive measure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Monitoring Call Quality<\/strong><\/h2>\n\n\n\n<p>Asterisk logs call data records (CDRs) that provide post-call quality metrics. The RTPAUDIOQOS variable in the CDR captures jitter, packet loss, and round-trip time per call. Monitor for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Jitter above 30ms:<\/strong> Audible audio quality degradation<\/li>\n\n\n\n<li><strong>Packet loss above 1%:<\/strong> Dropped words, choppy audio<\/li>\n\n\n\n<li><strong>Round-trip time above 150ms:<\/strong> Perceptible delay in conversation<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/wiki.asterisk.org\/wiki\/display\/AST\/CDR+Storage+Backends\">Asterisk&#8217;s realtime CDR documentation<\/a> covers storing CDR data in MySQL for analysis. For production deployments, storing CDR data allows trend analysis helps with identifying whether call quality problems correlate with time of day (server load), specific SIP trunks, or specific geographic routes.<\/p>\n\n\n\n<p>InMotion&#8217;s Premier Care includes 24\/7 support. For VOIP deployments where call quality problems could affect business operations, having access to expert support for server-level issues like network problems, resource contention, hardware anomalies is worth the additional cost.<\/p>\n\n\n\n<p><strong>Related reading<\/strong>: <strong><a href=\"https:\/\/www.inmotionhosting.com\/blog\/server-hardening-best-practices-dedicated-servers\/\" type=\"post\" id=\"82504\">Server Hardening Best Practices<\/a><\/strong> | <strong><a href=\"https:\/\/www.inmotionhosting.com\/blog\/network-latency-optimization-dedicated-servers\/\" type=\"post\" id=\"82491\">Network Latency Optimization for Dedicated Servers<\/a><\/strong><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Monthly per-seat fees for UCaaS platforms add up fast. A company with 50 employees paying $30-50\/seat for business phone service pays $18,000-30,000 annually for communications infrastructure that a self-hosted Asterisk\/FreePBX deployment on a dedicated server replaces at a fraction of the cost. The tradeoff is configuration complexity and the responsibility to keep the system running.<br \/>For teams with the technical depth to manage a Linux server, self-hosted VOIP on dedicated hardware is a mature, reliable option that organizations have run in production for decades.<\/p>\n","protected":false},"author":116,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[355],"tags":[],"class_list":["post-82572","post","type-post","status-publish","format-standard","hentry","category-dedicated-server-hosting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VOIP &amp; Unified Communications Hosting on Dedicated Servers | InMotion Hosting<\/title>\n<meta name=\"description\" content=\"Host Asterisk FreePBX on dedicated servers for enterprise VOIP. Configuration, hardware requirements, and call quality optimization for self-hosted UCaaS.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VOIP &amp; Unified Communications Hosting on Dedicated Servers | InMotion Hosting\" \/>\n<meta property=\"og:description\" content=\"Host Asterisk FreePBX on dedicated servers for enterprise VOIP. Configuration, hardware requirements, and call quality optimization for self-hosted UCaaS.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/\" \/>\n<meta property=\"og:site_name\" content=\"InMotion Hosting Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inmotionhosting\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-17T16:34:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-17T16:34:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sam Page\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@inmotionhosting\" \/>\n<meta name=\"twitter:site\" content=\"@inmotionhosting\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sam Page\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VOIP &amp; Unified Communications Hosting on Dedicated Servers | InMotion Hosting","description":"Host Asterisk FreePBX on dedicated servers for enterprise VOIP. Configuration, hardware requirements, and call quality optimization for self-hosted UCaaS.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/","og_locale":"en_US","og_type":"article","og_title":"VOIP &amp; Unified Communications Hosting on Dedicated Servers | InMotion Hosting","og_description":"Host Asterisk FreePBX on dedicated servers for enterprise VOIP. Configuration, hardware requirements, and call quality optimization for self-hosted UCaaS.","og_url":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/","og_site_name":"InMotion Hosting Blog","article_publisher":"https:\/\/www.facebook.com\/inmotionhosting","article_published_time":"2026-03-17T16:34:44+00:00","article_modified_time":"2026-03-17T16:34:50+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers.png","type":"image\/png"}],"author":"Sam Page","twitter_card":"summary_large_image","twitter_creator":"@inmotionhosting","twitter_site":"@inmotionhosting","twitter_misc":{"Written by":"Sam Page","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/#article","isPartOf":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/"},"author":{"name":"Sam Page","@id":"https:\/\/www.inmotionhosting.com\/blog\/#\/schema\/person\/b459c4b748083c4f8431d5312e795796"},"headline":"VOIP &amp; Unified Communications Hosting on Dedicated Servers","datePublished":"2026-03-17T16:34:44+00:00","dateModified":"2026-03-17T16:34:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/"},"wordCount":921,"commentCount":0,"publisher":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers-1024x538.png","articleSection":["Dedicated Server Articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/","url":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/","name":"VOIP &amp; Unified Communications Hosting on Dedicated Servers | InMotion Hosting","isPartOf":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/#primaryimage"},"image":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers-1024x538.png","datePublished":"2026-03-17T16:34:44+00:00","dateModified":"2026-03-17T16:34:50+00:00","description":"Host Asterisk FreePBX on dedicated servers for enterprise VOIP. Configuration, hardware requirements, and call quality optimization for self-hosted UCaaS.","breadcrumb":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/#primaryimage","url":"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers.png","contentUrl":"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2026\/03\/ERP-and-CRM-Hosting-on-Dedicated-Servers.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.inmotionhosting.com\/blog\/voip-unified-communications-hosting-dedicated-servers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inmotionhosting.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Dedicated Server Articles","item":"https:\/\/www.inmotionhosting.com\/blog\/dedicated-server-hosting\/"},{"@type":"ListItem","position":3,"name":"VOIP &amp; Unified Communications Hosting on Dedicated Servers"}]},{"@type":"WebSite","@id":"https:\/\/www.inmotionhosting.com\/blog\/#website","url":"https:\/\/www.inmotionhosting.com\/blog\/","name":"InMotion Hosting Blog","description":"Web Hosting Strategy, Trends and Security","publisher":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inmotionhosting.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.inmotionhosting.com\/blog\/#organization","name":"InMotion Hosting","url":"https:\/\/www.inmotionhosting.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.inmotionhosting.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2019\/11\/imh-logo-all-colors-big.jpg","contentUrl":"https:\/\/www.inmotionhosting.com\/blog\/wp-content\/uploads\/2019\/11\/imh-logo-all-colors-big.jpg","width":1630,"height":430,"caption":"InMotion Hosting"},"image":{"@id":"https:\/\/www.inmotionhosting.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inmotionhosting","https:\/\/x.com\/inmotionhosting"]},{"@type":"Person","@id":"https:\/\/www.inmotionhosting.com\/blog\/#\/schema\/person\/b459c4b748083c4f8431d5312e795796","name":"Sam Page","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/35c230f33cd7aacf52f0f53bc02230a2ee7840b5b221af549d491ab98f65a363?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/35c230f33cd7aacf52f0f53bc02230a2ee7840b5b221af549d491ab98f65a363?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/35c230f33cd7aacf52f0f53bc02230a2ee7840b5b221af549d491ab98f65a363?s=96&r=g","caption":"Sam Page"},"url":"https:\/\/www.inmotionhosting.com\/blog\/author\/samp\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"primary_category":{"id":355,"name":"Dedicated Server Articles","slug":"dedicated-server-hosting","link":"https:\/\/www.inmotionhosting.com\/blog\/dedicated-server-hosting\/"},"_links":{"self":[{"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/posts\/82572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/users\/116"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/comments?post=82572"}],"version-history":[{"count":1,"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/posts\/82572\/revisions"}],"predecessor-version":[{"id":82574,"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/posts\/82572\/revisions\/82574"}],"wp:attachment":[{"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/media?parent=82572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/categories?post=82572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inmotionhosting.com\/blog\/wp-json\/wp\/v2\/tags?post=82572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}