Cara Install dan Konfigurasi SIP Server Asterisk di Ubuntu 18.04
- Panduan Lengkap VM - Juli 29, 2024
- Panduan Pembayaran Via Bank Mandiri - Juli 2, 2024
- PHP X-Ray di cPanel untuk Optimasi Kecepatan Web - April 18, 2023
Pengantar
Asterisk adalah software IP PBX untuk membuat sistem layanan komunikasi telepon melalui internet atau biasa disebut VoIP (Voice over Internet Protocol).
Dengan mengikuti panduan ini, kamu akan bisa menginstall dan mengoperasikan Asterisk di Ubuntu 18.04
Prasyarat
Ada beberapa syarat yang harus dipenuhi agar bisa menyelesaikan tutorial ini:
- Menggunakan sistem operasi ubuntu 18.04 .
- Memiliki akses ssh root ke server atau host terkait.
Langkah 1, Install Ubuntu Updates dan Dependencies
Log in ke server melalui via SSH
Jika menggunakan linux, cukup menggunakan command berikut.
ssh root@server_ip
Jika menggunakan windows bisa menggunakan aplikasi putty seperti di panduan berikut.
Setelah itu update terlebih dahulu paket sistem ke versi terbaru agar instalasi asterisk dapat terinstall
sudo apt-get update
Kemudian install Instal build-essential dan dependensi dengan menjalankan perintah berikut ini:
sudo apt-get install build-essential sudo apt-get install git-core subversion wget libjansson-dev sqlite autoconf automake libxml2-dev libncurses5-dev libtool
Untuk versi astersik yang akan digunakan saat ini adalah versi 16.x. LTS didukung penuh selama 3 tahun, dengan satu tahun tambahan pemeliharaan untuk perbaikan keamanan.
Untuk detail informasinya mengenai asterisk bisa dicek dilink berikut
Langkah ke 2, Download Asterisk
Pertama-tama yang dilakukan adalah kita perlu mengubah installasi direktori.
cd /usr/src/
Kita dapat mengunduh file dari repostori resmi asterisk. Perhatikan bahwa nama file berisi "saat ini" yang dimana kita akan mendapatkan versi terbaru mulai dari 16.x.
sudo wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
Ekstrak file pada direktori kamu saat ini.
sudo tar -zxvf asterisk-16-current.tar.gz
Langkah ke 3, Install Asterisk
Ubah direktori ke file yang diekstraksi.
cd asterisk-16.*/
Source code Asterisk menyediakan skrip yang dimana dapat menginstall dependensi yang diperlukan secara otomatis. Untuk memulai hal tersebut, jalankan perintah tersebut:
sudo contrib/scripts/install_prereq install
Perhatian, selama installasi dependensi akan ada sebuah pertanyaan jadi bisa kamu OK saja untuk prosesnya.
Setelah instalasi berhasi, kamu akan melihat pesan berikut:
############################################# ## install completed successfully #######################################
Langkah ke 4, Configure dan Compiling Asterisk
Langkah berikutnya ini adalah menjalankan skrip ./configure, yang dimana akan memeriksai sistem dari kamu jika ada pustaka dan dependensi yang hilang dan menyiapkan kode asterisk untuk proses pembuatan yang khusus untuk sistem kamu:
sudo ./configure
Setelah konfigurasi berhasil, kita sekarang dapat mulai mengkompilasi. Instalasi akan memakan waktu.
sudo make sudo make install
Setelah instalasi berhasil, kita dapat mengatur file konfigurasi sample menggunakan perintah ini:
sudo make samples
Langkah terakhir adalah mengonfigurasikan skrip init systemctl untuk mengelola layanan asterisk dan menghapus beberapa cache:
sudo make config sudo ldconfig
Langkah ke 5, Setting akun non-root untuk Asterisk
Untuk tujuan atau alasan keamanan, selalu disarankan untuk menjalankan service dengan tidak menggunakan akun root.
Dalam hal ini akan membuat pengguna dan grup "asterisk" dengan direktori home diatur ke /var/lib/asterisk
sudo groupadd asterisk sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
Selanjutnya adalah menambahkan pengguna asterisk (dialout dan audio) bawaan ke grup "asterisk":
sudo usermod -a -G dialout,audio asterisk
Untuk mengatur asterisk agar berfungsi dengan pengguna "asterisk" yang baru saja dibuat sebelumnya, yang dimana kita perlu memodifikasi dua file:
sudo nano /etc/default/asterisk
Uncomment pada baris berikut dan tambahkan pengguna yang baru saja kamu buat: (uncoment dengan hapus tanda #)
AST_USER="asterisk" AST_GROUP="asterisk"
Kemudian lakukan hal yang sama di file ini
sudo nano /etc/asterisk/asterisk.conf
Uncomment pada baris berikut dan tambahkan pengguna yang baru saja kamu buat: (uncoment dengan hapus tanda 😉
runuser = asterisk rungroup = asterisk
Terakhir, kita perlu mengubah pemilik folder menjadi pengguna yang dibuat dan mengatur permission yang benar.
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
Setting up Log Rotation
Kamu juga dapat mengatur dan mengaktifkan skrip rotasi log untuk Asterisk:
sudo make install-logrotate
Langkah ke 6, Starting dan Testing Asterisk
Kita harus mengaktifkan layanan asterisk untuk memulai secara otomatis pada boot server, jadi service asterisk yang ada di server ini diusahakan untuk menyala.
sudo systemctl enable asterisk
Kemudian start service asterisk.
sudo systemctl start asterisk
Untuk memverifikasi bahwa service Asterisk telah berjalan, Kamu akan melihat pesan "active (running)" setelah menjalankan perintah ini.
sudo systemctl status asterisk
-
asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/init.d/asterisk; generated) Active: <code>active (running)</code> since Tue 2018-12-25 20:16:30 CST; 9s ago Docs: man:systemd-sysv-generator(8) Process: 3509 ExecStart=/etc/init.d/asterisk start (code=exited, status=0/SUCC Tasks: 80 (limit: 1110) CGroup: /system.slice/asterisk.service └─3522 /usr/sbin/asterisk
Untuk melihat apakah Kamu dapat mengakses CLI Asterik, jalankan perintah ini:
sudo asterisk -rvvv
atau bisa menggunakan perintah ini
sudo asterisk -r
Kamu akan melihat bahwa Kamu menjalankan Asterisk menggunakan akun non-root:
Running as user 'asterisk' Running under group 'asterisk'
Langkah ke 7, Setting Call in Asterisk
Untuk dapat melakukan phone call pada service asterisk maka, perlu dilakukan konfigrasi yang ada disisi service asterisk.
Untuk semua konfigurasi yang ada di asterisk ini disimpan di /etc/asterisk. File yang perlu kita edit ini adalah users.conf yang dimana untuk mengatur user phone call beserta module tamban yang ada dikonfigurasi ini.
Buka dengan editor yang biasa kamu gunakan dan jalankan perintah ini.
nano /etc/asterisk/users.conf
Untuk menambahkan user dengan no telpon yang diinginkan, tambahkan dibawah keterangan [general] dan lebih tepatnya dibawah deretan callwaiting = yes, threewaycalling = yes. Tambahkan dengan user dan no telpon yang ingin ditambahkan sebagai berikut.
[100] type=friend username=100 callerid=100 secret=100 context=test host=dynamic allow=all
Keterangan:
- [100] Ini adalah nama pengguna, dan akan menjadi ekstensi pengguna di service asterisk ini untuk melakukan telpon voip.
- type = Untuk menambahkan kontak kamu ini sebagai teman atau rekan bisnis
- username = Digunakan untuk nama pengguna bisa kamu gunakan dengan nama lain kamu.
- callerid= Digunakan untuk Caller ID penelpon.
- secret= Kata sandi yang digunakan untuk masuk. Dalam sistem yang aman, kamu akan menggunakan sesuatu selain 1234! disini kita menggunakan 100 saja untuk kata sandinya.
- context= Context mirip dengan kategori untuk pengguna. Ekstensi yang mereka dapat panggil tergantung pada yang digunakan saat ini.
- host= Ini memberi tahu Asterisk bahwa pengguna tidak memiliki alamat IP yang tetap. Ini berarti bahwa mereka harus mendaftar secara berkala dengan server SIP sehingga IP mereka dapat diketahui.
- allow= Mengizinkan semua codec untuk dijalankan.
Catatan: Ingat, untuk tanda ; adalah untuk tanda command jika kamu ingin melakukan uncoment pada salah satu module bisa kamu hapus tanda ;
Kemudian langkah berikutnya adalah membukan extension.conf untuk mengedit daftar sambung, ketikan perintah ini.
nano /etc/asterisk/extensions.conf
Tambahkan daftar sambung berikut agar id dapat terhubung dan dapat dilakukan sambungan telpon voip, dibawah [general] kemudian letakkan diatas [dundi-e164-via-pstn]
[test] exten => 100,1,Dial(SIP/100) exten => 101,1,Dial(SIP/101)
Setelah itu restart service asterisk dengan menjalankan perintah, kemduian cek status apakah service sudah berjalan
sudo systemctl restart asterisk sudo systemctl status asterisk
Kemudian jalankan CLI asterisk dengan menggunakan perintah.
sudo asterisk -rvvv
atau bisa menggunakan perintah ini
sudo asterisk -r
Agar mengetahui apakah VOIP telah didaftarkan di asterisk, bisa ketikan perintah
sip show users
Jika hasilnya seperti ini, ini menandakan bahwa user kamu saat ini sudah terdaftar.
Kamu dapat memeriksa pengguna mana yang telah terdaftar dengan menggunakan perintah ini:
sip show peers
Jika hasilnya seperti ini, dan disertai adanya ip yang ada didalam host ini menkamukan bahwa peers yang ada diuser tersebut telah diguanakan dan aktif diaplikasi voip seperti zoiper atau xlite (Cara pasang ada di langkah 8).
Langkah ke 8, Setting Call in Aplication Zoiper
Untuk disisi aplikasi kita perlu melakukan cek apakah user yang telah kita buat sebelumnya dapat digunakan atau tidak, bisa menggunakan aplikasi selain zoiper misalnya adalah xlite. Karena xlite ini berbayar maka untuk saat ini kita mencoba menggunakan aplikasi zoiper.
Pertama kamu perlu download aplikasi zoiper kedalam komputer
Buka aplikasi zoiper, kemudian pilih continue free user
Isikan user dan password sesuai yang sudah didaftarkan tadi dengan cara berikut.
Kemudian isikan ip host atau servernya dan pilih next
Kemudian pilih skip lagi.
Jika ditemukannya protokol yang digunakannya, bisa pilih SIP UDP
Tanda dipojok kanan atas telah ada tanda centang, maka account telah terhubung ke server
Untuk user kedua karena ingin melakukan percobaan telpon, maka kita bisa menggunakan smartphone yang sudah diinstal dengan aplikasi zoiper untuk langkahnya sama dengan yang sebelumnya.
Testing jika sudah melakukan percobaan telpon.
User 1 (PC)
User 2 (Smartphone)
Catatan: Jika pada saat dilakukan percobaan telpon tidak bisa, maka penyebabnya adalah nat yang dimana setiap router ISP ini terdapat sebuah firewall nat yang dimana tidak dapat menembus paket tersebut di firewall.
Jadi yang perlu dilakukan ini adalah menambahkan module yang ada di /etc/asterisk/user.conf di [general] user masing-masing yang telah ditambahkan sebelumnya.
Ketikan perintah ini.
nano /etc/asterisk/user.conf
Tambahkan diuser yang sudah kamu tambahkan sebelumnya.
nat=force_rport,comedia directmedia=no dtmfmode=rfc2833 allow=ulaw&alaw&gsm
Coba kembali untuk test telpon voip menggunakan zoiper.
Untuk menapilkan debugguing atau log yang ada di asterisk ketikan perintah ini:
nano /etc/asterisk/logger.conf
uncomment pada line ini:
full => notice, warning, error, debug, verbose, dtmf, fax
Setelah itu maka akan terlihat debuging yang ada di asterisk ketika kamu jalankan cli asterisknya.
Penutup
Demikian untuk tutorial VOIP menggunakan SIP Server Asterisk.