Step by step voip config

Penginstallan

Tahapan yang pertama dalam bab ini adalah pengistallan software yang digunakan dalam system VoIP, diantaranya Ubuntu Server 12.04, Bind9, isc-dhcp-server, Apache2, Mysql Server, dan Aterisk 1.8.

 

Instalasi Operating Sistem Ubuntu Server 12.04

Pada tahapan ini penulis menggunkan Operating System Ubuntu sebagai server jaringan VoIP. Linux Ubuntu merupakan turunan dari linux Debian yang banyak digunakan selain OS ini yang opensorce OS ini juga sudah userfriendly dan handal. Berikut langkah-langkah penginstallan Ubuntu 12.04.

  • Pada tahap pertama adalah memilih bahasa. Penulis menggunakan bahasa inggris untuk proses penginstallan.

Gambar

  • Tahap kedua adalah preparing install Ubuntu.

Gambar

  • Pada tahap ketiga penulis memilih optioanal yang pertama.

Gambar

  • Tahap ke empat,karena penulis pada tahap ke tiga meilih erase disk and install maka pada tahap ini adalah tahap format hardisk dan instalasi Ubuntu 12.04.

Gambar

  • Tahap kelima adalah memilih dinegara mana penulis tanggal.

Gambar

  • Pada tahap ke enam memilih keyboard layout.

Gambar

  • Pada tahap ke tujuh adalah mengisikan username dan password untuk pengguna linux Ubuntu 12.04.

Gambar

  • Ini adalah tahap terakhir yaitu penginstallan Ubuntu 12.04.

Gambar

 

Instalasi Bind9

Bind9 merupakan aplikasi untuk membuat sebuah DNS dalam sebuah system yang menadi resolver dari Ip address ataupun sebaliknya, berikut cara pengistallan Bind9 pada Ubuntu dengan melalui terminal

apt-get install bind9

 

Instalasi DHCP

Domain Host Control Protocol atau disingkat DHCP adalah untuk pendistribusian IP address secara otomatis. Ini diperlukan karena agar memudahkan pengguna untuk melakukan registrasi dan berkomunikasi tanpa perlu mengkonfigurasi IP address. Berikut instalasi DHCP server pada system operasi Ubuntu.

apt-get install isc-dhcp-server

 

Instalasi Apache

Apache merupakan webserver opensource yang dapat berjalan di berbagai system operasi atau multiplatform, berikut instalasi apache2 pada system operasi Ubuntu:

apt-get install apache2 php5 links

 

Instalasi MySQL Server

MySQL akan digunakan sebagai database penyimpanan user VoIP dan sebagai jembatan antara asterisk dan website otomatisasi. Berikut penginstallan MySQL server.

apt-get install mysql-server

 

Instalasi Asterisk 1.8

Asterisk merupakan software opensource yang digunakan untuk sistem layanan komunikasi dan memiliki banyak fitur yang disediakan, pada penulisan ini penulis menggunakan asterisk 1.8 sebagai softswitch VoIP pada Ubuntu 12.04 karena lebih stabil dibandingkan asterisk versi dibawahnya tahapan instalasi asterisk 1.8 pada Ubuntu 12.04.

Sebelum instalasi asterisk harus diinstall terlebih dahulu library yang dibutuhkan oleh Ubuntu:

  • apt- get install build-essential
  • apt- get install libssl-dev
  • apt- get install doxigen
  • apt-get install libncurses5-dev

Download source DAHDI (Digium.Asterisk Hardware Device Interface):

Download source asterisk 1.8

Download Source Libri 1.4.12

Download source Libss 1.0.7

Download source Sound untuk asterisk

Download source mpg123

Download source addons asterisk

Setelah selesai terdownload copy semua hasil download ke dalam direktori /usr/local/src setelah itu masuk dalam direktori /usr/local/src dan extract semua file.

  • cd /usr/local/src
  • tar jxvf mpg123-1.13.7.tar.bz2
  • tar zxvf dahdi-linux-complete-2.6.0+2.6.0.tar.gz
  • tar zxvf asterisk-addons-1.6.2.3.tar.gz
  • tar zxvf libss7-1.0.2.tar.gz
  • tar zxvf asterisk-sounds-1.2.1.tar.gz
  • tar zxvf libpri-1.4.12.tar.gz
  • tar zxvf asterisk-1.8.10.1.tar.gz

