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

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

FusionPBX یک پنل مدیریتی متن‌باز برای FreeSWITCH است که به شما اجازه می‌دهد روی یک VPS، سانترال VoIP چندداخلی یا حتی چنددامنه و چندمستاجری بسازید. اگر FreePBX را بیشتر با Asterisk می‌شناسید، در FusionPBX…

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

FusionPBX یک پنل مدیریتی متن‌باز برای FreeSWITCH است که به شما اجازه می‌دهد روی یک VPS، سانترال VoIP چندداخلی یا حتی چنددامنه و چندمستاجری بسازید. اگر FreePBX را بیشتر با…

۱۳ دقیقه مطالعه ۰ دیدگاه ۲۶ مهر ۱۴۰۵ آخرین به‌روزرسانی

FusionPBX یک پنل مدیریتی متن‌باز برای FreeSWITCH است که به شما اجازه می‌دهد روی یک VPS، سانترال VoIP چندداخلی یا حتی چنددامنه و چندمستاجری بسازید. اگر FreePBX را بیشتر با Asterisk می‌شناسید، در FusionPBX موتور اصلی تماس FreeSWITCH است؛ یعنی Registration، SIP Profile، Dialplan، Gateway، RTP، Voicemail و Call Routing در نهایت توسط FreeSWITCH اجرا می‌شوند و FusionPBX مدیریت آن‌ها را با یک رابط وب ساده‌تر می‌کند.

در اکتبر ۲۰۲۶، نسخه رسمی فعلی FusionPBX 5.6 است که در ۱۹ سپتامبر ۲۰۲۶ منتشر شده است. راهنمای نصب رسمی FusionPBX همچنان نصب روی Debian 12 minimal را مبنا قرار می‌دهد و Script رسمی همراه با FusionPBX، FreeSWITCH Release Package، NGINX، PHP-FPM، PostgreSQL، iptables و Fail2ban را نصب می‌کند.

مسیر این آموزش: VPS → Debian 12 → نصب FusionPBX → Domain و DNS → ساخت Extension → اتصال تلفن → Gateway/SIP Trunk → Firewall → HTTPS و SIP TLS → تست نهایی.

فهرست مطالب

FusionPBX دقیقاً چیست و چه فرقی با FreeSWITCH دارد؟

FreeSWITCH خودِ موتور ارتباطی است؛ SIP Endpointها را رجیستر می‌کند، تماس را Route می‌کند، Media را عبور می‌دهد، Codecها را مذاکره می‌کند و سرویس‌هایی مثل Voicemail، Conference و Call Center را اجرا می‌کند.

FusionPBX لایه مدیریت وب روی FreeSWITCH است. با آن لازم نیست برای هر داخلی، Route و Gateway مستقیماً XMLهای FreeSWITCH را ویرایش کنید. FusionPBX داده‌ها را در PostgreSQL نگه می‌دارد و تنظیمات موردنیاز FreeSWITCH را تولید و مدیریت می‌کند.

به‌صورت ساده معماری را این‌طور تصور کنید:

Browser
   |
   v
NGINX + PHP-FPM
   |
   v
FusionPBX
   |
   +---- PostgreSQL
   |
   v
FreeSWITCH
   |
   +---- SIP / TLS
   +---- RTP / SRTP
   +---- Voicemail / IVR / Queue / Dialplan
   |
   v
Phones / SIP Provider / WebRTC

FusionPBX برای چه پروژه‌هایی مناسب است؟

سناریو تناسب دلیل
سانترال یک شرکت روی VPS بسیار مناسب Extension، IVR، Queue، Recording و Trunk در یک پنل
چند شرکت روی یک سرور بسیار مناسب معماری Domain-based و Multi-tenant
Call Center مناسب Queue، Operator Panel و Call Center Featureها
WebRTC و Softphone مرورگری مناسب WSS و WebRTC روی FreeSWITCH
کاربر کاملاً مبتدی که فقط GUI ساده می‌خواهد نیازمند آموزش FreeSWITCH، SIP Profile، Domain و Gateway مفاهیم فنی دارند
Carrier / Multi-tenant VoIP مناسب با طراحی حرفه‌ای FreeSWITCH مقیاس‌پذیر و FusionPBX چنددامنه است

وضعیت نسخه‌ها در ۲۰۲۶؛ FusionPBX 5.6 و FreeSWITCH

صفحه رسمی Release Notes، FusionPBX 5.6 را نسخه رسمی فعلی معرفی می‌کند. این نسخه در ۱۹ سپتامبر ۲۰۲۶ منتشر شده و قابلیت‌هایی مثل Global Profile، Domain Profile، WebAuthn Passkeys، Operator Panel مبتنی بر WebSockets و بهبودهای XML CDR را اضافه کرده است.

