Advanced SMS Gateway with Smstools 3

Smstools 3 adalah software sms gateway yang digunakan untuk mengirim dan menerima SMS.Semua SMS yang dikirim dan diterima diolah oleh system untuk dijadikan file dengan penamaan acak.Prinsip kerjanya adalah beberapa directory untuk :
- incoming (directory untuk sms yang masuk)
- outgoing (directory untuk sms yang akan dikirim)
- checked (directory untuk pengecekan sms yang akan dikirim)
- sent (directory untuk sms yang telah terkirim)
- failed (directory untuk smsyang gagal dikirim karena kesalahan system atau hardware )
- report (directory untuk sms delivery reports)

Smstools dapat juga dapat disetting untuk semua sms yang masuk maupun keluar agar terkoneksi dan terolah database (MySQL,MSSQL,Oracle,PostGreSQL,dll) untuk keperluan sms auto reply,foward sms to email,sms notifikasi,sms polling,dan lain-lain sesui keinginan anda.Setting ini terdapat pada bash script yang diarahkan oleh eventhandler pada konfigurasi utama smstools (smsd.conf).

1

Prinsip kerja smstools ada dua jenis yaitu Sending SMS dan Receiving SMS.Pada Sending SMS (mengirim sms) awalnya system akan membuat sebuah file dengan nama random (contoh:send_xxxx) kemudian file tersebut dilempar ke directory outgoing, daemon melakukan pemeriksaan rutin ke modem melalui port yang terkoneksi jika mendeteksi 1 file saja bahkan lebih maka daemon meneruskan file tersebut ke directory checked. Kemudian jika pulsa,sms format dan koneksi ke modem lancar maka sms tersebut akan dikirim kemudian disimpan ke directory sent untuk dokumentasi,jika pulsa tidak cukup atau format sms tidak sesuai maka akan di simpan ke directory failed beserta message errornya tapi jika koneksi timeout atau unreachable maka daemon akan berusaha mengirim sebanyak 3 kali tapi tetap saja gagal maka akan di simpan pada directory failed dan daemon akan berhenti selama 1 jam (3600 second).

consoleLeft Click to Zoom

Sedangkan Receiving SMS (menerima sms) daemon melakukan pemeriksaan rutin ke modem melalui port yang terkoneksi,jika mendeteksi 1 pesan masuk saja bahkan lebih maka sms akan diparsing ke file kemudian disimpan pada directory incoming setelah diberi nama.Setelah itu system memerintahkan modem untuk menghapus sms tersebut dari modem agar memory pada modem tidak penuh.Jika menerima delivery report maka system menyimpannya pada directory report.

Smstools 3 adalah versi lanjutan dari smstools yang pertama didevelop oleh Stefan Frings pada tahun 2000 dan berlanjut ke versi 2xxx pada tahun 2005.Pada tahun 2006 muncullah Smstools 3 hasil maintain dari Keijo “Keke” Kasvi.Changelog dan Perubahan dapat dilihat disini.

Software ini adalah software SMS Gateway yang dapat dioperasikan pada Windows maupun UNIX termasuk Solaris,BSD,Free BSD dan GNU/Linux.Syarat utamanya adalah adanya PC Server dan GSM Modem atau Handphone yang terkoneksi melalui port USB,Infrared,Serial dan Blue Tooth.

Hardware dan Software Requirement (untuk Linux) :
- PC Server yang telah terinstall Linux OS dengan beberapa packet default dengan tambahan build-essential,tar,automake,autoconf,gcc C compiler.
- Root Account.
- Modem dengan AT Command Support (bisa dicoba Nokia jadul 6100 untuk cost yang terjamin) .:D
- Connector USB( DKU 5).
- Download smstools3 versi terbaru disini.

Instalasi

root@linux~# tar -xzf smstools*.tar.gz
root@linux~# make
root@linux~# make install

Konfigurasi,Eksekusi dan Monitoring Daemon

* Buat directory outgoing,sent,failed,report dan permisionnya :

root@linux~# mkdir /var/spool/sms/outgoing
root@linux~# mkdir /var/spool/sms/sent
root@linux~# mkdir /var/spool/sms/failed
root@linux~# mkdir /var/spool/sms/report
root@linux~# chmod 777 /var/spool/sms/outgoing
root@linux~# chmod 777  /var/spool/sms/sent
root@linux~# chmod 777  /var/spool/sms/failed
root@linux~# chmod 777  /var/spool/sms/report 

*Konfigurasi smsd.conf

root@linux~# nano /etc/smsd.conf :
devices = GSM1 ##penamaan device ("hanya nama")
logfile = /var/log/smsd.log ##path file untuk log##
sent = /var/spool/sms/sent ##path directory sent##
failed = /var/spool/sms/failed ##path directory failed##
outgoing = /var/spool/sms/outgoing ##path directory outgoing##
report = /var/spool/sms/report ##path directory report##
loglevel = 7 ##debugging mode (memperlihatkan pada smsd.log semua informasi tentang AT command yang dikirim ke modem dan jawaban modem ke system (Modem Answer)##

[GSM1] ##harus sesui dengan penamaan modem diatas pada "devices"(dengan huruf S)##
device = /dev/ttyUSB0 ## port dimana modem terkoneksi ("lihat dengan perintah dmesg")##
incoming = yes ## meng-enable feature penerimaan sms ##
report = yes ## delivery report yang nantinya disimpan pada directory /var/spool/sms/report
eventhandler = /usr/local/bin/mysmsql ##path bash script untuk koneksi ke database,sms auto reply,sms fowarding to sms or email,sms notifications,dan sebagainya sesui dengan keinginan##
root@linux~# /etc/init.d/sms3 start
root@linux~# tail -f /var/log/smsd.log

Lanjut ke MySQL Shell Scripting untuk smstools eventhandler :)

Category: Linux | Tags: , , , , , , 2 comments »

2 Responses to “Advanced SMS Gateway with Smstools 3”

  1. ervan:~# tail -f /var/log/blog » Blog Archive » MySQL Bash Script untuk Eventhandler Smstools

    [...] tail -f /var/log/blog Just a small note about my activities « Advanced SMS Gateway with Smstools 3 Trouble Ticket System yang terintregasi dengan Sms Gateway [...]

  2. ervan:~# tail -f /var/log/blog » Blog Archive » Trouble Ticket System yang terintregasi dengan Sms Gateway

    [...] adalah penggabungan implementasi dari 2 posting sebelumnya (OTRS2 dan Smstools3).Konsepnya mudah,Setiap ada new trouble ticket yang masuk maka SMS Gateway akan mengirim notifikasi [...]


Leave a Reply



Back to top