Beberapa waktu yang lalu saya mencoba engin Gammu sebagai sms gateway, hasilnya memang memuaskan tanpa susah-susah coding dengan gammu sms gateway dapat di setup dengan waktu beberapa menit xixixixi…. Gampang banget coy.
Berikut hal yang dibutuhkan :
Modem, bisa juga modem GSM atau Hp yang dijadikan modem
Gammu sebagai engine sms gateway
Install mysql database, extrak Gammu engine ubah sedikit configurasi gammu yang terletak pada file gammurc ubah port sesuaikan dengan port usb modem yang digunakan cek di property modemnya, ubah juga baris connection = at115200 menggunakan AT Command kebanyakan untuk piranti modem atau ponsel saat ini.
File kedua yang harus di edit yaitu file smsdrc, edit menggunakan notepad, edit baris
user = root (Jika anda tidak merubah settingan default Mysqlnya)
password = (kosongkan kalau anda tidak menggunakan password di mysqlnya)
pc = localhost
database = smsd
import database mysql.sql yang ada di folder win32 folder gammu.
Ubah field Coding Ubah dulu field Coding yang ada di tabel Outbox dan sent items, ubah typenya jadi enum(’Default_No_Compression’).
Untuk melakukan test buka command promp ketik
Gammu –identify
Kalo berhasil mendeteksi modem maka akan tampil informasi modem yang dipakai.
Setelah terdeteksi tinggal mengektifkan service gammu dengan cara ketik
Gammu –smsd MYSQL smsdrc
Membuat Auto response
Gammu mempunyai tabel-tabel utama dalam operasi sms disamping tabel-tabel lainnya tabel-tabel itu sebagai berikut:
Inbox : tabel untuk menampung sms masuk
Outbox : tabel yang berfungsi untuk pengiriman sms dimana data yang masuk di tabel outbox akan dikirim ke alamat tujuan kemudian dipindah ke tabel sentitems
Sentitems : berfungsi untuk menampung sms terkirim
Pada prinsibnya untuk membuat auto response kita tinggal membuat trigger pada table inbox, dimana trigger tersebut akan mengecek input sms yang masuk sesuai dengan yang diharapkan atau tidak. Trigger itu sendiri merupakan mekanisme yang dibenamkan dalam database yang akan memicu suatu aksi bila ada perubahan data pada tabel lain yang diberi trigger.
Misal kita punya tabel ipk_mhs dengan field nim, nama, ipk kita bisa membuat trigger sebagai berikut:
create trigger smsd.ipk AFTER INSERT on smsd.inbox for each row begin insert into outbox(DestinationNumber, TextDecoded,CreatorID) values(New.SenderNumber,(select concat(nama, ' Ipk: ',ipk) from ipk_mhs where nim=SUBSTRING(NEW.TextDecoded,1)),'1'); end
dengan trigger diatas maka engine gammu akan
melakukan aksi pengiriman sms dengan mengambil new.SenderNumber itu yang akan
di insertkan ke outbox sms, karna percobaan yang aku lakukan diatas hanya iseng
dan ternyata yg kirim sms 1 orang bisa 10 sms wah bisa tekor nih pulsa heheheh….
kemudian pada trigger pun kita bisa melakukan pembatasan contoh triggernya
seperti berikut
create trigger smsd.ipk AFTER INSERT on smsd.inbox for each row begin if (select count(*) from inbox where SenderNumber=New.SenderNumber) = 6 then insert into outbox(DestinationNumber, TextDecoded,CreatorID) values(New.SenderNumber, ' Maaf No Anda Sudah Lebih 5 kali Request','1'); elseif (select count(*) from inbox where SenderNumber=New.SenderNumber) <= 5 then insert into outbox(DestinationNumber, TextDecoded,CreatorID) values(New.SenderNumber,(select concat(nama, ' Ipk: ',ipk) from ipk_mhs where nim=SUBSTRING(NEW.TextDecoded,1)),'1'); end if; end
Jadih deh smsnya terbatasi 5 kali sms abis itu gak bakal digubris hehehe…… yah semoga bisa di pahami…
hanya coretan kecil
gan mau tanya apakah tabel inbox, outbox, dan sentitem itu berelasi??
ReplyDeletemantap
ReplyDelete