در سمت FreeSWITCH، آخرین Release عمومی upstream در زمان نگارش این مقاله 1.11.3 است که در ۲۸ اوت ۲۰۲۶ منتشر شده و شامل اصلاحات امنیتی و Stability Fixهای مهم است.

اما یک نکته مهم: بعد از نصب FusionPBX، نسخه واقعی FreeSWITCH را روی همان سرور بررسی کنید و صرفاً برای رسیدن به آخرین upstream package، FreeSWITCH را خارج از مسیر Packageهای سازگار FusionPBX جایگزین نکنید.

نسخه نصب‌شده را ببینید:

freeswitch -version

و از CLI:

fs_cli -x "version"

مرحله ۱: VPS را با Debian 12 minimal آماده کنید

راهنمای رسمی Quick Install فرض می‌کند با یک نصب حداقلی Debian 12 و SSH فعال شروع می‌کنید. برای سرور Production، بهتر است VPS تازه باشد و روی آن کنترل‌پنل میزبانی، Web Stack دیگر یا PBX دیگری از قبل نصب نشده باشد.

Hostname را قبل از نصب مشخص کنید. مثلاً:

hostnamectl set-hostname pbx.example.com

و وضعیت OS را بررسی کنید:

cat /etc/os-release
hostname -f

برای Production، ظرفیت VPS را بر اساس تعداد تماس هم‌زمان، Recording، Transcoding، Conference و Call Center انتخاب کنید. تعداد داخلی به‌تنهایی معیار خوبی برای Sizing نیست؛ ۵۰۰ داخلی Idle می‌توانند سبک‌تر از ۳۰ تماس هم‌زمان همراه Transcoding و Recording باشند.

مرحله ۲: DNS را قبل از TLS درست کنید

برای مثال در DNS یک A Record بسازید:

pbx.example.com    A    203.0.113.10

خود مستند FusionPBX هنگام افزودن Domain تأکید می‌کند A Record باید ساخته شود. این موضوع فقط برای پنل وب نیست؛ Domain در FusionPBX می‌تواند Tenant و Realm ثبت SIP را هم مشخص کند.

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

dig +short pbx.example.com

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

راهنمای رسمی Quick Install این دو فرمان را روی Debian 12 پیشنهاد می‌کند:

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

Installer رسمی اجزای اصلی از جمله FusionPBX، FreeSWITCH Release Package، iptables، Fail2ban، NGINX، PHP-FPM و PostgreSQL را نصب می‌کند.

در پایان نصب، اطلاعات ورود و URL پنل را در خروجی Terminal نگه دارید.

بعد از نصب سرویس‌ها را Verify کنید

systemctl status freeswitch
systemctl status nginx
systemctl status postgresql

و FreeSWITCH:

fs_cli -x "status"

مرحله ۴: Domain را درست بسازید

FusionPBX از Domain برای جداسازی Tenantها استفاده می‌کند. حتی اگر فقط یک شرکت دارید، استفاده از FQDN واقعی به‌جای IP در بلندمدت برای TLS، Provisioning و مدیریت Endpointها بهتر است.

در پنل:

Advanced
→ Domains
→ Add

Domain را مثلاً روی pbx.example.com بگذارید. اگر چند مشتری روی یک FusionPBX دارید، هر مشتری می‌تواند Domain جدا داشته باشد و Loginهایی مثل admin@customer-a.example.com داشته باشد.

نکته Multi-tenant: Domain فقط یک نام نمایشی نیست؛ در SIP Realm، Extension Registration و تفکیک تنظیمات Tenant نقش دارد. نام Domain را بدون برنامه تغییر ندهید.

مرحله ۵: اولین Extension را بسازید

در FusionPBX به مسیر زیر بروید:

Accounts
→ Extensions
→ Add

مستند FusionPBX توضیح می‌دهد Extension همان SIP Username است و Password به‌عنوان Secret برای Authentication استفاده می‌شود. DNS نیز Server و Realm مربوط به Registration را مشخص می‌کند.

برای مثال:

فیلد نمونه
Extension 1001
Password رمز طولانی تولیدشده توسط FusionPBX
Domain pbx.example.com
Voicemail در صورت نیاز Enabled
Account Code اختیاری

روی تلفن یا Softphone:

SIP Server / Registrar: pbx.example.com
Username: 1001
Auth ID: 1001
Password: EXTENSION_PASSWORD
Transport: UDP (برای تست اولیه)

