SMS
gateway merupakan sistem aplikasi untuk mengirim dan/atau menerima SMS,
terutama digunakan dalam aplikasi bisnis, baik untuk kepentingan
promosi, servis kepada kustomer, pengadaan content produk atau jasa, dan
seterusnya.
Karena merupakan sebuah aplikasi, maka fitur-fitur yang terdapat di dalam SMS gateway dapat dimodifi kasi sesuai dengan kebutuhan.
Beberapa fitur yang umum dikembangkan dalam aplikasi SMS gateway adalah:
1. Auto-reply.
SMS gateway secara otomatis akan membalas SMS yang masuk. Contohnya
untuk keperluan permintaan informasi tertentu (misalnya kurs mata uang
atau jadwal perjalanan), di mana pengirim mengirimkan SMS dengan format
tertentu yang dikenali aplikasi, kemudian aplikasi dapat melakukan
auto-reply dengan membalas SMS tersebut, berisi informasi yang
dibutuhkan.
2. Pengiriman massal.
Disebut juga dengan istilah SMS broadcast, bertujuan untuk mengirimkan
SMS ke banyak tujuan sekaligus. Misalnya, untuk informasi produk terbaru
kepada pelanggan.3. Pengiriman terjadwal.
Sebuah
SMS dapat diatur untuk dikirimkan ke tujuan secara otomatis pada waktu
tertentu. Contohnya untuk keperluan mengucapkan selamat ulang tahun.
Untuk membuat sebuah SMS gateway, Anda perlu mengenal hal-hal yang berhubungan dengan SMS gateway itu sendiri.
Salah
satu hal yang memegang peranan penting dalam pengiriman SMS adalah SMSC
(Short Message Service Center), yang merupakan jaringan telepon
selular yang menangani pengiriman SMS.
Jadi,
pada saat seseorang mengirimkan sebuah pesan SMS melalui ponselnya,
SMSC-lah yang bertugas mengirimkan pesan tersebut ke nomor tujuan.
Jika
nomor tujuan tidak aktif, maka SMSC akan menyimpan pesan tersebut dalam
jangka waktu tertentu. Jika SMS tetap tidak dapat terkirim sampai
jangka waktu tersebut berakhir, maka SMS tersebut akan dihapus dari
penyimpanan SMSC.
Sebuah
aplikasi SMS gateway dapat menggunakan jalur SMSC untuk
pengoperasiannya. Keuntungannya adalah penggunaan nomor pendek yang
mungkin dapat terdiri dari 3 atau 4 digit saja, misalnya 222, 9090, dan
seterusnya.
Contohnya seperti saat Anda mengikuti polling SMS Indonesian Idol, nomor pendek ini disediakan oleh operator jaringan SMSC.
Jalur SMSC juga dapat mengirim SMS dalam jumlah banyak dalam waktu yang relatif singkat.
Hanya
saja, untuk membuat SMS gateway dengan menggunakan jalur SMSC, Anda
harus memiliki jalur koneksi ke operator selular, dan ini bukan hal yang
mudah untuk pelaku bisnis dalam skala kecil ataupun individu.
Umumnya layanan ini digunakan jika aplikasi Anda dapat menghasilkan lalu lintas SMS yang tinggi.
Terdapat
alternatif infrastruktur yang lebih sederhana dan mudah didapatkan,
yaitu membuat SMS gateway yang menggunakan ponsel ataupun modem GSM/CDMA
sebagai media pengirim/penerima SMS, di mana ponsel atau modem GSM/CDMA
tersebut terpasang pada sebuah komputer.
Tentu
saja SMS tersebut sebenarnya tetap terkirim melalui SMSC, hanya saja
melalui rute yang lebih panjang karena tidak memiliki koneksi langsung
ke SMSC. Karena itu, kapasitas dan kecepatan pengirimannya tidak sebaik
performa jika langsung menggunakan jalur SMSC.
Karena
relatif lebih mudah untuk diimplementasikan, SMS gateway dengan
menggunakan ponsel atau GSM/CDMA modem cukup berkembang dan banyak
digunakan.
Lalu
apa perbedaannya jika menggunakan ponsel, modem GSM, atau modem CDMA?
Apa pilihan terbaik? Sangat tergantung pada kebutuhan Anda sendiri,
modem GSM/CDMA memang di desain bekerja untuk keperluan SMS gateway,
memiliki performa yang baik, dan stabil dibandingkan dengan ponsel
biasa.
Tetapi,
penggunaan ponsel untuk keperluan SMS gateway juga dapat
dipertimbangkan jika sistem SMS gateway yang digunakan tidak terlalu
berat dan masih dapat ditangani melalui ponsel.
Sedangkan
modem GSM atau modem CDMA, sesuai dengan namanya, dibedakan oleh
jaringannya, apakah menggunakan GSM atau CDMA. Untuk saat ini, modem GSM
lebih banyak digunakan karena jaringan GSM yang lebih stabil.
Modem
CDMA tetap merupakan alternatif menarik yang mungkin berguna untuk
kondisi tertentu. Misalnya jika Anda memiliki perhitungan biaya pulsa
yang lebih murah, atau kalangan penerima SMS dari sistem SMS gateway
Anda mayoritas menggunakan ponsel CDMA.
Cara kerja modem GSM/CDMA mirip dengan modem dialup yang biasa Anda gunakan untuk koneksi Internet melalui line telepon.
Perbedaannya
adalah modem dial-up mengirim dan menerima data melalui line telpon,
sedangkan modem GSM/CDMA mengirim dan menerima data melalui gelombang
radio.
Library SMS Gateway
Kita akan membahas lebih lanjut mengenai konsep pembuatan SMS gateway, dengan menggunakan ponsel atau modem GSM.
Inti
dari sebuah SMS gateway adalah mesin atau engine pengiriman dan
penerima SMS, sehingga developer dapat menggunakan function-function
yang telah disediakan engine tersebut dan menyesuaikannya dengan
kebutuhan dan database.
Salah
satu komponen ActiveX yang dapat digunakan untuk keperluan SMS gateway
adalah FBUS yang dapat digunakan oleh programer Visual Basic ataupun
bahasa pemrograman lain yang mendukung control ActiveX.
Yang
paling menarik adalah untuk versi FBUS Lite dapat didownload secara
gratis. Pada saat ini tidak mudah mendapatkan komponen SMS gateway yang
gratis dan berkualitas, terutama untuk platform Windows.
FBUS
kompatibel dengan kebanyakan ponsel Nokia, dengan panduan contoh
program demo yang ikut disertakan dalam paket download-nya dan referensi
dari website, Anda dapat mengembangkan sebuah SMS gateway sederhana.
Library/komponen
lain yang dapat Anda pergunakan adalah Boomerang GSM yang dibuat dengan
bahasa pemrograman Delphi, tetapi juga disediakan library ActiveX yang
dapat digunakan oleh Visual Basic.
Untuk
versi Lite juga dapat diperoleh secara gratis, walaupun Anda memerlukan
registrasi melalui website Boomerang pada saat menggunakannya di
komputer Anda.
Library ini cukup dapat diandalkan dan kompatibel dengan cukup banyak jenis ponsel maupun modem GSM.
Untuk
library atau software SMS gateway komersial, Anda tidak akan mengalami
kesulitan mencarinya melalui Internet, terdapat banyak sekali pilihan
yang tersedia. Misalnya Oxygen, WinSMS, Ozeki, dan masih banyak lagi.
Untuk
lingkungan platform keluarga Linux, salah satu pilihan yang populer
adalah Kannel. Selain SMS gateway, Kannel juga merupakan WAP gateway.
Pilihan popular lainnya dalam lingkungan Linux adalah Gnokii.
MSComm dan AT Command
Anda
juga dapat membuat sendiri library/komponen SMS gateway, dengan
menggunakan control/komponen standar yang ada pada bahasa pemrograman
seperti Visual Basic atau Delphi. Control/komponen yang dimaksud adalah
MSComm.
MSComm
menyediakan komunikasi data melalui serial port (juga mendukung USB
dan infrared) dari aplikasi Anda. Sehingga Anda dapat berkomunikasi
dengan ponsel atau modem GSM yang terpasang pada serial port komputer
Anda.
Bahasa yang dikenali oleh ponsel/modem GSM disebut dengan AT command. AT merupakan kependekan dari Attention.
AT command dapat digunakan antara lain untuk menginstruksikan perintah-perintah sebagai berikut:
1. Mengirim dan menerima pesan SMS atau faks.
2. Mendapatkan informasi mengenai device, misalnya nama manufaktur, nomor IMEI, dan lain-lain.
3. Mendapatkan status device, misalnya status aktivitas, status registrasi network, kekuatan sinyal, ataupun status baterai.
4. Penulisan dan pencarian phonebook.
5. Dari sisi keamanan, Anda dapat mengaktifkan fasilitas lock dan mengubah password.
6. Menyimpan dan mengembalikan konfi gurasi.
Tidak
semua device mengimplementasikan seluruh AT command, pada umumnya modem
GSM lebih mendukung banyak AT command dibandingkan ponsel biasa.
Dengan AT command, Anda juga dapat mengirim SMS melalui GPRS jika modem atau ponsel Anda mendukung fitur GPRS.
Untuk
mencoba AT command melalui komputer Anda, Anda dapat menggunakan
HyperTerminal yang disediakan oleh Microsoft Windows yang terletak pada
menu All Programs
– Accessories, Communications – HyperTerminal.
Pastikan
Anda telah menginstal driver yang diperlukan agar operating system
mengenali device yang Anda gunakan, lalu Anda dapat memasukkan kartu GSM
pada ponsel atau modem GSM. Koneksikan pada port komputer, pastikan
computer Anda telah mengenalinya, lalu Anda dapat memanggil program
HyperTerminal.
Untuk
melakukan tes koneksi dengan ponsel/modem GSM, cukup ketikkan perintah
AT diikuti dengan penekanan tombol enter, yang akan direspon dengan OK
jika tidak terdapat masalah.
Berikut adalah contoh rentetan AT command untuk mengirimkan SMS:
AT
AT+CMGF=1
AT+CMGS=08xxxxxxx
> testing kirim
Perintah
AT+CMGF=1 memberikan instruksi untuk beroperasi pada format text (akan
dijelaskan kemudian), AT+CMGS= diikuti dengan nomor ponsel tujuan,
sedangkan tulisan “testing kirim” merupakan isi pesan yang ingin
dikirim.
Setiap
baris pada contoh perintah di atas diakhiri dengan penekanan tombol
enter, kecuali untuk baris pengirisan pesan, yang diakhiri dengan CTRL +
Z.
AT
command umumnya ditulis dengan huruf besar, tetapi banyak modem GSM dan
ponsel yang mengizinkan penulisan AT command dalam huruf besar maupun
huruf kecil.
Setelah
berhasil menjalankan AT command pada HyperTerminal, maka Anda telah
siap untuk melangkah lebih lanjut, yaitu menuliskan kode program pada
bahasa pemrograman favorit Anda untuk membangun sebuah SMS gateway.
Kode
program yang membangun SMS gateway pada intinya menuliskan AT command
di dalam aplikasi Anda, sebagaimana yang dilakukan dalam HyperTerminal.
Tentunya,
peranan AT command sangat penting jika Anda mengembangkan sendiri
aplikasi SMS gateway. Untuk memudahkan pemahaman, Anda dapat
mengategorikan AT command ke dalam beberapa kategori.
AT COMMAND YANG BERSIFAT UMUM
AT COMMAND FUNGSI
AT+CGMI Mengambil informasi manufaktur
AT+CGMM Mengambil informasi model
AT+CGMR Mengambil informasi revisi
AT+CGSN Mengambil informasi serial number device
AT+CSCS Memilih set karakter
AT COMMAND UNTUK KONTROL
AT COMMAND FUNGSI
ATD Melakukan dial
ATH Hang up panggilan yang masuk
ATA Menjawab panggilan yang masuk
AT COMMAND UNTUK LAYANAN JARINGAN
AT COMMAND FUNGSI
AT+CNUM Nomor subscriber
AT+CREG Registrasi jaringan
AT+COPS Pemilihan operator
AT+CLCK Fasilitas lock
AT+CPWD Penggantian password
AT+CCWA Call waiting
AT COMMAND UNTUK SMS
AT COMMAND FUNGSI
AT+CPMS Menentukan penyimpanan pesan
AT+CMGF Format pesan
AT+CSCA Nomor service center
AT+CNMI Pengaktifan indikasi pesan baru
AT+CMGL Daftar pesan
AT+CMGR Membaca pesan
AT+CMGS Mengirim pesan
AT+CMGD Menghapus pesan
AT+CMMS Mengirimkan lebih banyak pesan
+CMTI Notifi kasi delivery pesan
+CDSI Notifi kasi status report
Masih
banyak lagi AT command yang tersedia, akan sangat bagus jika Anda
memiliki dokumentasi AT command yang didukung oleh device yang Anda
gunakan, sehingga Anda dapat memaksimalkan kemampuan device yang
digunakan pada SMS gateway Anda.
Untuk
AT command yang berawalan dengan AT (misalnya: AT+CMGS, AT+CMGD)
diketikkan dengan diikuti parameter-parameter yang dibutuhkan, sedangkan
command tanpa awalan
AT (seperti +CMTI,+CDSI) merupakan result yang dikeluarkan oleh device.
Jika
Anda tidak memiliki dokumentasi yang cukup mengenai AT command yang
didukung oleh device yang digunakan, Anda dapat mencoba AT command
tersebut melalui HyperTerminal.
HyperTerminal
akan mengembalikan pesan kesalahan jika ATcommand yang Anda ketikkan
tidak dimengerti oleh device. Saat sebuah AT command tidak menampilkan
pesan kesalahan, Anda perlu mencoba lebih jauh dengan mengetikkan
parameter-parameter yang mungkin digunakan dalam aplikasi.
Hal ini penting mengingat AT command juga bisa berbeda parameter antara device satu dengan device lainnya.
Terdapat
dua tipe AT command, yaitu basic command dan extended command. Basic
command adalah AT command yang tidak menggunakan tanda +, misalnya ATD,
ATH, dan ATA.
Sebaliknya,
AT command yang menggunakan tanda + merupakan extended command. Setiap
extended command memiliki parameter/perintah test yaitu =?, yang akan
mengembalikan informasi mengenai command tersebut.
Contohnya Anda dapat mengetikkan AT+CMGF=?, AT+CMGI=?, dan seterusnya.
Format PDU dan Text
Format
SMS yang digunakan oleh ponsel/modem GSM adalah format PDU (Protocol
Description Unit), tetapi pada contoh di atas dengan menggunakan
HyperTerminal, Anda menggunakan format ASCII text, yang memang lebih
mudah digunakan.
Tetapi
proses yang terjadi adalah format ASCII text yang Anda ketikkan akan
di-convert ke dalam format PDU, pada saat SMS diterima nomor tujuan,
ponsel/modem GSM akan mengubah kembali SMS format PDU tersebut menjadi
format ASCII text agar dapat terbaca dengan mudah oleh pengguna.
Anda
telah mencoba mengirimkan SMS melalui AT command dengan format text,
cukup mudah bukan? Jika berhasil melakukannya, Anda perlu berterima
kasih pada ponsel atau modem GSM Anda, karena device yang Anda gunakan
mendukung format text, yang diaktifkan melalui perintah AT+CMGF=1.
Tetapi
tidak semua device mendukung format text, untuk device yang hanya
mendukung format PDU, Anda harus mengirimkan SMS dalam format PDU.
Format PDU dituliskan dengan heksadesimal, terbagi atas 8 header, yaitu:
1. Nomor SMS Center.
Terdiri lagi dari 3 subheader yang memiliki aturan sendiri, sebagai
contoh SMS Center Telkomsel dengan format text biasa adalah 0811000000,
tetapi di dalam format PDU dituliskan menjadi 06818011000000. Contoh
lain SMS Center Indosat-M3 adalah 0855000000 dalam format text,
dituliskan menjadi 06818055000000 dalam format PDU.
2. Tipe SMS.
3. Nomor Referensi SMS.
4. Nomor Ponsel Penerima, dengan cara penulisan yang mirip dengan header 1, yaitu pengisian nomor SMS Center.
5. Bentuk SMS.
6. Skema Encoding Data I/O.
7. Jangka Waktu Sebelum Expired.
8. Isi SMS, terbagi lagi menjadi dua subheader dan isi pesan dalam heksadesimal.
Delapan
header ini kemudian digabungkan menjadi sebuah paket PDU yang lengkap.
Jika menggunakan format PDU, Anda memerlukan function/tools yang dapat
membantu Anda melakukan konversi format PDU ke text dan sebaliknya.
Persiapan Development
Anda
dapat memilih bahasa pemrograman yang disukai untuk mengembangkan
aplikasi SMS gateway. Selama bahasa pemrograman tersebut mendukung
komunikasi device dengan menggunakan AT command, maka Anda dapat
membangun SMS gateway dengan menggunakan bahasa pemrograman tersebut.
Pada kesempatan mendatang, kita akan mempelajari konsep pembuatan beberapa fitur standar SMS gateway dengan menggunakan komponen MSComm dan bahasa pemrograman Visual Basic.
Hal
lain yang perlu dipersiapkan adalah database. Anda dapat menyusun
tabel-tabel dalam database sebagaimana layaknya SMS dikirim dan disimpan
pada ponsel Anda, di mana terdapat tabel Inbox untuk menerima SMS,
table Outbox untuk mengirim SMS, dan table Sent Items untuk SMS yang
telah terkirim.
Sampai bertemu kembali dalam artikel selanjutnya, dengan pembahasan yang lebih mendalam mengenai SMS gateway.
0 Responses so far.
Post a Comment