مجله ایرانیکاسرورآموزش سرور، هاست، وردپرس و شبکه
آموزشی

FusionPBX چیست؟ آموزش نصب و راه‌اندازی FreeSWITCH روی سرور مجازی در ۲۰۲۶

FusionPBX یک پنل مدیریتی متن‌باز برای FreeSWITCH است که به شما اجازه می‌دهد روی یک VPS، سانترال VoIP کامل با داخلی، SIP Trunk، IVR، صف تماس، ضبط مکالمه، Voicemail، Provisioning تلفن و حتی چند…

FusionPBX چیست؟ آموزش نصب و راه‌اندازی FreeSWITCH روی سرور مجازی در ۲۰۲۶
خلاصه سریع این آموزش

FusionPBX یک پنل مدیریتی متن‌باز برای FreeSWITCH است که به شما اجازه می‌دهد روی یک VPS، سانترال VoIP کامل با داخلی، SIP Trunk، IVR، صف تماس، ضبط مکالمه، Voicemail، Provisioning…

۲۰ دقیقه مطالعه ۰ دیدگاه ۲۵ مهر ۱۴۰۵ آخرین به‌روزرسانی
FusionPBX یک پنل مدیریتی متن‌باز برای FreeSWITCH است که به شما اجازه می‌دهد روی یک VPS، سانترال VoIP کامل با داخلی، SIP Trunk، IVR، صف تماس، ضبط مکالمه، Voicemail، Provisioning تلفن و حتی چند Tenant مستقل بسازید. اگر Asterisk و FreePBX را می‌شناسید، می‌توان FusionPBX را از نظر نقش مدیریتی شبیه FreePBX دانست؛ با این تفاوت که موتور اصلی آن FreeSWITCH است و معماری Domain-based آن از ابتدا برای Multi-Tenant بسیار مناسب طراحی شده است.

در این آموزش قرار نیست فقط FusionPBX را نصب کنیم و صفحه Login را ببینیم. از انتخاب سیستم‌عامل شروع می‌کنیم، یک VPS آماده می‌کنیم، Domain و DNS را تنظیم می‌کنیم، FusionPBX و FreeSWITCH را نصب می‌کنیم، یک Extension واقعی می‌سازیم، Gateway یا SIP Trunk اضافه می‌کنیم، Firewall را بررسی می‌کنیم و در پایان HTTPS و SIP TLS را فعال می‌کنیم.

هدف این است که بعد از پایان مقاله دقیقاً بدانید هر لایه چه کاری انجام می‌دهد و بتوانید تشخیص دهید اگر تلفن Register نشد یا تماس صدا نداشت، مشکل را باید در Domain، Extension، Gateway، Firewall، NAT یا FreeSWITCH جست‌وجو کنید.

وضعیت نسخه در اکتبر ۲۰۲۶: FusionPBX 5.6 در سپتامبر ۲۰۲۶ منتشر شده و آخرین Tag رسمی فعلی 5.6.5 است. FreeSWITCH نیز در حال حاضر به نسخه 1.11.3 رسیده است. برای Production نسخه نصب‌شده روی سرور را بعد از Installation از داخل System Status بررسی کنید و فقط به شماره نسخه یک آموزش اینترنتی اعتماد نکنید.

فهرست مطالب

FusionPBX دقیقاً چیست؟

FusionPBX خودش موتور SIP نیست.

هسته تماس‌ها را FreeSWITCH انجام می‌دهد و FusionPBX یک رابط مدیریتی و لایه Configuration روی آن ایجاد می‌کند.

به زبان ساده معماری معمول چنین است:

تلفن‌ها و SIP Providerها → FreeSWITCH → FusionPBX Configuration → PostgreSQL

در نصب استاندارد همچنین NGINX، PHP-FPM، PostgreSQL، Fail2ban و Firewall نیز در کنار آن استفاده می‌شوند.

FreeSWITCH چه نقشی دارد؟

FreeSWITCH موتور واقعی تماس است.

کارهایی مثل:

🔹 SIP Registration

🔹 برقراری تماس

🔹 RTP Media

🔹 Transcoding

🔹 Conference

🔹 Call Center

🔹 Recording

🔹 IVR

در نهایت داخل FreeSWITCH اجرا می‌شوند.

FusionPBX تنظیمات موردنیاز FreeSWITCH را از طریق رابط وب و Database مدیریت می‌کند.

FusionPBX برای چه کسانی مناسب است؟

FusionPBX زمانی انتخاب بسیار خوبی است که یکی از این نیازها را داشته باشید:

🔹 سانترال سازمانی روی VPS

