Kumpulan Artikel

Memberikan sajian artikel-artikel buat kalian yang sedang mencari referensiatau inspirasi

Recent Posts

Responsive Ads Here

Saturday, 3 October 2015

membangun server VoIP dengan perangkat seadanya

Assalamualaikum Warahmatullahi Wabarakatu
Alhamdulillah, pada postingan kali ini berkesempatan untuk kembali berbagi bersama teman-teman, yang semoga bermanfaat.
Jika pada tulisan sebelumnya kita sudah mempelajari tentang konsep dasar tentang VOIP dan beberapa distribusi Linux yang dikembangkan khusus untuk membangun infrastruktur VOIP yang terdiri dari distro Trixbox dan Briker.
Karena beberapa permintaan dari teman-teman khususnya pembaca setia tulisan saya melalui blog ini, untuk itu saya terdorong untuk membuat postingan ini, postingan ini berisi panduan singkat, dan cepat untuk membangun sebuah infrastruktur VoIP dengan cara yang mudah dan cepat.
Sebelum memulai panduan selanjutnya, teman-teman perlu mempersiapkan beberapa hal, diantaranya adalah :
1. Sistem Operasi untuk Server VoIP (Trixbox)
2. Sistem Operasi untuk Client (Linux Desktop / Non-Linux)
3. Perangkat lunak Softphone : EkigaSFLPhone (Linux) dan QuteComZeoIper (Non-Linux)
Jika beberapa keperluan diatas, sudah anda miliki selanjutnya lakukan installasi pada server menggunakan trixbox. Adapun panduan installasi dapat disimak secara lengkap melalui tautan video berikut :

Setelah proses installasi selesai, selanjutnya akan ditampilkan halaman berikut :
Tampilan Bootloader Trixbox
Tampilan Bootloader Trixbox
Selanjutnya lakukan login menggunakan username (default : root) dan password untuk login kedalam sistem.
Screenshot from 2014-03-12 19:02:08
Login Trixbox
Jika proses login telah berhasil, maka bisa dilihat hasilnya seperti yang ditunjukkan pada gambar diatas, sebelum melanjutkan ketahapan selanjutnya perhatikan baris yang ditandai pada gambar berikut :
Screenshot from 2014-03-12 19:02:48
Login Trixbox (missing address)
maksud dari gambar diatas, adalah server VoIP (trixbox) yang telah kita install tidak (belum) memiliki ip address, untuk itu kita perlu melakukan konfigurasi ip address secara manual.
Screenshot from 2014-03-12 19:08:41
Ifconfig (interface configuration)
Berikut adalah tahapan konfigurasi ip address pada server trixbox (VoIP).
Screenshot from 2014-03-12 19:09:30
Pengaturan Ip address
Jika konfigurasi pada ip address server telah berhasil, selanjutnya lakukan pengetessan dengan melakukan ping dari client ke ip address server.
Screenshot from 2014-03-12 21:45:51
Ping (koneksi) ke server VoIP
Trixbox menawarkan konfigurasi layanan VOIP dengan antarmuka web untuk itu kita tidak perlu repot untuk melakukan konfigurasi layanan melalui command line (manual) untuk itu anda bisa mengakses ipaddress server melalui web browser.
Screenshot from 2014-03-12 21:48:01
akses server VOIP berbasis WEB
Selanjutnya klik (switch) untuk masuk ke level administrator pada halaman konfigurasi tribox, diatas.
Screenshot from 2014-03-12 21:49:24
Status server (User)
Selanjutnya akan silahkan lakukan autentifikasi, username dan password untuk masuk ke level administrator.
Screenshot from 2014-03-12 21:50:22
Login ke layanan VOIP Admin
Akun yang akan digunakan untuk autenfikasi berbeda dengan akun sistem root pada trixbox console, secara default untuk autentifikasi layanan VOIP berbasis web trixbox menggunakan username : maint dan password : password.
Screenshot from 2014-03-12 21:57:12
Login ke layanan VOIP Admin
Proses autentifikasi berhasil, ditandai dengan bergantinya status mode menjadi Admin mode
Screenshot from 2014-03-12 21:57:41
Server Status (Admin)
Untuk alasan keamanan kita perlu melakukan perubahan password untuk autentifikasi konfigurasi pada antarmuka web, ketikkan perintah passwd-maint pada console trixbox, seperti yang ditunjukkan pada gambar berikut :
Screenshot from 2014-03-12 22:02:40
Pengaturan password (maint)
Selanjutnya kita akan fokus kepada konfigurasi layanan VoIP melalui antarmuka web. Tampilan interface web trixbox dapat menampilkan informasi detail dalam sistem yang meliputi :
  • Status service layanan server
  • Penggunaan network (interface jaringan)
  • Penggunaan Memory, CPU dan Hardiskdrive
  • Informasi mount point
  • Uptime sistem
  • Status Trixbox