Registration را از FreeSWITCH ببینید

fs_cli -x "show registrations"

برای دیدن SIP Profileها:

fs_cli -x "sofia status"

مرحله ۶: SIP Profile داخلی و خارجی را اشتباه نگیرید

در FusionPBX به‌طور معمول SIP Profile داخلی برای Endpointهایی است که رجیستر می‌شوند و Profile خارجی برای ارتباطات بیرونی و سناریوهای Gateway کاربرد دارد.

مستند فعلی FusionPBX:

🔹 Internal Profile معمولاً روی 5060/5061 کار می‌کند و Registration یا Access Control می‌خواهد.

🔹 External Profile معمولاً روی 5080/5081 است و می‌تواند Anonymous Connection دریافت کند؛ اما Routing همچنان توسط Inbound Route کنترل می‌شود.

🔹 اگر IPv6 استفاده نمی‌کنید، Profileهای IPv6 غیرضروری را غیرفعال کنید.

وضعیت Profileها:

fs_cli -x "sofia status profile internal"
fs_cli -x "sofia status profile external"

مرحله ۷: Gateway یا SIP Trunk را اضافه کنید

برای اتصال FusionPBX به اپراتور VoIP یا SIP Provider، از Gateway استفاده می‌کنید:

Accounts
→ Gateways
→ Add

فیلدهای اصلی معمولاً شامل Username، Password، Proxy، Register، Profile و Transport هستند.

مستند FusionPBX برای Gateway می‌گوید Register Transport می‌تواند UDP، TCP یا TLS باشد؛ همچنین اگر سرور پشت NAT است، گزینه Ping می‌تواند به زنده نگه‌داشتن ارتباط از Firewall کمک کند.

فیلد نمونه
Gateway provider-main
Username از Provider
Password از Provider
Proxy sip.provider.example
Register True یا False طبق Provider
Profile external یا معماری تعیین‌شده
Transport UDP / TCP / TLS

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

fs_cli -x "sofia status gateway provider-main"

بعد از Gateway باید Outbound Route و برای تماس ورودی Destination/Inbound Route متناسب با DID خود بسازید.

مرحله ۸: Firewall؛ پورت را باز کنید، اما نه برای همه دنیا

FusionPBX Installer به‌صورت پیش‌فرض Firewall و Fail2ban را نصب می‌کند. مستند Security تأکید می‌کند بعد از نصب حتماً Ruleها را بررسی کنید و چند لایه دفاعی داشته باشید.

پورت‌های پایه‌ای که در مستند Firewall آمده‌اند:

سرویس پورت
SSH 22/TCP
HTTP/HTTPS 80 و 443/TCP
SIP 5060-5091 TCP/UDP بر اساس Profileهای فعال
RTP 16384-32768/UDP

اما این جدول به معنی «همه این پورت‌ها را برای کل اینترنت Allow کنید» نیست. فقط Profileها و Protocolهایی را باز کنید که واقعاً استفاده می‌کنید.

مثلاً اگر SIP Provider IP ثابت دارد، بهتر است پورت Gateway فقط برای همان Source IP مجاز باشد. پنل مدیریت نیز بهتر است به IPهای مدیریتی، VPN یا حداقل Ruleهای محدودتر وابسته باشد.

Firewall فعلی:

iptables -L -n -v

Fail2ban و Registration مستقیم با IP

مستند FusionPBX توصیه می‌کند Phoneها تا حد امکان با FQDN رجیستر شوند، نه با Public IP. یکی از دلایل این است که حملات Scripted اغلب Public IPها را Scan می‌کنند و Ruleهای Fail2ban می‌توانند Registration مستقیم به IP را هدف قرار دهند.

وضعیت Fail2ban:

fail2ban-client status

XML RPC را عمومی نکنید

FusionPBX مستند می‌کند که mod_xml_rpc به‌صورت پیش‌فرض فعال نیست و پورت 8787 نباید روی اینترنت عمومی باز شود. اگر واقعاً به آن نیاز دارید، دسترسی را با Firewall/VPN محدود و Password قوی استفاده کنید.

مرحله ۹: HTTPS و Certificate معتبر با Let’s Encrypt

نصب تازه FusionPBX معمولاً Certificate Self-signed دارد. برای محیط Production بهتر است Certificate معتبر نصب کنید. مستند رسمی FusionPBX استفاده از Script مبتنی بر Dehydrated را توصیه می‌کند.

ابتدا مطمئن شوید DNS به Public IP درست Resolve می‌شود. سپس:

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

