id
SMS GATEWAY DENGAN GAMMU DAN KALKUN
SMS Gateway merupakan pintu gerbang bagi penyebaran Informasi dengan
menggunakan SMS. Anda dapat menyebarkan pesan ke ratusan nomor secara otomatis
dan cepat yang langsung terhubung dengan database nomor-nomor ponsel saja tanpa
harus mengetik ratusan nomor dan pesan di ponsel anda karena semua nomor akan
diambil secara otomatis dari database tersebut.
Berawal dari project dikantor yang ingin membuat layanan SMS Gateway. Langsung
googling untuk SMS Gateway Open Source, ternyata banyak aplikasi dan program SMS
Gateway Open Source seperti GAMMU, KANNEL, GNOKII, PLAYSMS dan lain-lain.
Akhirnya dilakukan trial and eror SMS Gateway Open Source dalam OS Server
ClearOS.
Pilihan jatuh kepada GAMMU, karena yang paling banyak digunakan. Ok, kita
langsung dalam tahap instalasi dan konfigurasi tahap demi tahap.
Siapkan PC yang sudah terinstall dengan OS Server ClearOS atau bisa menggunakan
VMWare / VirtualBox, tapi dalam tuturial ini saya menggunakan PC dan sudah ter-
update, jika belum bisa dilakukan perintah berikut pada terminal console dengan
menggunakan putty.
#yum update
Setelah selesai ter-update sebaiknya lakukan restart, bisa menggunakan perintah
#shutdown r now
http://clearos-indonesia.com
http://heri-kurniawan.web.id
Kita perlu menginstall beberapa paket compiler pada ClearOS
#yum groupinstall Development Tools
Karena GAMMU memerlukan compiler CMAKE, jadi kita download dulu
# wget http://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz
# tar -xzvf cmake-2.8.7.tar.gz
# cd cmake-2.8.7
# ./configure
# gmake
Untuk mengetest apakah sudah berhasil / belum CMAKE, kita bisa ketik
#cmake
J ika muncul beberapa option perintah CMAKE, maka proses instalasi berhasil.
Dalam tutorial ini saya menggunakan modem HP Sony Ericsson J 105i Naite dengan
menggunakan kabel data USB, terdetect pada OS Server ClearOS, untuk daftar modem
yang support dengan GAMMU bisa dilihat pada sini http://wammu.eu/phones/
Kemudian kita perlu menginstall aplikasi untuk mendetect port modem yang akan kita
digunakan, karena port ini digunakan untuk settingan pada GAMMU
#yum install wvdial
Untuk mengecek port yang digunakan oleh modem, bisa menggunakan perintah
#wvdialconf /etcwvdial.conf
http://clearos-indonesia.com
http://heri-kurniawan.web.id
maka akan terlihat pada gambar berikut :
Pada gambar diatas bawah modem terdetect di port /dev/ttyACM0
Selanjutnya proses instalasi software GAMMU
# wget http://sourceforge.net/projects/gammu/files/gammu/1.31.0/gammu-
1.31.0.tar.gz
# tar -xzvf gammu-1.31.0.tar.gz
# cd gammu-1.31.0
# ./configure
# make install
Setelah selesai bisa coba perintah gammu, jika ada option perintah gammu, berarti
instalasi gammu sudah berhasil
# gammu
J ika terdapat kesalahan gammu: error while loading shared libraries: libGammu.so.7:
cannot open shared object file: No such file or directory tinggal tambahkan libGammu
di /usr/lib/
http://clearos-indonesia.com
http://heri-kurniawan.web.id
# ln -s /usr/local/lib/libGammu.so /usr/lib/libGammu.so.7
# ln -s /usr/local/lib/libgsmsd.so /usr/lib/libgsmsd.so.7
Konfigurasi GAMMU, tinggal melakukan perintah
# gammu-config
Untuk settingan port disesuaikan dengan hasil testing port, /dev/ttyACM0
Buat file lognya
# mkdir /var/log/gammu
# touch /var/log/gammu/gammurc
Kita melakukan testing konfigurasi GAMMU dengan modem, dengan perintah
# gammu --identify
http://clearos-indonesia.com
http://heri-kurniawan.web.id
J ika berhasil akan terlihat seperti gambar diatas J ika berhasil akan terlihat seperti gambar diatas
Kita buat database untuk GAMMU, untuk lebih gampang kita lakukan di PhpMyadmin Kita buat database untuk GAMMU, untuk lebih gampang kita lakukan di PhpMyadmin
https://ip-server-clearos:81/mysql https://ip-server-clearos:81/mysql
http://clearos-indonesia.com
http://heri-kurniawan.web.id
dalam tutorial ini saya membuat database kalkun , karena nanti untuk web
managementnya saya menggunakan KALKUN
import database pada folder gammu-1.31.0/docs/sql/mysql.sql dengan menggunakan
PhpMyadmin
Kemudian untuk mempermudah settingan GAMMU dan integrasi dengan aplikasi web
dan database, kita lakukan copy konfigurasi gammurc, smsdrc
# cd gammu-1.30.0/docs/config
# cp gammurc smsdrc /etc/
# cp gammu-1.31.0/docs/config/smsdrc /etc/gammu-smsdrc
Nanti pada folder /etc akan terdapat 3 file tambahan yaitu, gammurc, gammu-smsdrc
dan smsdrc.
Kita setting ketiga file tersebut, pertama gammur-smsdrc
http://clearos-indonesia.com
http://heri-kurniawan.web.id
http://clearos-indonesia.com
Pada settingan device pada bagian [gammu] disesuaikan dengan port yang terdetect
pada awal konfigurasi dalam tutorial ini pada port /dev/ttyACM0, untuk settingan
[gammu1] jika menggunakan lebih dari 1 modem.
Untuk settingan connection menggunakan at115200 untuk type HP yang lain bisa
dilihat di http://wammu.eu/phones/
http://heri-kurniawan.web.id
Settingan untuk file gammurc sama dengan file gammu-smsdrc
Settingan untuk file smsdrc , pada bagian [gammu] sama seperti settingan file
gammu-smsdrc dan gammurc, tapi perlu diperhatikan pada bagian [smsd]
http://clearos-indonesia.com
http://heri-kurniawan.web.id
Service diisi dengan sql, karena disini kita menggunakan database sql, untuk PIN jika
simscard menggunakan PIN diisi PIN ya, jika tidak ada, bisa disable dengan
memberikan tanda #.
Debuglevel diisi dengan 1 dan comtimeout disi dengan 30 dan sendtimeout diisi dengan
60.
Pada bagian database konfigurasi disesuaikan dengan data pada database dan username
sql yang kita buat tadi.
Pada driver diisi dengan native_sql, karena secara default akan terisi dengan sqlite
http://clearos-indonesia.com
http://heri-kurniawan.web.id
Kemudian jalankan perintah config dan daemon berikut :
# gammu-smsd --config /etc/smsdrc --daemon
Log filename is "/var/log/gammu/smsdlog"
J ika tampil seperti itu makan konfigurasi GAMMU sudah berhasil.
Selanjutkan kita melakukan instalasi untuk web management dengan menggunakan
KALKUN
# wget http://sourceforge.net/projects/kalkun/files/kalkun/0.4/kalkun_04.tar.gz
Masuk ke direktori /var/www/html/
# mkdir /var/www/html/kalkun
# mv kalkun_0.4.tar.gz /var/www/html
# cd /var/www/html/kalkun
# tar -xzvf kalkun_0.4.tar.gz
# chown -R apache.apache /var/www/html
Sekarang konfigurasi database untuk kalkunnya, masuk ke dalam folder
/var/www/html/kalkun/application/config/database.php edit file tersebut bisa dengan
menggunakan ftp client / command console.
http://clearos-indonesia.com
http://heri-kurniawan.web.id
Buka browser ketik ht t p: / / i p_ser ver _cl ear os/ kal kun, maka akan tampil seperti ini
Selanjutnya kita klik start installation , maka akan muncul
http://clearos-indonesia.com
http://heri-kurniawan.web.id
Setelah requirement check OK, maka klik Next
Klik Run Upgrade dan Finish
J angan lupa untuk menghapus folder install pada folder kalkun tadi, selanjutnya nanti
bisa diketik alamat untuk web mangementnya dengan
ht t p: / / i p_ser ver _cl ear os/ kal kun
Untuk penamaan pada folder ini bebas tidak harus kalkun, bisa dengan nama lain, yang
perlu diperhatikan settingan konfigurasinya nanti.
Lanjut lagi , sekarang kita setting kalkunnya agar running dan terkoneksi dengan
GAMMU dan database yang kita buat tadi, buka ftp client / command console, edit file
yang ada pada folder kalkun tadi /var/www/html/kalkun/script, file daemon.php dan
daemon.sh
File daemon.sh
#!/bin/sh
# Configure this (use absolute path)
PHP=/usr/bin/php # php cli path
DAEMON=/path/to/kalkun/scripts/daemon.php # daemon.php path
# Execute
$PHP $DAEMON
http://clearos-indonesia.com
http://heri-kurniawan.web.id
File daemon.php
<?php
// Make sure it's run from CLI
if(php_sapi_name() != 'cli' && !empty($_SERVER['REMOTE_ADDR']))
exit("Access Denied.");
// Please configure this
$url = "http://localhost/kalkun";
fclose(fopen($url."/index.php/daemon/message_routine/", "r"));
?>
Kita buat service untuk GAMMU, dengan nama GammuSmsd
#! /bin/bash
#
# chkconfig: 345 65 35
# description: starts/stops Gammu
# written by Frank Vestergaard Pedersen <fvp@linuxhouse.dk>
#
###################################################
# change these values to fit yur installation
#user="gammu"
#group="gammu"
bin="/usr/local/bin/gammu-smsd"
configfile="/etc/smsdrc"
pidfile="/var/run/gammu.pid"
#bin="/usr/local/gammu/bin/gammu-smsd"
#configfile="/etc/gammu-smsdrc"
#pidfile="/var/run/gammu.pid"
####################################################
# It should not be nesserry to edit below this line
####################################################
proc_name=`basename $0`
PID=`cat $pidfile`
function START_CMD {
$bin -c $configfile -p $pidfile -d
if [ "$?" != "0" ];then
echo ERROR gammu did not start!
fi
}
http://clearos-indonesia.com
http://heri-kurniawan.web.id
#proc_name=`basename $0`
#PID=`cat $pidfile`
#function START_CMD {
# $bin -c $configfile -p $pidfile -U $user -G $group -d
# if [ "$?" != "0" ];then
# echo "ERROR - gammu did not start!"
# fi
#}
function STATUS {
PID=`cat $pidfile`
if [ -n "$PID" ] ; then
echo "$proc_name running PID: $PID"
else
echo "$proc_name not running"
fi
}
# See how we were called.
case "$1" in
start)
if [ -n "$PID" ]; then
if [ "`ps -p "$PID" -o comm=`" = "" ]; then
START_CMD
STATUS
else
echo "Error - $proc_name already running!"
STATUS
fi
else
START_CMD
STATUS
fi
;;
status)
STATUS
;;
stop)
if [ -n "$PID" ] ; then
echo "$proc_name stopping PID: $PID"
kill $PID
sleep 1
echo "" > $pidfile
echo "$proc_name stopped"
fi
;;
restart|reload)
$0 stop
http://clearos-indonesia.com
http://heri-kurniawan.web.id
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac
exit 0
kita save dalam folder /etc/rc.d/init.d
Sekarang kita buka web managementnya http://ip_server_clearos/kalkun
Masukan dengan username kalkun dan password kalkun
http://clearos-indonesia.com
http://heri-kurniawan.web.id
http://clearos-indonesia.com
Tampilan web management setelah login
Status harus Connected
Selesai.
Semoga bisa berkenan, kalau terdapat permasalahan dan pengembangan lanjut, mari
kita bahas diforum
Terima kasih.