بلاگ/نصب ابزار Asterisk در سرور ابونتو
به‌روز شده

نصب ابزار Asterisk در سرور ابونتو

در این آموزش نسبتاً کوتاه، نحوه نصب ابزار Asterisk را در سرور اوو بونتو، نسخه‌های 18.04 و 16.04 نشان می‌دهیم. برای آنها که هیچ پیش‌زمینه ذهنی در مورد Asterisk ندارند، باید گفت که این یک ابزار متن باز بوده که از پلتفرم «مبادله انشعاب خصوصی» یا PBX استفاده می‌کند. افراد عادی، کسب‌وکارها و دولت‌ها در...

1399/12/015164 بازدید
نصب ابزار Asterisk در سرور ابونتو
در این آموزش نسبتاً کوتاه، نحوه نصب ابزار Asterisk  را در سرور اوو بونتو، نسخه‌های 18.04 و 16.04 نشان می‌دهیم. برای آنها که هیچ پیش‌زمینه ذهنی در مورد Asterisk ندارند، باید گفت که این یک ابزار متن باز بوده که از پلتفرم «مبادله انشعاب خصوصی» یا PBX استفاده می‌کند. افراد عادی، کسب‌وکارها و دولت‌ها در سراسر جهان از این ابزار برای گسترش VoIP و زیرساخت‌های کنفرانسی خود بهره می‌برند.
نصب ابزار Asterisk
ابزار Asterisk
ابزار Asterisk مجموعه کاملی از قابلیت‌ها را در اختیار قرار می‌دهد. این قابلیت‌ها شامل مواردی چون ایمیل صوتی، پاسخ صوتی تعاملی، تماس کنفرانسی، موزیک انتظار، صف تماس و ضبط تماس می‌شوند. اگر به یک پلتفرم PBX متن‌باز برای راه‌اندازی کسب‌وکار یا مؤسسه خود احتیاج دارید، می‌توانید فقط Asterisk را انتخاب کنید. این مطلب قرار است که شروع کار با این ابزار را برایتان بسیار ساده کند و شما  به سرعت بتوانید از قابلیت‌های آن استفاده کنید. برای اطلاعات بیشتر در مورد Asterisk می‌توانید صفحه خانگی آن را نیز بررسی کنید. برای شروع فرآیند نصب ابزار Asterisk، حتماً مراحل زیر را دنبال نمایید.

گام ۱)  دریافت و نصب Asterisk

به منظور نصب Asterisk، نیاز به برخی بسته‌های پایه نرم‌افزاری خواهید داشت. برای نصب این بسته، فرمان‌های زیر را به کار بگیرید.
php
sudo apt updatesudo apt install wget build-essential subversion
در اینجا می‌خواهیم که بسته‌های ابزار Asterisk را به صورت دستی دانلود کنیم. این ابزارها را در دایرکتوری سیستم /usr/src قرار می‌دهیم؛ جایی که بیشتر فایل‌های منابع نرم‌افزاری در آن قرار می‌گیرند. برای این منظور، دایرکتوری را به /usr/src تغییر می‌دهیم و Asterisk را دریافت می‌کنیم. برای دریافت آخرین نسخه ابزار Asterisk، منبع بسته‌های آن را در اینجا مشاهده کنید. سپس شماره آخرین نسخه ارائه شده را در دستورهای زیر جایگزین نمایید. در زمان نگارش این مطلب، آخرین نسخه ارائه شده Asterisk 17 است.
php
cd /usr/src/sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz
وقتی فایل Asterisk دریافت شد، آن را از حالت فشرده خارج کنید. سپس باید آن را به دایرکتوری خودش منتقل کنید و اسکریپت نصب را اجرا نمایید. این اسکریپت تمام متعلقات ابزار و از جمله ماژول‌های MP3 را دریافت و نصب خواهد کرد.
php
sudo tar zxf asterisk-17-current.tar.gzcd asterisk-17.*/sudo contrib/scripts/get_mp3_source.shsudo contrib/scripts/install_prereq install
پس از اجرای  فرمان‌های بالا، اسکریپت می‌بایست تمام بسته‌ها را دریافت و نصب کند. نهایتاً یک پیغام مبنی بر موفقیت‌آمیز بودن عملیات به صورت زیر برایتان نمایش داده می‌شود.
php
Current status: 27 (-2) upgradable.############################################### install completed successfully#############################################
سپس فرمان‌های زیر را اجرا کنید تا برخی تنظیمات، بررسی‌ها و تأییدها انجام شوند.
php
sudo ./configure
پس از تکمیل مراحل این بخش، خطوطی مانند زیر برایتان نمایش داده می‌شوند.
php
configure: Menuselect build configuration successfully completed.$$$$$$$$$$$$$$$=...$7$7..          .7$$7:..$$:.                 ,$7.7.$7.     7$$$$           .$$77..$$.       $$$$$            .$$$7..7$   .?.   $$$$$   .?.       7$$$.$.$.   .$$$7. $$$$7 .7$$$.      .$$$..777.   .$$$$$$77$$$77$$$$$7.      $$$,$$$~      .7$$$$$$$$$$$$$7.       .$$$..$$7          .7$$$$$$$7:          ?$$$.$$$          ?7$$$$$$$$$$I        .$$$7$$$       .7$$$$$$$$$$$$$$$$      :$$$.$$$       $$$$$$7$$$$$$$$$$$$    .$$$.$$$        $$$   7$$$7  .$$$    .$$$.$$$$             $$$$7         .$$$.7$$$7            7$$$$        7$$$$$$$$                        $$$$$$$7.                       $$  (TM)$$$$$$$.           .7$$$$$$  $$$$$$$$$$$$$$7$$$$$$$$$.$$$$$$$$$$$$$$$$$$$$$$.configure: Package configured for:configure: OS type  : linux-gnuconfigure: Host CPU : x86_64configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
سپس از شما خواسته می‌شود که برخی ماژول‌ها برای کامپایل و نصب انتخاب کنید. می‌توانید از طریق فرمان‌های زیر به منوی سیستم دسترسی داشته باشید.
php
sudo make menuselect

