A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::UeManager Class Reference

#include <lte-enb-rrc.h>

+ Inheritance diagram for ns3::UeManager:
+ Collaboration diagram for ns3::UeManager:

Public Types

enum  State {
  INITIAL_RANDOM_ACCESS = 0, CONNECTION_SETUP, CONNECTION_REJECTED, CONNECTED_NORMALLY,
  CONNECTION_RECONFIGURATION, CONNECTION_REESTABLISHMENT, HANDOVER_PREPARATION, HANDOVER_JOINING,
  HANDOVER_PATH_SWITCH, HANDOVER_LEAVING, NUM_STATES
}

Public Member Functions

 UeManager ()
 UeManager (Ptr< LteEnbRrc > rrc, uint16_t rnti, State s)
virtual ~UeManager (void)
void CmacUeConfigUpdateInd (LteEnbCmacSapUser::UeConfig cmacParams)
void CompleteSetupUe (LteEnbRrcSapProvider::CompleteSetupUeParameters params)
void DoReceivePdcpSdu (LtePdcpSapUser::ReceivePdcpSduParameters params)
std::vector
< EpcX2Sap::ErabToBeSetupItem
GetErabList ()
uint64_t GetImsi (void)
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigForHandoverPreparationInfo ()
uint16_t GetRnti (void)
LteRrcSap::RrcConnectionReconfiguration GetRrcConnectionReconfigurationForHandover ()
uint16_t GetSrsConfigurationIndex (void)
State GetState ()
void PrepareHandover (uint16_t cellId)
void RecordDataRadioBearersToBeStarted ()
void RecvHandoverPreparationFailure (uint16_t cellId)
void RecvHandoverRequestAck (EpcX2SapUser::HandoverRequestAckParams params)
void RecvMeasurementReport (LteRrcSap::MeasurementReport msg)
void RecvRrcConnectionReconfigurationCompleted (LteRrcSap::RrcConnectionReconfigurationCompleted msg)
void RecvRrcConnectionReestablishmentComplete (LteRrcSap::RrcConnectionReestablishmentComplete msg)
void RecvRrcConnectionReestablishmentRequest (LteRrcSap::RrcConnectionReestablishmentRequest msg)
void RecvRrcConnectionRequest (LteRrcSap::RrcConnectionRequest msg)
void RecvRrcConnectionSetupCompleted (LteRrcSap::RrcConnectionSetupCompleted msg)
void RecvSnStatusTransfer (EpcX2SapUser::SnStatusTransferParams params)
void ReleaseDataRadioBearer (uint8_t drbid)
void ScheduleRrcConnectionReconfiguration ()
void SendData (uint8_t bid, Ptr< Packet > p)
void SendUeContextRelease ()
void SetImsi (uint64_t imsi)
void SetSource (uint16_t sourceCellId, uint16_t sourceX2apId)
void SetSrsConfigurationIndex (uint16_t srsConfIndex)
void SetupDataRadioBearer (EpsBearer bearer, uint8_t bearerId, uint32_t gtpTeid, Ipv4Address transportLayerAddress)
void StartDataRadioBearers ()
- Public Member Functions inherited from ns3::Object
 Object ()
virtual ~Object ()
void AggregateObject (Ptr< Object > other)
void Dispose (void)
AggregateIterator GetAggregateIterator (void) const
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Initialize (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)

Static Public Member Functions

static TypeId GetTypeId (void)

Protected Member Functions

virtual void DoDispose ()
virtual void DoInitialize ()
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
virtual void NotifyNewAggregate (void)

Private Member Functions