🔹 چند شرکت یا شعبه روی یک سرور

🔹 Multi-Tenant VoIP Hosting

🔹 تعداد داخلی زیاد

🔹 Call Center

🔹 چند SIP Provider

🔹 Provisioning تلفن‌ها

🔹 Voicemail و ضبط تماس

🔹 توسعه Dialplanهای پیچیده

FusionPBX چه زمانی انتخاب مناسبی نیست؟

اگر فقط دو یا سه داخلی دارید و یک PBX بسیار ساده می‌خواهید، ممکن است FusionPBX بیش از نیاز شما باشد.

همچنین اگر هیچ آشنایی با Linux، SIP، NAT، DNS و Firewall ندارید، نصب پنل به‌تنهایی مشکل را حل نمی‌کند؛ چون FreeSWITCH همچنان یک سیستم تلفنی حرفه‌ای است و بخش شبکه باید درست طراحی شود.

مزیت مهم FusionPBX: Multi-Tenant واقعی با Domain

یکی از تفاوت‌های مهم FusionPBX با بسیاری از PBXهای ساده، معماری Domain-based است.

مثلاً می‌توانید روی یک Server این Domainها را داشته باشید:

company-a.pbx.example.com
company-b.pbx.example.com
support.pbx.example.com

هر Domain می‌تواند User، Extension، Gateway و تنظیمات مستقل خودش را داشته باشد.

FusionPBX 5.6 در ۲۰۲۶ چه وضعیتی دارد؟

نسخه رسمی 5.6 در ۱۹ سپتامبر ۲۰۲۶ منتشر شده است.

از تغییرهای این نسل می‌توان به مواردی مثل:

🔹 WebAuthn Passkeys

🔹 Domain Profile ساده‌تر

🔹 Global Profile

🔹 Themeهای قابل انتخاب

🔹 بهبود Operator Panel با WebSocket

🔹 بهبود Call Recording و CDR Search

اشاره کرد.

آخرین Release Tag موجود در Repository رسمی در زمان بررسی این مقاله 5.6.5 است.

نسخه FreeSWITCH در ۲۰۲۶

FreeSWITCH نیز در سال ۲۰۲۶ وارد شاخه 1.11 شده و آخرین Release فعلی:

FreeSWITCH 1.11.3

است.

این Release شامل Security Fix و Stability Improvement است و پشتیبانی Debian 11 Bullseye نیز در آن کنار گذاشته شده است.

آیا Installer حتماً جدیدترین نسخه را نصب می‌کند؟

لزومی ندارد شماره نسخه نصب‌شده را از روی مقاله یا صفحه Releases حدس بزنید.

Installer FusionPBX می‌تواند بر اساس Branch و FreeSWITCH Branch تنظیم‌شده در Script عمل کند.

بنابراین بعد از Installation نسخه واقعی سرور را Verify کنید.

نسخه FusionPBX را از کجا ببینیم؟

در پنل:

Status → System Status

اطلاعاتی مثل FusionPBX Version، Git Version و Switch Version نمایش داده می‌شود.

نسخه FreeSWITCH از خط فرمان

fs_cli -x "version"

چه سیستم‌عاملی برای FusionPBX انتخاب کنیم؟

صفحه Download رسمی FusionPBX در حال حاضر این گزینه‌ها را ارائه می‌کند:

🔹 Debian 12

🔹 Debian 13

🔹 Ubuntu 24.04 LTS

و Debian 12 یا 13 را به‌عنوان سیستم‌عامل Recommended معرفی می‌کند.

Debian 12 یا Debian 13؟

برای این مقاله Debian 12 را انتخاب می‌کنیم.

دلیل این انتخاب این است که Quick Install رسمی FusionPBX هنوز Debian 12 Minimal را مبنای آموزش قرار داده و بسیاری از Deploymentهای فعلی روی همین نسخه کار می‌کنند.

Debian 13 نیز اکنون در صفحه Download رسمی پشتیبانی می‌شود و Installer برای Trixie مسیرهای جدیدتری مثل PHP 8.4 دارد.

اگر Production دارید و Module یا Integration سفارشی استفاده می‌کنید، قبل از رفتن به Debian 13 آن‌ها را روی Staging بررسی کنید.

برای FusionPBX روی VPS چه منابعی نیاز داریم؟

مصرف واقعی کاملاً به تعداد تماس هم‌زمان و Featureها بستگی دارد.

به‌صورت عملی:

🔹 یک PBX آزمایشی سبک می‌تواند با 2 vCPU و 2GB RAM شروع شود.

