Senin, 04 Oktober 2010

[updated with simple script] Membuat Server SMS dengan Gammu[updated with simple script] Membuat Server SMS dengan Gammu

Server SMS atau lebih sering disebut dengan SMS Gateway, adalah suatu methode mengintegrasikan mekanisme SMS ke komputer. Dengan demikian SMS tersebut dapat diarahkan langsung ke dalam database. Dengan demikian juga, maka seseorang yang melakukan SMS dapat langsung mendapatkan jawaban dari mesin secara otomatis.
Untuk membangun SMS Gateway ini, perlu penambahan satu perangkat keras yaitu, Modem GSM atau telepon seluler yang Support atau mendukung untuk proses SMS Gateway ini. Perangkat lunak yang diperlukan adalah: Engine SMS Gateway. Engine inilah yang akan menjadi otak dari pelaksana Sistem SMS Gateway.Engine ini memiliki tugas, memindahkan SMS ke dalam database atau menjadi file text dengan kondisi tertentu. Engine ini juga yang bertugas mengirimkan SMS dari file text atau hasil ketikan kita.

Ada beberapa engine kesukaan saya antara lain:
  1. SMSTools: Berbasis Linux, versi yang terakhir saya gunakan belum mendukung kinerja bersama database server, sehingga perlu kegiatan tambahan:PARSING data menuju MySQL.Kelebihannya, simpel, tangguh, anti mendem!! bisa di download di sini
  2. Kannel: Kannel ini hampir seperti SMSTools. Kelebihan lain dari kannel adalah, dia mampu dibuat menjadi SMPP (Send Message Point to Point Protocol) service, seperti yang dilakukan sistem SMS Premium 4 digit. Silakan download di sini.
  3. Gnokii: Windows, Linux. Saya belum banyak mencoba menggunakan Gnokii. Untuk source dapat didownload di sini.
  4. Gammu: Windows, Linux. Kelebihannya adalah dia sudah support dengan database, mampu menjalankan sebuah command ketika SMS datang. Situsnya dapat di klik disini
Hebatnya dari seluruh opensource SMS terkenal ini adalah: mereka diawali dengan Platform Linux!!

Adapun hardware yang direkomendasikan adalah:

SMSTools : Semua hardware, hampir semua hardware mobile dapat diinstallasi di sistem Linux secara manual
Gammu : Direkomendasikan menggunakan Wavecom

Bagaimana dengan Aplikasi kontrol SMS?? Selama engine dapat melakukan restorasi ke dalam teks atau MySQL, maka kita dapat menggunakan aplikasi apapun, dapat berbasis web ataupun desktop.


Gammu.

Seperti yang dijelaskan di atas, Gammu memiliki keunggulan dengan mendukungnya digunakan database server, seperti MySQL dan PostgreSQL. Dengan ini juga lah gammu menjadi amat disukai oleh para SMS Gateway Developer. Cara installasi Gammu sangat mudah. Berikut tutorial Gammu untuk Windows.

Tinggal source dikopikan dan di paste di mana anda suka, misalnya adalah di drive C:\gammu\

Gbr 1. Contoh Direktori Installasi Gammu

Kemudian bukalah direktori hasil ekstrak tersebut, dan salinlah file C:\gammu\share\doc\gammu\examples\config\gammurc dan C:\gammu\share\doc\gammu\examples\config\smsdrc, dikopikan persis dibawah direktori bin yaitu C:\gammu\bin\

Direktori BIN sebenarnya adalah direktori tempat file-file perintah. Sedangkan yang kita kopikan tadi , gammurc dan smsdrc adalah file konfigurasi. Mengapa kita letakkan dibawah bin? Jawabnya adalah,: agar lebih mudah proses riset kita.

Gammu dapat berjalan pada dua mode:

  1. Non-Service: Gammu untuk keperluan administrasi, seperti identify hardware, cek pulsa, coba SMS. Konfigurasi yang digunakan adalah GammuRC
  2. Service: Gammu untuk operasional database langsung. Konfigurasi yang digunakan adalah SmsdRC
Sialnya adalah, Gammu ini tidak dapat berjalan dua mode bersamaan di Windows. Karena jika kita jalankan suatu proses dalam keadaan salah satunya sedang berjalan, maka dianggap mengakses port yang sedang busy condition.

Setelah dilakukan installasi, maka kita wajib memasang hardware dan sekaligus menginstal drivernya. Kemudian kita pun harus mendeteksi Port dari Hardware modem tersebut yang dapat digunakan sebagai port kerja. Jika anda telah menginstal dan memasang hardware, maka lihatlah pada Device Manager anda.

My Computer, Click Kanan muncul Context menu, pilih Properties, akan muncul System Properties, Pilih Hardware dan Device Manager. Lihatlah pada PORTS. Disini saya menggunakan modem PCMCIA Vodafone Option.


