Tutorial Lengkap membangun SMS Gateway dengan Gammu dan MySQL
Anda ingin membuat web yang berisi layanan SMS gratis seperti yang ada di website sms-online.web.id?,
Disini akan dibahas tuntas bagaimana cara membuat sebuah SMS gateway
dengan Gammu dan cara menghubungkannya dengan web yang sudah anda buat.
Kebetulan setelah saya analisa web sms-online.web.id
menggunakan Gammu sebagai SMS Gatewaynya sehingga semua orangpun bisa
membuatnya dengan hanya mengikuti petunjuk dari saya. Untuk bisa
menghubungkan SMS Gateway yang sudah kita bangun dengan web yang sudah
anda buat anda diharuskan mengerti konsep dasar jaringan dan routing
dengan mikrotik Baik kita langsung mulai saja membahasnya.
A. MEMBANGUN SEBUAH SERVER SMS GATEWAY
Apa itu Gammu?, Gammu adalah sebuah aplikasi/daemon yang dikhususkan
untuk membangun sebuah SMS Gateway yang menghubungkan antara operator
seluler ke internet dan sebaliknya. Aplikasi ini bersifat open source
dibawah lisensi GPL. Sebenarnya Gammu tidak hanya berfungsi sebagai SMS
Gateway saja tetap bisa juga untuk melakukan voice call. Untuk
mengetahui fitur lengkap dari Gammu silahkan buka websitenya di http://wammu.eu/gammu/.
Aplikasi ini tersedia dalam versi Linux dan Windows. Untuk memudahkan
manajemen SMS yang ada di INBOX Gammu mempunyai sebuah aplikasi
web-based yang dibangun menggunakan PHP oleh anak bangsa dari ITB yang
diberi nama Kalkun.
Aplikasi ini menyediakan fitur yang lumayan lengkap untuk memanajemen
Gammu. Sebenarnya setelah kita sukses membangun Gammu, maka kita bisa
membangun aplikasi SMS Gateway dengan bahasa program atau platform
apapun, baik itu web based dengan PHP maupun ASP atau apapun, dan juga
desktop dengan menggunakan Delphi, VB atau lainnya.
Saat ini Gammu sudah support HP/Modem GSM terbaru sehingga anda tidak
perlu kawatir dengan masalah kompatibilitasnya. Yang akan saya bahas
kali ini adalah Gammu versi windows karena Windows sudah banyak
digunakan oleh banyak user dan juga lebih familiar. Dalam artikel ini
pembahasan akan sampai dengan cara instalasi service dan menjalankannya.
Langkah Pertama (Download File)
Silakan mendownload Gammu nya terlebih dahulu di http://www.4shared.com/file/LOCzfDhn/gammu-setup.html
Langkah Kedua (Install Gammu)
Secara default setelah file setup di atas diinstal, file gammu terletak di direktori C:\GAMMU.
Langkah Ketiga (Setting Konfigurasi Gammu)
Setelah file Gammu diinstall, langkah berikutnya adalah setting
konfigurasi. Setting ini diperlukan guna keperluan penyesuaian jenis HP
dan nomor port yang akan digunakan. Bagaimana cara settingnya? Caranya
adalah silakan edit file ‘GAMMURC‘ yang ada di dalam direktori ‘C:\gammu‘. Editlah file GAMMURC tersebut menggunakan Notepad atau sejenisnya kemudian anda rubah bagian berikut :
1.
[gammu]
2.
port =
3.
connection =
parameter port itu nanti diisi dengan nomor port sesuai lokasi colokan
HP Anda. Untuk mengetahui nomor port dimana Anda colokkan HP Anda di
komputer, silakan masuk ke Control Panel – Phone and Modem Options – Modem.
Nah… bila HP Anda sudah tercolok di PC dan drivernya sudah terinstal
dengan baik maka pastinya pada bagian tersebut akan muncul nomor
portnya.
Tips: sebaiknya setiap kali HP Anda dicolokkan ke PC, gunakan
lokasi port USB yang sama alias jangan pindah-pindah colokan, karena
setiap ganti colokan maka nomor portnya akan berubah-ubah. Akibatnya
Anda musti ubah setting GAMMURC nya berkali-kali pula karena harus
menyesuaikan nomor portnya.
Berikut ini contoh konfigurasi GAMMURC bila saya menggunakan modem Wavecom M1206B yang terhubung ke port com5 USB.
1.
[gammu]
2.
port = com5:
3.
connection = at115200
(Penting: jangan lupa tanda : di belakang port)
Bila Anda gunakan lebih dari satu HP yang tercolok ke PC, maka Anda bisa menambah atau mengubah konfigurasinya pada bagian
01.
[gammu1]
02.
.
03.
.
04.
05.
[gammu2]
06.
.
07.
.
08.
09.
dst..
Langkah Keempat (Uji Koneksi)
Langkah terakhir untuk proses setting GAMMU ini adalah melakukan uji
koneksi antara Gammu dengan HP/modem Anda. Langkah ini dilakukan setelah
proses setting konfigurasi dilakukan. Caranya adalah dengan masuk
folder ‘C:\gammu‘ pada direktori Gammu Anda via DOS PROMPT. Lalu ketikkan perintah ini pada command promptnya.
1.
gammu identify
Apabila setelah perintah tersebut dienter lalu muncul informasi
mengenai HP Anda, maka koneksi antara Gammu dengan HP Anda sukses. Bila
responnya tidak seperti yang diharapkan, maka cek kembali nomor portnya
atau jenis connectionnya. Berikut ini contoh tampilan yang keluar
apabila proses setting berhasil dilakukan :
Langkah Kelima (Membuat Database MySQL untuk Gammu)
Langkah ini bertujuan untuk menyiapkan database MySQL untuk menampung
data-data SMS yang diperlukan Gammu untuk SMS Gateway. Sebenarnya tidak
hanya MySQL yang bisa digunakan, namun bisa juga SQL Lite atau Posgre
SQL. Namun… dalam artikel ini hanya untuk MySQL saja deh, karena saya
tidak familiar dengan yang lainnya.
Caranya adalah buat database dengan nama ‘sms‘ atau yang lain (terserah) menggunakan phpMyAdmin Anda.
Lalu buatlah tabel-tabel yang diperlukan oleh Gammu. Waduh.. tabelnya apa aja ya? Don’t worry karena Gammu sudah menyiapkan file dumpnya untuk create tabel. Letak file dumpnya ada di folder ‘C:\gammu\mysql-tabel.sql‘. Nah.. silakan gunakan file dump tersebut untuk membuat tabel-tabelnya menggunakan phpMyAdmin.
Pada Gammu sebenarnya SMS tidak hanya bisa disimpan dalam database,
namun juga bisa sebagai file teks yang disimpan di PC Anda. Namun untuk
keperluan SMS gateway sepertinya lebih enak menggunakan database sebagai
storagenya.
Langkah Keenam (Setting Konfigurasi Untuk SMS Daemon)
Langkah ini dilakukan setelah setting database untuk Gammu. SMS
daemon pada Gammu digunakan untuk proses pembacaan otomatis SMS yang
diterima lalu disimpan ke database. SMS daemon juga diperlukan untuk
keperluan pengiriman SMS.
Untuk melakukan setting SMS daemon, bukalah file ‘SMSDRC‘ yang terletak di direktori ‘C:\gammu‘. Bukalah dengan Notepad atau sejenisnya. Bagian yang diubah adalah:
port = diisi nomor port sesuai yang ada di file GAMMURC
connection = diisi jenis connection sesuai yang ada di GAMMURC
service = mysql (diisi dengan ‘mysql’ karena kita akan menggunakan mysql sebagai storage data SMSnya)
user = diisi user database koneksi ke mysql Anda
password = diisi password koneksi ke mysql Anda
pc = diisi nama host mysql (biasanya localhost)
database = sms (atau sesuai nama database yang tadi kita buat)
connection = diisi jenis connection sesuai yang ada di GAMMURC
service = mysql (diisi dengan ‘mysql’ karena kita akan menggunakan mysql sebagai storage data SMSnya)
user = diisi user database koneksi ke mysql Anda
password = diisi password koneksi ke mysql Anda
pc = diisi nama host mysql (biasanya localhost)
database = sms (atau sesuai nama database yang tadi kita buat)
Contoh konfigurasi yang ditulis
1.
port = com5:
2.
connection = at115200
3.
service = mysql
4.
user = root
5.
password = passwordroot
6.
pc = localhost
7.
database = sms
Catatan: hilangkan tanda # di depan parameter-parameter di atas bila ada.
Langkah Ketujuh (Membuat Gammu Service)
Langkah ini bertujuan untuk membuat service Gammu di Windows. Dengan
dibuatnya service di Windows ini kita bisa lebih mudah menjalankannya
tanpa menggunakan perintah tertentu di command prompt.
Untuk membuat Gammu service di Windows, ketikkan perintah ini di DOS PROMPT setelah Anda masuk ke folder ‘C:\gammu‘.
1.
gammu-smsd -c smsdrc -i
Nah.. bila ada konfirmasi bahwa proses pembuatan service sukses, maka
Anda akan melihat service Gammu muncul pada daftar service yang
berjalan di Windows. Service ini bisa dilihat melalui ‘CONTROL PANEL
> Administrative Tools > Services’. Nah.. untuk menjalankan
service Gammu ini tinggal klik START pada service Gammu tersebut.
Namun bila proses pembuatan service ini gagal, maka silakan cek
kembali konfigurasi SMSDRC nya atau mungkin nama databasenya salah, atau
bisa juga command yang dituliskan salah.
Langkah Pertama (Persiapan)
Untuk menghubungkan SMS Gateway dengan web anda ada 2 metode yang
bisa dilakukan yaitu dengan metode direct connection (IP Publik) ataupun
web service (SOAP). Kali ini yang akan kita bahas adalah metode direct
connection yang membutuhkan persiapan sebagai berikut :
1. Koneksi internet stabil dan unlimited, bisa menggunakan speedy
2. IP Publik statik dari ISP (untuk hal ini IP publik harus masuk ke
router supaya bisa diakses dari internet, untuk lebih jelasnya silahkan
baca artikel Membuat server hosting sendiri dengan speedy dan mikrotik dan Setting Mikrotik PPPoE sebagai gateway speedy
3. Mikrotik Router (PC Router/RouterBoard)
Langkah Kedua (Membuat script PHP untuk mengirim SMS)
OK.. sekarang kita akan mencoba membuat script PHP sederhana untuk mengirim pesan SMS yang terintegrasi dengan Gammu ini.
Langkah pertama kita buat form untuk mengirim pesan SMS nya terlebih dahulu.
form_sms.php
1.
<
form
method
=
"post"
action
=
"send.php"
>
2.
No. HP Tujuan : <
input
type
=
"text"
name
=
"nohp"
value
=
"+62"
><
br
>
3.
Pesan : <
textarea
name
=
"msg"
></
textarea
><
br
>
4.
<
input
type
=
"submit"
name
=
"submit"
value
=
"Kirim SMS"
>
5.
</
form
>
Langkah kedua, kita buat script php untuk mengirim pesannya.
send.php
1.
<?php
2.
$noTujuan
=
$_POST
[
'nohp'
];
3.
$message
=
$_POST
[
'msg'
];
4.
5.
exec
(
'c:\gammu\gammu-smsd-inject.exe -c c:\gammu\smsdrc EMS '
.
$noTujuan
.
' -text "'
.
$message
.
'"'
);
6.
7.
?>
Perintah
exec()
dalam PHP digunakan untuk menjalankan perintah command DOS dalam hal ini adalah perintah command inject nya Gammu.
Karena command inject Gammu pada script di atas menggunakan format
EMS maka memungkinkan kita mengirim SMS dengan jumlah karakter lebih
dari 160 buah.
Oya… sebelum Anda menjalankan script di atas, pastikan bahwa service
Gammu nya telah Anda jalankan, dan HP Anda tercolok ke PC
Sekarang… bagaimana bila pengiriman SMS dari script di atas menggunakan query INSERT? Ini dia scriptnya.
send.php
01.
<?php
02.
mysql_connect(
"dbhost"
,
"dbuser"
,
"dbpass"
);
03.
mysql_select_db(
"sms"
);
04.
05.
$noTujuan
=
$_POST
[
'nohp'
];
06.
$message
=
$_POST
[
'msg'
];
07.
08.
$query
=
"INSERT INTO outbox (DestinationNumber, TextDecoded, CreatorID) VALUES ('$noTujuan', '$message', 'Gammu')"
;
09.
$hasil
= mysql_query(
$query
);
10.
if
(
$hasil
)
echo
"SMS berhasil dikirim"
;
11.
else
echo
"SMS gagal dikirim"
;
12.
13.
?>
Langkah Ketiga (Mengakses script PHP diatas via internet)
Setelah anda membaca dan mempraktekkan langkah kedua di tahap persiapan
anda sudah bisa mengakses form pengiriman SMS anda dari internet,
contoh : bila script PHP diatas pada waktu anda mengaksesnya lewat
localhost menggunakan URL http://localhost/form_sms.php maka untuk mengaksesnya dari internet URL berubah menjadi http://IP_Publik_ISP/form_sms.php. Bila anda ingin URL menggunakan subdomain anda misal http://sms.domainanda.com/form_sms.php, anda tinggal menambahkan
A Record di DNS Record hosting anda yang mengarah ke IP Publik dari ISP anda.
Demikianlah artikel yang saya sampaikan semoga bermanfaat bagi yang
membacanya. Jika ada pertanyaan tentang artikel ini silahkan tinggalkan
komentar anda.
Sumber :
http://gandhionline.web.id/index.php/home/content?id=38
0 comments:
Posting Komentar
PEDOMAN KOMENTAR
Ayo berpartisipasi membangun budaya berkomentar yang baik. Pantang bagi kita memberikan komentar bermuatan menghina atau spam.
Kolom komentar tersedia untuk diskusi, berbagi ide dan pengetahuan. Hargai pembaca lain dengan berbahasa yang baik dalam berekspresi. Setialah pada topik. Jangan menyerang atau menebar kebencian terhadap suku, agama, ras, atau golongan tertentu.
Bangun sharing ilmu dengan berkomentar disini :