🔹 برای Production کوچک معمولاً 2 تا 4 vCPU و 4GB RAM فضای مطمئن‌تری ایجاد می‌کند.

🔹 Recording، Conference، Transcoding و Call Center مصرف CPU و Disk را افزایش می‌دهند.

🔹 اگر Recording زیاد دارید، فضای Disk و IOPS از RAM هم مهم‌تر می‌شوند.

این اعداد ظرفیت رسمی ثابت نیستند؛ برای Production باید Concurrent Call و Codec واقعی را اندازه‌گیری کنید.

IP ثابت برای FusionPBX بسیار مهم است

برای یک PBX روی اینترنت، Public IP ثابت کار را برای موارد زیر ساده می‌کند:

🔹 DNS

🔹 SIP Trunk

🔹 Provider Allowlist

🔹 TLS Certificate

🔹 Remote Extensions

اگر Public IP دائماً تغییر کند، SIP و DNS شما به معماری Dynamic DNS وابسته می‌شود که برای PBX سازمانی انتخاب ایده‌آلی نیست.

مرحله ۱: یک FQDN برای PBX بسازید

فرض کنیم Domain اصلی شما:

example.com

است.

یک Hostname مثل این بسازید:

pbx.example.com

و یک A Record به Public IP سرور بدهید.

DNS را قبل از نصب بررسی کنید

dig +short pbx.example.com

باید Public IP همان VPS را برگرداند.

Hostname سیستم را تنظیم کنیم

hostnamectl set-hostname pbx.example.com

مرحله ۲: Debian 12 را Update کنید

apt update
apt upgrade -y

اگر Kernel یا Packageهای پایه Update شدند، قبل از نصب FusionPBX یک Reboot انجام دهید:

reboot

مرحله ۳: نصب FusionPBX با Installer رسمی

دستور فعلی معرفی‌شده در Download رسمی:

wget -O - https://raw.githubusercontent.com/fusionpbx/fusionpbx-install.sh/master/debian/pre-install.sh | sh

سپس:

cd /usr/src/fusionpbx-install.sh/debian
./install.sh

این دستورات را با دسترسی Root اجرا کنید.

Installer چه چیزهایی نصب می‌کند؟

نصب رسمی اجزای اصلی زیر را آماده می‌کند:

🔹 FusionPBX

🔹 FreeSWITCH

🔹 PostgreSQL

🔹 NGINX

🔹 PHP-FPM

🔹 Firewall

🔹 Fail2ban

در پایان Install، Username و Password تصادفی امن برای ورود به پنل نمایش داده می‌شود.

آن را همان لحظه داخل Password Manager ذخیره کنید.

اجرای مستقیم Script اینترنتی چه ملاحظه‌ای دارد؟

دستور بالا همان روش رسمی FusionPBX است، اما در محیط سازمانی بهتر است قبل از اجرای Script از VPS Snapshot بگیرید و Repository/Script مورد استفاده را نیز بررسی کنید.

هدف این است که Update ناخواسته Installer دقیقاً در زمان نصب Production غافلگیرتان نکند.

مرحله ۴: وضعیت Serviceها را بررسی کنید

FreeSWITCH

systemctl status freeswitch --no-pager

NGINX

systemctl status nginx --no-pager

PostgreSQL

systemctl status postgresql --no-pager

FreeSWITCH را از CLI بررسی کنید

fs_cli

سپس:

status
version

مرحله ۵: ورود اولیه به FusionPBX

در Browser:

https://pbx.example.com

را باز کنید.

اگر هنوز Certificate معتبر ندارید ممکن است در مرحله اولیه Certificate Warning ببینید؛ در ادامه Let’s Encrypt را تنظیم می‌کنیم.

Domain در FusionPBX فقط آدرس پنل نیست

یکی از مهم‌ترین مفاهیم FusionPBX همین Domain است.

Domain روی مواردی مثل:

🔹 SIP Realm

🔹 Extension Registration

🔹 Multi-Tenant Isolation

🔹 User Login

🔹 Dialplan Context

اثر دارد.

پس Domain را از همان ابتدا درست انتخاب کنید.

مرحله ۶: ساخت Domain جدید

اگر می‌خواهید Tenant یا Domain جدید بسازید:

Advanced → Domains → Add

مثلاً:

company1.pbx.example.com

قبل از ایجاد Domain، A Record آن را در DNS بسازید.

چرا Domain در Extension مهم است؟

در FusionPBX یک Extension فقط شماره 1001 نیست.

هویت کامل SIP می‌تواند شبیه این باشد:

1001@company1.pbx.example.com

همین ویژگی اجازه می‌دهد Tenant دیگری نیز داخلی 1001 خودش را داشته باشد.