uint8_t AddDataRadioBearerInfo (Ptr< LteDataRadioBearerInfo > radioBearerInfo)
uint8_t Bid2Drbid (uint8_t bid)
uint8_t Bid2Lcid (uint8_t bid)
LteRrcSap::RadioResourceConfigDedicated BuildRadioResourceConfigDedicated ()
LteRrcSap::RrcConnectionReconfiguration BuildRrcConnectionReconfiguration ()
uint8_t Drbid2Bid (uint8_t drbid)
uint8_t Drbid2Lcid (uint8_t drbid)
Ptr< LteDataRadioBearerInfoGetDataRadioBearerInfo (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_connectionTimeout
std::map< uint8_t, Ptr
< LteDataRadioBearerInfo > > 
m_drbMap
LtePdcpSapUserm_drbPdcpSapUser
std::list< uint8_t > m_drbsToBeStarted
uint64_t m_imsi
uint8_t m_lastAllocatedDrbid
uint8_t m_lastRrcTransactionIdentifier
bool m_needTransmissionModeConfiguration
bool m_pendingRrcConnectionReconfiguration
LteRrcSap::PhysicalConfigDedicated m_physicalConfigDedicated
uint16_t m_rnti
Ptr< LteEnbRrcm_rrc
uint16_t m_sourceCellId
uint16_t m_sourceX2apId
Ptr< LteSignalingRadioBearerInfom_srb0
Ptr< LteSignalingRadioBearerInfom_srb1
State m_state
TracedCallback< uint64_t,
uint16_t, uint16_t, State,
State
m_stateTransitionTrace
uint16_t m_targetCellId

Friends

class LtePdcpSpecificLtePdcpSapUser< UeManager >

Detailed Description

Manages all the radio bearer information possessed by the ENB RRC for a single UE

Config Paths

ns3::UeManager is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice/LteEnbRrc/UeMap/[i]
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteEnbNetDevice/LteEnbRrc/UeMap/[i]

Attributes

TraceSources

  • StateTransition: fired upon every UE state transition seen by the UeManager at the eNB RRC

Definition at line 57 of file lte-enb-rrc.h.

Member Enumeration Documentation

The state of the UeManager at the eNB RRC

Enumerator:
INITIAL_RANDOM_ACCESS 
CONNECTION_SETUP 
CONNECTION_REJECTED 
CONNECTED_NORMALLY 
CONNECTION_RECONFIGURATION 
CONNECTION_REESTABLISHMENT 
HANDOVER_PREPARATION 
HANDOVER_JOINING 
HANDOVER_PATH_SWITCH 
HANDOVER_LEAVING 
NUM_STATES 

Definition at line 68 of file lte-enb-rrc.h.

Constructor & Destructor Documentation

ns3::UeManager::UeManager ( )

Definition at line 127 of file lte-enb-rrc.cc.

References NS_FATAL_ERROR.

ns3::UeManager::UeManager ( Ptr< LteEnbRrc rrc,
uint16_t  rnti,
State  s 
)

UeManager constructor

Parameters
rrcpointer to the LteEnbRrc holding this UeManager
rntiRNTI of the UE
sinitial state of the UeManager
Returns

Definition at line 133 of file lte-enb-rrc.cc.

References NS_LOG_FUNCTION.

ns3::UeManager::~UeManager ( void  )
virtual

Definition at line 261 of file lte-enb-rrc.cc.

Member Function Documentation

uint8_t ns3::UeManager::AddDataRadioBearerInfo ( Ptr< LteDataRadioBearerInfo radioBearerInfo)
private

Add a new LteDataRadioBearerInfo structure to the UeManager

Parameters
radioBearerInfo
Returns
the id of the newly added data radio bearer structure

Definition at line 979 of file lte-enb-rrc.cc.

References ns3::LteDataRadioBearerInfo::m_drbIdentity, m_drbMap, m_lastAllocatedDrbid, NS_FATAL_ERROR, and NS_LOG_FUNCTION.

Referenced by SetupDataRadioBearer().

+ Here is the caller graph for this function:

uint8_t ns3::UeManager::Bid2Drbid ( uint8_t  bid)
private
Parameters
bidan EPS Bearer Identifier
Returns
the corresponding Data Radio Bearer Id

Definition at line 1104 of file lte-enb-rrc.cc.

Referenced by SendData().

+ Here is the caller graph for this function:

uint8_t ns3::UeManager::Bid2Lcid ( uint8_t  bid)
private
Parameters
bidan EPS Bearer Identifier
Returns
the corresponding Logical Channel Identifier

Definition at line 1092 of file lte-enb-rrc.cc.

Referenced by SendData().

+ Here is the caller graph for this function:

void ns3::UeManager::DoDispose ( void  )
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 266 of file lte-enb-rrc.cc.

References m_drbMap, m_drbPdcpSapUser, m_rrc, and ns3::LteEnbRrc::m_x2uTeidInfoMap.

void ns3::UeManager::DoInitialize ( void  )
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::LteEnbCmacSapProvider::AddLc(), ns3::LteEnbCmacSapProvider::AddUe(), ns3::LteEnbCphySapProvider::AddUe(), ns3::LteRrcSap::PhysicalConfigDedicated::antennaInfo, ns3::LteRrcSap::LogicalChannelConfig::bucketSizeDurationMs, ns3::LteEnbRrc::ConnectionTimeout(), ns3::EpsBearer::GBR_CONV_VOICE, ns3::LteEnbCmacSapProvider::LcInfo::gbrDl, ns3::LteEnbCmacSapProvider::LcInfo::gbrUl, ns3::LteRlc::GetLteMacSapUser(), ns3::LtePdcp::GetLtePdcpSapProvider(), ns3::LteRlc::GetLteRlcSapProvider(), ns3::LtePdcp::GetLteRlcSapUser(), ns3::LteEnbRrc::GetNewSrsConfigurationIndex(), HANDOVER_JOINING, ns3::LteRrcSap::PhysicalConfigDedicated::haveAntennaInfoDedicated, ns3::LteRrcSap::PhysicalConfigDedicated::haveSoundingRsUlConfigDedicated, INITIAL_RANDOM_ACCESS, ns3::LteEnbCmacSapProvider::LcInfo::isGbr, ns3::LteEnbCmacSapProvider::LcInfo::lcGroup, ns3::LteEnbCmacSapProvider::LcInfo::lcId, ns3::LteRrcSap::LogicalChannelConfig::logicalChannelGroup, ns3::LteEnbRrc::m_cmacSapProvider, m_connectionTimeout, ns3::LteEnbRrc::m_cphySapProvider, ns3::LteEnbRrc::m_defaultTransmissionMode, m_drbPdcpSapUser, ns3::LteSignalingRadioBearerInfo::m_logicalChannelConfig, ns3::LteEnbRrc::m_macSapProvider, ns3::LteRadioBearerInfo::m_pdcp, m_physicalConfigDedicated, ns3::LteRadioBearerInfo::m_rlc, ns3::LteEnbCmacSapProvider::UeConfig::m_rnti, m_rnti, m_rrc, ns3::LteEnbRrc::m_rrcSapUser, m_srb0, m_srb1, ns3::LteSignalingRadioBearerInfo::m_srbIdentity, m_state, ns3::LteEnbCmacSapProvider::UeConfig::m_transmissionMode, ns3::LteEnbCmacSapProvider::LcInfo::mbrDl, ns3::LteEnbCmacSapProvider::LcInfo::mbrUl, ns3::MilliSeconds(), NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::LteRrcSap::LogicalChannelConfig::prioritizedBitRateKbps, ns3::LteRrcSap::LogicalChannelConfig::priority, ns3::LteEnbCmacSapProvider::LcInfo::qci, ns3::LteEnbCmacSapProvider::LcInfo::rnti, ns3::Simulator::Schedule(), ns3::LtePdcp::SetLcId(), ns3::LteRlc::SetLcId(), ns3::LteRlc::SetLteMacSapProvider(), ns3::LtePdcp::SetLtePdcpSapUser(), ns3::LtePdcp::SetLteRlcSapProvider(), ns3::LteRlc::SetLteRlcSapUser(), ns3::LtePdcp::SetRnti(), ns3::LteRlc::SetRnti(), ns3::LteEnbCphySapProvider::SetSrsConfigurationIndex(), ns3::LteEnbCphySapProvider::SetTransmissionMode(), ns3::LteRrcSap::SoundingRsUlConfigDedicated::SETUP, ns3::LteEnbRrcSapUser::SetupUe(), 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, ns3::LteRrcSap::SoundingRsUlConfigDedicated::type, and ns3::LteEnbCmacSapProvider::UeUpdateConfigurationReq().

+ Here is the call graph for this function:

uint8_t ns3::UeManager::Drbid2Bid ( uint8_t  drbid)
private
Parameters
drbidData Radio Bearer Id
Returns
the corresponding EPS Bearer Identifier

Definition at line 1098 of file lte-enb-rrc.cc.

Referenced by SetupDataRadioBearer().

+ Here is the caller graph for this function:

uint8_t ns3::UeManager::Drbid2Lcid ( uint8_t  drbid)
private
Parameters
drbida Data Radio Bearer Id
Returns
the corresponding Logical Channel Identifier

Definition at line 1080 of file lte-enb-rrc.cc.

Referenced by ReleaseDataRadioBearer(), and SetupDataRadioBearer().

+ Here is the caller graph for this function:

Ptr< LteDataRadioBearerInfo > ns3::UeManager::GetDataRadioBearerInfo ( uint8_t  drbid)
private
Parameters
drbidthe Data Radio Bearer id
Returns
the corresponding LteDataRadioBearerInfo

Definition at line 1003 of file lte-enb-rrc.cc.

References m_drbMap, NS_ABORT_IF, NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by SendData().

+ Here is the caller graph for this function:

std::vector< EpcX2Sap::ErabToBeSetupItem > ns3::UeManager::GetErabList ( )
uint64_t ns3::UeManager::GetImsi ( void  )
Returns
the IMSI, i.e., a globally unique UE identifier

Definition at line 942 of file lte-enb-rrc.cc.

References m_imsi.

Referenced by ns3::LteRrcConnectionEstablishmentTestCase::CheckConnected(), ns3::LteX2HandoverTestCase::CheckConnected(), and ns3::FindImsiFromEnbRlcPath().

+ Here is the caller graph for this function:

uint8_t ns3::UeManager::GetNewRrcTransactionIdentifier ( )
private
Returns
a newly allocated identifier for a new RRC transaction

Definition at line 1067 of file lte-enb-rrc.cc.

References m_lastRrcTransactionIdentifier.

Referenced by BuildRrcConnectionReconfiguration(), RecvRrcConnectionReestablishmentRequest(), and RecvRrcConnectionRequest().

+ Here is the caller graph for this function:

LteRrcSap::RadioResourceConfigDedicated ns3::UeManager::GetRadioResourceConfigForHandoverPreparationInfo ( )
Returns
the HandoverPreparationInfo sent by the source eNB to the target eNB in the X2-based handover procedure

Definition at line 605 of file lte-enb-rrc.cc.

References BuildRadioResourceConfigDedicated(), and NS_LOG_FUNCTION.

Referenced by PrepareHandover().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint16_t ns3::UeManager::GetRnti ( void  )
Returns
the RNTI, i.e., an UE identifier that is unique within the cell

Definition at line 936 of file lte-enb-rrc.cc.

References m_rnti.

LteRrcSap::RrcConnectionReconfiguration ns3::UeManager::GetRrcConnectionReconfigurationForHandover ( )
Returns
retrieve the data that the target eNB needs to send to the source eNB as the Handover Command in the X2-based handover procedure.
Note
mobility control info is not expected to be filled in (shall be filled in by the caller).

Definition at line 612 of file lte-enb-rrc.cc.

References BuildRrcConnectionReconfiguration(), and NS_LOG_FUNCTION.

Referenced by ns3::LteEnbRrc::DoRecvHandoverRequest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint16_t ns3::UeManager::GetSrsConfigurationIndex ( void  )
Returns
the SRS Configuration Index

Definition at line 948 of file lte-enb-rrc.cc.

References m_physicalConfigDedicated, ns3::LteRrcSap::PhysicalConfigDedicated::soundingRsUlConfigDedicated, and ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex.

Referenced by ns3::LteEnbRrc::AddUe().

+ Here is the caller graph for this function:

UeManager::State ns3::UeManager::GetState ( void  )
Returns
the current state

Definition at line 973 of file lte-enb-rrc.cc.

References m_state.

Referenced by ns3::LteRrcConnectionEstablishmentTestCase::CheckConnected(), and ns3::LteX2HandoverTestCase::CheckConnected().

+ Here is the caller graph for this function:

TypeId ns3::UeManager::GetTypeId ( void  )
static

Reimplemented from ns3::Object.

Definition at line 278 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().

+ Here is the call graph for this function:

uint8_t ns3::UeManager::Lcid2Bid ( uint8_t  lcid)
private
Parameters
lcida Logical Channel Identifier
Returns
the corresponding EPS Bearer Identifier

Definition at line 1085 of file lte-enb-rrc.cc.

References NS_ASSERT.

Referenced by DoReceivePdcpSdu().

+ Here is the caller graph for this function:

uint8_t ns3::UeManager::Lcid2Drbid ( uint8_t  lcid)
private
Parameters
lcida Logical Channel Identifier
Returns
the corresponding Data Radio Bearer Id

Definition at line 1073 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

Parameters
cellIdid of the target cell

Definition at line 502 of file lte-enb-rrc.cc.

References ns3::LteRrcSap::HandoverPreparationInfo::asConfig, ns3::EpcX2Sap::HandoverRequestParams::bearers, 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::LteEnbRrcSapUser::EncodeHandoverPreparationInformation(), ns3::LteRrcSap::SystemInformationBlockType2::freqInfo, GetErabList(), ns3::LteEnbCmacSapProvider::GetRachConfig(), GetRadioResourceConfigForHandoverPreparationInfo(), HANDOVER_PREPARATION, ns3::EpcX2Sap::HandoverDesirableForRadioReason, ns3::LteRrcSap::MeasConfig::haveMeasGapConfig, ns3::LteRrcSap::MeasConfig::haveQuantityConfig, ns3::LteRrcSap::MeasConfig::haveSmeasure, ns3::LteRrcSap::MeasConfig::haveSpeedStatePars, ns3::LteEnbRrc::m_cellId, ns3::LteEnbRrc::m_cmacSapProvider, ns3::LteEnbRrc::m_dlBandwidth, ns3::LteEnbRrc::m_dlEarfcn, m_imsi, m_rnti, m_rrc, ns3::LteEnbRrc::m_rrcSapUser, m_state, m_targetCellId, ns3::LteEnbRrc::m_ulBandwidth, ns3::LteEnbRrc::m_ulEarfcn, ns3::LteEnbRrc::m_x2SapProvider, 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::EpcX2SapProvider::SendHandoverRequest(), 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 ns3::LteEnbRrc::SendHandoverRequest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 411 of file lte-enb-rrc.cc.

References m_drbMap, m_drbsToBeStarted, m_rnti, and NS_LOG_FUNCTION.

Referenced by RecvRrcConnectionRequest(), and ScheduleRrcConnectionReconfiguration().

+ Here is the caller graph for this function:

void ns3::UeManager::RecvHandoverPreparationFailure ( uint16_t  cellId)

Take the necessary actions in response to the reception of an X2 HO preparation failure message

Parameters
cellIdid of the target cell

Definition at line 711 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().

Referenced by ns3::LteEnbRrc::DoRecvHandoverPreparationFailure().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::UeManager::RecvHandoverRequestAck ( EpcX2SapUser::HandoverRequestAckParams  params)

take the necessary actions in response to the reception of an X2 HANDOVER REQUEST ACK message

Parameters
params

Definition at line 561 of file lte-enb-rrc.cc.

References ns3::EpcX2Sap::HandoverRequestAckParams::admittedBearers, ns3::LteEnbRrcSapUser::DecodeHandoverCommand(), ns3::EpcX2Sap::ErabsSubjectToStatusTransferItem::dlPdcpSn, ns3::EpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, HANDOVER_LEAVING, ns3::LteRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, ns3::LteEnbRrc::m_cellId, m_drbMap, ns3::LteEnbRrc::m_handoverStartTrace, m_imsi, m_rnti, m_rrc, ns3::LteEnbRrc::m_rrcSapUser, ns3::LteEnbRrc::m_x2SapProvider, 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::LteEnbRrcSapUser::SendRrcConnectionReconfiguration(), ns3::EpcX2SapProvider::SendSnStatusTransfer(), 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.

Referenced by ns3::LteEnbRrc::DoRecvHandoverRequestAck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::UeManager::RecvMeasurementReport ( LteRrcSap::MeasurementReport  msg)

Definition at line 894 of file lte-enb-rrc.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::LteEnbRrc::DoRecvMeasurementReport().

+ Here is the caller graph for this function:

void ns3::UeManager::RecvRrcConnectionReconfigurationCompleted ( LteRrcSap::RrcConnectionReconfigurationCompleted  msg)

Definition at line 819 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, ns3::LteEnbRrc::m_cellId, ns3::LteEnbRrc::m_cmacSapProvider, ns3::LteEnbRrc::m_connectionReconfigurationTrace, m_connectionTimeout, ns3::LteEnbRrc::m_cphySapProvider, m_drbMap, m_imsi, m_needTransmissionModeConfiguration, m_physicalConfigDedicated, ns3::LteEnbCmacSapProvider::UeConfig::m_rnti, m_rnti, m_rrc, ns3::LteEnbRrc::m_s1SapProvider, m_state, ns3::LteEnbCmacSapProvider::UeConfig::m_transmissionMode, ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::mmeUeS1Id, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::EpcEnbS1SapProvider::PathSwitchRequest(), ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::rnti, ns3::LteEnbCphySapProvider::SetTransmissionMode(), StartDataRadioBearers(), SwitchToState(), ns3::EpcEnbS1SapProvider::BearerToBeSwitched::teid, ns3::ToString(), ns3::LteRrcSap::AntennaInfoDedicated::transmissionMode, and ns3::LteEnbCmacSapProvider::UeUpdateConfigurationReq().

Referenced by ns3::LteEnbRrc::DoRecvRrcConnectionReconfigurationCompleted().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::UeManager::RecvRrcConnectionReestablishmentComplete ( LteRrcSap::RrcConnectionReestablishmentComplete  msg)

Definition at line 887 of file lte-enb-rrc.cc.

References CONNECTED_NORMALLY, NS_LOG_FUNCTION, and SwitchToState().

Referenced by ns3::LteEnbRrc::DoRecvRrcConnectionReestablishmentComplete().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::UeManager::RecvRrcConnectionSetupCompleted ( LteRrcSap::RrcConnectionSetupCompleted  msg)
void ns3::UeManager::RecvSnStatusTransfer ( EpcX2SapUser::SnStatusTransferParams  params)

Take the necessary actions in response to the reception of an X2 SN STATUS TRANSFER message

Parameters
paramsthe SN STATUS

Definition at line 729 of file lte-enb-rrc.cc.

References ns3::EpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, and NS_LOG_FUNCTION.

Referenced by ns3::LteEnbRrc::DoRecvSnStatusTransfer().

+ Here is the caller graph for this function:

void ns3::UeManager::RemoveDataRadioBearerInfo ( uint8_t  drbid)
private

remove the LteDataRadioBearerInfo corresponding to a bearer being released

Parameters
drbidthe Data Radio Bearer id

Definition at line 1014 of file lte-enb-rrc.cc.

References m_drbMap, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

void ns3::UeManager::SendUeContextRelease ( )
void ns3::UeManager::SetImsi ( uint64_t  imsi)

Set the IMSI

Parameters
imsithe IMSI

Definition at line 316 of file lte-enb-rrc.cc.

References m_imsi.

Referenced by ns3::LteEnbRrc::DoRecvHandoverRequest().

+ Here is the caller graph for this function:

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

Parameters
sourceCellId
sourceX2apId

Definition at line 309 of file lte-enb-rrc.cc.

References m_sourceCellId, and m_sourceX2apId.

Referenced by ns3::LteEnbRrc::DoRecvHandoverRequest().

+ Here is the caller graph for this function:

void ns3::UeManager::SetSrsConfigurationIndex ( uint16_t  srsConfIndex)
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

Parameters
bearerthe QoS characteristics of the bearer
bearerIdthe EPS bearer identifier
gtpTeidS1-bearer GTP tunnel endpoint identifier, see 36.423 9.2.1
transportLayerAddressIP Address of the SGW, see 36.423 9.2.1

Definition at line 322 of file lte-enb-rrc.cc.

References AddDataRadioBearerInfo(), ns3::LteEnbCmacSapProvider::AddLc(), ns3::LteRrcSap::RlcConfig::AM, ns3::LteRrcSap::LogicalChannelConfig::bucketSizeDurationMs, ns3::LteRrcSap::RlcConfig::choice, 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::LteEnbRrc::GetLogicalChannelGroup(), ns3::LteEnbRrc::GetLogicalChannelPriority(), ns3::LteRlc::GetLteMacSapUser(), ns3::LteRlc::GetLteRlcSapProvider(), ns3::LtePdcp::GetLteRlcSapUser(), ns3::Object::GetObject(), ns3::LteEnbRrc::GetRlcType(), ns3::LteRlcAm::GetTypeId(), ns3::LteRlcSm::GetTypeId(), HANDOVER_JOINING, ns3::LteEnbCmacSapProvider::LcInfo::isGbr, ns3::EpsBearer::IsGbr(), ns3::LteEnbCmacSapProvider::LcInfo::lcGroup, ns3::LteEnbCmacSapProvider::LcInfo::lcId, ns3::LteRrcSap::LogicalChannelConfig::logicalChannelGroup, ns3::LteEnbRrc::m_cmacSapProvider, ns3::LteDataRadioBearerInfo::m_drbIdentity, m_drbPdcpSapUser, ns3::LteDataRadioBearerInfo::m_epsBearerIdentity, ns3::LteDataRadioBearerInfo::m_gtpTeid, ns3::LteDataRadioBearerInfo::m_logicalChannelConfig, ns3::LteDataRadioBearerInfo::m_logicalChannelIdentity, ns3::LteEnbRrc::m_macSapProvider, ns3::LteRadioBearerInfo::m_pdcp, ns3::LteRadioBearerInfo::m_rlc, ns3::LteDataRadioBearerInfo::m_rlcConfig, m_rnti, m_rrc, m_state, ns3::LteDataRadioBearerInfo::m_transportLayerAddress, ns3::LteEnbRrc::m_x2uTeidInfoMap, ns3::GbrQosInformation::mbrDl, ns3::LteEnbCmacSapProvider::LcInfo::mbrDl, ns3::GbrQosInformation::mbrUl, ns3::LteEnbCmacSapProvider::LcInfo::mbrUl, NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::LteRrcSap::LogicalChannelConfig::prioritizedBitRateKbps, ns3::LteRrcSap::LogicalChannelConfig::priority, ns3::LteEnbCmacSapProvider::LcInfo::qci, ns3::EpsBearer::qci, ns3::LteEnbCmacSapProvider::LcInfo::rnti, ns3::LteEnbRrc::X2uTeidInfo::rnti, ScheduleRrcConnectionReconfiguration(), ns3::LtePdcp::SetLcId(), ns3::LteRlc::SetLcId(), ns3::LteRlc::SetLteMacSapProvider(), ns3::LtePdcp::SetLtePdcpSapUser(), ns3::LtePdcp::SetLteRlcSapProvider(), ns3::LteRlc::SetLteRlcSapUser(), ns3::LtePdcp::SetRnti(), ns3::LteRlc::SetRnti(), ns3::ObjectFactory::SetTypeId(), and ns3::LteRrcSap::RlcConfig::UM_BI_DIRECTIONAL.

Referenced by ns3::LteEnbRrc::DoDataRadioBearerSetupRequest(), and ns3::LteEnbRrc::DoRecvHandoverRequest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::UeManager::StartDataRadioBearers ( )

Start the data radio bearers that have been previously recorded to be started using RecordDataRadioBearersToBeStarted()

Definition at line 423 of file lte-enb-rrc.cc.

References m_drbMap, m_drbsToBeStarted, m_rnti, NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by RecvRrcConnectionReconfigurationCompleted(), and RecvRrcConnectionSetupCompleted().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class LtePdcpSpecificLtePdcpSapUser< UeManager >
friend

Definition at line 59 of file lte-enb-rrc.h.

Member Data Documentation

EventId ns3::UeManager::m_connectionTimeout
private
LtePdcpSapUser* ns3::UeManager::m_drbPdcpSapUser
private

Definition at line 385 of file lte-enb-rrc.h.

Referenced by DoDispose(), DoInitialize(), and SetupDataRadioBearer().

std::list<uint8_t> ns3::UeManager::m_drbsToBeStarted
private

Definition at line 392 of file lte-enb-rrc.h.

Referenced by RecordDataRadioBearersToBeStarted(), and StartDataRadioBearers().

uint8_t ns3::UeManager::m_lastAllocatedDrbid
private

Definition at line 378 of file lte-enb-rrc.h.

Referenced by AddDataRadioBearerInfo().

uint8_t ns3::UeManager::m_lastRrcTransactionIdentifier
private

Definition at line 381 of file lte-enb-rrc.h.

Referenced by GetNewRrcTransactionIdentifier().

bool ns3::UeManager::m_needTransmissionModeConfiguration
private
bool ns3::UeManager::m_pendingRrcConnectionReconfiguration
private

Definition at line 386 of file lte-enb-rrc.h.

Referenced by ScheduleRrcConnectionReconfiguration(), and SwitchToState().

uint16_t ns3::UeManager::m_sourceCellId
private

Definition at line 390 of file lte-enb-rrc.h.

Referenced by SendUeContextRelease(), and SetSource().

uint16_t ns3::UeManager::m_sourceX2apId
private

Definition at line 389 of file lte-enb-rrc.h.

Referenced by SendUeContextRelease(), and SetSource().

Ptr<LteSignalingRadioBearerInfo> ns3::UeManager::m_srb0
private

Definition at line 376 of file lte-enb-rrc.h.

Referenced by CompleteSetupUe(), DoInitialize(), and GetTypeId().

Ptr<LteSignalingRadioBearerInfo> ns3::UeManager::m_srb1
private
TracedCallback<uint64_t, uint16_t, uint16_t, State, State> ns3::UeManager::m_stateTransitionTrace
private

Definition at line 388 of file lte-enb-rrc.h.

Referenced by GetTypeId(), and SwitchToState().

uint16_t ns3::UeManager::m_targetCellId
private

Definition at line 391 of file lte-enb-rrc.h.

Referenced by PrepareHandover(), RecvHandoverPreparationFailure(), and SendData().


The documentation for this class was generated from the following files: