#include <lte-enb-rrc.h>
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
virtual void | DoDispose () |
virtual void | DoInitialize () |
![]() | |
Object (const Object &o) | |
virtual void | NotifyNewAggregate (void) |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
Private Member Functions | |
uint8_t | AddDataRadioBearerInfo (Ptr< LteDataRadioBearerInfo > radioBearerInfo) |
uint8_t | Bid2Drbid (uint8_t bid) |
uint8_t | Bid2Lcid (uint8_t bid) |
LteRrcSap::MeasConfig | BuildMeasConfig () |
LteRrcSap::RadioResourceConfigDedicated | BuildRadioResourceConfigDedicated () |
LteRrcSap::RrcConnectionReconfiguration | BuildRrcConnectionReconfiguration () |
uint8_t | Drbid2Bid (uint8_t drbid) |
uint8_t | Drbid2Lcid (uint8_t drbid) |
Ptr< LteDataRadioBearerInfo > | GetDataRadioBearerInfo (uint8_t drbid) |
uint8_t | GetNewRrcTransactionIdentifier () |
uint8_t | Lcid2Bid (uint8_t lcid) |
uint8_t | Lcid2Drbid (uint8_t lcid) |
void | RemoveDataRadioBearerInfo (uint8_t drbid) |
void | SwitchToState (State s) |
Private Attributes | |
EventId | m_connectionRejectedTimeout |
EventId | m_connectionTimeout |
std::map< uint8_t, Ptr < LteDataRadioBearerInfo > > | m_drbMap |
LtePdcpSapUser * | m_drbPdcpSapUser |
std::list< uint8_t > | m_drbsToBeStarted |
EventId | m_handoverJoiningTimeout |
EventId | m_handoverLeavingTimeout |
uint64_t | m_imsi |
uint8_t | m_lastAllocatedDrbid |
uint8_t | m_lastRrcTransactionIdentifier |
bool | m_needTransmissionModeConfiguration |
std::map< uint16_t, Ptr < UeMeasure > > | m_neighbourCellMeasures |
bool | m_pendingRrcConnectionReconfiguration |
LteRrcSap::PhysicalConfigDedicated | m_physicalConfigDedicated |
uint16_t | m_rnti |
Ptr< LteEnbRrc > | m_rrc |
Ptr< UeMeasure > | m_servingCellMeasures |
uint16_t | m_sourceCellId |
uint16_t | m_sourceX2apId |
Ptr< LteSignalingRadioBearerInfo > | m_srb0 |
Ptr< LteSignalingRadioBearerInfo > | m_srb1 |
State | m_state |
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > | m_stateTransitionTrace |
uint16_t | m_targetCellId |
Friends | |
class | LtePdcpSpecificLtePdcpSapUser< UeManager > |
Manages all the radio bearer information possessed by the ENB RRC for a single UE
ns3::UeManager is accessible through the following paths with Config::Set and Config::Connect:
Definition at line 85 of file lte-enb-rrc.h.
The state of the UeManager at the eNB RRC
Definition at line 96 of file lte-enb-rrc.h.
ns3::UeManager::UeManager | ( | ) |
Definition at line 127 of file lte-enb-rrc.cc.
References NS_FATAL_ERROR.
UeManager constructor
rrc | pointer to the LteEnbRrc holding this UeManager |
rnti | RNTI of the UE |
s | initial state of the UeManager |
Definition at line 133 of file lte-enb-rrc.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 268 of file lte-enb-rrc.cc.
|
private |
Add a new LteDataRadioBearerInfo structure to the UeManager
radioBearerInfo |
Definition at line 1145 of file lte-enb-rrc.cc.
References m_drbMap, m_lastAllocatedDrbid, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by SetupDataRadioBearer().
|
private |
bid | an EPS Bearer Identifier |
Definition at line 1339 of file lte-enb-rrc.cc.
Referenced by SendData().
|
private |
bid | an EPS Bearer Identifier |
Definition at line 1327 of file lte-enb-rrc.cc.
Referenced by SendData().
|
private |
Definition at line 1204 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::MeasObjectEutra::allowedMeasBandwidth, ns3::LteRrcSap::MeasObjectEutra::carrierFreq, ns3::LteRrcSap::ThresholdEutra::choice, ns3::LteRrcSap::ReportConfigEutra::EVENT, ns3::LteRrcSap::ReportConfigEutra::EVENT_A2, ns3::LteRrcSap::ReportConfigEutra::EVENT_A4, ns3::LteRrcSap::ReportConfigEutra::eventId, ns3::LteRrcSap::QuantityConfig::filterCoefficientRSRP, ns3::LteRrcSap::QuantityConfig::filterCoefficientRSRQ, ns3::LteRrcSap::MeasObjectEutra::haveCellForWhichToReportCGI, ns3::LteRrcSap::MeasConfig::haveMeasGapConfig, ns3::LteRrcSap::MeasConfig::haveQuantityConfig, ns3::LteRrcSap::MeasConfig::haveSmeasure, ns3::LteRrcSap::MeasConfig::haveSpeedStatePars, ns3::LteRrcSap::ReportConfigEutra::hysteresis, m_rrc, ns3::LteRrcSap::MaxReportCells, ns3::LteRrcSap::ReportConfigEutra::maxReportCells, ns3::LteRrcSap::MeasIdToAddMod::measId, ns3::LteRrcSap::MeasConfig::measIdToAddModList, ns3::LteRrcSap::MeasObjectToAddMod::measObjectEutra, ns3::LteRrcSap::MeasObjectToAddMod::measObjectId, ns3::LteRrcSap::MeasIdToAddMod::measObjectId, ns3::LteRrcSap::MeasConfig::measObjectToAddModList, ns3::LteRrcSap::ReportConfigEutra::MS480, ns3::LteRrcSap::MeasObjectEutra::neighCellConfig, ns3::LteRrcSap::MeasObjectEutra::offsetFreq, ns3::LteRrcSap::MeasObjectEutra::presenceAntennaPort1, ns3::LteRrcSap::MeasConfig::quantityConfig, ns3::LteRrcSap::ThresholdEutra::range, ns3::LteRrcSap::ReportConfigEutra::reportAmount, ns3::LteRrcSap::ReportConfigToAddMod::reportConfigEutra, ns3::LteRrcSap::ReportConfigToAddMod::reportConfigId, ns3::LteRrcSap::MeasIdToAddMod::reportConfigId, ns3::LteRrcSap::MeasConfig::reportConfigToAddModList, ns3::LteRrcSap::ReportConfigEutra::reportInterval, ns3::LteRrcSap::ReportConfigEutra::reportQuantity, ns3::LteRrcSap::ReportConfigEutra::RSRQ, ns3::LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY, ns3::LteRrcSap::ReportConfigEutra::threshold1, ns3::LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ, ns3::LteRrcSap::ReportConfigEutra::timeToTrigger, ns3::LteRrcSap::ReportConfigEutra::triggerQuantity, and ns3::LteRrcSap::ReportConfigEutra::triggerType.
Referenced by BuildRrcConnectionReconfiguration(), and PrepareHandover().
|
private |
Definition at line 1271 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::DrbToAddMod::drbIdentity, ns3::LteRrcSap::RadioResourceConfigDedicated::drbToAddModList, ns3::LteRrcSap::DrbToAddMod::epsBearerIdentity, ns3::LteRrcSap::RadioResourceConfigDedicated::havePhysicalConfigDedicated, ns3::LteRrcSap::SrbToAddMod::logicalChannelConfig, ns3::LteRrcSap::DrbToAddMod::logicalChannelConfig, ns3::LteRrcSap::DrbToAddMod::logicalChannelIdentity, m_drbMap, m_physicalConfigDedicated, m_srb1, ns3::LteRrcSap::RadioResourceConfigDedicated::physicalConfigDedicated, ns3::LteRrcSap::DrbToAddMod::rlcConfig, ns3::LteRrcSap::SrbToAddMod::srbIdentity, and ns3::LteRrcSap::RadioResourceConfigDedicated::srbToAddModList.
Referenced by BuildRrcConnectionReconfiguration(), GetRadioResourceConfigForHandoverPreparationInfo(), RecvRrcConnectionReestablishmentRequest(), and RecvRrcConnectionRequest().
|
private |
Definition at line 1190 of file lte-enb-rrc.cc.
References BuildMeasConfig(), BuildRadioResourceConfigDedicated(), GetNewRrcTransactionIdentifier(), ns3::LteRrcSap::RrcConnectionReconfiguration::haveMeasConfig, ns3::LteRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, ns3::LteRrcSap::RrcConnectionReconfiguration::haveRadioResourceConfigDedicated, ns3::LteRrcSap::RrcConnectionReconfiguration::measConfig, ns3::LteRrcSap::RrcConnectionReconfiguration::radioResourceConfigDedicated, and ns3::LteRrcSap::RrcConnectionReconfiguration::rrcTransactionIdentifier.
Referenced by GetRrcConnectionReconfigurationForHandover(), and ScheduleRrcConnectionReconfiguration().
void ns3::UeManager::CmacUeConfigUpdateInd | ( | LteEnbCmacSapUser::UeConfig | cmacParams | ) |
Definition at line 1069 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::PhysicalConfigDedicated::antennaInfo, m_needTransmissionModeConfiguration, m_physicalConfigDedicated, m_rnti, ns3::LteEnbCmacSapUser::UeConfig::m_transmissionMode, NS_LOG_FUNCTION, ScheduleRrcConnectionReconfiguration(), and ns3::LteRrcSap::AntennaInfoDedicated::transmissionMode.
void ns3::UeManager::CompleteSetupUe | ( | LteEnbRrcSapProvider::CompleteSetupUeParameters | params | ) |
Definition at line 768 of file lte-enb-rrc.cc.
References m_srb0, m_srb1, NS_LOG_FUNCTION, ns3::LteEnbRrcSapProvider::CompleteSetupUeParameters::srb0SapUser, and ns3::LteEnbRrcSapProvider::CompleteSetupUeParameters::srb1SapUser.
|
protectedvirtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.
It is safe to call GetObject from within this method.
Reimplemented from ns3::Object.
Definition at line 273 of file lte-enb-rrc.cc.
References m_drbMap, m_drbPdcpSapUser, m_rrc, and m_servingCellMeasures.
|
protectedvirtual |
This method is called only once by Object::Initialize. If the user calls Object::Initialize multiple times, DoInitialize is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject and AggregateObject from within this method.
Reimplemented from ns3::Object.
Definition at line 149 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::PhysicalConfigDedicated::antennaInfo, ns3::LteEnbRrc::ConnectionTimeout(), ns3::EpsBearer::GBR_CONV_VOICE, ns3::LteEnbCmacSapProvider::LcInfo::gbrDl, ns3::LteEnbCmacSapProvider::LcInfo::gbrUl, HANDOVER_JOINING, ns3::LteEnbRrc::HandoverJoiningTimeout(), ns3::LteRrcSap::PhysicalConfigDedicated::haveAntennaInfoDedicated, ns3::LteRrcSap::PhysicalConfigDedicated::haveSoundingRsUlConfigDedicated, INITIAL_RANDOM_ACCESS, ns3::LteEnbCmacSapProvider::LcInfo::isGbr, ns3::LteEnbCmacSapProvider::LcInfo::lcGroup, ns3::LteEnbCmacSapProvider::LcInfo::lcId, m_connectionTimeout, m_drbPdcpSapUser, m_handoverJoiningTimeout, m_physicalConfigDedicated, ns3::LteEnbCmacSapProvider::UeConfig::m_rnti, m_rnti, m_rrc, m_servingCellMeasures, m_srb0, m_srb1, m_state, ns3::LteEnbCmacSapProvider::UeConfig::m_transmissionMode, ns3::LteEnbCmacSapProvider::LcInfo::mbrDl, ns3::LteEnbCmacSapProvider::LcInfo::mbrUl, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::LteEnbCmacSapProvider::LcInfo::qci, ns3::LteEnbCmacSapProvider::LcInfo::rnti, ns3::Simulator::Schedule(), ns3::LteRrcSap::SoundingRsUlConfigDedicated::SETUP, ns3::LteRrcSap::PhysicalConfigDedicated::soundingRsUlConfigDedicated, ns3::LteEnbRrcSapUser::SetupUeParameters::srb0SapProvider, ns3::LteEnbRrcSapUser::SetupUeParameters::srb1SapProvider, ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsBandwidth, ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex, ns3::ToString(), ns3::LteRrcSap::AntennaInfoDedicated::transmissionMode, and ns3::LteRrcSap::SoundingRsUlConfigDedicated::type.
void ns3::UeManager::DoReceivePdcpSdu | ( | LtePdcpSapUser::ReceivePdcpSduParameters | params | ) |
Definition at line 1086 of file lte-enb-rrc.cc.
References ns3::Packet::AddPacketTag(), ns3::LtePdcpSapUser::ReceivePdcpSduParameters::lcid, Lcid2Bid(), m_rrc, NS_LOG_FUNCTION, ns3::LtePdcpSapUser::ReceivePdcpSduParameters::pdcpSdu, ns3::LtePdcpSapUser::ReceivePdcpSduParameters::rnti, ns3::EpsBearerTag::SetBid(), and ns3::EpsBearerTag::SetRnti().
|
private |
drbid | Data Radio Bearer Id |
Definition at line 1333 of file lte-enb-rrc.cc.
Referenced by SetupDataRadioBearer().
|
private |
drbid | a Data Radio Bearer Id |
Definition at line 1315 of file lte-enb-rrc.cc.
Referenced by ReleaseDataRadioBearer(), and SetupDataRadioBearer().
|
private |
drbid | the Data Radio Bearer id |
Definition at line 1169 of file lte-enb-rrc.cc.
References m_drbMap, NS_ABORT_IF, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by SendData().
std::vector< EpcX2Sap::ErabToBeSetupItem > ns3::UeManager::GetErabList | ( | ) |
Definition at line 677 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::ErabToBeSetupItem::dlForwarding, ns3::EpcX2Sap::ErabToBeSetupItem::erabId, ns3::EpcX2Sap::ErabToBeSetupItem::erabLevelQosParameters, ns3::EpcX2Sap::ErabToBeSetupItem::gtpTeid, m_drbMap, NS_LOG_FUNCTION, and ns3::EpcX2Sap::ErabToBeSetupItem::transportLayerAddress.
Referenced by PrepareHandover().
uint64_t ns3::UeManager::GetImsi | ( | void | ) |
Definition at line 1108 of file lte-enb-rrc.cc.
References m_imsi.
Referenced by ns3::LteStatsCalculator::FindImsiFromEnbRlcPath().
|
private |
Definition at line 1302 of file lte-enb-rrc.cc.
References m_lastRrcTransactionIdentifier.
Referenced by BuildRrcConnectionReconfiguration(), RecvRrcConnectionReestablishmentRequest(), and RecvRrcConnectionRequest().
LteRrcSap::RadioResourceConfigDedicated ns3::UeManager::GetRadioResourceConfigForHandoverPreparationInfo | ( | ) |
Definition at line 614 of file lte-enb-rrc.cc.
References BuildRadioResourceConfigDedicated(), and NS_LOG_FUNCTION.
Referenced by PrepareHandover().
uint16_t ns3::UeManager::GetRnti | ( | void | ) |
Definition at line 1102 of file lte-enb-rrc.cc.
References m_rnti.
LteRrcSap::RrcConnectionReconfiguration ns3::UeManager::GetRrcConnectionReconfigurationForHandover | ( | ) |
Definition at line 621 of file lte-enb-rrc.cc.
References BuildRrcConnectionReconfiguration(), and NS_LOG_FUNCTION.
uint16_t ns3::UeManager::GetSrsConfigurationIndex | ( | void | ) |
Definition at line 1114 of file lte-enb-rrc.cc.
References m_physicalConfigDedicated, ns3::LteRrcSap::PhysicalConfigDedicated::soundingRsUlConfigDedicated, and ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex.
UeManager::State ns3::UeManager::GetState | ( | void | ) |
|
static |
Definition at line 287 of file lte-enb-rrc.cc.
References ns3::TypeId::ATTR_GET, m_drbMap, m_rnti, m_srb0, m_srb1, m_stateTransitionTrace, ns3::MakeObjectMapAccessor(), ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
|
private |
lcid | a Logical Channel Identifier |
Definition at line 1320 of file lte-enb-rrc.cc.
References NS_ASSERT.
Referenced by DoReceivePdcpSdu().
|
private |
lcid | a Logical Channel Identifier |
Definition at line 1308 of file lte-enb-rrc.cc.
References NS_ASSERT.
void ns3::UeManager::PrepareHandover | ( | uint16_t | cellId | ) |
Start the handover preparation and send the handover request
cellId | id of the target cell |
Definition at line 511 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::HandoverPreparationInfo::asConfig, ns3::EpcX2Sap::HandoverRequestParams::bearers, BuildMeasConfig(), ns3::EpcX2Sap::HandoverRequestParams::cause, ns3::LteRrcSap::SystemInformationBlockType1::cellAccessRelatedInfo, ns3::LteRrcSap::CellAccessRelatedInfo::cellIdentity, CONNECTED_NORMALLY, ns3::LteRrcSap::CellAccessRelatedInfo::csgIdentity, ns3::LteRrcSap::CellAccessRelatedInfo::csgIndication, ns3::LteRrcSap::MasterInformationBlock::dlBandwidth, ns3::LteRrcSap::SystemInformationBlockType2::freqInfo, GetErabList(), GetRadioResourceConfigForHandoverPreparationInfo(), HANDOVER_PREPARATION, ns3::EpcX2Sap::HandoverDesirableForRadioReason, m_imsi, m_rnti, m_rrc, m_state, m_targetCellId, ns3::EpcX2Sap::HandoverRequestParams::mmeUeS1apId, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::LteEnbCmacSapProvider::RachConfig::numberOfRaPreambles, ns3::LteRrcSap::PreambleInfo::numberOfRaPreambles, ns3::EpcX2Sap::HandoverRequestParams::oldEnbUeX2apId, ns3::LteRrcSap::PlmnIdentityInfo::plmnIdentity, ns3::LteRrcSap::CellAccessRelatedInfo::plmnIdentityInfo, ns3::LteRrcSap::RachConfigCommon::preambleInfo, ns3::LteEnbCmacSapProvider::RachConfig::preambleTransMax, ns3::LteRrcSap::RaSupervisionInfo::preambleTransMax, ns3::LteRrcSap::RadioResourceConfigCommonSib::rachConfigCommon, ns3::LteRrcSap::SystemInformationBlockType2::radioResourceConfigCommon, ns3::LteEnbCmacSapProvider::RachConfig::raResponseWindowSize, ns3::LteRrcSap::RaSupervisionInfo::raResponseWindowSize, ns3::LteRrcSap::RachConfigCommon::raSupervisionInfo, ns3::EpcX2Sap::HandoverRequestParams::rrcContext, ns3::EpcX2Sap::HandoverRequestParams::sourceCellId, ns3::LteRrcSap::AsConfig::sourceDlCarrierFreq, ns3::LteRrcSap::AsConfig::sourceMasterInformationBlock, ns3::LteRrcSap::AsConfig::sourceMeasConfig, ns3::LteRrcSap::AsConfig::sourceRadioResourceConfig, ns3::LteRrcSap::AsConfig::sourceSystemInformationBlockType1, ns3::LteRrcSap::AsConfig::sourceSystemInformationBlockType2, ns3::LteRrcSap::AsConfig::sourceUeIdentity, SwitchToState(), ns3::LteRrcSap::MasterInformationBlock::systemFrameNumber, ns3::EpcX2Sap::HandoverRequestParams::targetCellId, ns3::ToString(), ns3::EpcX2Sap::HandoverRequestParams::ueAggregateMaxBitRateDownlink, ns3::EpcX2Sap::HandoverRequestParams::ueAggregateMaxBitRateUplink, ns3::LteRrcSap::FreqInfo::ulBandwidth, and ns3::LteRrcSap::FreqInfo::ulCarrierFreq.
Referenced by RecvMeasurementReport().
void ns3::UeManager::RecordDataRadioBearersToBeStarted | ( | ) |
Start all configured data radio bearers. It is safe to call this method if any bearer had been already started previously.
Definition at line 420 of file lte-enb-rrc.cc.
References m_drbMap, m_drbsToBeStarted, m_rnti, and NS_LOG_FUNCTION.
Referenced by RecvRrcConnectionRequest(), and ScheduleRrcConnectionReconfiguration().
void ns3::UeManager::RecvHandoverPreparationFailure | ( | uint16_t | cellId | ) |
Take the necessary actions in response to the reception of an X2 HO preparation failure message
cellId | id of the target cell |
Definition at line 720 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, HANDOVER_PREPARATION, m_state, m_targetCellId, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, SwitchToState(), and ns3::ToString().
void ns3::UeManager::RecvHandoverRequestAck | ( | EpcX2SapUser::HandoverRequestAckParams | params | ) |
take the necessary actions in response to the reception of an X2 HANDOVER REQUEST ACK message
params |
Definition at line 567 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::HandoverRequestAckParams::admittedBearers, ns3::EpcX2Sap::ErabsSubjectToStatusTransferItem::dlPdcpSn, ns3::EpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, HANDOVER_LEAVING, ns3::LteEnbRrc::HandoverLeavingTimeout(), ns3::LteRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, m_drbMap, m_handoverLeavingTimeout, m_imsi, m_rnti, m_rrc, ns3::LteRrcSap::RrcConnectionReconfiguration::mobilityControlInfo, ns3::EpcX2Sap::HandoverRequestAckParams::newEnbUeX2apId, ns3::EpcX2Sap::SnStatusTransferParams::newEnbUeX2apId, ns3::EpcX2Sap::HandoverRequestAckParams::notAdmittedBearers, NS_ASSERT, NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::EpcX2Sap::HandoverRequestAckParams::oldEnbUeX2apId, ns3::EpcX2Sap::SnStatusTransferParams::oldEnbUeX2apId, ns3::EpcX2Sap::HandoverRequestAckParams::rrcContext, ns3::LtePdcp::Status::rxSn, ns3::Simulator::Schedule(), ns3::EpcX2Sap::HandoverRequestAckParams::sourceCellId, ns3::EpcX2Sap::SnStatusTransferParams::sourceCellId, SwitchToState(), ns3::EpcX2Sap::HandoverRequestAckParams::targetCellId, ns3::EpcX2Sap::SnStatusTransferParams::targetCellId, ns3::LteRrcSap::MobilityControlInfo::targetPhysCellId, ns3::LtePdcp::Status::txSn, and ns3::EpcX2Sap::ErabsSubjectToStatusTransferItem::ulPdcpSn.
void ns3::UeManager::RecvMeasurementReport | ( | LteRrcSap::MeasurementReport | msg | ) |
Event A2 (Serving becomes worse than threshold)
Event A4 (Neighbour becomes better than threshold)
Definition at line 927 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, ns3::LteRrcSap::MeasResults::haveMeasResultNeighCells, m_imsi, m_neighbourCellMeasures, m_rnti, m_rrc, m_servingCellMeasures, m_state, ns3::LteRrcSap::MeasResults::measId, ns3::LteRrcSap::MeasResults::measResultListEutra, ns3::LteRrcSap::MeasurementReport::measResults, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, PrepareHandover(), ns3::LteRrcSap::MeasResults::rsrpResult, and ns3::LteRrcSap::MeasResults::rsrqResult.
void ns3::UeManager::RecvRrcConnectionReconfigurationCompleted | ( | LteRrcSap::RrcConnectionReconfigurationCompleted | msg | ) |
Definition at line 838 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::PhysicalConfigDedicated::antennaInfo, ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::bearersToBeSwitched, ns3::EventId::Cancel(), ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::cellId, CONNECTED_NORMALLY, CONNECTION_RECONFIGURATION, ns3::EpcEnbS1SapProvider::BearerToBeSwitched::epsBearerId, HANDOVER_JOINING, HANDOVER_LEAVING, HANDOVER_PATH_SWITCH, m_drbMap, m_handoverJoiningTimeout, m_imsi, m_needTransmissionModeConfiguration, m_physicalConfigDedicated, ns3::LteEnbCmacSapProvider::UeConfig::m_rnti, m_rnti, m_rrc, m_state, ns3::LteEnbCmacSapProvider::UeConfig::m_transmissionMode, ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::mmeUeS1Id, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::rnti, StartDataRadioBearers(), SwitchToState(), ns3::EpcEnbS1SapProvider::BearerToBeSwitched::teid, ns3::ToString(), and ns3::LteRrcSap::AntennaInfoDedicated::transmissionMode.
void ns3::UeManager::RecvRrcConnectionReestablishmentComplete | ( | LteRrcSap::RrcConnectionReestablishmentComplete | msg | ) |
Definition at line 920 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, NS_LOG_FUNCTION, and SwitchToState().
void ns3::UeManager::RecvRrcConnectionReestablishmentRequest | ( | LteRrcSap::RrcConnectionReestablishmentRequest | msg | ) |
Definition at line 895 of file lte-enb-rrc.cc.
References BuildRadioResourceConfigDedicated(), ns3::EventId::Cancel(), CONNECTED_NORMALLY, CONNECTION_REESTABLISHMENT, GetNewRrcTransactionIdentifier(), HANDOVER_LEAVING, m_handoverLeavingTimeout, m_rnti, m_rrc, m_state, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::LteRrcSap::RrcConnectionReestablishment::radioResourceConfigDedicated, ns3::LteRrcSap::RrcConnectionReestablishment::rrcTransactionIdentifier, SwitchToState(), and ns3::ToString().
void ns3::UeManager::RecvRrcConnectionRequest | ( | LteRrcSap::RrcConnectionRequest | msg | ) |
Definition at line 776 of file lte-enb-rrc.cc.
References BuildRadioResourceConfigDedicated(), ns3::EventId::Cancel(), CONNECTION_REJECTED, CONNECTION_SETUP, ns3::LteEnbRrc::ConnectionRejectedTimeout(), GetNewRrcTransactionIdentifier(), INITIAL_RANDOM_ACCESS, m_connectionRejectedTimeout, m_connectionTimeout, m_imsi, m_rnti, m_rrc, m_state, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::LteRrcSap::RrcConnectionSetup::radioResourceConfigDedicated, RecordDataRadioBearersToBeStarted(), ns3::LteRrcSap::RrcConnectionSetup::rrcTransactionIdentifier, ns3::Simulator::Schedule(), SwitchToState(), ns3::ToString(), ns3::LteRrcSap::RrcConnectionRequest::ueIdentity, and ns3::LteRrcSap::RrcConnectionReject::waitTime.
void ns3::UeManager::RecvRrcConnectionSetupCompleted | ( | LteRrcSap::RrcConnectionSetupCompleted | msg | ) |
Definition at line 820 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, CONNECTION_SETUP, m_imsi, m_rnti, m_rrc, m_state, NS_FATAL_ERROR, NS_LOG_FUNCTION, StartDataRadioBearers(), SwitchToState(), and ns3::ToString().
void ns3::UeManager::RecvSnStatusTransfer | ( | EpcX2SapUser::SnStatusTransferParams | params | ) |
Take the necessary actions in response to the reception of an X2 SN STATUS TRANSFER message
params | the SN STATUS |
Definition at line 738 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, and NS_LOG_FUNCTION.
void ns3::UeManager::RecvUeContextRelease | ( | EpcX2SapUser::UeContextReleaseParams | params | ) |
Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message
params | the SN STATUS |
Definition at line 757 of file lte-enb-rrc.cc.
References ns3::EventId::Cancel(), HANDOVER_LEAVING, m_handoverLeavingTimeout, m_state, NS_ASSERT_MSG, NS_LOG_FUNCTION, and ns3::ToString().
void ns3::UeManager::ReleaseDataRadioBearer | ( | uint8_t | drbid | ) |
Release a given radio bearer
drbid | the data radio bearer id of the bearer to be released |
Definition at line 452 of file lte-enb-rrc.cc.
References Drbid2Lcid(), ns3::LteRrcSap::RadioResourceConfigDedicated::drbToReleaseList, ns3::LteRrcSap::RrcConnectionReconfiguration::haveMeasConfig, ns3::LteRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, ns3::LteRrcSap::RadioResourceConfigDedicated::havePhysicalConfigDedicated, m_drbMap, m_rnti, m_rrc, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
|
private |
remove the LteDataRadioBearerInfo corresponding to a bearer being released
drbid | the Data Radio Bearer id |
Definition at line 1180 of file lte-enb-rrc.cc.
References m_drbMap, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
void ns3::UeManager::ScheduleRrcConnectionReconfiguration | ( | ) |
schedule an RRC Connection Reconfiguration procedure with the UE
Definition at line 478 of file lte-enb-rrc.cc.
References BuildRrcConnectionReconfiguration(), CONNECTED_NORMALLY, CONNECTION_RECONFIGURATION, CONNECTION_REESTABLISHMENT, CONNECTION_SETUP, HANDOVER_JOINING, HANDOVER_LEAVING, HANDOVER_PREPARATION, INITIAL_RANDOM_ACCESS, m_pendingRrcConnectionReconfiguration, m_rnti, m_rrc, m_state, NS_FATAL_ERROR, NS_LOG_FUNCTION, RecordDataRadioBearersToBeStarted(), SwitchToState(), and ns3::ToString().
Referenced by CmacUeConfigUpdateInd(), SetSrsConfigurationIndex(), SetupDataRadioBearer(), and SwitchToState().
Send a data packet over the appropriate Data Radio Bearer
bid | the corresponding EPS Bearer ID |
p | the packet |
Definition at line 628 of file lte-enb-rrc.cc.
References Bid2Drbid(), Bid2Lcid(), CONNECTED_NORMALLY, CONNECTION_RECONFIGURATION, CONNECTION_REESTABLISHMENT, CONNECTION_SETUP, GetDataRadioBearerInfo(), ns3::EpcX2Sap::UeDataParams::gtpTeid, HANDOVER_JOINING, HANDOVER_LEAVING, HANDOVER_PATH_SWITCH, HANDOVER_PREPARATION, INITIAL_RANDOM_ACCESS, ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::lcid, m_rnti, m_rrc, m_state, m_targetCellId, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, NS_LOG_WARN, ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::pdcpSdu, ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::rnti, ns3::EpcX2Sap::UeDataParams::sourceCellId, ns3::EpcX2Sap::UeDataParams::targetCellId, ns3::ToString(), ns3::LtePdcpSapProvider::TransmitPdcpSdu(), and ns3::EpcX2Sap::UeDataParams::ueData.
void ns3::UeManager::SendUeContextRelease | ( | ) |
send the UE CONTEXT RELEASE X2 message to the source eNB, thus successfully terminating an X2 handover procedure
Definition at line 697 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, HANDOVER_PATH_SWITCH, m_imsi, m_rnti, m_rrc, m_sourceCellId, m_sourceX2apId, m_state, ns3::EpcX2Sap::UeContextReleaseParams::newEnbUeX2apId, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::EpcX2Sap::UeContextReleaseParams::oldEnbUeX2apId, ns3::EpcX2Sap::UeContextReleaseParams::sourceCellId, SwitchToState(), and ns3::ToString().
void ns3::UeManager::SetImsi | ( | uint64_t | imsi | ) |
Set the IMSI
imsi | the IMSI |
Definition at line 325 of file lte-enb-rrc.cc.
References m_imsi.
void ns3::UeManager::SetSource | ( | uint16_t | sourceCellId, |
uint16_t | sourceX2apId | ||
) |
Set the identifiers of the source eNB for the case where a UE joins the current eNB as part of a handover procedure
sourceCellId | |
sourceX2apId |
Definition at line 318 of file lte-enb-rrc.cc.
References m_sourceCellId, and m_sourceX2apId.
void ns3::UeManager::SetSrsConfigurationIndex | ( | uint16_t | srsConfIndex | ) |
Set the SRS configuration index and do the necessary reconfiguration
srsConfIndex |
Definition at line 1120 of file lte-enb-rrc.cc.
References INITIAL_RANDOM_ACCESS, m_physicalConfigDedicated, m_rnti, m_rrc, m_state, NS_LOG_FUNCTION, ScheduleRrcConnectionReconfiguration(), ns3::LteRrcSap::PhysicalConfigDedicated::soundingRsUlConfigDedicated, and ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex.
void ns3::UeManager::SetupDataRadioBearer | ( | EpsBearer | bearer, |
uint8_t | bearerId, | ||
uint32_t | gtpTeid, | ||
Ipv4Address | transportLayerAddress | ||
) |
Setup a new data radio bearer, including both the configuration within the eNB and the necessary RRC signaling with the UE
bearer | the QoS characteristics of the bearer |
bearerId | the EPS bearer identifier |
gtpTeid | S1-bearer GTP tunnel endpoint identifier, see 36.423 9.2.1 |
transportLayerAddress | IP Address of the SGW, see 36.423 9.2.1 |
Definition at line 331 of file lte-enb-rrc.cc.
References AddDataRadioBearerInfo(), ns3::LteRrcSap::RlcConfig::AM, ns3::ObjectFactory::Create(), ns3::LteEnbRrc::X2uTeidInfo::drbid, Drbid2Bid(), Drbid2Lcid(), ns3::GbrQosInformation::gbrDl, ns3::LteEnbCmacSapProvider::LcInfo::gbrDl, ns3::EpsBearer::gbrQosInfo, ns3::GbrQosInformation::gbrUl, ns3::LteEnbCmacSapProvider::LcInfo::gbrUl, ns3::Object::GetObject(), ns3::LteRlcAm::GetTypeId(), ns3::LteRlcSm::GetTypeId(), HANDOVER_JOINING, ns3::LteEnbCmacSapProvider::LcInfo::isGbr, ns3::EpsBearer::IsGbr(), ns3::LteEnbCmacSapProvider::LcInfo::lcGroup, ns3::LteEnbCmacSapProvider::LcInfo::lcId, m_drbPdcpSapUser, m_rnti, m_rrc, m_state, ns3::GbrQosInformation::mbrDl, ns3::LteEnbCmacSapProvider::LcInfo::mbrDl, ns3::GbrQosInformation::mbrUl, ns3::LteEnbCmacSapProvider::LcInfo::mbrUl, NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::LteEnbCmacSapProvider::LcInfo::qci, ns3::EpsBearer::qci, ns3::LteEnbCmacSapProvider::LcInfo::rnti, ns3::LteEnbRrc::X2uTeidInfo::rnti, ScheduleRrcConnectionReconfiguration(), ns3::ObjectFactory::SetTypeId(), and ns3::LteRrcSap::RlcConfig::UM_BI_DIRECTIONAL.
void ns3::UeManager::StartDataRadioBearers | ( | ) |
Start the data radio bearers that have been previously recorded to be started using RecordDataRadioBearersToBeStarted()
Definition at line 432 of file lte-enb-rrc.cc.
References m_drbMap, m_drbsToBeStarted, m_rnti, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by RecvRrcConnectionReconfigurationCompleted(), and RecvRrcConnectionSetupCompleted().
|
private |
Switch the UeManager to the given state
s | the given state |
Definition at line 1346 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, CONNECTION_RECONFIGURATION, CONNECTION_REESTABLISHMENT, CONNECTION_SETUP, HANDOVER_JOINING, HANDOVER_LEAVING, INITIAL_RANDOM_ACCESS, m_imsi, m_pendingRrcConnectionReconfiguration, m_rnti, m_rrc, m_state, m_stateTransitionTrace, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, ScheduleRrcConnectionReconfiguration(), and ns3::ToString().
Referenced by PrepareHandover(), RecvHandoverPreparationFailure(), RecvHandoverRequestAck(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionReestablishmentComplete(), RecvRrcConnectionReestablishmentRequest(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), ScheduleRrcConnectionReconfiguration(), and SendUeContextRelease().
|
friend |
Definition at line 87 of file lte-enb-rrc.h.
|
private |
Definition at line 437 of file lte-enb-rrc.h.
Referenced by RecvRrcConnectionRequest().
|
private |
Definition at line 436 of file lte-enb-rrc.h.
Referenced by DoInitialize(), and RecvRrcConnectionRequest().
|
private |
Definition at line 416 of file lte-enb-rrc.h.
Referenced by AddDataRadioBearerInfo(), BuildRadioResourceConfigDedicated(), DoDispose(), GetDataRadioBearerInfo(), GetErabList(), GetTypeId(), RecordDataRadioBearersToBeStarted(), RecvHandoverRequestAck(), RecvRrcConnectionReconfigurationCompleted(), ReleaseDataRadioBearer(), RemoveDataRadioBearerInfo(), and StartDataRadioBearers().
|
private |
Definition at line 426 of file lte-enb-rrc.h.
Referenced by DoDispose(), DoInitialize(), and SetupDataRadioBearer().
|
private |
Definition at line 433 of file lte-enb-rrc.h.
Referenced by RecordDataRadioBearersToBeStarted(), and StartDataRadioBearers().
|
private |
Definition at line 438 of file lte-enb-rrc.h.
Referenced by DoInitialize(), and RecvRrcConnectionReconfigurationCompleted().
|
private |
Definition at line 439 of file lte-enb-rrc.h.
Referenced by RecvHandoverRequestAck(), RecvRrcConnectionReestablishmentRequest(), and RecvUeContextRelease().
|
private |
Definition at line 421 of file lte-enb-rrc.h.
Referenced by GetImsi(), PrepareHandover(), RecvHandoverRequestAck(), RecvMeasurementReport(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), SendUeContextRelease(), SetImsi(), and SwitchToState().
|
private |
Definition at line 419 of file lte-enb-rrc.h.
Referenced by AddDataRadioBearerInfo().
|
private |
Definition at line 422 of file lte-enb-rrc.h.
Referenced by GetNewRrcTransactionIdentifier().
|
private |
Definition at line 434 of file lte-enb-rrc.h.
Referenced by CmacUeConfigUpdateInd(), and RecvRrcConnectionReconfigurationCompleted().
Definition at line 443 of file lte-enb-rrc.h.
Referenced by RecvMeasurementReport().
|
private |
Definition at line 427 of file lte-enb-rrc.h.
Referenced by ScheduleRrcConnectionReconfiguration(), and SwitchToState().
|
private |
Definition at line 423 of file lte-enb-rrc.h.
Referenced by BuildRadioResourceConfigDedicated(), CmacUeConfigUpdateInd(), DoInitialize(), GetSrsConfigurationIndex(), RecvRrcConnectionReconfigurationCompleted(), and SetSrsConfigurationIndex().
|
private |
Definition at line 420 of file lte-enb-rrc.h.
Referenced by CmacUeConfigUpdateInd(), DoInitialize(), GetRnti(), GetTypeId(), PrepareHandover(), RecordDataRadioBearersToBeStarted(), RecvHandoverRequestAck(), RecvMeasurementReport(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionReestablishmentRequest(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), ReleaseDataRadioBearer(), ScheduleRrcConnectionReconfiguration(), SendData(), SendUeContextRelease(), SetSrsConfigurationIndex(), SetupDataRadioBearer(), StartDataRadioBearers(), and SwitchToState().
Definition at line 424 of file lte-enb-rrc.h.
Referenced by BuildMeasConfig(), DoDispose(), DoInitialize(), DoReceivePdcpSdu(), PrepareHandover(), RecvHandoverRequestAck(), RecvMeasurementReport(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionReestablishmentRequest(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), ReleaseDataRadioBearer(), ScheduleRrcConnectionReconfiguration(), SendData(), SendUeContextRelease(), SetSrsConfigurationIndex(), SetupDataRadioBearer(), and SwitchToState().
Definition at line 441 of file lte-enb-rrc.h.
Referenced by DoDispose(), DoInitialize(), and RecvMeasurementReport().
|
private |
Definition at line 431 of file lte-enb-rrc.h.
Referenced by SendUeContextRelease(), and SetSource().
|
private |
Definition at line 430 of file lte-enb-rrc.h.
Referenced by SendUeContextRelease(), and SetSource().
|
private |
Definition at line 417 of file lte-enb-rrc.h.
Referenced by CompleteSetupUe(), DoInitialize(), and GetTypeId().
|
private |
Definition at line 418 of file lte-enb-rrc.h.
Referenced by BuildRadioResourceConfigDedicated(), CompleteSetupUe(), DoInitialize(), and GetTypeId().
|
private |
Definition at line 425 of file lte-enb-rrc.h.
Referenced by DoInitialize(), GetState(), PrepareHandover(), RecvHandoverPreparationFailure(), RecvMeasurementReport(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionReestablishmentRequest(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), RecvUeContextRelease(), ScheduleRrcConnectionReconfiguration(), SendData(), SendUeContextRelease(), SetSrsConfigurationIndex(), SetupDataRadioBearer(), and SwitchToState().
|
private |
Definition at line 429 of file lte-enb-rrc.h.
Referenced by GetTypeId(), and SwitchToState().
|
private |
Definition at line 432 of file lte-enb-rrc.h.
Referenced by PrepareHandover(), RecvHandoverPreparationFailure(), and SendData().