مرحله ۷: ساخت اولین Extension

مسیر:

Accounts → Extensions → Add

برای نمونه:

گزینه مقدار نمونه
Extension 1001
Password رمز تصادفی قوی
Domain pbx.example.com
Enabled True

FusionPBX به‌صورت پیش‌فرض Passwordهای قوی تولید می‌کند. Password کوتاه یا قابل حدس را جایگزین آن نکنید.

تنظیم تلفن یا Softphone

روی SIP Client:

گزینه مقدار
SIP Server pbx.example.com
User / Extension 1001
Auth ID 1001
Password رمز Extension
Domain / Realm pbx.example.com

Registration را از داخل FusionPBX ببینید

مسیر:

Status → Registrations

در این صفحه باید Extension، Contact، User Agent و اطلاعات Registration را ببینید.

از FreeSWITCH CLI هم Registration را ببینیم

در:

fs_cli

می‌توانید:

sofia status profile internal reg

را بررسی کنید.

اگر Extension Register نشد

این ترتیب را بررسی کنید:

مرحله ۱: Domain/FQDN Resolve می‌شود؟

مرحله ۲: Port SIP در Firewall باز است؟

مرحله ۳: Username و Password درست‌اند؟

مرحله ۴: Realm/Domain صحیح است؟

مرحله ۵: Fail2ban IP شما را Block نکرده؟

مرحله ۶: SIP Profile Running است؟

ابزار بسیار مفید sngrep

FusionPBX سال‌هاست sngrep را به‌عنوان ابزار عیب‌یابی SIP استفاده می‌کند.

اجرا:

sngrep

با آن می‌توانید REGISTER، INVITE، 401، 403، 200 OK و BYE را به شکل Flow ببینید.

مرحله ۸: ساخت SIP Gateway

در FusionPBX اصطلاح Gateway معمولاً برای اتصال به SIP Provider یا PBX دیگر استفاده می‌شود.

مسیر:

Accounts → Gateways → Add

فیلدهای مهم Gateway

🔹 Gateway Name

🔹 Username

🔹 Password

🔹 Proxy

🔹 Register

🔹 Transport

🔹 Codec Preferences

🔹 Domain

مقادیر دقیق باید از SIP Provider گرفته شوند.

یک Gateway نمونه

فرض کنیم Provider اطلاعات زیر را داده است:

SIP Server: sip.provider.example
Username: 02100000000
Password: PROVIDER-SECRET

این مقادیر فقط مثال هستند.

در Gateway واقعی Credential خودتان را وارد کنید.

Register Transport چه گزینه‌هایی دارد؟

در Gateway می‌توانید Transport را بر اساس Provider روی:

🔹 UDP

🔹 TCP

🔹 TLS

قرار دهید.

اگر Provider TLS ارائه می‌کند، فقط تغییر Transport کافی نیست؛ Certificate و SIP Profile TLS نیز باید درست باشند.

Gateway پشت NAT است؟ Ping کمک می‌کند

FusionPBX در Gateway گزینه Ping دارد.

این گزینه می‌تواند برای Keepalive یک Gateway پشت NAT مفید باشد.

اما مقدار آن را بر اساس Provider و Firewall انتخاب کنید؛ Keepalive بیش از حد فقط Traffic اضافه تولید می‌کند.

مرحله ۹: Outbound Route بسازید

ساخت Gateway به‌تنهایی باعث نمی‌شود تماس‌های خروجی از آن عبور کنند.

باید Outbound Route مشخص کند چه شماره‌هایی به کدام Gateway ارسال شوند.

مسیر معمول:

Dialplan → Outbound Routes

مثلاً Pattern تماس شهری، موبایل یا بین‌الملل را متناسب با Provider تعریف کنید.

Inbound Call نیز Destination می‌خواهد

برای تماس ورودی، DID یا Destination باید مشخص کند تماس به کجا برود:

🔹 Extension

🔹 IVR

🔹 Ring Group

🔹 Queue

🔹 Voicemail

پس Test واقعی Trunk باید هم تماس خروجی و هم تماس ورودی را پوشش دهد.

مرحله ۱۰: Firewall؛ کدام Portها لازم‌اند؟

مستندات FusionPBX این Portهای پایه را ذکر می‌کند:

کاربرد Protocol Port
SSH TCP 22
HTTP TCP 80
HTTPS TCP 443
SIP TCP/UDP 5060–5091
RTP UDP 16384–32768

همه این Portها را به کل اینترنت باز نکنید

