Note:
- This oai has applied the patches provided by Open-cells, including patches for EPC and basic-simulators
- The ansic eNB(openairinterface) and EPC(openair-cn) are different versions, the 2 versions are conflict.
Compiler first the eNB with:
(if you have installed ans1c during the installation of epc, run this uniquely for eNB's ans1c version:
tools/build_helper install_asn1c_from_source )
#source oaienv #./cmake_targets/build_oai --eNB -x -w USRP -t ETHERNET --> auto run eNB script auto_start_enb
then apply the patch for EPC
cd opencell-mods git apply
Then reinstall & compiler EPC
hss ... mme ... spgw ..
The gateway should be reconfigured in SPGW in this file "/usr/local/etc/oai/spgw.conf" change the gateway as your NIC --> auto run EPC script
II Basic simulator Find the README here: targets/ARCH/tcp_bridge/README.tcp_bridge_oai PS. do not need to " cd ../common/utils/T/tracer; make", which is for debug As we used the version of Opencells, we do not configure for export ENODEB=1, but
eg., UE, connecting with eNB IP export TCPBRIDGE=127.0.0.1
- Replace the "tcp_bridge_oai.c" file by the patch provided by Opencells:
./targets/ARCH/tcp_bridge/tcp_bridge_oai.c
Compile & install basic-simulator with dependencies:
./build_aoi --basic-simulator -I
This will generate 2 different projects for simulators, one for eNB, one for UE, under: cmake_targets/basic_simulator
for UE simulator: The UE conf file is here:
cp ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf ~ --> remember to configure it for the UE in EPC's database (eg. ) and then use conf2uedata to compile new sim carte, eg (run this under the .../cmake_targets/basic_simulator/ue ):
../../../targets/bin/conf2uedata -c ~/ue_systemX.conf -o . export TCPBRIDGE= sudo -E ./lte-uesoftmodem -C 2680000000 -r 25
for eNB simultator:
export TCPBRIDGE=eNB cd cmake_targets/basic_simulator/enb (this one changes the link which connects with eNB program) sudo -E ./lte-softmodem -O ../../../conf/enb.band7.tm1.25PRB.usrpb210.conf
$git clone https://github.com/edenhill/librdkafka.git ./congirue ./make sudo make install
$git clone https://github.com/kikos-kikikos/jsmn.git ./make sudo make install
metrics list:
- The metrics started by "m_" is generated by agent for easing the monitoring.
eNodeB metrics:
m_enb_id* /*eNodeB Id */
m_timestamp_nano //timestamp
ue_nums //ue counter
UE metrics:
m_id; //UE id generated by monitoring agent
crnti; ///user id (rnti) of connected UEs
rrc_status; // rrc status
harq_pid; // harq pid
harq_round; // harq rounf
rbs_used; // total available number of PRBs for a new transmission
rbs_used_retx; // total available number of PRBs for a retransmission
ncce_used; // total nccc used for a new transmission: num control channel element
ncce_used_retx; // total avilable nccc for a retransmission: num control channel element
dlsch_mcs1; // mcs1 before the rate adaptaion
dlsch_mcs2; /// Target mcs2 after rate-adaptation
TBS; // current TBS with mcs2
total_rbs_used; // total rb used for a new transmission
total_rbs_used_retx; // total rb used for retransmission
num_pdu_tx; // TX num pkt
num_bytes_tx; // TX num bytes
num_retransmission; // num retransmission / harq
num_mac_sdu_tx; // Number of received MAC SDU
sdu_length_tx; // Length of SDU Got from LC DL
dlsch_bitrate;
total_dlsch_bitrate;
overhead_bytes; /// headers+ CE + padding bytes for a MAC PDU
total_overhead_bytes; /// headers+ CE + padding bytes for a MAC PDU
avg_overhead_bytes; /// headers+ CE + padding bytes for a MAC PDU
total_sdu_bytes; // MAC multiplexed payload
total_pdu_bytes; // total MAC pdu bytes
total_num_pdus; // total num pdu
Po_PUCCH_dBm; // RX PUCCH1a/b power (dBm)
Po_PUCCH_update; /// Indicator that Po_PUCCH has been updated by PHY
UL_rssi; /// Uplink measured RSSI
ulsch_mcs1; /// preassigned mcs after rate adaptation
ulsch_mcs2; /// adjusted mcs
avg_pdu_idt; /// estimated average pdu inter-departure time
avg_pdu_ps; /// estimated average pdu size
aggregated_pdu_size;
aggregated_pdu_arrival;
ulsch_TBS; /// uplink transport block size
total_ulsch_TBS;
num_retransmission_rx; /// total rb used for a new uplink transmission
rbs_used_rx; /// total rb used for a new uplink transmission
rbs_used_retx_rx; /// total rb used for a new uplink retransmission
total_rbs_used_rx; /// total rb used for a new uplink transmission
normalized_rx_power; /// normalized rx power
target_rx_power; /// target rx power
num_pdu_rx; /// num rx pdu
num_bytes_rx; /// num bytes rx
num_errors_rx; /// errors
overhead_bytes_rx;
total_overhead_bytes_rx; /// headers+ CE + padding bytes for a MAC PDU
avg_overhead_bytes_rx; /// headers+ CE + padding bytes for a MAC PDU
ulsch_bitrate;
total_ulsch_bitrate;
pdu_bytes_rx; /// MAC pdu bytes
total_pdu_bytes_rx; /// total MAC pdu bytes
total_num_pdus_rx; /// total num pdutotal_num_errors_rx; /// num of error pdus
num_mac_sdu_rx; // Number of error PDUS
sdu_length_rx; // Length of SDU Got from LC UL - Size array can be refined
cqi_received; // indicator that CQI was received on PUSCH when requested
dl_cqi;