Script از شما Domain و Email می‌خواهد، Certificate را دریافت می‌کند، NGINX را برای HTTPS تنظیم می‌کند و Certificate مناسب FreeSWITCH را هم در مسیر لازم قرار می‌دهد.

بعد از اجرا:

nginx -t

مرحله ۱۰: SIP TLS را فعال کنید

HTTPS فقط پنل وب را امن می‌کند. برای رمزکردن SIP Signaling باید TLS را روی SIP Profile فعال کنید.

طبق مستند FusionPBX:

Advanced
→ Variables
→ SIP Profile: Internal
→ internal_ssl_enable = true

سپس:

Status
→ SIP Status
→ FLUSH CACHE
→ Rescan

Internal Profile در حالت رایج روی 5061/TLS Listen می‌کند. وضعیت را در SIP Status یا CLI بررسی کنید.

fs_cli -x "sofia status profile internal"

TLS با SRTP یکی نیست. TLS، SIP Signaling را رمز می‌کند. اگر Media نیز باید رمز شود، باید SRTP و سازگاری Endpoint/Provider را جداگانه طراحی کنید.

مرحله ۱۱: اگر WebRTC می‌خواهید، WSS را جداگانه ببینید

FusionPBX 5.6 Phone/Operator Panel و قابلیت‌های WebSocket بیشتری دارد. برای Phone مرورگری، FreeSWITCH به WSS و Certificate معتبر نیاز دارد.

مستند فعلی FusionPBX برای Web Phone مسیر WSS روی پورت 7443 را توضیح می‌دهد. اگر WebRTC نیاز ندارید، این پورت را فقط به دلیل وجود در Documentation باز نکنید.

مرحله ۱۲: تست نهایی سانترال

قبل از اینکه PBX را Production بدانید، این Test Plan را اجرا کنید:

بخش تست نتیجه مورد انتظار
DNS Resolve دامنه Public IP صحیح
HTTPS بازکردن پنل Certificate معتبر
Extension Registration 1001/1002 Registered
تماس داخلی 1001 ↔ 1002 صدای دوطرفه
Gateway Registration/Reachability UP/REGED طبق Provider
Outbound تماس به شبکه بیرونی Caller ID و Audio صحیح
Inbound تماس به DID Route مقصد صحیح
DTMF IVR تمام Digitها صحیح
TLS Register با 5061 Handshake و Registration سالم
Firewall Scan از بیرون فقط سرویس‌های موردنیاز باز

اشتباه‌های رایج هنگام نصب FusionPBX روی VPS

🔹 نصب روی سروری که قبلاً NGINX/Apache/PostgreSQL یا PBX دیگری دارد.

🔹 استفاده از IP به‌جای FQDN و بعداً گرفتارشدن در TLS و Provisioning.

🔹 بازکردن کل بازه SIP برای همه اینترنت در حالی که فقط یک Profile لازم است.

🔹 بازکردن Gateway برای همه IPها به‌جای محدودکردن Source Provider.

🔹 استفاده از Password ساده برای Extensionها.

🔹 فعال‌کردن WebRTC/WSS در حالی که استفاده نمی‌شود.

🔹 نادیده‌گرفتن Fail2ban و تصور اینکه Firewall خارجی کافی است.

🔹 آپدیت دستی FreeSWITCH خارج از Package Path سازگار با FusionPBX.

برای PBX، کیفیت شبکه VPS به اندازه CPU مهم است

می‌خواهید FusionPBX را روی VPS راه‌اندازی کنید؟

برای سانترال VoIP، Public IP پایدار، Latency مناسب، Packet Loss پایین و دسترسی کامل به Firewall/NAT اهمیت زیادی دارد. بهتر است قبل از انتقال شماره‌ها، FusionPBX روی یک VPS آزمایشی نصب و تماس داخلی، Gateway، RTP و TLS تست شود.

در ایرانیکاسرور می‌توانید برای راه‌اندازی FusionPBX از سرور مجازی استفاده کنید و در صورت نیاز نصب و کانفیگ سرویس VoIP را جداگانه درخواست دهید.

تماس با پشتیبانی ایرانیکاسرور: 021-91302467

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

FusionPBX چیست؟

FusionPBX یک رابط وب متن‌باز برای مدیریت FreeSWITCH است و امکاناتی مثل Domain، Extension، SIP Gateway، Dialplan، Voicemail، Queue، Call Center و Provisioning را مدیریت می‌کند.

نسخه فعلی FusionPBX در ۲۰۲۶ چیست؟

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

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

Quick Install رسمی فعلی یک Debian 12 minimal با SSH را مبنا قرار می‌دهد و Installer رسمی برای همین مسیر مستند شده است.

