Tuesday, March 5, 2013

SMS Gateway Gammu + Mysql Trigger

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

Mysql database


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 

2 comments:

 
Copyright © . Only-me - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger