Asterisk adalah server PBX dan VoIP digital yang kuat yang dirilis di bawah lisensi sumber terbuka, sehingga Anda dapat menggunakannya secara gratis. VoIP adalah teknologi yang digunakan untuk membuat dan mengontrol panggilan telepon antara beberapa titik akhir. Ini digunakan di gateway VoIP, server konferensi, pusat panggilan, operator, dan lembaga pemerintah di seluruh dunia. Ini berjalan di Linux, BSD, dan OS X dan memungkinkan Anda untuk mengubah sistem atau server lokal Anda menjadi server komunikasi.
Pada postingan kali ini, kami akan menjelaskan cara install Asterisk di server CentOS 8.
Prasyarat
- Server yang menjalankan CentOS 8.
- Kata sandi root dikonfigurasi di server.
Memulai
Secara default, SELinux diaktifkan di CentOS 8. Jadi, Anda harus menonaktifkannya terlebih dahulu. Untuk menonaktifkannya, edit file konfigurasi SELinux:
nano /etc/selinux/config
Ubah baris berikut:
SELINUX=disabled
Simpan dan tutup file, lalu mulai ulang sistem Anda untuk menerapkan perubahan.
Instal Alat yang Diperlukan
Asterisk memerlukan beberapa paket yang perlu Anda instal di server Anda. Pertama, instal repositori EPEL dengan perintah berikut:
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Selanjutnya, aktifkan repo PowerTools dengan perintah berikut:
dnf config-manager --set-enabled PowerTools
Selanjutnya, instal paket dan alat pengembangan lainnya dengan perintah berikut:
dnf install wget gcc gcc-c++ svn make bzip2 patch libedit-devel uuid-devel libuuid-devel libxml2-devel sqlite sqlite-devel nano openssl openssl-devel -y
dnf groupinstall "Development Tools"
Setelah semua paket yang diperlukan terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal Jansson dan PJSIP
Selanjutnya, Anda perlu menginstal Jansson ke sistem Anda. Ini digunakan untuk encoding dan decoding data media.
Pertama, unduh dari repositori Git menggunakan perintah berikut:
git clone https://github.com/akheron/jansson.git
Selanjutnya, ubah direktori ke direktori yang diunduh dan kompilasi menggunakan perintah berikut:
cd jansson
autoreconf -i
./configure --prefix=/usr/
make
make install
Selanjutnya, Anda perlu menginstal PJSIP ke sistem Anda. Ini adalah library yang digunakan untuk mengimplementasikan protokol SIP, SDP, RTP, STUN, TURN, dan ICE.
Pertama, unduh menggunakan perintah berikut:
cd
git clone https://github.com/pjsip/pjproject.git
Selanjutnya, ubah direktori ke direktori yang diunduh dan kompilasi menggunakan perintah berikut:
cd pjproject
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
make dep
make
make install
ldconfig
Setelah selesai, Anda dapat melanjutkan untuk menginstal Asterisk.
Instal Asterisk
Pertama, navigasikan ke direktori home Anda dan unduh versi terbaru Asterisk dengan perintah berikut:
cd
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
tar -xvzf asterisk-18-current.tar.gz
Selanjutnya, ubah direktori ke direktori yang diekstrak dengan perintah berikut:
cd asterisk-18.4.0/
Selanjutnya, konfigurasikan Asterisk dengan perintah berikut:
./configure --libdir=/usr/lib64
Anda akan melihat output berikut:
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 : pc : linux-gnu : configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
Selanjutnya, jalankan perintah berikut untuk menginstal add-on tambahan yang ingin Anda instal dengan Asterisk.
make menuselect
Anda akan melihat halaman berikut:
Pilih Add-on dan tekan Enter . Anda akan melihat halaman berikut:
Pilih pengaya yang Anda butuhkan dan tekan Enter untuk memilihnya lalu tekan ESC untuk kembali ke menu utama:
Pilih Inti required yang Anda butuhkan suara paket dan tekan Enter untuk memilihnya. Selanjutnya, tekan ESC untuk kembali, pilih paket Depkes seperti gambar di bawah ini:
Pilih paket yang Anda butuhkan dan tekan Enter untuk memilih mereka. Selanjutnya, tekan ESC untuk kembali, pilih paket Ekstra seperti yang ditunjukkan di bawah ini:
Pilih paket yang Anda butuhkan dan tekan Enter untuk memilihnya. Kemudian, tekan ESC tombol. Anda akan melihat halaman berikut:
Tekan S untuk menyimpan perubahan dan keluar.
Selanjutnya, jalankan perintah berikut untuk menginstal semua dependensi yang diperlukan:
contrib/scripts/get_mp3_source.sh
Selanjutnya, buat Asterisk dengan perintah berikut:
make
Anda akan melihat output berikut:
+--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, and + + can be installed by running: + + + + make install + +-------------------------------------------+ make install +---- 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 + +-------------------------------------------+
Selanjutnya, instal Asterisk dengan perintah berikut:
make samples
make config
ldconfig
Konfigurasi Asterisk
Selanjutnya, Anda perlu membuat pengguna khusus untuk menjalankan Asterisk. Anda dapat membuat pengguna dan grup dengan perintah berikut:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
Selanjutnya, tambahkan pengguna audio dan dialout ke grup Asterisk dengan perintah berikut:
usermod -aG audio,dialout asterisk
Selanjutnya, atur kepemilikan direktori Asterisk menjadi asterisk user dengan perintah berikut:
chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
Selanjutnya, edit file /etc/sysconfig/asterisk:
nano /etc/sysconfig/asterisk
Batalkan komentar pada baris berikut:
AST_USER="asterisk" AST_GROUP="asterisk"
Simpan dan tutup file kemudian edit file /etc/asterisk/asterisk.conf:
nano /etc/asterisk/asterisk.conf
Batalkan komentar pada baris berikut:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Simpan dan tutup file setelah Anda selesai. Kemudian, mulai ulang layanan Asterisk untuk menerapkan perubahan.
systemctl restart asterisk
Selanjutnya, aktifkan layanan Asterisk untuk memulai saat reboot sistem:
systemctl enable asterisk
Untuk memeriksa status layanan Asterisk, jalankan perintah berikut:
systemctl status asterisk
Anda akan mendapatkan output berikut:
? asterisk.service - LSB: Asterisk PBX Loaded: loaded (/etc/rc.d/init.d/asterisk; generated) Active: active (running) since Sat 2021-05-22 08:19:08 EDT; 15s ago Docs: man:systemd-sysv-generator(8) Process: 70883 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS) Main PID: 70914 (asterisk) Tasks: 81 (limit: 25014) Memory: 36.8M CGroup: /system.slice/asterisk.service ??70912 /bin/sh /usr/sbin/safe_asterisk ??70914 /usr/sbin/asterisk -f -vvvg -c May 22 08:19:08 centos8 systemd[1]: Starting LSB: Asterisk PBX... May 22 08:19:08 centos8 asterisk[70883]: Starting asterisk:
Verifikasi Asterisk
Pada titik ini, Asterisk diinstal dan dikonfigurasi. Anda sekarang dapat memverifikasi Asterisk menggunakan perintah berikut:
asterisk -rvv
Jika semuanya baik-baik saja, Anda akan mendapatkan output berikut:
Asterisk 18.4.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others. Created by Mark Spencer <[email protected]> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Running as user 'asterisk' Running under group 'asterisk' Connected to Asterisk 18.4.0 currently running on centos8 (pid = 70914) centos8*CLI>
Sekarang, jalankan perintah berikut untuk menampilkan saluran inti:
centos8*CLI> core show channels
Anda akan melihat output berikut:
Channel Location State Application(Data) 0 active channels 0 active calls 0 calls processed
Untuk menampilkan waktu aktif Asterisk, jalankan perintah berikut:
centos8*CLI> core show uptime
Anda akan melihat output berikut:
System uptime: 1 minute, 33 seconds Last reload: 1 minute, 33 seconds
Untuk keluar dari Asterisk CLI, jalankan perintah berikut:
centos8*CLI> quit
Kesimpulan
Dalam panduan di atas, Anda mempelajari cara mengunduh dan mengkompilasi Asterisk versi 18 di server CentOS 8. Anda sekarang dapat mengintegrasikan Asterisk dengan platform lain dan membangun aplikasi berbasis VoIP.