جدول بالا Rangeهایی است که FusionPBX/FreeSWITCH می‌تواند استفاده کند؛ نه اینکه باید تمام آن‌ها را برای:

0.0.0.0/0

باز کنید.

روی Production بهتر است:

🔹 SSH فقط از IPهای مدیریتی یا VPN در دسترس باشد.

🔹 SIP Provider بر اساس IPهای رسمی Allowlist شود.

🔹 پنل مدیریت در صورت امکان فقط از Network مدیریتی قابل دسترسی باشد.

🔹 فقط SIP Profileهایی که واقعاً استفاده می‌شوند Exposure داشته باشند.

Internal و External SIP Profile

در بسیاری از نصب‌ها FreeSWITCH از Profileهای جداگانه Internal و External استفاده می‌کند.

نمونه متداول:

🔹 Internal SIP: 5060 / TLS 5061

🔹 External SIP: 5080 / TLS 5081

اما Configuration واقعی سرور را از:

Status → SIP Status

بررسی کنید و Firewall را بر اساس همان Portهای واقعی بسازید.

Fail2ban را خاموش نکنید چون خودتان Block شده‌اید

Installer رسمی Fail2ban را برای محافظت از SSH، Web و FreeSWITCH نصب می‌کند.

اگر به‌دلیل Password اشتباه IP شما Block شد، راه درست حذف Fail2ban نیست.

ابتدا بررسی کنید:

fail2ban-client status

و سپس Jail مرتبط را بررسی کنید.

FusionPBX ثبت روی FQDN را توصیه می‌کند

مستند Quick Install توصیه می‌کند به‌جای Register شدن تلفن‌ها روی IP خام، از Domain/FQDN استفاده کنید.

این کار علاوه بر نظم بهتر، برای TLS و Certificate نیز ضروری‌تر است.

همچنین Ruleهای امنیتی FusionPBX می‌توانند Registration مستقیم روی IP را محدود کنند.

مرحله ۱۱: فعال‌کردن HTTPS با Let’s Encrypt

قبل از اجرای Certificate:

🔹 A Record باید به Public IP برسد.

🔹 Port 80 برای Challenge قابل دسترسی باشد.

🔹 FQDN اشتباه یا پشت DNS Proxy نامناسب نباشد.

سپس:

cd /usr/src/fusionpbx-install.sh/debian/resources
./letsencrypt.sh

Domain و Email را وارد کنید.

letsencrypt.sh چه کاری انجام می‌دهد؟

طبق مستند رسمی این Script:

🔹 Certificate را از Let’s Encrypt دریافت می‌کند.

🔹 NGINX را برای SSL تنظیم می‌کند.

🔹 Certificate مناسب FreeSWITCH TLS را نیز آماده می‌کند.

🔹 Configuration را تست می‌کند.

بعد از HTTPS، SIP TLS را فعال کنیم

Certificate روی Web UI به معنی فعال‌شدن خودکار SIP TLS نیست.

برای Internal SIP Profile:

Advanced → Variables → SIP Profile: Internal

مقدار:

internal_ssl_enable=true

را بررسی کنید.

سپس:

Status → SIP Status

و برای Profile مربوطه Flush Cache و Rescan انجام دهید.

چطور بفهمیم TLS فعال شده؟

در SIP Status باید Profile وضعیت TLS را نشان دهد.

همچنین می‌توانید از بیرون Server Certificate را بررسی کنید:

openssl s_client \
-connect pbx.example.com:5061 \
-servername pbx.example.com

FreeSWITCH 1.11 یک قابلیت مفید برای Certificate دارد

در شاخه 1.11 قابلیت:

reloadcert

برای Reload کردن Certificateهای TLS بدون قطع کامل Sessionها اضافه شده است.

اما قبل از استفاده روی Production، نسخه FreeSWITCH و Moduleهای فعال همان سرور را Verify کنید.

TLS با SRTP یکسان نیست

SIP TLS فقط Signaling را رمزنگاری می‌کند.

اگر خود Audio نیز باید رمز شود، باید SRTP یا Media Encryption سازگار بین Phone، FreeSWITCH و Provider فعال شود.

بنابراین دیدن TLS روی 5061 به معنی رمزنگاری RTP نیست.

مرحله ۱۲: NAT را بررسی کنیم

اگر FusionPBX پشت NAT نصب شده باشد، FreeSWITCH باید Public Address واقعی را برای SIP و RTP بداند.

FusionPBX برای Static Public IP تنظیماتی مانند:

external_sip_ip
external_rtp_ip

دارد.

برای Public IP ثابت می‌توان آن‌ها را با الگوی:

autonat:203.0.113.20

