در این آموزش قصد داریم نصب آخرین ورژن استریسک در حقیقت asterisk 13 رو آموزش بدیم.
در ابتدا پکیج های سیستم رو با استفاده از دستور زیر آپدیت میکنیم :
در صورتی که centos شما قادر به نصب و یا update پکیجی نبود به مسیر زیر میرویم :
از این پوشه ls که بگیرید لیست فایل های ریپازیتوری موجود هستند. اگر یکی از آنها را با vi باز کنید مشاهده میکنید که ریپازیتوری enable نیست (یعنی enable=0 میباشد.
و برای فعال کردن آن باید 0 (صفر) جلوی enable را به یک (1) تبدیل کنیم :
بعد از disable کردن selinux سیستم را ریبوت میکنیم :
اکنون باید dependency های مورد نظر برای نصب و کامپایل استریسک را با استفاده از yum نصب کنید :
همانطور که میدانید سورس های مربوط به شناسایی کارتهای آنالوگ و دیجیتال (libpri/dahdi-linux) باید قبل از استریسک روی سیستم نصب شوند.
برای نصب این پکیج ها باید اولویت زیر رو رعایت کنین:
1 - نصب dahdi-linux
2 - libpri
آنها را با استفاده از دستورات زیر دانلود و نصب میکنیم :
سپس فایل های دانلود شده extract میکنیم :
ابتدا نصب dahdi :
نصب libpri :
اکنون فایل نصبی استریسک 13 را از سایت asterisk.org دانلود میکنیم :
در سایت asterisk دو release موجود است :
1 - asterisk 13 LTS
2 - certified asterisk 13 LTS
هر دو ریلیز Long Term Support هستند یعنی به مدت 4 سال و به صورت کامل پشتیبانی میشوند منتها فرق شان در این است که ریلیز certified زیر بار تست های اضافی رفته و در حقیقت باگ های بیشماری از ان رفع شده در نتیجه ما در این آموزش Certified Asterisk 13 LTS را دانلود و نصب میکنیم.
ابتدا وارد مسیر زیر میشویم :
سپس با دستور wget استریسک 13 را دانلود میکنیم :
اکنون نوبت به دانلود pjsip رسیده، pjsip در حقیقت یک librery جدید برای پروتکل سیپ (SIP) دارد که در استریسک ورژن 13 مورد استفاده قرار میگیرد. برای دانلود آن به سایت pjsip.org مراجعه کرده یا از طریق لینک زیر اقدام به دانلود آن با استفاده از دستور wget نمایید :
اکنون هر 2 فایل را با استفاده از دستور tar اکسترکت (exteract) میکنیم. به دلیل اینکه نصب pjsip پیشنیاز میباشد و باید قبل از استریسک نصب شود ابتدا به نصب آن میپردازیم :
وارد دایرکتوری pjsip میشویم :
اکنون با دستور زیر شروع به configure آن مینماییم. دقت داشته باشید به دلیل اینکه معماری centos من 64 بیتی میباشد در دستور زیر مسیر libdir را /user/lib64 تعریف کردم :
اگر مشکلی روی سیستم تان نداشته باشید و دستور بالا به درستی انجام شود باید در پایان دستور خروجی مانند زیر دریافت کنید :
همانطور در متن بالا میبینید مرحله بعدی اجرای دستورات make dep و make میباشد. ابتدا دستور make dep را اجرا میکنیم :
سپس دستور make را وارد میکنیم :
اکنون کامپایل pjsip به پایان رسیده و باید آن را با دستور زیر نصب کنید :
نصب استریسک 13 :
ابتدا به مسیر /user/src برمیگردیم :
ابتدا فایل استریسک را extract میکنیم :
سپس با دستور cd وارد دایرکتوری certified-asterisk-13.1-cert2 میشویم :
در این مرحله برای آماده سازی configure دستور زیر را اجرا میکنیم :
و بعد از آن با دستور زیر configure میکنیم. مجددا به دلیل اینکه سیستم 64 بیتی را انتخاب کردیم مسیر libdir در /usr/lib64 تعریف میکنیم :
اگر به درستی انجام شده باشد باید لوگوی استریسک را مشاهده کنید :
در این قسمت دستور make menuselect را اجرا میکنیم تا از نصب کامل dependency های channel driver pjsip مطمئن شویم :
سپس محیط گرافیکی آن را مشاهده خواهید کرد. کافیست به قسمت resources modules رفته و از منوی روبه رو با کلید های جهت پایین به قسمت pjsip بروید و از تیک کنار آن مطمئن شوید :
برای کامپایل کردن دستور make را اجرا میکنیم :
بعد از اتمام کامپایل با دستور زیر نصب را آغاز میکنیم :
بعد از پایان نصب برای ایجاد فایل های sample دستور زیر را وارد کنید :
برای ایجاد اسکریپت استریسک دستور زیر را اجرا میکنیم :
اکنون سرویس استریسک را با استفاده از دستور زیر start میکنیم :
و همانطور که میدانید برای وارد شدن به کنسول استریسکی که قبلا استارت شده از دستور زیر استفاده میکنیم :
در ابتدا پکیج های سیستم رو با استفاده از دستور زیر آپدیت میکنیم :
کد:
yum update -y
کد:
# cd /etc/yum.repos.d/
کد:
# vim CentOS-Base.repo
کد:
#additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 [COLOR=#0000FF][B]enabled=1[/B][/COLOR] gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
بعد از disable کردن selinux سیستم را ریبوت میکنیم :
کد:
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
کد:
reboot
اکنون باید dependency های مورد نظر برای نصب و کامپایل استریسک را با استفاده از yum نصب کنید :
کد:
yum install automake bluez-libs-devel bzip2 corosynclib-devel gcc gcc-c++ git gsm-devel jansson-devel libcurl-devel libedit-devel libical-devel libogg-devel libsrtp-devel libtool-ltdl-devel libuuid-devel libvorbis-devel libxml2-devel libxslt-devel lua-devel mariadb-devel nano ncurses-devel neon-devel net-snmp-devel newt-devel openldap-devel openssl-devel perl popt-devel postgresql-devel speex-devel sqlite-devel subversion unixODBC-devel uuid-devel wget
همانطور که میدانید سورس های مربوط به شناسایی کارتهای آنالوگ و دیجیتال (libpri/dahdi-linux) باید قبل از استریسک روی سیستم نصب شوند.
برای نصب این پکیج ها باید اولویت زیر رو رعایت کنین:
1 - نصب dahdi-linux
2 - libpri
آنها را با استفاده از دستورات زیر دانلود و نصب میکنیم :
کد:
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
کد:
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
سپس فایل های دانلود شده extract میکنیم :
کد:
tar zxvf dahdi-linux-complete* tar zxvf libpri*
ابتدا نصب dahdi :
کد:
cd /usr/src/dahdi-linux-complete* make && make install && make config
کد:
cd /usr/src/libpri* make && make install
اکنون فایل نصبی استریسک 13 را از سایت asterisk.org دانلود میکنیم :
در سایت asterisk دو release موجود است :
1 - asterisk 13 LTS
2 - certified asterisk 13 LTS
هر دو ریلیز Long Term Support هستند یعنی به مدت 4 سال و به صورت کامل پشتیبانی میشوند منتها فرق شان در این است که ریلیز certified زیر بار تست های اضافی رفته و در حقیقت باگ های بیشماری از ان رفع شده در نتیجه ما در این آموزش Certified Asterisk 13 LTS را دانلود و نصب میکنیم.
ابتدا وارد مسیر زیر میشویم :
کد:
# cd /usr/src/
کد:
# wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-13.1-current.tar.gz
کد:
# wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2
کد:
# tar -xvf pjproject-2.4.tar.bz2
کد:
[root@localhost src]# cd pjproject-2.4/ [root@localhost pjproject-2.4]# ls aconfigure build.symbian configure-android doc Makefile pjproject-vs8.sln README.txt svn_pset.bat aconfigure.ac c++-build.mak configure-bb10 install-sh pjlib pjsip self-test.mak tests bb10-config.mak config.guess configure-iphone INSTALL.txt pjlib-util pjsip-apps svn_add third_party build config.sub configure-legacy lib pjmedia pkgconfig.py svn_add.bat user.mak.sample build.mak.in configure COPYING libpjproject.pc.in pjnath README-RTEMS svn_pset version.mak [root@localhost pjproject-2.4]#
اکنون با دستور زیر شروع به configure آن مینماییم. دقت داشته باشید به دلیل اینکه معماری centos من 64 بیتی میباشد در دستور زیر مسیر libdir را /user/lib64 تعریف کردم :
کد:
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
کد:
Configurations for current target have been written to 'build.mak', and 'os-auto.mak' in various build directories, and pjlib/include/pj/compat/os_auto.h. Further customizations can be put in: - 'user.mak' - 'pjlib/include/pj/config_site.h' The next step now is to run 'make dep' and 'make'. [root@localhost pjproject-2.4]#
کد:
[root@localhost pjproject-2.4]# make dep
کد:
[root@localhost pjproject-2.4]# make
کد:
[root@localhost pjproject-2.4]# make install
کد:
[root@localhost pjproject-2.4]# ldconfig
نصب استریسک 13 :
ابتدا به مسیر /user/src برمیگردیم :
کد:
cd /usr/src/
کد:
[root@localhost src]# tar xzvf certified-asterisk-13.1-current.tar.gz
کد:
cd certified-asterisk-13.1-cert2/
کد:
./bootstrap.sh
کد:
./configure --libdir=/usr/lib64
کد:
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-gnu configure: Host CPU : x86_64 configure: build-cpu:vendor:os: x86_64 : unknown : linux-gnu : configure: host-cpu:vendor:os: x86_64 : unknown : linux-gnu : [root@localhost certified-asterisk-13.1-cert2]#
کد:
make menuselect
برای کامپایل کردن دستور make را اجرا میکنیم :
کد:
[root@localhost certified-asterisk-13.1-cert2]# make
کد:
[root@localhost certified-asterisk-13.1-cert2]# make install
کد:
make samples
کد:
make config
کد:
[root@localhost certified-asterisk-13.1-cert2]# service asterisk startStarting asterisk (via systemctl): [ OK ] [root@localhost certified-asterisk-13.1-cert2]#
کد:
asterisk -rvvvvv