Domain در FusionPBX چه کاربردی دارد؟

Domain برای جداسازی Tenantها، Login، SIP Realm و مدیریت چندمستاجری استفاده می‌شود. برای Domain باید DNS A Record معتبر داشته باشید.

Gateway در FusionPBX چیست؟

Gateway اتصال FreeSWITCH به SIP Provider یا Trunk خارجی است و شامل Proxy، Credential، Profile، Register و Transport می‌شود.

چه پورت‌هایی برای FusionPBX لازم است؟

بسته به سرویس فعال متفاوت است. مستند Firewall پورت‌های 22، 80/443، SIP در محدوده 5060-5091 و RTP در محدوده 16384-32768 را فهرست می‌کند، اما فقط پورت‌ها و Sourceهای واقعاً موردنیاز را باید باز کنید.

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

بله. با Certificate معتبر و فعال‌کردن TLS روی SIP Profile می‌توانید Registration و Signaling را روی TLS انجام دهید. HTTPS پنل وب و SIP TLS دو تنظیم جدا هستند.

FusionPBX بهتر است یا FreePBX؟

هر دو پنل مدیریت VoIP هستند اما FusionPBX روی FreeSWITCH و FreePBX روی Asterisk بنا شده است. انتخاب به معماری، تجربه تیم، Multi-tenancy، Dialplan و Integrationهای موردنیاز بستگی دارد.

جمع‌بندی

FusionPBX در ۲۰۲۶ یک گزینه قدرتمند برای ساخت سانترال FreeSWITCH روی VPS است؛ مخصوصاً زمانی که Multi-tenant، چند Domain، SIP Gateway، Call Center یا کنترل بیشتر روی FreeSWITCH می‌خواهید.

برای نصب جدید، مسیر رسمی با Debian 12 minimal شروع می‌شود. بعد از نصب FusionPBX 5.6، ابتدا DNS و Domain را درست کنید، سپس Extension بسازید و Registration داخلی را تست کنید. پس از آن Gateway و Routeهای تماس را اضافه کنید.

Firewall و TLS را مرحله آخر نگذارید؛ از ابتدای طراحی مشخص کنید کدام SIP Profileها، Provider IPها، RTP Range و سرویس‌های مدیریتی باید از اینترنت قابل دسترسی باشند. Certificate معتبر را با Script رسمی Let’s Encrypt نصب کنید و در صورت نیاز SIP TLS را روی Profile داخلی فعال کنید.

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

منابع و مستندات
نسخه FusionPBX، روش نصب Debian 12، Domain، Extension، Gateway، Firewall، Fail2ban و TLS با مستندات رسمی FusionPBX و وضعیت FreeSWITCH با منبع رسمی پروژه بررسی شده‌اند.
FusionPBX Release
مرجع نسخه رسمی 5.6، تاریخ انتشار ۱۹ سپتامبر ۲۰۲۶ و قابلیت‌های جدید.
FusionPBX Install
مرجع نصب رسمی روی Debian 12 و اجزای نصب‌شده توسط Script شامل FreeSWITCH، NGINX، PHP-FPM، PostgreSQL، iptables و Fail2ban.
FusionPBX Domains
مرجع Domain/Tenant، افزودن Domain و الزام A Record.
FusionPBX Extensions
مرجع Extension به‌عنوان SIP Username، Password و نقش Domain/DNS در Registration.
FusionPBX Gateways
مرجع Profile، Proxy، Register Transport، Outbound Proxy، Codec و Ping برای SIP Gateway.
FusionPBX Security
مرجع iptables، Fail2ban، SSL/TLS، Update و محافظت XML RPC.
FusionPBX TLS
مرجع letsencrypt.sh، Dehydrated، تنظیم NGINX و آماده‌سازی Certificate برای FreeSWITCH.
SIP TLS
مرجع فعال‌کردن internal_ssl_enable و Rescan کردن SIP Profile.
FreeSWITCH
مرجع Releaseهای upstream؛ نسخه 1.11.3 در ۲۸ اوت ۲۰۲۶ به‌عنوان Latest Release منتشر شده است.
اول روی یک VPS آزمایشی تماس واقعی بگیرید

برای نصب FusionPBX و FreeSWITCH کمک می‌خواهید؟

اگر Domain، SIP Provider و مدل تلفن‌ها مشخص باشند، می‌توان قبل از انتقال کاربران Production یک محیط آزمایشی ساخت و Registration، تماس داخلی، Gateway، RTP و TLS را مرحله‌به‌مرحله تست کرد.

تماس با پشتیبانی ایرانیکاسرور: 021-91302467

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

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

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

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

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