FusionPBX یک پنل مدیریتی متنباز برای FreeSWITCH است که به شما اجازه میدهد روی یک VPS، سانترال VoIP چندداخلی یا حتی چنددامنه و چندمستاجری بسازید. اگر FreePBX را بیشتر با Asterisk میشناسید، در FusionPBX موتور اصلی تماس FreeSWITCH است؛ یعنی Registration، SIP Profile، Dialplan، Gateway، RTP، Voicemail و Call Routing در نهایت توسط FreeSWITCH اجرا میشوند و FusionPBX مدیریت آنها را با یک رابط وب سادهتر میکند.
مسیر این آموزش: 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.
میخواهید 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 و FreeSWITCH کمک میخواهید؟
اگر Domain، SIP Provider و مدل تلفنها مشخص باشند، میتوان قبل از انتقال کاربران Production یک محیط آزمایشی ساخت و Registration، تماس داخلی، Gateway، RTP و TLS را مرحلهبهمرحله تست کرد.
تماس با پشتیبانی ایرانیکاسرور: 021-91302467






دیدگاهها (۰)