Asterisk، یک پلت فرم PBX منبع باز محبوب برای توسعه برنامه‌های ارتباطی مانند سرورهای کنفرانس و VoIP gatewayها است. این پلتفرم توسط افراد، شرکت‌های کوچک، شرکت‌های بزرگ و دولت‌ها در سراسر جهان مورد استفاده قرار می‌گیرد.

 

از ویژگی‌های Asterisk می‌توان به پست صوتی (voicemail)، موسیقی در زمان انتظار (music on hold)، تماس کنفرانسی (conference calling)، صف تماس (call queuing)، ضبط تماس (call recording)، پاسخ صوتی تعاملی (interactive voice respons)، پیام کوتاه (SMS messaging) و سایر موارد اشاره کرد.

در این آموزش، نحوه نصب Asterisk در اوبونتو 20.04 توضیح داده شده است.

مخازن اوبونتو شامل یک نسخه قدیمی‌تر Asterisk است. به همین دلیل، در اینجا جدیدترین Asterisk را از کد منبع نصب خواهیم کرد.

در ابتدا با استفاده از دستور زیر، بسته‌های ضروری را به منظور بارگیری و ساخت Asterisk نصب کنید:

sudo apt update
sudo apt install wget build-essential git autoconf subversion pkg-config libtool

 

نصب DAHDI و LibPRI

DAHDI، مجموعه‌ای از درایورها و برنامه‌های کمکی است که به Asterisk امکان ارتباط با تلفن‌های آنالوگ و دیجیتال را می‌دهد. کتابخانه LibPRI به Asterisk اجازه می‌دهد تا با اتصالات ISDN ارتباط برقرار کند. اگر به این کتابخانه‌ها نیازی ندارید، می‌توانید از این بخش صرف نظر کنید.

به دایرکتوری /usr/src رفته و DAHDI را بارگیری و نصب نمایید:

cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/linux dahdi-linux
cd dahdi-linux
sudo make
sudo make install
cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/tools dahdi-tools
cd dahdi-tools
sudo autoreconf -i
sudo ./configure
sudo make install
sudo make install-config
sudo dahdi_genconf modules

سپس به منظور ساخت LibPRI دستورات زیر را اجرا کنید:

cd /usr/src/
sudo git clone https://gerrit.asterisk.org/libpri libpri
cd libpri
sudo make
sudo make install

 

نصب Asterisk

با استفاده از دستور زیر، از منبع Asterisk در دایرکتوری /usr/src یک نسخه کلون بگیرید:

cd /usr/src/
sudo git clone -b 18 https://gerrit.asterisk.org/asterisk asterisk-18

دقت کنید که اگر نسخه جدیدی در دسترس است، شماره branch آن را در دستور بالا قرار دهید.

پس از آن، به دایرکتوری منبع Asterisk تغییر موقعیت دهید:

cd asterisk-18/

و منابع MP3 را که برای ساخت ماژول MP3 و استفاده از فایل‌های MP3 در Asterisk مورد نیاز هستند، بارگیری نمایید:

sudo contrib/scripts/get_mp3_source.sh

 

اسکریپت install_prereq را به منظور نصب برنامه‌های پیش نیاز اجرا کنید:

sudo contrib/scripts/install_prereq install

اسکریپت configure، چندین بررسی را برای اطمینان از وجود همه برنامه‌های پیش نیاز در سیستم شما انجام می‌دهد. این اسکریپت را با تایپ دستور زیر اجرا نمایید:

sudo ./configure

در مرحله بعدی، با استفاده از دستور زیر، ماژول‌های مورد نظر برای کامپایل و نصب را انتخاب کنید.

sudo make menuselect

با انتخاب گزینه "format_mp3"، به Asterisk بگویید ماژول MP3 را بسازد:

 

پس از پایان کار، به دکمه "Save and Exit" بروید و "Enter" را فشار دهید.