Selanjutnya kita perlu membuat extension SIP untuk client agar dapat digunakan dalam proses komunikasi yang akan dilakukan pada sisi client menggunakan softphone. Klik menu PBX selanjutnya pilih submenu PBX Settings, seperti yang ditunjukkan pada gambar berikut :
Screenshot from 2014-03-12 22:09:16
Setting PBX melalui webconfig
Selanjutnya kita akan masuk ke halaman berikut :
Screenshot from 2014-03-12 22:11:30
System Status (PBX) Trixbox
Sekarang fokus pada menu “Basic” pada Trixbox selanjutnya pilih “Extensions”, seperti yang ditunjukkan pada halaman berikut :
Screenshot from 2014-03-12 22:15:08
Penambahan Extension (SIP)
Selanjutnya tambahkan extension dengan melalukan klik tombol “Submit” (diatas), selanjutnya tambahkan minimal 2 extension, dengan format sesuai dengan keinginan, format yang akan saya gunakan adalah sebagai berikut :
Display Name
Username (SIP)
Password (Secret)
kancil
1010
1010
tupai
1011
1011
Screenshot from 2014-03-12 22:26:30
Pembuatan Extension PBX
Jika kedua user telah selesai dibuat, akan ditandai pada notifikasi berikut :
Screenshot from 2014-03-12 22:21:39
Daftar Extension (SIP)
Lakukan verifikasi agar kedua extensions (SIP) dapat segera digunakan dengan melakukan klik pada tombol “Apply Configuration Changes”
Screenshot from 2014-03-12 22:21:53
Terapkan perubahan konfigurasi
Screenshot from 2014-03-12 22:22:37
Lanjutkan untuk melakukan reload
Screenshot from 2014-03-12 22:23:32
Proses Reload
Jika proses penerapan konfigurasi extensions sudah selesai, selanjutnya lakukan konfigurasi softphone agar dapat menggunakan layanan yang telah disesuaikan sesuai dengan extension (SIP) yang sudah dibuat dan ditentukan sebelumnya.
sisi Client
– Konfigurasi softphone (SFLPhone) client Linux Dekstop
Sebelumnya lakukan installasi SFLPhone dengan mengetikkan beberapa baris berikut pada console terminal.
$ sudo add-apt-repository ppa:savoirfairelinux
$ sudo apt-get update
$ sudo apt-get install sflphone-client-gnome
Jika proses installasi selesai selanjutnya lakukan konfigurasi akun pada SFLPhone sesuai dengan extensions (SIP) yang telah dibuat.
Berikut adalah proses pengaturan akun / extension (SIP) pada softphone SFLPhone, untuk kedua pengguna.
something_news
Konfigurasi akun extensions (SIP) di sisi Client
Selanjutnya setelah dilakukan proses percobaan layanan dengan melakukan dial ketujuan, sesuai dengan extensions (SIP), selain proses komunikasi masing-masing pengguna dapat melakukan diskusi (chat), secara langsung pada saat pengguna saling berkomunikasi (terhubung).
something_neww
Proses pengetesan penggunaan  layanan VOIP (Trixbox) menggunakan SFLPhone

– Konfigurasi softphone (QuteCom) client Non-Linux

SKonfigurasi softphone di sisi client menggunakan Qutecom sangat mudah dan dominan mirip dengan SFLPhone, kita hanya perlu menginputkan SIP ID dan password selanjutnya melakukan input ip address server.
no telpon
Proses Konfigurasi
softpon
Proses konfigurasi telah berhasil
lawan bicara
Proses pengetessan menggunakan VideoCall (User 1)
Untitled
Proses pengetessan menggunakan VideoCall (User 2)
    
Sekian, semoga postingan kali ini bermanfaat dan bisa berguna, Apabila ada kekurangan mohon koreksi dan masukkannya….
Wassalamualaikum Warahmatullahi Wabarakatu

Sumber : https://walidumar.wordpress.com/2014/03/13/membangun-server-voip-dengan-perangkat-seadanya/

Sunday, 20 September 2015

