5
BAB II LANDASAN TEORI
2.1
Session Initiation Protocol ( SIP ) Session Initiation Protocol adalah salah satu protokol yang umum digunakan
dalam telekomunikasi Voice over Internet Protocol ( VoIP ). SIP merupakan protokol persinyalan yang dikembangkan oleh Internet Engineering Task Force ( IETF ) dibawah label RFC 3261, yang berfungsi untuk membangun, mengatur, dan memutuskan komikasi real-time dalam jaringan berbasis IP ( Internet Protocol ). Dengan SIP, komunikasi berupa audio, video, dan text bisa terjadi antar sesama perangkat yang memiliki kemampuan SIP, seperti smatrphone,komputer, perangkat video konference, dan IP-Phone. Dalam kemampuannya untuk membangun komunikasi real-time, SIP hanya berfungsi untuk menghubungkan komunikasi antara sebuah user agent ( UA ) ke sebuah atau banyak UA yang lain. Sedangkan untuk data yang ditransmisikan akan diambil alih oleh protokol lainnya setelah komunikasi atar UA terjadi.
2.2
Komponen-Komponen SIP Komponen-komponen utama dalam komunikasi berbasis SIP adalah : a) User Agent ( UA ) User Agent adalah aplikasi yang terinstall di dalam perangkat SIP, seperti IP-Phone, Smartphone, maupun komputer. Masing-masing UA memiliki identitas yang berbeda antara satu sama lain. Hal ini mirip dengan IP
6
address pada jaringan komputer yang membedakan satu perangkat dengan perangkat lainnya. Dalam kasus SIP, pengalamatan ini dikenal dengan Uniform resource Identification ( URI ) yang dapat berupa alamat email maupun nomor extension. b) SIP Servers Server SIP berfungsi untuk memusatkan semua informasi yang ada di dalam jaringan SIP tersebut. Fungsi utama server SIP antara lain : a) Registrar Server Registrar Server berfungsi sebagai penyimpanan data user yang terhubung ke dalam server SIP. User harus melakukan registrasi ke dalam Registrar Server dan kemudian akan di otetifikasi oleh Registrar Server sebelum bisa menjalin komunikasi berbasis SIP. b) Location Service Location Service berfungsi untuk memonitor pergerakan user. Data yang dimiliki Location Service diperoleh dari Registrar Server, kemudian data-data tersebut akan diterukan kepada Redirect dan Proxy Server yang berfungsi untuk memetakan keberadaan tiap URI sehingga komunikasi yang terjalin dapat selalu terjaga kualitasnya. c) Redirect Server Redirect Server berfungsi untuk memetakan SIP request yang ditujukan pada sebuah URI dari perangkat SIP yang terdekat dengan user. Hal ini memungkian seorang user untuk selalu dapat dihubungi dimanapun dan kapanpun, dengan syarat ada sebuah perangkat SIP yang terhubung
7
dengan dalam jaringan SIP yang terletak dalam jangkauan user tersebut. d) Proxy Server Proxy Server berfungsi untuk menerima, mengolah, dan meneruskan SIP request dari server atau perangkat SIP lainnya. e) Presence Server Presence Server berfungsi untuk menerima, menyimpan, dan mendistribusikan keberadaan user yang memungkinkan user lain untuk mengetahui keberadaan tiap user yang ingin dihubungi.
2.3
Cara Kerja SIP Untuk membangun komunikasi, SIP UA akan mengirimkan SIP request yang
ditransmisikan ke Proxy Server yang terdapat pada jaringan SIP untuk kemudian diolah dan diteruskan hingga mencapai URI yang dituju. Setiap SIP request yang dikirimkan akan mendapatkan SIP response yang mendefinisikan apakah permintaan yang dikirim dapat diteruskan hingga URI yang dituju. Sebagai contoh, sebut saja Bunga ingin menghubungi Mawar mengunakan komunikasi berbasis SIP. Bunga adalah karyawan perusahaan A di kantor cabang Jakarta, sedangkan Mawar adalah karyawan perusahaan yang sama namun berada di kantor cabang Surabaya. SIP session yang terjadi antara Bunga dan Mawar adalah seperti pada gambar di bawah ini
8
Proxy Server Proxy Server Cabang Jakarta Cabang Surabaya UA Bunga | | UA Mawar Smartphone | | IP-Phone | | | | | INVITE F1 | | | | | INVITE F2 | | | 100 Triying F3 | | INVITE F4 | | | 100 Triying F5 | | | | | 180 Ringing F6 | | | 180 Ringing F7 | | | 180 Ringing F8 | | 200 OK F9 | | | 200 OK F10 | | | 200 OK F11 | | | | | | | ACK F12 | | | | Media Session | | | | Bye F13 | | | | 200 OK F14 | | | Gambar 2.1 Contoh SIP session antara Bunga dan Mawar Pada gambar diatas, terlihat bahwa yang melakukan panggilan adalah Bunga dan yang dipanggil adalah Mawar. Pada UA miliknya, Bunga memanggil URI milik Mawar, misalnya
[email protected], kemudian UA milik Bunga mengirimkan SIP request “INVITE” kepada Proxy Server yang terletak di kantor cabang Jakarta kemudian sebagai tanggapan, Bunga memperoleh SIP reponse “100 Triying”. SIP response “100 Triying” dikirimkan kepada Bunga dengan maksud, SIP request “INVITE” yang dikirimkan Bunga kepada server sudah diterima dan diolah oleh proxy server namun hasil yang didapatkan masih belum diketahui. Setelah SIP request “INVITE” yang dikirim sampai ke UA Mawar, maka UA milik mawar akan berdering yang bermaksud memberitahu Mawar bahwa ada panggilan masuk. Bersamaan dengan dering yang didengar dari UA milik Mawar, UA tersebut
9
juga mengirimkan SIP response “180 Ringing” yang ditujukan kepada Bunga. Pada saat SIP response “180 Ringing” sampai pada UA milik Bunga, maka Bunga akan mendengar nada sambung dari UA miliknya. SIP response “200 OK” kemudian dikirim oleh UA milik Mawar setelah hook IP-Phone diangkat. Setelah Bunga menyadari bahwa Mawar sudah menjawab panggilannya, dengan segera UA milik Bunga mengirimkan SIP requset “ACK” yang diikuti dengan berlangsungnya transmisi data. Seperti telah disebutkan sebelumnya, data yang ditransmisikan akan diambil alih oleh protokol-protokol yang lain karena SIP hanya berfungsi untuk membangun, memanage, dan memutuskan komunikasi. Setelah komunikasi yang ditransmisikan antara Bunga dan Mawar berakhir, maka UA milik Mawar akan mngirimkan SIP request “BYE” kepada Bunga. Sebagai balasan, UA milik Bunga akan mengirimkan SIP response “200 OK” yang menandai berakhirnya SIP session antara Bunga dan Mawar.
2.4
SIP Trunk SIP Trunk adalah sebuah metode untuk menghubungkan ITSP ( Internet
Telephony Service Provider ) kepada pelanggan-pelanggannya. SIP Trunk juga bisa digunakan untuk menghubungkan antar IP-PBx yang dimiliki sebuah perusahaan di masing-masing kantor cabangnya. Topologi dasar untuk menggambarkan SIP Trunk seperti pada gambar di bawah ini
10 ITSP / SIP Provider
Perusahaan A
Perusahaan B
SIP Trunk Internet
Gambar 2.1 Topologi dasar SIP Trunk Pada gambar diatas digambarkan bahwa hubungan antara ITSP atau SIP Provider ke Perushaan A dan Perusahaan B menggunakan teknologi SIP Trunk. Pada bagian bawah, terlihat juga bahwa Perusahaan A dan Perusahaan B bisa berhubungan langsung menggunkan SIP Trunk melalui internet ataupun VPN ( Virtual Private Network ). Topologi pada bagian bawah ini sering digunakan untuk menghubungkan sebuah perusahaan yang memiliki kantor cabang di beberapa wilayah yang berbeda.
2.5
IP-PBx Asterisk Asterisk adalah sebuah aplikasi open source yang berfungsi untuk
membangun infrastuktur telekomunikasi. Asterisk bisa berfungsi sebagai IP-PBx ( Internet Protocol- Private Branch Excange ), VoIP Gateways, dan juga Conference Server. Saat ini, Asterisk telah digunakan oleh berbagai macam instansi di berbagai belahan dunia untuk membangun infrastruktur telekomunikasi mereka.
Gambar 2.2 Logo aplikasi Asterisk
11
Asterisk mampu mensupport banyak protokol komunikasi, dan khusus pada penelitian ini, Asterisk akan dibangun menggukan protokol SIP. Selain itu Asterisk juga bisa diintegrasikan dengan berbagai macam telephony hardware. Keunggulan Asterisk lainnya adalah kemudahannya untuk diinstall pada komputer baik yang memiliki 32-bit processor maupun 64-bit processor. Pada pengetesan yang telah dilakukan oleh tim penulis Asterisk: The Future Of Telephony [1], disimpulkan bahwa spesifikasi komputer yang dibutuhkan untuk instalasi Asterisk berbanding lurus dengan tujuan implementasi dan banyaknya kanal bicara yang akan digunakan. Dibawah ini adalah tabel dari pengetesan yang telah dilakukan dan bisa dijadikan rujukan awal untuk mendesain IP-PBx menggunakan Asterisk. Tabel 2.1 Spesifikasi hardware untuk instalasi Asterisk [1] Tujuan Penggunaan
Banyak kanal bicara
Eksperimen atau hobby
Tidak lebih dari 5
SOHO UKM
5 hingga 10 hingga 25
Usaha skala menengah hingga besar
Lebih dari 25
Rekomendasi Minimum 400 MHz x86, RAM 256 MB 1 GHz x86, RAM 512 MB 3 GHz x86, 1 GB RAM Dual core CPU, atau bahkan beberapa server yang ditempatkan pada cabang-cabang yang berbeda.
Dengan tabel diatas, kita bisa mendapatkan gambaran umum mengenai hardware yang kita butuhkan untuk installasi Asterisk. Namun pengukuran untuk mendesain sebuah IP-PBx Asterisk tidak hanya bergantung pada komponen diatas melainkan juga bergantung dengan jumlah panggilan yang terjadi dalam waktu yang sama (concurrent calls). Joshua Colp telah melakukan tes menggunakan AMD Athlon64 X2 4200 dengan RAM (Random Access Memory) sebesar 1 GB dan harddisk sebesar 80GB. Pengetesan yang dilakukan menggunakan konfigurasi
12
dasar seperti call setup, Playback() file audio, dan Wait (). Dari tabel dibawah, terlihat bahwa penggunaan CPU (Central Processing Unit) lebih sedikit ketika Asterisk membaca data dari RAM dibandingkan harddisk. Tabel 2.2 Pengetesan Asterisk [1] Banyaknya Concurrent Calls Beban CPU Beban rata-rata Sumber pembacaan data
330 149% 49 CPU
330 14.80% 25 RAM
550 57.60% 60 RAM
Namun pada penelitian ini, hasil-hasil pengujian diatas tidak akan dibuktikan lagi. Pengujian yang akan dilakukan pada penelitian ini lebih mengarah kepada elemen – elemen komunikasi yang umum seperti jitter, delay, dan bandwidth dan hubunganya dengan penggunaan audio codec yang berbeda.
2.6
Jitter, Delay, dan Bandwidth Pada dunia telekomunikasi, jitter, delay, dan bandwidth merupakan
komponen-komponen umum yang selalu dijadikan acuan pengukuran. Jitter dan delay seringkali dijadikan acuan utama untuk menentukan kualitas jaringan. Jitter adalah rugi-rugi telekomunikasi yang umumnya disebabkan oleh saluran transmisi dan perangkat telekomunikasi yang digunakan. Pada dunia telekomunikasi,
informasi
dikirimkan
dalam
bentuk
paket-paket
yang
ditransmisikan melalui media transmisi dari sisi pengirim ke penerima. Secara teori, informasi yang dipecah dalam bentuk paket-paket memiliki ukuran yang sama besar dan sudah diberi header yang salah satu funginya adalah untuk mengurutkan paket satu dan lainnya agar informasi yang diterima di sisi penerima sesuai dengan
13
informasi yang dikirim. Namun dalam kenyataannya, informasi yang diterima tidak selalu dalam kondisi yang memungkinkan si penerima untuk mencerna informasi tersebut. Hal ini bisa diakibatkan oleh kualitas saluran transmisi yang tidak baik, perbedaan waktu yang dibutuhkan oleh satu paket dan berikutnya untuk ditransmisikan, ataupun konfigurasi perangkat yang tidak sesuai. Hal-hal tadi adalah penyebab terjadinya fenomena jitter. Jitter bisa diminimalisir apabila terdapat perangkat yang berfungsi sebagai jitter buffer dalam saluran transmisi. Prinsip kerja jitter buffer adalah dengan menahan paket – paket data yang diterima sebelum ditransmisikan kembali secara teratur kedalam digital signal processor yang bertugas mengkonversi paket-paket data tersebut menjadi informasi yang utuh [2]. Sedangkan delay secara bahasa berarti keterlambatan. Keterlambatan disini dimaksudkan waktu yang dibutuhkan oleh informasi untuk dikirimkan melalui media transmisi yang digunakan. The International Telecommunication Union (ITU) telah memberikan acuan delay untuk digunakan dalam komunikasi Voice over Internet Protocol (VoIP) yang dituliskan dalam Recommendation G.114 [3] seperti yang dituliskan pada tabel di bawah. Acuan ini juga digunakan dalam penelitian ini sebagai indikasi layak atau tidaknya delay yang terjadi dalam pengujian. Tabel 2.3 Standarisasi delay oleh ITU [3] Rentang delay (ms) 0-150 150-400 > 400
Keterangan Layak untuk sebagian besar pengguna aplikasi VoIP Layak apabila pengguna mengetahui kualitas media transmisi dan efeknya pada aplikasi VoIP Tidak layak untuk sebagian besar pengguna aplikasi VoIP. Namun dalam beberapa kasus, delaynya melebihi angka ini
14
Bandwidth adalah jalan yang dibentuk oleh media transmisi untuk melewatkan data dari sisi pengirim ke penerima dalam satuan Hertz (Hz). Dalam jaringan terlekomunikasi, data yang ditransmisikan dalam media transmisi dikenal dengan nama bit rate dengan satuan bps (bit per second). Menurut hukum Hartley [4], “ the total amount of information which may be transmitted over such a system is proportional to the product of the frequncy range which its transmits by the time during which it is available for the transmission”, yang dapat disimpulkan bahwa besarnya data yang ditransmisikan dalam sebuah sistem (bps) sama dengan besarnya lebar frekuensi yang tersedia pada saat data ditransmisikan (Hz). Sehingga, bandwidth bisa diungkapkan dalam besaran Hertz (Hz) maupun bit per second (bps). Dalam komunikasi VoIP, besarnya bandwidth (bps) yang ditransmisikan bergantung pada audio codec yang digunakan, besarnya header interface yang digunakan, dan besarnya header IP/TCP/UDP. Sebagai contoh perhitungan, audio codec yang digunakan adalah G.711 dengan payload sebesar 64 Kbps dan periode sample 20 ms, interface yang digunakan adalah Ethernet dengan konstanta header sebesar 18 oktet, dan besarnya konstanta header IP adalah 40 oktet. Maka besarnya konsumsi bandwidth dalam satu panggilan [5] adalah : Packets Per Second =
=
= 50
Payload dalam satuan oktet =
=
1 oktet = 8 bits, jadi 1280 bits =
= 160
Besarnya bandwidth dalam satuan oktet
= 1280
15
18 + 40 + 160
50
= 10.900
Jadi, besarnya bandwidth dalam satuan bps adalah 10.900
8 = 87.200
= 87,2
Sedangkan besarnya bandwidth per panggilan menggunakan audio codec yang berbeda dengan menggunakan ethernet sebagai interface ditampilkan pada tabel dibawah. Tabel 2.4 Besar bit rate per panggilan [5] Codec G.711 G.729 G.723.1 G.723.2 G.726 G.728 G.722_64k iLBC20 iLBC30
Payload (Kbps)
Periode Sample (ms)
PPS
Payload (oktet)
Bit Rate (Kbps)
64 8 6.3 5.3 32 16 64 15.2 13.33
20 20 30 30 20 30 20 20 30
50.00 50.00 33.33 33.33 50.00 33.33 50.00 50.00 33.33
160.00 20.00 23.63 19.88 80.00 60.00 160.00 38.00 49.99
87.20 31.20 21.77 20.77 55.20 31.47 87.20 38.40 28.80
Dengan menggunakan tabel acuan diatas, perancangan sistem Asterisk akan menjadi lebih mudah dan bit rate untuk concurrent calls yang diharapkan bisa diketahui dengan mengkalikan dengan besar bit rate per panggilan.
2.7
Penelitian Sejenis Sebagai acuan dalam penelitian ini, penulis merujuk pada penelitian berjudul
“Membangun IP PABX Berbasis SIP Opensource Di Lingkungan Kampus Menggunakan Wireless, Voice Gateway, dan Mobile Aplikasi.” [6], yang disusun
16
oleh Stepanus Eko Purwanto pada tahun 2012. Dalam penelitiannya, Stepanus Eko Purwanto telah merancang dan membangun IP PBx Asterisk untuk digunakan di dalam Universitas Mercu Buana kampus Meruya. Hal ini memungkinkan setiap user yang berada dalam lingkungan kampus Meruya dan terdaftar di dalam Asterisk untuk berkomunikasi menggunakan VoIP. Sedangkan pada penelitian ini, penulis akan merancang dan mesimulasikan jaringan telepon antar kantor berbasis SIP menggunakan Asterisk. Nantinya, hal ini dapat diterapkan untuk menghubungkan kampus-kampus Mercu Buana yang berada di Meruya, Menteng, Depok, Bekasi, dan Yogyakarta dengan membangun server IP-PBx Asterisk pada setiap kampus dan menghubungkannya menggunakan teknologi SIP Trunk sehingga user yang berada pada kampus-kampus tersebut bisa berkomunikasi menggunakan VoIP. Pada akhirnya, kebutuhan akan jaringan telepon untuk berkomunikasi antar kampus akan berkurang karena komunikasi suara (telepon) sudah ditumpangkan ke dalam jaringan internet (VoIP).