Pada tahap meng-compile yang pertama adalah file mpg123

  • cd mpg123-1.13.7
  • ./configure
  • make
  • make install

Compile file libri

  • cd libri-1.4.12
  • make all
  • make install

Compile file dahdi

  • cd dahdi-linux-complete-2.6.0+2.6.0
  • make
  • make install
  • make config

Compile file asterisk addons

  • cd asterisk-addons-1.6.2.3
  • ./configure
  • make
  • make install
  • make samples

Compile file libss7

  • cd  libss7-1.0.2
  • make
  • make install

Compile file asterisk sounds

  • cd  asterisk-sounds-1.2.1
  • make install

Complie asterisk 1.8

  • cd  asterisk-1.8.10.1
  • ./configure
  • make menuselect
  • make all
  • make install
  • make samples

 

Konfigurasi Jaringan

Konfigurasi jaringan ini untuk memberikan alamat ip address server yang statis, penulis memberikan IP Address 192.168.3.1 sebagai alamat IP server. Berikut konfigurasi IP Address pada system operasi Ubuntu yang berada pada direktori /etc/network/interfaces:

iface eth1 inet static

address   192.168.3.1

netmask   255.255.255.0

 

Konfigurasi DNS

Konfigurasi DNS yang pertama adalah membuat dua file yaitu db.badai.zone dan db.badai.rev yang berada pada direktori /etc/bind/. Dengan cara buka terminal lalu ketikan touch db.badai.zone  db.badai.rev.   selanjutnya adalah konfigurasi file db.badai.zone.

;
$TTL   604800
$ORIGIN badai.com
@      IN     SOA    ns.badai.com. dmin.badai.com.(
                           2008110401    ; Serial
                           604800 ; Refresh
           86400         ; Retry
           2419200     ; Expire
     604800 )    ; Negative Cache TTL
;
IN     NS     ns.badai.com.
IN     A      192.168.3.1
www    IN     CNAME  ns
sip    IN     CNAME  ns

selanjutnya adalah konfigurasi file db.badai.rev.@      IN     SOA    ns.badai.com. dmin.badai.com.(               2008110401    ; Serial

               604800 ; Refresh
               86400         ; Retry
               2419200       ; Expire
               604800 )      ; Negative Cache TTL
;
IN     NS     ns.badai.com.
1      IN     A      ns.badai.com.
 

Selanjutnya edit file named.conf pada direktori /etc/bind/ dan tambahkan baris berikut:
zone “badai.com” {
type master;
file “/etc/bind/db.badai.zone”;
};

zone “3.168.192.in-addr.arpa” {
type master;
file “/etc/bind/db.badai.rev”;
};
Selanjutnya edit file resolv.conf.
domain ns.badai.com
nameserver 192.168.3.1
nameserver 192.168.0.1

Konfigurasi DHCP

Setelah pengistallan adalah konfigurasi DHCP yang pertama adalah edit file isc-dhcp-server pada direktori /etc/default/ menggunakan vi editor, berikut penjelasannya: vi /etc/default/isc-dhcp-server ganti baris INTERFACES=”eth0″ menjadi INTERFACES=”eth1″ ini disesuaikan karena penulis menggunakan eth1 sebagai port yang akan mendistribusikan IP address.
Selanjutnya adalah edit file dhcpd.conf yang berada pada direktori /etc/dhcp/ menggunakan vi editor berikut isi dari file tersebut:

subnet 192.168.3.1 netmask 255.255.255.0 {
range 192.168.3.10 192.168.3.250;
option domain-name-servers ns.badai.com;
option domain-name “badai.com”;
option routers 192.168.3.1;
option broadcast-address 192.168.3.255;
default-lease-time 600;
max-lease-time 7200;
}

Konfigurasi Apache2
Konfigurasi yang pertama adalah membuat sebuah direktori sip.badai.com pada direktori /var/www ini adalah folder tempat dimana halaman-halaman website akan tersimpan. Kemudian copy file pada direktori seperti dibawah ini.

cp /etc/apache2/site-available/default

/etc/apache2/site-available/sip.badai.com

Edit file sip.badai.com

vi /etc/apache2/site-available/sip.badai.com

