Membuat SMS Gateway Sederhana
SMS (SHORT MESSAGE SERVICE) bukan hal baru pada teknologimobile, tetapi penggunaannya seolah sudah menjadi bagian tak terpisahkan dari kehidupan masyarakat kota.Tidak surut oleh kemajuan teknologi mobile seperti EMS, MMS, ringtone, gambar, ataupun video conference, cara bertukar informasi ala SMS dengan menggunakan teks sederhana masih tetap menjadi pilihan utama.
Tidak terbatas hanya untuk sarana komunikasi pengganti percakapan lisan di antara dua orang, SMS saat ini juga ramai digunakan untuk voting, kuis, lelang, banking, order barang, promosi, undangan, dan masih banyak lagi.
Apa Kelebihan SMS?
SMS dapat menjadi popular tentunya karena memiliki kelebihan, dan kelebihan SMS justru terletak pada kesederhanaannya, sehingga mudah diaplikasikan.
Semua ponsel memiliki ?tur SMS, tidak peduli apakah ponsel tersebut mendukung 3G dengan fasilitas touch screen ataupun ponsel tempo dulu yang hanya memiliki satu baris layar sederhana seperti kalkulator. SMS juga tetap dapat dikirim walaupun ponsel penerima tidak dalam keadaan aktif dalam limit waktu tertentu, karena SMS memiliki validity period.
Penyampaian SMS umumnya juga cepat dan tidak mengganggu. Biaya yang relatif murah juga menjadi salah satu alasan mengapa SMS digunakan secara luas.
SMS Gateway
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 ?tur-?tur yang terdapat di dalam SMS gateway dapat dimodi? kasi sesuai dengan kebutuhan.
Beberapa ?tur 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 kon? 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 ?tur 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 Noti? kasi delivery pesan
+CDSI Noti? 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 ?tur 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 comments:
Post a Comment
Jangan membuat kata-kata yang tidak baik, karena dapat menimbulkan Spam