تنظیم کرد.

IP بالا فقط نمونه مستندسازی است.

نشانه NAT اشتباه چیست؟

مستند FusionPBX این علائم را از نشانه‌های رایج NAT Configuration اشتباه می‌داند:

🔹 قطع تماس حدود ۳۲ ثانیه

🔹 صدای یک‌طرفه

🔹 بدون صدا

SIP ALG را جدی بررسی کنید

در بسیاری از Routerها SIP ALG تلاش می‌کند SIP Headerها را Rewrite کند.

FusionPBX نیز در مستند NAT اشاره می‌کند SIP ALG در عمل می‌تواند بیشتر از اینکه کمک کند مشکل ایجاد کند.

اگر Contact، Via یا SDP به شکل غیرمنتظره تغییر می‌کنند، SIP ALG را در Router بررسی کنید.

مرحله ۱۳: تماس داخلی را تست کنیم

دو Extension بسازید:

1001
1002

هر دو را Register کنید.

سپس:

1001 → 1002

را تماس بگیرید.

این موارد باید کار کنند:

🔹 Ring

🔹 Answer

🔹 Audio دوطرفه

🔹 Hangup

🔹 Caller ID

قبل از Gateway، تماس داخلی را سالم کنید

اگر تماس داخلی هنوز مشکل دارد، اضافه‌کردن SIP Provider فقط متغیرهای بیشتری وارد مسئله می‌کند.

اول Extension-to-Extension را سالم کنید.

بعد Gateway و Route را وارد کنید.

مرحله ۱۴: تست Gateway

بعد از ساخت Gateway، وضعیت آن را از:

Status → SIP Status

بررسی کنید.

همچنین در FreeSWITCH:

sofia status gateway

اگر Gateway Register نشد

این موارد را بررسی کنید:

🔹 Proxy

🔹 Username

🔹 Password

🔹 Register Transport

🔹 SIP Profile

🔹 Firewall Provider

🔹 DNS

🔹 Provider IP Allowlist

در لحظه تماس بدانیم کدام Gateway استفاده شده است

در FusionPBX:

Advanced → Command

می‌توانید:

show channels as xml

را اجرا کنید و عبارت:

sofia/gateway/

را در خروجی پیدا کنید.

مرحله ۱۵: Backup را از همان روز اول فعال کنید

PBX فقط Configuration نیست.

ممکن است شامل:

🔹 Database

🔹 Voicemail

🔹 Recording

🔹 Certificate

🔹 Provisioning File

🔹 Custom Script

باشد.

Backup را روی همان VPS تنها نگه ندارید.

حداقل یک Copy خارج از Server داشته باشید.

Snapshot جای Backup را نمی‌گیرد

VPS Snapshot برای Rollback سریع قبل از Upgrade عالی است، اما اگر Storage Provider خراب شود یا Account از دست برود، Snapshot روی همان زیرساخت کافی نیست.

بهترین روش ترکیب:

Backup خارج از سرور + Snapshot قبل از تغییر بزرگ.

قبل از Upgrade چه کنیم؟

FusionPBX، FreeSWITCH و سیستم‌عامل هر سه Update امنیتی دریافت می‌کنند.

قبل از Upgrade:

مرحله ۱: Backup کامل بگیرید.

مرحله ۲: Snapshot VPS بگیرید.

مرحله ۳: Release Notes را بخوانید.

مرحله ۴: Maintenance Window داشته باشید.

مرحله ۵: بعد از Upgrade داخلی و Gateway را Test کنید.

FreeSWITCH 1.11.3 را چرا باید جدی بگیریم؟

Release Notes نسخه 1.11.3 آن را یک Release مهم با Critical Security Fixها و Stability Improvementها معرفی می‌کند.

در یک PBX اینترنتی که SIP Stack مستقیماً در معرض Traffic خارجی است، Update امنیتی FreeSWITCH نباید مثل یک Package غیرضروری دیده شود.

البته Update کورکورانه روی Production هم درست نیست؛ ابتدا Snapshot و Test.

چک‌لیست Production FusionPBX روی VPS

بخش وضعیت مطلوب
OS Debian 12/13 پشتیبانی‌شده
Public IP ثابت
FQDN A Record صحیح
HTTPS Certificate معتبر
SIP TLS در صورت نیاز فعال و تست‌شده
Extensions Password تصادفی قوی
Gateway Provider IP محدود
Firewall Least Privilege
Fail2ban فعال و بررسی‌شده
NAT external_sip_ip / external_rtp_ip صحیح
RTP دوطرفه و Port Range صحیح
Backup خارج از VPS
Monitoring CPU، RAM، Disk، Service و Call

