APLIKASI MANAJEMEN ASTERISK VoIP SERVER BERBASIS WEB PADA SISTEM OPERASI LINUX
APLIKASI MANAJEMEN ASTERISK VoIP SERVER
BERBASIS WEB PADA SISTEM OPERASI LINUX
SKRIPSI
Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Oleh :
Albert Kurnia
03 5314 043
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
i
WEB BASED MANAGEMENT APPLICATION OF ASTERISK
VoIP SERVER IN LINUX OPERATING SYSTEM
A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Informatics Engineering
By :
Albert Kurnia
03 5314 043
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2008
ii
SKRIPSI
APLIKASI MAITAJEMEN ASTERISK VOIP SERYER
BERBASIS WEB PADA SISTEM OPERASI LINUX
Oleh:
Albert Kurnia
Tanggal
lll
SKRIPSI
APLIKASI MANAJEMEN,4 STERISK VOIPSERVER
BERBASTSWEB PADA SISTEM OPERASI LINUX
Dipersiapkandan ditulis oleh :
Albert Kurnia
NIM : 03 5314043
Telah dipertahankandi depanPanitia Penguji
Pada Tanggnl2l Mei 2008
Dan dinyatakanmemenuhisyarat
SusunanPanitia Penguji
Tanda Tangan
Tand:
Nama Lengkap
Ketua
Alb. Agung Hadhiatma,S.T.oM.T.
Sekretaris
St. Wi'snu\Mijaya, S.T.,M.T.
Anggota
H. Agung Hennawan,S.T.
Anggota
PuspaningtyasSanjoyoAdi, S.T.,M.T.
Yogyakarta, Mei 2008
Itas Sainsdan Teknologi
s Sanata Dharma
s.J.,s.s.,B.s.T.,M.A.,M.Sc.
lv
PER}IYATAA}I KEASLIAN KARYA
Saya menyatakanbahwa skripsi yang saya tulis ini tidak memuat karya
atau bagian karya orang lain, kecuali yang telah disebutkandalam kutipan dan
daftar pustaka"sebagaimanalayalcryakarya ilmiah.
Yogyakart4 Mei 2008
Albert Kurnia
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas SanataDharma :
Nama : Albert Kurnia
NIM
:03 5314043
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas SanataDharma karya ilmiah saya yang berjudul :
APLIKASI MANAJEMEN ASTERISK VOIP SERVER
BERBASIS WEB PADA SISTEM OPERASI LINAX
Beserta perangkat yang diperlukan ( bila ada ). Dengan demikian saya
memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk
menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk
pangkalan dat4 mendistribusikan secara terbatas, dan mempublikasikannya di
Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari
saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama
saya sebagaipenulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Padatanggal: 12 Juni 2008
Yang menyatakan
( Albert Kurnia )
vi
HALAMAN PERSEMBAHAN
Karya ini ku persembahkan untuk :
....
Tuhan Yesus-ku, panutan sekaligus sumber kekuatan-ku
….
Kedua orang tua-ku yang telah membesarkan aku dengan penuh perhatian
dan kasih sayang
….
Keluarga besarku yang selalu senantiasa memberikan support dan bantuan
selama aku kuliah
….
Kakak dan Adik-ku, partner sejati dalam hidup-ku
....
Marsinah ( Mbak Sinah ), yang telah ikut membesarkan dan merawat aku
dengan penuh perhatian
....
Teman – teman Up 2 U, Sahabat sejati dalam hidupku
....
vii
HALAMAN MOTTO
.....
Practice Makes Perfect
.....
Selalu ada jalan bagi orang yang mau berusaha dan
belajar dengan keras
.....
Lakukan yang terbaik dan berdoalah, maka tidak ada
sesuatu yang mustahil untuk dilakukan
.....
Setiap masalah yang datang pasti akan membawa serta
solusi untuk menyelesaikannya
.....
viii
ABSTRAKSI
Proses konfigurasi Asterisk sebagai VoIP server pada sistem operasi Linux
dapat dilakukan melalui dua cara yaitu berbasis text ( text based ) dan berbasis
teknik Asterisk Realtime. Apabila berbasis text konfigurasi dilakukan dengan cara
mengetikkan serangkaian parameter pada file tertentu. Sedangkan jika dilakukan
dengan menggunakan teknik Asterisk Realtime konfigurasi dilakukan dengan cara
menginsertkan data konfigurasi pada tabel yang ada pada database, dimana
struktur tabel yang digunakan merupakan struktur tabel standard yang dapat
dikenali oleh sistem Asterisk. File atau tabel yang dibutuhkan untuk konfigurasi
bergantung dari jenis protokol VoIP yang akan digunakan. Selain itu juga seorang
administrator harus melakukan proses konfigurasi Asterisk pada komputer yang
dijadikan VoIP Server secara langsung.
Pada penelitian ini akan dibuat sebuah aplikasi konfigurasi Asterisk VoIP
server berbasis web yang dapat digunakan untuk konfigurasi Asterisk dengan
menggunakan teknik Asterisk Realtime serta berbasis protokol SIP.Dengan
menggunakan aplikasi ini seorang Administrator dapat melakukan konfigurasi
Asterisk dengan berbasis grafis ( GUI ) dan juga Administrator tidak perlu lagi
mendatangi komputer yang dijadikan VoIP server lagi karena aplikasi ini dapat
diakses melalui web browser. Dalam pembuatan aplikasi ini digunakan PHP
sebagai bahasa pemrograman dan database MySQL.sebagai database aplikasi ini.
ix
ABSTRACT
Asterisk configuration process as VoIP server in Linux operation system
could be done in two ways, they are text-based and Asterisk Realtime techniquebased. Text-based configuration could be done by typing a set of parameter in a
certain file. While, in Asterisk Realtime technique, configuration could be done
by inserting configuration data in the table that is available in database, in which
table structure used was the standard table structure that could be recognized by
Asterisk system. File or table needed for configuration depended on the type of
VoIP protocol that would be used. Besides, an administrator has to conduct
Asterisk configuration process in the computer that was used as VoIP Server
directly.
This study developed a web-based application which could be used in
Asterisk configuration using Asterisk realtime technique and protocol-based SIP.
By using this application, an administrator could conduct graphic-based Asterisk
configuration. Beside that, an administrator did not need to face the computer that
was used as VoIP anymore because this application could be accessed through
web browser. In making this application, PHP was used as programming language
and database MySQL as the database of this application.
x
KATA PENGANTAR
Puji syukur saya haturkan kepada Tuhan Yesus Kristus yang telah
melimpahkan berkat-Nya. Sehingga saya dapat menyelesaikan Laporan Tugas
Akhir ini.
Pada kesempatan ini saya ingin mengucapkan terima kasih kepada pihak –
pihak yang telah membantu saya dalam menyelesaikan skripsi ini, baik dalam hal
bimbingan, perhatian, kasih sayang, semangat, kritik, dan saran yang telah
diberikan. Ucapan terima kasih ini saya sampaikan antara lain kepada :
1. Bapak Ir. Gregorius Heliarko, S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan
Fakultas Saint dan Teknologi Universitas Sanata Dharma Yogyakarta.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik
Informatika Universitas Sanata Dharma.
3. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing Akademik
Teknik Informatika angkatan 2003.
4. Bapak Alb. Agung Hadhiatma, S.T, M.T, selaku Dosen Pembimbing I.
Terima kasih atas bimbingan selama saya mengerjakan Laporan Skripsi ini.
5. Bapak H. Agung Hernawan, S.T, selaku Dosen Pembimbing II. Terima kasih
atas bimbingan dan juga atas ide yang bapak berikan kepada saya untuk
mengerjakan Tugas Akhir dengan topik ini. Dan terima kasih juga atas
kesempatan yang diberikan kepada saya
Bapak.
xi
untuk kerja part time diwarnet
6. Seluruh staf dan dosen di Universitas Sanata Dharma pada umumnya dan
Jurusan Teknik Informatika pada khususnya.
7. Kedua orangtua dan keluarga tercinta, terima kasih atas dukungan, kasih
sayang dan semangat yang tiada henti sehingga saya dapat menyelesaikan
Tugas Akhir ini.
8. Norbertine Risma Asteria Wardhani, Someone special yang pernah ada
mengisi hari – hariku dengan kebahagiaan dan cinta. Terima kasih atas
semuanya.
9. Staf Laboran Teknik Informatika, Pak Bele terima kasih atas pinjaman kunci
Lab Jarkomnya, Mas Danang dan Pak Dar atas kesabaran dan kesetiannya
selama menemani saya di Lab Jarkom.
10. Teman – teman dari forum voiprakyat : pak Anton Rahardja ( anton_rd ), pak
Onno W.Purbo, Dwidy Putut ( doank_29 ), Salman Kalista, terima kasih atas
bimbingan dan jawaban – jawaban yang diberikan atas pertanyaan yang saya
tulis di forum voiprakyat.
11. Teman – teman Up2U : Ari P.K, Arief ( Surip ), Gunawan ( Bobo ), Grace,
Titiek, Nanick, Dewi, Lolo, Lulu, Risma, Rio ( mbah Dukun ), Wawan
( Liong ), Nunug, Heri ( Boyo ), Galih ( Gaband ), Ibu Khatarina Sri H.D ( bu
Uciek ), Ninin. Yang telah memberikan arti persahabatan bagi hidup saya.
12. Teman – teman Informatika angkatan 2003 yang telah berjuang bersama
dengan saya sewaktu kuliah, special buat Evi ( epot ) dan Ari Tunggul
( Teman dikala susah dan senang ☺ ), Yansen ( yang telah mengenalkan
Linux pada saya ) , Albert C.P ( Sang Kepala Suku ), Si Jun, Bergas, Eko
xii
( Ucup ), Hendrik ( Cilblek ), Ellen, Jeje, Dion, Adwi, Danang, Heni, Angga
( TooCool ), Marcell, Irvan, Hendro, Dian, Isti, Si Nug ( akhirnya selesai juga
yach www.kalithi.com nya ☺ ), Acied, Kristin dan Tika ( Teman seperjuangan
waktu pendadaran ☺ ), Ruth, Onezzt, Sarah, Ina, Ratih, Gina, Dea, Agus
( Gepenk ), Devi, Anis, Dani, Wikan ( Erros ), Linda, Risa, Santhos, Amin,
Winda, Fendy, Seno, Chandra, Hana, David, Merry, Monic, Yeyen, Pamako
Renda ( Anak TI 03 yang pertama kali saya kenal ), Nur, Rubin, Esther, Oscar,
Ria, Rachel, serta teman – teman jurusan Teknik Informatika lainnya.
13. Seluruh pihak yang membantu saya baik secara langsung maupun tidak
langsung, yang tidak dapat saya sebutkan satu persatu.
Saya menyadari masih banyak kekurangan yang terdapat pada laporan ini.
Saran dan kritik selalu saya harapkan dari pembaca untuk perbaikan – perbaikan
di masa yang akan datang.
Akhir kata, saya berharap tulisan ini dapat bermanfaat bagi kemajuan dan
perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada umumnya.
Yogyakarta, Mei 2008
Penulis
xiii
DAFTAR ISI
HALAMAN JUDUL .................................................................................................
i
HALAMAN PERSETUJUAN ..................................................................................
iii
HALAMAN PENGESAHAN ...................................................................................
iv
PERNYATAAN KEASLIAN KARYA ...................................................................
v
PERNYATAAN PUBLIKASI KARYA ..................................................................
vi
HALAMAN PERSEMBAHAN ...............................................................................
vii
HALAMAN MOTTO ...............................................................................................
viii
ABSTRAK ................................................................................................................
ix
ABSTRACT ..............................................................................................................
x
KATA PENGANTAR ..............................................................................................
xi
DAFTAR ISI .............................................................................................................
xiv
DAFTAR GAMBAR ................................................................................................
xviii
DAFTAR TABEL .....................................................................................................
xxv
BAB I. PENDAHULUAN
1.1 Latar Belakang Masalah ................................................................................
1
1.2 Rumusan Masalah .........................................................................................
3
1.3 Batasan Masalah ............................................................................................
4
1.4 Tujuan Penelitian ...........................................................................................
5
1.5 Manfaat Penelitian .........................................................................................
5
1.6 Metodologi Penelitian ...................................................................................
6
xiv
1.7 Sistematika Penulisan ....................................................................................
7
BAB II. LANDASAN TEORI
2.1 Transmission Control Protocol / Internet Protocol (TCP/IP) .......................
9
2.1.1 Transmission Control Protocol ( TCP ) ...................................................
9
2.1.2 Internet Protocol ( IP ) .............................................................................
12
2.2 Voice over Internet Protocol ( VoIP ) ..........................................................
13
2.2.1 Format Paket VoIP ....................................................................................
14
2.2.2 Protokol Standard dalam sistem VoIP ......................................................
15
2.2.3 Kebutuhan Bandwith untuk VoIP .............................................................
15
2.2.4 Jenis Konfigurasi Jaringan VoIP ..............................................................
16
2.3 Session Initiation Protocol ( SIP ) ................................................................
19
2.3.1 Susunan Protokol SIP ...............................................................................
20
2.3.2 Komponen Protokol SIP ...........................................................................
22
2.3.3 Pengalamatan Protokol SIP ......................................................................
23
2.3.4 Format Pesan Protokol SIP .......................................................................
24
2.3.5 Header Field pada Protokol SIP ...............................................................
25
2.3.6 SIP Request dan SIP Response .................................................................
26
2.3.6.1 SIP Request ...........................................................................................
26
2.3.6.2 SIP Response ........................................................................................
27
2.3.7 Prosedur Persinyalan pada Protokol SIP ...................................................
28
2.3.7.1 Prosedur Persinyalan menggunakan Proxy Server ...............................
28
2.3.7.2 Prosedur Persinyalan menggunakan Redirect Server ...........................
29
2.3.8 Fungsi dari Protokol SIP ..........................................................................
31
xv
2.4 Internet Protocol Private Branch Exchange ( IP PBX ) ...............................
31
2.4.1 Komponen Dasar IP PBX .........................................................................
33
2.5 Asterisk ..........................................................................................................
34
2.5.1 Features Asterisk ......................................................................................
35
2.5.2 File Konfigurasi Asterisk ..........................................................................
36
2.5.3 Konfigurasi Asterisk .................................................................................
36
2.6 Asterisk Realtime Architecture ( ARA ) ........................................................
39
2.6.1 Langkah – Langkah Konfigurasi ARA pada Asterisk ..............................
40
2.7 Web Browser .................................................................................................
45
2.8 Web Server ....................................................................................................
46
2.9 PHP ...............................................................................................................
46
BAB III. ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM
3.1 Analisis Kebutuhan Sistem ...........................................................................
47
3.2 Gambaran Umum Sistem Komunikasi VoIP menggunakan Asterisk ...........
50
3.3 Penggunaan Teknik Asterisk Realtime Dalam Konfigurasi Asterisk
Berbasis Protokol SIP ..................................................................................
51
3.4 Perancangan Sistem ......................................................................................
56
3.4.1 Flowchart Komunikasi VoIP ....................................................................
56
3.4.2 Use Case Diagram Aplikasi .....................................................................
57
3.4.3 Sequence Diagram Aplikasi ......................................................................
60
3.4.4 Konfigurasi Hardware dan Software ........................................................
68
3.4.5 Skenario Pengujian Sistem .......................................................................
71
3.4.6 Struktur Tabel Database ...........................................................................
73
xvi
3.4.7 Perancangan Antarmuka ( User Interface ) ..............................................
78
BAB IV. IMPLEMENTASI SISTEM
4.1 Spesifikasi Hardware dan Software yang digunakan ...................................
95
4.2 Setting Koneksi Asterisk dengan database MySQL .....................................
97
4.3 Implementasi Antarmuka ( User Interface ) .................................................
101
4.4 Implementasi File Antarmuka dan File Action .............................................
141
4.5 Implementasi Skenario Pengujian Sistem .....................................................
141
4.6 Implementasi IP Phone sebagai client Asterisk VoIP Server ........................
153
4.7 Implementasi X-Lite sebagai client Asterisk VoIP Server ............................
157
4.8 Implementasi VoIP Gateway ( ITG ) sebagai media penghubung antara
161
jaringan VoIP dengan jaringan PABX ..........................................................
BAB V. ANALISIS HASIL IMPLEMENTASI
5.1 .Hasil Uji Coba Program ................................................................................
167
5.2 .Analisis Konfigurasi Asterisk sebagai VoIP Server Berbasis Protokol SIP ..
167
5.3 .Kelebihan dan Kekurangan Program ............................................................
172
5.3.1 Kelebihan Program ...................................................................................
172
5.3.2 Kekurangan Program ................................................................................
173
BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan ....................................................................................................
174
6.2 Saran ..............................................................................................................
175
DAFTAR PUSTAKA
LAMPIRAN
xvii
DAFTAR GAMBAR
Gambar
Keterangan
Halaman
2.1
Format Paket Voice over Internet Protocol ( VoIP )
14
2.2
Hubungan Telepon menggunakan N:1 Gateway
17
2.3
Hubungan PC menggunakan Router
17
2.4
Hubungan Telepon ke PC
18
2.5
Hubungan dengan Gateway 1:1
18
2.6
Hubungan menggunakan LAN ( Local Area Network )
19
2.7
Susunan Protokol SIP
20
2.8
Format Pengalamatan pada Protokol SIP
24
2.9
Format Pesan SIP
24
2.10
Prosedur Persinyalan SIP menggunakan Proxy Server
28
2.11
Prosedur Persinyalan SIP menggunakan Redirect Server
29
2.12
Komponen Dasar IP PBX
33
2.13
Format Blok text Data Account
37
2.14
Contoh Konfigurasi Data Account ( menggunakan SIP )
37
2.15
Format Penulisan DialPlan
37
2.16
Contoh Konfigurasi DialPlan
39
2.17
Contoh Konfigurasi file res_mysql.conf
41
2.18
Contoh Konfigurasi file cdr_mysql.conf
41
2.19
Contoh Konfigurasi file extconfig.conf
42
xviii
2.20
Contoh Konfigurasi file extensions.conf
42
2.21
Perintah SQL untuk membuat tabel sip_buddies
43
2.22
Perintah SQL untuk membuat tabel extensions_table
44
2.23
Perintah SQL untuk membuat tabel voicemail_users
44
2.24
Perintah SQL untuk membuat tabel cdr
45
3.1
Perangkat Telepon VoIP Hardware ( IP Phone )
48
3.2
Perangkat Telepon VoIP Software ( X-Lite )
48
3.3
Perangkat VoIP Gateway
49
3.4
Sistem Komunikasi VoIP Menggunakan Asterisk
51
3.5
Contoh Konfigurasi Otentikasi User Pada File sip.conf
53
3.6
Contoh Konfigurasi DialPlan Pada File extensions.conf
54
3.7
Contoh Konfigurasi Voicemail Pada File voicemail.conf
55
3.8
Flowchart Proses Komunikasi VoIP
56
3.9
Use Case Diagram Aplikasi
57
3.10
Sequence Diagram Login
60
3.11
Sequence Diagram Asterisk File
61
3.12
Sequence Diagram Service Asterisk
61
3.13
Sequence Diagram Menambah Extensions Line
62
3.14
Sequence Diagram Mengedit Extensions Line
62
3.15
Sequence Diagram Menghapus Extensions Line
63
3.16
Sequence Diagram Menambah PABX Line
63
3.17
Sequence Diagram Mengedit PABX Line
64
xix
3.18
Sequence Diagram Menghapus PABX Line
64
3.19
Sequence Diagram Menambah Trunking Server Line
65
3.20
Sequence Diagram Mengedit Trunking Server Line
65
3.21
Sequence Diagram Menghapus Trunking Server Line
66
3.22
Sequence Diagram Change Password Administrator
66
3.23
Sequence Diagram Cari Data Call Detail Record
67
3.24
Sequence Diagram Menghapus Data Call Detail Record
67
3.25
Sequence Diagram Phonebook
68
3.26
Skenario Komunikasi VoIP menggunakan
71
Sebuah VoIP Server
3.27
3.28
Skenario Komunikasi VoIP PC to Phone dan Phone to PC
72
Skenario Komunikasi VoIP menggunakan dua buah
73
VoIP Server ( Trunking Server )
3.29
Perancangan Antarmuka Login Administrator
78
3.30
Perancangan Antarmuka Phonebook
79
3.31
Perancangan Antarmuka Index Configuration
80
3.32
Perancangan Antarmuka Asterisk File
81
3.33
Perancangan Antarmuka Edit Asterisk File
82
3.34
Perancangan Antarmuka Service Asterisk
83
3.35
Perancangan Antarmuka Extensions Line Type Local
84
3.36
Perancangan Antarmuka Extensions Line Type Trunk
85
3.37
Perancangan Antarmuka Edit Extensions Line Type Trunk
86
xx
3.38
Perancangan Antarmuka Edit Extensions Line Type Local
87
3.39
Perancangan Antarmuka PABX Line
88
3.40
Perancangan Antarmuka Edit PABX Line
89
3.41
Perancangan Antarmuka Trunking Server Line
90
3.42
Perancangan Antarmuka Trunking Registration Status
91
3.43
Perancangan Antarmuka Edit Trunking Server Line
92
3.44
Perancangan Antarmuka Call Detail Record
93
3.45
Perancangan Antarmuka Change Password Administrator
94
4.1
Hasil Load Module Koneksi Asterisk Ke database MySQL
98
4.2
Implementasi Antarmuka Login Administrator
101
4.3
Implementasi Antarmuka Phonebook
102
4.4
Antarmuka Hasil Data Phonebook ditemukan
103
4.5
Implementasi Antarmuka Index Configuration
104
4.6
Implementasi Antarmuka Asterisk File
106
4.7
Implementasi Antarmuka Edit Asterisk File
108
4.8
Implementasi Antarmuka Asterisk File
109
4.9
Implementasi Antarmuka Extensions Line Type Local
110
4.10
Antarmuka Hasil Penambahan Extensions Line
113
Type Local
4.11
Antarmuka Konfirmasi Delete Extensions Line Type Local
114
4.12
Implementasi Antarmuka Edit Extensions Type Local
116
4.13
Antarmuka Informasi Proses Edit Extensions Type Local
118
xxi
4.14
Implementasi Antarmuka Extensions Line type Trunk
4.15
Antarmuka Hasil Penambahan Extensions Line
118
120
Type Trunk
4.16
Antarmuka Konfirmasi Hapus Extensions Line
121
Type Trunk
4.17
Implementasi Antarmuka Edit Extensions Type Trunk
122
4.18
Implementasi Antarmuka PABX Line
123
4.19
Antarmuka Hasil Penambahan Account PABX Line
126
4.20
Antarmuka Konfirmasi Hapus Data PABX Line
127
4.21
Implementasi Antarmuka Edit PABX Line
128
4.22
Antarmuka Informasi Proses Edit PABX Line
129
4.23
Implementasi Antarmuka Trunking Server Line
130
4.24
Antarmuka Informasi Hasil Penambahan
133
Trunking Server Line
4.25
Antarmuka Hasil Penambahan Trunking Server Line
133
4.26
Antarmuka Konfirmasi Hapus data Trunking Server Line
134
4.27
Implementasi Antarmuka Edit Trunking Server Line
136
4.28
Implementasi Antarmuka Trunking Registration Status
137
4.29
Implementasi Antarmuka Call Detail Record
139
4.30
Implementasi Antarmuka Change Password Administrator
140
4.31
Skenario Jaringan VoIP Menggunakan Sebuah
141
VoIP Server
xxii
4.32
Tabel Data Account Extensions Local Skenario Jaringan I
142
4.33
Skenario Komunikasi VoIP PC to Phone dan Phone to PC
143
4.34
Tabel Data Account Extensions Local Skenario Jaringan II
145
4.35
Tabel Data Account PABX Line Skenario Jaringan II
146
4.36
Skenario Komunikasi VoIP menggunakan dua buah
147a
VoIP Server ( Trunking Server )
4.37
Tabel Data Account Extensions Local dan Trunk
149
Pada VoIP Server I Skenario Jaringan III
4.38
Tabel Data Account Extensions Local dan Trunk
150
Pada VoIP Server II Skenario Jaringan III
4.39
Tabel Data Account Trunking Server Line
151
Pada VoIP Server I Skenario Jaringan III
4.40
Tabel Data Account Trunking Server Line Pada
152
VoIP Server II Skenario Jaringan III
4.41
Halaman Login Admin pada Perangkat IP Phone
153
4.42
Halaman Informasi Perangkat IP Phone
154
4.43
Menu Network Configuration pada Perangkat IP Phone
155
4.44
Menu SIP Configuration pada Perangkat IP Phone
156
4.45
Tampilan Proses Registering IP Phone
156
4.46
Tampilan Status IP Phone siap digunakan
157
4.47
Tampilan Awal Program X-Lite
158
4.48
Jendela Menu Konfigurasi pada X-Lite
158
xxiii
4.49
Menu SIP Account Pada X-Lite
159
4.50
Konfigurasi SIP Account Pada X-Lite
159
4.51
Aktifasi X-Lite
160
4.52
Tampilan Proses Registering Pada X-Lite
160
4.53
4.54
4.55
4.56
4.57
Tampilan X-Lite Siap Digunakan
Tampilan Login Admin Perangkat ITG
Tampilan Awal Menu Konfigurasi ITG
Menu WAN Setting pada Perangkat ITG
Pemasangan Kabel Pada ITG
161
162
163
163
164
4.58
Tampilan Form Input Data Registrasi Pada ITG
165
4.59
Setting Data SIP Proxy Pada ITG
166
4.60
Tampilan Status registrasi Perangkat ITG
166
ke Asterisk VoIP Server
5.1
Konfigurasi otentikasi user pada file sip.conf
169
5.2
Konfigurasi DialPlan pada file extensions.conf
170
5.3
Konfigurasi voicemailbox pada file voicemail.conf
171
xxiv
DAFTAR TABEL
Tabel
Keterangan
Halaman
2.1
Protokol Standard VoIP
15
2.2
Kebutuhan Bandwith VoIP
16
2.3
Pesan SIP Response
27
Contoh Konfigurasi Otentikasi User Pada
3.1
53
Tabel sip_buddies
3.2
Contoh Konfigurasi DialPlan Pada Tabel extensions_table
54
3.3
Contoh Konfigurasi Voicemail Pada Tabel voicemail_users
55
3.4
Tabel Admin
74
3.5
Tabel sip_buddies
74
3.6
Tabel extensions_table
75
3.7
Tabel Voicemail_users
75
3.8
Tabel CDR
76
3.9
Tabel PABX_tables
76
3.10
Tabel Trunking_tables
77
4.1
Daftar file Antarmuka dan file Action
141
4.2
Data Register Client Skenario Jaringan I
143
4.3
4.4
Data Registrasi Client Skenario Jaringan II
Data Registrasi Perangkat VoIP Gateway
xxv
145
146
Skenario Jaringan II
Data Registrasi Client Pada VoIP Server I
4.5
149
Skenario Jaringan III
Data Registrasi Client Pada VoIP Server II
4.6
150
Skenario Jaringan III
Data Registrasi Trunking VoIP Server I
4.7
151
ke VoIP Server II
Data Registrasi Trunking VoIP Server II
4.8
152
ke VoIP Server I
Kebutuhan Konfigurasi Asterisk Berdasarkan
5.1
168
Cara Konfigurasi
5.2
Konfigurasi otentikasi user pada tabel sip_buddies
169
5.3
Konfigurasi DialPlan pada tabel extensions_table
170
5.4
Konfigurasi voicemail pada tabel voicemail_users
171
xxvi
BAB I
PENDAHULUAN
1.1
Latar Belakang Masalah
Tingginya tarif komunikasi, terutama untuk sambungan jarak jauh
misalkan : SLJJ ( Sambungan Langsung Jarak Jauh ) maupun SLI ( Sambungan
Langsung Internasional ) seringkali menjadi kendala dalam berkomunikasi
melalui jaringan telepon biasa ( PSTN ). Tingginya tarif komunikasi tersebut
dipengaruhi oleh beberapa faktor diantaranya jarak dan waktu, sehingga semakin
jauh jarak dan semakin lama panggilan yang dilakukan melalui jaringan telepon
tersebut, maka tarif yang harus dibayarkan juga semakin tinggi.
Salah satu alternatif untuk mengatasi kendala dalam berkomunikasi tersebut
adalah dengan memanfaatkan teknologi Internet. Salah satunya dengan
menggunakan teknologi telepon via Internet yang dikenal dengan IP Telephony,
selanjutnya dikenal dengan istilah VoIP ( Voice over Internet Protocol ). Secara
sederhana, VoIP bisa diartikan bertelepon menggunakan jaringan IP ( Internet
Protocol ) atau Internet. Dengan bertelepon menggunakan VoIP banyak
keuntungan yang dapat diambil, diantaranya adalah dari segi biaya jelas lebih
murah dibandingkan dengan telepon biasa ( PSTN ), hal ini dikarenakan jaringan
IP atau Internet bersifat global. Sehingga faktor jarak dan waktu tidak lagi
mempengaruhi tarif komunikasi. Dan sudah bukan merupakan hal yang asing lagi
bahwa biaya pulsa untuk akses Internet lebih murah dibandingkan dengan biaya
telepon biasa ( PSTN ).
1
2
Salah satu software yang dapat digunakan untuk implementasi teknologi
VoIP adalah Asterisk. Asterisk merupakan salah satu software IP PBX ( Internet
Protocol Private Branch Exchange ) jenis SIP Proxy, dengan menggunakan
Asterisk dimungkinkan untuk membangun sebuah sentral telepon sederhana
berbasis jaringan IP ( Internet Protocol ). Asterisk berupa file konfigurasi yang
dapat digunakan untuk membangun sebuah sentral telepon berbasis jaringan IP
( VoIP Server ). Asterisk didukung oleh beberapa protokol untuk komunikasi
VoIP, antara lain SIP ( Session Initiation Protocol ), IAX ( Inter-Asterisk
Exchange ), H.323, MGCP ( Media Gateway Control Protocol ), dan SCCP
( Cisso Skinny ).
Setting konfigurasi pada Asterisk untuk membangun VoIP Server pada
dasarnya meliputi proses dua proses yaitu pertama, proses otentikasi user
(dengan nomor telepon dan password) dan kedua, proses konfigurasi DialPlan.
DialPlan merupakan konfigurasi yang digunakan untuk mengatur apa yang harus
dilakukan untuk melakukan panggilan ke sebuah nomor telepon tertentu.
Setting konfigurasi Asterisk untuk membangun sebuah sentral telepon
( VoIP Server ) dapat dilakukan melalui dua cara yaitu : berbasis text ( text based )
dan berbasis Asterisk Reealtime. Konfigurasi Asterisk berbasis text ( text based ),
merupakan konfigurasi Asterisk yang dilakukan dengan cara mengetikkan
serangkaian aturan konfigurasi pada file tertentu secara langsung, sedangkan
konfigurasi Asterisk berbasis Asterisk Realtime merupakan cara konfigurasi
Asterisk yang dilakukan dengan cara mengentrykan data pada tabel tertentu pada
database yang telah disiapkan sebelumnya.
3
Selain itu juga setting konfigurasi masih dilakukan dengan cara mendatangi
komputer ( PC ) yang dijadikan VoIP Server tersebut secara langsung, hal ini
tentu saja sangat merepotkan bagi seorang pengguna khususnya yang ingin
membuat sebuah sentral telepon sederhana dengan menggunakan Asterisk.
Dengan melihat permasalahan yang ada pada setting konfigurasi pada
Asterisk tersebut, maka pada penelitian ini akan dibangun sebuah aplikasi
manajemen Asterisk VoIP Server, khususnya untuk mengatur proses otentikasi
username dan password dari client VoIP Server dan proses pengaturan DialPlan
yang berbasis web dan dengan menggunakan teknik Asterisk Realtime dan
berbasis protokol SIP pada sistem operasi Linux. Aplikasi ini akan dibuat dengan
menggunakan bahasa pemrograman PHP ( Hypertext Preprocessor ) dan database
MySQL.
1.2
Rumusan Masalah
Permasalahan pada penelitian ini adalah :
1. Bagaimana mengkonfigurasi Asterisk sebagai VoIP Server dengan
menggunakan teknik Asterisk Realtime dan berbasis protokol SIP
sehingga dapat digunakan untuk implementasi teknologi VoIP,
khususnya untuk membangun sebuah sentral telepon berbasis jaringan IP
( Internet Protocol ).
2. Bagaimana mengimplementasikan teknologi berbasis web untuk
membuat sebuah program aplikasi manajemen Asterisk pada sistem
operasi Linux yang dapat diakses jarak jauh ( remote ), sehingga
4
memberikan kemudahan bagi pengguna ( administrator ) untuk setting
konfigurasi Asterisk, khususnya untuk proses otensikasi user dan proses
pengaturan DialPlan yang berbasis GUI ( Graphical User Interface ).
1.3
Batasan Masalah
Karena keterbatasan waktu, tenaga dan kemampuan, penelitian ini di batasi
sebagai berikut :
1. Sistem yang dibuat dibatasi untuk implementasi VoIP menggunakan
Asterisk sebagai VoIP Server, khususnya untuk membuat sebuah sentral
telepon berbasis jaringan IP atau internet yang menyediakan layanan
komunikasi suara seperti layaknya komunikasi pada jaringan telepon
biasa ( PSTN ).
2. Sistem yang dibuat dibatasi pada proses konfigurasi Asterisk untuk
proses otensikasi user dan pengaturan DialPlan dengan menggunakan
teknik Asterisk Realtime.
3. Pada penelitian ini tidak membahas mengenai kebutuhan dan
perhitungan bandwith yang dibutuhkan pada implementasi VoIP yang
dapat digunakan untuk membangun layanan telepon berbasis jaringan IP.
4. Protokol VoIP yang akan digunakan adalah SIP ( Session Initiation
Protocol ).
5. Features Asterisk yang digunakan pada penelitian ini antara lain :
voicemail system, call detail record, caller id, remote call agents, local
call agents.
5
6. Setting konfigurasi yang digunakan adalah setting konfigurasi yang
berhubungan dengan konfigurasi Asterisk dengan Teknik Asterisk
Realtime dan berbasis protokol SIP.
1.4
Tujuan Penelitian
Tujuan dari penelitian ini adalah membangun aplikasi berbasis grafis (GUI)
yang dapat digunakan untuk mengkonfigurasi Asterisk VoIP server, khususnya
untuk konfigurasi proses otensikasi user ( dengan username dan password ) dan
proses pengaturan DialPlan sehingga dapat digunakan untuk membantu dalam
membangun sebuah sentral telepon berbasis jaringan IP ( Internet Protocol ).
1.5
Manfaat Penelitian
Dengan adanya aplikasi yang akan dibuat pada penelitian ini, ada beberapa
manfaat yang diperoleh, yaitu :
1. Memberikan
alternatif
solusi
untuk
mengatasi
kendala
dalam
berkomunikasi, khususnya berkaitan dengan tingginya biaya komunikasi
menggunakan
jaringan
telepon
biasa
(PSTN)
dengan
cara
mengimplementasikan teknologi komunikasi melalui jaringan VoIP
dengan menggunakan Asterisk.
2. Proses konfigurasi pada Asterisk, khususnya untuk menangani otentikasi
user dan pengaturan DialPlan dapat dilakukan dengan berbasis grafis
( GUI ), yaitu dengan cara menginputkan data pada form yang telah
disediakan pada aplikasi ini.
6
1.6
Metodologi Penelitian
Metode yang dipergunakan untuk perancangan sistem dan pembuatan
perangkat lunak ( aplikasi ) , serta menyelesaikan permasalahan adalah dengan
cara :
1. Studi Literatur
Kegiatan ini merupakan pendalaman materi yang berkaitan dengan
pembuatan program dan sistem yang akan dibuat meliputi :
a. Mengenal serta pendalaman konfigurasi dan cara kerja Asterisk
sebagai VoIP Server pada sistem operasi Linux, sehingga mendukung
untuk membangun sebuah sentral telepon berbasis jaringan IP dan
berbasis protokol SIP.
b.Pendalaman bahasa pemrogaman PHP dan aplikasi database MySQL
untuk membangun aplikasi manajemen Asterisk VoIP Server.
2. Perancangan Sistem
Setelah melakukan studi Literatur selanjutnya dilanjutkan dengan
perancangan sistem yang akan dibuat, perancangan meliputi topologi sistem
beserta piranti – piranti yang digunakan dan desain user interface.
3. Implementasi
Pada tahap ini adalah penerapan desain ke dalam bentuk program dengan
memanfaatkan bahasa pemrograman yang ada.
7
1.7
Sistematika Penulisan
BAB I
PENDAHULUAN
Berisi latar belakang masalah, batasan masalah, tujuan tugas akhir,
rumusan masalah, metodologi penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi landasan teori yang mendukung kegiatan penelitian,
baik dalam analisis, desain dan implementasi sistem.
BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM
Berisi tentang langkah – langkah pembuatan perangkat lunak serta
piranti yang digunakan untuk menyelesaikan masalah.
BAB IV IMPLEMENTASI SISTEM
Bab ini menjelaskan mengenai implementasi rancangan ( desain )
ke dalam bentuk utilitas yang nyata yang dapat dipergunakan
secara langsung.
BAB V ANALISIS HASIL IMPLEMENTASI
Bab ini berisi analisa mengenai aplikasi perangkat lunak yang telah
dibuat, serta kelebihan dan kekurangan aplikasi.
8
BAB VI PENUTUP
Bab ini berisi kesimpulan yang diperoleh dari keseluruhan proses
pembuatan
tugas
akhir
ini,
serta
pengembangan aplikasi lebih lanjut.
beberapa
saran
untuk
BAB II
LANDASAN TEORI
2.1. Transmission Control Protocol / Internet Protocol (TCP/IP)
2.1.1.Transmission Control Protocol ( TCP )
Dalam komunikasi dua atau lebih network device diperlukan sebuah standar
yang saling dimengerti satu sama lain, seperti layaknya sebuah bahasa bagi
manusia agar dapat berkomunikasi dengan baik antara satu sama lain. Dalam
sebuah network istilah “bahasa” tersebut disebut dengan protokol. TCP/IP sendiri
merupakan kumpulan protokol yang terdiri dari dua protokol utama, yaitu :
Transmission Control Protocol dan Internet Protocol. TCP/IP memungkinkan
terjadinya komunikasi antar komputer yang memiliki perbedaan karakteristik dari
segi hardware ataupun software.
Model TCP/IP dikembangkan pertama kali oleh Departmen Pertahanan
Amerika Serikat (U.S. Department of Defense – DoD) dengan tujuan membangun
jaringan yang dapat bertahan pada segala kondisi. Sejak saat itu TCP/IP dijadikan
model dasar yang terus digunakan, contoh model dasar dari TCP/IP adalah
internet.
Fitur – fitur yang di miliki oleh TCP / IP ( menurut Hunt 2002 ) :
1) Merupakan
open
protokol
standard,
tersedia
secara
bebas
dan
dikembangkan terlepas dari perangkat keras komputer dan sistem operasi.
Karena dukungan yang luas inilah, TCP/IP sangat ideal untuk menyatukan
berbagai perangkat keras dan lunak komputer yang beraneka ragam.
9
10
2) Independen dari perangkat keras jaringan yang khusus. Hal ini
memungkinkan penyatuan dari berbagai macam jenis jaringan. TCP/IP
dapat di pakai pada Ethernet, koneksi DSL, dial-up line, dan semua jenis
medium transmisi fisik lainnya.
3) Memiliki skema pengalamatan yang memungkinkan setiap TCP/IP device
dapat di kenali secara spesifik walaupun berada dalam jaringan yang
sangat besar seperti internet.
TCP merupakan bagian dari protokol TCP/IP yang digunakan bersama
dengan IP untuk mengirimkan data dalam bentuk unit-unit pesan antara komputer
ke internet. Pengiriman data ini dapat terjamin karena TCP memilki dua proses
data acknowledgement yaitu retransmisi dan sequencing di mana TCP selalu
meminta konfirmasi setiap kali selesai mengirim data , apakah data telah sampai
ditempat tujuan. Kemudian TCP akan mengirimkan data urutan berikutnya atau
melakukan retransmisi yaitu pengiriman ulang data tersebut. Data yang dikirim
dan diterima diatur berdasarkan nomor urut. TCP juga mengawasi unit data
individual atau dikenal dengan nama paket, dimana pesan-pesan dibagi efisiensi
routing melewati internet (Gilbert, 1995).
Protokol TCP bertanggung jawab untuk pengiriman data dari sumber ke
tujuan dengan benar. TCP juga bertugas mendeteksi kesalahan atau hilangnya data
dan melakukan pengiriman kembali sampai data yang benar diterima dengan
lengkap. TCP menyediakan pelayanan seperti connection oriented, reliable, byte
stream service. Connection oriented berarti dua aplikasi pengguna TCP harus
melakukan pembentukan hubungan dalam melakukan pertukaran data tersebut.
11
Reliable berarti TCP menerapkan proses deteksi kesalahan paket dan retransmisi.
Byte stream service berarti paket dikirimkan dan sampai ke tempat tujuan secara
berurutan.
TCP/IP terdiri dari empat layer kumpulan protokol. layer tersebut antara
lain :
Network interface layers
Dikenal juga sebagai link layer, merupakan layer terbawah yang
bertanggung jawab mengirim dan menerima data ke dan dari fisik. Media
fisiknya dapat berupa kabel, kabel optik, atau gelombang radio. Karena
tugasnya ini, protokol pada layer ini harus mampu menjadi data digital yang
di mengerti komputer yang berasal dari peralatan lain yang sejenis.
Network layer biasanya disebut Internet layers
Protokol yang berada pada layer ini bertanggung jawab dalam proses
pengiriman paket ke alamat yang tepat. Pada layer ini terdapat tiga macam
protokol yaitu IP, ARP, dan ICMP.
Transport layers
Layer ini berisi protokol yang bertanggung jawab untuk mengadakan
komunikasi antara dua host. Kedua protokol yang terdapat pada layer ini
adalah TCP ( Transmission Control Protocol ) dan UDP ( User Datagram
Protokol ).
Applications layers
Pada lapisan ini terletak semua aplikasi yang menggunakan protokol
TCP/IP. Pada lapisan ini terdapat beberapa protokol seperti TFTP, FTP,
12
NFS untuk file transfer. SMTP dan POP3 sebagai protokol aplikasi e-mail.
Telnet dan ssh sebagai aplikasi remote login. SNMP sebagai protokol
manajemen jaringan. Kemudian DNS, sebagai protokol aplikasi sistem
penamaan di internet. Serta HTTP, sebagai protokol aplikasi web.
2.1.2 Internet Protocol ( IP )
IP adalah protokol pada TCP/IP yang mengatur bagaimana suatu data dapat
dikenal dan dikirim dari satu komputer ke komputer lain sampai tujuan dalam
suatu jaringan komputer. IP memiliki karakteristik sebagai connectionless
protocol. Ini berarti IP tidak melakukan erorr – detection- and-recovery dan
pertukaran kontrol informasi ( disebut juga “handshake” ) untuk membangun
sebuah koneksi sebelum mengirim data. Sebuah koneksi baru akan terjadi apabila
proses handshake tersebut dilakukan, sehinga dalam hal ini IP bergantung pada
layer lainnya untuk melakukan handshake tersebut ( hunt, 2002 ).
IP memiliki 5 fungsi utama dalam jaringan berbasiskan TCP/IP ( Menurut
Hunt ) :
1. Mendefinisikan paket yang merupakan unit dasar transmisi di Internet
2. Mendefinisikan skema pengalamatan Internet
3. Memindahkan data antara Transport layer dengan Network Access layer
4. Melakukan routing paket
5. Melakukan fragmentasi dan penyusunan ulang paket.
13
2.2. Voice over Internet Protocol ( VoIP )
Voice over Internet Protocol ( VoIP ) atau yang dikenal juga dengan sebutan
IP Telephony, adalah sistem
yang mampu mengirimkan data paket suara
menggunakan jaringan internet dari suatu tempat ke tempat yang lain
menggunakan perantara protokol IP ( Internet Protocol ).
Bentuk paling sederhana dalam sistem VoIP adalah dua buah komputer yang
terhubung dalam suatu jaringan yang dapat berkomunikasi suara. Syarat dasar
untuk mengadakan koneksi sistem VoIP adalah pada ke dua buah komputer
tersebut mempunyai sound card ( kartu suara ), speaker dan mikropon. Dengan
menggunakan perangkat lunak khusus, kedua pemakai komputer bisa saling
terhubung dalam koneksi VoIP satu sama lain. Penekanan hubungan tersebut
adalah dalam bentuk suara ( voice ).
Pada perkembangannya, sistem koneksi VoIP mengalami evolusi. Bentuk
peralatan pun berkembang, tidak hanya berbentuk hubungan antar komputer
dalam suatu jaringan, tetapi juga hubungan komputer dengan peralatan yang lain
( contoh : pesawat telepon analog milik jaringan “ TELKOM “ ) yang terhubung
dengan jaringan VoIP. Untuk hubungan yang berbentuk seperti ini dibutuhkan
sebuah VoIP gateway, agar telepon analog biasa tersebut bisa berhubungan
dengan komputer dalam satu jaringan VoIP.
14
2.2.1. Format Paket VoIP
Tiap paket VoIP terdiri atas dua bagian, yaitu header dan payload (beban).
Header terdiri atas IP Header, Real-time Transport Protocol ( RTP ) header, User
Datagram Protocol ( UDP ) header dan link header. Lihat gambar 2.1.
Masing - masing bagian dalam header tersebut memiliki tugas dan fungsi
sebagai berikut :
1. IP Header bertugas menyimpan informasi routing untuk mengirimkan
paket – paket ke tujuan. Pada setiap header IP disertakan tipe layanan atau
Type of Service ( ToS ) yang memungkinkan paket tertentu seperti paket
suara diperlakukan berbeda dengan paket yang non real-time.
2. UDP header sangat peka terhadap delay dan latency sehingga UDP sangat
cocok digunakan dalam aplikasi voice real-time. Selain itu juga UDP
memiliki ciri khusus yaitu tidak menjamin paket sampai tujuan.
3. RTP header adalah header yang dapat dimanfaatkan untuk melakukan
framing dan segmentasi data real-time. Pada RTP menggunakan protokol
kendali yang disebut RTCP ( Real-time Transport Control Protocol ) yang
akan mengendalikan QoS dan sinkronisasi media stream yang berbeda.
4. Besarnya Link header bergantung dari jenis media yang digunakan.
FORMAT PAKET VoIP
Link Header
IP Header
UDP Header
RTP Header
Voice Payload
X Bytes
20 Bytes
8 Bytes
12 Bytes
X Bytes
Gambar 2.1 Format Paket Voice over Internet Protocol ( VoIP )
15
2.2.2. Protokol Standard dalam sistem VoIP dari site www.Protocols.com
Tabel 2.1 Protokol Standard VoIP
Signaling
H.323
H.323
Megaco H.248
Gateway Control Protocol
MGCP
Media Gateway Control Protocol
RVP over I P
Remote Voice Protocol Over I P Specification
SAPv2
Session Announcement Protocol
SGCP
Simple Gateway Control Protocol
SI P
Session I nitiation Protocol
Skinny
Skinny Client Control Protocol (Cisco)
Media
DVB
Digital Video Broadcasting
H.261
Video stream for transport using the real-time transport
H.263
Bitstream in the Real-time Transport Protocol
RTCP
RTP Control protocol
RTP
Real-Time Transport
2.2.3. Kebutuhan Bandwith untuk VoIP
Salah satu hal yang menjadi kendala dalam komunikasi VoIP adalah
ketersedian bandwith jaringan yang akan dipakai, karena ketersediaan bandwith
akan berpengaruh kepada kualitas suara dalam komunikasi VoIP. Ada beberapa
faktor yang mempengaruhi kebutuhan bandwith salah satunya adalah teknik
kompresi yang digunakan dalam jaringan tersebut atau yang biasa disebut dengan
codec ( coder decoder ). Ada beberapa jenis codec yang umum digunakan dalam
jaringan VoIP, antara lain : G.711, G.723, G.726, G.729, ILBC, LPC, dan GSM.
Untuk memperoleh perkiraan penggunaan dari berbagai codec dapat dilihat pada
16
tabel berikut ( dihitung dengan menggunakan bandwith calculator dari site
http://www.asteriskguru.com/tools/bandwith_calculator.php) :
Tabel 2.2 Kebutuhan Bandwith VoIP
I ncoming ( Kbps )
Outgoing ( Kbps )
GSM- 13.00 Kibps
28.63
28.63
I LBC – 15.20 Kibps
30.83
30.83
Codec
LPC – 2.50 Kibps
18.13
18.13
G.711 – 64.00 Kibps
79.63
79.63
G.723 – 1-6.10 Kibps
21.73
21.73
G.726 – 32.00 Kibps
47.63
47.63
G.729 – 8.00 Kibps
23.63
23.63
Tabel 2.2, merupakan tabel hasil perkiraan perhitungan bandwith yang
dibutuhkan dalam setiap 1 panggilan / percakapan pada jaringan VoIP dengan
menggunakan codec tertentu. Kebutuhan bandwith untuk masing – masing codec
dapat dilihat pada hasil incoming bandwith dan outgoing bandwith.
2.2.4. Jenis Konfigurasi Jaringan VoIP
Jenis Konfigurasi VoIP dapat dibuat dalam berbagai skenario, konfigurasi
ini bergantung pada perangkat apa saja yang akan diterapkan dalam membangun
jaringan VoIP. Secara umum konfigurasi VoIP dapat dijelaskan sebagai berikut :
1. Hubungan Telepon dengan menggunakan N:1 Gateway
Konfigurasi VoIP ini menggunakan jaringan telepon dan merupakan
hubungan phone to phone. VoIP gateway berfungsi sebagai translator atau
konversi voice ke data ataupun sebaliknya.
17
Gambar 2.2 Hubungan Telepon menggunakan N:1 Gateway
2. Hubungan PC menggunakan Router
Konfigurasi
ini
merupakan
konfigurasi
komunikasi
PC
to
PC
menggunakan router. Pada konfigurasi ini, proses encoding, kompresi, serta
enkapsulasi dilakukan di PC. Tugas router adalah mempelajari IP address
tujuan yang terdapat pada datagram dan me-routing-kan sesuai dengan
tujuannya. Pada konfigurasi ini, sangat bergantung pada kemampuan
microphone PC dalam hal penerimaan suara yang biasanya background noise
juga akan mengikuti sebagai bagian dari suara pembicara.
Gambar 2.3 Hubungan PC menggunakan Router
3. Hubungan Telepon ke PC
Konfigurasi ini digunakan untuk menghilangkan permasalahan noise yang
timbul pada konfigurasi hubungan PC menggunakan router, yaitu dengan
menggunakan telepon sebagai pengganti microphone. Pada konfigurasi ini PC
18
berfungsi sebagai pada operasi konversi A/D ( Analog to Digital ) dan D/A
( Digital to Analog ).
Gambar 2.4 Hubungan Telepon ke PC
4. Hubungan dengan Gateway 1:1
Konfigurasi ini merupakan bentuk lain dari hubungan phone to phone.
Rasio 1:1 berarti hanya ada satu voice connection ( koneksi suara ) yang
didukung oleh gateway. Fungsi dari gateway pada konfigurasi jenis ini adalah
untuk menerima sinyal analog dari telepon dan melakukan proses A/D
( Analog to Digital ) pada sinyal. Pada konfigurasi jenis ini memiliki beberapa
parameter antara lain : IP-address, nomor telepon, ISP yang akan dimasukkan
melalui dialpad pesawat telepon. Konfigurasi ini memiliki kelemahan yaitu
penerima dan pengirim harus mempunyai gateway 1:1.
Gambar 2.5 Hubungan dengan Gateway 1:1
19
5. Hubungan menggunakan LAN ( Local Area Network )
Konfigurasi jenis ini merupakan kombinasi dari konfigurasi hubungan
telepon ke PC dan konfigurasi hubungan dengan gateway 1:1. Pada
konfigurasi ini semua user dihubungkan dalam suatu LAN dan suatu site.
Panggilan Lokal pada LAN akan diatur oleh gateway. Fungsi dari gateway
adalah melakukan suatu fungsi manajemen hubungan, sedangkan PC dan
workstation akan menjalankan VoIP dan mengeksekusi low bit rate voice dari
voice coder.
Gambar 2.6 Hubungan menggunakan LAN ( Local Area Network )
2.3. Session Initiation Protocol ( SIP )
Session Initiation Protocol ( SIP ) merupakan standar protokol multimedia
yang dikeluarkan oleh group yang tergabung dalam Multiparty Multimedia
Session Control ( MMUSIC ) yang berada dalam organisasi Internet Engineering
Task Force ( IETF ) yang didokumentasikan kedalam dokumen request for
command ( RFC ) 2543 pada bulan Maret 1999.
20
SIP sendiri merupakan protokol yang berada pada layer aplikasi yang
mendefinisikan proses awal, pengubahan dan pengakhiran ( pemutusan ) suatu
sesi komunikasi. Protokol SIP ini memiliki karakter client-server, yang berarti
bahwa request diberikan oleh client dan request ini akan dikirimkan ke server.
Kemudian server akan mengolah dan memberikan tanggapan terhadap request
tersebut ke client. Request dan tanggapan ini diseb
BERBASIS WEB PADA SISTEM OPERASI LINUX
SKRIPSI
Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Oleh :
Albert Kurnia
03 5314 043
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
i
WEB BASED MANAGEMENT APPLICATION OF ASTERISK
VoIP SERVER IN LINUX OPERATING SYSTEM
A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Informatics Engineering
By :
Albert Kurnia
03 5314 043
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2008
ii
SKRIPSI
APLIKASI MAITAJEMEN ASTERISK VOIP SERYER
BERBASIS WEB PADA SISTEM OPERASI LINUX
Oleh:
Albert Kurnia
Tanggal
lll
SKRIPSI
APLIKASI MANAJEMEN,4 STERISK VOIPSERVER
BERBASTSWEB PADA SISTEM OPERASI LINUX
Dipersiapkandan ditulis oleh :
Albert Kurnia
NIM : 03 5314043
Telah dipertahankandi depanPanitia Penguji
Pada Tanggnl2l Mei 2008
Dan dinyatakanmemenuhisyarat
SusunanPanitia Penguji
Tanda Tangan
Tand:
Nama Lengkap
Ketua
Alb. Agung Hadhiatma,S.T.oM.T.
Sekretaris
St. Wi'snu\Mijaya, S.T.,M.T.
Anggota
H. Agung Hennawan,S.T.
Anggota
PuspaningtyasSanjoyoAdi, S.T.,M.T.
Yogyakarta, Mei 2008
Itas Sainsdan Teknologi
s Sanata Dharma
s.J.,s.s.,B.s.T.,M.A.,M.Sc.
lv
PER}IYATAA}I KEASLIAN KARYA
Saya menyatakanbahwa skripsi yang saya tulis ini tidak memuat karya
atau bagian karya orang lain, kecuali yang telah disebutkandalam kutipan dan
daftar pustaka"sebagaimanalayalcryakarya ilmiah.
Yogyakart4 Mei 2008
Albert Kurnia
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas SanataDharma :
Nama : Albert Kurnia
NIM
:03 5314043
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas SanataDharma karya ilmiah saya yang berjudul :
APLIKASI MANAJEMEN ASTERISK VOIP SERVER
BERBASIS WEB PADA SISTEM OPERASI LINAX
Beserta perangkat yang diperlukan ( bila ada ). Dengan demikian saya
memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk
menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk
pangkalan dat4 mendistribusikan secara terbatas, dan mempublikasikannya di
Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari
saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama
saya sebagaipenulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Padatanggal: 12 Juni 2008
Yang menyatakan
( Albert Kurnia )
vi
HALAMAN PERSEMBAHAN
Karya ini ku persembahkan untuk :
....
Tuhan Yesus-ku, panutan sekaligus sumber kekuatan-ku
….
Kedua orang tua-ku yang telah membesarkan aku dengan penuh perhatian
dan kasih sayang
….
Keluarga besarku yang selalu senantiasa memberikan support dan bantuan
selama aku kuliah
….
Kakak dan Adik-ku, partner sejati dalam hidup-ku
....
Marsinah ( Mbak Sinah ), yang telah ikut membesarkan dan merawat aku
dengan penuh perhatian
....
Teman – teman Up 2 U, Sahabat sejati dalam hidupku
....
vii
HALAMAN MOTTO
.....
Practice Makes Perfect
.....
Selalu ada jalan bagi orang yang mau berusaha dan
belajar dengan keras
.....
Lakukan yang terbaik dan berdoalah, maka tidak ada
sesuatu yang mustahil untuk dilakukan
.....
Setiap masalah yang datang pasti akan membawa serta
solusi untuk menyelesaikannya
.....
viii
ABSTRAKSI
Proses konfigurasi Asterisk sebagai VoIP server pada sistem operasi Linux
dapat dilakukan melalui dua cara yaitu berbasis text ( text based ) dan berbasis
teknik Asterisk Realtime. Apabila berbasis text konfigurasi dilakukan dengan cara
mengetikkan serangkaian parameter pada file tertentu. Sedangkan jika dilakukan
dengan menggunakan teknik Asterisk Realtime konfigurasi dilakukan dengan cara
menginsertkan data konfigurasi pada tabel yang ada pada database, dimana
struktur tabel yang digunakan merupakan struktur tabel standard yang dapat
dikenali oleh sistem Asterisk. File atau tabel yang dibutuhkan untuk konfigurasi
bergantung dari jenis protokol VoIP yang akan digunakan. Selain itu juga seorang
administrator harus melakukan proses konfigurasi Asterisk pada komputer yang
dijadikan VoIP Server secara langsung.
Pada penelitian ini akan dibuat sebuah aplikasi konfigurasi Asterisk VoIP
server berbasis web yang dapat digunakan untuk konfigurasi Asterisk dengan
menggunakan teknik Asterisk Realtime serta berbasis protokol SIP.Dengan
menggunakan aplikasi ini seorang Administrator dapat melakukan konfigurasi
Asterisk dengan berbasis grafis ( GUI ) dan juga Administrator tidak perlu lagi
mendatangi komputer yang dijadikan VoIP server lagi karena aplikasi ini dapat
diakses melalui web browser. Dalam pembuatan aplikasi ini digunakan PHP
sebagai bahasa pemrograman dan database MySQL.sebagai database aplikasi ini.
ix
ABSTRACT
Asterisk configuration process as VoIP server in Linux operation system
could be done in two ways, they are text-based and Asterisk Realtime techniquebased. Text-based configuration could be done by typing a set of parameter in a
certain file. While, in Asterisk Realtime technique, configuration could be done
by inserting configuration data in the table that is available in database, in which
table structure used was the standard table structure that could be recognized by
Asterisk system. File or table needed for configuration depended on the type of
VoIP protocol that would be used. Besides, an administrator has to conduct
Asterisk configuration process in the computer that was used as VoIP Server
directly.
This study developed a web-based application which could be used in
Asterisk configuration using Asterisk realtime technique and protocol-based SIP.
By using this application, an administrator could conduct graphic-based Asterisk
configuration. Beside that, an administrator did not need to face the computer that
was used as VoIP anymore because this application could be accessed through
web browser. In making this application, PHP was used as programming language
and database MySQL as the database of this application.
x
KATA PENGANTAR
Puji syukur saya haturkan kepada Tuhan Yesus Kristus yang telah
melimpahkan berkat-Nya. Sehingga saya dapat menyelesaikan Laporan Tugas
Akhir ini.
Pada kesempatan ini saya ingin mengucapkan terima kasih kepada pihak –
pihak yang telah membantu saya dalam menyelesaikan skripsi ini, baik dalam hal
bimbingan, perhatian, kasih sayang, semangat, kritik, dan saran yang telah
diberikan. Ucapan terima kasih ini saya sampaikan antara lain kepada :
1. Bapak Ir. Gregorius Heliarko, S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan
Fakultas Saint dan Teknologi Universitas Sanata Dharma Yogyakarta.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik
Informatika Universitas Sanata Dharma.
3. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing Akademik
Teknik Informatika angkatan 2003.
4. Bapak Alb. Agung Hadhiatma, S.T, M.T, selaku Dosen Pembimbing I.
Terima kasih atas bimbingan selama saya mengerjakan Laporan Skripsi ini.
5. Bapak H. Agung Hernawan, S.T, selaku Dosen Pembimbing II. Terima kasih
atas bimbingan dan juga atas ide yang bapak berikan kepada saya untuk
mengerjakan Tugas Akhir dengan topik ini. Dan terima kasih juga atas
kesempatan yang diberikan kepada saya
Bapak.
xi
untuk kerja part time diwarnet
6. Seluruh staf dan dosen di Universitas Sanata Dharma pada umumnya dan
Jurusan Teknik Informatika pada khususnya.
7. Kedua orangtua dan keluarga tercinta, terima kasih atas dukungan, kasih
sayang dan semangat yang tiada henti sehingga saya dapat menyelesaikan
Tugas Akhir ini.
8. Norbertine Risma Asteria Wardhani, Someone special yang pernah ada
mengisi hari – hariku dengan kebahagiaan dan cinta. Terima kasih atas
semuanya.
9. Staf Laboran Teknik Informatika, Pak Bele terima kasih atas pinjaman kunci
Lab Jarkomnya, Mas Danang dan Pak Dar atas kesabaran dan kesetiannya
selama menemani saya di Lab Jarkom.
10. Teman – teman dari forum voiprakyat : pak Anton Rahardja ( anton_rd ), pak
Onno W.Purbo, Dwidy Putut ( doank_29 ), Salman Kalista, terima kasih atas
bimbingan dan jawaban – jawaban yang diberikan atas pertanyaan yang saya
tulis di forum voiprakyat.
11. Teman – teman Up2U : Ari P.K, Arief ( Surip ), Gunawan ( Bobo ), Grace,
Titiek, Nanick, Dewi, Lolo, Lulu, Risma, Rio ( mbah Dukun ), Wawan
( Liong ), Nunug, Heri ( Boyo ), Galih ( Gaband ), Ibu Khatarina Sri H.D ( bu
Uciek ), Ninin. Yang telah memberikan arti persahabatan bagi hidup saya.
12. Teman – teman Informatika angkatan 2003 yang telah berjuang bersama
dengan saya sewaktu kuliah, special buat Evi ( epot ) dan Ari Tunggul
( Teman dikala susah dan senang ☺ ), Yansen ( yang telah mengenalkan
Linux pada saya ) , Albert C.P ( Sang Kepala Suku ), Si Jun, Bergas, Eko
xii
( Ucup ), Hendrik ( Cilblek ), Ellen, Jeje, Dion, Adwi, Danang, Heni, Angga
( TooCool ), Marcell, Irvan, Hendro, Dian, Isti, Si Nug ( akhirnya selesai juga
yach www.kalithi.com nya ☺ ), Acied, Kristin dan Tika ( Teman seperjuangan
waktu pendadaran ☺ ), Ruth, Onezzt, Sarah, Ina, Ratih, Gina, Dea, Agus
( Gepenk ), Devi, Anis, Dani, Wikan ( Erros ), Linda, Risa, Santhos, Amin,
Winda, Fendy, Seno, Chandra, Hana, David, Merry, Monic, Yeyen, Pamako
Renda ( Anak TI 03 yang pertama kali saya kenal ), Nur, Rubin, Esther, Oscar,
Ria, Rachel, serta teman – teman jurusan Teknik Informatika lainnya.
13. Seluruh pihak yang membantu saya baik secara langsung maupun tidak
langsung, yang tidak dapat saya sebutkan satu persatu.
Saya menyadari masih banyak kekurangan yang terdapat pada laporan ini.
Saran dan kritik selalu saya harapkan dari pembaca untuk perbaikan – perbaikan
di masa yang akan datang.
Akhir kata, saya berharap tulisan ini dapat bermanfaat bagi kemajuan dan
perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada umumnya.
Yogyakarta, Mei 2008
Penulis
xiii
DAFTAR ISI
HALAMAN JUDUL .................................................................................................
i
HALAMAN PERSETUJUAN ..................................................................................
iii
HALAMAN PENGESAHAN ...................................................................................
iv
PERNYATAAN KEASLIAN KARYA ...................................................................
v
PERNYATAAN PUBLIKASI KARYA ..................................................................
vi
HALAMAN PERSEMBAHAN ...............................................................................
vii
HALAMAN MOTTO ...............................................................................................
viii
ABSTRAK ................................................................................................................
ix
ABSTRACT ..............................................................................................................
x
KATA PENGANTAR ..............................................................................................
xi
DAFTAR ISI .............................................................................................................
xiv
DAFTAR GAMBAR ................................................................................................
xviii
DAFTAR TABEL .....................................................................................................
xxv
BAB I. PENDAHULUAN
1.1 Latar Belakang Masalah ................................................................................
1
1.2 Rumusan Masalah .........................................................................................
3
1.3 Batasan Masalah ............................................................................................
4
1.4 Tujuan Penelitian ...........................................................................................
5
1.5 Manfaat Penelitian .........................................................................................
5
1.6 Metodologi Penelitian ...................................................................................
6
xiv
1.7 Sistematika Penulisan ....................................................................................
7
BAB II. LANDASAN TEORI
2.1 Transmission Control Protocol / Internet Protocol (TCP/IP) .......................
9
2.1.1 Transmission Control Protocol ( TCP ) ...................................................
9
2.1.2 Internet Protocol ( IP ) .............................................................................
12
2.2 Voice over Internet Protocol ( VoIP ) ..........................................................
13
2.2.1 Format Paket VoIP ....................................................................................
14
2.2.2 Protokol Standard dalam sistem VoIP ......................................................
15
2.2.3 Kebutuhan Bandwith untuk VoIP .............................................................
15
2.2.4 Jenis Konfigurasi Jaringan VoIP ..............................................................
16
2.3 Session Initiation Protocol ( SIP ) ................................................................
19
2.3.1 Susunan Protokol SIP ...............................................................................
20
2.3.2 Komponen Protokol SIP ...........................................................................
22
2.3.3 Pengalamatan Protokol SIP ......................................................................
23
2.3.4 Format Pesan Protokol SIP .......................................................................
24
2.3.5 Header Field pada Protokol SIP ...............................................................
25
2.3.6 SIP Request dan SIP Response .................................................................
26
2.3.6.1 SIP Request ...........................................................................................
26
2.3.6.2 SIP Response ........................................................................................
27
2.3.7 Prosedur Persinyalan pada Protokol SIP ...................................................
28
2.3.7.1 Prosedur Persinyalan menggunakan Proxy Server ...............................
28
2.3.7.2 Prosedur Persinyalan menggunakan Redirect Server ...........................
29
2.3.8 Fungsi dari Protokol SIP ..........................................................................
31
xv
2.4 Internet Protocol Private Branch Exchange ( IP PBX ) ...............................
31
2.4.1 Komponen Dasar IP PBX .........................................................................
33
2.5 Asterisk ..........................................................................................................
34
2.5.1 Features Asterisk ......................................................................................
35
2.5.2 File Konfigurasi Asterisk ..........................................................................
36
2.5.3 Konfigurasi Asterisk .................................................................................
36
2.6 Asterisk Realtime Architecture ( ARA ) ........................................................
39
2.6.1 Langkah – Langkah Konfigurasi ARA pada Asterisk ..............................
40
2.7 Web Browser .................................................................................................
45
2.8 Web Server ....................................................................................................
46
2.9 PHP ...............................................................................................................
46
BAB III. ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM
3.1 Analisis Kebutuhan Sistem ...........................................................................
47
3.2 Gambaran Umum Sistem Komunikasi VoIP menggunakan Asterisk ...........
50
3.3 Penggunaan Teknik Asterisk Realtime Dalam Konfigurasi Asterisk
Berbasis Protokol SIP ..................................................................................
51
3.4 Perancangan Sistem ......................................................................................
56
3.4.1 Flowchart Komunikasi VoIP ....................................................................
56
3.4.2 Use Case Diagram Aplikasi .....................................................................
57
3.4.3 Sequence Diagram Aplikasi ......................................................................
60
3.4.4 Konfigurasi Hardware dan Software ........................................................
68
3.4.5 Skenario Pengujian Sistem .......................................................................
71
3.4.6 Struktur Tabel Database ...........................................................................
73
xvi
3.4.7 Perancangan Antarmuka ( User Interface ) ..............................................
78
BAB IV. IMPLEMENTASI SISTEM
4.1 Spesifikasi Hardware dan Software yang digunakan ...................................
95
4.2 Setting Koneksi Asterisk dengan database MySQL .....................................
97
4.3 Implementasi Antarmuka ( User Interface ) .................................................
101
4.4 Implementasi File Antarmuka dan File Action .............................................
141
4.5 Implementasi Skenario Pengujian Sistem .....................................................
141
4.6 Implementasi IP Phone sebagai client Asterisk VoIP Server ........................
153
4.7 Implementasi X-Lite sebagai client Asterisk VoIP Server ............................
157
4.8 Implementasi VoIP Gateway ( ITG ) sebagai media penghubung antara
161
jaringan VoIP dengan jaringan PABX ..........................................................
BAB V. ANALISIS HASIL IMPLEMENTASI
5.1 .Hasil Uji Coba Program ................................................................................
167
5.2 .Analisis Konfigurasi Asterisk sebagai VoIP Server Berbasis Protokol SIP ..
167
5.3 .Kelebihan dan Kekurangan Program ............................................................
172
5.3.1 Kelebihan Program ...................................................................................
172
5.3.2 Kekurangan Program ................................................................................
173
BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan ....................................................................................................
174
6.2 Saran ..............................................................................................................
175
DAFTAR PUSTAKA
LAMPIRAN
xvii
DAFTAR GAMBAR
Gambar
Keterangan
Halaman
2.1
Format Paket Voice over Internet Protocol ( VoIP )
14
2.2
Hubungan Telepon menggunakan N:1 Gateway
17
2.3
Hubungan PC menggunakan Router
17
2.4
Hubungan Telepon ke PC
18
2.5
Hubungan dengan Gateway 1:1
18
2.6
Hubungan menggunakan LAN ( Local Area Network )
19
2.7
Susunan Protokol SIP
20
2.8
Format Pengalamatan pada Protokol SIP
24
2.9
Format Pesan SIP
24
2.10
Prosedur Persinyalan SIP menggunakan Proxy Server
28
2.11
Prosedur Persinyalan SIP menggunakan Redirect Server
29
2.12
Komponen Dasar IP PBX
33
2.13
Format Blok text Data Account
37
2.14
Contoh Konfigurasi Data Account ( menggunakan SIP )
37
2.15
Format Penulisan DialPlan
37
2.16
Contoh Konfigurasi DialPlan
39
2.17
Contoh Konfigurasi file res_mysql.conf
41
2.18
Contoh Konfigurasi file cdr_mysql.conf
41
2.19
Contoh Konfigurasi file extconfig.conf
42
xviii
2.20
Contoh Konfigurasi file extensions.conf
42
2.21
Perintah SQL untuk membuat tabel sip_buddies
43
2.22
Perintah SQL untuk membuat tabel extensions_table
44
2.23
Perintah SQL untuk membuat tabel voicemail_users
44
2.24
Perintah SQL untuk membuat tabel cdr
45
3.1
Perangkat Telepon VoIP Hardware ( IP Phone )
48
3.2
Perangkat Telepon VoIP Software ( X-Lite )
48
3.3
Perangkat VoIP Gateway
49
3.4
Sistem Komunikasi VoIP Menggunakan Asterisk
51
3.5
Contoh Konfigurasi Otentikasi User Pada File sip.conf
53
3.6
Contoh Konfigurasi DialPlan Pada File extensions.conf
54
3.7
Contoh Konfigurasi Voicemail Pada File voicemail.conf
55
3.8
Flowchart Proses Komunikasi VoIP
56
3.9
Use Case Diagram Aplikasi
57
3.10
Sequence Diagram Login
60
3.11
Sequence Diagram Asterisk File
61
3.12
Sequence Diagram Service Asterisk
61
3.13
Sequence Diagram Menambah Extensions Line
62
3.14
Sequence Diagram Mengedit Extensions Line
62
3.15
Sequence Diagram Menghapus Extensions Line
63
3.16
Sequence Diagram Menambah PABX Line
63
3.17
Sequence Diagram Mengedit PABX Line
64
xix
3.18
Sequence Diagram Menghapus PABX Line
64
3.19
Sequence Diagram Menambah Trunking Server Line
65
3.20
Sequence Diagram Mengedit Trunking Server Line
65
3.21
Sequence Diagram Menghapus Trunking Server Line
66
3.22
Sequence Diagram Change Password Administrator
66
3.23
Sequence Diagram Cari Data Call Detail Record
67
3.24
Sequence Diagram Menghapus Data Call Detail Record
67
3.25
Sequence Diagram Phonebook
68
3.26
Skenario Komunikasi VoIP menggunakan
71
Sebuah VoIP Server
3.27
3.28
Skenario Komunikasi VoIP PC to Phone dan Phone to PC
72
Skenario Komunikasi VoIP menggunakan dua buah
73
VoIP Server ( Trunking Server )
3.29
Perancangan Antarmuka Login Administrator
78
3.30
Perancangan Antarmuka Phonebook
79
3.31
Perancangan Antarmuka Index Configuration
80
3.32
Perancangan Antarmuka Asterisk File
81
3.33
Perancangan Antarmuka Edit Asterisk File
82
3.34
Perancangan Antarmuka Service Asterisk
83
3.35
Perancangan Antarmuka Extensions Line Type Local
84
3.36
Perancangan Antarmuka Extensions Line Type Trunk
85
3.37
Perancangan Antarmuka Edit Extensions Line Type Trunk
86
xx
3.38
Perancangan Antarmuka Edit Extensions Line Type Local
87
3.39
Perancangan Antarmuka PABX Line
88
3.40
Perancangan Antarmuka Edit PABX Line
89
3.41
Perancangan Antarmuka Trunking Server Line
90
3.42
Perancangan Antarmuka Trunking Registration Status
91
3.43
Perancangan Antarmuka Edit Trunking Server Line
92
3.44
Perancangan Antarmuka Call Detail Record
93
3.45
Perancangan Antarmuka Change Password Administrator
94
4.1
Hasil Load Module Koneksi Asterisk Ke database MySQL
98
4.2
Implementasi Antarmuka Login Administrator
101
4.3
Implementasi Antarmuka Phonebook
102
4.4
Antarmuka Hasil Data Phonebook ditemukan
103
4.5
Implementasi Antarmuka Index Configuration
104
4.6
Implementasi Antarmuka Asterisk File
106
4.7
Implementasi Antarmuka Edit Asterisk File
108
4.8
Implementasi Antarmuka Asterisk File
109
4.9
Implementasi Antarmuka Extensions Line Type Local
110
4.10
Antarmuka Hasil Penambahan Extensions Line
113
Type Local
4.11
Antarmuka Konfirmasi Delete Extensions Line Type Local
114
4.12
Implementasi Antarmuka Edit Extensions Type Local
116
4.13
Antarmuka Informasi Proses Edit Extensions Type Local
118
xxi
4.14
Implementasi Antarmuka Extensions Line type Trunk
4.15
Antarmuka Hasil Penambahan Extensions Line
118
120
Type Trunk
4.16
Antarmuka Konfirmasi Hapus Extensions Line
121
Type Trunk
4.17
Implementasi Antarmuka Edit Extensions Type Trunk
122
4.18
Implementasi Antarmuka PABX Line
123
4.19
Antarmuka Hasil Penambahan Account PABX Line
126
4.20
Antarmuka Konfirmasi Hapus Data PABX Line
127
4.21
Implementasi Antarmuka Edit PABX Line
128
4.22
Antarmuka Informasi Proses Edit PABX Line
129
4.23
Implementasi Antarmuka Trunking Server Line
130
4.24
Antarmuka Informasi Hasil Penambahan
133
Trunking Server Line
4.25
Antarmuka Hasil Penambahan Trunking Server Line
133
4.26
Antarmuka Konfirmasi Hapus data Trunking Server Line
134
4.27
Implementasi Antarmuka Edit Trunking Server Line
136
4.28
Implementasi Antarmuka Trunking Registration Status
137
4.29
Implementasi Antarmuka Call Detail Record
139
4.30
Implementasi Antarmuka Change Password Administrator
140
4.31
Skenario Jaringan VoIP Menggunakan Sebuah
141
VoIP Server
xxii
4.32
Tabel Data Account Extensions Local Skenario Jaringan I
142
4.33
Skenario Komunikasi VoIP PC to Phone dan Phone to PC
143
4.34
Tabel Data Account Extensions Local Skenario Jaringan II
145
4.35
Tabel Data Account PABX Line Skenario Jaringan II
146
4.36
Skenario Komunikasi VoIP menggunakan dua buah
147a
VoIP Server ( Trunking Server )
4.37
Tabel Data Account Extensions Local dan Trunk
149
Pada VoIP Server I Skenario Jaringan III
4.38
Tabel Data Account Extensions Local dan Trunk
150
Pada VoIP Server II Skenario Jaringan III
4.39
Tabel Data Account Trunking Server Line
151
Pada VoIP Server I Skenario Jaringan III
4.40
Tabel Data Account Trunking Server Line Pada
152
VoIP Server II Skenario Jaringan III
4.41
Halaman Login Admin pada Perangkat IP Phone
153
4.42
Halaman Informasi Perangkat IP Phone
154
4.43
Menu Network Configuration pada Perangkat IP Phone
155
4.44
Menu SIP Configuration pada Perangkat IP Phone
156
4.45
Tampilan Proses Registering IP Phone
156
4.46
Tampilan Status IP Phone siap digunakan
157
4.47
Tampilan Awal Program X-Lite
158
4.48
Jendela Menu Konfigurasi pada X-Lite
158
xxiii
4.49
Menu SIP Account Pada X-Lite
159
4.50
Konfigurasi SIP Account Pada X-Lite
159
4.51
Aktifasi X-Lite
160
4.52
Tampilan Proses Registering Pada X-Lite
160
4.53
4.54
4.55
4.56
4.57
Tampilan X-Lite Siap Digunakan
Tampilan Login Admin Perangkat ITG
Tampilan Awal Menu Konfigurasi ITG
Menu WAN Setting pada Perangkat ITG
Pemasangan Kabel Pada ITG
161
162
163
163
164
4.58
Tampilan Form Input Data Registrasi Pada ITG
165
4.59
Setting Data SIP Proxy Pada ITG
166
4.60
Tampilan Status registrasi Perangkat ITG
166
ke Asterisk VoIP Server
5.1
Konfigurasi otentikasi user pada file sip.conf
169
5.2
Konfigurasi DialPlan pada file extensions.conf
170
5.3
Konfigurasi voicemailbox pada file voicemail.conf
171
xxiv
DAFTAR TABEL
Tabel
Keterangan
Halaman
2.1
Protokol Standard VoIP
15
2.2
Kebutuhan Bandwith VoIP
16
2.3
Pesan SIP Response
27
Contoh Konfigurasi Otentikasi User Pada
3.1
53
Tabel sip_buddies
3.2
Contoh Konfigurasi DialPlan Pada Tabel extensions_table
54
3.3
Contoh Konfigurasi Voicemail Pada Tabel voicemail_users
55
3.4
Tabel Admin
74
3.5
Tabel sip_buddies
74
3.6
Tabel extensions_table
75
3.7
Tabel Voicemail_users
75
3.8
Tabel CDR
76
3.9
Tabel PABX_tables
76
3.10
Tabel Trunking_tables
77
4.1
Daftar file Antarmuka dan file Action
141
4.2
Data Register Client Skenario Jaringan I
143
4.3
4.4
Data Registrasi Client Skenario Jaringan II
Data Registrasi Perangkat VoIP Gateway
xxv
145
146
Skenario Jaringan II
Data Registrasi Client Pada VoIP Server I
4.5
149
Skenario Jaringan III
Data Registrasi Client Pada VoIP Server II
4.6
150
Skenario Jaringan III
Data Registrasi Trunking VoIP Server I
4.7
151
ke VoIP Server II
Data Registrasi Trunking VoIP Server II
4.8
152
ke VoIP Server I
Kebutuhan Konfigurasi Asterisk Berdasarkan
5.1
168
Cara Konfigurasi
5.2
Konfigurasi otentikasi user pada tabel sip_buddies
169
5.3
Konfigurasi DialPlan pada tabel extensions_table
170
5.4
Konfigurasi voicemail pada tabel voicemail_users
171
xxvi
BAB I
PENDAHULUAN
1.1
Latar Belakang Masalah
Tingginya tarif komunikasi, terutama untuk sambungan jarak jauh
misalkan : SLJJ ( Sambungan Langsung Jarak Jauh ) maupun SLI ( Sambungan
Langsung Internasional ) seringkali menjadi kendala dalam berkomunikasi
melalui jaringan telepon biasa ( PSTN ). Tingginya tarif komunikasi tersebut
dipengaruhi oleh beberapa faktor diantaranya jarak dan waktu, sehingga semakin
jauh jarak dan semakin lama panggilan yang dilakukan melalui jaringan telepon
tersebut, maka tarif yang harus dibayarkan juga semakin tinggi.
Salah satu alternatif untuk mengatasi kendala dalam berkomunikasi tersebut
adalah dengan memanfaatkan teknologi Internet. Salah satunya dengan
menggunakan teknologi telepon via Internet yang dikenal dengan IP Telephony,
selanjutnya dikenal dengan istilah VoIP ( Voice over Internet Protocol ). Secara
sederhana, VoIP bisa diartikan bertelepon menggunakan jaringan IP ( Internet
Protocol ) atau Internet. Dengan bertelepon menggunakan VoIP banyak
keuntungan yang dapat diambil, diantaranya adalah dari segi biaya jelas lebih
murah dibandingkan dengan telepon biasa ( PSTN ), hal ini dikarenakan jaringan
IP atau Internet bersifat global. Sehingga faktor jarak dan waktu tidak lagi
mempengaruhi tarif komunikasi. Dan sudah bukan merupakan hal yang asing lagi
bahwa biaya pulsa untuk akses Internet lebih murah dibandingkan dengan biaya
telepon biasa ( PSTN ).
1
2
Salah satu software yang dapat digunakan untuk implementasi teknologi
VoIP adalah Asterisk. Asterisk merupakan salah satu software IP PBX ( Internet
Protocol Private Branch Exchange ) jenis SIP Proxy, dengan menggunakan
Asterisk dimungkinkan untuk membangun sebuah sentral telepon sederhana
berbasis jaringan IP ( Internet Protocol ). Asterisk berupa file konfigurasi yang
dapat digunakan untuk membangun sebuah sentral telepon berbasis jaringan IP
( VoIP Server ). Asterisk didukung oleh beberapa protokol untuk komunikasi
VoIP, antara lain SIP ( Session Initiation Protocol ), IAX ( Inter-Asterisk
Exchange ), H.323, MGCP ( Media Gateway Control Protocol ), dan SCCP
( Cisso Skinny ).
Setting konfigurasi pada Asterisk untuk membangun VoIP Server pada
dasarnya meliputi proses dua proses yaitu pertama, proses otentikasi user
(dengan nomor telepon dan password) dan kedua, proses konfigurasi DialPlan.
DialPlan merupakan konfigurasi yang digunakan untuk mengatur apa yang harus
dilakukan untuk melakukan panggilan ke sebuah nomor telepon tertentu.
Setting konfigurasi Asterisk untuk membangun sebuah sentral telepon
( VoIP Server ) dapat dilakukan melalui dua cara yaitu : berbasis text ( text based )
dan berbasis Asterisk Reealtime. Konfigurasi Asterisk berbasis text ( text based ),
merupakan konfigurasi Asterisk yang dilakukan dengan cara mengetikkan
serangkaian aturan konfigurasi pada file tertentu secara langsung, sedangkan
konfigurasi Asterisk berbasis Asterisk Realtime merupakan cara konfigurasi
Asterisk yang dilakukan dengan cara mengentrykan data pada tabel tertentu pada
database yang telah disiapkan sebelumnya.
3
Selain itu juga setting konfigurasi masih dilakukan dengan cara mendatangi
komputer ( PC ) yang dijadikan VoIP Server tersebut secara langsung, hal ini
tentu saja sangat merepotkan bagi seorang pengguna khususnya yang ingin
membuat sebuah sentral telepon sederhana dengan menggunakan Asterisk.
Dengan melihat permasalahan yang ada pada setting konfigurasi pada
Asterisk tersebut, maka pada penelitian ini akan dibangun sebuah aplikasi
manajemen Asterisk VoIP Server, khususnya untuk mengatur proses otentikasi
username dan password dari client VoIP Server dan proses pengaturan DialPlan
yang berbasis web dan dengan menggunakan teknik Asterisk Realtime dan
berbasis protokol SIP pada sistem operasi Linux. Aplikasi ini akan dibuat dengan
menggunakan bahasa pemrograman PHP ( Hypertext Preprocessor ) dan database
MySQL.
1.2
Rumusan Masalah
Permasalahan pada penelitian ini adalah :
1. Bagaimana mengkonfigurasi Asterisk sebagai VoIP Server dengan
menggunakan teknik Asterisk Realtime dan berbasis protokol SIP
sehingga dapat digunakan untuk implementasi teknologi VoIP,
khususnya untuk membangun sebuah sentral telepon berbasis jaringan IP
( Internet Protocol ).
2. Bagaimana mengimplementasikan teknologi berbasis web untuk
membuat sebuah program aplikasi manajemen Asterisk pada sistem
operasi Linux yang dapat diakses jarak jauh ( remote ), sehingga
4
memberikan kemudahan bagi pengguna ( administrator ) untuk setting
konfigurasi Asterisk, khususnya untuk proses otensikasi user dan proses
pengaturan DialPlan yang berbasis GUI ( Graphical User Interface ).
1.3
Batasan Masalah
Karena keterbatasan waktu, tenaga dan kemampuan, penelitian ini di batasi
sebagai berikut :
1. Sistem yang dibuat dibatasi untuk implementasi VoIP menggunakan
Asterisk sebagai VoIP Server, khususnya untuk membuat sebuah sentral
telepon berbasis jaringan IP atau internet yang menyediakan layanan
komunikasi suara seperti layaknya komunikasi pada jaringan telepon
biasa ( PSTN ).
2. Sistem yang dibuat dibatasi pada proses konfigurasi Asterisk untuk
proses otensikasi user dan pengaturan DialPlan dengan menggunakan
teknik Asterisk Realtime.
3. Pada penelitian ini tidak membahas mengenai kebutuhan dan
perhitungan bandwith yang dibutuhkan pada implementasi VoIP yang
dapat digunakan untuk membangun layanan telepon berbasis jaringan IP.
4. Protokol VoIP yang akan digunakan adalah SIP ( Session Initiation
Protocol ).
5. Features Asterisk yang digunakan pada penelitian ini antara lain :
voicemail system, call detail record, caller id, remote call agents, local
call agents.
5
6. Setting konfigurasi yang digunakan adalah setting konfigurasi yang
berhubungan dengan konfigurasi Asterisk dengan Teknik Asterisk
Realtime dan berbasis protokol SIP.
1.4
Tujuan Penelitian
Tujuan dari penelitian ini adalah membangun aplikasi berbasis grafis (GUI)
yang dapat digunakan untuk mengkonfigurasi Asterisk VoIP server, khususnya
untuk konfigurasi proses otensikasi user ( dengan username dan password ) dan
proses pengaturan DialPlan sehingga dapat digunakan untuk membantu dalam
membangun sebuah sentral telepon berbasis jaringan IP ( Internet Protocol ).
1.5
Manfaat Penelitian
Dengan adanya aplikasi yang akan dibuat pada penelitian ini, ada beberapa
manfaat yang diperoleh, yaitu :
1. Memberikan
alternatif
solusi
untuk
mengatasi
kendala
dalam
berkomunikasi, khususnya berkaitan dengan tingginya biaya komunikasi
menggunakan
jaringan
telepon
biasa
(PSTN)
dengan
cara
mengimplementasikan teknologi komunikasi melalui jaringan VoIP
dengan menggunakan Asterisk.
2. Proses konfigurasi pada Asterisk, khususnya untuk menangani otentikasi
user dan pengaturan DialPlan dapat dilakukan dengan berbasis grafis
( GUI ), yaitu dengan cara menginputkan data pada form yang telah
disediakan pada aplikasi ini.
6
1.6
Metodologi Penelitian
Metode yang dipergunakan untuk perancangan sistem dan pembuatan
perangkat lunak ( aplikasi ) , serta menyelesaikan permasalahan adalah dengan
cara :
1. Studi Literatur
Kegiatan ini merupakan pendalaman materi yang berkaitan dengan
pembuatan program dan sistem yang akan dibuat meliputi :
a. Mengenal serta pendalaman konfigurasi dan cara kerja Asterisk
sebagai VoIP Server pada sistem operasi Linux, sehingga mendukung
untuk membangun sebuah sentral telepon berbasis jaringan IP dan
berbasis protokol SIP.
b.Pendalaman bahasa pemrogaman PHP dan aplikasi database MySQL
untuk membangun aplikasi manajemen Asterisk VoIP Server.
2. Perancangan Sistem
Setelah melakukan studi Literatur selanjutnya dilanjutkan dengan
perancangan sistem yang akan dibuat, perancangan meliputi topologi sistem
beserta piranti – piranti yang digunakan dan desain user interface.
3. Implementasi
Pada tahap ini adalah penerapan desain ke dalam bentuk program dengan
memanfaatkan bahasa pemrograman yang ada.
7
1.7
Sistematika Penulisan
BAB I
PENDAHULUAN
Berisi latar belakang masalah, batasan masalah, tujuan tugas akhir,
rumusan masalah, metodologi penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi landasan teori yang mendukung kegiatan penelitian,
baik dalam analisis, desain dan implementasi sistem.
BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM
Berisi tentang langkah – langkah pembuatan perangkat lunak serta
piranti yang digunakan untuk menyelesaikan masalah.
BAB IV IMPLEMENTASI SISTEM
Bab ini menjelaskan mengenai implementasi rancangan ( desain )
ke dalam bentuk utilitas yang nyata yang dapat dipergunakan
secara langsung.
BAB V ANALISIS HASIL IMPLEMENTASI
Bab ini berisi analisa mengenai aplikasi perangkat lunak yang telah
dibuat, serta kelebihan dan kekurangan aplikasi.
8
BAB VI PENUTUP
Bab ini berisi kesimpulan yang diperoleh dari keseluruhan proses
pembuatan
tugas
akhir
ini,
serta
pengembangan aplikasi lebih lanjut.
beberapa
saran
untuk
BAB II
LANDASAN TEORI
2.1. Transmission Control Protocol / Internet Protocol (TCP/IP)
2.1.1.Transmission Control Protocol ( TCP )
Dalam komunikasi dua atau lebih network device diperlukan sebuah standar
yang saling dimengerti satu sama lain, seperti layaknya sebuah bahasa bagi
manusia agar dapat berkomunikasi dengan baik antara satu sama lain. Dalam
sebuah network istilah “bahasa” tersebut disebut dengan protokol. TCP/IP sendiri
merupakan kumpulan protokol yang terdiri dari dua protokol utama, yaitu :
Transmission Control Protocol dan Internet Protocol. TCP/IP memungkinkan
terjadinya komunikasi antar komputer yang memiliki perbedaan karakteristik dari
segi hardware ataupun software.
Model TCP/IP dikembangkan pertama kali oleh Departmen Pertahanan
Amerika Serikat (U.S. Department of Defense – DoD) dengan tujuan membangun
jaringan yang dapat bertahan pada segala kondisi. Sejak saat itu TCP/IP dijadikan
model dasar yang terus digunakan, contoh model dasar dari TCP/IP adalah
internet.
Fitur – fitur yang di miliki oleh TCP / IP ( menurut Hunt 2002 ) :
1) Merupakan
open
protokol
standard,
tersedia
secara
bebas
dan
dikembangkan terlepas dari perangkat keras komputer dan sistem operasi.
Karena dukungan yang luas inilah, TCP/IP sangat ideal untuk menyatukan
berbagai perangkat keras dan lunak komputer yang beraneka ragam.
9
10
2) Independen dari perangkat keras jaringan yang khusus. Hal ini
memungkinkan penyatuan dari berbagai macam jenis jaringan. TCP/IP
dapat di pakai pada Ethernet, koneksi DSL, dial-up line, dan semua jenis
medium transmisi fisik lainnya.
3) Memiliki skema pengalamatan yang memungkinkan setiap TCP/IP device
dapat di kenali secara spesifik walaupun berada dalam jaringan yang
sangat besar seperti internet.
TCP merupakan bagian dari protokol TCP/IP yang digunakan bersama
dengan IP untuk mengirimkan data dalam bentuk unit-unit pesan antara komputer
ke internet. Pengiriman data ini dapat terjamin karena TCP memilki dua proses
data acknowledgement yaitu retransmisi dan sequencing di mana TCP selalu
meminta konfirmasi setiap kali selesai mengirim data , apakah data telah sampai
ditempat tujuan. Kemudian TCP akan mengirimkan data urutan berikutnya atau
melakukan retransmisi yaitu pengiriman ulang data tersebut. Data yang dikirim
dan diterima diatur berdasarkan nomor urut. TCP juga mengawasi unit data
individual atau dikenal dengan nama paket, dimana pesan-pesan dibagi efisiensi
routing melewati internet (Gilbert, 1995).
Protokol TCP bertanggung jawab untuk pengiriman data dari sumber ke
tujuan dengan benar. TCP juga bertugas mendeteksi kesalahan atau hilangnya data
dan melakukan pengiriman kembali sampai data yang benar diterima dengan
lengkap. TCP menyediakan pelayanan seperti connection oriented, reliable, byte
stream service. Connection oriented berarti dua aplikasi pengguna TCP harus
melakukan pembentukan hubungan dalam melakukan pertukaran data tersebut.
11
Reliable berarti TCP menerapkan proses deteksi kesalahan paket dan retransmisi.
Byte stream service berarti paket dikirimkan dan sampai ke tempat tujuan secara
berurutan.
TCP/IP terdiri dari empat layer kumpulan protokol. layer tersebut antara
lain :
Network interface layers
Dikenal juga sebagai link layer, merupakan layer terbawah yang
bertanggung jawab mengirim dan menerima data ke dan dari fisik. Media
fisiknya dapat berupa kabel, kabel optik, atau gelombang radio. Karena
tugasnya ini, protokol pada layer ini harus mampu menjadi data digital yang
di mengerti komputer yang berasal dari peralatan lain yang sejenis.
Network layer biasanya disebut Internet layers
Protokol yang berada pada layer ini bertanggung jawab dalam proses
pengiriman paket ke alamat yang tepat. Pada layer ini terdapat tiga macam
protokol yaitu IP, ARP, dan ICMP.
Transport layers
Layer ini berisi protokol yang bertanggung jawab untuk mengadakan
komunikasi antara dua host. Kedua protokol yang terdapat pada layer ini
adalah TCP ( Transmission Control Protocol ) dan UDP ( User Datagram
Protokol ).
Applications layers
Pada lapisan ini terletak semua aplikasi yang menggunakan protokol
TCP/IP. Pada lapisan ini terdapat beberapa protokol seperti TFTP, FTP,
12
NFS untuk file transfer. SMTP dan POP3 sebagai protokol aplikasi e-mail.
Telnet dan ssh sebagai aplikasi remote login. SNMP sebagai protokol
manajemen jaringan. Kemudian DNS, sebagai protokol aplikasi sistem
penamaan di internet. Serta HTTP, sebagai protokol aplikasi web.
2.1.2 Internet Protocol ( IP )
IP adalah protokol pada TCP/IP yang mengatur bagaimana suatu data dapat
dikenal dan dikirim dari satu komputer ke komputer lain sampai tujuan dalam
suatu jaringan komputer. IP memiliki karakteristik sebagai connectionless
protocol. Ini berarti IP tidak melakukan erorr – detection- and-recovery dan
pertukaran kontrol informasi ( disebut juga “handshake” ) untuk membangun
sebuah koneksi sebelum mengirim data. Sebuah koneksi baru akan terjadi apabila
proses handshake tersebut dilakukan, sehinga dalam hal ini IP bergantung pada
layer lainnya untuk melakukan handshake tersebut ( hunt, 2002 ).
IP memiliki 5 fungsi utama dalam jaringan berbasiskan TCP/IP ( Menurut
Hunt ) :
1. Mendefinisikan paket yang merupakan unit dasar transmisi di Internet
2. Mendefinisikan skema pengalamatan Internet
3. Memindahkan data antara Transport layer dengan Network Access layer
4. Melakukan routing paket
5. Melakukan fragmentasi dan penyusunan ulang paket.
13
2.2. Voice over Internet Protocol ( VoIP )
Voice over Internet Protocol ( VoIP ) atau yang dikenal juga dengan sebutan
IP Telephony, adalah sistem
yang mampu mengirimkan data paket suara
menggunakan jaringan internet dari suatu tempat ke tempat yang lain
menggunakan perantara protokol IP ( Internet Protocol ).
Bentuk paling sederhana dalam sistem VoIP adalah dua buah komputer yang
terhubung dalam suatu jaringan yang dapat berkomunikasi suara. Syarat dasar
untuk mengadakan koneksi sistem VoIP adalah pada ke dua buah komputer
tersebut mempunyai sound card ( kartu suara ), speaker dan mikropon. Dengan
menggunakan perangkat lunak khusus, kedua pemakai komputer bisa saling
terhubung dalam koneksi VoIP satu sama lain. Penekanan hubungan tersebut
adalah dalam bentuk suara ( voice ).
Pada perkembangannya, sistem koneksi VoIP mengalami evolusi. Bentuk
peralatan pun berkembang, tidak hanya berbentuk hubungan antar komputer
dalam suatu jaringan, tetapi juga hubungan komputer dengan peralatan yang lain
( contoh : pesawat telepon analog milik jaringan “ TELKOM “ ) yang terhubung
dengan jaringan VoIP. Untuk hubungan yang berbentuk seperti ini dibutuhkan
sebuah VoIP gateway, agar telepon analog biasa tersebut bisa berhubungan
dengan komputer dalam satu jaringan VoIP.
14
2.2.1. Format Paket VoIP
Tiap paket VoIP terdiri atas dua bagian, yaitu header dan payload (beban).
Header terdiri atas IP Header, Real-time Transport Protocol ( RTP ) header, User
Datagram Protocol ( UDP ) header dan link header. Lihat gambar 2.1.
Masing - masing bagian dalam header tersebut memiliki tugas dan fungsi
sebagai berikut :
1. IP Header bertugas menyimpan informasi routing untuk mengirimkan
paket – paket ke tujuan. Pada setiap header IP disertakan tipe layanan atau
Type of Service ( ToS ) yang memungkinkan paket tertentu seperti paket
suara diperlakukan berbeda dengan paket yang non real-time.
2. UDP header sangat peka terhadap delay dan latency sehingga UDP sangat
cocok digunakan dalam aplikasi voice real-time. Selain itu juga UDP
memiliki ciri khusus yaitu tidak menjamin paket sampai tujuan.
3. RTP header adalah header yang dapat dimanfaatkan untuk melakukan
framing dan segmentasi data real-time. Pada RTP menggunakan protokol
kendali yang disebut RTCP ( Real-time Transport Control Protocol ) yang
akan mengendalikan QoS dan sinkronisasi media stream yang berbeda.
4. Besarnya Link header bergantung dari jenis media yang digunakan.
FORMAT PAKET VoIP
Link Header
IP Header
UDP Header
RTP Header
Voice Payload
X Bytes
20 Bytes
8 Bytes
12 Bytes
X Bytes
Gambar 2.1 Format Paket Voice over Internet Protocol ( VoIP )
15
2.2.2. Protokol Standard dalam sistem VoIP dari site www.Protocols.com
Tabel 2.1 Protokol Standard VoIP
Signaling
H.323
H.323
Megaco H.248
Gateway Control Protocol
MGCP
Media Gateway Control Protocol
RVP over I P
Remote Voice Protocol Over I P Specification
SAPv2
Session Announcement Protocol
SGCP
Simple Gateway Control Protocol
SI P
Session I nitiation Protocol
Skinny
Skinny Client Control Protocol (Cisco)
Media
DVB
Digital Video Broadcasting
H.261
Video stream for transport using the real-time transport
H.263
Bitstream in the Real-time Transport Protocol
RTCP
RTP Control protocol
RTP
Real-Time Transport
2.2.3. Kebutuhan Bandwith untuk VoIP
Salah satu hal yang menjadi kendala dalam komunikasi VoIP adalah
ketersedian bandwith jaringan yang akan dipakai, karena ketersediaan bandwith
akan berpengaruh kepada kualitas suara dalam komunikasi VoIP. Ada beberapa
faktor yang mempengaruhi kebutuhan bandwith salah satunya adalah teknik
kompresi yang digunakan dalam jaringan tersebut atau yang biasa disebut dengan
codec ( coder decoder ). Ada beberapa jenis codec yang umum digunakan dalam
jaringan VoIP, antara lain : G.711, G.723, G.726, G.729, ILBC, LPC, dan GSM.
Untuk memperoleh perkiraan penggunaan dari berbagai codec dapat dilihat pada
16
tabel berikut ( dihitung dengan menggunakan bandwith calculator dari site
http://www.asteriskguru.com/tools/bandwith_calculator.php) :
Tabel 2.2 Kebutuhan Bandwith VoIP
I ncoming ( Kbps )
Outgoing ( Kbps )
GSM- 13.00 Kibps
28.63
28.63
I LBC – 15.20 Kibps
30.83
30.83
Codec
LPC – 2.50 Kibps
18.13
18.13
G.711 – 64.00 Kibps
79.63
79.63
G.723 – 1-6.10 Kibps
21.73
21.73
G.726 – 32.00 Kibps
47.63
47.63
G.729 – 8.00 Kibps
23.63
23.63
Tabel 2.2, merupakan tabel hasil perkiraan perhitungan bandwith yang
dibutuhkan dalam setiap 1 panggilan / percakapan pada jaringan VoIP dengan
menggunakan codec tertentu. Kebutuhan bandwith untuk masing – masing codec
dapat dilihat pada hasil incoming bandwith dan outgoing bandwith.
2.2.4. Jenis Konfigurasi Jaringan VoIP
Jenis Konfigurasi VoIP dapat dibuat dalam berbagai skenario, konfigurasi
ini bergantung pada perangkat apa saja yang akan diterapkan dalam membangun
jaringan VoIP. Secara umum konfigurasi VoIP dapat dijelaskan sebagai berikut :
1. Hubungan Telepon dengan menggunakan N:1 Gateway
Konfigurasi VoIP ini menggunakan jaringan telepon dan merupakan
hubungan phone to phone. VoIP gateway berfungsi sebagai translator atau
konversi voice ke data ataupun sebaliknya.
17
Gambar 2.2 Hubungan Telepon menggunakan N:1 Gateway
2. Hubungan PC menggunakan Router
Konfigurasi
ini
merupakan
konfigurasi
komunikasi
PC
to
PC
menggunakan router. Pada konfigurasi ini, proses encoding, kompresi, serta
enkapsulasi dilakukan di PC. Tugas router adalah mempelajari IP address
tujuan yang terdapat pada datagram dan me-routing-kan sesuai dengan
tujuannya. Pada konfigurasi ini, sangat bergantung pada kemampuan
microphone PC dalam hal penerimaan suara yang biasanya background noise
juga akan mengikuti sebagai bagian dari suara pembicara.
Gambar 2.3 Hubungan PC menggunakan Router
3. Hubungan Telepon ke PC
Konfigurasi ini digunakan untuk menghilangkan permasalahan noise yang
timbul pada konfigurasi hubungan PC menggunakan router, yaitu dengan
menggunakan telepon sebagai pengganti microphone. Pada konfigurasi ini PC
18
berfungsi sebagai pada operasi konversi A/D ( Analog to Digital ) dan D/A
( Digital to Analog ).
Gambar 2.4 Hubungan Telepon ke PC
4. Hubungan dengan Gateway 1:1
Konfigurasi ini merupakan bentuk lain dari hubungan phone to phone.
Rasio 1:1 berarti hanya ada satu voice connection ( koneksi suara ) yang
didukung oleh gateway. Fungsi dari gateway pada konfigurasi jenis ini adalah
untuk menerima sinyal analog dari telepon dan melakukan proses A/D
( Analog to Digital ) pada sinyal. Pada konfigurasi jenis ini memiliki beberapa
parameter antara lain : IP-address, nomor telepon, ISP yang akan dimasukkan
melalui dialpad pesawat telepon. Konfigurasi ini memiliki kelemahan yaitu
penerima dan pengirim harus mempunyai gateway 1:1.
Gambar 2.5 Hubungan dengan Gateway 1:1
19
5. Hubungan menggunakan LAN ( Local Area Network )
Konfigurasi jenis ini merupakan kombinasi dari konfigurasi hubungan
telepon ke PC dan konfigurasi hubungan dengan gateway 1:1. Pada
konfigurasi ini semua user dihubungkan dalam suatu LAN dan suatu site.
Panggilan Lokal pada LAN akan diatur oleh gateway. Fungsi dari gateway
adalah melakukan suatu fungsi manajemen hubungan, sedangkan PC dan
workstation akan menjalankan VoIP dan mengeksekusi low bit rate voice dari
voice coder.
Gambar 2.6 Hubungan menggunakan LAN ( Local Area Network )
2.3. Session Initiation Protocol ( SIP )
Session Initiation Protocol ( SIP ) merupakan standar protokol multimedia
yang dikeluarkan oleh group yang tergabung dalam Multiparty Multimedia
Session Control ( MMUSIC ) yang berada dalam organisasi Internet Engineering
Task Force ( IETF ) yang didokumentasikan kedalam dokumen request for
command ( RFC ) 2543 pada bulan Maret 1999.
20
SIP sendiri merupakan protokol yang berada pada layer aplikasi yang
mendefinisikan proses awal, pengubahan dan pengakhiran ( pemutusan ) suatu
sesi komunikasi. Protokol SIP ini memiliki karakter client-server, yang berarti
bahwa request diberikan oleh client dan request ini akan dikirimkan ke server.
Kemudian server akan mengolah dan memberikan tanggapan terhadap request
tersebut ke client. Request dan tanggapan ini diseb