Sabtu, 15 Januari 2011

SMS Sending Error Auto Resent

di Software NixSMS-Center versi 2.0.16 keatas, telah ditambahkan fitur auto resend untuk sms yang gagal terkirim. SMS gagal kirim dengan status sending_error muncul karena saat usaha kirim sms gagal melebihi batas waktu yg tentukan. biasanya defaultnya 30 detik.

Untuk mengatasinya dibuat pemeriksaan rutin untuk sentitems yg statusnya sending_error, data sms tsb kemudian dikirim ulang dan masuk kehalaman outbox lagi. agar sms yang sudah dikirim ulang tidak dikirim lagi pada pengecekan selanjutnya, data ID sentitems tsb disimpan di tabel baru.



struktur tabel utk menampung data ID sent items yg sudah di resent ada di kode SQL ini

CREATE TABLE IF NOT EXISTS `sent_arsip` (
`id_sent_arsip` int( 11 ) NOT NULL AUTO_INCREMENT ,
`ID` int( 11 ) NOT NULL ,
`ID2` int( 11 ) NOT NULL ,
`datetime` datetime NOT NULL ,
PRIMARY KEY ( `id_sent_arsip` ) ,
KEY `ID` ( `ID` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT =1;




kode php utk auto resend ada dibawah ini



$sqlare = "select DestinationNumber, TextDecoded,ID from  sentitems where Status = 'SendingError' 
and sentitems.ID NOT IN (select ID from sent_arsip) ";
$resltsqlarey=mysql_query($sqlare);
while($rowdresltsqlarey = mysql_fetch_array($resltsqlarey)){
$DestinationNumber=stripslashes($rowdresltsqlarey["DestinationNumber"]);
$TextDecoded=stripslashes($rowdresltsqlarey["TextDecoded"]);
$ID=stripslashes($rowdresltsqlarey["ID"]);
$ID2 = SendSMSl($DestinationNumber,$TextDecoded,$id,$useridx,$gateway_id,$status_report,$flash_sms,$priority) ;
in2sent_arsip($ID,$ID2,$datetime);
 
echo "TextDecoded
";


}
}

Tidak ada komentar:

Posting Komentar