155 BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Spesifikasi Sistem Dalam implementasi dan evaluasi sistem VoIP ini, ada 2 komponen pendukung utama, yaitu komponen perangkat keras (hardware) dan komponen perangkat lunak (software). 4.1.1 Komponen Perangkat Keras (Hardware) Komponen perangkat keras yang digunakan dalam sistem ini adalah: 1. Server IBM xSeries 306m H2A (Komputer Server) 2. USB Handset PhoneSkype NS-01 3. SIP Phone 4. Media Gateway AudioCodes MP-114 FXO Berikut spesifikasi dari masing-masing perangkat keras yang digunakan untuk melakukan implementasi dan evaluasi dari sistem yang telah dirancang : Spesifikasi dari Komputer Server Tabel 4.1 Spesifikasi Server IBM xSeries 306m H2A Specifications Platform : Single CPU Rack Server Processor Intel Pentium D Processor 930 (3.0 GHz, FSB 800, Cache 2 x 2MB) Memory 1 GB ECC DDR-2 SDRAM PC-4200 Max. Memory 8 GB (4 DIMMs) Video Type : Integrated ATI RN50 (ES1000) 16 MB Floppy Drive (Optional)
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
155
BAB 4
IMPLEMENTASI DAN EVALUASI
4.1 Spesifikasi Sistem
Dalam implementasi dan evaluasi sistem VoIP ini, ada 2 komponen
pendukung utama, yaitu komponen perangkat keras (hardware) dan komponen
perangkat lunak (software).
4.1.1 Komponen Perangkat Keras (Hardware)
Komponen perangkat keras yang digunakan dalam sistem ini adalah:
1. Server IBM xSeries 306m H2A (Komputer Server)
2. USB Handset PhoneSkype NS-01
3. SIP Phone
4. Media Gateway AudioCodes MP-114 FXO
Berikut spesifikasi dari masing-masing perangkat keras yang
digunakan untuk melakukan implementasi dan evaluasi dari sistem yang telah
dirancang :
Spesifikasi dari Komputer Server
Tabel 4.1 Spesifikasi Server IBM xSeries 306m H2A
Specifications Platform : Single CPU Rack Server Processor Intel Pentium D Processor 930 (3.0 GHz, FSB
800, Cache 2 x 2MB) Memory 1 GB ECC DDR-2 SDRAM PC-4200 Max. Memory 8 GB (4 DIMMs) Video Type : Integrated ATI RN50 (ES1000) 16 MB Floppy Drive (Optional)
156
Controller : Integrated Dual Channel SATA/150 Hard Drive : 80 GB SATA/150 7200 RPM by IBM Optical Drive : Slim 16x DVD-ROM Interface Provided : 4x USB 2.0, 2x Serial, 1x Pararel,
LAN Slot Provided : 2x PCIe, 2x PCI-X, 2x PCI Networking : Integrated Two Gigabit Ethernet
(10/100/1000 Mbps) ports System Fans Embedded Easy Deploy Fan Cooling Power Supply Type : IBM fixed 350w Validated System : Microsoft Windows Server 2000 /
2003, Red Hat Linux or Fedora Core, SuSE Linux, Novell Netware
Gambar 4.1 Server IBM xSeries 306m H2A
Spesifikasi dari USB Handset PhoneSkype
Tabel 4.2 Spesifikasi USB Handset PhoneSkype NS-01
Features High quality for full duplex communication Handy, style, portable for notebook PC Speaker bypass jack for use without unplugging external
speakers Free conversation through Internet. Compatible with all Internet telephony software
applications, such as Skype, MSN Messenger, Mediaring, Net2phone, and etc.
Specifications One microphone plug, one earphone plug and an audio jack for speaker
Dimension: 200mm x 50mm x 30mm Weight: 250g Operating Temperature: 0 - 50° C Operating Humidity: 5% - 95% RH
157
System
Requirements
Pentium MMX 300MHz or above, with full-duplex sound card, minimum 128MB RAM or more
Broadband or 56Kbps Analog Modem
Gambar 4.2 USB Handset PhoneSkype NS-01
Spesifikasi dari SIP Phone
Tabel 4.3 Spesifikasi SIP Phone
Hardware Fully functional keypad enables to make/receive calls even easier
DC 9V power input outlet LAN: RJ-45 connector, connected directly to the Hub
through the straight CAT-5 cable PC: RJ-45 connector, connected directly to the PC
through the straight CAT-5 cable Headset jack to connect with headset. Headset connector
configuration password protection, Ring tone, Speaker and Handset volume adjustable, support DNS server inquiry, support up to 100 set phone book data
Management Features: TFTP/FTP download, LCD front panel, web browser, TELNET
Specifications Dimension: 215mm x 71mm x 198mm Weight: 834g Operating Temperature: 0 - 40° C Operating Humidity: 10% - 95% RH
Gambar 4.3 SIP Phone
Spesifikasi dari Media Gateway
Tabel 4.4 Spesifikasi AudioCodes MP-114 FXO
Hardware FXO Telephony Interface: 4 or 8 Analog FXS phone or fax ports, loop start (RJ-11)
Control Processor: Motorola PowerQUICC 870 Control Processor Memory: SDRAM 32MB Signal Processors: AudioCodes AC482 VoIP DSP Network Interface: 10/100 Base-TX RS-232 Terminal Interface (requires a DB-9 to PS/2
adaptor) Indicators: Channel status and activity LEDs
Functionality FXO Functionality: Short or Long Haul, Programmable Line Characteristics, Caller ID Detection
Voice & Tone Characteristics: Voice Compression,
159
Silence Suppression, Packet Loss Concealment, Echo Canceler, Gain Control, DTMF Transport (in-band), DTMF Detection and Generation, Call Progress Tone Detection and Generation
Fax Relay and Modem Transparency Protocols: VoIP Signaling Protocol (SIP RFC 3261),
Communication Protocols (RTP/RTCP, UDP/TCP, TFTP/HTTP/HTPPS)
Configuration: Gateway configuration using Web browser or ini files
Specifications Dimension: 42mm x 172mm x 220mm AC input / frequency: 100 – 240 VAC/ 50 – 60 Hz Operating Temperature: 5 – 40° C Operating Humidity: 10% - 90% non-condensing Storage Temperature: -25 - 70° C
Gambar 4.4 AudioCodes MP-114 FXO
4.1.2 Komponen Perangkat Lunak (Software)
Komponen perangkat lunak yang digunakan dalam sistem ini adalah:
1. Perangkat lunak untuk SIP Server yaitu Asterisk 1.2.11
2. Sistem operasi untuk SIP Server yaitu Linux Fedora Core 5
3. Sistem database MySQL
4. Apache Tomcat Server
5. Sistem billing dengan menggunakan bahasa pemrograman Java
160
6. Softphone X-Lite
4.2 Prosedur Instalasi Sistem
Sistem VoIP server yang dirancang menggunakan Asterisk yang berjenis
open source dan berjalan di atas sistem operasi Linux dengan kernel 2.4 ke atas.
Server yang digunakan untuk VoIP server diinstalasi dengan sistem operasi Linux
Fedora Core 5, yang telah menggunakan kernel 2.6, dengan tambahan instalasi
development package. Development package berisi compiler bahasa C yang
nantinya digunakan dalam proses kompilasi dan instalasi semua komponen
perangkat lunak yang berjenis open source. Dalam instalasi tersebut, disertakan
juga instalasi MySQL yang terdapat dalam paket Linux Fedora Core 5.
Beberapa komponen perangkat lunak perlu diinstalasi terlebih dahulu
pada PC untuk digunakan sebagai Asterisk VoIP server. Komponen-komponen
yang perlu diinstalasi tersebut antara lain :
1. Libpri. Komponen yang berisi library-library yang diperlukan oleh
Asterisk. Prosedur instalasinya adalah sebagai berikut:
Dapatkan file libpri-1.2.3.tar.gz
Ekstrak ke direktori /usr/src/
Berikan perintah
make clean
make
make install
2. Asterisk 1.2.11. Program utama dalam SIP server. Prosedur instalasinya
adalah sebagai berikut:
161
Dapatkan file asterisk-1.2.11.tar.gz
Ekstrak ke direktori /usr/src/
Ke direktori /usr/src/asterisk-1.2.11/ dan berikan perintah:
make clean
make
make install
make samples
3. Asterisk addons yang berisi library untuk cdr dan realtime configuration
untuk database MySQL. Prosedur instalasinya adalah sebagai berikut:
Dapatkan file asterisk-addons-1.2.4.tar.gz
Ekstrak ke direktori /usr/src/
Ke direktori yang terbentuk dan berikan perintah:
make clean
make
make install
4. Asterisk sounds yang berisi kumpulan record sound yang digunakan dalam
komunikasi VoIP. Prosedur instalasinya adalah sebagai berikut:
Dapatkan file asterisk-sounds-1.2.1.tar.gz
Ekstrak ke direktori /usr/src/
Ke direktori yang terbentuk dan berikan perintah:
make clean
make
make install
162
4.3 Prosedur Operasional Sistem
4.3.1 Asterisk CLI (Command Line Interface)
Setelah proses instalasi berjalan dengan sukses, maka program Asterisk
dapat dijalankan, baik secara background atau console. Untuk menjalankan
server secara background, maka perintahnya adalah:
# asterisk (tanda # merupakan representasi prompt terminal di Linux)
Sedangkan untuk menjalankan server secara console perintahnya adalah:
# asterisk –c
Gambar 4.5 Server Console Asterisk
Setelah masuk pada console, sistem dapat diberi perintah secara
realtime, baik untuk mengkonfigurasi server, menampilkan informasi,
mematikan server, dan lain-lain. Untuk menampilkan perintah-perintah apa
saja yang ada dapat dimunculkan dengan menekan tombol ’?’.
Beberapa perintah Asterisk CLI (Command Line Interface) yang perlu
diperhatikan antara lain :
Memasuki mode console Asterisk CLI, jalankan : asterisk –rvvvT
163
Perintah-perintah dasar Asterisk CLI :
o help
o help sip
o sip show peers
o reload
o sip reload
o extension reload
o stop now
Setiap terdapat perubahan pada file-file konfigurasi maka Asterisk harus
di-reload dengan perintah reload diatas.
4.3.2 Konfigurasi Sistem Asterisk
Sistem konfigurasi pada Asterisk terdapat pada file konfigurasi yang
memiliki ekstensi .conf dan terletak pada direktori /etc/asterisk. Lokasi file-file
dan direktori pada Asterisk antara lain :
/etc/asterisk : konfigurasi utama
/var/log/asterisk : log dan call detail record (CDR)
/var/lib/asterisk : aplikasi dan data pendukung (AGI, sounds)
/usr/lib/asterisk : codec dan aplikasi
/etc/asterisk/sip.conf : data account extension (menggunakan SIP)
/etc/asterisk/extensions.conf : data dialplan
164
4.3.2.1 Konfigurasi Dasar
Konfigurasi dasar dimaksudkan untuk membuat softphone atau
hardphone dapat saling bertelepon dalam LAN. Untuk konfigurasi dasar
ini, ada dua file konfigurasi yang perlu diketahui dan diatur, yaitu:
sip.conf
extension.conf
4.3.2.1.1 Konfigurasi sip.conf
File sip.conf menentukan softphone atau hardphone yang dapat
melakukan registrasi pada sistem Asterisk serta konfigurasi protokol
SIP. File ini terdiri dari dua bagian utama, yaitu:
General Context
User-defined Context
General context berisi konfigurasi protokol sip umum (berlaku
untuk semua phone yang akan melakukan registrasi). Konfigurasi
default-nya sudah dapat berfungsi normal sehingga tidak perlu untuk
diubah. Contoh:
[general]
context=default
bindport=5060
bindaddr=0.0.0.0
domain=mydomain.tld
rtcachefriend=yes
qualify=yes
165
Untuk user-defined context, setiap phone dibuatkan satu context.
Misalkan ada 6 SIP Phone, maka dibuat sebanyak 6 context. Pada user-
defined context, kata yang ada dalam kurung siku harus unik dan tidak
boleh sama. Contoh:
[telepon1] dan [1123]
Kata dalam kurung siku tersebut akan menjadi suatu ID yang
dikenal oleh sistem. Contoh bentuk lengkapnya adalah sebagai berikut:
SIP/telepon1 dan SIP/1123
Berikut isi di dalam user-defined context yang perlu
dikonfigurasi dan penjelasannya:
[telepon1] ; nama ID
type=friend ; untuk SIP Phone, gunakan friend.
context=dari-sip ; nama context dimana nantinya panggilan
dari user ini akan berada.
username=telp1 ; nama user (diisikan juga pada phone).
secret=abcd123 ; password user (diisikan juga pada phone).
host=dynamic ; alamat IP dari phone (ketikan dynamic
untuk menerima IP mana saja).
allow=all ; codec yang diperbolehkan untuk user ini.
disallow=all
nat=yes ; extension berada di belakang NAT : yes,
no.
canreinvite=yes ; bila berada di belakang NAT : yes, no.
insecure=very ; tidak perlu re-authenticate.
dtmfmode=rfc2833 ; menentukan mekanisme untuk DTMF-
Relay. Pilihan yang ada yaitu inband,
rfc2833, dan INFO.
166
callerid=Line 1<101>; nama account <nomor account>
mailbox=101 ; nomor mailbox, biasanya sama dengan
nomor account.
Untuk melakukan registrasi softphone atau hardphone dilakukan
pengisian username, password, serta alamat IP dari server ke phone
tersebut. Sampai tahap ini, phone dapat melakukan registrasi, tetapi
belum dapat dipanggil.
4.3.2.1.2 Konfigurasi extension.conf
File extension.conf diatur untuk mengatur nomor-nomor
extension yang ada dan apa yang harus dilakukan oleh sistem jika ada
permintaan (panggilan) untuk extension tersebut. Kumpulan dari
extension-extension dalam sebuah sistem disebut juga dengan dialplan.
File extension.conf ini juga sekaligus bertujuan untuk mengatur
dialplan ini.
File extension.conf terbagi dalam context-context pula. Untuk
context yang selalu ada pada file ini adalah context general, sedangkan
context lainnya, didefinisikan sendiri. Penggunaan context ini adalah
untuk mengatur panggilan telepon. Misalkan pada contoh diatas,
didefinisikan context dari sip. Maka panggilan dari telepon ini akan
selalu masuk ke context dari sip.
Setiap context terdiri dari kumpulan extension-extension yang
mana nantinya yang tergabung dalam context ini dapat memanggil
extension tersebut.
167
Bentuk umum untuk menuliskan suatu extension adalah:
Exten => nomor_extension, prioritas, aplikasi
dimana,
nomor_extension dapat berupa angka, huruf abjad, atau pola.
prioritas berupa angka dimana setiap kali sebuah extension
dipanggil, prioritas 1 akan terpanggil terlebih dahulu.
aplikasi merupakan perintah untuk sistem jika extension ini
terpanggil.
Contoh:
Pada contoh diatas, telah didefinisikan sebuah SIP Phone
dengan ID : SIP/telepon1. SIP Phone ini berada pada context dari sip.
Agar telepon tersebut dapat dipanggil oleh SIP Phone lainnya, maka
pada file extension.conf harus ada extension yang akan memanggil SIP
Phone ini.
[dari-sip]
Exten=> 1234, 1, Dial (SIP/telepon1)
Dengan extension ini, maka jika ada panggilan untuk nomor
1234, maka sistem akan melakukan panggilan ke SIP Phone dengan ID
: SIP/telepon1. Dengan catatan : SIP Phone yang bisa memanggil
SIP/telepon1 harus berada pada context dari sip. Jadi context
merupakan pengaturan bagian (grouping) dari user atau IP Phone atau
cabang.
Pada contoh diatas, extension yang digunakan adalah berjenis
angka. Maksudnya adalah untuk memanggil SIP/telepon1, SIP Phone
168
lain harus menekan 1234 dengan tepat. Fitur yang cukup penting dari
extension.conf ini adalah penulisan extension dengan pola.
Penulisan extension dengan pola diawali dengan tanda ”_”. Pola
yang bisa diterapkan adalah :
X – angka antara 0-9
Z – angka antara 1-9
N – angka antara 2-9
[1267] – angka didalam kurung siku (1 atau 2 atau 6 atau 7)
. - (titik) cocok dengan berapapun (ditambah sisa)
Contoh:
Exten=> _0XN[12]Z
Maka angka yang akan masuk ke extension ini adalah: 01211, 02211,
02311, 05923 dan lain-lain sesuai pola.
4.3.2.2 Konfigurasi CDR, Billing, dan Realtime
Untuk konfigurasi ini, perlu disiapkan terlebih dahulu database
yang akan digunakan nantinya pada MySQL. Pertama-tama siapkan sebuah
user account dimana nantinya Asterisk akan menggunakan account
tersebut untuk berkomunikasi dengan MySQL. Masuk ke terminal dan
berikan perintah :
[root@localhost]# mysql –u root
Isikan perintah berikut pada terminal MySQL.
mysql> grant all privileges on *.* to 'asterisk'@'%' identified by
'mysql' with grant option;
169
,dan
mysql> grant all privileges on *.* to 'asterisk'@'localhost'
identified by 'mysql' with grant option;
Kedua perintah diatas akan membuat sebuah user account dengan
nama ’asterisk’ dengan password ’mysql’ (tanpa kutip).
Lalu dibuat sebuah database dengan nama ‘asterisk’ (nama ini bisa
apa saja) dengan perintah
mysql> create database asterisk;
4.3.2.2.1 Konfigurasi CDR dan Billing
Fitur CDR memerlukan sebuah tabel pada database, dimana
nantinya call log akan ditampung ke tabel itu. Bentuk tabel cdr yang
dimaksud sudah didefinisikan oleh sistem Asterisk dan tinggal
digunakan saja. Namun untuk mendukung sistem billing, dilakukan
penambahan field pada tabel cdr yang telah ada, serta penambahan satu
tabel lagi untuk menampung kode area tujuan panggilan.
Berikut perintah yang diberikan pada terminal MySQL:
Tabel CDR
CREATE TABLE cdr (
calldate datetime NOT NULL default '0000-00-00 00:00:00',
clid varchar(80) NOT NULL default '',
src varchar(80) NOT NULL default '',
dst varchar(80) NOT NULL default '',
dcontext varchar(40) NOT NULL default '',
170
channel varchar(80) NOT NULL default '',
dstchannel varchar(80) NOT NULL default '',
lastapp varchar(80) NOT NULL default '',
lastdata varchar(80) NOT NULL default '',
duration int(11) NOT NULL default '0',
billsec int(11) NOT NULL default '0',
disposition varchar(45) NOT NULL default '',
amaflags int(11) NOT NULL default '0',
accountcode varchar(20) NOT NULL default '',
userfield varchar(255) NOT NULL default '',
billingtoken varchar(4) NOT NULL default '',
code int(10) NOT NULL default ‘0’,
totalbill int(10) NOT NULL default '',
PRIMARY KEY (calldate,src,dst),
FOREIGN KEY (code) references area_code (code)
);
ALTER TABLE cdr ADD INDEX ( calldate );
ALTER TABLE cdr ADD INDEX ( dst );
ALTER TABLE cdr ADD INDEX ( accountcode );
Tabel Area Code
CREATE TABLE area_code (
code int(10) NOT NULL default '0',
billprice int(6) NOT NULL default '0',
category varchar(10) NOT NULL default '',
starttime datetime NOT NULL default '0000-00-00 00:00:00',
endtime datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (code,starttime,endtime)
) TYPE=MyISAM;
171
Setelah tabel dibuat, konfigurasi selanjutnya adalah pada
Asterisk. Berikut file-file konfigurasi yang diatur (tambahkan baris
berikut atau jika sudah terdapat jangan dituliskan kembali tapi diubah
nilainya agar sama):
modules.conf
load => cdr_addon_mysql.so
cdr_mysql.conf
[global]
hostname=localhost
dbname=asterisk
user=asterisk
password=mysql
port=3306
sock=/var/lib/mysql/mysql.sock
table=cdr
cdr_manager.conf
[global]
enabled=yes
Sistem harus di-reload agar konfigurasi yang sudah diubah
dapat digunakan. Untuk me-reload gunakan perintah : reload now.
Setelah server di-reload, maka setiap CDR akan ditaruh ke
dalam database di tabel yang telah ditentukan tadi. CDR akan dibuat
setiap ada panggilan atau komunikasi telah selesai terjadi.
172
4.3.2.2.2 Konfigurasi Realtime
Sama seperti konfigurasi CDR, pada realtime juga harus dibuat
tabel-tabel dimana nantinya realtime akan mengambil seluruh settingan