Anda di halaman 1dari 11

6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian

http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 1/11
Stieven Kalengkian
Hidup adalah usaha mendapatkan apa yang sudah ada, bukan mencari apa yang tidak pernah ada

Gammu SMS Gateway Autorespon with PHP
Sebelum lebih dalam, berikaitan dengan artikel ini mohon perhatikan hal-hal berikut :
1. Pastikan anda sudah tahu mengenai PHP CLI,
kalau belum anda wajib mengunjungi situs ini dulu http://www.php-cli.com/
(http://www.php-cli.com/)
2. Pastikan anda tahu penggunakan Windows Task Schedule untuk pengguna Microsoft Windows
dan Cron Job untuk pengguna Linux.
Kalau belum ada sebaiknya kunjungi situs-situs berikut:
- http://www.iopus.com/guides/winscheduler.htm
(http://www.iopus.com/guides/winscheduler.htm)
- http://www.astahost.com/Cron-Jobs-Tutorial-t2324.html (http://www.astahost.com/Cron-
Jobs-Tutorial-t2324.html)
3. Selanjutnya pastikan anda tahu hubungan antara poin 1 & 2 diatas, kalau belum jangan malas
untuk kunjungi situs berikut : http://www.devarticles.com/c/a/PHP/PHP-CLI-and-Cron/
(http://www.devarticles.com/c/a/PHP/PHP-CLI-and-Cron/)
4. Pastikan juga anda sudah menguasai MySQL dasar & PHP dasar, pertanyaan mengenai
penggunaan fungsi-fungsi build MySQL & PHP silahkan merujuk ke masing manual yang ada.
5. Class PHP API for Gammu sudah siap digunakan, jadi kembangkan sesuai dengan kebutuhan
anda, fungsi build dari class tersebut sudah cukup mengakomodir artikel ini.
6. Anda kesulitan ??? sebaikanya anda tanya guru saya Mr. Goo. (http://www.google.com)
Requirement :
- Web Server with PHP 5.0 or latest version http://www.php.net/ (http://www.php.net/)
- Database Server MySQL 5.0 or latest version http://www.mysql.com/ (http://www.mysql.com/)
- Gammu 1.10 or latest version http://www.gammu.org/ (http://www.gammu.org/)
- Class PHP API for Gammu http://www.phpclasses.org/browse/package/3865.html
(http://www.phpclasses.org/browse/package/3865.html)
1. Install Webserver compile PHP 5.x (silahkan merujuk ke manual webserver dan PHp)
2. Install Database Server MySQL 5.x (silahkan merujuk ke manual MySQL)
3. Install Gammu SMS Gateway (silahkan merujuk ke manual Gammu)
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 2/11
4. Buatkan folder sms di www_root/home_web
Contoh:
*Win
Path = 'C:\Program Files\httpd\www\sms'
Jalankan Windows Command/CMD
ketik: md C:\Program Files\httpd\www\sms
*Nix
Path = '/var/www/sms'
mkdir /var/www/sms
5. Download dan letakkan class.sms.php di path yang dibuat tadi
6. Buatkan database baru di mysql dengan menggunakan MySQL Client Favorit anda atau Export
SQL Query berikut:
CREATE DATABASE sms;
USE sms;
CREATE TABLE inbox (
id bigint(5) unsigned primary key auto_increment,
mID varchar(80) unique,
tanggal datetime default '0000-00-00 00:00:00',
nomor varchar(40),
pesan text,
pstatus varchar(10)
);
CREATE TABLE outbox (
id bigint(5) unsigned primary key auto_increment,
mID varchar(80) unique,
tanggal datetime default '0000-00-00 00:00:00',
nomor varchar(40),
pesan text,
pstatus varchar(10)
);
7. Buatkan satu file baru php dengan autosms.php di path yang sama
Contoh: /var/www/sms/class.sms.php
Contoh: /var/www/sms/autosms.php
ketik kode berikut :
enable_sudo(0); //Set 0 for windows
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 3/11
echo "Download SMS dari HP\n";
$data = $sms->Get(); //Download SMS dari HP
//Simpan Inbox
foreach ($data['Inbox'] as $inbox) {
if (!mysql_query("INSERT IGNORE INTO inbox (mID, tanggal, nomor, pesan, pstatus) VALUES ('".$inbox['ID']."', '".$inbox['SentTime']."', '".$inbox['Number']."', '".$inbox['body']."', 'UnRead')")) {
echo mysql_error();
}
else { echo "[INBOX] ".$inbox['Number'].":".$inbox['body']."\n"; }
}
//Simpan Outbox
foreach ($data['Outbox'] as $outbox) {
if (!mysql_query("INSERT IGNORE INTO outbox (mID, tanggal, nomor, pesan, pstatus) VALUES ('".$outbox['ID']."', '".$outbox['SentTime']."', '".$outbox['Number']."', '".$outbox['body']."', '".$outbox['Status']."')")) {
echo mysql_error();
}
else { echo "[OUTBOX] ".$outbox['Number'].":".$outbox['body']."\n"; }
}
//Hapus SMS dari HP
//Hilangkan tanda komentar '#' jika ingin menghapus
# $sms->Del(1,$respon); //Hapus Inbox (Memory SIM)
# echo "$respon\n";
# $sms->Del(2,$respon); //Hapus Outbox (Memory SIM)
# echo "$respon\n";
# $sms->Del(3,$respon); //Hapus Inbox (Memory HP)
# echo "$respon\n";
# $sms->Del(4,$respon); //Hapus Outbox (Memory HP)
# echo "$respon\n";
sleep(5);
echo "Memeriksa format SMS dari Inbox\n";
$query=mysql_query("select * from inbox where pstatus='UnRead'");
while($result=mysql_fetch_assoc($query)) {
$text = explode(" ",$result['pesan']);
if (strtoupper($text[0]) == "CEK" and strtoupper($text[1]) == "SALDO") {
echo "FORMAT: CEK SALDO [ID_ANGGOTA]\n";
/*
Kode Pemeriksaan Saldo Anggota disini
jika valid berikut pesan otomatisnya
*/
$pesan="SALDO ANDA Rp. 123.456";
//Catatan:
//Jumlah saldo diasumsikan telah dicari lewat database berdasarkan
//ID_ANGGOTA = $text[2]
mysql_query("INSERT INTO outbox (mID, tanggal, nomor, pesan, pstatus) VALUES ('".$result['mID']."', now(), '".$result['nomor']."', '".str_replace(array("\t","\r","\n")," ",$pesan)."', 'UnSent')");
echo "[OUTBOX] ".$result['nomor'].": $pesan\n";
}
if (strtoupper($text[0]) == "REG") {
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 4/11
8. Selanjutnya buatkan satu file untuk eksekusi php
Untuk *Win
Buat File: sms.bat
PATH\php.exe -c PATH\php_custom.ini PATH\autosms.php
Catatan:
buatkan custom php.ini (beda dengan php.ini default)
dan perhatikan extension_dir
Kemudian tambahkan pada Windows Task Schedule
lewat Command Line (Windows CMD/Command.com)
schtasks /CREATE /SC MINUTE /MO 5 /ST 12:00:00
/TN "AUTO SMS" /TR "PATH\sms.bat" /RU "System"
*Nix/Linux
Tambahkan pada cron job: crontab -e (Edit cront job with vi editor)
# Execute every 5 minutes
*/5 * * * * PATH/php PATH/autosms.php
echo "FORMAT: REG [NAMA] [KOTA]\n";
/*
Kode Pendaftaran disini dan jika berhasil
berikut pesan otomatisnya
*/
$pesan="Terima kasih, pendaftaran berhasil Nama: ".$text[1]." Alamat: ".$text[2]." ";
mysql_query("INSERT INTO outbox (mID, tanggal, nomor, pesan, pstatus) VALUES ('".$result['mID']."', now(), '".$result['nomor']."', '".str_replace(array("\t","\r","\n")," ",$pesan)."', 'UnSent')");
echo "[OUTBOX] ".$result['nomor'].": $pesan\n";
}
mysql_query("UPDATE inbox set pstatus='Read' where id='".$result['id']."'");
}
sleep(5);
echo "Mengirimkan SMS dari Outbox\n";
$query=mysql_query("select * from outbox where pstatus='UnSent'");
while($result=mysql_fetch_assoc($query)) {
if ($sms->Send($result['nomor'],$result['pesan'],0,0,0,$respon)) {
echo "[KIRIM] ".$result['nomor'].": ".$result['pesan']."\n";
echo $respon;
mysql_query("UPDATE outbox set pstatus='Sent' where id='".$result['id']."'");
} else {
echo $sms->Error;
}
}
?>
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 5/11
Selamat Mencoba
This entry was posted on Kamis, Maret 20th, 2008 at 3:42 pm and is filed under PHP, SMS Gateway,
Tutorial. You can follow any responses to this entry through the RSS 2.0 feed. Anda dapat merespon,
or trackback dari website anda.
24 Balasan ke Gammu SMS Gateway Autorespon with PHP
Anonymous mengatakan:
Maret 24, 2008 pukul 9:20 pm
mas nanya ini > $sms->enable_sudo(0)
enable_sudo itu fungsi sdh ada atau yg sdh di fungsikan di class ?.. kalo di class saya tidak
menemukan enable_sudo
Balas
stieven mengatakan:
Maret 25, 2008 pukul 11:50 am
Anda dapat mendisable (comment)
fungsi itu jika menggunakan windows atau tidak menggunakan sudo untuk menjalan gammu
command execute.
Tapi jika anda menggunakan sudo
silahkan download Version update 2.1 di
http://www.phpclasses.org/browse/package/3865.html
Balas
Mardhie mengatakan:
Maret 26, 2008 pukul 1:39 pm
wah,salut abis dech buat mas steven..
mas, btw slide show itu putranya yaa?
wew, lucu juga yaa?
salam buat si kecil..
jangan bosen buat ngoprek sms gatewaynya ya mas..
merdeka buat gammunya..
Balas
mapays mengatakan:
April 1, 2008 pukul 9:27 pm
malam mas?
mas, kalo mau jalanin perintah konsol di PHP gimana caranya mas?
misal saya mau menampilkan Jenis Handset saya. kalo lewat konsol kan pake #gammu identify,
About these ads (http://en.wordpress.com/about-
these-ads/)
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 6/11
lha kalo di php gimana ya mas?
dibuat seperti link lho mas..
masih bingung nich sampe sekarang.
terima kasih banyak dan sukses selalu ya mas!! salam buat dedek kecil..
Balas
mapays mengatakan:
April 2, 2008 pukul 9:26 pm
Selamat Malam mas Stiev?
mas, saya minta tolong..
saya kesulitan dalam pengembangan aplikasi sms gateway gammu..
btw, script yang ada diblog mas ketika saya jalankan(sudah saya edit)
kok error(gak tampil sama sekali) ya mas?
saya sudah menjalanakan sms gateway bawaan gammu,berhasil sich mas..
tapi sms gatewayku gak bisa autoreply, dia hanya bisa mengirimkan
secara otomatis sesuai Time yang saya berikan.
saya kepingin sms gateway saya bisa autoreply ketika ada sms masuk
yang belum kebaca sesuai yang mas buat.
solusinya gimana ya mas??
ini system saya :
Mysql Version = -4.1.7-4.RHEL4.1
Php Vwersion = -4.3.9-3.1
Linux Kernel = -2.6.9-5.EL
Apache Web Server = 2.0
Gammu version = 1.09.00 built 04:07:58 Mar 13 2008 in gcc 3.4
apa itu berpengaruh mas?
regards,
mardhie / mapays
Balas
mapays mengatakan:
April 22, 2008 pukul 5:16 pm
gunanya apa sich ngisi komentar / pertanyaan disini???
bisa dijawab mas admin?
Balas
Anonymous mengatakan:
April 22, 2008 pukul 8:32 pm
Gunanya supaya bisa dijawab admin kalo tidak sibuk, sudah untung admin mau menyediakan
waktu untuk sedikit menulis tutorial, Admin was not the only one who created this articl e. You can
search another references, there are many tutorial about sms gateway just search it
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 7/11
Balas
Anonymous mengatakan:
Juli 8, 2008 pukul 12:04 pm
mas kalau misalnya saya punya kasus seperti ini;
user mengirim format sms
#reg#ack#nama tempat yg akan dilaporkan#comment#,dengan kondisi inputan nama tempat
yang akan dilaporkan dan comment terserah formatnya trus yg sya mau tanayakan ::
->bgm script untuk memecah isi sms, sehingga hanya inputan yang terserah formatnya yang
dimasukkan ke data base? scriptnya boleh php/mysql terserah mas.trima kasih,ditunggu
pencerahannya mas..
Balas
stieven mengatakan:
Juli 8, 2008 pukul 12:18 pm
$hasil=explode(#,$pesannya);
See manual PHP explode() function for mor detail
Balas
iRene mengatakan:
Juli 10, 2008 pukul 11:54 am
Mas mau tanya klo setelah saya jalankan command
gammu smsd MYSQL smsdrc
hasilnya seperti ini :
41A : 54T:2B+: ..
1 At+CPIN?
2 +CPIN:READY
RECEIVED frame type 000/length 019/25
41A : 54T:2B+: ..
Security status received nothing to enter
1 OK
RECEIVED frame type 000/length 004/4
4FO:4BK:0D:0A
UPDATE phones SET TimeOut = (NOW() + INTERVAL 10 SECOND)+) WHERE IMEI
=354350009355467
Getting security code status
SENDING frame type 000/length 009/9
muncul berulang2 sampai ga ada berhenti2nya sampai berjam2, kira2 itu yg salah apa yah? aau
memang hasilnya harusnya seperti itu? Mohon pencerahannya . Thx before
Balas
stieven mengatakan:
Agustus 7, 2008 pukul 6:04 pm
irene> maaf ya, kayaknya itu dari gammu, saya bukan developer gammu silahkan merujuk
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 8/11
irene> maaf ya, kayaknya itu dari gammu, saya bukan developer gammu silahkan merujuk
websitenya gammu. http://www.gammu.org
Balas
Anonymous mengatakan:
Agustus 26, 2008 pukul 11:07 am
irene ya memamng muncul berulang2, namanya sms servernya di start so running donk
Balas
creative-jual mengatakan:
November 16, 2008 pukul 12:35 am
Mas saya nau tanya kok muncul pesan erro seperti ini ya saat saya coba autosms.php nya
Fatal error: Call to undefined method gammu::enable_sudo() in C:\xampp\htdocs\gammu-sms-
gateway\autosms.php on line 7
terus pada saat saya coba
C:\Documents and Settings\Windows XP>schtasks /CREATE /SC MINUTE /MO 5 /ST 12:00
:00/TN "AUTO SMS" /TR "PATH\sms.bat" /RU "System"
ERROR: Invalid Argument/Option 'AUTO SMS'.
Type "SCHTASKS /CREATE /?" for usage.
C:\Documents and Settings\Windows XP>schtasks /CREATE /SC MINUTE /MO 5 /ST 12:00
:00/TN "AUTOSMS" /TR "PATH\sms.bat" /RU "System"
ERROR: Invalid Argument/Option 'AUTOSMS'.
Type "SCHTASKS /CREATE /?" for usage.
pesannya seperti itu mas.
terimakasih mohon pencerahannya mas.
Balas
creative-jual mengatakan:
November 16, 2008 pukul 1:56 pm
Mas terima kasih sudah menjawab pertanyaan saya sebelumnya dan alhamdulillah schedule tasks
nya sudah jalan.
ada sedikit pertanyaan mas mengenai php_custom.ini itu isinya sama dengan php.ini ataukah ada
yang dirubah settingannya? terus saya pengen buat info valas berbasis sms dimana data kurs kita
ambil dari web lain semisal BCA kemudian kita simpan didatabase lokal terus data2 kurs dari
yang lama sampai yang terbaru itu masih tersimpankira2 ada saran nggk mas baik itu dari
model databasenya atau lainnya? terima kassih sebelumnya.
Balas
Anonymous mengatakan:
November 27, 2008 pukul 4:37 pm
mas aku da tugas database. tlg jelasin tentang mysql api pd php?
Balas
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 9/11
stieven mengatakan:
November 29, 2008 pukul 4:19 am
MySQL API untuk PHP boleh baca disini : http://id2.php.net/mysql
Balas
Anonymous mengatakan:
Februari 10, 2009 pukul 7:29 am
Kemeeruh Mas.. Yen Gak Iso Gak Usah Posting. Jancokkkkkkkkkkkk
Balas
aadz mengatakan:
Februari 21, 2009 pukul 6:15 pm
Hallo mas, aq bwt auto reply nya pake scheduler windows udah bisa. Terima kasih atas
postingannya mas =)
Trs skg aq mo nyoba pake crontab nya di linux, klo di postingannya kan seperti ni :
*/5 * * * * PATH/php PATH/autosms.php
bwt PATH/php di linux tu dimana yas mas? aq coba nyari di /usr/bin kq gk ada. Mohon
bimbingannya
aq pake Ubuntu intrepid, php5.2.6, apache2.2.9
Balas
Anonymous mengatakan:
Februari 22, 2009 pukul 4:07 pm
di linux
umumnya ada di /usr/bin/php
untk tau pasti lokasi php
ketik
> whereis php
Balas
Anonymous mengatakan:
Maret 19, 2009 pukul 5:40 pm
mas steiven saya mau bertanya, kalau dari gammu bisa ngak sih kita mengirim linked sms (1 sms
terdiri dari > 160 karakter)??
kalau dari dos bisa dengan menggunakan parameter -len
echo {pesan} | gammu sendsms TEXT {nomer} -len {length karakter}
yang saya mau tanyakan, apa kalau dari gammu ada yang harus disetting untuk mengirim linked
sms??? karena saya liat ditabel default ada outbox multipart segala, tapi penggunaan tabel ini dari
forum yang saya dapat di internet tetap mengirim lebih dari 1 sms jika panjang > 160 karakter
Atau bisa nga kita menjalankan perintah sendsmsnya dari php?? jadi bukan dari command
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 10/11
prompt, terima kasih
untuk yang punya jawaban atau sekedar sharing pengalaman bisa email ke email saya:
yopie@intraco.co.id
Balas
Freddy Siburian's Family mengatakan:
Mei 2, 2009 pukul 5:51 pm
mas kalau menggunakan windows settingan class nya gimana yah?
terima kasih mas
Balas
Anonymous mengatakan:
Juni 28, 2009 pukul 8:50 pm
mas steve, klo ada pertanyaan dari pembaca direspon dgn baik donk, kok kesannya gak ikhlas
gitu. percuma donk anda menulis jika kurang manfaat!!! tul ga'???? ntar malaikat yg input amal
anda juga setengah2 lho hehehe
Balas
Anonymous mengatakan:
Juni 28, 2009 pukul 10:06 pm
ya sabar donk mas,
yang bersangkutan mungkin lagi sibuk,
sudah untung beliau mau bagi ilmu gratis.. kan masih banyak referensi lain. Tuh kalo baca baik2
artikel ini liat aja point terakhir
"Anda kesulitan ??? sebaikanya anda tanya guru saya Mr. Goo."
alias tanya om google
Balas
503w0nd0 mengatakan:
Juli 9, 2010 pukul 3:49 pm
Mau nanya nich mas,
Saya salut dan sangat berterima kasih dengan tulisan dan objek PHP yang telah Mas relakan
untuk di download secara bebas agar mempermudah untuk mempelajari bahkan memanfaatkan
buat memproduksi.
Tapi ada satu hal yang malah bikin saya bingung, soal fitur yang disediakan oleh versi lama :
class.gammu.sms.php
Kok kayaknya lebih lengkap dibandingkan dengan class yang versi baru nya
class.gammu.php
Misal fasilitas untuk :
delete sms dari HP
monitor tingkat level batterey
monitor tingkat level network
dll
Kok di class yang baru, fasilitas-fasilitas itu seakan-akan malahdihilangkan kenapa Mas ???
Terima kasih
6/12/2014 Gammu SMS Gateway Autorespon with PHP | Stieven Kalengkian
http://stieven.wordpress.com/2008/03/20/gammu-sms-gateway-autorespon-with-php-2/ 11/11
Balas
The Contempt Theme.
Buat website atau blog gratis di WordPress,com.