VOIP
Voip adalah teknologi yang memungkinkan percakapan suara jarak jauh melalui media internet. Data suara diubah menjadi kode digital dan dialirkan melalui jaringan yang mengirimkan paket-paket data, dan bukan lewat sirkuit analog telepon biasa. Sedangkan salah satu aplikasi untuk membuat teknologi VOIP tersebut yang akan kita gunakan adalah asterisk. Aterisk adalah sebuah aplikasi dari teknologi komunukasi yaitu VOIP (Voice Over Internet protokol) yang open source atau gratis. Komponen yang harus ada dalam VOIP yaitu protokol, codec,VOIP server dan VOIP client bisa berupa soft phone atau hard phone: A. Protokol VOIP yang umum digunakan: 1. H.323 H.323 adalah standar ITU untuk komunikasi multimedia melalui jaringan komputer, meliputi LAN, MAN dan WAN. H.323 merupakan binary stream based protocol yang mengakibatkan interoperability antar vendor nya tidak terlalu baik. 2. IAX2 (Internet Asterisk eXchange v2) IAX2 adalah protokol VOIP yang digunakan untuk menghubungkan antar Asterisk Server.
3. SIP (Session Initiation Protocol) SIP adalah protokol yang digunkan untuk signaling protokol yang dikembangkan oleh Internet Engineering Task force (IETF) untuk mengatur komunikasi session seperti voice dan video calls dan mengizinkan endpoint untuk memulai dan mengakhiri sessions komunikasi. B. Codec (Coder Decorder) VOIP Agar dapat melewati jalur Packet Switch dengan baik, VOIP membutuhkan proses coder dan decoder. Proses ini mengkonversi sinyal audio menjadi data digital yang dipadatkan (koding) untuk kemudian dikirim melewati jalur internet. Di titik lain, data dikembangkan lagi (dekoding) dan diubah menjadi sinyal analog . C. VOIP server VOIP Server adalah bagian utama dalam jaringan VOIP. VOIP Server digunakan untuk mendefinisikan jalur dan aturan antar terminal. Selain itu, VOIP Server juga bisa menyediakan layanan- layanan yang terdapat pada perangkat PBX (Private Branch Exchange), Voice Mail, IVR (Interactive Voice Response) dan lain- lain. Beberapa jenis VOIP Server yaitu Soft Switch yang menyediakan fasilitas tambahan untuk dapat berkomunikasi dengan Soft Switch lain di internet. Contoh dari VOIP Server berupa Soft Switch adalah Asterisk.
D. VOIP Client VOIP Client terdiri dari dua jenis, yaitu Soft Phone dan Hard Phone. Soft Phone merupakan VOIP Client berupa aplikasi atau software yang digunakan untuk mengakses VOIP Server . Hard Phone merupakan VOIP Client berupa perangkat hardware yang digunakan untuk mengakses VOIP Server. Hard Phone sendiri memiliki berbagai jenis dan fitur-fitur sesuai dengan vendor masing-masing, seperti Video Conference, Dual Line dan lain-lain. Contoh dari Hard Phone yaitu, Cisco IP Phone, 3 Com, VOIP IAD, Yealink dan lain-lain. 1. PBX (Private Branch eXchange) PBX adalah suatu sistem yang akan mengatur routing dari panggilan telepon seperti yang dilakukan oleh Central Office . PBX menghubungkan antara telepon dalam perusahaan dengan jaringan internal dan menghubungkan juga telepon dalam perusahaan dengan jaringan telepon publik (PSTN – public switched telephone network) melalui trunk, yaitu penghubung jalur komunikasi antara pengirim dengan penerima melalui central office). Dengan sistem PBX tidak hanya berfungsi untuk kegiatan telepon, namun juga dapat mengirim fax atau modem akses internet. 2. PABX (Private Automatic Branch eXchange) PABX adalah suatu perangkat yang berfungsi sebagai sentral telepon, dalam suatu lokasi tertentu, misalnya kantor, gedung, perumahan dan lain- lain . PABX dapat berupa Sentral Telepon Otomatis PSTN yang digunakan oleh operator telepon besar untuk layanan di rumah, maupun kantor, misalnya PT. TELKOM, PT. INDOSAT, PT. TELKOMSEL, PT. BAKRI dan lain-lain . Perangkat ini akan mengatur panggilan yang masuk serta meneruskan panggilan ke nomor tujuannya, sehingga pengguna dapat dengan mudah melakukan penggilan ke nomor tujuan dengan menekan nomor tujuan. Ada 3 jenis PABX, yaitu : a. PABX Digital, adalah PABX yang menggunakan pesawat digital untuk ekstensiny a. b. PABX Analog, adalah PABX yang hanya mendukung pesawat telepon biasa (seperti telepon rumah) kebalikan dari PABX Digital . c. PABX Hybrid, adalah PABX yang bisa menggunakan telepon digital dan telepon analog pada port ektensinya. 3. IP PBX IP PBX (Internet Protocol Private Branch Exchange) adalah PABX yang menggunakan teknologi berbasis IP. IP PBX merupakan perangkat switching komunikasi telepon dan data berbasis teknologi IP yang mengendalikan ekstension telepon analog maupun exstension IP Phone. Fungsi-fungsi yang dapat dilakukan antara l lain penyambungan, pengendalian, dan pemutusan hubungan telepon; translasi protokol komunikasi; translasi media komunikasi atau transcoding; serta pengendalian perangkatperangkat IP Teleponi seperti VOIP Gateway, Access Gateway dan Trunk Gateway.
Bagaimana VOIP Bekerja: Untuk melihat bagaimana cara bekerja VOIP lihat gambar dibawah ini:
Inti dari jaringan VOIP adalah softswitch. Softswitch sebagai peyimpan informasi tentang pelanggan VOIP, serperti nomor pelanggan, mapping nomor telepon. Ketika pelanggan voip akan menelpon ke pengguna telepon lain, maka si client akan menanyakan kepada softswitch alamat tujuan tersebut apakah ada ataukah tidak, alamat tujuan disini bisa berupa alamat ip. Jika ingin melakukan telepon ke telepon luar seperti telepon rumah, handphone. anda harus memasukan ATA (Analog Telephone Adapater) ke dalam jaringan VOIP anda. ATA akan membuat gateway/gerbang antar jaringan VOIP dengan jaringan telepon lain, sehingga jariangan voip dapat melakukan telepon ke luar, seperti telepon rumah maupun handphone. contoh dibawah ini perangkat ATA Linksys PAP-2:
Installasi ASTERISK + FREEPBX
Perangkat yang dibutuhkan: 1. PC dengan OS linux ubuntu 10.04 2. Apliasi X-Lite untuk uji koneksi client VOIP
Langkah Kerja A. Persiapan paket yang dibutuhkan. 1. download file untuk install freepbx dan asterisk dengan perintah wget # cd /usr/src/ # wget http://downloads.asterisk.org/pub/telephony/dahdi-linuxcomplete/releases/dahdi-linux-complete-2.2.1+2.2.1.tar.gz # wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri1.4.10.2.tar.gz # wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk1.6.2.6.tar.gz # wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asteriskaddons-1.6.2.0.tar.gz
2. Edit file repository anda seperti di bawah ini. # Nano /etc/apt/sources.list deb deb deb deb
http://kambing.ui.ac.id/ubuntu http://kambing.ui.ac.id/ubuntu http://kambing.ui.ac.id/ubuntu http://kambing.ui.ac.id/ubuntu
lucid main multiverse universe lucid-updates main multiverse universe lucid-proposed main multiverse universe lucid-security main multiverse universe
3. Update paket ubuntu anda dengan perintah: # apt-get update
4. Setelah itu intstall paket untuk penyimpanan database dari asterisk kita, saya disini mencotohkan dengan menggunakan mysql.: # apt-get -y mysql-server NOTE: saat installasi berlangsung anda akan diminta untuk root password dari mysql, harap untuk diingaat, saya menggunakan password jaringan
5. Untuk menginstall Freepbx dalam server kita harus membutuhkan beberapa dependency. Install paket dependency untuk Freepbx dengan perintah apt-get install seperti dibawah ini: # apt-get install -y build-essential linux-headers-`uname -r` openssh-server bison flex apache2 php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient15-dev mpg123 libxml2-dev
6. Install paket dahdi yang telah kita download di direcorty /usr/src. Dahdi adalah (Digium/Asterisk Hardware Device Interface) aplikasi open source yang berfungsi untuk mengontrol telephone interface card. # tar xzf dahdi-linux-complete-2.2.1+2.2.1.tar.gz # cd dahdi-linux-complete-2.2.1+2.2.1 # make all && make install && make config Note: Perintah pertama di atas adalah kita mengekstrack paket dahdi yang berbentuk.tar gz dengan perintah tar xzf. Perintah kedua pindah ke directory dahdi yang telah di ekstrack tadi dengan perintah cd. Perintah ketiga install paket dahdi tersebut. Jika berhasil, install dahdi check apakah dahdi sudah terpasang di system kita dengan perintah:
# ls -l /etc/ini.d/dahdi -rwxr-xr-x 1 root root 7723 2010-04-16 08:56 /etc/init.d/dahdi
7. Selanjutnya install libri yang telah kita download di directory /usr/src. # tar xvf libpri-1.4.10.2.tar.gz # cd libpri-1.4.10.2 # make && make install Note: libri adalah implementasi library open source signaling untuk ISDN-PRI dan ISDN-BR
8. Install Asterisk untuk aplikasi Voip. # tar xvf asterisk-1.6.2.6.tar.gz # cd asterisk-1.6.2.6 # ./configure # make && make install jangan lupa install sampel konfigurasi dari asterisk dengan perintah: # make samples untuk mengecheck apakah asterisk sudah terinstall di system, kita lihat di folder /etc/ apakah ada folder asterisk ataukah tidak. Dengan cara pindah ke directory asterisk cd /etc/asterisk/
9. Selanjutnya install extra sound untuk PBX # cd /var/lib/astersik/sounds # wget -O - http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extrasounds-en-gsm-current.tar.gz | tar xvfz -
10. Sekarang melakukan sedikit penyesuaian agar pekerjaan installasi berhasil. Seperti kita membuat user asterisk dan memasukannya ke group user apache dengan perintah: # adduser asterisk --disabled-password --no-create-home --gecos "asterisk PBX user" # adduser www-data asterisk
11. Rubah default user dan group untuk apache ke asterisk di file apache2.conf. # nano /etc/apache2.conf Cari baris. # These need to be set in /etc/apache2/envvars User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} Ganti menjadi: # These need to be set in /etc/apache2/envvars User asterisk Group asterisk
12. Rubah file /usr/sbin/safe_asterisk. # nano /usr/sbin/safe_asterisk baris pertama dari file tersebut rubah dari: #!/bin/sh menjadi : #!/bin/bash
13. Sekarang kita membuat script untuk memanage service asterisk, disini saya tidak akan membuat download script telah jadi untuk service asterisk. # # # #
cd /etc/init.d/ wget http://randystech.com/downloads/asterisk chmod +x asterisk update-rc.d asterisk defaults
Installasi Asterisk sekarang sudah selesai langkah selanjutnya install FreePBX. Mengapa kita harus menggunakan FreePBX? Jawabannya adalah agar memudahkan kita untuk memanage server VOIP kita dalam bentuk web based. Orang pasti akan bosan dan bingung bila harus menggunakan Command Line untuk memanage server VOIP, maka dari itu kita install FreePBX sebagai web based aplikasi Asterisk. 1. Download Paket FreePBX dengan perintah wget, dan lakukan installasi untuk Freepbx seperti dibawah ini. # # # #
Cd /usr/src/ wget http://mirror.freepbx.org/freepbx-2.7.0.tar.gz tar xzf freepbx-2.7.0.tar.gz cd freepbx-2.7.0
2. Copy file konfigurasi amportal.conf ke /etc/ dengan perintah # cp amportal.conf /etc/
3. Langkah selanjutnya pembuatan database untuk penyimpanan data asterisk. Ingat password root database mysql pada langkah penginstallan Mysql yaitu jaringan. a. Buat database dengan nama asterisk dan asteriskcdrdb, dengan perintah: # export MYSQL_ROOT_PW=1234 # mysqladmin -u root -p${MYSQL_ROOT_PW} create asterisk # mysqladmin -u root -p${MYSQL_ROOT_PW} create asteriskcdrdb
b. Update struktur tabel dari database asterisk dan asteriskcdrdb, dari file Freepbx. Dengan perintah: # mysql -u root -p${MYSQL_ROOT_PW} asterisk < SQL/newinstall.sql # mysql -u root -p${MYSQL_ROOT_PW} asteriskcdrdb < SQL/cdr_mysql_table.sql
d. Ubah permission database asterisk dan asteriskcdrdb sehingga asteriskuser dapat melakukan login ke database tersebut dengan perintah: # mysql -u root -p${MYSQL_ROOT_PW} <<-END_PRIVS > GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY "jaringan"; > GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY "jaringan"; > flush privileges; > END_PRIVS
4. Langkah selanjutnya edit file konfigurasi amportal.conf, file ini adalah file konfigurasi untuk FreePBX. # nano /etc/amportal.conf cari baris berikut kemudian rubah agar menjadi seperti berikut: AMPDBUSER=asteriskuser AMPDBPASS=jaringan AMPWEBROOT=/var/www/ FOPWEBROOT=/var/www/panel
5. Ubah semua permission dari directory asterisk dengan perintah dibawah ini. # # # #
chown chown chown chown
asterisk. /var/run/asterisk -R asterisk. /etc/asterisk -R asterisk. /var/{lib,log,spool}/asterisk -R asterisk. /var/www/
6. Langkah selanjutnya enable konfigurasi asterisk dengan menghapus baris di asterisk.conf. # nano
/etc/asterisk/asterisk.conf
Cari baris berikut dan ubah menjadi: [directories](!) ; remove the (!) to enable this
menjadi [directories]
7. Dan terakhir install freepbx dengan perintah: # ./start_asterisk start # ./install_amp
8. Restart apache dan dahdi: # /etc/init.d/apache2 restart # /etc/init.d/dahdi restart
9. Terakhir buat link address. # ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
10. start service freepbx dengan perintah # amportal start
Setelah sekian banyak installasi dan konfigurasi yang banyak maka pada langkah saatnya untuk melihat hasil pekerjaan kita dengan membuka browser anda dengan alamat URL: http://167.205.79.42/admin maka akan tampil seperti dibawah ini.
PENGUJIAN ASTERISK+FREEPBX
Pada bagian ini akan dijelaskan bagaimana cara untuk pengujian asterisk+Freepbx, yaitu agar user yang terdapat di server voip dapat saling komunikasi lewaat softphone maupun hardphone. Untuk langkah pertama kita buat user di server VOIP. 1. Buka alamat URL: http://ipserver/admin
2. Selanjutnya buat SIP user untuk dapat menelepon, dengan meklik bar extension disebelah kiri halaman web.
3. pada opsi device pilih Generic SIP Device. Kemudian klik submit. Maka akan tampil opsi untuk penambahan sip extension seperti gambar dibawah ini.
4. Pada langkah ini sebagai contoh akan menambahkan User extension dengan nomor 200 dan Display name contoh secretnya atau password dari SIP account tersebut client12. Dan konfigurasinya seperti gambar dibawah ini.
lalu pada bagian device name:
5. kemudian klik submit pada bagian paling bawah di halaman web.
6. untuk menyimpan konfigurasi pilih opsi apply configuration changes yang terdapat dihalaman paling atas.
7.
selanjutnya system freepbx akan menanyakan kembali apakah konfigurasi akan direload atau kembali kemenu editing. Pilih continue with reload.
8.
Lakukan penambahan user account pada SIP extension seperti diatas, sehingga kita dapat menguji Server VOIP kita apakah dapat saling berkomunikasi ataukah tidak satu sama lain. Disini sebagai contoh menambahkan account dengan nama asep, User Extension 201 dan password client12. Sehingga pada tampilan web freepbx akan seperti dibawah ini.
Pada bagian ini kita akan melakukan uji coba terhadap accunt SIP dan server VOIP apkah berjalan ataukah tidak, apakah dapat saling telepon ataukah tidak. Disini kita akan menggunakan salah satu softphone yaitu X-lite. Software ini gratis untuk mendapatkannya download di alamat http://www.counterpath.com/x-lite-4-for-windows-download.html. 1. Install X-lite pada sistem operasi anda, dalam hal ini saya menggunkan sistem operasi windows XP. Klik file hasil download tersebut maka akan tampak seperti gambar berikut kemduian pilih tombol next:
2.
Pilih opsi I accept the aggrement kemudian pilih tombol next untuk mlanjutkan instllasi.
3.
Pada langkah selanjutnya akan diminta dimana x-lite akan diinstall, jika sudah klik tombol next.
4. Kemudian lanjut pada windows selanjutnya, sebagai contoh disini jika installasi selesai maka icon x-lite akan tampil di desktop kemudian langsung dijalankan saat installasi selesai. Klik tombol next maka installasi x-lite pun dilakukan.
5.
Saat installasi seleasi kita centang Launch x-lite maka saat klik tombol finish window dari x-lite akan tampil.
6.
Klik tombol add, untuk identitas account SIP kita agar connecct ke server VOIP.
7.
pada bagian ini kita isi dengan identitas account sip kita, sebagai contoh untuk user contoh yang telah kita buat sebelumnya di web freepbx, jika sudah selesai klik tombol OK.
note: Display name diisi dengan sesuai dengan nama yang ada di VOIP server. User name adalah nomor extension SIP account. Domain adalah alamat IP dari VOIP server.
8.
Jika user account yang dimasukan tadi benar maka x-lite akan menampilkan seperti gambar dibawah ini.
Untuk Lawan telepon yang satu lagi, install x-lite juga seperti langkah diatas kemudian tambahkan user account SIP, lalu coba telepon dengan memasukan nomor SIP Account. Sebagai contoh: •
user account contoh (SIP account 200) akan menelopon ke asep (SIP account 201). 1.
Pada aplikasi x-lite milik contoh ketikan nomor account asep dengan nomot 201 kemudian pilih gambar telepon warna hijau untuk menghubungi asep.
2. Maka pada x-lite milik asep akan ada notification bahwa account SIP 200 yaitu contoh menelpon, klik gambar telepon warna hijau untuk mengangkat telepon tersebut.