Jika sebelumnya saya telah menyampaikan tutorial membuat aplikasi untuk mengecek sms yang masuk di tabel inbox gammu, maka kali ini saya akan menyampaikan materi tentang cara mengecek status SMS yang telah kirimkan menggunakan gammu. Ketika kita sudah menginstal dengan sukses gammu di komputer kita ( baca : http://ikhwaniril.blogspot.com/2013/02/instal-manual-gammu-step-by-step.html ) ketika kita mengirimkan sms dengan cara memasukkan data di tabel outbox maka gammu akan mengirimkanya, dan status dari SMS yang kita kirimkan akan berada di tabel sentitems. 




Ada beberapa status pengiriman pada gammu yaitu

SendingOK, SendingOKNoReport, SendingError, DeliveryOK, DeliveryFailed, DeliveryPending, DeliveryUnknown, Error
Jika SMS telah terkirim  dengan sukses biasanya statusnya adalah SendingOK, SendingOKNoReport.

Sedangkan jika gagal maka statusnya adalah SendingError, DeliveryOK, DeliveryFailed, DeliveryPending, DeliveryUnknown, Error

nah berikut aplikasi untuk mengecek dari laporan pengiriman sms dari gammu.

Script sent_item.php


<script type="text/javascript">
function cekoutbox()
{
var
$http,
$self = arguments.callee;
if (window.XMLHttpRequest) {
$http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
$http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
$http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if ($http) {
$http.onreadystatechange = function()
{
if (/4|^complete$/.test($http.readyState)) {
document.getElementById('cekoutbox').innerHTML = $http.responseText;
setTimeout(function(){$self();}, 10000);
}
};
$http.open('GET', 'cek_outbox.php' + '?' + new Date().getTime(), true);
$http.send(null);
}
}
setTimeout(function() {cekoutbox();}, 10000);
</script>
<div id="cekoutbox">
<?
// koneksi ke database
$hostname_config = "localhost";
$database_config = "ok";
$username_config = "root";
$password_config = "root";
$config = mysql_pconnect($hostname_config, $username_config, $password_config) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_config, $config);
// tampilkan database
echo"<center><table width=100% border='1'>
<tr>
<th width='10%' align='left'>Nomor Tujuan</th>
<th width='40%' align='left'>Isi Pesan</th>
<th width='10%' align='left'>Waktu Pengiriman</th>
<th width='10%' align='left'>Status</th>
</tr>
";
$outbox = mysql_query("SELECT * FROM sentitems ORDER BY ID DESC");
while($toutbox=mysql_fetch_array($outbox))
{
echo "
<tr>
<td align='left'>$toutbox[DestinationNumber]</td>
<td align='left'>$toutbox[TextDecoded]</td>
<td align='left'>$toutbox[SendingDateTime]</td>
<td align='left'>$toutbox[Status]</td>
</tr>
";
}
?>
</div>
view raw sent_item.php hosted with ❤ by GitHub
Script cek_outbox.php

<?
// koneksi ke database
$hostname_config = "localhost";
$database_config = "ok";
$username_config = "root";
$password_config = "root";
$config = mysql_pconnect($hostname_config, $username_config, $password_config) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_config, $config);
echo"<center><table width=100% border='1'>
<tr>
<th width='10%' align='left'>Nomor Tujuan</th>
<th width='40%' align='left'>Isi Pesan</th>
<th width='10%' align='left'>Waktu Pengiriman</th>
<th width='10%' align='left'>Status</th>
</tr>
";
$outbox = mysql_query("SELECT * FROM sentitems ORDER BY ID DESC");
while($toutbox=mysql_fetch_array($outbox))
{
echo "
<tr>
<td align='left'>$toutbox[DestinationNumber]</td>
<td align='left'>$toutbox[TextDecoded]</td>
<td align='left'>$toutbox[SendingDateTime]</td>
<td align='left'>$toutbox[Status]</td>
</tr>
";
}
?>
view raw cek_outbox.php hosted with ❤ by GitHub


Hasil pengecekan :