Installasi Server
Download file Asterisk pada situs resminya http://asterisk.org/ kemudian gunakan perintah download file tarbal asterisk sehingga kita memiliki source code asterisk, source code tersebut selanjutnya di kompile dengan menggunakan make dan make install
Download file Asterisk pada situs resminya http://asterisk.org/ kemudian gunakan perintah download file tarbal asterisk sehingga kita memiliki source code asterisk, source code tersebut selanjutnya di kompile dengan menggunakan make dan make install
Server PABX
|
#wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.4-current.tar.gz
#tar –zxvf asterisk-1.4-current.tar.gz
#cd asterisk-1.4.27/
#./configure
#make
#make install
#make samples
#make progdocs
#make clean
|
Agar asterisk dapat dihubungkan kedatabase MySql maka dibutuhkan suatu addons agar Asterisk dapat berkomunikasi dengan database yang kita miliki, pada situs yang sama dapat didownload asterisk-addons-1.4.9.tar.gz kemudian simpan pada direktori pada hardisk server
Server PABX |
#wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.4.9.tar.gz
#tar –zxvf asterisk-addons-1.4.9.tar.gz
#cd asterisk-addons-1.4.9/
#./configure
#make
#make install
#make clean
|
Aplikasi database MySql telah tersedia didalam paket installasi CentOS dapat ditemukan didalam DVD boot, sebelum memulai installasi lakukan pengecekan apakah aplikasi sudah terinstall atau belum. Jika belum terinstall kita dalam memilih paket yang akan diinstall pada sistem
Server PABX
|
#mount /dev/cdrom /mnt/DVD_Centos
#rpm –ivh mysql-5.0.45-7.el5.i386.rpm mysql-server-5.0.45-7.el5.i386.rpm perl-DBD-MySQL-3.0007-2.el5.i386.rpm perl-DBI-1.52-2.el5.i386.rpm
#mysqladmin -u root password ‘password’
#chkconfig mysqld on
|
Setelah database MySql berjalan dengan normal selanjutnya adalah membuat database yang akan digunakan oleh asterisk sebagai data user agent yang akan digunakan pada jaringan VoIP
Database Voip
|
CREATE DATABASE voip;
GRANT ALL PRIVILEGES ON voip.* TO 'voip'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
|
Tabel SIP Buddies
|
CREATE TABLE `voip`.`sip_buddies` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(80) NOT NULL default '',
`accountcode` varchar(20) default NULL,
`amaflags` varchar(7) default NULL,
`callgroup` varchar(10) default NULL,
`callerid` varchar(80) default NULL,
`canreinvite` char(3) default 'yes',
`context` varchar(80) default NULL,
`defaultip` varchar(15) default NULL,
`dtmfmode` varchar(7) default NULL,
`fromuser` varchar(80) default NULL,
`fromdomain` varchar(80) default NULL,
`fullcontact` varchar(80) default NULL,
`host` varchar(31) NOT NULL default '',
`insecure` varchar(20) default NULL,
`language` char(2) default NULL,
`mailbox` varchar(50) default NULL,
`md5secret` varchar(80) default NULL,
`nat` varchar(5) NOT NULL default 'no',
`deny` varchar(95) default NULL,
`permit` varchar(95) default NULL,
`mask` varchar(95) default NULL,
`pickupgroup` varchar(10) default NULL,
`port` varchar(5) NOT NULL default '',
`qualify` char(3) default NULL,
`restrictcid` char(1) default NULL,
`rtptimeout` char(3) default NULL,
`rtpholdtimeout` char(3) default NULL,
`secret` varchar(80) default NULL,
`type` varchar(6) NOT NULL default 'friend',
`username` varchar(80) NOT NULL default '',
`disallow` varchar(100) default 'all',
`allow` varchar(100) default 'g729;ilbc;gsm;ulaw;alaw',
`musiconhold` varchar(100) default NULL,
`regseconds` int(11) NOT NULL default '0',
`ipaddr` varchar(15) NOT NULL default '',
`regexten` varchar(80) NOT NULL default '',
`cancallforward` char(3) default 'yes',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
KEY `name_2` (`name`)
) ENGINE=MyISAM;
|
Tabel Extention
|
CREATE TABLE `voip`.`extensions` (
`id` int(11) NOT NULL auto_increment,
`context` varchar(20) NOT NULL default '',
`exten` varchar(20) NOT NULL default '',
`priority` tinyint(4) NOT NULL default '0',
`app` varchar(20) NOT NULL default '',
`appdata` varchar(128) NOT NULL default '',
PRIMARY KEY (`context`,`exten`,`priority`),
KEY `id` (`id`)
) ENGINE=MyISAM;
|
Selanjutnya di butuhkan konfigurasi asterisk realtime agar asterisk server dapat mengetahui database yang telah dibuat sebelumnya. Untuk menghubungkan asterisk dan database dibutuhkan file res_mysql.conf yang berada pada directory /etc/asterisk
File asterisk res_mysql.conf
|
[general]
dbhost = localhost
dbname = voip
dbuser = voip
dbpass = password
dbport = 3306
dbsock = /var/lib/mysql/mysql.sock
|
File extconfig.conf juga harus di sesuaikan dengan menambahkan baris berikut, agar user agent yang terdapat pada database dapat digunakan oleh VoIP
File asterisk extconfig.conf
|
[settings]
sipusers => mysql,voip,sip_buddies
sippeers => mysql,voip,sip_buddies
extensions => mysql,voip,extensions
|
Agar extention dapat diload dari database dapat menambahkan baris berikut pada file extensions.conf
File asterisk extensions.conf
|
[incoming]
switch => Realtime/@extensions
|
Agar user yang on line dapat terbaca pada system maka pada sip.conf perlu beberapa baris perintah berikut
File asterisk sip.conf
|
[general]
rtcachefriends=yes
|
Selanjutnya pembuatan web server sebagai antar muka untuk registrasi user, sehingga user dapat melakukan registrasi user agent voip dengan metode web base. Untuk membangun webserver diperlukan daemon apache yang diintegrasikan pada bahasa pemrograman PHP dan database MySql. Dengan penggunaan webserver user dapat mengakses domian atau ip address dari server VoIP untuk mendaftarkan user dan password yang akan digunakan login useragent pada server tersebut.
Paket apache terdapat pada CD/DVD installasi CentOS, disini engine layanan menggunakan apache dengan nama paket httpd-2.2.3-22.el5.centos.i386.rpm dan bahasa pemrograman php-5.1.6-23.el5.i386.rpm
Linux Server
|
#rpm –ivh httpd-2.2.3-22.el5.centos.i386.rpm apr-1.2.7-11.i386.rpm apr-util-1.2.7-7.el5.i386.rpm php-5.1.6-23.el5.i386.rpm php-mysql-5.1.6-23.el5.i386.rpm php-pear-1.4.9-4.el5.1.noarch.rpm
|
Setelah proses installasi selesai, kita dapat meletakan file-file web site pada direktori /vat/www/html.
Agar setiap server booting dapat menjalankan Web Server maka pada console mode tambahkan baris di bawah ini.
Linux Server
|
#chkconfig httpd on
|
Coding HTML dan PHP untuk antar muka registrasi
Berikut adalah coding yang digunakan untuk membuat antar muka registrasi user. insert data pada database yang telah dibuat sebelumnya, silahkan perhatikan skrip dibawah ini
File Register.php
|
<?php
$namahost="localhost"; //isi dengan nama host anda
$username="voip"; //isi dengan username anda
$password="password"; //isi dengan password anda
$database="voip"; //isi dengan nama database anda
$hub = mysql_connect("$namahost", "$username", "$password" );
mysql_select_db("$database",$hub);
$insert_ex = "INSERT into extensions (id, context, exten, priority, app, appdata) VALUES ('','incoming','" . $_POST['nomor'] . "','1','Dial','SIP/" . $_POST['nomor'] . "')";
$insert_bud = "INSERT into sip_buddies (id, name, callerid, context, canreinvite, insecure, type, host, secret, allow, nat) VALUES ('','" . $_POST['nomor'] . "','" . $_POST['nama'] . "','incoming','no','port,invite','friend','dynamic','" . $_POST['password'] . "','all','yes')";
mysql_query($insert_ex);
mysql_query($insert_bud);
echo "<center><h1><B>SUKSES SELALU! SILAHKAN TELEPONAN OK</B></h1></center>";
?>
|
Mantap Pak Ziprus..
ReplyDeleteSalam,, Ceroco :)
Grateful for sharring this
ReplyDelete