انتخاب فرمت MP3

به دلیل اینکه قصد داریم از MP3 به عنوان فرمت صوتی استفاده کنیم و قبلاً نیز ماژول مربوط به آن را دریافت کرده‌ایم، مطابق زیر، فرمت MP3 را انتخاب نمایید.
php
┌────────────────────────┤ Asterisk Module and Build Option Selection ├────────────────────────┐│                                                                                              ││   Add-ons (See README-addons.txt)        --- Extended ---                                  ↑ ││   Applications                       [ ] chan_mobile                                       ▒ ││   Bridging Modules                   [ ] chan_ooh323                                       ▒ ││   Call Detail Recording              [*] format_mp3                                        ▒ ││   Channel Event Logging              [ ] res_config_mysql                                  ▒ ││   Channel Drivers                        --- Deprecated ---                                ▒ ││   Codec Translators                  [ ] app_mysql                                         ▒ ││   Format Interpreters                [ ] cdr_mysql                                         ▮ ││   Dialplan Functions                                                                       ▒ ││   PBX Modules                                                                              ▒ ││   Resource Modules                                                                         ▒ ││   Test Modules                                                                             ▒ ││   Compiler Flags                                                                           ▒ ││   Utilities                                                                                ▒ ││   AGI Samples                                                                              ↓ ││                                                                                              ││  MP3 format [Any rate but 8000hz mono is optimal]                                            ││                                                                                              ││      Depends on: N/A                                      ┌───────────────┐   ┌──────────┐   ││         Can use: N/A                                      │  Save & Exit  │   │   Exit   │   ││  Conflicts with: N/A                                      └───────────────┘   └──────────┘   ││   Support Level: extended                                                                    │└──────────────────────────────────────────────────────────────────────────────────────────────┘ toggles selection |  saves & exits |  exits without save
وقتی کارتان به اتمام رسید، کلید F12 را فشار دهید تا تنظیمات ذخیره شده و سپس خارج شوید. یا اینکه می‌توانید  به روی دکمه Save and Exit رفته و Enter بزنید.

شروع فرآیند کامپایل