روش استاندارد تست بعد از نصب

مرحله ۱: Status → System Status را بررسی کنید.

مرحله ۲: FreeSWITCH و NGINX و PostgreSQL Running باشند.

مرحله ۳: دو Extension بسازید.

مرحله ۴: هر دو Register شوند.

مرحله ۵: تماس داخلی بگیرید.

مرحله ۶: Gateway بسازید.

مرحله ۷: Outbound Call واقعی بگیرید.

مرحله ۸: Inbound DID را تست کنید.

مرحله ۹: Caller ID و DTMF را بررسی کنید.

مرحله ۱۰: RTP دوطرفه را بررسی کنید.

مرحله ۱۱: TLS را در صورت استفاده تست کنید.

مرحله ۱۲: یک Backup واقعی تولید کنید.

اگر تماس وصل می‌شود ولی صدا نداریم

در این حالت Authentication و Gateway احتمالاً حداقل تا بخشی کار کرده‌اند.

سراغ این موارد بروید:

🔹 RTP Port Range

🔹 NAT

🔹 external_rtp_ip

🔹 Firewall

🔹 SDP

🔹 SIP ALG

🔹 Provider Media IP

اگر تماس بعد از حدود ۳۲ ثانیه قطع می‌شود

این الگو در VoIP معمولاً به Signaling ACK یا NAT/Route برمی‌گردد.

مستند FusionPBX نیز قطع تماس بعد از حدود ۳۲ ثانیه را در میان نشانه‌های NAT Misconfiguration قرار می‌دهد.

sngrep را باز کنید و ببینید آیا 200 OK و ACK کامل می‌شوند یا نه.

اگر Web UI باز است ولی Phone رجیستر نمی‌شود

بازشدن HTTPS فقط ثابت می‌کند NGINX روی 443 قابل دسترسی است.

Registration به FreeSWITCH SIP Profile وابسته است.

پس بررسی کنید:

🔹 Status → SIP Status

🔹 Firewall SIP Port

🔹 Domain/Realm

🔹 Extension Password

🔹 Fail2ban

🔹 Transport

پرسش‌های رایج

FusionPBX چیست؟

FusionPBX یک رابط مدیریتی متن‌باز برای FreeSWITCH است که امکان ساخت PBX، داخلی، Gateway، IVR، Queue، Call Center و سیستم Multi-Tenant را فراهم می‌کند.

FusionPBX روی چه سیستم‌عاملی نصب می‌شود؟

صفحه Download رسمی فعلی Debian 12 و Debian 13 را Recommended معرفی می‌کند و Ubuntu 24.04 LTS نیز مسیر نصب رسمی دارد.

آخرین نسخه FusionPBX در اکتبر ۲۰۲۶ چیست؟

Release رسمی نسل فعلی FusionPBX 5.6 است و آخرین Tag رسمی موجود در زمان بررسی این مقاله 5.6.5 است.

آخرین FreeSWITCH در زمان نگارش چیست؟

نسخه Release فعلی FreeSWITCH 1.11.3 است که در سال ۲۰۲۶ با Security Fix و Stability Improvement منتشر شده است.

برای FusionPBX روی VPS حتماً Domain لازم است؟

از نظر فنی می‌توان با IP هم شروع کرد، اما FusionPBX برای Registration و مدیریت امن استفاده از FQDN را توصیه می‌کند و Domain برای TLS و Multi-Tenant اهمیت زیادی دارد.

فرق Extension و Gateway چیست؟

Extension معمولاً تلفن، Softphone یا User داخلی را به PBX متصل می‌کند؛ Gateway برای اتصال FusionPBX به SIP Provider یا سیستم تلفنی دیگر استفاده می‌شود.

FusionPBX از TLS پشتیبانی می‌کند؟

بله. می‌توان با Let’s Encrypt Certificate معتبر ساخت و SIP Profile را برای TLS فعال کرد. TLS از SIP Signaling محافظت می‌کند و برای رمزنگاری Audio باید Media Encryption/SRTP نیز جدا بررسی شود.

کدام Portها برای FusionPBX لازم‌اند؟

Portهای واقعی به SIP Profile و معماری بستگی دارند. مستندات پایه 22 برای SSH، 80/443 برای Web، محدوده SIP 5060–5091 و RTP UDP 16384–32768 را ذکر می‌کنند؛ اما نباید همه آن‌ها بدون محدودیت به اینترنت باز شوند.

چرا Extension رجیستر نمی‌شود؟

