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

310 lines
11 KiB
PHP
Executable File

<?php
/*********************************************************
Description:
Function£ºCalling prefix parameter edit.
Invoke£ºheader.inc
Author: Lilong
Date: 4/28/2004
Modification notes£º
NO.1
Name£º
Date£º
Description£º
*********************************************************/
require("../../inc/header.inc");
$DEBUG = 0;
$sysTypeNo_0 = "111";
if($thisOmcType==10){
$sysTypeNo_1 = "251";
}else{
$sysTypeNo_1 = "322";
}
$db_0 = "OBJ_".$sysTypeNo_0;
$db_1 = "OBJ_".$sysTypeNo_1;
$tb_0 = "param_0";
$tb_1 = "param_1";
$tb_2 = "param_99";
$temTb = ${tb_.$sNum};
$subSysNo = floor($pNum/8);
if($DEBUG)echo "<br>subSysNo=$subSysNo";
$portNo = $pNum%8;
if($DEBUG)echo "<br>portNo=$portNo";
//Calling Number manipulation
$oidPas = "2.1.8";
$pPas = explode(".",$oidPas);
$i = 0;
$wAnd = '';
while(isset($pPas[$i])){
$lNum = $i+1;
if($DEBUG) echo "<br>pPas[$i]=$pPas[$i]";
$wAnd = $wAnd." AND level_$lNum = $pPas[$i] ";
$i++;
}
if($DEBUG) echo "<br>wAnd=$wAnd";
//<!--********************* DEFINE START:: variable arrays **********************-->
$prefixFlagArr=array(
array('num' => '0', 'remark' => 'N', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Y', 'color' => '#0000FF')
);
$tonArr=array(
array('num' => '0', 'remark' => 'Spare', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'MSISDN', 'color' => '#0000FF'),
array('num' => '2', 'remark' => 'Unknown', 'color' => '#0000FF'),
array('num' => '3', 'remark' => 'NDD', 'color' => '#0000FF'),
array('num' => '4', 'remark' => 'IDD', 'color' => '#0000FF'),
array('num' => '5', 'remark' => 'Spare', 'color' => '#0000FF')
);
$trkDelCArr=array(
array('num' => '0', 'remark' => 'Delete none', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Delete first one','color' => '#FF0000'),
array('num' => '2', 'remark' => 'Delete first two','color' => '#FF0000'),
array('num' => '3', 'remark' => 'Delete first three','color' => '#FF0000'),
array('num' => '4', 'remark' => 'Delete first four','color' => '#FF0000'),
array('num' => '5', 'remark' => 'Delete first five','color' => '#FF0000'),
array('num' => '6', 'remark' => 'Delete first six','color' => '#FF0000'),
array('num' => '7', 'remark' => 'Delete first seven','color' => '#FF0000'),
array('num' => '8', 'remark' => 'Delete first eight','color' => '#FF0000')
);
$trkInsCArr=array(
array('num' => '0', 'remark' => 'Insert none', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Insert first one','color' => '#FF0000'),
array('num' => '2', 'remark' => 'Insert first two','color' => '#FF0000'),
array('num' => '3', 'remark' => 'Insert first three','color' => '#FF0000'),
array('num' => '4', 'remark' => 'Insert first four','color' => '#FF0000'),
array('num' => '5', 'remark' => 'Insert first five','color' => '#FF0000'),
array('num' => '6', 'remark' => 'Insert first six','color' => '#FF0000'),
array('num' => '7', 'remark' => 'Insert first seven','color' => '#FF0000'),
array('num' => '8', 'remark' => 'Insert first eight','color' => '#FF0000')
);
//<!--********************* DEFINE END :: variable arrays **********************-->
if($set || $add)
{
$field_0 = omc_keep_length($prefixDigit,E,8,0);
if($DEBUG) echo "$field_0=$field_0<br>";
$field_1 = DecHex($outTon).DecHex($inTon);
$field_1 = omc_keep_length($field_1,0,2);
if($DEBUG) echo "<br>field_1=$field_1";
$field_2 = DecHex($insNum).DecHex($delNum);
$field_2 = omc_keep_length($field_2,0,2);
if($DEBUG) echo "<br>field_2=$field_2";
$field_3 = omc_keep_length($insDigit,E,8,0);
if($DEBUG) echo "<br>field_3=$field_3";
$initValue = $field_0.$field_1.$field_2.$field_3;
if($DEBUG) echo "<br>initValue=$initValue";
$updateSql = " UPDATE $tb_2
set initValue = '$initValue'
WHERE subSysNo = '99' AND instanceNo = '$tNum' $wAnd ";
if($DEBUG) echo "<br>updateSql=$updateSql";
$updateRes = @mysqli_query($pubConn,$updateSql);
echo mysqli_error($pubConn);
echo "<script LANGUAGE=\"JavaScript\">";
echo "window.opener.location.href='./callingPrefixConf.php?scroll_x=$scroll_x&scroll_y=$scroll_y';";
echo "\n window.close();";
echo "\n </script>";
}
/************select value to see************/
//Attributes of TG
$defaultValue[7] = "EEEEEEEE2200EEEEEEEE";
$dispSql = " SELECT level_3,instanceNo,initValue,editValue,readValue
FROM $tb_2
WHERE subSysNo = '99' AND instanceNo = '$tNum' ".$wAnd;
if($DEBUG) echo "<br>dispSql=$dispSql";
$dispRes = @mysqli_query($pubConn,$dispSql);
$dispRow = @mysqli_fetch_array($dispRes);
echo mysqli_error($pubConn);
do{
$level_3 = $dispRow[level_3];
$instanceNo = $dispRow[instanceNo];
$initValue = $dispRow[initValue];
if($DEBUG) echo "<br>initValue=$initValue";
if($initValue == $defaultValue[$level_3]){
$andShow[$level_3][$instanceNo] = 0;
}else{
$andShow[$level_3][$instanceNo] = 1;
}
if($DEBUG) echo "<br>andShow[$level_3][$instanceNo]={$andShow[$level_3][$instanceNo]}";
$prefixDigit = substr($initValue,0,8);
$pDigit = explode("E",$prefixDigit);
$prefixDigit = $prefixArr[$instanceNo][0] = $pDigit[0];
if($DEBUG) echo "<br>prefixArr[$instanceNo][0]={$prefixArr[$instanceNo][0]}";
$inTon = substr($initValue,9,1);
$outTon = substr($initValue,8,1);
if($DEBUG) echo "<br>inTon=$inTon, outTon=$outTon";
$delNum = substr($initValue,11,1);
$insNum = substr($initValue,10,1);
if($DEBUG) echo "<br>delNum=$delNum, insNum=$insNum";
$insDigit = substr($initValue,12,8);
$pDigit = explode("E",$insDigit);
$insDigit = $insDigitArr[$instanceNo][0] = $pDigit[0];
if($DEBUG) echo "<br>insDigitArr[$instanceNo][0]={$insDigitArr[$instanceNo][0]}";
}while($dispRow = @mysqli_fetch_array($dispRes));
echo "<form method=\"POST\" name=\"confForm\" action=\"$PHP_SELF\">";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"2\" width=\"100%\">";
//if "ADD", oType == 1
if($oType){
$preFlagSql = " SELECT instanceNo,initValue,editValue,readValue
FROM $tb_2
WHERE subSysNo = '99' $wAnd "." ORDER BY instanceNo ";
//if($DEBUG)
echo "<br>preFlagSql=$preFlagSql,db=$db_1";
$preFlagRes = @mysqli_query($pubConn,$preFlagSql);
$preFlagRow = @mysqli_fetch_array($preFlagRes);
echo mysqli_error($pubConn);
do
{
$instanceNo = $preFlagRow[instanceNo];
$initValue = $preFlagRow[initValue];
if($DEBUG)echo "<br>initValue=$initValue";
$hex_6 = substr($initValue,12,2);
if($DEBUG)echo "<br>hex_6=$hex_6";
$bin_6 = omc_keep_length(DecBin(HexDec($hex_6)),0,8);
if($DEBUG)echo "<br>bin_6=$bin_6";
$prefixFlag = $prefixFlagArr[$instanceNo][0] = BinDec(substr($bin_6,1,1));
//echo "<br>prefixFlag=$prefixFlag";
}while($preFlagRow = @mysqli_fetch_array($preFlagRes));
echo "<tr>";
echo "<td colspan=\"4\"><b>Add Dailing prefix</b></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=\"60\" valign=middle><nobr>Prefix no.</nobr></td>";
echo "<td colspan=\"2\">";
echo "<select style=\"font-family: Verdana; font-size: 8pt\" size=\"1\" name=\"tNum\" id=\"tNum\">";
for($i=0;$i<256;$i++)
{
//if(!$prefixFlagArr[$i][0])
echo "<option value=\"$i\">$i</option>";
}
echo "</select>";
echo "</td>";
echo "</tr>";
}else{
echo "<tr>";
echo "<td colspan=\"4\"><b>Calling number manipulation #$tNum</b></td>";
echo "</tr>";
}
echo "<tr>";
echo "<td width=\"60\" valign=middle><nobr>8-digit prefix for calling number</nobr></td>";
echo "<td colspan=\"2\"><input type=\"text\" name=\"prefixDigit\" size=\"8\" value=\"$prefixDigit\" maxLength=\"8\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=\"60\" valign=middle><nobr>TON for incoming call</nobr></td>";
echo "<td colspan=\"2\">";
echo "<select style=\"font-family: Verdana; font-size: 8pt\" size=\"1\" name=\"inTon\" id=\"inTon\">";
for($i=0;$i<6;$i++){
if($inTon == $i)
echo "<option value=\"$i\" selected>{$tonArr[$i][remark]}</option>";
else
echo "<option value=\"$i\">{$tonArr[$i][remark]}</option>";
}
echo "</select>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td width=\"60\" valign=middle><nobr>TON for outgoing call</nobr></td>";
echo "<td colspan=\"2\">";
echo "<select style=\"font-family: Verdana; font-size: 8pt\" size=\"1\" name=\"outTon\" id=\"outTon\">";
for($i=0;$i<6;$i++){
if($outTon == $i)
echo "<option value=\"$i\" selected>{$tonArr[$i][remark]}</option>";
else
echo "<option value=\"$i\">{$tonArr[$i][remark]}</option>";
}
echo "</select>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td width=\"60\" valign=middle><nobr>Out trunk deletion count</nobr></td>";
echo "<td colspan=\"2\">";
echo "<select style=\"font-family: Verdana; font-size: 8pt\" size=\"1\" name=\"delNum\" id=\"delNum\">";
for($i=0;$i<9;$i++){
if($delNum == $i)
echo "<option value=\"$i\" selected>{$trkDelCArr[$i][remark]}</option>";
else
echo "<option value=\"$i\">{$trkDelCArr[$i][remark]}</option>";
}
echo "</select>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td width=\"60\" valign=middle><nobr>Out trunk insertion count</nobr></td>";
echo "<td colspan=\"2\">";
echo "<select style=\"font-family: Verdana; font-size: 8pt\" size=\"1\" name=\"insNum\" id=\"insNum\">";
for($i=0;$i<9;$i++){
if($insNum == $i)
echo "<option value=\"$i\" selected>{$trkInsCArr[$i][remark]}</option>";
else
echo "<option value=\"$i\">{$trkInsCArr[$i][remark]}</option>";
}
echo "</select>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td width=\"60\" valign=middle><nobr>Inserted digits (0 - 99,999,999)</nobr></td>";
echo "<td colspan=\"2\"><input type=\"text\" name=\"insDigit\" size=\"8\" value=\"$insDigit\" maxLength=\"8\"></td>";
echo "</tr>";
echo "</table>";
echo "<br>";
if($oType){
echo "<input type=\"submit\" name=\"add\" value = \"Add\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
}else{
echo "<input type=\"submit\" name=\"set\" value = \"Set\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
echo "<input type=\"hidden\" name=\"tNum\" value =\"$tNum\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
}
echo "<input type=\"reset\" name=\"Reset\" value =\"Reset\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
echo "<input type=\"hidden\" name=\"scroll_x\" value =\"$scroll_x\">";
echo "<input type=\"hidden\" name=\"scroll_y\" value =\"$scroll_y\">";
echo "</form>";
?>
<b>Remarks:</b><br><br>
byte4: type of number(TON)
bit0-3: TON for incoming call, specified by the originating node for the terminating node to route this call with proper dialed number manipulation.0=spare,1=MSISDN,2=unknown,3=NDD,4=IDD,other=spare,this setup is invalid for prefix 252 to 255
bit4-7: TON for outgoing call, used to specify the type of an outgoing call for the terminating node to route this call with proper dialed number digit mannipulation.0=spare,1=MSISDN,2=unknown,3=NDD,4=IDD,other=spare
</body>
</html>