BencesSMS Android SMS Gateway via Wifi dengan Protokol HTTP

BencesSMS adalah aplikasi android SMS Gateway buatan penulis sendiri yang dapat dikoneksikan ke PC dengan perantara Wifi.  BencesSMS menggunakan protokol HTTP untuk berkomunikasi antara komputer dengan android.

Karena Android tidak mengijinkan mengirimkan SMS lebih dari 100 dalam 1 jam kecuali di root maka tidak disarankan untuk mengirimkan SMS secara massal.

BencesSMS SMS Gateway

Petunjuk Instalasi

Karena aplikasi ini tidak penulis upload ke playstore maka untuk menginstalnya anda harus menggunakan aplikasi APK Installer yang bisa anda dapatkan di Google Playstore.  Download file attachment yang penulis sertakan di akhir artikel lalu instal dengan APK Installer.

Cara Pemakaian

Buka aplikasi lalu setting beberapa hal sebagai berikut:

Kirim SMS.

  1. Port
    Isi port android anda bebas. Port ini digunakan saat komputer menghubungi android untuk mengirim SMS.
  2. Url laporan
    Setiap SMS yang dikirim maka akan memberikan report ke server PC atau komputer. Isi URL laporan anda sesuai server komputer anda.  Dalam hal ini anda harus mempunyai semacam web server untuk mengolah data yang dikirim dari android.

Tekan tombol set untuk menyimpan settingan dan tekan tombol berwarna pink untuk memulai.  Jika berhasil maka akan keluar di notifikasi android anda seperti berikut:

BencesSMS SMS Gateway Notifikasi

Notifikasi di atas berisi keterangan alamat IP android anda beserta port.  Notifikasi tersebut seperti layaknya notifikasi BBM yang terus menerus muncul menandakan kalau server http android sedang running.

Cara Pengiriman SMS

Untuk mengirim SMS anda bisa menggunakan method POST dengan beberapa parameter yaitu:

  1. receiver
    Isi parameter tersebut dengan nomor HP penerima SMS.
  2. message
    Isi parameter tersebut dengan pesan anda.
  3. id
    Isi parameter tersebut dengan id unik terserah anda.

Ketika mengirim SMS maka BencesSMS akan memberikan callback dalam format JSON berupa data jam kirim dan nomor SIM Card android anda. Adapun format JSON tersebut adalah:

{“datesent”:”tanggal pengiriman”,”androidphonenumber”:”nomor phone android”}
Contoh jika memakai JQuery:


$.post("http://192.168.137.2:1234",{id:"1",
receiver:"0812454596969",
message:"ini adalah pesan test",
function(data){
var obj = JSON.parse(data);
alert(obj.datesent+ " "+obj.androidphonenumber);
},"json");

Untuk testing silahkan anda gunakan chrome plugin RESTLET client seperti gambar berikut:

Restlet Client Coba BenscesSMS SMS Gateway Android

Laporan SMS terkirim:

Jika SMS berhasil dikirim maka aplikasi BencesSMS akan request POST ke server anda dengan menggunakan parameter sebagai berikut:

  • receiver
    penerima SMS.
  • id
    Id unik anda saat mengirim SMS.
  • message
    pesan yang anda kirim.
  • result
    true jika berhasil, false jika gagal.
  • resultcode
    Terdiri atas:

    • RESULT_ERROR_GENERIC_FAILURE
    • RESULT_ERROR_NO_SERVICE
    • RESULT_ERROR_NULL_PDU
    • RESULT_ERROR_RADIO_OFF

    Untuk penjelasan error tersebut anda bisa melihat di dokumentasi SMSManager android.

Contoh di PHP untuk menerima report SMS terkirim:

function writeLog($string) {
  $log_file = dirname(__FILE__) . '/log.txt';        
  if ($fh = @fopen($log_file, "a+")) {
    fputs($fh, $string, strlen($string));
    fclose($fh);
    return true;
  }
  else {
    return false;
  }
}
$result=$_POST['result'];
$resultcode=$_POST['resultcode'];
$id=$_POST['id'];
$receiver=$_POST['receiver'];
$message=$_POST['message'];
writeLog('Telah Kirim SMS ID:'.$id.' result:'.$result." result code:".$resultcode." penerima ".$receiver." PESAN: ".$message."\r\n");
header("Content-Type:application/json");
echo json_encode(array("succeed"=>"1"));

Terima SMS

Isi URL seperti gambar di bawah dengan URL web server komputer anda.

BencesSMS Setting URL Server

Alamat url tersebut berguna untuk menerima hasil request POST dari android.  Adapun parameter request POST yang dikirimkan adalah sebagai berikut:

  • message
    berisi pesan SMS yang diterima
  • sender
    berisi nomor telepon pengirim SMS.

Contoh implementasi accept request POST di PHP:


function writeLog($string) {
  $log_file = dirname(__FILE__) . '/log.txt';        
  if ($fh = @fopen($log_file, "a+")) {
    fputs($fh, $string, strlen($string));
    fclose($fh);
    return true;
  }
  else {
    return false;
  }
}
$pesan=$_POST['message'];
$sender=$_POST['sender'];
writeLog('Pesan dari:'.$sender.' Isi '.$pesan."\r\n");
header("Content-Type:application/json");
echo json_encode(array("succeed"=>"1"));

Untuk ANDROID java source code bisa anda download di https://github.com/mbahdien/BencesSMS

 

Attachments

anasmbahdien

Seorang programmer yang menguasai bahasa pemograman Delphi, VB.NET, PHP dan Android. Untuk hasil karya kunjungi mogotekno.com

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *