Está en la página 1de 29

66

LAMPIRAN A

Perbandingan Beberapa Softphone Berdasarkan analisis dan penggunaanya, penulis memutuskan untuk menggunakan sofphone X-Lite berdasarkan perbandingan yang diambil dalam tabel A.1.
Tabel A.1 Perbandingan Beberapa Jenis Softphone

Universitas Sumatera Utara

67

LAMPIRAN B

Konfigurasi Softphone yang digunakan Proses instalasi X-Lite sangatlah mudah dan tidak memakan waktu yang banyak karena menggunakan Graphics User Interface (GUI) dan dilengkapi dengan fasilitas wizard sebagai panduan.

Gambar B.1 Jendela Setup Wizard X-Lite

Setelah selesai di download Softphone X-Lite maka file tersebut kita instal dengan cara meng-kliknya dua kali kemudian akan tampil jendela setup X-Lite seperti pada gambar B.2. Langkah berikutnya adalah mengklik next untuk melanjutkan proses instalasi.

Universitas Sumatera Utara

68

Gambar B.2 Jendela Pernyataan Lisensi X- Lite

Kemudian akan tampil jendela License Agreement yang berisi tentang kesepakatan mengenai pemakaian software X-Lite. Memilih I accept the agreement kemudian klik next untuk menuju tahap selanjutnya.

Gambar B.3Jendela Lokasi Penyimpanan X-Lite

Universitas Sumatera Utara

69

Pada gambar B.3 adalah tampilan jendela pemilihan tujuan tempat penyimpanan aplikasi X-Lite, klik next untuk default-nya atau dapat memilih sendiri tujuan tempat penyimpanan dengan memilih browse.

Gambar B.4 Jendela Additional Task X-Lite

Pada Gambar B.4 adalah tampilan jendela pemilihan custom untuk penempatan aplikasi X-Lite baik pada desktop, quick launch, dan pemanggilan automatis X-Lite pada saat windows dimulai. Memilih sesuai dengan keinginan, kemudian klik next.

Universitas Sumatera Utara

70

Gambar B.5 Jendela Proses Instalasi

Gambar B.6 Jendela Completing Setup X-Lite

Universitas Sumatera Utara

71

Sampailah pada tahap akhir instalasi X-Lite, pada gambar B.6 berisi keterangan bahwa proses instalasi X-Lite telah selesai, jika ingin langsung menjalankan aplikasi X-Lite pilih Launch X-Lite Kemudian klik next. Setelah instalasi X-Lite berhasil, tahap selanjutnya adalah konfigurasi X-Lite, untuk menjalankan aplikasi X-Lite, klik 2 (dua) kali icon X-Lite yang ada di desktop, kemudian klik kanan pada aplikasi X-Lite lalu pilih SIP account settings, seperti pada Gambar 3.5. Kemudian akan tampil Jendela SIP accounts XLite seperti pada Gambar 3.6, karena setelah proses instalasi selesai belum terdapat account, lalu klik add. Selanjutnya akan tampil jendela properties dari account yang akan diisi, seperti pada gambar 3.7, antara lain berisi: a. Display Name: Roni Fredy b. User name: rapat1 c. Password: rapat1 d. Authorization user name: 101 e. Domain: 192.168.1.62 f. Domain Proxy: 192.168.1.62 Yang perlu diperhatikan adalah username, password, dan domain proxy harus sesuai dengan account yang terdaftar pada softswitch asterisk, yaitu konfigurasi pada sip.conf, display name dapat diisi manual pada account SIP ataupun dapat ditetapkan pada konfigurasi sip.conf.

Universitas Sumatera Utara

72

Gambar 3.5 Tampilan X-lite

Gambar 3.6 Jendela SIP Accounts X-Lite

Gambar 3.7 Jendela Konfigurasi Accounts X-Lite

Universitas Sumatera Utara

73

Gambar 3.8 Tampilan X-Lite yang sedang register

Universitas Sumatera Utara

74

LAMPIRAN C

Konfigurasi Jaringan Untuk memberikan IP Address dan default gateway address pada Linux Ubuntu dapat dilakukan dengan cara sebagai berikut: 1. Buka terminal dengan akses root 2. Ketikkan perintah berikut pada terminal
# ifconfig <dev> <ip_address> netmask <bit_netmask>

Keterangan : dev : interface Internet yang ingin dikonfigurasi ip_address : IP address bit_netmask : netmask Contoh: #ifconfig eth0 10.4.12.240 netmask 255.255.255.0 Perintah ini akan memberikan IP address 10.4.12.240 pada interface eth0 dengan netmask 255.255.255.0. 3. Memastikan apakah konfigurasi sudah benar dengan perintah
# ifconfig-a eth0

4. Memberikan default gateway dapat dilakukan dengan perintah


#route add default gw <ip_gateway>

Keterangan : ip_gateway : IP address gateway default

Konfigurasi Tabel Routing Untuk dapat meneruskan aliran paket menuju ke komputer tujuan yang berbeda jaringan, router harus memiliki tabel routing sehingga dapat meneruskan aliran paket dari satu node ke node yang lain sehinnga paket sampai di tujuan. Ada beberapa cara yang dapat dilakukan untuk membuat tabel routing di sistem operasi Ubuntu 10.04, yaitu: a. Membuat routing permanen dengan menambah script di /etc/network/if-up.d b. Menambah perintah up ke kartu jaringan yang digunakan di

/etc/network/interfaces.

Universitas Sumatera Utara

75

Di dalam Tugas Akhir ini metoda ke-dua digunakan untuk membuat tabel routing di jaringan. Langkah yang dilakukan sebagai berikut: 1. Menentukan tabel routing untuk masing-masing komputer router (jaringan).
# vim /etc/network/if-up.d/static-route

Router E1 Paket dengan tujuan jaringan 10.4.12.243 dan 10.4.12.246 di arahkan melalui gateway 10.4.12.242 pada kartu jaringan eth4. Router C Paket dengan tujuan jaringan 10.4.12.249 dan 10.4.12.240 diarahkan melalui gateway 10.4.12.241 pada kartu jaringan eth1. Paket dengan tujuan jaringan 10.4.12.246 diarahkan melalui gateway 10.4.12.245 pada kartu jaringan eth1. Router E2 Paket dengan tujuan jaringan 10.4.12.240 dan 10.4.12.243 diarahkan melalui gateway 10.4.12.245 pada jaringan eth1. File konfigurasi /etc/network/if-up.d/static-route untuk router E1 adalah:
# /bin/sh # Tabel routing untuk E1 Up route add net 10.4.12.243 netmask 255.255.255.0 gw 10.4.12.252 Up route add net 10.4.12.246 netmask 255.255.255.0 gw 10.4.12.242 Up route add default gw 10.4.12.252

File konfigurasi /etc/network/if-up.d/static-route untuk router C adalah:


# /bin/sh # Tabel routing untuk C Up route add net 10.4.12.240 netmask 255.255.255.0 gw 10.4.12.241 Up route add net 10.4.12.246 netmask 255.255.255.0 gw 10.4.12.245 Up route add default gw 10.4.12.241

File konfigurasi /etc/network/if-up.d/static-route untuk router C adalah:


# /bin/sh # Tabel routing untuk E2 Up route add net 10.4.12.240 netmask 255.255.255.0 gw 10.4.12.244 Up route add net 10.4.12.243 netmask 255.255.255.0 gw 10.4.12.244 Up route add default gw 10.4.12.244

2. Mengaktifkan tabel routing dengan me-restart kartu jaringan

Universitas Sumatera Utara

76
# /etc/network/if-up.d/static-route

3. Melihat daftar tabel routing yang baru dibuat.


# route nN

Konfigurasi IP Forwarding IP Forward adalah suatu sistem yang berfungsi untuk meneruskan atau mem-forward paket-paket dari suatu jaringan ke jaringan yang lain. Untuk menkonfigurasinya, perlu mengubah modul kernel ip_forward menjadi enable. Langkah yang dilakukan untuk mengubah modul kernel ip_forward menjadi enable adalah sebagai berikut : 1. Mengaktifkan IP forwarding
# echo net.ipv4.ip_forward=1>>/etc/sysctl.conf #sysctl p /etc/sysctl.conf

2.

Memeriksa apakah IP forwarding sudah aktif.


#sysctl net.ipv4.ip_forward

Apabila hasilnya adalah 1, maka IP forwarding sudah dapat diaktifkan. Selanjutnya paket-paket yang dikirim oleh jaringan sudah dapat diteruskan ke jaringan lainnya.

Kofigurasi IP Masquerade IP masquerade adalah salah satu fasilitas di Linux yang memungkinkan komputer yang tidak memiliki alamat IP public agar dapat tersambung ke internet melewati komputer Linux. Karena Ubuntu sudah mengaktifkan layanan ini pada kernelnya, maka hanya perlu mengkofigrasi saja agar dapat memkaia layanan ini. Langkah yang dilakukan sebagai berikut: 1. Mengaktifkan IP masquerade
# iptables t nat A POSTROUTING s 10.4.12.240 /24 d 0/0 -j MASQUERADE

2.

Memeriksa apakah IP masquerade sudah aktif.


# iptbles L t nat

Apabila hasilnya seperti yang tertulis di bawah ini,


_______ Cut ________ Chain POSTROUTING (policy ACCEPT)

Universitas Sumatera Utara

77
target prot opt source destination MASQUERADE 0 - 10.4.12.240 /24anywhere ______ Cut ________

maka IP masquerade sudah berhasil dijalankan. Secara umum, kofigurasi jaringan diletakkan di file rc.local yang terletak di direktori /etc/. isi file rc.local di edge router adalah sebagai berikut:
#!bin/sh e # rc.local # #This script is execute at the end of each multiuser runlevel. #Make sure that the script wiil exit 0 on success or any other value on error. # #In order to enable or disable this script just change the execution bits. #By default this script does nothing. #IP Forwarding dan NAT echo 1 > / proc/sys/net/ipv4/ip_forward /sbin/iptables P FORWARD ACCEPT /sbin/iptables --table nat A POSTROUTING s 10.4.12.240 /16 d 0/0 -j MASQUERADE #Port Forwarding untuk Core Router /sbin/iptables t nat A PREROUTING p tcp i eth0 d 10.4.12.251 --dport 222 j DNAT --to 10.4.12.242:22 /sbin/iptables A FORWARD p tcp i eth4 d 10.4.12.242 --dport 22 -j ACCEPT #Port Forwarding untuk Edge2 Router /sbin/iptables t nat A PREROUTING p tcp i eth0 d 10.4.12.251 --dport 333 -j DNAT --to 10.4.12.245:22 /sbin/iptables A FORWARD p tcp i eth1 d 10.4.12.245 -dport 22 -j ACCEPT #Port Forwarding untuk SIPp /sbin/iptables t nat A PREROUTING p udp i eth0-d 10.4.12.253 -m multiport -dport 5000:32000 -j DNAT --to destination 10.4.12.249 /sbin/iptables A FORWARD p udp s 10.4.12.249 -j ACCEPT /sbin/iptables A FORWARD p udp m multiport --dport 5000:32000 -d 10.4.12.249 j ACCEPT exit 0

Rekompilasi Kernel dengan Kemampuan Diffserv

Universitas Sumatera Utara

78

Langkah awal yang harus dipenuhi untuk rekompilasi kernel adalah tersedianya kernel yang baru dan menggunakan system operasi Ubuntu 10.04. Untuk mengaktifkan diffserv, dilakukan kompilasi kernel yang baru dari kernel bawaan sistem operasi Ubuntu 10.04. Tujuannya agar komputer router berfungsi sebagai diffserv router. Langkah-langkah yang dilakukan sebagai berikut: 1. 2. Melihat status kernel sekarang yang digunakan.
# uname a

Download kernel versi terbaru. Di dalam tugas akhir ini kernel standar versi : 2.6.32-21.
#cd /usr.src #apt-get install linux-source-2.6.32-21 #ls l #tar jxvf linux-source-: 2.6.32-21.tar.bz2

3.

Membuat symbolic link berjalan dengan nama linux yang mengarah ke versi kernel terbaru.
#cd /usr/src #rm linux #ln s linux-source-: 2.6.32-21 linux

4.

Memeriksa opsi-opsi kernel baru secara terpisah tanpa menimpa konfigurasi kernel standar menggunakan editor teks.
#ls -1

5.

Konfigurasi opsi-opsi kernel baru secara terpisah tanpa menimpa konfigurasi kernel standar menggunkan editor teks.
#vim /usr/src/linux-source-: 2.6.32-21/Makefile

Contoh file konfigurasi yang diedit sebagai berikut:


VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 22 EXTRAVERTION = .coreroutera

Keterangan : EXTRAVERTION merupakan nama untuk membedakan kernel yang telah dikompilasi. Dapat diisi secara bebas sesuai keinginan. Di dalam tugas akhir ini, nama .coreroutera diberikan sesuai dengan nama domain diffserv yang digunakan. 6. Agar mudah dikompilasi, diperlukan beberapa program untuk konfigurasi kernel.
#apt-get install fakeroot build-essential kernel-package libqt3-mt-dev modutils

Universitas Sumatera Utara

79
module-init-tools libncurses-dev

7.

Membuat salinan dari konfigurasi file dan modifikasi itu. File konfigurasi sekarang diletakkan di /boot dan sering disebut /boot/config-:2.6.32-21generic. Gunakan symbolic link jika di boot terdapat beberapa file config.
#ls l /boot #cp /boot/config- -generic /usr/src/linux#cd linux-source#ls l

8.

Di dalam direktori/usr/src/linux-source- , harus ada file dengan nama .config.


#cp config- -generic .config

9.

Menjalankan utility konfigurasi.


#make menuconfig