NameVirtualHost 192.168.3.1:80

<VirtualHost 192.168.3.1:80>

ServerAdmin webmaster@badai.com

ServerName sip.badai.com

DocumentRoot /var/www/sip.badai.com

ScriptAlias /cgi-bin/ /var/www/cgi-bin/

<Directory “/var/www/cgi-bin”>

AllowOverride None

Option +ExecCGI –MultiViews +SymlinksIfOwnerMatch

Order Allow,deny

Allow from all

</directory>

</VirtualHost>

Selanjutnya copy file sip.badai.com ke direktori /etc/apache2/site-enabled seperti berikut

cp  /etc/apache2/site-available/sip.badai.com

/etc/apache2/site-enabled/sip.badai.com

 

Konfigurasi Asterisk

Setelah tahap instalasi selesai maka penulis perlu mengkonfigurasi file res_mysql.conf pada direktori /etc/asterisk, file ini berfungsi untuk mengintegrasikan asterisk dengan  database MySQL dan website otomatisasi yang akan meregister user kedalam file sip.conf. berikut konfigurasi res_mysql.conf:

vi /etc/asterisk/res_mysql.conf

[general]

dbhost = 192.168.3.1

dbname = voip

dbuser = voip

dbpass = badai

dbport = 3306

dbsock = /var/run/mysqld/mysqld.sock

dbcharset = latin1

 

Konfigurasi sip.conf

Sip.conf berfungsi untuk menambahkan user yang akan terdaftar pada softswitch asterisk. Karena pada penulisan ini sip.conf terdaftar secara otomatis yang didapat dari database, berikut konfigurasi sip.conf

;BEGIN 40001

[40001]

type=friend

username=40001

secret=abc1

host=dynamic

callerid=badai <40001>

context=default

dtmfmode=rfc2833

mailbox=40001

nat=yes

canreinvite=no

;END 40001

;BEGIN 40002

[40002]

type=friend

username=40002

secret=abc2

host=dynamic

callerid=dhaniel <40002>

context=default

dtmfmode=rfc2833

mailbox=40002

nat=yes

canreinvite=no

;END 40002

 

Konfigurasi Dial Plan

Dial plan adalah proses peroutingan akun user SIP yang telah didaftarkan. Konfigurasi dial plan dilakukan pada file extensions.conf  konfigurasi disini dilakukan agar tiap client yang terdaftar dapat melakukan proses komunikasi RTP antar client. berikut konfigurasi extensions.conf

include => macro-stdexten

include => demo

; demo call handler

exten => 900,1,Goto(demo,s,1)

; current server time

exten => 901,1,Ringing

exten => 901,2,Wait,2

exten => 901,3,SayUnixTime(ABdYIMp)

exten => 901,4,Hangup

; noise tests

exten => 902,1,Ringing

exten => 902,2,Wait,2

exten => 902,3,Playback(tt-monkeysintro)

exten => 902,4,Playback(tt-somethingwrong)

exten => 902,5,Playback(tt-monkeys)

exten => 902,6,Playback(privacy-thankyou)

exten => 902,7,Hangup

; echo tests

exten => 903,1,Ringing

exten => 903,2,Wait,2

exten => 903,3,Playback(demo-echotest)

exten => 903,4,Echo

exten => 903,5,Playback(demo-echodone)

exten => 903,6,Hangup

; voicemail access

exten => 904,1,Ringing

exten => 904,2,Wait,2

exten => 904,3,VoicemailMain,s${CALLERIDNUM}

exten => 904,4,Hangup

; local call

exten => _4XXXX,1,Ringing

exten => _4XXXX,2,Wait,2

exten=>_4XXXX,3,Macro(stdexten,${EXTEN},SIP/${EXTEN}&IAX2/${EXTEN})

exten => _4XXXX,4,Hangup

 

Membuat Database

Pada pembuatan database dan tabel yang pertama dilakukan adalah masuk kedalam mysql server menggunakan terminal, lalu login kedalam mysql server, berikut pembuatannya:

CREATE Database voip;

Use voip;

