Files
openairinterface5g/openair2/UTIL/OSD/recep.php
T

615 lines
22 KiB
PHP

<?php
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*! \file recep.php
* \brief Process the POST of the OSD form.
* \author Philippe Foubert & Navid Nikaein & Andre Gomes (One Source)
* \date 2014
* \version 0.1
* \company Eurecom,
* \email: openair_tech@eurecom.fr
* \note
* \warning
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<?
include('header.php');
?>
</head>
<?
// INCLUDE ALL THE VARIABLES RELATED TO THE PATHs
include('/opt/lampp/htdocs/OSD/OpenAirEmu.conf');
//$GET_OPENAIR_TARGETS=shell_exec("source /opt/lampp/htdocs/OSD/OpenAirEmu.conf");
//echo $GET_OPENAIR_TARGETS;
// TO BE SURE ABOUT THE PATHs
//echo $OPENAIR_TARGETS.'<br />'.$WEBXML_PATH.'<br />'.$RESULTS_PATH.'<br />'.$OPENAIR1_DIR.'<br />'.$OPENAIR2_DIR.'<br />'.$OPENAIR3_DIR.'<br />';
// TO HIDE ALL THE PHP ERRORS AND WARNINGS
ini_set('display_errors','Off');
ini_set('log_errors',1);
ini_set('error_log','/var/logs/php/errlog.txt');
// *****************************************************************************************
// COPY and PASTE
//FROM HERE COPY AND PASTE THE CONTENT OF THE FORM RECEPTION OF THE WEBPORTAL VERSION FROM AFTER THIS LINE
//
// *****************************************************************************************
function nospace($input) {
$espace = array(" ");
return str_replace($espace, "", $input);
}
// PHIL - To put a 0 or 1 between tags For all the CHECKBOXES so they are not empties- 2012 06 28
if ( isset($_POST['throughput']) && $_POST['throughput'] == '1' ) { $THROUGHPUT = 1; } else { $THROUGHPUT = 0; }
if ( isset($_POST['latency']) && $_POST['latency'] == '1' ) { $LATENCY = 1; } else { $LATENCY = 0; }
if ( isset($_POST['lossrate']) && $_POST['lossrate'] == '1' ) { $LOSS_RATE = 1; } else { $LOSS_RATE = 0; }
if ( isset($_POST['pkttrace']) && $_POST['pkttrace'] == '1' ) { $PKTTRACE = 1; } else { $PKTTRACE = 0; }
if ( isset($_POST['bg_traffic']) && $_POST['bg_traffic'] == '1' ) { $BG_TRAFFIC = 1; } else { $BG_TRAFFIC = 0; }
if ( isset($_POST['curves']) && $_POST['curves'] == '1' ) { $CURVES = enabled; } else { $CURVES = disabled; }
// More parameters
if ( isset($_POST['phy_abstraction']) && $_POST['phy_abstraction'] == '1' ) { $PHY_ABSTRACTION = '-a'; } else { $PHY_ABSTRACTION = ''; }
if ( isset($_POST['pcap_trace']) && $_POST['pcap_trace'] == '1' ) { $PCAP_TRACE = 1; } else { $PCAP_TRACE = 0; }
if ( isset($_POST['profiling']) && $_POST['profiling'] == '1' ) { $PROFILING = 1; } else { $PROFILING = 0; }
if ( isset($_POST['dl_mcs'])) { $DL_MCS = '-m' . $_POST['dl_mcs']; } else { $DL_MCS = ''; }
if ( isset($_POST['ul_mcs'])) { $UL_MCS = '-t' . $_POST['ul_mcs']; } else { $UL_MCS = ''; }
if ( isset($_POST['snr'])) { $SNR = '-s' . $_POST['snr']; } else { $SNR = ''; }
if ( isset($_POST['transmission_mode'])) { $TRANSMISSION_MODE = $_POST['transmission_mode']; } else { $TRANSMISSION_MODE = ''; }
if ( isset($_POST['frame_type'])) { $FRAME_TYPE = $_POST['frame_type']; } else { $FRAME_TYPE = ''; }
if ( isset($_POST['tdd_config'])) { $TDD_CONFIG = '<TDD_CONFIG>'.$_POST['tdd_config'].'</TDD_CONFIG>'; } else { $TDD_CONFIG = ''; }
// VARIABLES FOR BOTH WEBPORTAL AND PORTABLE VERSION
$espace= array(" ");
$date = date("YmdHis");
$PERSON = str_replace($espace, "", $user);
$ID = $PERSON.$date;
$user = $_POST['username'];
$XML_FILENAME = str_replace($espace, "", $user).'.'.$date.'.xml';
// eNB Distribution
if (isset($_POST['eNB_initial_distribution']) && $_POST['eNB_initial_distribution'] == 'fixed') {
$eNB_INITIAL_DISTRIBUTION =
'<eNB_INITIAL_DISTRIBUTION>fixed</eNB_INITIAL_DISTRIBUTION>
<eNB_INITIAL_COORDINATES>
<POS_X>'.nospace($_POST['pos_x']).'</POS_X>
<POS_Y>'.nospace($_POST['pos_y']).'</POS_Y>
</eNB_INITIAL_COORDINATES>';
}
elseif (isset($_POST['eNB_initial_distribution']) && $_POST['eNB_initial_distribution'] == 'random') {
$eNB_INITIAL_DISTRIBUTION =
'<eNB_INITIAL_DISTRIBUTION>random</eNB_INITIAL_DISTRIBUTION>
<RANDOM_eNB_DISTRIBUTION>
<NUMBER_OF_CELLS>'.nospace($_POST['random_eNB_distr']).'</NUMBER_OF_CELLS>
</RANDOM_eNB_DISTRIBUTION>';
}
// RBs
if (isset($_POST['num_rbs_dl'])) {
$NUMBER_OF_RBS = '<NUMBER_OF_RBS_DL>'.$_POST['num_rbs_dl'].'</NUMBER_OF_RBS_DL>';
}
else {
$NUM_RBS = '';
}
// PCAP
if ($PCAP_TRACE == 1) {
$TRACE_FILE = '<TRACE_FILE>pcap</TRACE_FILE>';
}
else {
$TRACE_FILE = '';
}
// CLI
if ( isset($_POST['cli_enabled']) && $_POST['cli_enabled'] == '1' ) {
if ( isset($_POST['cli_start_enb']) && $_POST['cli_start_enb'] == '1' ) { $CLI_START_ENB = 1; } else { $CLI_START_ENB = 0; }
if ( isset($_POST['cli_start_ue']) && $_POST['cli_start_ue'] == '1' ) { $CLI_START_UE = 1; } else { $CLI_START_UE = 0; }
$CLI =
'<CLI>
<START_ENB>'.$CLI_START_ENB.'</START_ENB>
<START_UE>'.$CLI_START_UE.'</START_UE>
</CLI>';
}
else {
$CLI = '';
}
// ICI TOUTES LES OPTIONS - ELLES SONT COMMENTEES EN BAS DU FICHIER
// <!-- Here is the XML template which will be filled in with the user values -->
$data = '
<OAI_EMULATION>
<ENVIRONMENT_SYSTEM_CONFIG>
<FADING>
<LARGE_SCALE>0</LARGE_SCALE>
<FREE_SPACE_MODEL_PARAMETERS>
<PATHLOSS_EXPONENT>'.nospace($_POST['pathlossexp']).'</PATHLOSS_EXPONENT>
<PATHLOSS_0_dB>'.nospace($_POST['pathlosszero']).'</PATHLOSS_0_dB>
</FREE_SPACE_MODEL_PARAMETERS>
<SMALL_SCALE>'.nospace($_POST['smallscale']).'</SMALL_SCALE>
</FADING>
<WALL_PENETRATION_LOSS_dB>'.nospace($_POST['wallpenetloss']).'</WALL_PENETRATION_LOSS_dB>
<SYSTEM_BANDWIDTH_MB>'.nospace($_POST['sysbw']).'</SYSTEM_BANDWIDTH_MB>
<SYSTEM_FREQUENCY_GHz>'.nospace($_POST['uefreq']).'</SYSTEM_FREQUENCY_GHz>
'.$NUMBER_OF_RBS.'
<TRANSMISSION_MODE>'.$TRANSMISSION_MODE.'</TRANSMISSION_MODE>
<FRAME_CONFIG>
<FRAME_TYPE>'.$FRAME_TYPE.'</FRAME_TYPE>
'.$TDD_CONFIG.'
</FRAME_CONFIG>
<ANTENNA>
<eNB_ANTENNA>
<RX_NOISE_LEVEL_dB>'.nospace($_POST['eNB_RX_noise_power']).'</RX_NOISE_LEVEL_dB>
<NUMBER_OF_SECTORS>'.nospace($_POST['eNB_nb_sectors']).'</NUMBER_OF_SECTORS>
<BEAM_WIDTH_dB>'.nospace($_POST['eNB_beam_width']).'</BEAM_WIDTH_dB>
<ANTENNA_GAIN_dBi>'.nospace($_POST['eNB_antenna_gain']).'</ANTENNA_GAIN_dBi>
<TX_POWER_dBm>'.nospace($_POST['eNB_TX_power']).'</TX_POWER_dBm>
</eNB_ANTENNA>
<UE_ANTENNA>
<RX_NOISE_LEVEL_dB>'.nospace($_POST['UE_RX_noise_power']).'</RX_NOISE_LEVEL_dB>
<ANTENNA_GAIN_dBi>'.nospace($_POST['UE_antenna_gain']).'</ANTENNA_GAIN_dBi>
<TX_POWER_dBm>'.nospace($_POST['UE_TX_power']).'</TX_POWER_dBm>
</UE_ANTENNA>
</ANTENNA>
</ENVIRONMENT_SYSTEM_CONFIG>
<TOPOLOGY_CONFIG>
<AREA>
<X_m>'.nospace($_POST['areax']).'</X_m>
<Y_m>'.nospace($_POST['areay']).'</Y_m>
</AREA>
<NETWORK_TYPE>'.nospace($_POST['typetopo']).'</NETWORK_TYPE>
<CELL_TYPE>'.nospace($_POST['celltype']).'</CELL_TYPE>
<RELAY>0</RELAY>
<MOBILITY>
<UE_MOBILITY>
<UE_INITIAL_DISTRIBUTION>'.nospace($_POST['uedistr']).'</UE_INITIAL_DISTRIBUTION>
<RANDOM_UE_DISTRIBUTION>
<NUMBER_OF_NODES>'.nospace($_POST['random_UE_dist_nb_node']).'</NUMBER_OF_NODES>
</RANDOM_UE_DISTRIBUTION>
<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>
<UE_MOVING_DYNAMICS>
<MIN_SPEED_mps>'.nospace($_POST['minspeed']).'</MIN_SPEED_mps>
<MAX_SPEED_mps>'.nospace($_POST['maxspeed']).'</MAX_SPEED_mps>
<MIN_SLEEP_ms>'.nospace($_POST['minpausetime']).'</MIN_SLEEP_ms>
<MAX_SLEEP_ms>'.nospace($_POST['maxpausetime']).'</MAX_SLEEP_ms>
<MIN_JOURNEY_TIME_ms>'.nospace($_POST['minjourneytime']).'</MIN_JOURNEY_TIME_ms>
<MAX_JOURNEY_TIME_ms>'.nospace($_POST['maxjourneytime']).'</MAX_JOURNEY_TIME_ms>
</UE_MOVING_DYNAMICS>
</UE_MOBILITY>
<eNB_MOBILITY>
'.nospace($eNB_INITIAL_DISTRIBUTION).'
<eNB_MOBILITY_TYPE>'.nospace($_POST['enbmobility']).'</eNB_MOBILITY_TYPE>
</eNB_MOBILITY>
</MOBILITY>
<OMV>'.nospace($_POST['omv']).'</OMV>
</TOPOLOGY_CONFIG>
<APPLICATION_CONFIG>
<PREDEFINED_TRAFFIC>
<SOURCE_ID>'.nospace($_POST['pre_sourceid']).'</SOURCE_ID>
<APPLICATION_TYPE>'.nospace($_POST['pre_apptype']).'</APPLICATION_TYPE>
<DESTINATION_ID>'.nospace($_POST['pre_destid']).'</DESTINATION_ID>
<BACKGROUND_TRAFFIC>'.$BG_TRAFFIC.'</BACKGROUND_TRAFFIC>
</PREDEFINED_TRAFFIC>
<CUSTOMIZED_TRAFFIC>
<SOURCE_ID>'.nospace($_POST['cust_sourceid']).'</SOURCE_ID>
<TRANSPORT_PROTOCOL>'.nospace($_POST['cust_transprot']).'</TRANSPORT_PROTOCOL>
<IP_VERSION>'.nospace($_POST['cust_ipversion']).'</IP_VERSION>
<DESTINATION_ID>'.nospace($_POST['cust_destid']).'</DESTINATION_ID>
<IDT_DIST>'.nospace($_POST['idt_dist']).'</IDT_DIST>
<IDT_MIN_ms>'.nospace($_POST['idtmin']).'</IDT_MIN_ms>
<IDT_MAX_ms>'.nospace($_POST['idtmax']).'</IDT_MAX_ms>
<IDT_STANDARD_DEVIATION>'.nospace($_POST['idtstddeviation']).'</IDT_STANDARD_DEVIATION>
<IDT_LAMBDA>'.nospace($_POST['idtlambda']).'</IDT_LAMBDA>
<IDT_SCALE>'.nospace($_POST['idtscale']).'</IDT_SCALE>
<IDT_SHAPE>'.nospace($_POST['idtshape']).'</IDT_SHAPE>
<SIZE_DIST>'.nospace($_POST['size_dist']).'</SIZE_DIST>
<SIZE_MIN_byte>'.nospace($_POST['sizemin']).'</SIZE_MIN_byte>
<SIZE_MAX_byte>'.nospace($_POST['sizemax']).'</SIZE_MAX_byte>
<SIZE_STANDARD_DEVIATION>'.nospace($_POST['sizestddeviation']).'</SIZE_STANDARD_DEVIATION>
<SIZE_LAMBDA>'.nospace($_POST['sizelambda']).'</SIZE_LAMBDA>
<SIZE_SCALE>'.nospace($_POST['sizescale']).'</SIZE_SCALE>
<SIZE_SHAPE>'.nospace($_POST['sizeshape']).'</SIZE_SHAPE>
<DESTINATION_PORT>'.nospace($_POST['destport']).'</DESTINATION_PORT>
<PU>
<PROB_OFF_PU>'.nospace($_POST['proboffpu']).'</PROB_OFF_PU>
<PROB_PU_ED>'.nospace($_POST['probpued']).'</PROB_PU_ED>
<HOLDING_TIME_OFF_PU>'.nospace($_POST['holdtimeoffpu']).'</HOLDING_TIME_OFF_PU>
</PU>
<ED>
<PROB_OFF_ED>'.nospace($_POST['proboffed']).'</PROB_OFF_ED>
<PROB_ED_PE>'.nospace($_POST['probedpe']).'</PROB_ED_PE>
<HOLDING_TIME_OFF_ED>'.nospace($_POST['holdtimeoffed']).'</HOLDING_TIME_OFF_ED>
</ED>
<PE>
<HOLDING_TIME_OFF_PE>'.nospace($_POST['holdtimeoffpe']).'</HOLDING_TIME_OFF_PE>
</PE>
</CUSTOMIZED_TRAFFIC>
</APPLICATION_CONFIG>
<EMULATION_CONFIG>
<EMULATION_TIME_ms>'.nospace($_POST['emutime']).'</EMULATION_TIME_ms>
<CURVE>'.$CURVES.'</CURVE>
<PROFILING>'.$PROFILING.'</PROFILING>
'.$TRACE_FILE.'
<PERFORMANCE_METRICS>
<THROUGHPUT>'.$THROUGHPUT.'</THROUGHPUT>
<LATENCY>'.$LATENCY.'</LATENCY>
<LOSS_RATE>'.$LOSS_RATE.'</LOSS_RATE>
<OWD_RADIO_ACESS>1</OWD_RADIO_ACESS>
</PERFORMANCE_METRICS>
<LOG>
<LEVEL>'.nospace($_POST['level']).'</LEVEL>
<VERBOSITY>'.nospace($_POST['verbosity']).'</VERBOSITY>
<INTERVAL>'.nospace($_POST['interval']).'</INTERVAL>
</LOG>
<PACKET_TRACE>'.$PKTTRACE.'</PACKET_TRACE>
<SEED_VALUE>'.nospace($_POST['seedvalue']).'</SEED_VALUE>
'.$CLI.'
</EMULATION_CONFIG>
<PROFILE>'.$XML_FILENAME.'</PROFILE>
</OAI_EMULATION>
';
//echo $data."<br /><br />";
/*
// VARIABLES FOR WEBPORTAL
$EMU_RESULTS = "/drupal-6.19/CLUSTER/r4g7/emu_results";
$EMU_RESULTS_USER = $EMU_RESULTS.'/'.str_replace($espace, "", $user).'/'.$date;
$FOR_R4G1 = "/opt/lampp/htdocs/drupal-6.19/CLUSTER/r4g7/emu_results/".str_replace($espace, "", $user)."/".$date."/LOGS/";
$CHEMIN = "/nfs/emu_results/".str_replace($espace, "", $user)."/".$date."/LOGS/";
$file = '/opt/lampp/htdocs/drupal-6.19/CLUSTER/r4g7/webxml/'.$XML_FILE;
*/
// VARIABLES FOR PORTABLE VERSION
$xmlfile = $WEBXML_PATH.'/'.str_replace($espace, "", $user).'.'.$date.'.xml';
//echo $xmlfile.'<br />'.$XML_FILENAME.'<br />';
// 1 - WRITTING THE XML FILE
File_put_contents($xmlfile, $data);
sleep(1);
// IN PORTABLE VERSION THERE IS NO FOR R4G1, SINCE WE WORK ON ONLY ONE MACHINE
// RESULTS_PATH is defined in /opt/lampp/htdocs/OSD/OpenAirEmu.conf file
$RESULTS_PATH_EMULATION = $RESULTS_PATH."/".str_replace($espace, "", $user)."/".$date."/";
//echo $RESULTS_PATH_EMULATION.'<br />';
//$RESULTS_PATH_EMULATION_LOGS = $RESULTS_PATH_EMULATION."LOGS/";
//$RESULTS_PATH_EMULATION_XML = $RESULTS_PATH_EMULATION."SCENARIO/XML/";
// PROFILING and PCAP Copy
if ($PROFILING == 1) {
$PROFILING_PARSE = '2>profiling.log';
$PROFILING_COPY = ' ; cp profiling.log '.$RESULTS_PATH_EMULATION;
}
else {
$PROFILING_PARSE = '';
$PROFILING_COPY = '';
}
if ($PCAP_TRACE == 1) {
$PCAP_COPY = ' ; cp oai_opt.pcap '.$RESULTS_PATH_EMULATION;
}
else {
$PCAP_COPY = '';
}
// -1 : portable, 0: web portal, # for templates
// 2 - STARTING OAISIM
// $OAISIM=shell_exec("set -x ; mkdir /tmp/$ID ; cd /tmp/$ID ; export OPENAIR1_DIR=$OPENAIR1_DIR ; export OPENAIR2_DIR=$OPENAIR2_DIR ; export OPENAIR3_DIR=$OPENAIR3_DIR ; export OPENAIR_TARGETS=$OPENAIR_TARGETS ; $OPENAIR_TARGETS/SIMU/USER/oaisim -a -c $XML_FILENAME >oaisim.log ; mv * $RESULTS_PATH_EMULATION_LOGS ; rmdir /tmp/$ID ");
$OAISIM="set -x ; mkdir /tmp/$ID ; cd /tmp/$ID ; export OPENAIR1_DIR=$OPENAIR1_DIR ; export OPENAIR2_DIR=$OPENAIR2_DIR ; export OPENAIR3_DIR=$OPENAIR3_DIR ; export OPENAIR_TARGETS=$OPENAIR_TARGETS ; $OPENAIR_TARGETS/SIMU/USER/oaisim $PHY_ABSTRACTION $SNR $DL_MCS $UL_MCS -c -1 >oaisim.log ".$PROFILING_PARSE." ; cp oaisim.log $RESULTS_PATH_EMULATION".$PROFILING_COPY.$PCAP_COPY;
//echo $OAISIM;
shell_exec($OAISIM);
// Get hostname
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
$hostname = gethostname();
}
elseif (version_compare(PHP_VERSION, '4.2.0') >= 0) {
$hostname = php_uname('n');
}
elseif (version_compare(PHP_VERSION, '4.2.0') < 0) {
$hostname = getenv('HOSTNAME');
if(!$hostname) $hostname = trim(`hostname`);
if(!$hostname) $hostname = exec('echo $HOSTNAME');
if(!$hostname) $hostname = preg_replace('#^\w+\s+(\w+).*$#', '$1', exec('uname -a'));
}
// APACHE VARIABLES
$RESULTS_PATH="http://".$hostname."/results/";
$XMLFILE_PATH="http://".$hostname."/xmlfile/";
// PROFILING and PCAP Results
if ($PROFILING == 1) {
$PROFILING_OUTPUT = '
<div align="center" class="notice span-9">
<br>
<p>Here are the performance profiling statistics :
<br>
<a href="'.$RESULTS_PATH.str_replace($espace, "", $user).'/'.$date.'/profiling.log" target="_blank">profiling.log</a></p>
</div>';
}
else {
$PROFILING_OUTPUT = '';
}
if ($PCAP_TRACE == 1) {
$PCAP_OUTPUT = '
<div align="center" class="notice span-9">
<br>
<p>Here is the PCAP File :
<br>
<a href="'.$RESULTS_PATH.str_replace($espace, "", $user).'/'.$date.'/oai_opt.pcap" target="_blank">oai_opt.pcap</a></p>
</div>';
}
else {
$PCAP_OUTPUT = '';
}
//
// 3 - DISPLAY RESULTS
//
// THE FIRST SQUARE - XML FILE
echo '
<div class=" span-50">
<br>
</div>
<div class="span-31">
<div class=" span-10">
<br>
</div>
<div align="center" class=" span-10">
<div class="success span-9">
<br>
<p>Here is the XML file of your OpenAirEmulation :
<br>
<a href="'.$RESULTS_PATH.str_replace($espace, "", $user).'/'.$date.'/'.$XML_FILENAME.'" target="_blank">'.$XML_FILENAME.'</a></p>
</div>
<div align="center" class="info span-9">
<br>
<p>Here is the output of your OpenAirEmulation :
<br>
<a href="'.$RESULTS_PATH.str_replace($espace, "", $user).'/'.$date.'/oaisim.log" target="_blank">oaisim.log</a></p>
</div>
'.$PROFILING_OUTPUT.'
'.$PCAP_OUTPUT.'
<div class=" span-10">
<br>
</div>
</div>
';
/*
// THE SECOND SQUARE - DISPLAY FILE RESULTS
if ($handle = opendir("$RESULTS_PATH_EMULATION_LOGS")) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$thelist .= '<a href="'.$RESULTS_PATH_EMULATION_LOGS.$file.'" target="_blank">'.$file.'</a><br />';
}
}
closedir($handle);
}
echo '<div align="center" class="success span-20">
<P>List of files:</p>
<P><a href="'.$RESULTS_PATH_EMULATION_LOGS.'oaisim.log.bz2" target="_blank">oaisim.log.bz2</a><br /></p>
</div>';
// THE THIRD SQUARE - DISPLAY FILE RESULTS
echo '<div align="center" class="success span-20">
<P>HERE DISPLAY PACKET TRACES FILES</p>
</div>';
*/
/* PHIL - J'enlve la SUMO CONFIG
<SUMO_CONFIG>
<SUMO_CMD>'.nospace($_POST['sumocmd']).'</SUMO_CMD>
<SUMO_CONFIG_FILE>'.nospace($_POST['sumoconffile']).'</SUMO_CONFIG_FILE>
<SUMO_START>'.nospace($_POST['sumostart']).'</SUMO_START>
<SUMO_END>'.nospace($_POST['sumoend']).'</SUMO_END>
<SUMO_STEP>'.nospace($_POST['sumostep']).'</SUMO_STEP>
<SUMO_HOST_IP>'.nospace($_POST['sumohostip']).'</SUMO_HOST_IP>
<SUMO_HOST_PORT>'.nospace($_POST['sumohostport']).'</SUMO_HOST_PORT>
</SUMO_CONFIG>
<CLI>
<START_ENB>'.$CLI_START_ENB.'</START_ENB>
<START_UE>'.$CLI_START_UE.'</START_UE>
</CLI>
<NB_ANTENNAS_RX>'.nospace($_POST['eNB_antennas_rx']).'</NB_ANTENNAS_RX>
<NB_ANTENNAS_TX>'.nospace($_POST['eNB_antennas_tx']).'</NB_ANTENNAS_TX>
<NB_ANTENNAS_RX>'.nospace($_POST['UE_antennas_rx']).'</NB_ANTENNAS_RX>
<NB_ANTENNAS_TX>'.nospace($_POST['UE_antennas_tx']).'</NB_ANTENNAS_TX>
*/
/*
// UE MOBILITY TYPE
//
if ( $_POST['uemobility'] == 'fixed' ) {
$UE_MOBILITY =
'<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>';
}
if ( $_POST['uemobility'] == 'random_waypoint' ) {
$UE_MOBILITY =
'<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>';
}
if ( $_POST['uemobility'] == 'random_walk' ) {
$UE_MOBILITY =
'<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>';
}
if ( $_POST['uemobility'] == 'grid_walk' ) {
$UE_MOBILITY =
'<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>
<GRID_MAP>
<GRID_HORIZONTAL_NUMBER>'.nospace($_POST['horizgrid']).'</GRID_HORIZONTAL_NUMBER>
<GRID_VERTICAL_NUMBER>'.nospace($_POST['vertgrid']).'</GRID_VERTICAL_NUMBER>
</GRID_MAP>
<GRID_TRIP_TYPE>'.nospace($_POST['gridtype']).'</GRID_TRIP_TYPE>';
}
//
// UEs DISTRIBUTION
//
if ( $_POST['uedistr'] == 'random' ) {
$UE_DISTRIBUTION =
'<RANDOM_UE_DISTRIBUTION>
<NUMBER_OF_NODES>1</NUMBER_OF_NODES>
</RANDOM_UE_DISTRIBUTION>';
}
if ( $_POST['uedistr'] == 'concentrated' ) {
$UE_DISTRIBUTION =
'<CONCENTRATED_UE_DISTRIBUTION>
<NUMBER_OF_NODES>1</NUMBER_OF_NODES>
</CONCENTRATED_UE_DISTRIBUTION>';
}
if ( $_POST['uedistr'] == 'grid_map' ) {
if ( $_POST['gridmapradio'] == 'random_grid' ) {
$UE_DISTRIBUTION =
'<GRID_UE_DISTRIBUTION>random_grid</GRID_UE_DISTRIBUTION>
<RANDOM_GRID>
<NUMBER_OF_NODES>'.nospace($_POST['rdgridnbnodes']).'</NUMBER_OF_NODES>
</RANDOM_GRID>';
}
if ( $_POST['gridmapradio'] == 'border_grid' ) {
$UE_DISTRIBUTION =
'<GRID_UE_DISTRIBUTION>border_grid</GRID_UE_DISTRIBUTION>
<BORDER_GRID>
<NUMBER_OF_NODES>'.nospace($_POST['bdgridnbnodes']).'</NUMBER_OF_NODES>
</BORDER_GRID>';
}
}
//
// eNB INITIAL DISTRIBUTION
//
if ( $_POST['eNB_initial_distribution'] == 'grid' ) {
$eNB_INITIAL_DISTRIBUTION =
'<eNB_INITIAL_DISTRIBUTION>grid</eNB_INITIAL_DISTRIBUTION>
<GRID_eNB_DISTRIBUTION>
<NUMBER_OF_GRID_X>'.nospace($_POST['gridx']).'</NUMBER_OF_GRID_X>
<NUMBER_OF_GRID_Y>'.nospace($_POST['gridy']).'</NUMBER_OF_GRID_Y>
</GRID_eNB_DISTRIBUTION>';
}
if ( $_POST['eNB_initial_distribution'] == 'hexagonal' ) {
$eNB_INITIAL_DISTRIBUTION =
'<eNB_INITIAL_DISTRIBUTION>hexagonal</eNB_INITIAL_DISTRIBUTION>
<HEXAGONAL_eNB_DISTRIBUTION>
<NUMBER_OF_CELLS>'.nospace($_POST['hexanbcells']).'</NUMBER_OF_CELLS>
<INTER_eNB_DISTANCE>'.nospace($_POST['interenbdist']).'</INTER_eNB_DISTANCE>
</HEXAGONAL_eNB_DISTRIBUTION>';
}
if ( $_POST['eNB_initial_distribution'] == 'random' ) {
$eNB_INITIAL_DISTRIBUTION =
'<eNB_INITIAL_DISTRIBUTION>random</eNB_INITIAL_DISTRIBUTION>
<RANDOM_eNB_DISTRIBUTION>
<NUMBER_OF_CELLS>'.nospace($_POST['nbenbs']).'</NUMBER_OF_CELLS>
</RANDOM_eNB_DISTRIBUTION>';
}
//
// TRAFFIC - PACKET SIZE
//
if ( $_POST['pktsize'] == 'fixed' ) {
$PACKET_SIZE =
'<PACKET_SIZE>fixed</PACKET_SIZE>
<FIXED_PACKET_SIZE>
<FIXED_VALUE>'.nospace($_POST['pktsizefixed']).'</FIXED_VALUE>
</FIXED_PACKET_SIZE>';
}
if ( $_POST['pktsize'] == 'uniform' ) {
$PACKET_SIZE =
'<PACKET_SIZE>uniform</PACKET_SIZE>
<UNIFORM_PACKET_SIZE>
<MIN_VALUE>'.nospace($_POST['pktsizeunimin']).'</MIN_VALUE>
<MAX_VALUE>'.nospace($_POST['pktsizeunimax']).'</MAX_VALUE>
</UNIFORM_PACKET_SIZE>';
}
//
// INTER ARRIVAL TIME
//
if ( $_POST['interarrivtime'] == 'fixed' ) {
$INTER_ARRIVAL_TIME =
'<INTER_ARRIVAL_TIME>fixed</INTER_ARRIVAL_TIME>
<FIXED_INTER_ARRIVAL_TIME>
<FIXED_VALUE>'.nospace($_POST['intarrtimefixed']).'</FIXED_VALUE>
</FIXED_INTER_ARRIVAL_TIME>';
}
if ( $_POST['interarrivtime'] == 'uniform' ) {
$INTER_ARRIVAL_TIME =
'<INTER_ARRIVAL_TIME>uniform</INTER_ARRIVAL_TIME>
<UNIFORM_INTER_ARRIVAL_TIME>
<MIN_VALUE>'.nospace($_POST['intarrtimeunimin']).'</MIN_VALUE>
<MAX_VALUE>'.nospace($_POST['intarrtimeunimax']).'</MAX_VALUE>
</UNIFORM_INTER_ARRIVAL_TIME>';
}
if ( $_POST['interarrivtime'] == 'poisson' ) {
$INTER_ARRIVAL_TIME =
'<INTER_ARRIVAL_TIME>poisson</INTER_ARRIVAL_TIME>
<POISSON_INTER_ARRIVAL_TIME>
<EXPECTED_INTER_ARRIVAL_TIME>'.nospace($_POST['intarrtimepoisson']).'</EXPECTED_INTER_ARRIVAL_TIME>
</POISSON_INTER_ARRIVAL_TIME>';
}
//
// RANDOM SEED
//
if ( $_POST['randomseed'] == 'random' ) {
$RANDOM_SEED =
'<SEED>random</SEED>';
}
if ( $_POST['randomseed'] == 'userspecified' ) {
$RANDOM_SEED =
'<SEED>user_specified</SEED>
<USER_SEED>
<SEED_VALUE>'.nospace($_POST['seedvalue']).'</SEED_VALUE>
</USER_SEED>';
}
*/
?>