Setelah itu, akan muncul window. Di dalam window, aktifkan opsiopsi yang mendukung diffserv. Contoh sebagai berikut:
In the section Networking option : * Kernel/User netlink socket (CONFIG_NETLINK) * Network packet filtering (CONFIG_NETFILTER) * QoS and/or fair queueing (CONFIG_NET_SCHED) In the subsection, QoS and/or fair queueing : and aspecially : * CBO packet scheduler (CONFIG_NET_SCH_CBQ) * the simplest PRIO pseudoscheduler (CONFIG_NET_SCH_PRIO) * RED queue (CONFIG_NET_SCH_RED) * GRED queue (CONFIG_NET_SCH_GRED) * Diffserv field marker (CONFIG_NET_SCH_INGRESS) * QoS support (CONFIG_NET_QoS) * Packet classifier API (CONFIG_NET_CLS) * TC index classifier (CONFIG_NET_CLS_TCINDEX) * Firewall based classifier (CONFIG_NET_CLS_FW) *U32 classifier (CONFIG_NET_CLS_U32) * Traffic policing (CONFIG_NET_CLS_POLICE) IP : advance router (CONFIG_IP_ADVANCE_ROUTER) IP : policy routing (CONFIG_IP_MULTIPLE_TABLES) (CONFIG_IP_ROUTE_FWMARK)

Universitas Sumatera Utara

80

10. Melakukan kompilasi kernel. Waktu yang dibutuhkan bergantung kepada spesifikasi computer.
#cd /usr//src/linux-source-2.6.32-21/ #make #make modules_install #make install

11. Memeriksa apakah sudah terinstall di /boot dan symbolic link terbarui juga.
#cd /boot #ls -1

12. Membuat direktori baru untuk kernel baru


#cd /lib/firmwire #mkdir 2.6.32-21 coreroutera

13. Membuat RAMdisk awal yang bertanggungjawab terhadap kernel yang baru (2.6.32-21.net)
#update-intiaramfs c k 2.6.32-21 coreroutera

14. Memeriksa kembali apakah file initrd.img-2.6.32-21.net.corerouter sudah berada di /boot.


#cd /boot #ls -1

15. Kernel baru selesesai dibuat. Lakukan konfigurasi boot loader untuk melihat efeknya. Lakukan perbaruan jika menggunakan grub.
#update-grub

16. Memeriksa semua apakah sudah berjalan lancar.


#vim /boot/grub/menu.list

17. Reboot komputer.


#reboot now

18. Jika sudah masuk grub, pilih kernel 2.6.32-21.coreroutera untuk mencoba kernel yang sudah dikompilasi. Script untuk Edge Router

Universitas Sumatera Utara

81

Di dalam edge router, proses yang dilakukan adalah pengelompokkan paket (packet filtering). Script untuk edge router adalah sebagai berikut:
#!/bin/sh #parameter interface edgeB INDEV =eth0 EGDEV =eth1 # parameter source SRC1=10.4.12.253 SRC2=10.4.12.247 # parameter destination DST1=10.4.12.254 DST2=10.4.12.245 # parameter rate, burst, dan mtu untuk ingress policing rate RATE=20Mbit BURST=50k MTU=9k ### Policing untuk interface masuk ### # filter berdasarkan source iptables t mangle A FORWARD p udp m multiport sport 5000:32000 -i $INDEV s $SRC1 j MARK --set-mark 1 iptables t mangle A FORWARD I $INDEV s $SRC2 j MARK --set-mark 2 # parameter rate datang di interface masuk tc qdisc add dev $INDEV handle ffff: ingress tc filter add dev $INDEV parent ffff: protocol ip prio 50 u32 match ip src $SRC1 police rate $RATE burst $BURST mtu $MTU drop flowid :1 # setup konfirmasi echo ---qdisc parameter ingress--- tc qdisc ls dev $INDEV echo ---qdisc parameter ingress--- tc class ls dev $INDEV echo ---qdisc parameter ingress--- tc filter ls dev $INDEV parent 1:0 ### Policing untuk interface keluar ### # setup DSMARK tc qdisc add dev $EDGE handle 1:0 root dsmark indices 64 set_tc_index # marking paket yang masuk ke kelas 1:1 menjadi kelas EF tc class change dev $EGDEV classid 1:1 dsmark mask 0x3 value 0xb8

Universitas Sumatera Utara

82

# marking paket yang masuk ke kelas 1:2 menjadi kelas BE tc class change dev $EGDEV classid 1:2 dsmark mask 0x3 value 0x0 # pemetaan konfigurasi tc filter add dev $EGDEV parent 1:0 protocol ip prio 4 handle 1 fw classid 1:1 tc filter add dev $EGDEV parent 1:0 protocol ip prio 4 handle 2 fw classid 1:2 # setup konfigurasi echo ---qdisc parameter egress--- tc qdisc ls dev $EGDEV echo ---qdisc parameter egress--- tc class ls dev $EGDEV echo ---qdisc parameter egress--- tc filter ls dev $EGDEV parent 1:0

Sedangkan di dalam core router, proses yang dilakukan adalah meneruskan paket berdasarkan klasifikasi yang sudah dilakukan oleh edge router. Karena menggunakan 3 kondisi resource, maka script untuk core router dapat diubah sesuai kebutuhan. Script untuk core router adalah sebagai berikut:
#!/bin/sh # TBF # parameter interface out going packet DEV=eth1 # rate untuk kelas EF dan BE eFRATE=44kbit berate=20kbit # peak rate untuk EF dan BE efPEAK=64kbit bePEAK=25kbit # nilai ukran bucket (burst) BURST=5kb # setup qdisc PRIO tc qdisc add dev $DEV root handle 1:prio # setup filter tc filter add dev $DEV parent 1:0 prio 1 protocol ip u32 match ip tos 0xb8 0xff flowid 1:1 tc filter add dev $DEV parent 1:0 prio 2 protocol ip u32 match ip tos 0x0 0xff flowid 1:1 # setup sub-qdisc dengan mekanisme TBF untuk kelas 1:1 tc qdisc add dev $DEV parent 1:1 handle 10:tbf rate $efRATE burst $BURST latency 70

Universitas Sumatera Utara

83
ms peakrate $efPEAK minburst 1540 # setup sub-qdisc dengan mekanisme TBF untuk kelas 1:2 tc qdisc add dev $DEV parent 1:2 handle 11:tbf rate $beRATE burst $BURST latency 70 ms peakrate $bePEAK minburst 1540

Eksekusi Script Diffserv Untuk menjalankan script diffserv, pastikan bahwa permission file script dapat dieksekusi. Jika hanya root yang diberi akses untuk menjalankan script tersebut, maka beri nilai 700 (real-write-execute untuk root) dengan mengetikkan perintah berikut ini:
# chmod 700 liza-edge liza-core

Setelah itu, script tersebut dapat dijalankan di masing-masing router. a. b. Di edge router
# ./liza-edge

Di core router

# ./liza-core

Script untuk Membatasi Koneksi Selain membatasi koneksi di tiap-tiap router diffserv, batasan koneksi juga dilakukan di edge router yang menghubungkan jaringan diffserv dengan jaringan bukan diffserv. Script yang digunakan adalah sebagai berikut (dengan paket hilang yang berubah-ubah):
#! /bin/sh # resource tc qdisc add dev eth0 root tbf rate 64 kbit latency 50ms burst 1540 # packet loss tc qdisc add dev eth0 root netem loss 0% delay 100ms 20ms # tc qdisc replace dev eth0 root netem loss 1% delay 100ms 20ms # tc qdisc replace dev eth0 root netem loss 2% delay 100ms 20ms # tc qdisc replace dev eth0 root netem loss 3% delay 100ms 20ms # tc qdisc replace dev eth0 root netem loss 4% delay 100ms 20ms # tc qdisc replace dev eth0 root netem loss 5% delay 100ms 20ms # tc qdisc replace dev eth0 root netem loss 10% delay 100ms 20ms # tc qdisc replace dev eth0 root netem loss 15% delay 100ms 20ms # tc qdisc replace dev eth0 root netem loss 20% delay 100ms 20ms

Script lain yang digunakan untuk membatasi koneksi adalah sebagai berikut (dengan variasi waktu tunda dan waktu tunda yang berubah-ubah):
#! /bin/sh # resource

Universitas Sumatera Utara

84
tc qdisc add dev eth0 root tbf rate 64 kbit latency 50ms burst 1540 # packet loss tc qdisc add dev eth0 root netem loss 1% delay 70ms 0ms # tc qdisc replace dev eth0 root netem loss 1% delay 80ms 10ms # tc qdisc replace dev eth0 root netem loss 1% delay 90ms 20ms # tc qdisc replace dev eth0 root netem loss 1% delay 100ms 30ms # tc qdisc replace dev eth0 root netem loss 1% delay 110ms 40ms # tc qdisc replace dev eth0 root netem loss 1% delay 120ms 50ms # tc qdisc replace dev eth0 root netem loss 1% delay 130ms 60ms # tc qdisc replace dev eth0 root netem loss 1% delay 140ms 80ms

Instalasi SIPp SIPp dapat di-download secara gratis dari website http://sipp.sourceforge.net . Tugas akhir ini menggunakan SIPp versi 3.1. Berikut ini langkah-langkah instalasi SIPp: 1. 2. Download source sipp.3.1.src.tar.gz. Ekstrak ke direktori /usr/local/src.
# tar xvzf sip.3.1.src.tar.gz