رایج‌ترین موارد Domain/Realm اشتباه، Password اشتباه، Firewall، SIP Profile، Fail2ban، DNS و Transport هستند. sngrep برای تشخیص Flow REGISTER بسیار مفید است.

چرا تماس یک‌طرفه است؟

این مشکل معمولاً به NAT، RTP Firewall، external_rtp_ip، SDP یا SIP ALG مربوط است و باید Media Path جدا از SIP Registration بررسی شود.

جمع‌بندی

FusionPBX یکی از کامل‌ترین گزینه‌های متن‌باز برای ساخت سانترال FreeSWITCH روی VPS است، به‌خصوص اگر Multi-Tenant، تعداد داخلی زیاد، Call Center یا چند SIP Provider داشته باشید.

در سال ۲۰۲۶ نسل فعلی FusionPBX 5.6 است و FreeSWITCH نیز وارد شاخه 1.11 شده است. Debian 12 و Debian 13 هر دو در مسیر رسمی فعلی FusionPBX قرار دارند.

برای نصب پایدار، از یک VPS با IP ثابت شروع کنید، FQDN را قبل از نصب بسازید، Installer رسمی را روی سیستم‌عامل Minimal اجرا کنید و ابتدا دو Extension داخلی را بدون Gateway تست کنید.

بعد از سالم‌شدن تماس داخلی، Gateway و Routeهای ورودی و خروجی را اضافه کنید. Firewall را بر اساس اصل حداقل دسترسی تنظیم کنید و SIP Providerها را تا حد ممکن بر اساس IP محدود کنید.

در نهایت HTTPS و SIP TLS را با Certificate معتبر فعال کنید و Backup را از همان روز اول خارج از VPS نگه دارید. یک PBX بدون Backup و Rollback Plan حتی اگر امروز کاملاً سالم باشد، هنوز Production-ready نیست.

منابع و مستندات
نسخه روز FusionPBX و FreeSWITCH، سیستم‌عامل‌های پشتیبانی‌شده، Installation، Domain، Extension، Gateway، Firewall، NAT و TLS با منابع رسمی پروژه بررسی شده‌اند.
FusionPBX 5.6
مرجع انتشار رسمی FusionPBX 5.6 در سپتامبر ۲۰۲۶ و تغییرهای Authentication، Domain Profile، Operator Panel و CDR
Latest Release
مرجع آخرین Tag رسمی FusionPBX؛ در زمان بررسی مقاله نسخه 5.6.5 جدیدترین Release نمایش‌داده‌شده است
Install 2026
مرجع فعلی Debian 12/13 به‌عنوان سیستم‌عامل پیشنهادی، Ubuntu 24.04 LTS و دستورات رسمی Install Script
FreeSWITCH 1.11
مرجع نسخه فعلی FreeSWITCH 1.11.3، اصلاحات امنیتی مهم و کنارگذاشته‌شدن Debian 11 در این شاخه
Domain / Extension
مرجع ارتباط Extension با Domain، SIP Username، Authentication و Context در معماری Domain-based FusionPBX
Gateway
مرجع SIP Gateway، Register Transport، Proxy، Codec، Ping و Domain در اتصال به Carrier یا SIP Provider
Firewall / Security
مرجع Portهای پایه SIP، RTP، SSH و HTTPS؛ در Production این Rangeها باید متناسب با Profile و IPهای مجاز محدود شوند
TLS
مرجع Let’s Encrypt، internal_ssl_enable و فعال‌سازی SIP TLS روی SIP Profileهای FusionPBX
پیشنهاد ایرانیکاسرور برای FusionPBX

می‌خواهید FusionPBX را روی یک VPS با IP ثابت راه‌اندازی کنید؟

برای سانترال FreeSWITCH، فقط قدرت CPU مهم نیست؛ Public IP ثابت، مسیر پایدار تا تلفن‌ها، امکان کنترل Firewall و دسترسی Root برای تنظیم SIP، RTP و TLS اهمیت بیشتری دارند.

اگر کاربران و تلفن‌های شما داخل ایران هستند، می‌توانید FusionPBX را روی سرور مجازی ایران راه‌اندازی کنید و ابتدا Domain، دو داخلی آزمایشی و Gateway را تست کنید؛ سپس بعد از تأیید تماس داخلی، ورودی، خروجی و RTP، شماره‌های اصلی را به سیستم منتقل کنید.

مشاوره FusionPBX، FreeSWITCH و SIP Trunk: 021-91302467

اشتراک‌گذاری مقاله
گفت‌وگو درباره آموزش

دیدگاه‌ها (۰)

هنوز دیدگاهی ثبت نشده است.

دیدگاه یا سؤال خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *