Official StoreTekan tombol di atas untuk membeli semua alat dan bahan eksperimen di web ini

Handling USSD untuk modem Huawei E220, E1552 dan Yang Setipe

Terima kasih kepada mas Toni Gunawan, salah satu pembeli buku saya yang memberitahu bahwa script yang ada di buku ‘Membuat SMS Gateway dengan Delphi 7’ tidak jalan di modem huawei E1552 miliknya. Setelah ketemuan di SPBU Muri di Tegal (kebetulan saya lagi ada perlu pulang Kudus), ternyata khusus untuk modem huawei ada sedikit perbedaan dalam menangani respon USSD yang dikirim dari USSD gateway operator. Ini tentunya di luar kuasa saya ketika menulis buku, karena begitu banyak tipe modem yang beredar di pasaran dengan bermacam-macam at command yang berbeda pula (proprietary). Tetapi sekali lagi saya mengucapkan terima kasih, karena berkat case ini, bertambah pula pengetahuan saya tentang instruksi AT command dan cara handlingnya khususnya untuk modem huawei.

Kalau di dalam buku, saya hanya menulis cara handling respon USSD dalam mode teks dan karakter UCS2, maka khusus untuk modem huawei, ternyata yang digunakan adalah mode PDU dengan format GSM7-bit atau yang lebih dikenal dengan nama septet. Cara paling mudah untuk mengkonversi (decode) respon USSD dalam format GSM7 adalah menggunakan unit SmsUtils yang ada di http://stackoverflow.com/questions/11489025/when-i-encode-decode-sms-pdu-gsm-7-bit-user-data-do-i-need-prepend-the-udh-fi. Setelah itu begitu Anda mendapat respon USSD dalam format ini, Anda tinggal memanggil function Decode7Bit yang akan mengembalikan sebuah nilai bertipe string yang berisi terjemahan GSM7 dengan format teks yang bisa terbaca oleh kita. String ini dapat dengan mudah kita olah untuk mendapatkan data yang diinginkan misalnya data pulsa, masa aktif atau yang lainnya. Format function adalah sebagai berikut :

function Decode7Bit(const APduData: string; AUdhLen: Integer): string;

Contoh penggunaan function di atas untuk mendekodekan respon USSD modem Huawei adalah sebagai berikut :

  1.  Buat project Delphi baru, simpan namanya sesuai keinginan Anda
  2. Ambil dua buah komponen TMemo, memo1 untuk input kode GSM7 (respon USSD), memo2 sebagai output hasil konversi
  3. Ambil komponen TButton, dan isikan event handler sebagai berikut :
    procedure
    TForm1.Button1Click(Sender: TObject);
    begin
     memo2.Text:=Decode7Bit(memo1.Text,7);
    end;
  4. Running project di atas, isikan kode respon USSD modem Huawei di kotak memo1, tekan tombol Button1, maka Anda akan mendapatkan ‘terjemahan’ teksnya di dalam kotak memo2.

Mudah bukan? Semoga bermanfaat dan selamat berkreasi

Ohya, untuk memerintahkan modem untuk mengecek pulsa dalam kode GSM7, Anda dapat memberikan perintah sebagai berikut :

at+cusd=1,”2A1C0E3702″,15 (similar dengan at+cusd=1,”*888#”,15), atau

AT+CUSD=1,”AA986C3602″,15 (similar dengan AT+CUSD=1,”*123#”,15)

Related article :

http://saptaji.com/2011/08/04/program-cek-pulsa-dengan-delphi/

http://saptaji.com/2011/04/21/at-command-dan-delphi/

Incoming search terms:

modem e220 saptaji, pdu to teks di delphi, arduino at cusd=1 *, kode ussd huawei, mngembalikan ussd pada android, modem huawei e220 tidak bisa dial ussd, modem huawei e220 ussd, tipe modem dengan ussd, trik at command huawei 2015, ussd at command gsm modem delphi 7
12 Comments

Add a Comment

Your email address will not be published. Required fields are marked *

error: Content is protected !!