Membuat SMS Gateway untuk Pemula Dengan Gammu dan PHP

Sebelumnya Kita Akan Belajar Bersama-sama ya di Tempat masing-masing pastinya.. hehe becanda gan.. :) oke langsung aja ya, di sini kita akan belajar bagaimana cara membuat SMS Gateway untuk yag pemula seperti saya dengan Gammu dan PHP. langkah-langkah nya adalah :

1. Untuk modul pertama ini, saya akan menjelaskan bagaimana cara installasi Local WebServer . Saya memakai XAMPP untuk Local WebServer nya. Apa fungsi Aplikasi Tersebut ? Local WebServer berfungsi untuk menjalankan perintah PHP dan MySQL (Database)

Download Aplikasi XAMPP

(versi terbaru saat artikel ini dibuat adalah 1.81 )
Setelah di download, jalankan XAMPP Setup, Jika Parental Control masih aktif , anda bisa menonaktifkan fitur tersebut atau klik kanan Setup tersebut Run As Administrator

Klik Next

Pilih komponen yang akan diinstall, rekomendasikan pilihan saya ini, karena kita akan menginstall komponen yang seperlunya saja

Install komponen Apache,MySQL,PHP,Perl dan PhpMyAdmin dan klik Next

Pilih folder installasi , rekomendasikan juga di C:\xampp

Uncheck Learn More about BitNami for Xampp
Klik Next dan Next.

Setelah anda menginstall xampp , maka untuk password defaul MySQL adalah :
username : root
password : (kosong)

Tes Local WebServer bekerja apa tidak 
Buka browser (firefox/opera/chrome) lalu ketikkan http://localhost
Jika Local WebServer bekerja maka ditampilkan halaman ini




Install Service Xampp agar berjalan pada startup Windows. Fungsinya agar tidak susah payah menjalankan xampp.

Klik Start Windows (bawah kiri Windows ) cari dan klik submenu Xampp 1.8.1 pilih XAMPP Control Panel



1. Klik Stop Action Apache dan MySQL
2. Check Module Service Apache dan MySQL
3. Klik Start Actions Apache dan MySQL kembali
Keterangan : Jika anda memiliki installasi Local WebServer lainnya yang terinstall pada Port 80, maka disable terlebih dahulu atau uninstall sekalian 3:)

Selesai, Xampp akan berjalan otomatis saat Windows Start.

2. Cara Installasi Gammu

Download gammu untuk Windows 32 atau 64 Bit  ( Jika Windows anda versi 64 Bit maka ada folder pada C:\program files (x86) ).

Saya mendownload versi minimal , saat artikel ini dibuat versi gammu 1.33.0

Buat sebuah folder smsku pada c:\xamp\htdocs

Buka file gammu yang didowload tadi dengan winrar atau tools compression lainnya. Klik folder bin pada file gammu zip tersebut, lalu copy gammu yang di dowload tadi ke dalam folder smsku dengan menseleksi semua filenya dan drag ke folder smsku


Ok guys, kita udah sampai setengah jalan untuk membuat aplikasi sms gateway dengan gammu dan php.

3. Konfigurasi Gammu

Setelah 2 artikel sebelumnya, sekarang saya akan memberikan artikel konfigurasi gammu.
Ayo,modem USB dan kartu perdana GSM/CDMA tadi mana? apa sudah registrasi kartunya dan diisi pulsa? Jika sudah colokin Modem USB ke USB komputer, dan install paket drivernya
Di sini saya memakai Modem USB Advance

Cari port modem usb
Jika modem usb sudah terinstall dengan benar, maka buka Control Panel -> Device Manager




Buka kategori modem, nah di sana ada berbagai macam driver modem. Jika anda tidak tahu modem usb mana yang tertera pada kategori modem tersebut, copot lagi modem dan pasang lagi. Nah device manager otomatis refresh list driver modem nya. Tahu maksud saya kan? :D 
Modem USB saya di sini Global Wireless USB Modem, klik kanan dan klik properties. Klik tab modem

Modem saya menggunakan Port COM9 dan Maximum Port Speed 921600. Jadi untuk konfigurasi jenis koneksi/speed maximum modem begini :

 at = maximum speed 921600
at115200 = maximum speed 115200



Membuat file Konfigurasi 
Sekarang masuk ke folder c:\xampp\htdocs\smsku
Buka notepad dan tulis :
 
[gammu]
# isikan port modem USB di bawah ini
port = COM9:
# isikan jenis connection di bawah ini
connection = at




simpan dengan nama gammurc (tidak pakai extension)

Buat database untuk gammu 
Buka browser dan ketik (1)http://localhost/phpmyadmin
Klik (2)Database, Buat sebuah database (3) smskudb dan klik (4)Create


Buka kembali file gammu yang di download tadi, buka folder share -> doc -> gammu -> examples -> sql




Lalu import script mysql.sql dengan membuka http://localhost/phpmyadmin dan klik database smskudb, klik import . Klik browse, masuk folder smsku dan pilih mysql.sql dan klik Done



Buat konfigurasi database gammu
Buka notepad dan ketik :
 [gammu]
# isikan port modem USB di bawah ini
port = COM9:
# isikan jenis connection di bawah ini
connection = at

[smsd]
service = mysql
logfile = smsdlog
debuglevel = 0
# Inisial modem
phoneid = Server1
commtimeout = 10
sendtimeout = 10
PIN = 1234
pc = localhost

# isikan user untuk akses ke MySQL (xampp default root)
user = root
# isikan password user untuk akses ke MySQL (xampp defaul null )
password = 
# isikan nama database untuk Gammu
database = smskudb



Lalu simpan dengan nama smsdrc

Tes koneksi modem
Buka command prompt/cmd ketikkan seperti gambar
Jika terbaca maka ada info detail modemnya, berarti konfigurasi nya sukses :)

Install Services Gammu agar jalan otomatis saat Windows Startup
Buka command prompt/cmd dan ketikkan

Konfigurasi gammu selesai :)


4. Sudah 3 modul yang saya tulis, sekarang mari kita membuat kode untuk mengirimkan SMS dengan PHP.

Menulis kode kirim sms dengan php
Buka folder c:\xampp\htdocs\smsku. Buat sebuah file kirimsms.php lalu tulis kode berikut :

 
<form method="post">
<label>No HP Format +62xxxxxxx </label>
<input type="text" name="nohp">
<label>Pesan</label>
<input type="text" name="pesan">
<input type="submit" name="button" value="Kirim">
</form>
<?php
if(isset($_POST['button']))
{
    mysql_connect("localhost","root","");
    mysql_select_db("smskudb"); 
    $query=mysql_query("INSERT INTO outbox (DestinationNumber,
    TextDecoded) VALUES ('".$_POST['nohp']."', '".$_POST['pesan']."')");
    if($query)
    {
        echo "<script>alert('Sukses kirim sms')</script>";
    }
}
?>
Keterangan :
Membuat form kirim pesan 
 <form method="post">
<label>No HP Format +62xxxxxxx </label>
<input type="text" name="nohp">
<label>Pesan</label>
<input type="text" name="pesan">
<input type="submit" name="button" value="Kirim">
</form> 
Jika tombol Kirim diklik
 if(isset($_POST['button']))
{
Buat koneksi database, masih ingat bukan tutorial installasi Local WebServer ? mysql_connect fungsi php untuk mengkoneksikan sebuah server database mysql_connect(nama server,user database,password database), mysql_select_db fungsi php untuk memanggil database
 mysql_connect("localhost","root",""); 
mysql_select_db("smskudb"); 
Query SQL atau bisa dikatakan perintah untuk MySQL Database. Lihat kembali http://localhost/phpmyadmin lalu pilih database smskudb, maka ada tabel outbox, nah tabel outbox tersebut diperintah untuk diiskan
 $query=mysql_query("INSERT INTO outbox (DestinationNumber,
    TextDecoded) VALUES ('".$_POST['nohp']."', '".$_POST['pesan']."')");
 Jika query sql telah dijalankan, maka keluarkan output peringatan, kita sedikit menggunakan kode javascript :)
 if($query)
    {
        echo "<script>alert('Sukses kirim sms')</script>";
    }
Nah mudah bukan?

5. Sekarang tahap finalnya, setelah bisa mengirimkan sms. Sekarang kita akan membuat auto reply sms nya. Contoh Format REG#Nama#Tanggal#Jenis Kelamin#Alamat

Membuat kode auto reply sms

Masuk ke folder c:\xampp\htdocs\smsku dan buat sebuah file autoreply.php , ketikkan kode sebagai berikut:

 <?php

mysql_connect("localhost","root","");

mysql_select_db("smskudb");

