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
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
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
....
...
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
...
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.
could be done in two ways, they are text-based and Asterisk Realtime technique-based. 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.
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 untuk kerja part time diwarnet
Bapak.
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
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
HALAMAN JUDUL ...
1.1 Latar Belakang Masalah ...
1.2 Rumusan Masalah ...
1.3 Batasan Masalah ...
1.4 Tujuan Penelitian ...
1.5 Manfaat Penelitian ...
2.1 Transmission Control Protocol / Internet Protocol (TCP/IP) ...
2.1.1 Transmission Control Protocol ( TCP ) ...
2.1.2 Internet Protocol ( IP ) ...
2.2 Voice over Internet Protocol ( VoIP ) ...
2.2.1 Format Paket VoIP ...
2.2.2 Protokol Standard dalam sistem VoIP ...
2.2.3 Kebutuhan Bandwith untuk VoIP ...
2.2.4 Jenis Konfigurasi Jaringan VoIP ...
2.3 Session Initiation Protocol ( SIP ) ...
2.3.1 Susunan Protokol SIP ...
2.3.2 Komponen Protokol SIP ...
2.3.3 Pengalamatan Protokol SIP ...
2.3.4 Format Pesan Protokol SIP ...
2.3.5 Header Field pada Protokol SIP ...
2.3.6 SIP Request dan SIP Response ...
2.3.6.1SIP Request...
2.3.6.2SIP Response ...
2.3.7 Prosedur Persinyalan pada Protokol SIP ...
2.3.7.1Prosedur Persinyalan menggunakan Proxy Server...
2.3.7.2Prosedur Persinyalan menggunakan Redirect Server...
2.5 Asterisk ...
2.5.1 Features Asterisk ...
2.5.2 File Konfigurasi Asterisk ...
2.5.3 Konfigurasi Asterisk ...
2.6 Asterisk Realtime Architecture ( ARA ) ...
2.6.1 Langkah – Langkah Konfigurasi ARA pada Asterisk ...
2.7 Web Browser ...
BAB III. ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM
3.1 Analisis Kebutuhan Sistem ...
3.2 Gambaran Umum Sistem Komunikasi VoIP menggunakan Asterisk ...
3.3 Penggunaan Teknik Asterisk Realtime Dalam Konfigurasi Asterisk
Berbasis Protokol SIP ...
3.4 Perancangan Sistem ...
3.4.1 Flowchart Komunikasi VoIP ...
3.4.2 Use Case Diagram Aplikasi ...
3.4.3 Sequence Diagram Aplikasi ...
3.4.4 Konfigurasi Hardware dan Software ...
3.4.5 Skenario Pengujian Sistem ...
4.1 Spesifikasi Hardware dan Software yang digunakan ...
4.2 Setting Koneksi Asterisk dengan database MySQL ...
4.3 Implementasi Antarmuka ( User Interface ) ...
4.4 Implementasi File Antarmuka dan File Action ...
4.5 Implementasi Skenario Pengujian Sistem ...
4.6 Implementasi IP Phone sebagai client Asterisk VoIP Server ...
4.7 Implementasi X-Lite sebagai client Asterisk VoIP Server ...
4.8 Implementasi VoIP Gateway ( ITG ) sebagai media penghubung antara
jaringan VoIP dengan jaringan PABX ... 95
BAB V. ANALISIS HASIL IMPLEMENTASI
5.1.Hasil Uji Coba Program ...
5.2.Analisis Konfigurasi Asterisk sebagai VoIP Server Berbasis Protokol SIP ..
5.3.Kelebihan dan Kekurangan Program ...
5.3.1 Kelebihan Program ...
5.3.2 Kekurangan Program ...
BAB VI KESIMPULAN DAN SARAN
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 FormatPengalamatan 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
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 ContohKonfigurasi Otentikasi User Pada File sip.conf 53
3.6 ContohKonfigurasi 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 UseCaseDiagram 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
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
Sebuah VoIP Server
71
3.27 Skenario Komunikasi VoIP PC to Phone dan Phone to PC 72
3.28 Skenario Komunikasi VoIP menggunakan dua buah
VoIP Server ( Trunking Server )
73
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
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 ImplementasiAntarmuka Edit Asterisk File 108
4.8 ImplementasiAntarmuka Asterisk File 109
4.9 Implementasi Antarmuka Extensions Line Type Local 110
4.10 Antarmuka Hasil Penambahan Extensions Line
Type Local
113
4.11 Antarmuka Konfirmasi Delete Extensions Line Type Local 114
4.12 ImplementasiAntarmuka Edit Extensions Type Local 116
4.13 Antarmuka Informasi Proses Edit Extensions Type Local 118
Type Trunk
4.16 Antarmuka Konfirmasi Hapus Extensions Line
Type Trunk
121
4.17 ImplementasiAntarmuka Edit Extensions Type Trunk 122
4.18 ImplementasiAntarmuka PABX Line 123
4.19 Antarmuka Hasil Penambahan Account PABX Line 126
4.20 Antarmuka Konfirmasi Hapus Data PABX Line 127
4.21 ImplementasiAntarmuka Edit PABX Line 128
4.22 Antarmuka Informasi Proses Edit PABX Line 129
4.23 ImplementasiAntarmuka Trunking Server Line 130
4.24 Antarmuka Informasi Hasil Penambahan
Trunking Server Line
133
4.25 Antarmuka Hasil Penambahan Trunking Server Line 133
4.26 Antarmuka Konfirmasi Hapus data Trunking Server Line 134
4.27 ImplementasiAntarmuka Edit Trunking Server Line 136
4.28 ImplementasiAntarmuka Trunking Registration Status 137
4.29 ImplementasiAntarmuka Call Detail Record 139
4.30 ImplementasiAntarmuka Change Password Administrator 140
4.31 Skenario Jaringan VoIP Menggunakan Sebuah
VoIP Server
141
4.34 TabelData Account Extensions Local Skenario Jaringan II 145
4.35 TabelData Account PABX Line Skenario Jaringan II 146
4.36 Skenario Komunikasi VoIP menggunakan dua buah
VoIP Server ( Trunking Server )
147a
4.37 TabelData Account Extensions Local dan Trunk
Pada VoIP Server I Skenario Jaringan III
149
4.38 TabelData Account Extensions Local dan Trunk
Pada VoIP Server II Skenario Jaringan III
150
4.39 TabelData Account Trunking Server Line
Pada VoIP Server I Skenario Jaringan III
151
4.40 TabelData Account Trunking Server Line Pada
VoIP Server II Skenario Jaringan III
152
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 TampilanProses 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
4.51 Aktifasi X-Lite 160
4.52 Tampilan Proses Registering Pada X-Lite 160
4.53
Tampilan X-Lite Siap Digunakan 161
4.54 Tampilan Login Admin Perangkat ITG 162
4.55
Tampilan Awal Menu Konfigurasi ITG 163
4.56
Menu WAN Setting pada Perangkat ITG 163
4.57
Pemasangan Kabel Pada ITG 164
4.58 Tampilan FormInput Data Registrasi Pada ITG 165
4.59 Setting Data SIP Proxy Pada ITG 166
4.60 Tampilan Statusregistrasi Perangkat ITG
ke Asterisk VoIP Server
166
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
Tabel Keterangan Halaman
2.1 Protokol Standard VoIP 15
2.2 Kebutuhan Bandwith VoIP 16
2.3 Pesan SIP Response 27
3.1
ContohKonfigurasi Otentikasi User Pada
Tabel sip_buddies
53
3.2 Contoh Konfigurasi DialPlan Pada Tabel extensions_table 54
3.3 ContohKonfigurasi 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 Data Registrasi Client Skenario Jaringan II 145
4.4 Data Registrasi Perangkat VoIP Gateway 146
Skenario Jaringan III
4.6
Data Registrasi Client Pada VoIP Server II
Skenario Jaringan III
150
4.7
Data Registrasi Trunking VoIP Server I
ke VoIP Server II
151
4.8
Data Registrasi Trunking VoIP Server II
ke VoIP Server I
152
5.1
Kebutuhan Konfigurasi Asterisk Berdasarkan
Cara Konfigurasi
168
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
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 ).
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
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
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
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
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
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
BAB VI PENUTUP
Bab ini berisi kesimpulan yang diperoleh dari keseluruhan proses
pembuatan tugas akhir ini, serta beberapa saran untuk
9 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
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
Reliable berarti TCP menerapkan proses deteksi kesalahan paket dan retransmisi.
Byte streamservice 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
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
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
2.2.1. Format Paket VoIP
Tiap paket VoIPterdiri 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 headerIP 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.
Gambar 2.1 Format Paket Voice over Internet Protocol ( VoIP )
Link Header IP Header UDP Header RTP Header Voice Payload
X Bytes 20 Bytes 8 Bytes 12 Bytes X Bytes
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.
tabel berikut ( dihitung dengan menggunakan bandwith calculator dari site
http://www.asteriskguru.com/tools/bandwith_calculator.php) :
Tabel 2.2 Kebutuhan Bandwith VoIP
Codec I ncoming ( Kbps ) Outgoing ( Kbps )
GSM-13.00 Kibps 28.63 28.63
I LBC – 15.20 Kibps 30.83 30.83
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 VoIPdapat dibuat dalam berbagai skenario, konfigurasi
ini bergantung pada perangkat apa saja yang akan diterapkan dalam membangun
jaringan VoIP. Secara umum konfigurasi VoIPdapat 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
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
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.
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 VoIPdan 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
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 disebut sebagai sebuah transaksi
SIP. SIP disebut juga sebagai protokol yang text-based ( berbasis text ).
2.3.1Susunan Protokol SIP
Protokol SIP didukung oleh beberapa protokol, antara lain RSVP, RTP,
RCTP dan SDP. Tetapi secara default SIP menggunakan protokol RTP atau UDP
sebagai protokol transport. Susunan protokol SIP dapat digambarkan sebagai
berikut :
Gambar 2.7 Susunan Protokol SIP
UDP RTP
IP
IP
SDP SIP
1. Protokol RSVP ( Resource Reservation Protocol )
Protokol ini berfungsi untuk menyediakan bandwith agar data suara yang
dikirimkan tidak mengalami delay atau kerusakan saat mencapai alamat tujuan
unicast maupun multicast.
RSVP merupakan signaling protocol tambahan pada VoIP yang
mempengaruhi QoS. RSVP bekerja dengan mengirimkan request pada setiap
node dalam jaringan yang digunakan untuk pengiriman data stream dan pada
setiap node RSVP akan membuat resource reservation untuk pengiriman data.
2. RTP ( Real-time Transport Protocol )
Protokol RTP menyediakan transfer media secara real-time pada jaringan
paket. Protokol RTP menggunakan protokol UDP dan header RTP
mengandung informasi kode bit yang spesifik pada tiap paket yang
dikirimkan, hal ini digunakan untuk membantu penerima mengantisipasi
apabila ada paket yang hilang.
3. RCTP ( Real-time Control Transport Protocol )
Protokol RCTP merupakan protokol yang mengendalikan transfer media.
Protokol ini akan bekerja sama dengan protokol RTP. Dalam satu sesi
komunikasi, protokol RTP mengirimkan paket RCTP secara periodik untuk
memperoleh informasi transfer media dalam memperbaiki kualitas layanan.
4. SDP ( Session Description Protocol )
Protokol SDP merupakan protokol yang mendeskripsikan media dalam
suatu komunikasi. Tujuan protokol SDP adalah untuk memberikan informasi
informasi tersebut dapat berkomunikasi. Pada protokol SDP ini mencakup
beberapa hal antara lain : nama sesi komunikasi dan tujuannya, waktu sesi
(jika) aktif, media dalam sesi komunikasi, informasi bagaimana cara
menerima media ( misalnya : port dan format ), bandwith yang digunakan
dalam komunikasi, orang yang dapat dihubungi.
2.3.2Komponen Protokol SIP
Dalam hubungannya dengan IP telephony atau VoIP, ada dua komponen
utama dalam sistem SIP, yaitu :
1. User Agent
User agent merupakan sistem akhir ( end system ) yang digunakan untuk
berkomunikasi. User agent terdiri atas dua bagian yaitu :
a. User Agent Client ( UAC )
UAC merupakan aplikasi pada client yang didesain untuk memulai SIP
request.
b. User Agent Server ( UAS )
UAS merupakan aplikasi server yang memberitahukan user jika
menerima request dan memberikan respon terhadap request tersebut.
Respon yang diberikan dapat berupa menerima atau menolak request.
2. Network Server
Agar user pada jaringan SIP dapat memulai suatu panggilan dan dapat
pula dipanggil, maka user terlebih dahulu harus melakukan registrasi agar
pesan REGISTER ke server SIP. Pada jaringan SIP ada dua tipe network
server yaitu :
a. Proxy Server
Proxy Server adalah server yang menerima request, mengolahnya serta
meneruskan request yang diterimanya ke next hop server setelah
mengubah beberapa header pada pesan request. Next hop server dapat
berupa server SIP atau server lainnya dimana proxy server tidak perlu
tahu. Proxy server dapat berfungsi sebagai client dan server karena proxy
server dapat memberikan request dan respon.
b. Redirect Server
Redirect Server merupakan server yang menerima pesan request serta
memberikan respon terhadap request tersebut yang berisikan alamat dari
next hop server.
2.3.3Pengalamatan Protokol SIP
Entitas pada jaringan SIP mempunyai alamat yang diberi attribut berupa SIP
URL ( SIP Uniform Resource Locator ) agar mudah dikenali. SIP URL yang
digunakan pada jaringan SIP berbentuk seperti alamat email yaitu user@host.
Dimana user dapat berupa nama user, nomor telepon, atau nama instansi. Host
dapat berupa nama domain atau IP address. Alamat SIP dengan bentuk
phone_number@gateway menunjukkan nomor telepon pada jaringan General
Switched Telephone Network ( GSTN ) yang dapat dihubungi dengan nama
Pengalamatan pada protokol SIP memiliki format sebagai berikut :
Gambar 2.8 FormatPengalamatan pada Protokol SIP
Contoh alamat SIP adalah sebagai berikut :
Sip : albert@voiprakyat.or.id, merupakan host independent
Sip : albert@ti.usd.ac.id, merupakan host spesific
Sip : +62-22-2530153@information.telkom.net, merupakan nomor
telepon user dengan domain gateway information.telkom.net
2.3.4Format Pesan Protokol SIP
Secara keseluruhan, pesan SIP terdiri atas dua bagian, yaitu request dan
respon. Ketika client mengirimkan pesan request maka server akan memberikan
tanggapan terhadap pesan request dari client dengan menggunakan pesan respon.
Pesan request dan pesan respon menggunakan gereneric-message yang
didefinisikan pada standar pesan berbasis text dalam komunikasi internet yang
dapat dijumpai didalam RFC 822.
Pesan request dan respon terdiri atas start line, satu atau lebih header field
( message header ) , empty line yang digunakan sebagai petunjuk akhir dari
header field serta message body yang mendefinisikan sesi komunikasi. Format
pesan pada SIP dapat dilihat pada gambar dibawah ini :
Gambar 2.9 Format Pesan SIP
[sip:] < username@host >
Generic-message : Start-line ( dalam pesan request) Status-Line ( dalam pesan respon ) Message Header
Empty Line
2.3.5 Header Field pada protokol SIP
Pada protokol SIP mempunyai 37 header, yaitu pesan – pesan yang
menggunakan header field untuk mendefinisikan caller, callee, jalur pesan, tipe
dan panjang message body. Header SIP dikelompokkan menjadi empat jenis,
yaitu :
1. General Header Field ( GHF )
GHF merupakan header yang dipakai pada pesan request dan pesan
respon. GHF yang umumnya dipakai antara lain : Call-ID, Cseq, From,To,
via.
2. Entity Header Field ( EHF )
EHF menunjukkan informasi message body. Jika message body tidak
ditemukan, maka header ini menunjukkan sumber yang diidentifikasi oleh
request. Contoh header EHF antara lain : Content-Length, Content-Type,
Content-Encoding.
3. Request Header Field ( RsHF )
RsHF adalah header yang terdapat dalam pesan request, yang
merupakan tambahan informasi tentang client dan pesan request itu sendiri.
Header yang sering dipakai adalah header Contact yang merupakan
informasi lokasi yang tergantung dari pesan tempat header itu berada.
4. Response Header Field ( ReHF )
ReHF merupakan header yang dipakai oleh server untuk menambahkan
informasi tentang respon yang tidak dapat ditempatkan pada start line
2.3.6SIP Request dan SIP Response
2.3.6.1SIP Request
SIP Request merupakan pesan request yang dikirimkan dari client ke
server. Terdapat 6 ( enam ) tipe pesan request, antara lain :
1. INVITE
Pesan ini digunakan untuk memulai suatu sesi komunikasi. Message
body pesan INVITE berisikan deskripsi media yang dapat digunakan dalam
komunikasi.
2. ACK
Pesan ini berfungsi memberitahukan bahwa client telah menerima
tanggapan terakhir terhadap pesan INVITE. Message body pesan ACK dapat
membaca deskripsi media yang akan digunakan oleh user yang dipanggil
( callee ). Jika message body ini kosong berarti calle setuju dengan message
body yang terdapat pada pesan INVITE.
3. BYE
Pesan ini dikirimkan oleh client untuk mengakhiri sesi komunikasi
4. CANCEL
Pesan CANCEL dikirimkan untuk membatalkan pesan request yang
telah dikirimkan sebelumnya, sebelum server mengirimkan pesan final
response.
5. OPTIONS
Pesan ini dikirimkan oleh client ke server untuk mengetahui
6. REGISTER
Pesan REGISTER digunakan oleh client untuk registrasi lokasi ke SIP
Server yang disebut dengan SIP register.
2.3.6.2SIP Response
Pesan respon dikirimkan oleh server setelah menerima pesan request
dari client untuk menunjukkan status keberhasilan server. Pesan respon
didefinisikan dengan tiga angka. Angka pertama merupakan kelas respon
( seluruhnya ada 6 kelas respon ), angka kedua dan angka ketiga menunjukkan
arti dari respon tersebut. Berikut tabel yang menunjukkan arti kelas respon SIP :
Tabel 2.3 Pesan SIP Response
Kelas Respon Jenis Respon Kategori Respon
1XX I nformational Provisional
2XX Success Final
3XX Redirection Final
4XX Client Error Final
5XX Server Error Final
6XX Global Error Final
Pada dasarnya SIP Response terbagi atas dua kategori, yaitu :
1. Provisional Response
Respon ini merupakan respon yang dikirimkan oleh server untuk
menunjukkan proses sedang berlangsung, tapi tidak untuk mengakhiri
transaksi SIP.
2. Final Response
2.3.7Prosedur Persinyalan pada Protokol SIP
2.3.7.1Prosedur Persinyalan menggunakan Proxy Server
Prosedur persinyalan menggunakan Proxy Server dapat dilihat pada
gambar 2.10 sebagai berikut :
Gambar 2.10 Prosedur Persinyalan SIP menggunakan Proxy Server
Langkah - langkah dalam proses persinyalan menggunakan proxy server
adalah sebagai berikut :
1. Pesan request INVITE dari caller ( endpoint 1@site1 ) akan
dikirimkan ke Proxy Server ( INVITE endpoint 2@site2 )
2. Proxy Server akan mengirimkan alamat yang terdapat pada pesan
request langkah 1 ke location server untuk memperoleh lokasi
endpoint 2@site2.
3. Location Server akan memberikan lokasi client yang berada pada site2
4. Proxy Server akan mengirimkan pesan INVITE berdasarkan lokasi
yang diberikan oleh location server. ( INVITE endpoint 2@site2 )
5. User Agent Server akan memberitahukan pada user ada pesan INVITE
yang diterima ( 100 Trying )
6. Jika pesan INVITE diterima , maka dikirimkan pesan final response
200 OK
7. Setelah pesan final response ini diterima kemudian dikirimkan pesan
ACK.
2.3.7.2Prosedur Persinyalan menggunakan Redirect Server
Prosedur persinyalan menggunakan Redirect Server dapat dilihat pada
gambar 2.11 berikut :
Langkah - langkah dalam proses persinyalan menggunakan Redirect
Server adalah sebagai berikut :
1. Pesan request INVITE dari caller ( endpoint 1@site1 ) dikirimkan ke
Redirect Server ( INVITE endpoint 2@site2)
2. Redirect Server akan mengirimkan alamat yang terdapat pada pesan
request langkah 1 ke location server untuk memperoleh lokasi
endpoint 2@site3.
3. Location Server akan memberikan lokasi client yang berada pada site3
( site 3 ) kepada Redirect Server.
4. Setelah Redirect Server menerima lokasi dari location server ( langkah
3 ), redirect server akan mengirimkan respon redirect kelas 3XX
dengan menambahkan header Contact.
5. Caller ( endpoint 1@site1 ) akan mengirimkan pesan ACK ke
Redirect Server.
6. Caller ( endpoint 1@site1 ) akan mengirimkan pesan INVITE yang
dengan alamat yang diberikan oleh server langsung ke callee
( endpoint 2@site3 ).
7. Calle ( endpoint 2@site3 ) akan memberikan respon dengan
2.3.8 Fungsi dari Protokol SIP
Protokol SIP memiliki fungsi dan peranan sebagai berikut :
1. Call Initiation
Pada call initiation mencakup beberapa hal yaitu : membangun sesi
komunikasi, negosiasi media transfer ptotokol, mengundang user agent lain
untuk bergabung dalam sesi komunikasi.
2. Call Modification
Apabila diperlukan SIP dapat berfungsi untuk memodifikasi sebuah sesi
komunikasi.
3. Call Termination
SIP berfungsi juga untuk menutup sebuah sesi komunikasi.
2.4. Internet Protocol Private Branch Exchange ( IP PBX )
IP PBX atau Internet Protocol Private Branch Exchange adalah PABX yang
menggunakan teknologi IP. IP PBX merupakan perangkat switching komunikasi
telepon dan data berbasis teknologi Internet Protocol ( IP ) yang mengendalikan
ekstension telepon analog ( TDM ) maupun ekstension IP Phone. Fungsi-fungsi
yang dapat dilakukan pada IP PBX antara lain penyambungan, pengendalian, dan
pemutusan hubungan telepon; translasi protokol komunikasi; translasi media
komunikasi atau transcoding; serta pengendalian perangkat-perangkat IP
Telephony seperti VoIP Gateway, Access Gateway, dan Trunk Gateway.
Solusi berbasis IP PBX merupakan konsep jaringan komunikasi generasi
dapat mengintegrasikan jaringan telepon konvensional ( PSTN/POTS ), jaringan
telepon bergerak ( GSM/CDMA ), jaringan telepon satelit, jaringan Cordless
(DECT), dan jaringan berbasis paket ( IP/ATM ).
IP PBX membawa kemampuan multilayanan dijaringan IP ke dunia
komunikasi telephony, sehingga akan memungkinkan semakin banyak layanan
komunikasi yang dapat berjalan di atas jaringan IP. Multilayanan tersebut antara
lain Voicemail & Voice Conference, Interactive Voice Response ( IVR ),
Automatic Call Distribution ( ACD ), Computer Telephony Integration ( CTI ),
Unified Messaging System ( UMS ), Fax Server & Fax on Demand, Call
Recording System, Billing System, serta Web-based Management System.
IP PBX juga dapat mendukung antarmuka trunk Analog FXO / FXS; Digital
E1-MFC R2, ISDN BRI, ISDN PRI; IP ( H.323/SIP/IAX ); dan Analog Tie Line
E&M. Selain itu, IP PBX dapat mendukung antarmuka ekstension Analog FXO /
FXS; ekstension Digital; ISDN Interface BRI ( 2B+D ); dan TCP IP ( H.323 / SIP
/ IAX ).
Pengembangan terbaru dari PBX adalah VoIP PBX (Voice Over IP) PBX ,
atau yang dikenal dengan IP PBX, yang menggunakan IP ( Internet Protocol )
2.4.1.Komponen Dasar IP PBX
Sebuah IP PBX ( Internet Protocol Private Branch Exchange ), terdiri atas
beberapa komponen, yaitu :
1. Data Account
Data Account pada IP PBX terdiri dari 2 macam, yaitu :
a. Data account Extensions
Merupakan data account yang akan di gunakan oleh extension agar
terhubung dengan IP PBX. Extension di sini adalah sebuah nama atau
nomor yang merepresentasikan user dari IP PBX
b. Data account Trunk
Merupakan data account yang akan di gunakan IP PBX untuk
menghubungi trunk. Trunk adalah sebuah nama atau nomor yang
merepresentasikan server lain atau IP PBX lain yang akan di hubungi
oleh IP PBX ini.
2. DialPlan
Merupakan aturan dial yang akan dimanfaatkan oleh extension untuk
menghubungi sesama extension atau trunk dan sebaliknya.
2.5 Asterisk
Asterisk adalah salah satu software open source IP PBX ( Internet Protocol
Private Branch Exchange ) jenis SIP Proxy. Asterisk memiliki banyak features
sehingga dengan menggunakan Asterisk dapat dimungkinkan untuk membangun
sebuah jaringan “Telkom” sendiri.
Untuk dapat menjalankan Asterisk sebagai sebuah sentral telepon sederhana,
minimal dibutuhkan :
1. PC ( Personal Computer ) dengan sistem Operasi Linux, yang dijadikan
sebagai VoIP server.
2. Sambungan LAN ( Local Area Network ) atau Internet.
3. Asterisk, sebagai software IP PBX untuk membangun jaringan VoIP.
Untuk skalabilitas ( scalability ) pemekaran jaringan, Asterisk mendukung
beberapa bentuk format data, yaitu :
1. TDMoE ( Time Division Multiplex over Ethernet ), yang memungkinkan
penyambungan langsung ke IP PBX asterisk dengan delay rendah ( zero
latency ) serta dengan penggunaan kartu Ethernet yang ada di pasaran.
2. Voice-over IP yang memungkinkan integrasi berbagai peralatan yang
secara fisik terpisah menggunakan sambungan data yang biasa
digunakan atau menggunakan dialplan terintegrasi untuk banyak kantor
sekaligus.
3. Mendukung coder-decoder ( codec ) ADPCM, G.711 ( A-Law &
u-Law ), G.723.1 ( pass through ), G.726, G.729, GSM, iLBC, Linear,
4. Mendukung protokol VoIP, antara lain : IAX ( Inter-Asterisk Exchange )
, H.323, SIP ( Session Initiation Protocol ), MGCP ( Media Gateway
Control Protocol ), dan SCCP ( Cisco Skinny ).
5. Mendukung berbagai protokol ISDN PRI, seperti 4ESS, BRI
( ISDN4Linux ), DMS100, EuroISDN, Lucent 5E, National ISDN2, dan
NFAS.
2.5.1Features Asterisk
Asterisk dapat di jadikan pilihan untuk mendirikan jaringan komunikasi
berbasis IP PBX ( baik untuk skala kecil,menengah, sampai ratusan extensions )
karena memiliki beberapa features antara lain : voicemail, conference bridge , call
queue, call detailed record.
Selain itu juga asterisk memilki beberapa features pendukung yang lain,
yaitu : ADSI On-Screen Menu System, Alarm Receiver, Blacklist, Blind Transfer,
Call Forward On Busy, Call Forward on No Answer, Call Monitoring, Call
Parking, Call Queuing, Call Recording, Call Retrieval, Call Routing ( DID &
ANI ), Call Transfer, Call waiting, Caller ID, Caller ID Blocking, Caller ID on
Call Waiting, Calling Cards, Conference Bridging, Dial by Name, Distinctive
Ring, Do Not Distrub, E911, ENUM, Interactive Voice Response ( IVR ), Music
On Hold, Music On Transfer, SMS Messaging, Spell / Say, Streaming Media
Access, Supervised Transfer, Talk Detection, Text-to-Speech ( via Festival ),
Three-way Calling, VoIP Gateways, Visual Indocator for Message Waiting, dan
2.5.2File Konfigurasi Asterisk
Setelah selesai proses instalasi Asterisk, maka terbentuk beberapa file
konfigurasi, yang terletak pada direktori antara lain :
1. /etc/asterisk : merupakan file – file konfigurasi utama
2. /var/log/asterisk : merupakan file yang mencatat log dan call data
record
3. /var/lib/asterisk : merupakan file yang digunakan untuk aplikasi
dan data pendukung ( AGI, MoH, sounds )
4. /usr/lib/asterisk : merupakan file yang digunakan untuk binary
module, codec dan aplikasi
2.5.3Konfigurasi Asterisk
Konfigurasi Asterisk sebagai IP PBX dilakukan pada beberapa file
konfigurasi antara lain :
1. Konfigurasi data Account ( data account extensions dan trunks ) Konfigurasi ini bisa disebut dengan proses pendaftaran nomor telepon
pada Asterisk VoIP server. Konfigurasi data account extension dan trunk
berada di file berikut :
a. /etc/asterisk/sip.conf : digunakan untuk account yang
menggunakan protokol SIP
b. /etc/asterisk/iax.conf : digunakan untuk account yang
Untuk setiap data account dikonfigurasi dengan sebuah blok text yang
memiliki bentuk sebagai berikut :
Gambar 2.13 Format Blok text Data Account
Dimana xxx merupakan nama yang diasosiasikan dengan SIP client
atau sembarang nama yang digunakan oleh file konfigurasi lain untuk
mereferensikan sebuah peralatan SIP. Pada Type,harus diisi dengan
“user”, “peer” atau “friend”. Sedangkan banyaknya parameter yang
digunakan dapat disesuaikan dengan kebutuhan.
Contoh konfigurasi data account extensions ( menggunakan SIP ):
Gambar 2.14 Contoh Konfigurasi Data Account ( menggunakan SIP )
2. Konfigurasi DialPlan
DialPlan merupakan proses untuk mengatur apa yang harus dilakukan
apabila ada client melakukan panggilan ( Dial ) pada nomor telepon tertentu.
Konfigurasi DialPlan berada pada file/etc/asterisk/extensions.conf, dengan
format penulisan sebagai berikut :
Gambar 2.15 Format Penulisan DialPlan