3.

Instalasi paket openssl, libnet, dan libpcap. Hal ini digunakan agar SIPp mendukung proses autentikasi dan pcapplay (untuk steraming RTP).
# apt-get install openssl.0.9.8 libnet1-dev libnet1 libppcap

4.

Instalasi SIPp (yang sudah mendukung autentikasi dan pcapplay)


# cd /usr/local/src/sipp.svn # make pcapplay_ossl

Konfiguarsi SIPp Client SIPp client bertugas untuk membangun panggilan, memodifikasi dan menutup sesi komunikasi. SIPp client akan mengirimkan Request message pada server SIPp. Pada pembangunan hubungan ini harus jelas didefenisikan secara rinci semua informasi baik pemanggil maupun pihak yang dipanggil. Di dalam tugas akhir ini, skenario uac_pcap_xml digunakan. Skenario tersebut mendukung adanya transfer voice melalui protokol RTP sehingga mensimulasikan panggilan VoIP yang sebenarnya. Berikut ini isi skenario uac_pcap_xml untuk codec G.729.
<?xml version =1.0 encoding=ISO-8859-1?> <!DOCTYPE scenario SYSTEM sipp.dtd>

Universitas Sumatera Utara

85
<scenario name=UAC with media> <send retrans=500:> <![CDATA[ INVITE sip :[service]@[remote_ip]:[remote_port]SIP/2.0 Via:SIP/2.0/[transport][local_ip]:[local_port];branch=[branch] From:sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] To : sut <sip:[service]@[remote_ip]:[remote_port]> Call-ID: [call_id] CSeq: 1 INVITE Contact: sip:sipp@[local_ip]:[local_port] Max-Forward: 70 Subject: Performance Test Content-Type: application/sdp Content-Length: [len] v=0 o=user1 53655765 2353687637 IN IP[local_ip_type][local_ip] s=c=IN IP [local_ip_type][local_ip] t=0 0 m=audio [auto_media_port] RTP/AVP 18 a=rtpmap:18 G729/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-11,16 ]]> </send> <recv response=100 optional=true> </recv> <recv response=180 optional=true> </recv> <recv response=200 rtd=true crlf=true> </recv> <send> <![CDATA[

Universitas Sumatera Utara

86
ACK sip :[service]@[remote_ip]:[remote_port]SIP/2.0 Via:SIP/2.0/[transport][local_ip]:[local_port];branch=[branch] From:sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] To : sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tah_param] Call-ID: [call_id] CSeq: ACK Contact: sip:sipp@[local_ip]:[local_port] Max-Forward: 70 Subject: Performance Test Content-Type: application/sdp Content-Length: 0 <nop> <action> <exec play_pcap_audio=pcap/g729.pcap/> <action> </nop> <pause millisecond=8000/> <!-- Play an out of band DTMF 1 <nop> <action> <exec play_pcap_audio=pcap/dtmf_2833_1.pcap/> <action> <nop> <pause milliseconds=1000/>

Untuk codec G.729, nilai rtpmap yang digunakan adalah 18. sedangkan untuk codec G.723 menggunakan nilsi rtpmap 4. Skenario tersebut akan membentuk call flow seperti ditunjukkan oleh Gambar C.1.
(1) INVITE (2) 100 (optional) (3) 180 (optional) (4) 200

Pengirim

Penerima
(5) ACK (6) RTP Sends (8s) (7) RFC2833 DIGIT 1 (8) BYE (9) 200

Universitas Sumatera Utara

87

Gambar C.1 Call Flow di SIPp Client

Untuk dapat mensimulasikan panggilan VoIP secara simultan seperti kondisi yang sebenarnya, maka dibuat suatu program shell untuk memudahkan proses simulasi tersebut. Dengan menggunakan program ini, panggilan VoIP dapat disimulasikan secara simultan yang juga terintegrasi dengan sistem PBX Asterisk sebagai SIP proxy server. Di program ini, semua perintah dan atribut pada SIPp client digabungkan dalam satu file saja, sehingga memudahkan dalam mengeksekusinya. Berikut ini syntax program yang dibuat untuk 1 panggilan.
#!/bin/sh REMOTE_HOST=10.4.12. 251 REMOTE_PORT=5060 BACKGROUND=no SCENARIO=uac_auth.x ml INJECT_FILE+data_inject _fw REFRESH_SCREEN=1 DUMP_LOG_FREQ=60 CALL_RATE=1 CALL_PERIOD=3000 CALL_DURATION=10000 CALLS_TOTAL=1 CALL_LIMIT=1 TRANSPORT= u1 calls # Set the transport mode. # u1: UDP with one socket (default), (SIP-srv <===>SIP-srv) # un : UDP with one socker per call, (SIP-UA <===> SIP-srv) # ui : UDP with one socket per IP address. # The IP address must be defined in the LOG=all injection file. # t1 : TCP with one socket, # tn : TCP with one socket per call. # SIP Proxi, IP PBX, UAS, ASTERISK IP. # Port used by remote for signaling. # Launch SIPp in background mode. # Loads an alternate xml scenario file # Use this CSV file to be injected to XML scenario. # Set the statistics report frequency on screen (in seconds). Default is 1 #Set the statistic dump log report frequency (in seconds). Default is 60. # Set call rate (in calls per secons) # Specify the rate period in milliseconds for the call rate. Default is 1 seconds #Controls the length (in milliseconds) of calls. # Stop the test and exit when calls calls are processed. # Set the maximum number of simultaneous

