17
BAB III PERANCANGAN SISTEM
3.1
Asterisk Asterisk adalah sebuah aplikasi Private Branch Exchange (PBx) yang
digunakan untuk menghubungkan user dengan user lainnya atau dengan penyedia jasa telekomunikasi baik yang bersifat analog maupun digital. Asterisk dapat diumpamakan sebagai otak dalam sebuah infrastruktur telekomunikasi yang bertugas untuk menyimpan data user yang terdaftar di dalamnya, mengarahkan panggilan kedalam maupun keluar sistem asterisk (trunk), menangani conference call, dan masih banyak fitur lain yang tidak dibahas dalam penelitian ini. Asterisk dalam penelitian ini akan diimplementasikan sebagai berikut:
Router Wireless D-Link N150
User Softphone A
Asterisk A
User Android
Asterisk B
User iPhone
User iPad
Gambar 3.1 Topologi penelitian
User Softphone B
18
3.2
Alat dan Bahan Alat-alat yang digunakan dalam penelitian ini adalah : D-Link Wireless Router N150 Pada penelitian ini D-Link wireless router digunakan sebagai Dynamic Host Configuration Protocol (DHCP) pool untuk memberikan IP address kepada client yang terhubung dalam jaringan. 2 buah laptop dan 2 buah Virtual Machine Laptop pada penelitian ini berfungsi sebagai hardware yang didalamnya diinstall aplikasi Asterisk. Sedangkan 2 buah Virtual Machine diaplikasikan sebagai UA. Kabel data Kabel data yang digunakan adalah kabel UTP (Unshielded Twisted Pair) Cat.5e
dengan
konektor
RJ-45.
Kabel
ini
digunakan
untuk
menghubungkan 2 buah server Asterisk ke router. Softphone X-Lite dan Zoiper Softphone X-Lite dan Zoiper adalah aplikasi gratis yang bisa digunakan sebagai UA. X-Lite diinstall pada laptop dan komputer sedangkan Zoiper diinstall pada smartphone berbasis Android. Softphone berfungsi sebagai alat untuk melakukan pengetesan panggilan setelah Asterisk selesai dikonfigurasi pada kedua sisi.
19
Sedangkan bahan-bahan penelitian ini adalah : VMware Workstation 9 Vmware Workstation 9 adalah sebuah aplikasi yang berfungsi untuk membuat virtual machine di dalam sebuah komputer. Dalam virtual machine yang sudah dibuat tersebut nantinya bisa difungsikan sebagai komputer yang memungkinkan dua atau lebih komputer terinstall pada sebuah hardware saja. Asterisk Asterisk adalah aplikasi berbasis open source yang pada penelitian ini akan difungsikan sebagai IP-PBx berbasis SIP. Wireshark Wireshark digunakan untuk mengamati SIP session dan konsumsi bandwidth pada tiap session telekomunikasi.
3.3
Installasi Asterisk Pada penelitian ini Asterisk diinstall di dalam Ubuntu 12.04 LTS server yang
dikombinasikan dengan Asterisk GUI yang dirilis oleh Digium, salah satu perusahaan yang mendukung pengembangan Asterisk. Sedangkan laptop yang digunakan adalah merk Axioo Pico dengan spesifikasi Intel Atom 1,6 GHz Processor, 2 GB RAM, dan 100 GB Harddrive, juga sebuah Virtual Machine dengan spesifikasi single core CPU, 1 GB RAM, dan 20 GB Harddrive. Sebelum Asterisk diinstall ke dalam Ubuntu Server, perlu dipastikan bahwa server telah memiliki update terkini dengan menjalankan perintah
20
$ sudo apt-get update && apt-get upgrade –y && sudo reboot Perintah diatas bermaksud, menjalankan server update untuk mendapatkan pembaruan terkini dari ubuntu. Ekspresi “-y” berarti, mengiyakan semua prompt yang akan muncul dalam proses update. Sedangkan ekspresi “&&” berarti menjalankan perintah selanjutnya, seperti dalam perintah diatas yang pertama dilakukan adalah update, kemudian upgrade, dan terakhir reboot. Setelah proses selesai dan server sudah kembali menyala pasca perintah reboot, download dan install aplikasi-aplikasi tambahan yang dibutuhkan untuk menjalankan Asterisk dengan perintah $ sudo apt-get install build-essential wget libssl-dev libncurses5-dev libnewtdev libxml2-dev linux-headers-$(uname –r) libsqlite3-dev uuid-dev Kemudian download source tarballs dan ekstrak dengan perintah $ cd /usr/src/ $ wget http://downloads.asterisk.org/pub/telephony/dahdi-linuxcomplete/dahdi-linux-complete-current.tar.gz $ tar zxvf dahdi-linux-complete-current.tar.gz $ wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4current.tar.gz $ tar zxvf libpri-1.4-current.tar.gz $ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11current.tar.gz $ tar zxvf asterisk-11-current.tar.gz Setelah proses download dan extract selesai, install dahdi, libpri, dan asterisk secara berurutan. Install dahdi dengan perintah $ cd /usr/src/dahdi-linux-complete* $ make && make install && make config Kemudian install libpri dengan perintah $ cd /usr/src/libpri* $ make && make install
21
Dan yang terakhir adalah install Asterisk dengan perintah $ cd /usr/src/asterisk* $ ./configure && make menuselect && make && make install && makeconfig && make samples Setelah proses selesai, maka proses instalasi Asterisk secara umum sudah selesai [7]. Untuk menambahkan Asterisk GUI, sebelumnya perlu diinstall aplikasi subversion. Install aplikasi subversion dengan perintah $ sudo apt-get install subversion Kemudian download source Asterisk GUI dengan menggunakan perintah $ cd /usr/src $ svn co http://svn.digium.com/svn/asterisk-gui/trunk/ asterisk-gui Setelah proses download selesai, masuk ke dalam folder asterisk-gui dan install asterisk-gui dengan perintah $ cd /usr/src/asterisk-gui $ ./configure $ make && make install Setelah proses instalasi selesai, perlu dilakukan beberapa modifikasi pada file konfigurasi supaya asterisk-gui bisa dijalankan dan dipanggil melalui web browser. File yang di modifikasi adalah file manager.conf dan http.conf yang terletak di dalam folder /etc/asterisk. Buka file manager.conf dengan perintah $ nano /etc/asterisk/manager.conf Pastikan bahwa pada tab [general] sudah seperti keterangan di bawah ini [general] Enable = yes Webenable =yes Port = 5038 Bindaddr = 0.0.0.0
; agar Asterisk bisa diakses melalui web browser ; agar Asterisk bisa diakses melalui web browser ; agar Asterisk bisa diakses melalui PC lain
22
Kemudian tambahkan akun untuk mengakses Asterisk-GUI beserta previledge yang diperlukan pada bagian akhir file manager.conf seperti pada keterangan dibawah ini dimana dimisalkan username adalah admin dan password admin. [admin] Secret = admin Read = system,call,log,verbose,command,agent,user,config,originate Write = system,call,log,verbose,command,agent,user,config,originate Dan pastikan pada file http.conf tertera keterangan seperti di bawah ini pada tab [general] [general] Enable = yes Bindaddr = 0.0.0.0 Bindport = 8080 Enablestatic = yes
; agar Asterisk bisa diakses melalui web browser ; agar Asterisk juga bisa diakses melalui PC lain ; port untuk mengakses Asterisk melalui web ; agar Asterisk bisa dipasang menggunakan static IP
Apabila pada saat memodifikasi parameter-parameter diatas terdapat tanda ‘;’ diawal sebuah paramater, hapus tanda tersebut agar Asterisk GUI bisa berjalan dengan benar. Setelah proses modifikasi file selesai, jalankan perintah pengujian untuk membuktikan bahwa modifikasi file sudah benar dan Asterisk GUI bisa dijalankan dengan cara masuk ke dalam folder asterisk-gui dan jalankan perintah $ cd /usr/src/asterisk-gui $ make checkconfig
Gambar 3.2 Konfigurasi Asterisk GUI sudah benar
23
Apabila konfigurasi sudah benar, maka setelah menjalankan perintah $ make checkconfig akan muncul tampilan seperti pada gambar diatas [8]. Dan Asterisk bisa diakses melalui web browser dengan memasukkan URL ini pada address bar web http://192.168.0.222:8088/static/config/index.html. 192.168.0.222 adalah IP Address yang digunakan pada Asterisk yang berada di sisi kantor pusat. Tampilan Asterisk-GUI pada web browser adalah seperti pada gambar di bawah ini
Gambar 3.3 Tampilan Asterisk GUI pada web browser
3.4 Konfigurasi dan Sistem Kerja Asterisk Sebelum memulai konfigurasi Asterisk, perlu dipersiapkan perancangan sistem yang menggambarkan bagaimana Asterisk bekerja nantinya. Pada penelitian ini, flow chart sistem kerja Asterisk adalah seperti tergambar di bawah.
24
START
DIAL NOMER TELEPON
CODE DIALPLAN
Extension lokal
Extension tujuan tidak dikenal atau dalam panggilan lain (nada sibuk)
Extension Cabang
NOK
Routing dalam IP-PBx ke IP-PBX tujuan tempat extension terdaftar
NOK Pengenalan Extension dalam IP-PBx
Pengenalan Extension dalam IP-PBx
OK
OK Memberitahu Extension tujuan (ringing)
OK
Memberitahu Extension tujuan (ringing)
OK Telepon dijawab
END
Gambar 3.4 Flow panggilan dalam Asterisk Untuk mulai mengkonfigur Asterisk agar bekerja sesuai dengan flowchart diatas, trunk, dialplan, dan users harus dikonfigur didalam Asterisk. Trunk adalah perangkat telepon lain yang dihubungkan ke Asterisk. Trunk dapat berupa server Asterisk lain, terminasi telepon Public Switched Telephone Network (PSTN), penyedia jasa VoIP, ataupun softswitch jaringan seluler. Dialplan adalah serangkaian angka (bisa satu angka atau lebih) yang digunakan untuk merutekan panggilan dari dan kedalam sistem Asterisk. Profil
25
dialplan pada Asterisk GUI dibuat pada bagian Outgoing Calling Rules. Dan pada bagian Incoming Calling Rules dibuat profil yang cocok dengan profil pada Outgoing Calling Rules pada Asterisk lawan. Users pada Asterisk GUI adalah bagian dimana semua users yang akan register kedalam Asterisk dibuat. Tipe users yang digunakan pada penelitian ini adalah peer yang mengindikasikan user tersebut akan digunakan untuk registrasi trunk dan friend yang akan digunakan untuk meregistrasi UA.
3.4.1 Trunk Konfigurasi trunk pada Asterisk GUI dilakukan dalam 2 tahap. Tahap pertama adalah tahap pembuatan trunk seperti pada gambar dibawah ini.
Gambar 3.5 Tahap pertama pembuatan trunk Pada tahap ini, didefinisikan tipe protokol telekomunikasi yang akan digunakan, provider name, hostname yang berupa IP Adress provider name, dan username yang dibuat pada sisi provider untuk trunking ke Asterisk di sisi lokal. Setelah semua baris pada tahap pertama diisi, klik tombol save. Pada tahap berikutnya didefinisikan prioritas codec yang digunakan, IP Address Asterisk pada
26
baris FormDomain, dan pada baris FormUser diisikan username yang sama seperti pada tahap pertama.
Gambar 3.6 Tahap 2 pembuatan trunk 3.4.2 Dialplan Profil dialplan dibuat dalam bagian Outging Calling Rules. Pada bagian ini didefinisikan nama Outgoing Calling Rules, pattern yang digunakan untuk memanggil keluar Asterisk, dan juga jumlah angka yang akan diabaikan apabila panggilan yang dibuat adalah kedalam sistem Asterisk itu sendiri.
Gambar 3.7 Outgoing Calling Rules pada Asterisk yang ditempatkan di Kantor Pusat
27
Pada Asterisk yang ditempatkan pada Kantor Pusat, ditentukan _77XXXX adalah pattern yang digunakan untuk melakukan panggilan ke Kantor Cabang, dimana 77 adalah shortcodes yang dibuat untuk melakukan panggilan ke kantor cabang dan XXXX mewakili extension tujuan. Konfigurasi ini harus dicocokkan dengan Incoming Calling Rules yang diatur dalam Asterisk yang ditempatkan di Kantor Cabang, seperti pada gambar di bawah. Namun sebelumnya, harus dilakukan pengaturan time intervals pada Asterisk. Pada penelitian ini, time instervals dibuat pada hari kerja, Senin hingga Jumat dengan penggunaan waktu entire day.
Gambar 3.8 Time Intervals
Gambar 3.9 Incoming Calling Rules pada Asterisk Kantor Cabang Tampak pada Incoming Calling Rules tertera pattern yang sama dengan Outgoing Calling Rules yang dibuat pada Asterisk kantor pusat. Kemudian didefinisikan tujuan panggilan dengan mengabaikan 2 angka dari dari depan agar panggilan tertuju pada extension yang benar. Pada Outgoing Calling Rules Asterisk
28
kantor cabang ditentukan _87XXXX sebagai pattern untuk melakukan penggilan ke kantor cabang dengan dicocokkan dengan Incoming Calling Rules Asterisk kantor pusat. Setelah profil dialplan selesai dibuat, pada bagian Dial Plans akan muncul profil baru dari yang dibuat pada Outgoing Calling Rules. Beri tanda check ( √ ) pada bagian Include Outgoing Calling Rules untuk mengaktifkan Dial Plans.
Gambar 3.10 Dial Plan Pada penelitian ini, penulis menemukan sedikit bug pada Asterisk GUI yang menyebabkan panggilan ke trunk tidak berhasil walaupun trunk sudah dalam status Registered. Hal ini disebabkan oleh gagalnya Asterisk GUI menambahkan sebuah string pada file extensions.conf pada Asterisk. Edit file extensions.conf dengan menggunakan perintah $ nano /etc/asterisk/extensions.conf Kemudian tambahkan string include = DLPN_DialPlan1 pada bagian [DID_6200] sehingga menjadi seperti tampak pada gambar di bawah ini.
Gambar 3.11 Tampilan file extensions.conf setelah ditambah dialplan baru
29
3.4.3 Users Bagian users pada Asterisk GUI adalah tempat untuk menambahkan users yang nantinya akan digunakan untuk registrasi trunk maupun UA. Tipe user yang digunakan pada penelitian ini adalah peer dan friend. Tipe peer digunakan untuk mencocokan SIP request yang masuk ke dalam Asterisk dengan menggunakan IP address asal dan port yang digunakan. Konfigurasi user dengan tipe peer biasa digunakan untuk trunking. Sedangkan tipe friend adalah konfigurasi user yang umum digunakan oleh UA. Tipe friend mencocokan SIP request dengan prioritas pertama username dan kemudian ip address. Tampilan pada Asterisk GUI untuk membuat user adalah seperti pada gambar dibawah ini.
Gambar 3.12 Tampilan pembuatan user pada Asterisk GUI
30
Pada menu ini, dapat didefinisikan callerID name user yang sedang dibuat dan callerID number user tersebut, dialplan yang digunakan, protokol yang digunakan, prioritas codec yang digunakan, dan password yang akan digunakan oleh user tersebut ketika register ke dalam Asterisk. Untuk merubah tipe user, klik bagian Advanced Edit, sehingga tampilannya menjadi seperti gambar di bawah.
Gambar 3.13 Advanced Edit Pada contoh gambar di atas, tipe usernya adalah friend karena extensions 6202 akan digunakan untuk meregistrasi sebuah UA. Untuk mengubah menjadi peer, ubah bagian type=friend menjadi type=peer dan klik Update.