SMS Gateway dengan SMS Server Tools 2.2.18

Ini pengalaman TAku waktu SMA dulu.Waktu itu aku bingung banget mau bikin apa buat TA.Terlintas dibenakku sih kepikiran pengen bikin IP phone atau Messenger berbasis Web n Dekstop.Tapi keknya sulit banget..karena skill untuk programing web dan dekstop saya tidak terlalu menguasai.N akhirnya TA kurang dua minggu aku belum bikin apa apa selain SMS gateway yang mendukung Network Monitoring untuk sisi Networking saja.Akhirnya aku berpikiran untuk ngembangin sendiri SMS gateway tersebut daripada hanya untuk monitoring network.Aku coba kembangin Script Bash yang sudah ada dengan Syncronisasi Mysql yang terdapat di CPU Server yang sama dan balasan otomatis jika mendeteksi beberapa TEXT dengan “| Grep”..coba coba aja deh.Wah ternyata berhasil..semua SMS yang masuk ke SIM Card langsung di eksekusi dan otomatis “insert” ke Database di Mysql yang kubuat dan membalas otomatis juga kepada pengirim,tapi sayangnya itu mungkin hanya untuk polling.Jadi secara umum itu sudah g aneh lagi di mata dan telinga orang2 IT.Setelah itu muncullah ide dan prinsip yang lumayan bagus,aku coba ngremote server dari sms misalnya untuk command init 0,init 6,kill service,start service,dll ternyata itu juga berhasil tapi menurut kelompokku itu masih kurang mengena karena dia hanya bekerja di sisi Networking saja.Maunya yang bisa syncronize dengan Web atau Dekstop Programmingnya.Ok deh..aku rombak lagi..padahal TA kurang 2 hari..hahahahhaha :) ) tapi gue masih nyante n masih maen dota aja..buset dah.Akhirnya waktu maen dota jam 12 malam aku kepikiran sebuah ide cemerlang jingglang untuk “mengirim SMS via web” dengan prinsip

1. mengirim SMS Manual Dengan Form

2 .mengirim SMS otomatis jika ada penambahan data.

Seketika itu aku langsung stop billing n pulang kerumah minta ijin ortu buat ke kost temen ngerjain project tersebut sampe pagi n bolos skul..wkwkwkwk.. :p.Ok dibawah ini adalah langkah2nya:

SMS Server

Software : SMS Server Tools 2.2.18.tar.gz

Modem : Nokia 6100

Connector : DKU 5

Nama Service : smsd

Instal n compile :

- tar -xzf smstools*.tar.gz

- make

- make install

Config :

nano /etc/smsd.conf

devices = GSM1
logfile = /var/log/smsd.log
outgoing = /var/www/sms
sent = /var/spool/sms/sent
failed = /var/spool/sms/failed
loglevel = 7

[GSM1]
device = /dev/ttyACM0
incoming = yes
eventhandler = /usr/local/bin/mysmsd
#pin = 1111

Setelah itu save dan jalankan servicenya

/etc/init.d/smsd start

Result

Cara kerja :

SMS Server Tools adalah sebuah sofware SMS gateway berbasis console yang compatible dengan beberapa merk HP ternama seperti Nokia 6100.smsd adalah nama service dari SMS server tools yang bekerja dengan AT Command.smsd juga bekerja dengan folder/directory yaitu

1.Sent

2.Failed

3.Inbox

4.Outgoing

5.Draft

Apabila kita hendak mengirim sms maka smsd akan membuat file random berisi pesan dan destinasi kita yang lansgung disimpan di folder Outgoing.Selanjutnya pesan akan dikirim,jika pesan tersebut berhasil dikirim maka akan dimasukkan ke folder Sent dan jika gagal maka akan dimasukkan ke folder failed.

Apabila kita menerima sms dari modem atau device lain maka secara otomatis akan masuk ke folder Inbox.

Dari situ kita bisa sisipkan script bash untuk receiving dan sending SMS.Kita juga bisa filter dengan “| grep”.

Untuk syncronize dengan PHP script di web…aku pakai script “PHP upload” yaitu dengan memasang destinasi upload ke folder Outgoing pada SMS Server yang telah kujabarkan diatas.

Berikut Contoh script untuk PHP side:

Folder outgoing dialamatkan pada /var/www/sms

<?
include ‘conect.php’;
$to=$_POST['to'];
$text=$_POST['text'];
$random=rand(000000,999999);
#echo $to.$text.$random;
$id=$_GET['id'];
$part=”sms”;
if($_POST['kirim']){
$fpl=fopen(“$part/send_$random”,”w”);
$info = “To: “.$to.”\n”.”\n”.$text;
fwrite($fpl,$info);
fclose($fpl);
header(“location:admin.php?p=sms&id=1″);
}

