Cara Install Asterisk di CentOS/RHEL 8/7


Asterisk adalah kerangka kerja sumber terbuka yang digunakan untuk membangun aplikasi komunikasi. Anda dapat menggunakannya untuk mengubah komputer atau server lokal menjadi server komunikasi. Ini digunakan untuk memberi daya pada sistem IP PBX, gateway VoIP, server konferensi, dan solusi lainnya. Ini digunakan oleh semua jenis organisasi di seluruh dunia dan akhirnya gratis dan open source.

Dalam tutorial ini, kami akan menunjukkan cara menginstal Asterisk di CentOS 8/7 (instruksi juga dapat digunakan di RHEL 8/7) , namun sebelum memulai, kita perlu melakukan beberapa persiapan agar Asterisk dapat berjalan dengan lancar setelah instalasi.

Langkah 1: Nonaktifkan SELinux di CentOS

Untuk melakukan hal ini, SSH ke sistem Anda dan gunakan editor teks baris perintah favorit Anda, buka /etc/selinux/config dan nonaktifkan SELINUX.

vim /etc/selinux/config

Baris SELinux akan terlihat seperti ini:

SELINUX=disabled

Sekarang reboot sistem Anda. Setelah itu kembali SSH lagi ke sistem itu.

Langkah 2: Instal Paket yang Diperlukan

Asterisk memiliki beberapa persyaratan yang perlu diinstal. Anda dapat menggunakan perintah yum berikut untuk menginstal paket yang diperlukan seperti yang ditunjukkan.

yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel

Sebelum melanjutkan lebih jauh, buat pengguna baru dengan hak istimewa sudo yang disebut “asterisk“, kami akan menggunakan pengguna ini untuk menyiapkan asterisk pada sistem.

adduser asterisk -c "Asterisk User"
passwd asterisk 
usermod -aG wheel asterisk
su asterisk

Selanjutnya, instal PJSIP, yang merupakan perpustakaan komunikasi multimedia sumber terbuka gratis yang mengimplementasikan protokol berbasis standar seperti SIP,SDP,RTP,STUN,TURN, dan ICE. Penggerak saluran Asterisk SIP inilah yang seharusnya meningkatkan kejelasan panggilan.

Untuk mendapatkan versi terbaru, pertama-tama mari buat direktori sementara tempat kita akan membangun paket dari sumber.

mkdir ~/build && cd ~/build

Sekarang buka halaman unduh PJSIP dan ambil paketnya atau gunakan perintah wget berikut untuk mengunduh paket langsung di terminal.

Perhatikan bahwa saat artikel ini ditulis, versi terbarunya adalah 2.8, hal ini mungkin berubah di masa mendatang, jadi pastikan untuk menggunakan versi terbaru:

wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2

Setelah unduhan selesai, ekstrak file dan ubah ke direktori itu.

tar xvjf pjproject-2.9.tar.bz2
cd pjproject-2.9

Langkah selanjutnya adalah menyiapkan paket yang akan dikompilasi. Anda dapat menggunakan perintah berikut:

./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr

Anda seharusnya tidak melihat kesalahan atau peringatan apa pun. Pastikan semua dependensi terpenuhi:

make dep

Dan sekarang kita dapat menyelesaikan instalasi dan menghubungkan perpustakaan dengan:

make && sudo make install && sudo ldconfig

Terakhir, pastikan semua perpustakaan telah diinstal dan ada:

ldconfig -p | grep pj

Anda harus mendapatkan hasil berikut:

libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2
	libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so
	libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2
	libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so
	libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2
	libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so
	libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2
	libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so
	libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2
	libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so
	libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2
	libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so
	libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2
	libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so
	libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2
	libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so
	libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2
	libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so
	libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2
	libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so
	libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2
	libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so
	libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2
	libpj.so (libc6,x86-64) => /lib64/libpj.so

Langkah 3: Instal Asterisk di CentOS 8/7

Kami sekarang siap untuk memulai instalasi Asterisk. Navigasikan kembali ke direktori ~/build kami:

