21#ifndef LTE_TEST_RADIO_LINK_FAILURE_H
22#define LTE_TEST_RADIO_LINK_FAILURE_H
26#include <ns3/nstime.h>
27#include <ns3/node-container.h>
28#include <ns3/net-device-container.h>
29#include <ns3/vector.h>
30#include <ns3/lte-ue-rrc.h>
76 std::vector<Vector> uePositionList, std::vector<Vector> enbPositionList,
77 Vector ueJumpAwayPosition, std::vector<Time> checkConnectedList);
94 virtual void DoRun ();
128 uint16_t cellId, uint16_t rnti,
139 uint16_t cellId, uint16_t rnti);
149 uint16_t cellId, uint16_t rnti);
159 uint16_t cellId, uint16_t rnti);
171 uint16_t cellId, std::string type, uint8_t count);
187 void JumpAway (Vector UeJumpAwayPositionList);
Testing the cell reselection procedure by UE at IDLE state.
uint32_t m_numOfInSyncIndications
number of in-sync indications detected
bool m_radioLinkFailureDetected
true if radio link fails
void JumpAway(Vector UeJumpAwayPositionList)
Jump away function.
void PhySyncDetectionCallback(std::string context, uint64_t imsi, uint16_t rnti, uint16_t cellId, std::string type, uint8_t count)
This callback function is executed when UE RRC receives an in-sync or out-of-sync indication.
void CheckIdle(Ptr< NetDevice > ueDevice, NetDeviceContainer enbDevices)
Check if the UE is in idle state.
void RadioLinkFailureCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti)
This callback function is executed when radio link failure is detected.
uint32_t m_numEnbs
number of eNodeBs
bool m_isIdealRrc
whether the LTE is configured to use ideal RRC
bool CheckUeExistAtEnb(uint16_t rnti, Ptr< NetDevice > enbDevice)
Check if the UE exist at the eNB.
void ConnectionReleaseAtEnbCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti)
This callback function is executed when UE context is removed at eNodeB.
std::vector< Vector > m_enbPositionList
Position of the eNodeBs.
void CheckConnected(Ptr< NetDevice > ueDevice, NetDeviceContainer enbDevices)
Check connected function.
Vector m_ueJumpAwayPosition
Position where the UE(s) would jump.
Ptr< MobilityModel > m_ueMobility
UE mobility model.
LteRadioLinkFailureTestCase(uint32_t numEnbs, uint32_t numUes, Time simTime, bool isIdealRrc, std::vector< Vector > uePositionList, std::vector< Vector > enbPositionList, Vector ueJumpAwayPosition, std::vector< Time > checkConnectedList)
Creates an instance of the radio link failure test case.
std::vector< Vector > m_uePositionList
Position of the UEs.
LteUeRrc::State m_lastState
The current UE RRC state.
std::vector< Time > m_checkConnectedList
the time at which UEs should have an active RRC connection
std::string BuildNameString(uint32_t numEnbs, uint32_t numUes, bool isIdealRrc)
Builds the test name string based on provided parameter values.
Time m_simTime
simulation time
void ConnectionEstablishedEnbCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti)
Connection established at eNodeB callback function.
void UeStateTransitionCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti, LteUeRrc::State oldState, LteUeRrc::State newState)
State transition callback function.
void ConnectionEstablishedUeCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti)
Connection established at UE callback function.
uint32_t m_numUes
number of UEs
virtual ~LteRadioLinkFailureTestCase()
uint32_t m_numOfOutOfSyncIndications
number of out-of-sync indications detected
virtual void DoRun()
Setup the simulation according to the configuration set by the class constructor, run it,...
LteRadioLinkFailureTestSuite()
The LteUeNetDevice class implements the UE net device.
State
The states of the UE RRC entity.
holds a vector of ns3::NetDevice pointers
Simulation virtual time values and global simulation resolution.
Every class exported by the ns3 library is enclosed in the ns3 namespace.