نهایتاً با اجرای فرمان زیر فرآیند کامپایل را آغاز کنید.
php
sudo make -j2
این فرآیند بسته به قدرت سیستم شما ممکن است به زمان نیاز داشته باشد. گزینه -j همراه با عددی که در کنار آن درج شده، نمایانگر تعداد پردازنده‌های سرور شماست. اگر سرور شما بیشتر از ۲ پردازنده دارد، حتماً این فرمان را تغییر دهید. وقتی بسته‌ها و ماژول‌ها کامپایل شدند، می‌بایست با پیغامی مانند زیر روبرو شوید.
php
+--------- Asterisk Build Complete ---------++ Asterisk has successfully been built, and ++ can be installed by running:              ++                                           ++                make install               ++-------------------------------------------+
بعد از کامپایل‌کردن موارد بالا، می‌توانید بالاخره ابزار Asterisk را با فرمان زیر نصب کنید.
php
sudo make install
پس از فرآیند نصب، پیغامی مشابه زیر برایتان ظاهر می‌گردد.
php
+---- Asterisk Installation Complete -------++                                           ++    YOU MUST READ THE SECURITY DOCUMENT    ++                                           ++ Asterisk has successfully been installed. ++ If you would like to install the sample   ++ configuration files (overwriting any      ++ existing config files), run:              ++                                           ++ For generic reference documentation:      ++    make samples                           ++                                           ++ For a sample basic PBX:                   ++    make basic-pbx                         ++                                           ++                                           ++-----------------  or ---------------------++                                           ++ You can go ahead and install the asterisk ++ program documentation now or later run:   ++                                           ++               make progdocs               ++                                           ++ **Note** This requires that you have      ++ doxygen installed on your local system    ++-------------------------------------------+richard@ubuntu1804:/usr/src/asterisk-17.2.0$
اکنون نصب به پایان رسیده است. حالا می‌توانید تنظیمات سیستم خود را شروع کنید. ابتدا نیاز به برخی داده‌های نمونه برای کمک به تنظیم پلتفرم دارید. برای ان منظور، فرمان‌های زیر را اجرا کنید.
php
sudo make samplessudo make basic-pbx
با کمک فرمان‌های زیر تنظیمات را تکمیل کنید.
php
sudo make configsudo ldconfig

گام ۲) ساخت کاربر ابزار Asterisk

ابزار Asterisk را نباید با کاربر روت اجرا کنیم. برای این منظور، یک کاربر اختصاصی ایجاد خواهیم کرد. برای منظور، با استفاده از فرمان زیر یک حساب کاربری و یک گروه با عنوان asterisk می‌سازیم.
php
sudo addgroup --quiet --system asterisksudo adduser --quiet --system --ingroup asterisk --no-create-home --disabled-password asterisk
بعد از ساخت حساب کاربری بالا، فایل /etc/default/asterisk را باز کنید.
php
sudo nano /etc/default/asterisk
سپس تغییرات زیر را اِعمال کرده و فایل را ذخیره کنید.
php
# Startup configuration for the Asterisk daemon# Uncomment the following and set them to the user/groups that you# want to run Asterisk as. NOTE: this requires substantial work to# be sure that Asterisk's environment has permission to write the# files required  for  its  operation, including logs, its comm# socket, the asterisk database, etc.AST_USER="asterisk"AST_GROUP="asterisk"
در ادامه، کاربر asterisk را برای برقراری تماس و گروه‌های صوتی اضافه کنید.
php
sudo usermod -a -G dialout,audio asterisk
حالا نوبت به تغییر مجوّزها در تمای فایل‌ها و دایرکتوری ابزار Asterisk است.
php
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisksudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk

گام ۳) راه‌اندازی ابزار Asterisk

در این مقطع، کار نصب و تنظیم به پایان رسیده است. با اجرای فرمان‌های زیر نسبته به فعال‌سازی و راه‌اندازی سرویس Asterisk اقدام کنید.
php
sudo systemctl enable asterisksudo systemctl start asterisk
به منظور تأیید اجرای Asterisk، فرمان زیر به کمک شما می‌آید.
php
sudo asterisk -vvvr
در نتیجه، پیغام پیش‌فرض Asterisk CLI برایتان به نمایش درخواهد آمد.
php
Asterisk 17.2.0, Copyright (C) 1999 - 2018, Digium, Inc. and others.Created by Mark Spencer <markster@digium.com>Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.This is free software, with components licensed under the GNU General PublicLicense version 2 and other licenses; you are welcome to redistribute it undercertain conditions. Type 'core show license' for details.=========================================================================Connected to Asterisk 17.2.0 currently running on ubuntu1804 (pid = 14491)ubuntu1804*CLI>
در بسیاری از نصب‌های سیستم‌عامل اوبونتو فایروال فعال نیست. در صورتی که فایروال داشتید، باید به پورت‌های زیر مجوّز بدهید. SIP به صورت پیش‌فرض از پورت UDP شماره 5060 استفاده می‌کند که باید آن را باز کنید.
php
sudo ufw allow 5060/udp
برای پروتکل Real Time یا RTP نیاز به باز کردن پورت‌های دامنه زیر وجود دارد.
php
sudo ufw allow 10000:20000/udp
به این ترتیب، ابزار Asterisk آماده استفاده کاربر خواهد بود.

جمع‌بندی

در این پست نحوه نصب و تنظیم ابزار Asterisk را در اوبونتو 18.04 | 16.04 نشان دادیم. امیدواریم که این مطلب وبلاگ آریانت نیز مورد توجه شما قرار گرفته باشد.