Gbr2. Device Manager

Dapat dilihat pada Device Manager terdapat PORT dari MOdem yang berfungsi untuk Application Interface. Biasanya disinilah port message sistem terdapat. Namun untuk beberapa Modem termasuk Huawei 1550 tidak demikian, dia justru terdapat pada port yang lain. Namun tidak ada salahnya dicoba, dan di test dengan gammu, kemudian bukalah file C:\gammu\bin\gammurc dengan menggunakan editor text seperti Notepad, Notepad++ atau Wordpad

Kira kira file akan berbunyi seperti ini:

; This is a sample ~/.gammurc file.
; In Unix/Linux copy it into your home directory and name it .gammurc
; or into /etc and name it gammurc
; In Win32 copy it into directory with Gammu.exe and name gammurc
; More about parameters later
; Anything behind ; or # is comment.
; -----------------------------------------------------------------------------

[gammu]

port = com5:
connection = at115200
; Do not use model configuration unless you really need it
;model = 6110
;synchronizetime = yes
logfile = gammulog
;logformat = textall
;use_locking = yes
;gammuloc = locfile
;startinfo = yes
;gammucoding = utf8
;usephonedb = yes

;[gammu1]

;port = com8:
;model = 6110
;connection = fbusblue
;synchronizetime = yes
;logfile = gammulog
;logformat = textall
;use_locking = yes
;gammuloc = locfile
;startinfo = yes
;gammucoding = utf8

Demikian sekilas file gammurc. Perlu diperhatikan adalah bagian yang saya tebalkan. Sesuaikan letak port dengan port yang ditemukan dalam device manager. Sedangkan connectionnya dapat disesuaikan sesuai dengan File Koneksi Modem yang saya lampirkan. dalam hal ini saya menggunakan port: com5: dan connection : at115200.

Anda dapat menggunakan lebih dari satu modem sekaligus, namun jika anda menggunakan hanya satu modem, maka bagian Gammu konfig untuk modem ke dua sebaiknya dinonaktifkan dengan cara dibuat komentar dengan tanda ;

Langkah selanjutnya adalah anda membuka Command Prompt dengan Start Run: CMD enter.
Kemudian jika path gammu anda sama dengan saya di C:\Gammu maka ketiklah

CD \
CD gammu\bin

maka Prompt akan berbunyi seperti ini

C:\gammu\bin>

Kemudian testlah modem dengan :

gammu --identify

seperti pada berikut ini

Gbr3 Gammu Identify Hardware

Dengan demikian seharusnya SMS Gateway anda siap untuk dibangun. Anda dapat mencoba dengan menggunakan beberapa perintah, seperti kirim SMS dan mengambil SMS, seperti pada gambar berikut:


Cobalah memberi perintah pada gammu seperti:

Kirim SMS
echo "kata yang akan dismskan"|gammu sendsms TEXT nohp

contoh
echo "mencoba"|gammu sendsms TEXT 0274876543

Terima semua SMS

gammu getallsms

Terima sms berdasar folder

gammu getsms folder [letak]
gammu getsms folder 100001

Cek Pulsa

gammu getussd nomerdialpulsa
gammu getussd *888#

Jika operasional tersebut seluruhnya tidak menghasilkan error, maka anda siap untuk melakukan installasi service gammu.

Installasi Service

Installasi service gammu ini harus benar dan harus menemukan PATH ataupun service yang benar. Jika tidak, maka akan terjadi error. Semisal adalah terjadi masalah dengan koneksi database, maka gammu tidak akan menyala. Untuk installasi service ini maka kita dapat menggunakan konfigurasi SMSDRC

Bukalah smsdrc tersebut dengan menggunakan editor text, dan sesuaikan dengan port dan connection dari gammurc.

[gammu]
port = com5:
connection = at115200


[smsd]
# SMSD service to use, one of FILES, MYSQL, PGSQL, DBI
service = mysql
# PIN for SIM card
#PIN = 1234
# File (or stderr, syslog, eventlog) where information will be logged
logfile = smsdlog.log
# Amount of information being logged, each bit mean one level
debuglevel = 0
# Configuration for using more phones on same database
#phoneid = MyPhone1
# Script to be executed when new message has been received
#runonreceive = /some/script
runonreceive = C:\App\xampp\php\sms.bat
# Commication frequency settings
commtimeout = 30
sendtimeout = 30

# Database backends congfiguration
user = root
password =
pc = localhost
# pc can also contain port or socket path after colon (eg. localhost:/path/to/socket)
database = smsd

# DBI configuration
driver = sqlite
# driverspath = /usr/lib/dbd/
# Database directory for sqlite
# dbdir = /var/lib/smsd