if($_POST['draft']){
mysql_query(“insert into sms (type,sender,text,msgid) values (‘DRAFT’,'$to’,'$text’,now())”);
header(“location:admin.php?p=sms&id=2″);
}
$ac=$_GET['ac'];
switch($ac){
case ‘send’:
$to=$_GET['to'];
$text=$_GET['text'];
$fpl=fopen(“$part/send_$random”,”w”);
$info = “To: “.$to.”\n”.”\n”.$text;
fwrite($fpl,$info);
fclose($fpl);
header(“location:admin.php?p=sms&id=1″);
break;
case ‘del’:
mysql_query(“delete from sms where received=’$id’”);
header(“location:admin.php?p=sms&id=1″);
break;
case ‘deldraf’:
mysql_query(“delete from sms where msgid=’$id’”);
header(“location:admin.php?p=sms&id=2″);
break;
}
?>

Berikut contoh untuk Bash side:

SQL_HOST=localhost
SQL_USER=root
SQL_PASSWORD=”"
SQL_DATABASE=smsd
SQL_TABLE=sms_log
DATE=`date +”%Y-%m-%d %H:%M:%S”`
#Extract data dari file  SMS
FROM=`formail -zx From: < $2 | sed ‘s/”//g’`
TO=`formail -zx To: < $2`
SUBJECT=`formail -zx Subject: < $2`
SENT=`formail -zx Sent: < $2`
TEXT=`sed -e ’1,/^$/d’ < $2`
#SQL parameters
if [ "$SQL_PASSWORD" != "" ]; then
SQL_ARGS=”-p$SQL_PASSWORD”;
else
SQL_ARGS=”";
fi
SQL_ARGS=”-h $SQL_HOST -u $SQL_USER $SQL_ARGS -D $SQL_DATABASE -s -e”
#Insert a new entry into the SQL table
if [ "$1" = "FAILED" ] || [ "$1" = "SENT" ]; then
mysql $SQL_ARGS “insert into $SQL_TABLE (type,sent,sender,receiver,msgid) values (\”$1\”,\”$DATE\”,\”$FROM\”,\”$TO\”,\”$3\”);”;
elif [ "$1" = "RECEIVED" ]; then
mysql $SQL_ARGS “insert into $SQL_TABLE (type,sent,received,sender,receiver) values (\”RECEIVED\”,\”$SENT\”,\”$DATE\”,\”$FROM\”,\”$SUBJECT\”);”;
fi

Mungkin itu saja untuk SMS gateway yang pernah kubuat dulu..kalo ada saran,comment n request..monggo dipun insertkan ke comment yang dibawah.

Regards,

Ervan

Category: Linux | Tags: 8 comments »

8 Responses to “SMS Gateway dengan SMS Server Tools 2.2.18”

  1. diee

    mau tanya..
    script php d atas,d gunakan untuk menginput kan sms yg mau dikirim??
    kalo via phpmyadmin lngsng gmn cara’y??
    bsa ksh contoh ga?? mkasi sblum’y..

    salam knal..

  2. Ervan

    Yap betul
    Saya ada script lengkapnya untuk Form Send New Message,Inbox,Sent Items,dan Draft.
    Semuanya memakai database yaitu mysql hanya saja sebelum dimasukkan di database,data sms itu masih berbentuk sebuah “file”.
    Jadi jika anda menginginkan mengirim melalui PHPmyadmin itu juga agak ribet.
    Better anda membuat interface web untuk send message yg didalamnya terdapat form berisikan nomor tujuan, text & Character limit SMS (default 150 Char).
    Setelah itu ada button untuk SEND.Masing2 jadikan variable kemudian masukkan semua variable ke sebuah file menggunakan fopen,fwrite,dst.File itulah yang akan diupload ke folder outgoing sms gateway,sebelumnya edit dulu outgoing di /etc/smsd.conf [default:/var/spool/sms/outgoing] menjadi /var/www/web_folder_hasilupload_anda

    Selamat Mencoba

  3. diee

    boleh nanya lagi ia??
    pas udah gammu –smsd MYSQL smsdrc,muncul tulisan error 321..
    kira2 apa’y yg salah?? makasi

  4. diee

    minta script php’y juga ia.. blh kan?? mkasi..

  5. Etheque

    incredible…

  6. Ervan

    @ Etheque
    thx

    @diee
    bisa dipastekan disini untuk “message error” untuk code error 321
    untuk script PHPnya akan saya bahas pada post berikutnya
    yaitu smstools3 :D
    thx and regards,

  7. septy

    waah kebetulan banget neh sy dapet pencerahan.. judul TA sy juga pake sms gateway berbasis web.. kira2 kendala nya p j y???

  8. admin

    wah kalo kendala sih pasti ada
    thats why all IT admin having a several word like “google is must”


Leave a Reply



Back to top