Postingan pertama di domain yang baru :), saya ingin membahas lagi tentang pembuatan aplikasi SMS Gateway. Alasannya sederhana karna salah satu artikel yang paling banyak dibaca di blog ini adalah artikel Membuat Sms Gateway Itu Gampang, Jangan Dipersulit !!!.
Jika pada artikel Membuat Sms Gateway Itu Gampang, Jangan Dipersulit !!!, kita menggunakan bahasa pemrograman VB 6, untuk postingan kali ini kita akan menggunakan bahasa pemrograman C#.
Untuk membaca dan mengirim sms kita akan menggunakan library GSMComm, yang bisa diinstall via NuGet.
Sebelum lanjut kita lihat dulu fitur dari library GSMComm :
- Manage SMS messages: Send, read, delete, store, import and export messages, get memory status, get/set SMSC.
- Manage the phonebook: Create, find, delete, read, import and export phonebook entries, get memory status.
- Manage the phone: Read general info, reset configuration, enter PIN
- Supports notifications about new messages as well as forwarding them directly to the application.
- Detect phone connection/disconnection.
- Other SMS message variants also possible, such as alerts and notifications.
- Support for Smart Messaging and related messages to create, locate and recombine concatenated text messages, and also to create operator logo messages.
- Logging support with 4 levels to assist in troubleshooting.
- Support for GSM 7-bit default alphabet and Unicode for the message text.
- Supports some operator functions.
- Remoting support for sending SMS messages.
- SMS batch mode for faster sending of multiple messages.
- Execution of custom commands that are not directly supported.
Keren bukan untuk ukuran library gratis :)
Pada postingan bagian pertama ini kita hanya akan membahas perintah-perintah dasar yang dibutuhkan untuk membuat aplikasi SMS Gateway, seperti koneksi ke device modem atau hp
, membaca sms masuk
, dan mengirim sms
.
Membuat Project
Project yang kita gunakan adalah project berbasis Windows Form.
Menambahkan Library GSMComm via NuGet
Klik kanan node References -> Manage NuGet Packages …
Pada tab Online pilih nuget.org, pada kotak pencarian ketik
gsm
, kemudian klik tombolInstall
.
kemudian tunggu sampai proses instalasi selesai.
Tutup dialog NuGet package, Kemudian cek node references, seharusnya ada empat library baru yang sudah ditambahkan yaitu GSMCommServer
, GSMCommShared
, GSMCommunication
dan PDUConverter
.
Library PDUConverter
bertanggung jawaban untuk melakukan proses decoding
pesan sms, sedangkan yang bertugas untuk melakukan komunikasi ke modem atau hp adalah library GSMCommunication
.
Untuk library GSMCommServer
dan GSMCommShared
hanya digunakan jika kita ingin mengaktifkan fitur .NET Remoting untuk mengirim sms.
Setelah semua persiapan selesai, kita bisa langsung mencoba perintah-perintah dasar yang diperlukan untuk pembuatan aplikasi sms gateway.
1. Konek ke device modem atau hp
Untuk melakukan koneksi ke modem atau hp, ada beberapa tahapan yang harus kita lakukan :
- Membuat objek dari class GsmCommMain
- Mendaftarkan method ke event
MessageReceived
, yang dikenal dengan istilah delegate method. - Memanggil method
Open
.
Membuat objek dari class GsmCommMain
Misal kita akan membuat sebuah objek dari class GsmCommMain dengan nama comm
, maka perintahnya yang digunakan adalah :
1 2 3 4 5 |
|
Mendaftarkan method ke event MessageReceived
yang dikenal dengan istilah delegate method
Salah satu fitur keren yang dimiliki oleh library GSMComm adalah Event MessageReceived
. Dengan adanya event ini kita tidak perlu menggunakan objek timer untuk mengecek apakah ada sms yang masuk.
Event ini tidak bisa kita akses secara langsung, yang perlu kita lakukan adalah membuat sebuah method kemudian mendaftarkannya ke event ini.
Contoh kita membuat sebuah method dengan nama comm_MessageReceived
, method ini hanya akan menampilkan notifikasi sms masuk. Untuk selanjutnya method ini bisa kita kembangkan lagi, misal ketika ada sms masuk datanya langsung kita simpan ke database.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
Kemudian kita daftarkan ke event MessageReceived
dengan perintah :
1
|
|
sehingga ketika ada sms yang masuk method comm_MessageReceived
akan otomatis dipanggil.
Memanggil method Open
Setelah langkah pertama dan kedua selesai dikerjakan kita bisa langsung memanggil method Open
untuk melakukan koneksi ke modem atau hp.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
2. Membaca SMS Masuk
Method yang digunakan untuk membaca sms adalah method ReadMessages
, method ini mempunyai dua parameter yaitu PhoneMessageStatus
dan Storage
.
Untuk PhoneMessageStatus
pilihannya adalah : ReceivedUnread
, ReceivedRead
, StoredUnsent
, StoredSent
dan All
. Sedangkan Storage
pilihannya hanya dua yaitu : SM
dan ME
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
3. Mengirim SMS
Untuk mengirim sms kita menggunakan method SendMessage
yang membutuhkan objek pdu.
1 2 3 4 5 6 7 8 |
|
Kode di atas hanya bisa mengirim sms dengan jumlah karakter maksimal 160 karakter, jika ingin lebih kita harus merevisi kode di atas dengan menambahkan beberapa method baru yaitu CreateConcatMessage
dan SendMultiple
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Terakhir kode yang ada di method btnKirimSMS_Click
juga harus di revisi :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Yuph akhirnya selesai juga.
Selamat MENCOBA :)