# Files backend configuration
#inboxpath = /var/spool/sms/inbox/
#outboxpath = /var/spool/sms/outbox/
#sentsmspath = /var/spool/sms/sent/
#errorsmspath = /var/spool/sms/error/
#inboxformat = unicode
#transmitformat = auto

Demikian kira-kira isi dari smsdrc
Perhatikan pada bagian PORT, Connection, PIN, logfile, service. Jika anda menggunakan PIN pada kertu anda maka isikanlah sesuai dengan PIN nya. LOGFILE digunakan untuk membuat file record proses apa saja ayng terjadi selama proses SMS Gateway tersebut dioperasikan.

TAG SERVICE
tag ini berfungsi untuk mengarahkan, kemanakan anda akan merestorasi sms baik datang ataupun keluar? Jika diisi FILES maka anda harus mengisi pada bagian:

#inboxpath = /var/spool/sms/inbox/
#outboxpath = /var/spool/sms/outbox/
#sentsmspath = /var/spool/sms/sent/
#errorsmspath = /var/spool/sms/error/
#inboxformat = unicode
#transmitformat = auto


Sesuaikan juga letaknya dengan direktori anda seperti demikian

#inboxpath = C:\inbox\
#outboxpath = C:\outbox\
#sentsmspath = C:\sent\
#errorsmspath = C:\error\
#inboxformat = unicode
#transmitformat = auto


Jika menggunakan database maka anda harus mengisi properti databsenya. Misal saya gunakan MySQL atau PostgreSQL

maka saya harus mengaktifkan koneksi user ke dalam databasenya seperti berikut

# Database backends congfiguration
user = root
password =
pc = localhost
# pc can also contain port or socket path after colon (eg. localhost:/path/to/socket)
database = smsd


Perhatian!! Semua path tersebut harus sudah ADA. jika belum ada maka Gammu Service tidak akan dapat dinyalakan. Untuk database gammu saya menggunakan nama SMSD, yang strukturnya di dapat dari

C:\gammu\share\doc\gammu\examples\sql\mysql.sql


Restorasi ke dalam database dapat dilakukan manual dengan command line ataupun SQL Yog


Setelah hal tersebut selesai, maka anda dapat melakukan installasi gammu service dengan perintah pada command line

gammu-smsd -c smsdrc -i -n namabebas

Jika telah diinstall, maka anda dapat melihat pada WIndows Service (Start Run ketik services.msc) muncul nama Gammu. Startlah!! Error atau tidak? Jika error, maka tengoklah file log yang telah anda tentukan tadi pada smsdrc



Gbr 6. Service Gammu Start

Nah, untuk proses pengiriman SMS? Gampang, tinggal letakkan sebuah kalimat pada tabel outbox pada field TextDecoded dan NoTujuan pada field DestinationNumber, maka gammu service akan memproses dengan cara mengirimkan, dan memindahkan pada tabel SentItems, dengan Laporan OK atau Error yang valid.. Untuk berbasis Text juga sama saja. Tinggal meletakkan sebuah file yang berisi TextDecoded dan Destination number.

Untuk menerima SMS, tinggal meletakkan di direktori Inbox atau tabel Inbox. Untuk proses autoreply, kita dapat memanfaatkan runonreceive pada smdrc, dan diarahkan pada sebuah file tertentu yang menjalankan proses selanjutnya...

Untuk pembuatan aplikasi berbasis web untuk SMS gateway dapat saya posting kapan-kapan kalau tidak capek :D, dengan aplikasi ini, kita tinggal membuat KEYWORD dan menentukan proses dengan mudah berdasar tabel yang diupload dari Excel. Misal ketik : Poll [spasi] coba, dst

Boleh dicoba pada komputer dan HP masing-masing, jika bingung, silakan hubungi saya di bimosaurus@gmail.com.. Nomer HP sudah pada punya toh? Mau privat dan CD tutorial, juga boleh (ups bukan online shopping account malah promo)


SEMOGA BERGUNA



Updated:

Saya tambahkan script PHP untuk operasi dasar SMS Gateway, saya lampirkan updatenya dan silakan diunduh.Bukalah dengan editor text dan pada bagian

$dbname ='smsd';
$dbuser ='root';
$dbpass ='';
$dbhost ='localhost';

silakan disesuaikan dengan konfigurasi yang ada pada MySQL anda... Buatlah direktori SMS pada DocumentRoot Server web anda, (xampp\htdocs, atau wamp\apache\htdocs, atau /var/www, atau pada subDocumentRoot anda), letakkan file index ini pada direktori tersebut, dan bukalah

http://localhost/sms/

Simsalabim.. operasi dasar SMS sudah dapat dilakukan dari komputer anda!!

Perlu script dan aplikasi lengkap?

0 komentar:

Posting Komentar