$query = "SELECT * FROM inbox WHERE Processed = 'false'";
$hasil = mysql_query($query);
while($data= mysql_fetch_array($hasil)){
    $id = $data['ID'];
    $noPengirim = $data['SenderNumber'];
    $msg = strtoupper($data['TextDecoded']);
    $pecah = explode("#",$msg);
    $d_tgl=$pecah[1];
    $d_nama=$pecah[2];
    $d_jk=$pecah[3];
    $d_alamat=$pecah[4];
    if($pecah[0]=="REG")
    {
        if($pecah[1] !="" and $pecah[2] !="" and $pecah[3] !="")
        {
            $today = date("Ymd");
            $tgl=date("d M Y");
            $newDate = date("Y-m-d", strtotime($d_tgl));

            $isinyo="Nomor ".$noPengirim." Nama ".$d_nama." JenisKel ".$d_jk." Alamat ".$d_alamat;
            $query=mysql_query("INSERT INTO outbox (DestinationNumber,
            TextDecoded) VALUES ('".$noPengirim."', '".$isinyo."')");      

        }else{
            $query=mysql_query("INSERT INTO outbox (DestinationNumber,
            TextDecoded, CreatorID) VALUES ('".$noPengirim."', 'Gagal Registrasi. Format : REG#Tanggal#Nama#PRIA/WANITA#Alamat')");
        }
    }else{
            $query=mysql_query("INSERT INTO outbox (DestinationNumber,
            TextDecoded) VALUES ('".$noPengirim."', 'Gagal Registrasi. Format : REG#Tanggal#Nama#PRIA/WANITA#Alamat')");
    }
    $query3 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
        mysql_query($query3);
}
?>
Keterangan :
Query Inbox , melakukan pencarian data inbox yang masuk dalam modem USB dan tabel inbox
 $query = "SELECT * FROM inbox WHERE Processed = 'false'";
$hasil = mysql_query($query);
Looping data inbox
 while($data= mysql_fetch_array($hasil)){

Membuat variabel untuk record data inbox
 $id = $data['ID'];
$noPengirim = $data['SenderNumber'];
$msg = strtoupper($data['TextDecoded']);

Membagi format berdasarkan karaktek #
 $pecah = explode("#",$msg);
$d_tgl=$pecah[1];
$d_nama=$pecah[2];
$d_jk=$pecah[3];
$d_alamat=$pecah[4];
Jadi $d_nama adalah isi dari format sms NAMA yang dikirimkan

Cek format SMS pertama sekali adalah REG dan Cek semua format SMS
  if($pecah[0]=="REG")
    {
        if($pecah[1] !="" and $pecah[2] !="" and $pecah[3] !="")
        {

Konversi tanggal php ke mysql
 $today = date("Ymd");
$tgl=date("d M Y");
$newDate = date("Y-m-d", strtotime($d_tgl));

Setelah terkirim, maka status inbox tersebut sudah terkirim "true"
 $query3 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
        mysql_query($query3);


Ops, ini belum selesai. SMS Gateway tidak akan respon jika tidak ada eksekusi terlebih dahulu. Lalu bagaimana caranya ?
Buat sebuah bat script, buka notepad dan ketikkan :
 C:\xampp\php\php -f C:\xampp\htdocs\smsku\autoreply.php
Simpan dengan nama daemon.bat (terserah mau apa namanya)
Jadi,jika kita klik daemon.bat, maka semua sms pada tabel inbox yang statusnya false akan ter-kirim dengan sendirinya. Tapi apakah harus jalankan daemon.bat setiap kali?
Nah, ini yang jadi pertanyaan. Banyak orang memakai trigger mysql ataupun dengan memakai konfigurasi runonreceive pada gammu. Namun ada kendalanya
Dengan Trigger :
Format SMS tidak bisa dilakukan sesuka hati
Dengan runonreceive :
Terkadang saya mencoba malah tidak jalan

Solusi saya ya bikin aplikasi untuk menjalankan daemon.bat tersebut dengan Visual Basic hahaha..
Caranya mudah kok,tapi saya tidak menjelaskan dengan detail.
Buat sebuah project Visual Basic dan Masukkan Timer dengan Interval 1000 lalu masukkan script pada Timer :

Private Sub Timer1_Timer()
Shell daemon.bat, vbHide
End Sub

Lalu compile dan buat sebuah start up dengan menitipkan shortcut pada folder :
C:\Users\NAMAUSER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup


Sumber : http://www.ilmuprogrammer.com/2013/06/membuat-sms-gateway-untuk-pemula-dengan.html