cd ~/build

Buka halaman unduh Asterisk dan ambil versi terbaru atau Anda dapat menggunakan perintah wget berikut untuk mengunduh file di terminal.

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

Saat tutorial ini ditulis, versi Asterisk terbaru adalah 16. Pastikan Anda mengunduh Asterisk versi terbaru saat mengikuti langkah-langkahnya.

Sekarang ekstrak arsip dan arahkan ke direktori yang baru dibuat:

tar -zxvf asterisk-16-current.tar.gz
cd asterisk-16.5.1

Inilah saatnya untuk menyebutkan, bahwa jika Anda ingin mengaktifkan dukungan mp3 untuk memutar musik saat klien ditangguhkan, Anda perlu menginstal beberapa dependensi lagi. Langkah-langkah ini bersifat opsional:

sudo yum install svn
sudo ./contrib/scripts/get_mp3_source.sh

Setelah langkah kedua, Anda akan mendapatkan keluaran seperti ini:

A    addons/mp3
A    addons/mp3/Makefile
A    addons/mp3/README
A    addons/mp3/decode_i386.c
A    addons/mp3/dct64_i386.c
A    addons/mp3/MPGLIB_TODO
A    addons/mp3/mpg123.h
A    addons/mp3/layer3.c
A    addons/mp3/mpglib.h
A    addons/mp3/decode_ntom.c
A    addons/mp3/interface.c
A    addons/mp3/MPGLIB_README
A    addons/mp3/common.c
A    addons/mp3/huffman.h
A    addons/mp3/tabinit.c
Exported revision 202.

Mulailah dengan menjalankan skrip konfigurasi untuk menyiapkan paket untuk kompilasi:

sudo contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64 --with-jansson-bundled

Jika Anda mendapatkan dependensi yang hilang untuk menginstalnya. Dalam kasus saya, saya mendapat kesalahan berikut:

configure: error: patch is required to configure bundled pjproject

Untuk menyiasatinya cukup jalankan:

yum install patch 

Dan jalankan kembali skrip konfigurasi. Jika semuanya berjalan sempurna tanpa kesalahan, Anda akan melihat tangkapan layar berikut.

Sekarang, mari kita mulai proses pembuatannya:

make menuselect

Setelah beberapa detik, Anda akan mendapatkan daftar fitur untuk diaktifkan:

Jika Anda mencoba menggunakan fitur musik yang ditahan, Anda harus mengaktifkan fitur “format_mp3 ” dari bagian “Add-on ”. Simpan daftar Anda dan jalankan perintah berikut:

make && sudo make install

Untuk menginstal contoh file konfigurasi, gunakan perintah di bawah ini:

sudo make samples

Untuk memulai Asterisk saat boot, gunakan:

sudo make config

Perbarui kepemilikan direktori dan file berikut:

sudo chown asterisk. /var/run/asterisk
sudo chown asterisk. -R /etc/asterisk
sudo chown asterisk. -R /var/{lib,log,spool}/asterisk

Terakhir, mari kita uji instalasi kita dengan:

sudo service asterisk start
sudo asterisk -rvv

Anda akan melihat keluaran yang mirip dengan ini:

Asterisk 16.5.1, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <[email >
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.
=========================================================================
Connected to Asterisk 16.5.1 currently running on centos8-tecmint (pid = 9020)
centos8-tecmint*CLI>

Jika Anda ingin melihat daftar perintah yang tersedia ketik:

asterisk*CLI> core show help

Untuk keluar dari prompt Asterisk, cukup ketik:

asterisk*CLI> exit

Asterisk akan tetap berjalan di latar belakang.

Kesimpulan

Sekarang Anda memiliki server Asterisk yang berjalan dan Anda dapat mulai menghubungkan ponsel dan ekstensi serta menyesuaikan konfigurasi sesuai kebutuhan Anda. Untuk rincian lebih lanjut bagaimana mencapai hal ini, disarankan untuk menggunakan halaman Asterisk Wiki. Jika Anda memiliki pertanyaan atau komentar, silakan beri tahu kami di bagian komentar di bawah.