Files
web.ems/wxc2_omc/configuration/nibConf/nibConf.php
agtuser 16a3fd1e1b init
2024-11-11 17:56:00 +08:00

435 lines
13 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/*********************************************************
程序说明:
功能说明network in a box
调用关系:调用: header.inc
被调用:
变量说明:
作者Cui Ticun 2006-05-25
修改注释:
NO.1
姓名:
时间:
修改说明:
*********************************************************/
require("../../inc/header.inc");
$DEBUG = 0;
$helpId="2.1.5";
$nGetComm = 0;
$nSetComm = 3;
$nProcFail = 0;//failure
$nWaitProc = 1;//wait
$nInProc = 2;
$nOutProc = 3;
$nSubSysParam = 0;
$nGlobalSubSysParam = 1;
$nGlobalSysParam = 2;
$maxNum=120;
$ftpInfo=getMSSFtpAccount();
$pubDb = 'OMC_PUB';
$sysInfoTable = 'OMC_PUB.sysInfo';
$elementConfTable = 'OMC_PUB.elementExistConf';
$sysCommTable = 'OMC_PUB.parameterComm';
$defaultParaDirectory='./defaultPara';
$defaultSubsDirectory='./defaultSubs';
$bssParaDirectory ='./bssPara';
$resetCmdArr=array(
array('remark' => 'MTP3 parameters','sysTypeNo' => '222', 'sysId' => '222_99_99', 'oid' => '3.7', 'value' => '01'),
array('remark' => 'SCCP parameters','sysTypeNo' => '223','sysId' => '223_99_99', 'oid' => '3.2', 'value' => '00'),
array('remark' => 'MSC parameters','sysTypeNo' => '322','sysId' => '322_99_99', 'oid' => '3.2', 'value' => '5A'),
array('remark' => 'VLR parameters','sysTypeNo' => '325','sysId' => '325_0_0', 'oid' => '3.3', 'value' => '00'),
// reload subs
array('remark' => 'HLR subscribers','sysTypeNo' => '330','sysId' => '330_99_99', 'oid' => '2.1.19', 'value' => '01')
);
$saveCmdArr=array(
array('remark' => 'MTP3 parameters','sysTypeNo' => '222', 'sysId' => '222_99_99', 'oid' => '3.7', 'value' => '02'),
array('remark' => 'SCCP parameters','sysTypeNo' => '223','sysId' => '223_99_99', 'oid' => '3.2', 'value' => '02'),
array('remark' => 'XAPP parameters','sysTypeNo' => '225','sysId' => '225_99_99', 'oid' => '3.2', 'value' => '01'),
array('remark' => 'MSC parameters','sysTypeNo' => '322','sysId' => '322_99_99', 'oid' => '3.2', 'value' => 'B5'),
array('remark' => 'VLR parameters','sysTypeNo' => '325','sysId' => '325_0_0', 'oid' => '3.3', 'value' => '01'),
array('remark' => 'HLR parameters','sysTypeNo' => '330','sysId' => '330_0_0', 'oid' => '2.2.2', 'value' => '01'),
array('remark' => 'AUC parameters','sysTypeNo' => '340','sysId' => '340_99_99', 'oid' => '2.2.2', 'value' => '01'),
array('remark' => 'SMSC parameters','sysTypeNo' => '350','sysId' => '350_99_99', 'oid' => '3.3', 'value' => '01')
);
$getParamArr=array(
array('remark' => 'MTP3 parameters','sysTypeNo' => '222', 'sysId' => '222_99_99','paramTable'=>'OBJ_222.param_99', 'oid' => '2'),
array('remark' => 'SCCP parameters','sysTypeNo' => '223','sysId' => '223_99_99', 'paramTable'=>'OBJ_223.param_99','oid' => '2'),
array('remark' => 'XAPP parameters','sysTypeNo' => '225','sysId' => '225_99_99', 'paramTable'=>'OBJ_225.param_99','oid' => '2'),
array('remark' => 'MSC parameters','sysTypeNo' => '322','sysId' => '322_99_99', 'paramTable'=>'OBJ_322.param_99','oid' => '2.1.4'),
array('remark' => 'VLR parameters','sysTypeNo' => '325','sysId' => '325_99_99', 'paramTable'=>'OBJ_325.param_99','oid' => '2.1.13')
);
$NetOPCArr=array(
//array('oid', 'name'),
array('2.3.1', '14bit international network'),
array('2.3.3', '14bit national network'),
array('2.3.5', '24bit international network'),
array('2.3.7', '24bit national network')
);
?>
<script LANGUAGE="JavaScript">
function confCheck(actionType)
{
switch(actionType){
case 1:
if(confirm('Do you want to upload MSS test configuration?')!=true)
window.location.href='<?php echo $PHP_SELF;?>';
else
window.location.href='<?php echo $PHP_SELF;?>'+"?uploadDefault="+1;
break;
default:
break;
}
}
</script>
<body>
<form method="POST" action="<?php echo "$PHP_SELF";?>" name="paraConf" enctype="multipart/form-data">
<?php
echo "<table border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\" align=\"left\">";
echo "$strConfiguration > $strNetwork >NIB";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "</table>";
?>
<?php
if($uploadDefault){
//upload the parameters
echo "Uploading 8KE1 card parameters!<br>";
$updateSql="REPLACE param_0 SELECT * FROM nibPara";
if($DEBUG)
echo "<br>updateSql=$updateSql";
mysqli_query($pubConn,$updateSql);
$commStr=sysCommSend('111_0_99',$nSetComm,'2');
if($DEBUG)echo "<br>commStr=$commStr";
//check the command status
if($commStr==""){
echo "<br><font color=\"#FF0000\">Send the command error, Please 8KE1 card's state!</font><br>";
require("./display.php");
exit();
}
$cmmIdStrArr=explode("-",$commStr);
for($i=0;$i<sizeof($cmmIdStrArr)-1;$i++){
if($i==0)
$tmpWhere="(commId='$cmmIdStrArr[$i]'";
else
$tmpWhere=$tmpWhere." OR commId='$cmmIdStrArr[$i]'";
}
$tmpWhere=$tmpWhere.")";
$i = 0;
while(1){
if($i > $maxNum){
$tmpRemark='Timeout';
$delComm = " DELETE FROM $sysCommTable WHERE $tmpWhere ";
mysqli_query($pubConn,$delComm);
echo "<br><font color=\"#FF0000\">Error: $tmpRemark.</font>";
require("./display.php");
exit();
}
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
$selComm = "SELECT commState,remark,objId,sysTypeNo FROM $sysCommTable WHERE $tmpWhere AND commState='$nProcFail'";
if($DEBUG) echo "<br>selComm=$selComm";
$selRes = mysqli_query($pubConn,$selComm);
if(mysqli_num_rows($selRes)>0){
$selRow = mysqli_fetch_array($selRes);
$tmpRemark=$selRow[remark];
$tmpOid=$selRow[objId];
$tmpSysTypeNo=$selRow[sysTypeNo];
$delComm = " DELETE FROM $sysCommTable WHERE $tmpWhere ";
mysqli_query($pubConn,$delComm);
echo "<br><font color=\"#FF0000\">Error: $tmpRemark.</font>";
require("./display.php");
exit();
}
$selComm = "SELECT commState,remark FROM $sysCommTable WHERE $tmpWhere AND (commState='$nWaitProc' OR commState='$nInProc')";
if($DEBUG)echo "<br>selComm=$selComm";
$selRes = mysqli_query($pubConn,$selComm);
if($DEBUG) $tmpNum=mysqli_num_rows($selRes);
if($DEBUG) echo "<br>tmpNum=$tmpNum";
if(mysqli_num_rows($selRes)>0){
sleep(1);
$i++;
continue;
}
$delComm = " DELETE FROM $sysCommTable WHERE $tmpWhere ";
mysqli_query($pubConn,$delComm);
echo "<font size=\"2\" color=\"#0000FF\">Finished</font>";
break;
}
$getSysIdSql = "SELECT * FROM $sysInfoTable
WHERE sysTypeNo='320'
ORDER BY baseStat DESC,updateTime DESC";
if($DEBUG) echo "<br>getSysIdSql=$getSysIdSql";
$getSysIdResult=mysqli_query($pubConn,$getSysIdSql);
echo mysqli_error($pubConn);
while($getSysIdRows=mysqli_fetch_array($getSysIdResult)){
$dstSeverIp=$getSysIdRows[ip];
echo "<br>Stopping MSS,please wait about 3 minutes!<br>";
flush();
$tmpScript="./beforeFtp".' '.$dstSeverIp;
system($tmpScript);
//clear heartbeat
$delSql="DELETE FROM OMC_PUB.sysStat";
mysqli_query($pubConn,$delSql);
for($i=0;$i<30;$i++){
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
sleep(4);
}
echo "<font size=\"2\" color=\"#0000FF\">Finished</font>";
flush();
echo "<br>Uploading MSS parameters and subscribers!<br>";
flush();
$ftpCon=@ftp_connect($dstSeverIp);
if($ftpCon < 0){
echo "<br><font color=\"#FF0000\">Connect $dstSeverIp Failed!</font>";
}else{
if(!@ftp_login($ftpCon,$ftpInfo[UserName],$ftpInfo[Password])){
echo "<br><font color=\"#FF0000\">Login $dstSeverIp Failed!</font>";
}else{
$finishFlag=1;
$directory=$defaultParaDirectory;
$mydir=@dir($directory);
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
continue;
}elseif($file =="." || $file ==".."){
continue;
}else{
$remoteFileName='/usr/local/wxc2/bin/conf/'.$file;
$localFile=$directory.'/'.$file;
if($DEBUG)
echo "<br>dstSeverIp=$dstSeverIp,remoteFileName=$remoteFileName,localFile=$localFile";
if(!@ftp_put($ftpCon,$remoteFileName,$localFile,FTP_ASCII)){
echo "<br><font color=\"#FF0000\">Put $file Failed,please check the network configuration and network speed</font>";
$finishFlag=0;
break;
}
}
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
}//end of while
$mydir->close();
//upload the subscribers
$directory=$defaultSubsDirectory;
$mydir=@dir($directory);
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
continue;
}elseif($file =="." || $file ==".."){
continue;
}else{
$remoteFileName='/usr/local/backup/'.$file;
$localFile=$directory.'/'.$file;
if(!@ftp_put($ftpCon,$remoteFileName,$localFile,FTP_ASCII)){
echo "<br><font color=\"#FF0000\">Put $file Failed,please check the network configuration and network speed</font>";
$finishFlag=0;
break;
}
}
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
}//end of while
$mydir->close();
ftp_quit($ftpCon);
if($finishFlag==1)
echo "<font size=\"2\" color=\"#0000FF\">Finished</font>";
}
}
echo "<br>Starting MSS,please wait about 3 minutes!<br>";
flush();
$tmpScript="./mssStart".' '.$dstSeverIp;
system($tmpScript);
for($i=0;$i<45;$i++){
$tmpSql = "SELECT * FROM OMC_PUB.sysStat WHERE sysTypeNo='200' AND sysNo='9'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpResult=mysqli_query($pubConn,$tmpSql);
echo mysqli_error($pubConn);
if(mysqli_num_rows($tmpResult)>0)
break;
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
sleep(4);
}
if($i==30)
echo "<font size=\"2\" color=\"#FF0000\">Starting MSS failed,please check it</font>";
else
echo "<font size=\"2\" color=\"#0000FF\">Finished</font>";
flush();
}
echo "<br><font size=\"2\" color=\"#0000FF\">Process finished</font><br>";
}
if($uploadBss){
echo "<br>Uploading BSS parameters!<br>";
flush();
if($DEBUG)
echo "<br>bssIpAddr=$bssIpAddr";
if(!isset($bssIpAddr)||strlen($bssIpAddr)<=0){
echo "<br><font color=\"#FF0000\">BSS's ip is error</font>";
require("./display.php");
exit();
}
$ftpCon=@ftp_connect($bssIpAddr);
if($ftpCon < 0){
echo "<br><font color=\"#FF0000\">BSS's ip is error or connect $bssIpAddr Failed!</font>";
require("./display.php");
exit();
}else{
if(!@ftp_login($ftpCon,'','')){
echo "<br><font color=\"#FF0000\">BSS's ip is error or login $bssIpAddr Failed!</font>";
require("./display.php");
exit();
}else{
if(!isset($bssConfFileDirectory)||strlen($bssConfFileDirectory)<=0){
echo "<br><font color=\"#FF0000\">BSS's directory is error</font>";
require("./display.php");
exit();
}else{
$directory=$bssParaDirectory;
$mydir=@dir($directory);
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
continue;
}elseif($file =="." || $file ==".."){
continue;
}else{
$remoteFileName=$bssConfFileDirectory.'/'.$file;
$localFile=$directory.'/'.$file;
if($DEBUG)
echo "<br>bssIpAddr=$bssIpAddr,remoteFileName=$remoteFileName,localFile=$localFile";
if(!@ftp_put($ftpCon,$remoteFileName,$localFile,FTP_BINARY)){
echo "<br><font color=\"#FF0000\">BSS's directory is error or put $file Failed</font>";
require("./display.php");
exit();
}
}
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
}//end of while
echo "<font size=\"2\" color=\"#0000FF\">Finished</font>";
flush();
$mydir->close();
ftp_quit($ftpCon);
}
}
}
echo "<br>Rebooting BSS,please wait about 3 minutes!<br>";
flush();
$tmpScript="./bssReboot".' '.$bssIpAddr;
if($DEBUG)
echo "<br>tmpScript=$tmpScript";
system($tmpScript);
//clear heartbeat
$delSql="DELETE FROM OMC_PUB.sysStat";
mysqli_query($pubConn,$delSql);
for($i=0;$i<4;$i++){
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
sleep(4);
}
for($i=0;$i<60;$i++){
$getStatSql = "SELECT detailStat FROM OMC_PUB.sysStat
WHERE sysTypeNo='111' AND sysNo='0'";
if($DEBUG)
echo "<br>getStatSql=$getStatSql";
$getStatResult=mysqli_query($pubConn,$getStatSql);
echo mysqli_error($pubConn);
if($getStatRows=mysqli_fetch_array($getStatResult)){
$ALink_stat=getBitValue($getStatRows[detailStat],"25.1-25.1");
//echo "<br>ALink_stat=$ALink_stat";
if($ALink_stat==1){
break;
}else{
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
sleep(4);
}
}else{
echo "<font size=\"2\" color=\"#FF0000\">Cannot receive 8KE1 card heartbeat,please check 8KE1 card</font>";
break;
}
}
if($i==60)
echo "<font size=\"2\" color=\"#FF0000\">The A link status is error,please check it</font>";
else
echo "<font size=\"2\" color=\"#0000FF\">Finished</font>";
echo "<br><font size=\"2\" color=\"#0000FF\">Process finished</font>";
}
if($configureMss){
require("./configureForBss.php");
}
if($configurePstn){
require("./configureForPstn.php");
}
require("./display.php");
?>
</form>
</body>
</html>