در این آموزش قرار نیست فقط 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 را روی یک VPS با IP ثابت راهاندازی کنید؟
برای سانترال FreeSWITCH، فقط قدرت CPU مهم نیست؛ Public IP ثابت، مسیر پایدار تا تلفنها، امکان کنترل Firewall و دسترسی Root برای تنظیم SIP، RTP و TLS اهمیت بیشتری دارند.
اگر کاربران و تلفنهای شما داخل ایران هستند، میتوانید FusionPBX را روی سرور مجازی ایران راهاندازی کنید و ابتدا Domain، دو داخلی آزمایشی و Gateway را تست کنید؛ سپس بعد از تأیید تماس داخلی، ورودی، خروجی و RTP، شمارههای اصلی را به سیستم منتقل کنید.
مشاوره FusionPBX، FreeSWITCH و SIP Trunk: 021-91302467






دیدگاهها (۰)