Universitas Sumatera Utara

88
LOG_RESPONSE_TIME=2 00 STATISTIC=yes STATISTIC_FILENAME=stat istic LOCAL_HOST= rm f*.*log*csv ./sipp r $CALL_RATE\ -rp $CALL_PERIOD\ -d $CALL_DURATION\ -sf $SCENARIO\ -trace_msg\ -trace_screen\ -trace_err\ -trace_logs\ -trace_rtt\ -ett_freq $LOG_RESPONSE_TIME\ -f $REFRESH_SCREEN\ -fd $DUMP_LOG_FREQ\ -l $CALL_LIMIT\ -m $CALL_TOTAL\ -inf $INJECT_FILE\ $REMOTE_HOST:$REMOT E_PORT\ -i $LOCAL_HOST\ # UAC IP 200. # Log option : all, msg, screen, timeout, stat, err, logs, rtt, freq is mandatory. Dump response times every freq call in the log. # file defined by_trace_rtt. Default value is

Untuk menjalankan skenario pada SIPp client, maka perlu mengetikkan perintah berikut ini pada terminal:
# cd /usr/local/src/sipp.svn # ./sipclient1.sh

Untuk jumlah panggilan selain 1, file konfigurasi (huruf tebal) diubah sesuai dengan jumlah panggilan yang diinginkan.

Konfigurasi SIPp Server SIPp server hanya bertugas untuk menerima Request message yang di generate oleh SIPp client kemudian membalas dengan suatu message tertentu

Universitas Sumatera Utara

89

menuju SIPp client. Pada tugas akhir ini, SIPp server akan menjalankan skenario default (uas.xml) sebagai berikut:
<?xml version=1.0 encoding=ISO-8859-1?> <!DOCTYPE scenario SYSTEM sipp.dtd> <scenario name=Basic UAS responder> <recv request=INVITE crlf=true> </recv> <send> <![CDATA[ SIP/2.0 180 Ringing [last_Via:] [last_from:] [last_Call-ID:] [last_CSeq:] Contact:<sip:[local_ip]:[local_port];transport=[transport]> Content-Length:0 ]]> <send> <send retrans=500> <![CDATA[ SIP/2.0 200 OK [last_Via:] [last_From:] [last_To:];tag=[call_number] [last_Call-ID:] [last_CSeq:] Contact: <sip:

10.4.12.251 :[local_port];transport=[transport]>

Content-Length:[len] v=0 o=user1 53655765 2353687637 IN IP[local_ip_type] 10.4.12.251 s=c=IN IP[media_ip_type] 10.4.12.251

Universitas Sumatera Utara

90
t=0 0 m=audio [media_port] RTP/AVP 18 a=rtpmap:18 G729/8000 ]]> </send> <recv request=ACK optional=true rtd=true crlf=true> </recv> <recv request=BYE> </recv> <send> <![DATA[ SIP/2.0 200 Ringing [last_Via:] [last_from:] [last_To:] [last_Call-ID:] [last_CSeq:] Contact:<sip: 10.4.12.251[local_port];transport=[transport]> Content-Length:0 ]]> <send> <pause millisecond=400/> <ResponseTimeRepartition value=10, 20, 30, 40, 50, 100, 150, 200/> <CallLenghtRepartition value=10, 50, 100, 1000, 5000, 10000/> </scenario>

Skenario tersebut dijalankan dengan cara mengetikkan perintah berikut ini pada terminal:
# cd /usr/local/src/sipp.svn # ./sip sf uas i

Keterangan:

Universitas Sumatera Utara

91

Opsi i yang mendefinisikan interface alamat IP local harus didefenisikan saat menjalankan SIPp. Hal ini dilakukan untuk keperluan media streaming RTP nantinya. . Instalasi Asterisk berikut ini langkah-langkah dalam menginstall asterisk. 1. Instal beberapa paket yang dibutuhkan: a. C compiler pakacge b. Bison c. libncurse5-dev atau ncurse-dev d. libssl-dev e. libnewt-dev f. zlib1g-dev
# apt-get install build-essential bison ncurse-dev libnewt-dev zlib 1 g-dev

2. Download beberapa source installer berikut: a. libpri-1.4.3.tar.gz b. zaptel-1.4.8.tar.gz c. asterisk-1.4.17.tar.gz 3. Install libpri-1.4.3
# tar zxvf libpri-1.4.3.tar.gz # cd libpri-1.4.3 # make clean # make # make install

4. Install zaptel-1.4.8
# tar zxvf zaptel-1.4.8.tar.gz # cd zaptel-1.4.8 # make clean # make # make install

5. Install asterisk-1.4.17
# tar zxvf asterisk-1.4.17.tar.gz # cd asterisk-1.4.17 # ./configure

Universitas Sumatera Utara

92
# make clean # make # make install

6. Jalankan asterisk dengan mengetik:


# asterisk # asterisk r

Konfigurasi Asterisk Setelah proses instalasi berhasil, kemudian dilanjutkan dengan

mengkonfigurasi asterisk tersebut. Hal ini dilakukan agar asterisk dapat bekerja menjadi VoIP server. Konfigurasi yang diperlukan yaitu mengatur data account dan dial plant. Konfigurasi data account dilakukan untuk mendaftarkan extension atau nomor-nomor yang akan digunakan ke server VoIP ini. Sedangkan dial plan merupakan aturan yang digunakan untuk dapat saling menghubungi extension atau nomor tertentu. Semua file konfigurasi asterisk disimpan di direktori /etc/asterisk. a. Konfiguarsi Data Account (sip.conf) Asterisk mendukung beberapa macam protokol signaling seperti H.323, SIP, dan IAX. Karena pada tugas akhir ini protokol signalling yang digunakan adalah SIP, maka konfigurasi dilakukan untuk mendukung signaling SIP saja. Langkahlangkah yang dilakukan untuk konfigurasi SIP adalah sebagai berikut: 1. Edit file sip.conf
# nano /etc/asterisk/sip.conf

2. Tambahkan baris berikut


[rapat1] type=friend username=rapat1 secret=rapat1 callerid="rapat1" <1001> host=dynamic nat=yes insecure=port canreinvite=no allow=all dtmfmode=rfc2833 mailbox=rapat1@default [rapat2]

Universitas Sumatera Utara

93
type=friend username=rapat2 secret=rapat2 callerid="rapat2" <1002> host=dynamic nat=yes insecure=port canreinvite=no allow=all dtmfmode=rfc2833 mailbox=rapat2@default [rapat3] type=friend username=rapat3 secret=rapat3 callerid="rapat3" <1003> host=dynamic nat=yes insecure=port canreinvite=no allow=all dtmfmode=rfc2833 mailbox=rapat3@default [rapat4] type=friend username=rapat4 secret=rapat4 callerid="rapat4" <1004> host=dynamic nat=yes insecure=port canreinvite=no allow=all dtmfmode=rfc2833 mailbox=rapat4@default

Syntac tersebut digunakan untuk mendaftarkan nomor-nomor panggilan pada asterisk sehingga nomor tersebut nantinya dapat digunakan untuk saling melakukan panggilan. Dengan demikian, hanya nomor-nomor yang terdaftar pada konfigurasi inilah yang dapat melakukan panggilan menuju asterisk. b. Konfigurasi Dial Plan (extensions.conf) 1. Edit file extensions.conf
# nano /etc/asterisk/extensions.conf

Universitas Sumatera Utara

94

2. Tambahkan baris berikut:


[test] exten => 1001,1,Dial(SIP/1001) exten => 1002,1,Dial(SIP/1002) exten => 1003,1,Dial(SIP/1003) exten => 1004,1,Dial(SIP/1004) exten => 1005,1,Dial(SIP/1005) exten => 1006,1,Dial(SIP/1006) exten => 1007,1,Dial(SIP/1007) exten => 1008,1,Dial(SIP/1008) exten => 1009,1,Dial(SIP/1009) exten => 1010,1,Dial(SIP/1010)

Syntac tersebut digunakan untuk mengatur panggilan yang datang ke asterisk. Misalnya, jika ada panggilan ke nomor 1001 maka pertama kali asterisk akan men-dial (menghubungi) nomor 1001 tersebut dengan menggunakan protokol SIP. Mengenai letak nomor 1001 terdaftar pada IP berapa sudah di atur sebelumnya pada Data Account (sip.conf). Dengan demikian, panggilan tersebut akan diteruskan ke penerima.

Universitas Sumatera Utara

También podría gustarte