آموزش نصب 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 اضافه کنید.