Anda di halaman 1dari 0

http://heri-kurniawan.web.

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.

Anda mungkin juga menyukai