استریسک، به انگلیسی Asterisk، یک چارچوب نرمافزاری همه کاره و قدرتمند است که به شما امکان ایجاد و مدیریت طیف گستردهای از راهکارهای ارتباطی را میدهد. از سرویسهای متنوعVoIP گرفته تا سیستمهای IVR و روتینگ تماس، Asterisk دنیایی از امکانات را به شما ارائه میدهد. اما چگونه میتوان این ابزار قدرتمند و کاربردی را در راکی لینوکس راهاندازی کرد؟
در این مقاله، شما با نحوه نصب و راهاندازی استریسک در راکی لینوکس آشنا خواهید شد. چه یک متخصص IT با تجربه باشید یا صاحب کسب و کار که به دنبال بهبود زیرساختهای ارتباطی خود هستید، در این مقاله دستورالعمل ها، نکات و مراحل را به صورت گام به گام و به زبانی ساده توضیح خواهیم داد.
استریسک یا Asterisk چیست؟
استریسک یک چارچوب متن باز برای ساخت برنامههای ارتباطی است. همچنین استریسک قادر است یک کامپیوتر معمولی را به یک سرور ارتباطی تبدیل کند و سیستمهای IP PBX، گیتویهای VoIP، سرورهای کنفرانس و سایر راهکارهای سفارشی را میتوان با استفاده از آن ایجاد نمود.
امروزه کسب و کارهای کوچک، سازمانهای بزرگ، مراکز تماس، اپراتورها و ارگانهای دولتی در سراسر جهان بطور گسترده از استریسک استفاده مینمایند.
شرکت Sangoma Technologies توسعه دهنده و حامی اصلی پروژه متن باز Asterisk است. امروزه در بیش از 170 کشور از سیستمهای ارتباطی مبتنی بر استریسک استفاده میشود.
استریسک از انواع پروتکل های VoIP از جمله SIP، H.323 و MGCP پشتیبانی میکند و همچنین میتواند با انواع سخت افزارهای تلفنی، از جمله تلفنهای IP، تلفن های آنالوگ و فکس، ارتباط برقرار نماید.
پیش نیازهای راه اندازی استریسک
برای نصب و راهاندازی استریسک به این موارد نیاز دارید:
• ماشینی که راکی لینوکس را اجرا میکند.
• آشنایی با دستورات خط فرمان و نحوه ایجاد تغییرات در کانفیگ فایلها.
• دسترسی داشتن به root.
• ریپازیتوریهای EPEL فدورا.
• امکان ورود به عنوان root یا اجرای دستورات root با sudo.
• دانلود آخرین نسخه استریسک با استفاده از curl یا wget (ما در این مقاله از wget استفاده خواهیم نمود).
آپدیت راکی لینوکس
sudo dnf -y update
با این دستور، تمامی پکیجهای سرور آپدیت خواهند شد. سپس این دستور را اجرا کنید:
sudo dnf install wget
ست کردن Hostname
در قدم بعدی hostname خود را به دامین استریسک متصل کنید.
sudo hostnamectl set-hostname asterisk.example.com
اضافه کردن ریپازیتوری های مورد نیاز
ابتدا EPEL (پکیجهای اضافی برای لینوکس سازمانی) را نصب کنید:
sudo dnf -y install epel-release
در مرحله بعد، PowerTools راکی لینوکس را فعال کنید:
sudo dnf config-manager --set-enabled powertools
نصب ابزارهای توسعه
sudo dnf group -y install "Development Tools"
sudo dnf -y install git wget
نصب استریسک
دانلود و کانفیگ استریسک
در قدم اول باید از بابت نصب آخرین نسخه استریسک اطمینان حاصل کنید. برای انجام این کار، به سایت رسمی استریسک بروید و آخرین نسخه استریسک را نصب نمایید. سپس لینک مورد نظر خود را کپی کنید:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz
tar xvfz asterisk-20-current.tar.gz
cd asterisk-20.0.0/
توصیه میکنیم قبل از اجرای install_prereq و یا سایر کامندها، به سوپریوزر یا کاربر روت دسترسی داشته باشید. البته در این مرحله میتوانید به طور موقت وارد sudo نیز شوید:
sudo -s
contrib/scripts/install_prereq install
وقتی اسکریپت کامل شد باید خروجی زیر را مشاهده نمایید:
#############################################
install completed successfully
#############################################
پس از نصب تمامی پکیجهای مورد نیاز، باید به سراغ کانفیگ و ایجاد استریسک بروید:
./configure --libdir=/usr/lib64 --with-jansson-bundled=yes
با فرض اینکه کانفیگ بدون مشکل اجرا می شود، لوگو ASCII Asterisk و موارد زیر را دریافت خواهید نمود (تصویر زیر):
configure: Package configured for
configure: OS type : linux-gnu
configure: Host CPU : x86_64
configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu
configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu
تنظیمات منو استریسک
در این مرحله، ادمین میبایست وارد عمل شود. در این مرحله میتوانید گزینه هایی را که نیازی به آنها ندارید حذف نمایید. با اجرای کامند زیر به صفحه انتخاب منو میروید (تصویر زیر):
make menuselect
تمامی گزینه ها را با دقت بررسی کنید و بر اساس نیاز خود، هر یک را انتخاب نمایید.
ایجاد و نصب استریسک
در قدم اول، برای ایجاد کردن استریسک، باید دستورات زیر را پشت سر هم اجرا کنید:
make
make install
اگر چه نصب داکیومنتها الزامی نیست، اما توصیه میکنیم برای حل مشکلات احتمالی در آینده آنها را نیز نصب نمایید:
make progdocs
در قدم بعدی، PBX بیسیک را نصب کنید و کانفیگ را انجام دهید. به خاطر داشته باشید که باید روی آن تغییراتی را اعمال نمایید تا بتواند نیازهای شما را به خوبی تامین نماید.
make basic-pbx
make config
کانفیگ استریسک
ایجاد یوزر و گروه
برای استفاده از استریسک به یک کاربر خاص نیاز دارید:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
restorecon -vr {/etc/asterisk,/var/lib/asterisk,/var/log/asterisk,/var/spool/asterisk}
اکنون که بخش عمده ای از کار ما به پایان رسیده است، از کامند sudo -s خارج شوید:
exit
ست کردن یوزر و گروه پیش فرض
sudo vi /etc/sysconfig/asterisk
کامنت های بالای این دو خط را حذف کرده و سپس ذخیره کنید:
AST_USER="asterisk"
AST_GROUP="asterisk"
sudo vi /etc/asterisk/asterisk.conf
کامنت های بالای این دو خط را حذف کرده و سپس ذخیره کنید:
runuser = asterisk ; The user to run as
rungroup = asterisk ; The group to run as
کانفیگ سرویس استریسک
sudo systemctl enable asterisk
کانفیگ فایروال
در این مثال از firewalld استفاده میکنیم که بصورت پیشفرض فایروال راکی لینوکس میباشد. هدف ما، باز کردن پورتهای SIP و RTP، مخفف Realtime Transport Protocol، روی پورتهای 10000-20000 میباشد که در داکیومنت های استریسک نیز به آن اشاره شده است.
sudo firewall-cmd --zone=public --add-service sip --permanent
sudo firewall-cmd --zone=public --add-port=10000-20000/udp --permanent
از آنجایی که دستورات فایروال را دائمی کردهایم، باید سرور را ریبوت کنیم. شما می توانید این کار را با استفاده از دستور زیر انجام دهید:
sudo shutdown -r now
تست
کنسول استریسک
برای تست، در قدم اول باید به کنسول استریسک متصل شویم:
sudo asterisk -r
این کامند شما را به کلاینت command-line استریسک خواهد برد. پس از نمایش اطلاعات اولیه استریسک، این دستور را مشاهده خواهید نمود:
asterisk*CLI>
برای تغییر verbose کنسول از کامند زیر استفاده کنید:
core set verbose 4
Console verbose was OFF and is now 4.
نمایش سمپل احراز هویت End-Point
در خط فرمان استریسک، عبارت زیر را تایپ کنید:
pjsip show auth 1101
در پاسخ، اطلاعات نام کاربری و رمز عبور را میبایست به شما برگرداند تا بتوانید از آن برای اتصال هر کلاینت SIP استفاده نمایید.
سخن آخر
در مجموع، نصب استریسک روی راکی لینوکس فرآیندی نسبتاً ساده دارد اما تکمیل پیکربندی، اتصال دستگاهها و عیبیابی به مهارت شما بستگی دارد. با دنبال کردن مراحل ذکر شده در این مقاله، میتوانید یک سرور VoIP قدرتمند و انعطاف پذیر را در عرض چند دقیقه راهاندازی کنید.
توصیه میکنیم برای کسب اطلاعات بیشتر، به مستندات رسمی استریسک مراجعه کنید.