آموزش نصب Asterisk 20.15 در ubuntu
- تاریخ ارسال: 1404/06/10
- تعداد نمایش: 9
- گروه:
نصب و راهاندازی Asterisk روی Ubuntu با پروتکل SIP (chan_sip)
پیشنیازها
-
Ubuntu 20.04 یا 22.04
-
دسترسی
sudo
-
اینترنت
مرحله ۱: بهروزرسانی سیستم
sudo apt update && sudo apt upgrade -y
مرحله ۲: نصب وابستگیها
sudo apt install -y build-essential git wget curl \
libedit-dev libssl-dev libxml2-dev uuid-dev \
libsqlite3-dev
مرحله ۳: دانلود و نصب Asterisk
cd /usr/src
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz
sudo tar -zxvf asterisk-20-current.tar.gz
cd asterisk-20*/
نصب پیشنیازها:
sudo contrib/scripts/get_mp3_source.sh
sudo contrib/scripts/install_prereq install
پیکربندی و کامپایل
./configure
make menuselect
🔹 توی صفحهی menuselect حتماً مطمئن شو که:
-
ماژول chan_sip فعال باشه ✅
-
اگه chan_pjsip نمیخوای، میتونی غیرفعالش کنی (اختیاری)
بعد ادامه بده:
make
sudo make install
sudo make samples
sudo make config
sudo ldconfig
مرحله ۴: راهاندازی سرویس
sudo systemctl enable asterisk
sudo systemctl start asterisk
ورود به CLI:
sudo asterisk -rvvv
مرحله ۵: تنظیمات SIP (chan_sip)
فایل تنظیمات:
/etc/asterisk/sip.conf
نمونه تنظیمات:
[general]
context=default
allowguest=no
srvlookup=no
udpbindaddr=0.0.0.0
tcpenable=no
transport=udp
; داخلی 1001
[1001]
type=friend
secret=1234
host=dynamic
context=internal
disallow=all
allow=ulaw
; داخلی 1002
[1002]
type=friend
secret=5678
host=dynamic
context=internal
disallow=all
allow=ulaw
مرحله ۶: تعریف Dialplan
فایل:
/etc/asterisk/extensions.conf
[internal]
exten => 1001,1,Dial(SIP/1001)
exten => 1002,1,Dial(SIP/1002)
مرحله ۷: ریلود
sudo asterisk -rvvv
*CLI> reload
نکته مهم ⚠️
-
در Asterisk 20 به بعد، chan_sip بهصورت پیشفرض غیرفعال و deprecated هست.
-
اگه بعد از نصب دیدی ماژول لود نمیشه، باید در فایل
/etc/asterisk/modules.conf
این خط رو اضافه کنی:
load => chan_sip.so
و برای جلوگیری از تداخل، میتونی chan_pjsip رو غیرفعال کنی:
noload => chan_pjsip.so
noload => res_pjsip.so
noload => res_pjsip_session.so
install with pjsip
مرحله ۵: پیکربندی پروتکل SIP (PJSIP)
فایل اصلی تنظیمات SIP در مسیر زیر قرار دارد:
/etc/asterisk/pjsip.conf
نمونه تنظیمات دو داخلی:
; داخلی 1001
[1001]
type=endpoint
context=internal
disallow=all
allow=ulaw
auth=auth1001
aors=1001
[auth1001]
type=auth
auth_type=userpass
username=1001
password=1234
[1001]
type=aor
max_contacts=1
; داخلی 1002
[1002]
type=endpoint
context=internal
disallow=all
allow=ulaw
auth=auth1002
aors=1002
[auth1002]
type=auth
auth_type=userpass
username=1002
password=5678
[1002]
type=aor
max_contacts=1
مرحله ۶: تعریف Dialplan (داخلیها)
فایل زیر را باز کنید:
/etc/asterisk/extensions.conf
کد زیر را اضافه کنید:
[internal]
exten => 1001,1,Dial(PJSIP/1001)
exten => 1002,1,Dial(PJSIP/1002)
FAQ
سوالات متداول درباره نصب Asterisk روی Ubuntu
۱. آیا Asterisk روی همه نسخههای Ubuntu نصب میشود؟
بله، اما پیشنهاد میشود از نسخههای LTS (مثل Ubuntu 20.04 یا 22.04) استفاده کنید تا هم پایداری بالاتر داشته باشید، هم آپدیتهای امنیتی بیشتری دریافت کنید.
۲. تفاوت SIP و PJSIP در Asterisk چیست؟
-
SIP (chan_sip): ماژول قدیمی Asterisk برای ارتباطات VoIP که سادهتر است، اما دیگر توسعه داده نمیشود.
-
PJSIP (chan_pjsip): ماژول جدیدتر با امکانات کاملتر، مدیریت بهتر تماسها و پشتیبانی بهتری از پروتکلهای مدرن.
با این حال، همچنان میتوانید از chan_sip بهعنوان پروتکل پیشفرض استفاده کنید.
۳. بعد از نصب، چطور بفهمم Asterisk به درستی کار میکند؟
میتوانید با دستور زیر وارد محیط CLI شوید:
sudo asterisk -rvvv
سپس با دستور sip show peers
(برای chan_sip) وضعیت داخلیها را بررسی کنید. اگر داخلیها Registered باشند، یعنی سیستم درست کار میکند.
. آیا میتوان Asterisk را به خطوط شهری (PSTN) یا ترانک SIP متصل کرد؟
بله. علاوه بر تماسهای داخلی، میتوانید با استفاده از SIP Trunk به اپراتورهای VoIP متصل شوید یا با کارتهای سختافزاری (FXO/FXS) خطوط تلفن شهری را به Asterisk اضافه کنید.