سپس مراحل کامپایل را شروع نمایید:

sudo make -j2

بسته به سیستم شما، کامپایل ممکن است مدتی طول بکشد. با استفاده از پرچم -j می‌توانید زمان کامپایل را با توجه به تعداد هسته‌های پردازنده کاهش دهید.

پس از تکمیل، Asterisk و ماژول‌های آن را با تایپ دستور زیر نصب کنید:

sudo make install

 

با استفاده از دستور زیر می‌توانید، فایل‌های پیکربندی عمومی را با مستندات مرجع نصب نمایید:

sudo make samples

یا فایل‌های اصلی پیکربندی PBX را نصب کنید:

sudo make basic-pbx

آخرین مرحله، نصب اسکریپت Asterisk init است که با تایپ دستور زیر انجام می‌شود:

sudo make config

بهتر است دستور ldconfig را به منظور به روزرسانی حافظه پنهان (cache) کتابخانه‌های مشترک اجرا نمایید:

sudo ldconfig

 

ایجاد کاربر Asterisk

به طور پیش فرض، Asterisk به عنوان کاربر اصلی اجرا می‌شود. در اینجا، به دلایل امنیتی، یک کاربر سیستم جدید ایجاد کرده و Asterisk را پیکربندی می‌نماییم تا به عنوان کاربر تازه ایجاد شده اجرا شود.

به منظور ایجاد یک کاربر سیستم جدید به نام Asterisk، دستور زیر را اجرا کنید:

sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk

برای پیکربندی Asterisk به عنوان کاربر Asterisk، فایل /etc/default/Asterisk را باز کرده و دو خط زیر را از حالت کامنت خارج نمایید:

sudo nano /etc/default/asterisk
            /etc/default/asterisk

AST_USER="asterisk"
AST_GROUP="asterisk"

 

سپس کاربر Asterisk را به گروه‌های dialout و audito اضافه کنید:

sudo usermod -a -G dialout,audio asterisk

علاوه بر این، باید مالکیت و مجوزهای همه فایل‌ها و دایرکتوری‌های Asterisk را نیز تغییر دهید تا Asterisk کاربر بتواند به آن فایل‌ها دسترسی پیدا کند:

sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk

 

راه‌اندازی Asterisk

اکنون که همه تنظیمات انجام شده است، سرویس Asterisk را با دستور زیر راه‌اندازی نمایید:

sudo systemctl start asterisk

به منظور تأیید اجرا بودن Asterisk، با تایپ کردن دستور زیر، به رابط خط فرمان Asterisk (یا CLI) وصل شوید:

sudo asterisk -vvvr

با اجرای آن دستور، فرمان پیش فرض Asterisk CLI را به صورت زیر مشاهده خواهید کرد:

output:
Connected to Asterisk GIT-18-263f906af4 currently running on ubuntu2004 (pid = 91303)
ubuntu2004*CLI>

در آخرین مرحله، سرویس Asterisk را به صورت زیر، برای زمان boot سیستم فعال کنید:

sudo systemctl enable asterisk

 

پیکربندی فایروال

فایروال، سرور شما را در برابر ترافیک ناخواسته ایمن می‌کند.

اگر فایروال در سرور خود پیکربندی نکرده‌اید، می‌توانید راهنمای ما را در مورد نحوه راه‌اندازی فایروال UFW در سرور اوبونتو و دبیان مطالعه کنید.

به طور پیش فرض، SIP از پورت 5060 مربوط به UDP استفاده می‌نماید. به منظور باز کردن این پورت، از دستور زیر استفاده نمایید:

sudo ufw allow 5060/udp

اگر پروتکل RTP (پروتکل Real time) را فعال کنید، باید محدوده پورت زیر را نیز باز نمایید:

sudo ufw allow 10000:20000/udp

اکنون، فایروال را متناسب با نیاز خود تنظیم کنید.

 

 

 

منبع:

linuxize