CREATE TABLE `tblUser` (

`id` int(11) NOT NULL auto_increment,

`creation_datetime` datetime NOT NULL default ‘0000-00-00 00:00:00’,

`realname` varchar(50) NOT NULL default ”,

`email` varchar(50) NOT NULL default ”,

`location` varchar(50) NOT NULL default ”,

`protocol` varchar(20) NOT NULL default ”,

`phone` varchar(20) NOT NULL default ”,

`username` varchar(20) NOT NULL default ”,

`secret` varchar(20) NOT NULL default ”,

`host` varchar(20) NOT NULL default ”,

`callerid` varchar(20) NOT NULL default ”,

`context` varchar(20) NOT NULL default ”,

`dtmfmode` varchar(20) NOT NULL default ”,

`mailbox` varchar(20) NOT NULL default ”,

`nat` varchar(20) NOT NULL default ”,

`canreinvite` varchar(20) NOT NULL default ”,

`flag_configured` tinyint(4) NOT NULL default ‘0’,

`flag_inactive` tinyint(4) NOT NULL default ‘0’,

`flag_update` tinyint(4) NOT NULL default ‘0’,

PRIMARY KEY  (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

 

Membuat Refresh Otomatis

            Konfigurasi sistem ini penulis maksudkan adalah untuk melakukan refresh system secara otomatis setiap satu menit dan menyesuaikan kedalam database jika terjadi penambahan user pada website registrasi, file ini penulis beri nama dengan astwebhelper menggunakan bahasa pemrograman bash, berikut script astwebhelper

#!/bin/bash

# Path web otomatisasi

VRWEB=”/var/www/badai.com”;

# Path php binary

PHPBIN=”/usr/bin/php”;

# Log peers

/usr/sbin/asterisk -rx “sip show peers” > /var/log/asterisk/peers_sip

# Update website

CWD=`pwd`

cd $VRWEB

$PHPBIN -q $VRWEB/updateconf.php

cd $CWD

# Reload new accounts (if any)

#/usr/sbin/asterisk -rx “reload”

#/usr/sbin/asterisk -rx “sip reload”

/usr/sbin/asterisk -rx “reload”

Setelah itu kita membuat crontab untuk astwebhelper agar selalu refresh setiap satu menit, berikut konfigurasinya

crontab –e

* * * * * /usr/local/sbin/astwebhelper >/dev/null 2>&1

 

Kesimpulan

Dari penjelasan pada sub-bab sebelumnya penulis menarik kesimpulan yang dibagi menjadi dua kesimpulan yaitu kesimpulan mengenai keunggulan dan kesimpulan mengenai kelemahan server jaringan VoIP serta website otomatisasi pengguna.

Keunggulan

Server jaringan VoIP ini mampu menjadi sentral telepon dengan protokol SIP dan mampu menangani komunikasi antar pengguna, softswitch asterisk dapat terintegrasi dengan database MySQL server yang terdapat daftar account pengguna jaringan VoIP  sehingga membuat penambahan account pada file konfigurasi sip.conf dapat dilakukan secara otomatis.

Website otomatisasi pengguna memiliki fasilitas untuk registrasi pengguna terhadap softswitch asterisk. website ini juga menghasilkan username dan password default jika pengguna melakukan registrasi, dan dapat melakukan ganti password default jika pengguna ingin menggantinya. Website ini juga dapat memberikan informasi untuk melihat account pengguna yang sudah terdaftar pada server jaringan VoIP.

Kelemahan

Kelemahan pada server jaringan VoIP ini adalah server belum mampu untuk melakukan transfer text atau pesan text seperti sms serta teleconference. Dan juga pengguna jaringan VoIP ini tidak dapat melakukan peering keluar dari jaringan VoIP ini, pengguna hanya dapat melakukan komunikasi didalam satu jaringan saja.

Website ini jika dilihat dari desain tampilan web sangatlah sederhana dan tidak banyak informasi-informasi yang diberikan, ini disebabkan penulis hanya berfokus pada otomatisasi registrasi terhadap server VoIP.

Saran

Server jaringan VoIP ini masih sangat sederhana dan hanya dalam ruang lingkup Local Area Network atau LAN, diharapkan untuk dikemudian hari server jaringan VoIP ini mampu melakukan teleconference dan peering terhadap server jaringan lain serta mampu melakukan transfer text.

Website otomatisasi ini diharapkan dapat dikembangkan lagi dengan menambah fitur-fitur informasi dan desain tampilan website yang menjadi lebih menarik.

  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: