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
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
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
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 mawar@companyASurabaya.com, 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
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
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 ITSP / SIP Provider Perusahaan A Perusahaan B Internet SIP Trunk
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 Rekomendasi Minimum Eksperimen atau hobby Tidak lebih dari 5 400 MHz x86, RAM 256MB
SOHO 5 hingga 10 1 GHz x86, RAM 512 MB
UKM hingga 25 3 GHz x86, 1 GB RAM
Usaha skala menengah hingga
besar Lebih dari 25
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
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 330 330 550
Beban CPU 149% 14.80% 57.60%
Beban rata-rata 49 25 60
Sumber pembacaan data CPU RAM 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
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) Keterangan
0-150 Layak untuk sebagian besar pengguna aplikasi VoIP
150-400 Layak apabila pengguna mengetahui kualitas media transmisidan efeknya pada aplikasi VoIP
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 = = = 1280
1 oktet = 8 bits, jadi 1280 bits = = 160
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 Payload(Kbps) Periode Sample(ms) PPS Payload(oktet) Bit Rate(Kbps)
G.711 64 20 50.00 160.00 87.20 G.729 8 20 50.00 20.00 31.20 G.723.1 6.3 30 33.33 23.63 21.77 G.723.2 5.3 30 33.33 19.88 20.77 G.726 32 20 50.00 80.00 55.20 G.728 16 30 33.33 60.00 31.47 G.722_64k 64 20 50.00 160.00 87.20 iLBC20 15.2 20 50.00 38.00 38.40 iLBC30 13.33 30 33.33 49.99 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
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).