";
$bssDb = "BssOmcDb";
$sqlstring = "LOCK TABLES OMCR_COMMAND WRITE";
$res = mysqli_query($pubConn,$sqlstring) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
$sqlstring = "SELECT row_no FROM OMCR_COMMAND WHERE status=0 " .
"ORDER BY seqNum ASC LIMIT 10";
//echo "$sqlstring
";
$res = mysqli_query($pubConn,$sqlstring) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
while (list($row_no[]) = mysqli_fetch_row($res));
$no_of_rows = mysqli_num_rows($res);
mysql_free_result($res);
if ( $no_of_rows <= 0 || ($no_of_rows > 10) )
{
// No available row in OMCR_COMMAND
// Send error to MySQL()
header("Location: " .
"$url?language=$language&bssid=$bssid&objectid=$objectid" .
"&tablename=$tablename" .
"&status='{${$parameter}[cmdtablefull]}'" .
(isset($x)?"&x=$x":"") .
(isset($y)?"&y=$y":""));
return;
}
// Insert 2 commands in OMCR_COMMAND out of 10 possible available rows
$i=0;
do//OidCommand
{
if ($row_no[$i] != '')
{
$sqlstring = "REPLACE INTO OMCR_COMMAND VALUES(" . $row_no[$i] .
",$bssid,'oid $objectid',null,255,-1,null,null,null)";
//echo "sql>>>$sqlstring
";
$res = mysqli_query($pubConn,$sqlstring) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
}
$i++;
} while ($i<10 && mysql_affected_rows() != 2);
$cmd1_row_no = $row_no[$i-1];
do//nmicommand
{
if ($row_no[$i] != '')
{
$sqlstring = "REPLACE INTO OMCR_COMMAND VALUES(" .
$row_no[$i] . ",$bssid,'$nmicmd',null,255,-1,null,null,null)";
//echo "sql>>>$sqlstring
";
$res = mysqli_query($pubConn,$sqlstring) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
}
$i++;
} while (mysql_affected_rows() != 2 && $i<10);
$cmd2_row_no = $row_no[$i-1];
//Unlock Tables
$sqlstring = "UNLOCK TABLES";
$res = mysqli_query($pubConn,$sqlstring) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
//Waiting for Response
$timewait=0;
$timeout =24;
$interval=500000; // in micro-seconds
while ($timewait < 1000000 * $timeout)
{
if($nmicmd!="get")
{
$cmd = explode(" ",$nmicmd);
if($timewait==0){
echo "
";
if($nmicmd=="upload 12"){
echo "upload data";
}else if($cmd[0]=="action")
{
echo "Doing this action";
}else{
echo "$nmicmd";
}
echo "
";
}
echo "
";
flush();
}
$resultcode=$responsecode=$result=$response=null;
usleep($interval);
$timewait += $interval;
$sqlstring = "SELECT t1.resultcode,t1.responsecode," .
"t2.engStatInfo,t3.engStatInfo " .
"FROM OMCR_COMMAND AS t1,OMCR_STATCODE AS t2,OMCR_VARSTATCODE AS t3 " .
"WHERE t2.statcode=t1.resultcode AND t3.statcode=t1.responsecode " .
"AND t1.status=0 " .
"AND (t1.row_no=$cmd1_row_no OR t1.row_no=$cmd2_row_no) " .
"ORDER BY seqNum ASC";
//echo "$sqlstring
";
$res = mysqli_query($pubConn,$sqlstring) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
while ( $mydata = mysqli_fetch_row($res) )
{
list($resultcode[],$responsecode[],$result[],$response[]) = $mydata;
}
$no_of_rows = mysqli_num_rows($res);
//echo "$resultcode[0],$responsecode[0],$result[0],$response[0]
";
//echo "$resultcode[1],$responsecode[1],$result[1],$response[1]
";
//echo "no_of_rows = $no_of_rows
";
mysql_free_result($res);
if ($no_of_rows == 2)
{
if ($resultcode[0] != 0) // 0='ok'
{
/*
echo "
";
echo "BSS and OMC connection broken!";
echo "
";
echo "
";
echo "";
echo " Back | ";
echo "
";
echo "
";
*/
$alarm_info="BSS and OMC connection broken!";
$back_url="./bssSpecific.php?bssid=$bssid";
show_alarm($alarm_info,$back_url);
exit();
}
elseif ($resultcode[1] != 0)
{
/*
echo "
";
echo "Imp Command fail!!!";
echo "
";
echo "";
echo "";
echo " Back | ";
echo "
";
echo "
";
*/
$alarm_info="Imp command fail!";
$back_url="./bssSpecific.php?bssid=$bssid";
show_alarm($alarm_info,$back_url);
exit();
}
return;
}
}//end while
// Server or BSC has no response
// OMCR_COMMAND.status did not change to zero before timeout
//
$sqlstring = "SELECT * FROM OMCR_COMMAND " .
"WHERE status=254 AND (row_no=$cmd1_row_no OR row_no=$cmd2_row_no) ";
//echo "$sqlstring
";
$res = mysqli_query($pubConn,$sqlstring) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
$test = mysqli_fetch_row($res);
//echo "You are >>> $test";
if (mysqli_fetch_row($res))
{
/*
echo "
";
echo "No response from Bsc!!!";
echo "
";
echo "";
echo "";
echo " Back | ";
echo "
";
echo "
";
*/
$alarm_info="No response from Bsc!";
$back_url="./bssSpecific.php?bssid=$bssid";
show_alarm($alarm_info,$back_url);
exit();
}
else
{
/*
echo "
";
echo "No response from BssComm!!!";
echo "
";
echo "";
echo "";
echo " Back | ";
echo "
";
echo "
";
*/
$alarm_info="No response from BssComm!";
$back_url="./bssSpecific.php?bssid=$bssid";
show_alarm($alarm_info,$back_url);
exit();
//echo date('h:i:s') . "\n";
}
$sqlstring = "UPDATE OMCR_COMMAND SET status=0 WHERE row_no=$cmd1_row_no OR row_no=$cmd2_row_no";
//echo "$sqlstring
";
$res = mysqli_query($pubConn,$sqlstring) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
}
//==================show the alarm info==========================
function show_alarm($info,$backurl)
{
echo "\n\n";
}
?>