Cara Install dan Konfigurasi SIP Server Asterisk di Ubuntu 18.04

Cloud VPS
Admin Tutorial
Latest posts by Admin Tutorial (see all)

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:

  1. Menggunakan sistem operasi ubuntu 18.04 .
  2. 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

Setting User Asterisk

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)

Tambahkan daftar Sambung

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.

Bukti User 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).

Bukti Aktif di aplikasi Voip client

 

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

Tampilan awal zoiper

Isikan user dan password sesuai yang sudah didaftarkan tadi dengan cara berikut.

Cara isi user dan password

Kemudian isikan ip host atau servernya dan pilih next

Isikan Ip server

Kemudian pilih skip lagi.

Jika ditemukannya protokol yang digunakannya, bisa pilih SIP UDP

Pilih protokol

Tanda dipojok kanan atas telah ada tanda centang, maka account telah terhubung ke server

Bukti sudah terpasang dengan baik

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)

Percobaan telepon

User 2 (Smartphone)

Diterima 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.

Apakah artikel ini membantu, Sob?

Berikan rating buat artikel ini!

Rata-rata rating 4.5 / 5. Dari total vote 10

Pertamax, Sob! Jadilah pertama yang memberi vote artikel ini!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Related Posts
Tutorial Cara Mengamankan Akses ke Layanan VPS Anda

Hai, Sob! Tahukah kamu, Mengamankan akses ke VPS kamu sangat penting tak terkecuali untuk akses dari SSH. Wah, gimana tuh Read more

Tutorial Cara Setting Cpanel atau WHM di VPS Kamu

Tahukah kamu, dengan membeli paket VPS SSD dan Ditambah addon cPanel dan WHM  di Jagoan Hosting, secara otomatis kamu akan mendapatkan Read more

Tutorial Cara Pantau monitoring Kinerja VPS anda

Hai, Sob! Buat kamu yang udah kepo sama cara pantau monitoring kinerja VPS kamu, yuk ikutin tutorialnya dibawah ini. Tapi, Read more

Tutorial Cara Migrasi File Server Website ke VPS tanpa cpanel

Hai, Sob, kamu suka bingung gimana caranya migrasi file server website ke VPS tanpa cPanel? Yuk, kamu harus banget pantengin Read more