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) 155
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 is RJ-11.
Software
¾ Application: ISP/ITSP (Internet Telephony Service Provider), IP-PBX wih office telephony services, multination enterprise communication, SOHO Telephony ¾ Calling Features: Call Hold, Call Transfer, Call Forward, Call Waiting, Call Conference, Do not Disturb, 10 sets last number Redial, 5 configurable speed dials, 5 Multilines ¾ Network Supported: Fixed IP, Dynamic Host Configuration Protocol (DHCP), PPPoE connection, behind NAT IP Sharing Device, support QOS, support 802.1p1q (VLAN) ¾ Audio Features: G.711, G.723.1, G.729, Programmable
158 Dynamic Jitter Buffer ¾ Provisioning & Configuration : SIP compliance, LCD 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.
4.2
Softphone X-Lite
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 userdefined 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 DTMFRelay. 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 yang ada. ¾ Tabel Extension CREATE TABLE extensions_table ( userid int(11) NOT NULL auto_increment, context varchar(40) NOT NULL default '', exten varchar(20) NOT NULL default '', priority tinyint(4) NOT NULL default '0', app varchar(20) NOT NULL default '', appdata varchar(128) NOT NULL default '', PRIMARY KEY (userid), FOREIGN KEY (context) references SIP(context), KEY context_priority (context,exten,priority) ) TYPE=MyISAM; ¾ Tabel SIP CREATE TABLE sip_buddies ( userid int(11) NOT NULL auto_increment, name varchar(80) NOT NULL default '', accountcode varchar(20) default NULL, amaflags varchar(7) default NULL, callgroup varchar(10) default NULL, callerid varchar(80) default NULL, canreinvite char(3) default 'yes', context varchar(40) default NULL, defaultip varchar(15) default NULL, dtmfmode varchar(7) default NULL,
173 fromuser varchar(80) default NULL, fromdomain varchar(80) default NULL, fullcontact varchar(80) default NULL, host varchar(31) NOT NULL default '', insecure varchar(4) default NULL, language char(2) default NULL, mailbox int(10) default '0', md5secret varchar(80) default NULL, nat varchar(5) NOT NULL default 'no', deny varchar(95) default NULL, permit varchar(95) default NULL, mask varchar(95) default NULL, pickupgroup varchar(10) default NULL, port varchar(5) NOT NULL default '', qualify char(3) default NULL, restrictcid char(1) default NULL, rtptimeout char(3) default NULL, rtpholdtimeout char(3) default NULL, secret varchar(80) default NULL, type varchar(6) NOT NULL default 'friend', username varchar(80) NOT NULL default '', disallow varchar(100) default 'all', allow varchar(100) default 'g729;ilbc;gsm;ulaw;alaw', musiconhold varchar(100) default NULL, regseconds int(11) NOT NULL default '0', ipaddr varchar(15) NOT NULL default '', regexten varchar(80) NOT NULL default '', cancallforward char(3) default 'yes', category varchar(20) NOT NULL default '', PRIMARY KEY (userid), FOREIGN KEY (category) references msuser(loginid),
174 UNIQUE KEY name (name), KEY name_2 (name) ) TYPE=MyISAM ROW_FORMAT=DYNAMIC;
¾ Tabel Voice Mail CREATE TABLE voicemail_users ( uniqueid int(11) NOT NULL auto_increment, customer_id int(11) NOT NULL default '0', context varchar(40) NOT NULL default '', mailbox int(10) NOT NULL default '0', password varchar(4) NOT NULL default '0', fullname varchar(50) NOT NULL default '', email varchar(50) NOT NULL default '', pager varchar(50) NOT NULL default '', stamp timestamp(14) NOT NULL, PRIMARY KEY (uniqueid), FOREIGN KEY (context,customer_id) references SIP(context, name), KEY mailbox_context (mailbox,context) ) TYPE=MyISAM; ¾ Tabel Master User CREATE TABLE msuser ( loginid varchar(10) NOT NULL default '', fullname varchar(40) NOT NULL default '', address varchar(80) NOT NULL default '', telephonenumber varchar(25) NOT NULL default '', email varchar(40) NOT NULL default '', password varchar(10) NOT NULL default '', type varchar(10) NOT NULL default '',
175 PRIMARY KEY (userid) ) TYPE=MyISAM;
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): ¾ extension.conf [contoh] switch => Realtime (tambahkan dibawah context yang mana extensionnya ingin diambil dari database) ¾ extconfig.conf sippeers=>mysql,asterisk,sip_buddies sipusers=>mysql,asterisk,sip_buddies extensions=>mysql,asterisk,extensions_table voicemail=>mysql,asterisk,voicemail_users ¾ res_mysql.conf [general] dbhost=localhost dbname=asterisk dbuser=asterisk dbpass=mysql dbport=3306 dbsock=/var/lib/mysql/mysql.sock
176 4.3.2.3
Konfigurasi Agi Manager Konfigurasi Agi manager hanya dilakukan pada Asterik dimana nantinya, sistem akan menerima perintah dari aplikasi yang menggunakan Agi ini untuk koneksi dengan sistem Asterisk. ¾ manager.conf [general] enabled=yes port=5038 bindaddr=0.0.0.0 [admin] secret=asterisk permit=0.0.0.0/0.0.0.0 read=system,call,log,verbose,command,agent,user write=system,call,log,verbose,command,agent,user [global] enabled=yes
4.3.3
SIP Asterisk Web Portal Untuk menjalankan web portal ini, file-file code JSP diletakkan di folder root dari web server yang digunakan (Apache Tomcat server). File tersebut diletakkan pada /apache-tomcat/webapps. Untuk menggunakan SIP Asterisk Web Portal, gunakan web browser dan isikan alamat IP dari komputer server Asterisk tersebut. Halaman pertama yang dituju adalah halaman Login seperti pada gambar 4.6 di bawah ini.
177
Gambar 4.6 Halaman Login SIP Asterisk Web Portal
Web Portal ini ditujukan bagi 2 jenis pengguna yaitu admin (administrasi VoIP server) dan user (client pengguna jasa VoIP). Isikan userid dan password yang benar, kemudian tekan login, maka akan masuk ke menu utama. Bagi admin akan masuk ke menu utama Admin, sedangkan bagi user akan masuk ke menu utama User.
178
4.3.3.1
Web Portal Bagi Admin
Gambar 4.7 Halaman Menu Utama (Home) Admin
Pada halaman menu utama Admin tersedia menu untuk User Profile, SIP, Extension, Voice Mail, CDR, Billing, dan AGI Man. Admin bisa memilih fitur yang ingin diakses melalui menu di sebelah kiri. Saat menu dipilih akan muncul submenu disamping menu tersebut, dan jika submenu dipilih maka halaman akan berpindah ke halaman yang dituju. Pada bagian kiri atas, terdapat informasi mengenai tanggal dan waktu login dan pada bagian kanan atas terdapat menu Logout untuk keluar dari sistem.
179
Gambar 4.8 Halaman User Profile
Gambar 4.8 merupakan tampilan halaman User Profile. Pada halaman ini, admin bisa melihat data user siapa saja yang telah melakukan registrasi. Data user ini muncul dari data yang diisi oleh admin ketika melakukan registrasi user SIP. Selain menampilkan data user, admin juga bisa melakukan perubahan data user dengan menekan tombol edit dan penghapusan data user dengan menekan tombol delete. Admin juga dapat melakukan pencarian melalui fungsi search pada bagian kanan atas.
180
Gambar 4.9 Halaman User Profile (Edit)
Gambar 4.9 merupakan tampilan ketika admin menekan tombol edit untuk melakukan perubahan terhadap data user. Isi data yang ingin diubah dan setelah pengisian data selesai, tekan tombol save untuk menyimpan data. Pada halaman berikutnya akan muncul pesan bahwa proses edit berhasil dilakukan. Sedangkan untuk menghapus data, admin menekan tombol delete dan pada halaman berikutnya akan muncul pesan bahwa proses delete berhasil dilakukan.
181
Gambar 4.10 Halaman Add New SIP
Gambar 4.10 merupakan tampilan halaman Add New SIP. Pada halaman ini, admin bisa melakukan registrasi user SIP secara realtime. Pilih jenis user yang akan melakukan registrasi : personal (perorangan) atau corporate (perusahaan). Selain itu, bisa dilakukan penambahan SIP account bagi anggota corporate yang telah mendaftar sebelumnya dengan memilih menu Add Additional SIP Account for registered user. Tekan next untuk memulai pengisian data.
182
Gambar 4.11 Halaman Add New SIP Personal
Gambar 4.11 merupakan tampilan halaman registrasi bagi user SIP personal. Isi data pada field-field yang telah disediakan, dan tekan submit setelah pengisian selesai dilakukan. Pada halaman berikutnya akan muncul pesan bahwa proses registrasi berhasil dilakukan.
183
Gambar 4.12 Halaman Add New SIP Corporate (1)
Gambar 4.12 merupakan tampilan halaman registrasi bagi user SIP corporate. Isi data perusahaan pada field-field yang telah disediakan, tentukan jumlah anggota perusahaan yang ingin ditambahkan, lalu tekan next.
184
Gambar 4.13 Halaman Add New SIP Corporate (2)
Kemudian isi data masing-masing anggota perusahaan seperti yang terlihat pada gambar 4.13 diatas. Jumlah pengisian data anggota tergantung dari jumlah anggota yang dipilih pada halaman sebelumnya. Setelah semua pengisian data anggota selesai dilakukan, tekan submit untuk melakukan registrasi. Pada halaman berikutnya akan muncul pesan bahwa proses registrasi berhasil dilakukan.
185
Gambar 4.14 Add Additional SIP Account for Registered User (1)
Gambar 4.14 merupakan tampilan ketika admin melakukan penambahan anggota bagi corporate dengan memilih menu Add Additional SIP Account for registered user pada halaman Add New SIP. Isikan nama corporate yang ingin ditambahkan jumlah anggotanya lalu tekan next.
186
Gambar 4.15 Add Additional SIP Account for Registered User (2)
Tampilan berikutnya seperti yang terlihat pada gambar 4.15 adalah menentukan jumlah anggota yang ingin ditambahkan pada corporate tersebut. Pilih jumlah user yang ingin ditambahkan lalu tekan next.