Layanan USSD atau "Bintang Pagar" dari operator seluler sudah menjadi menu sehari-hari para pengguna layanan telekomunikasi selular, apalagi yg berjualan pulsa via "chip" operator mungkin harus hapal diluar kepala. Seperti yg ditawarkan oleh kios pulsa versi ALLCHIP ( baca selengkapnya
disini ), sebelumnya penjual pulsa harus menghapal kode-kode bintang pagar untuk tiap produk yg ditawarkan dan dengan sofware ALLCHIP tidak perlu lagi menghapal karena sudah di otomatiskan.
Seperti halnya kebiasaan penulis yg senang membagikan ilmu-ilmu dari project yg sedang dikerjakan, maka kali ini penulis akan membagikan ilmu AT command lanjutan yg akan membahas tentang USSD. Jadi sebaiknya agar tidak bingung bisa membaca dasar AT command yg telah ditulis beberapa tahun yg lalu :
- SMS VIA AT COMMAND - Teks Mode - disini
- SMS VIA AT COMMAND - PDU Mode - disini
- SMS PANJANG - (Concatenated SMS) - disini
Sedangkan untuk USSD pada prinsipnya sama saja dengan SMS hanya pesan yg dikirim melalui dial keypad dan replynya berupa reply FLASH yg muncul di layar HP. Ada beberapa jenis encoding pesan ussd dari produsen chipset GSM , umumnya seperti berikut:
- GSM : pesan berupa ascii biasa, contoh command : AT+CUSD=1,"*888#",15
- PCCP437 : pesan berupa ascii biasa, contoh command : AT+CUSD=1,"*888#" (tanpa atau dengan akhir ",15")
- IRA: pesan berupa PDU teks, contoh command : AT+CUSD=1,"2A1C0E3702",15
- UCS2 : pesan berupa ASCII HEX , contoh command AT+CUSD=1,"002A0038003800380023",15
Reply dari pesan USSD juga beragam, kadang sama dengan format kirim, kadang berbeda. Jadi dari hasil penelusuran penulis saat mengerjakan software ALLCHIP maka disusun kombinasi kirim pesan dan reply sebagai berikut :
oh iya jangan lupa gunakan software putty dan hubungkan koneksi serialnya ke comport yg umunya bisa dilihat di "Device Manager" seperti gambar dibawah.
Bisa menggunakan UI interface, PORT MODEM dan sebagainya, jadi sesuaikan saja.
*) Beberapa modem butuh memantikan aplikasi bawaannya
1. PCCP437 pada modem wavecom (kirim: ascii , reply : ascii)
Sangat menyenangkan menggunakan modem wavecom karena semua berbasis text ascii. Untuk melakukan balasan (karena akhir dari reply benilai "0" yg artinya bisa dibalas ) maka cukup melanjutkan dengan memberikan command AT+CUSD=1,"angka",15 dimana angka merupakan angka depan pilihan , semisal 2. Telp Murah , maka angka yg dimasukkan adalah 2.
2. HP JADUL (NOKIA , LG , SAMSUNG) & MODEM VODAFONE - (kirim: ascii , reply : ascii)
Sama seperti penggunaan pada modem wavecom yg sangat gampang, semua pesan berupa teks yg dapat langsung dibaca oleh aplikasi.
Akan tetapi jika menggunakan modem jadul umumnya reply SMS disimpan langsung di memory HP sehingga otomasi reply sms menjadi tidak bisa. untuk itu perlu diaktifkan otomasi sms sehingga muncul di terminal melalui perintah AT+CNMI=3,1,0,0,0 . Saya sudah buatkan aplikasinya untuk mengirimkan perintahnya tanpa melalui putty (buat yg malas saja....)
3. FULL PDU pada modem Huawei 3G (kirim: pdu , reply : pdu)
Jika secara polos dikirim ASCII via perintah USSD akan muncul ERROR seperti ini :
Karena format karakter USSD nya adalah IRA maka semua pesan berformat PDU sehingga *888# perlu diterjemahkan menjadi 2A1C0E3702 . Bagaimana bisa ? Baca penjelasan GSM PDU terlebih dahulu ya.... Software konversinya juga sudah saya buatkan tahun 2012.
Sedangkan reply yg didapatkan juga berupa PDU seperti ini :
Untuk itu diperlukan penerjemah PDU ke teks ( ada di pembahasan terdahulu) . Softwarenya saya sediakan untuk di download dibagian bawah tulisan ini.
4. KOMBINASI PDU vs ASCII (bisa bolak - balik)
Kombinasi ini banyak muncul di modem Advance dan Huawei 4G serie K , dimana ada perintah kirimnya PDU sedangkan reply nya berupa ASCII. Begitu juga sebaliknya. Jadi tidak terlalu sulit karena pada dasarnya sama saja dengan kombinasi sebelumnya.
5. Format UCS2 (kirim : PDU/UCS2 reply:UCS2)
Format ini saya temukan tidak sengaja setelah agak frustasi buntu mengoprek modem Advance Jetz 4G , padahal USSD pada software bawaannya muncul reply suskes. Terbantu dengan pengguna software ALLCHIP yg menggunakan modem PROLINK PHS100, dimana pesan USSD dikirim PDU sedangkan dijawab dengan tulisan yg aneh. Akhirnya dengan mata yg tajam dan otak yg lagi fresh dapat dilihat bahwa reply tersebut merupakan HEX dari ASCII nya, semisal ANGKA 1 ascii nya adalah 0x31 , sedangkan pada reply ditulis sebagai 0031. Wahh langsung saja saya coba pada modem Advance Jetz 4G LTE.
Sebelumnya kita ubah dulu *888# menjadi format HEX
Sehinnga *888# format HEX UCS2 nya menjadi : 002A0038003800380023
Bagaimana membaca tulisannya ? gampang sudah saya sediakan konverter UCS2.
Sampai saat tulisan ini disusun, penulis sempat menemukan juga kombinasi kirim UCS2 - reply PDU yg didapatkan saat mencoba modem VIVO dari pengguna software di makassar. Jadi proses oprek-opreknya masih berlanjut ini.
Oh iya untuk software pendukungnya bisa di download disini :
https://goo.gl/XI6xvt (untuk file swf dapat di run melalui internet explorer atau flash player / gom player)