Menyambung artikel Membaca SMS dari PC, kali ini dibahas cara mengirim SMS melalui PC.
Masih tetap menggunakan Borland Delphi, kita memulai pembahasan dengan bagaimana cara membentuk PDU untuk dikirim.
PDU yang diterima dari HP berbeda dengan PDU yang untuk dikirim, namun tetap menggunakan aturan yang sama. Perbedaannya terutama pada field yang dikandung, baik nilai maupun fungsinya. Untuk lebih detail mengenai PDU yang diterima, silakan membaca artikel sebelumnya.
Berikut ini struktur PDU untuk dikirim:
07 91 2658050000F0 11 00 0C 91 265836164900 00 00 FF 04 C830FB0D
Keterangan:
Oktet / Digit Hexa | Keterangan |
---|---|
07 | Panjang atau jumlah pasangan digit dari nomor SMSC (service number) yang digunakan, dalam hal ini adalah 7 pasangan (14 digit berikutnya) |
91 | Jenis nomor SMSC. Angka 91 menandakan format nomor internasional (misal +6281xxx). Untuk 081xxx menggunakan angka 81. |
2658050000F0 | Nomor SMSC yang digunakan. Karena jumlah digit nomor SMS adalah ganjil, maka digit paling belakang dipasangkan dengan huruf F. Kalau diterjemahkan, nomor SMSC yang digunakan adalah +62855000000 (IM3) |
11 | Oktet pertama untuk PDU SMS untuk dikirim (SMS SUBMIT). Untuk penjelasannya, silakan lihat artikel ini. |
00 | TP-Message-Reference. Diisi "00" agar diisi otomatis oleh handphone. |
0C | Panjang digit dari nomor penerima (0C hex = 12 desimal) |
91 | Jenis nomor penerima (sama dengan jenis nomor SMSC) |
265836164900 | Nomor penerima SMS, yang jika diterjemahkan adalah +628563619400 |
00 | Pengenal protokol, dalam hal ini adalah 0. Silakan baca keterangan di sini. |
00 | Skema pengkodean SMS, juga bernilai 0. |
FF | Validitas waktu. FF berarti maksimum. Silakan baca keterangan di sini. |
04 | Panjang dari pesan SMS, dalam hal ini adalah 4 huruf (dalam mode 7 bit). |
C830FB0D | Pesan SMS dalam mode 7 bit. Jika diterjemahkan kedalam 8 bit, lalu dirubah ke ASCII, maka didapat pesan 'Halo' |
Untuk handphone tertentu, kita dapat menghilangkan pemberian nomor SMSC pada PDU, untuk kemudian akan diisi oleh handphone sesuai dengan kartu yang sedang digunakan. Tapi untuk lebih amannya, kita sebutkan nomor SMSC yang digunakan.
Ketika PDU SMS selesai dibentuk, maka langkah selanjutnya adalah melakukan pengiriman PDU tersebut melalui port serial yang digunakan. Perintah yang pertama kali digunakan adalah AT+CMGS, dengan aturan sebagai berikut:
AT+CMGS=<jumlah oktet PDU>
<jumlah oktet PDU> diisi dengan jumlah pasangan dalam PDU yang terbentuk, dengan dikurangi SMSC. Dengan kata lain, kita menghitung jumlah oktet mulai dari kode SMS SUBMIT (11). Untuk contoh di atas, berarti jumlah digit dalam PDU adalah 36, yang berarti terdiri dari 18 oktet. Sehingga perintah yang digunakan adalah:
AT+CMGS=18
Setelah itu, tunggu respon dari handphone. Kalau gagal, dengan berbagai
alasan, maka yang dikembalikan adalah ERROR.
Sedangkan jika perintah tersebut diijinkan, maka yang dikembalikan adalah
karakter '>' (lebih besar).
Jika perintah tersebut sukses, selanjutnya adalah menuliskan semua PDU
tersebut ke handphone, dan diakhiri dengan penulisan karakter ASCII 26 (CTRL+Z).
Jika sukses, maka yang dikembalikan adalah OK. SMS terkirim, semoga.
Dari semua penjelasan di atas, diharapkan dapat dipahami langkah-langkah pengiriman SMS melalui PC. Untuk lebih jelasnya, silakan download source-code dalam program Delphi. Unit ini dapat digabungkan dengan unit untuk membaca SMS pada artikel sebelumnya.
Yang perlu diperhatikan adalah tentang pengaturan koneksinya. Karena masing-masing proses (kirim dan terima) membutuhkan koneksi ke handphone, maka harus diatur agar tidak terjadi proses terima dan kirim secara bersamaan.
Sekian pembahasan mengenai SMS. Jika ada pertanyaan atau kritik dan masukan, silakan kirim ke aryo.sanjaya@gmail.com.
Happy coding :)
Dimanakah Saya Bisa Mendapatkan Informasi Tentang SMS Server (PUSH/FULL) VIA HTTP,TERIMA KASIH
bagi yang mo buat pemrograman sms dengan mudah menggunakan delphi or visual basic, apa aja bisa bisa menggunakan oxygen sms activeX control,sebagai pemula sangat diberi kemudahan pake activex ini
Makasih Bayu atas infonya.
Ada beberapa komponen lain, misalnya FBUS khusus untuk HP Nokia, termasuk yang tidak support AT Command.
Untuk download komponen ini, silakan masuk http://www.softwarecave.com
Untuk yang versi 1.5 masih berupa freeware.
Pembahasan di artikel ini adalah untuk mengetahui secara mendasar proses pengiriman SMS, jadi bukan sebagai solusi instan untuk membuat aplikasi pengiriman SMS :)
Pak Aryo. Kalo yang udah jadi ada nggak? bagaimana saya bisa memperolehnya? saya agak confused, mgkin krn saya bukan orang IT. oh ya saya sudah siapkan C35 + kabel serial. Tks
Mas..Bisa minta contoh untuk pengiriman sms yang bersambung ga ? (Concatenated SMS), soalnya lagi hang neh..tuk nentuin User Data Header nya, masih nongol 1 character aneh sebelum karakter message.
Contohnya :
Data yang dikirim, memakai AlphabetDefault,dan TP-UDHI nya saya set jadi 1.
Bisa minta petunjuknya ga ? ato tolong kirim contoh untuk konversi data dari SMS diatas.
Thanks yah.
Rgrds,
SAFIR
Met Knal Pak ARYO?
Aq Pemula di DELPHI
Komponen2 yang digunakan untuk aplikasi hp apa mudah di dapat?
Apa tahan lama?
Bisa gak suwaktu2 rusak?
HPnya sebarang ya?
Tx. Bengkel Program OK....
Ary,
Yang sudah jadi dapat kamu dapatkan di sini:
http://www.bengkelprogram.com/data-artikel-249.0.bps
Safir,
Untuk membuat Concatenated SMS, nilai UDH adalah sebagai berikut:
050003 <id> <smstotal> <nomor urut>
050003 aku dapatkan dari unit FMA, ga ada keterangan lebih lanjut.
<id> adalah nomor unik antara 1 - 255. Semua SMS pada satu kali pengiriman harus menggunakan id yang sama.
<smstotal> total keseluruhan SMS setelah dipotong-potong, masing-masing maksimal 153 karakter.
<nomor urut> urutan SMS tersebut dalam rangkain SMS, dimulai dari nomor 1
Itu sudah diterapkan dalam aplikasi SMS, silakan download source-nya dari link untuk Ari di atas.
Zorro,
Untuk Aplikasi SMS ini, yang digunakan adalah komponen XComDrv, sudah ada dalam artikel pada link di atas.
Tahan lama?
Hmm... apa maksudnya adalah hardwarenya?
Yang digunakan di sini adalah HP dengan koneksi ke PC, jadi tidak butuh tambahan komponen (hardware) baru.
assalamualikum wr.wb..mas..mo tanya ni..saya pake software smstools buat aplikasi sms-nya!!pemrogramannya pake bahsa C!supaya hp server bisa langsung bales ke setiap nomor yang dateng..pada putsms-nya gmana??ditulis apa..option destination number-nya gmana??nomor yang datang tu kan beda2...terima kasih sesudahnya mass!!!wasslamualikum wr..wb
Habibi,
Pada dasarnya bahasa pemrograman tidak berpengaruh penting dalam proses pengiriman SMS.
Aku belum punya untuk yang versi bahasa C, jadi tidak bisa berkomentar untuk program kamu itu.
Atau kamu mau mengirimkannya ke emailku?
alooooww tie, aku barusan explore nih cari artikel.. eh nemu artikel yang seperti loe mau.. ini link nya
http://www.delphi3000.com/articles/article_4259.asp?SK=
artikelnya aku coba paste di sini kok keluar undefined ?
ya udah baca sendiri ajah ya tie
» Membaca SMS dari PC (162)Kompilasi beberapa unit yang digunakan untuk mengirim dan membaca SMS, dan menampilkan informasi handphone
Kirim-kiriman SMS memang asyik, apalagi kalo menggunakan PC, meski tetep aja bayar :-)