A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::LteEnbRrc Class Reference

The LTE Radio Resource Control entity at the eNB. More...

#include "lte-enb-rrc.h"

+ Inheritance diagram for ns3::LteEnbRrc:
+ Collaboration diagram for ns3::LteEnbRrc:

Classes

struct  X2uTeidInfo
 X2uTeidInfo structure. More...
 

Public Types

typedef void(* ConnectionHandoverTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti)
 TracedCallback signature for connection and handover end events.
 
typedef void(* HandoverFailureTracedCallback) (const uint64_t imsi, const uint16_t rnti, const uint16_t cellId)
 TracedCallback signature for handover failure events.
 
typedef void(* HandoverStartTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const uint16_t targetCid)
 TracedCallback signature for handover start events.
 
enum  LteEpsBearerToRlcMapping_t { RLC_SM_ALWAYS = 1 , RLC_UM_ALWAYS = 2 , RLC_AM_ALWAYS = 3 , PER_BASED = 4 }
 Identifies how EPS Bearer parameters are mapped to different RLC types. More...
 
typedef void(* NewUeContextTracedCallback) (const uint16_t cellId, const uint16_t rnti)
 TracedCallback signature for new Ue Context events.
 
typedef void(* ReceiveReportTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const LteRrcSap::MeasurementReport report)
 TracedCallback signature for receive measurement report events.
 
typedef void(* TimerExpiryTracedCallback) (const uint64_t imsi, const uint16_t rnti, const uint16_t cellId, const std::string cause)
 TracedCallback signature for timer expiry events.
 

Public Member Functions

 LteEnbRrc ()
 create an RRC instance for use within an eNB
 
 ~LteEnbRrc () override
 Destructor.
 
std::vector< uint8_t > AddUeMeasReportConfig (LteRrcSap::ReportConfigEutra config)
 Add a new UE measurement reporting configuration.
 
void AddX2Neighbour (uint16_t cellId)
 Add a neighbour with an X2 interface.
 
uint8_t CellToComponentCarrierId (uint16_t cellId)
 convert the cell id to component carrier id
 
uint16_t ComponentCarrierToCellId (uint8_t componentCarrierId)
 convert the component carrier id to cell id
 
void ConfigureCarriers (std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > ccPhyConf)
 Configure carriers.
 
void ConfigureCell (std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > ccPhyConf)
 Configure cell-specific parameters.
 
void ConnectionRejectedTimeout (uint16_t rnti)
 Method triggered a while after sending RRC Connection Rejected.
 
void ConnectionRequestTimeout (uint16_t rnti)
 Method triggered when a UE is expected to request for connection but does not do so in a reasonable time.
 
void ConnectionSetupTimeout (uint16_t rnti)
 Method triggered when a UE is expected to complete a connection setup procedure but does not do so in a reasonable time.
 
void DoSendReleaseDataRadioBearer (uint64_t imsi, uint16_t rnti, uint8_t bearerId)
 This function acts as an interface to trigger Release indication messages towards eNB and EPC.
 
EpcX2SapUserGetEpcX2SapUser ()
 Get the X2 SAP offered by this RRC.
 
LteAnrSapUserGetLteAnrSapUser ()
 Get the ANR SAP offered by this RRC.
 
LteCcmRrcSapUserGetLteCcmRrcSapUser ()
 Get the Component Carrier Management SAP offered by this RRC.
 
LteEnbCmacSapUserGetLteEnbCmacSapUser ()
 Get the CMAC SAP offered by this RRC.
 
LteEnbCmacSapUserGetLteEnbCmacSapUser (uint8_t pos)
 Get the CMAC SAP offered by this RRC.
 
LteEnbCphySapUserGetLteEnbCphySapUser ()
 
LteEnbCphySapUserGetLteEnbCphySapUser (uint8_t pos)
 Get the ENB CPhy SAP user.
 
LteEnbRrcSapProviderGetLteEnbRrcSapProvider ()
 
LteFfrRrcSapUserGetLteFfrRrcSapUser ()
 Get the FFR SAP offered by this RRC.
 
LteFfrRrcSapUserGetLteFfrRrcSapUser (uint8_t index)
 Get the FFR SAP offered by this RRC.
 
LteHandoverManagementSapUserGetLteHandoverManagementSapUser ()
 Get the Handover Management SAP offered by this RRC.
 
EpcEnbS1SapUserGetS1SapUser ()
 
uint32_t GetSrsPeriodicity () const
 
Ptr< UeManagerGetUeManager (uint16_t rnti)
 
void HandoverJoiningTimeout (uint16_t rnti)
 Method triggered when a UE is expected to join the cell for a handover but does not do so in a reasonable time.
 
void HandoverLeavingTimeout (uint16_t rnti)
 Method triggered when a UE is expected to leave a cell for a handover but no feedback is received in a reasonable time.
 
bool HasCellId (uint16_t cellId) const
 
bool HasUeManager (uint16_t rnti) const
 
bool SendData (Ptr< Packet > p)
 Enqueue an IP data packet on the proper bearer for downlink transmission.
 
void SendHandoverRequest (uint16_t rnti, uint16_t cellId)
 Send a HandoverRequest through the X2 SAP interface.
 
void SendRrcConnectionRelease ()
 Send RRC connection release function.
 
void SetCellId (uint16_t m_cellId)
 set the cell id of this eNB
 
void SetCellId (uint16_t m_cellId, uint8_t ccIndex)
 set the cell id of this eNB
 
void SetCsgId (uint32_t csgId, bool csgIndication)
 Associate this RRC entity with a particular CSG information.
 
void SetEpcX2SapProvider (EpcX2SapProvider *s)
 Set the X2 SAP this RRC should interact with.
 
void SetForwardUpCallback (Callback< void, Ptr< Packet > > cb)
 set the callback used to forward data packets up the stack
 
void SetLteAnrSapProvider (LteAnrSapProvider *s)
 set the ANR SAP this RRC should interact with
 
void SetLteCcmRrcSapProvider (LteCcmRrcSapProvider *s)
 set the Component Carrier Management SAP this RRC should interact with
 
void SetLteEnbCmacSapProvider (LteEnbCmacSapProvider *s)
 set the CMAC SAP this RRC should interact with
 
void SetLteEnbCmacSapProvider (LteEnbCmacSapProvider *s, uint8_t pos)
 set the CMAC SAP this RRC should interact with
 
void SetLteEnbCphySapProvider (LteEnbCphySapProvider *s)
 set the CPHY SAP this RRC should use to interact with the PHY
 
void SetLteEnbCphySapProvider (LteEnbCphySapProvider *s, uint8_t pos)
 set the CPHY SAP this RRC should use to interact with the PHY
 
void SetLteEnbRrcSapUser (LteEnbRrcSapUser *s)
 set the RRC SAP this RRC should interact with
 
void SetLteFfrRrcSapProvider (LteFfrRrcSapProvider *s)
 set the FFR SAP this RRC should interact with
 
void SetLteFfrRrcSapProvider (LteFfrRrcSapProvider *s, uint8_t index)
 set the FFR SAP this RRC should interact with
 
void SetLteHandoverManagementSapProvider (LteHandoverManagementSapProvider *s)
 set the Handover Management SAP this RRC should interact with
 
void SetLteMacSapProvider (LteMacSapProvider *s)
 set the MAC SAP provider.
 
void SetS1SapProvider (EpcEnbS1SapProvider *s)
 Set the S1 SAP Provider.
 
void SetSrsPeriodicity (uint32_t p)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor.
 
 ~Object () override
 Destructor.
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together.
 
void Dispose ()
 Dispose of this Object.
 
AggregateIterator GetAggregateIterator () const
 Get an iterator to the Objects aggregated to this one.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
template<typename T >
Ptr< T > GetObject () const
 Get a pointer to the requested aggregated Object.
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object.
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId.
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object.
 
void Initialize ()
 Invoke DoInitialize on all Objects aggregated to this one.
 
bool IsInitialized () const
 Check if the object has been initialized.
 
void UnidirectionalAggregateObject (Ptr< Object > other)
 Aggregate an Object to another Object.
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor.
 
uint32_t GetReferenceCount () const
 Get the reference count of the object.
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
 
void Ref () const
 Increment the reference count.
 
void Unref () const
 Decrement the reference count.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId ()
 Register this type.
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID.
 

Protected Member Functions

void DoDispose () override
 Destructor implementation.
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object.
 
virtual void DoInitialize ()
 Initialize() implementation.
 
virtual void NotifyNewAggregate ()
 Notify all Objects aggregated to this one of a new Object being aggregated.
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Private Member Functions

uint16_t AddUe (UeManager::State state, uint8_t componentCarrierId)
 Allocate a new RNTI for a new UE.
 
uint8_t DoAddUeMeasReportConfigForAnr (LteRrcSap::ReportConfigEutra reportConfig)
 Add UE measure report config for ANR function.
 
uint8_t DoAddUeMeasReportConfigForComponentCarrier (LteRrcSap::ReportConfigEutra reportConfig)
 Add UE measure report config for component carrier function.
 
uint8_t DoAddUeMeasReportConfigForFfr (LteRrcSap::ReportConfigEutra reportConfig)
 Add UE measure report config for FFR function.
 
std::vector< uint8_t > DoAddUeMeasReportConfigForHandover (LteRrcSap::ReportConfigEutra reportConfig)
 Add UE measure report config for handover function.
 
uint16_t DoAllocateTemporaryCellRnti (uint8_t componentCarrierId)
 Allocate temporary cell RNTI function.
 
void DoCompleteSetupUe (uint16_t rnti, LteEnbRrcSapProvider::CompleteSetupUeParameters params)
 Part of the RRC protocol.
 
void DoDataRadioBearerSetupRequest (EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters params)
 Data radio beaerer setup request function.
 
void DoInitialContextSetupRequest (EpcEnbS1SapUser::InitialContextSetupRequestParameters params)
 Initial context setup request function.
 
void DoNotifyLcConfigResult (uint16_t rnti, uint8_t lcid, bool success)
 Notify LC config result function.
 
void DoPathSwitchRequestAcknowledge (EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters params)
 Path switch request acknowledge function.
 
void DoRecvHandoverCancel (EpcX2SapUser::HandoverCancelParams params)
 Receive Handover Cancel function.
 
void DoRecvHandoverPreparationFailure (EpcX2SapUser::HandoverPreparationFailureParams params)
 Receive handover preparation failure function.
 
void DoRecvHandoverRequest (EpcX2SapUser::HandoverRequestParams params)
 Receive handover request function.
 
void DoRecvHandoverRequestAck (EpcX2SapUser::HandoverRequestAckParams params)
 Receive handover request acknowledge function.
 
void DoRecvIdealUeContextRemoveRequest (uint16_t rnti)
 Part of the RRC protocol.
 
void DoRecvLoadInformation (EpcX2SapUser::LoadInformationParams params)
 Receive load information function.
 
void DoRecvMeasurementReport (uint16_t rnti, LteRrcSap::MeasurementReport msg)
 Part of the RRC protocol.
 
void DoRecvResourceStatusUpdate (EpcX2SapUser::ResourceStatusUpdateParams params)
 Receive resource status update function.
 
void DoRecvRrcConnectionReconfigurationCompleted (uint16_t rnti, LteRrcSap::RrcConnectionReconfigurationCompleted msg)
 Part of the RRC protocol.
 
void DoRecvRrcConnectionReestablishmentComplete (uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentComplete msg)
 Part of the RRC protocol.
 
void DoRecvRrcConnectionReestablishmentRequest (uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentRequest msg)
 Part of the RRC protocol.
 
void DoRecvRrcConnectionRequest (uint16_t rnti, LteRrcSap::RrcConnectionRequest msg)
 Part of the RRC protocol.
 
void DoRecvRrcConnectionSetupCompleted (uint16_t rnti, LteRrcSap::RrcConnectionSetupCompleted msg)
 Part of the RRC protocol.
 
void DoRecvSnStatusTransfer (EpcX2SapUser::SnStatusTransferParams params)
 Receive SN status transfer function.
 
void DoRecvUeContextRelease (EpcX2SapUser::UeContextReleaseParams params)
 Receive UE context release function.
 
void DoRecvUeData (EpcX2SapUser::UeDataParams params)
 Receive UE data function.
 
void DoRrcConfigurationUpdateInd (LteEnbCmacSapUser::UeConfig params)
 RRC configuration update indication function.
 
void DoSendLoadInformation (EpcX2Sap::LoadInformationParams params)
 Send load information function.
 
void DoSetNumberOfComponentCarriers (uint16_t numberOfComponentCarriers)
 Set number of component carriers.
 
void DoSetPdschConfigDedicated (uint16_t rnti, LteRrcSap::PdschConfigDedicated pa)
 Set PDSCH config dedicated function.
 
void DoTriggerHandover (uint16_t rnti, uint16_t targetCellId)
 Trigger handover function.
 
uint8_t GetLogicalChannelGroup (EpsBearer bearer)
 
uint8_t GetLogicalChannelPriority (EpsBearer bearer)
 
uint16_t GetNewSrsConfigurationIndex ()
 Allocate a new SRS configuration index for a new UE.
 
TypeId GetRlcType (EpsBearer bearer)
 
bool IsMaxSrsReached ()
 
bool IsRandomAccessCompleted (uint16_t rnti)
 Is random access completed function.
 
void RemoveSrsConfigurationIndex (uint16_t srcCi)
 remove a previously allocated SRS configuration index
 
void RemoveUe (uint16_t rnti)
 remove a UE from the cell
 
void SendSystemInformation ()
 method used to periodically send System Information
 

Private Attributes

bool m_admitHandoverRequest
 The AdmitHandoverRequest attribute.
 
bool m_admitRrcConnectionRequest
 The AdmitRrcConnectionRequest attribute.
 
std::set< uint8_t > m_anrMeasIds
 List of measurement identities which are intended for ANR purpose.
 
LteAnrSapProviderm_anrSapProvider
 Interface to the ANR instance.
 
LteAnrSapUserm_anrSapUser
 Receive API calls from the ANR instance.
 
bool m_carriersConfigured
 are carriers configured
 
LteCcmRrcSapProviderm_ccmRrcSapProvider
 Interface to the LteEnbComponentCarrierManager instance.
 
LteCcmRrcSapUserm_ccmRrcSapUser
 Receive API calls from the LteEnbComponentCarrierManager instance.
 
std::vector< LteEnbCmacSapProvider * > m_cmacSapProvider
 Interface to the eNodeB MAC instance.
 
std::vector< LteEnbCmacSapUser * > m_cmacSapUser
 Receive API calls from the eNodeB MAC instance.
 
std::set< uint8_t > m_componentCarrierMeasIds
 List of measurement identities which are intended for component carrier management purposes.
 
std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > m_componentCarrierPhyConf
 component carrier phy configuration
 
bool m_configured
 True if ConfigureCell() has been completed.
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionEstablishedTrace
 The ConnectionEstablished trace source.
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReconfigurationTrace
 The ConnectionReconfiguration trace source.
 
Time m_connectionRejectedTimeoutDuration
 The ConnectionRejectedTimeoutDuration attribute.
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReleaseTrace
 The NotifyConnectionRelease trace source.
 
Time m_connectionRequestTimeoutDuration
 The ConnectionRequestTimeoutDuration attribute.
 
Time m_connectionSetupTimeoutDuration
 The ConnectionSetupTimeoutDuration attribute.
 
std::vector< LteEnbCphySapProvider * > m_cphySapProvider
 Interface to the eNodeB PHY instances.
 
std::vector< LteEnbCphySapUser * > m_cphySapUser
 Receive API calls from the eNodeB PHY instances.
 
uint8_t m_defaultTransmissionMode
 The DefaultTransmissionMode attribute.
 
uint16_t m_dlBandwidth
 Downlink transmission bandwidth configuration in number of Resource Blocks.
 
uint32_t m_dlEarfcn
 Downlink E-UTRA Absolute Radio Frequency Channel Number.
 
LteEpsBearerToRlcMapping_t m_epsBearerToRlcMapping
 The EpsBearerToRlcMapping attribute.
 
std::set< uint8_t > m_ffrMeasIds
 List of measurement identities which are intended for FFR purpose.
 
std::vector< LteFfrRrcSapProvider * > m_ffrRrcSapProvider
 Interface to the FFR algorithm instance.
 
std::vector< LteFfrRrcSapUser * > m_ffrRrcSapUser
 Receive API calls from the FFR algorithm instance.
 
Callback< void, Ptr< Packet > > m_forwardUpCallback
 forward up callback function
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndOkTrace
 The HandoverEndOk trace source.
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverFailureJoiningTrace
 The 'HandoverFailureJoining' Trace source.
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverFailureLeavingTrace
 The 'HandoverFailureLeaving' Trace source.
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverFailureMaxRachTrace
 The 'HandoverFailureMaxRach' Trace source.
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverFailureNoPreambleTrace
 The 'HandoverFailureNoPreamble' Trace source.
 
Time m_handoverJoiningTimeoutDuration
 The HandoverJoiningTimeoutDuration attribute.
 
Time m_handoverLeavingTimeoutDuration
 The HandoverLeavingTimeoutDuration attribute.
 
LteHandoverManagementSapProviderm_handoverManagementSapProvider
 Interface to the handover algorithm instance.
 
LteHandoverManagementSapUserm_handoverManagementSapUser
 Receive API calls from the handover algorithm instance.
 
std::set< uint8_t > m_handoverMeasIds
 List of measurement identities which are intended for handover purpose.
 
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_handoverStartTrace
 The HandoverStart trace source.
 
uint16_t m_lastAllocatedConfigurationIndex
 last allocated configuration index
 
uint16_t m_lastAllocatedRnti
 Last allocated RNTI.
 
LteMacSapProviderm_macSapProvider
 Interface to the eNodeB MAC instance, to be used by RLC instances.
 
TracedCallback< uint16_t, uint16_t > m_newUeContextTrace
 The NewUeContext trace source.
 
uint16_t m_numberOfComponentCarriers
 number of component carriers
 
int8_t m_qRxLevMin
 The QRxLevMin attribute.
 
bool m_reconfigureUes
 reconfigure UEs?
 
TracedCallback< uint64_t, uint16_t, uint16_t, LteRrcSap::MeasurementReportm_recvMeasurementReportTrace
 The RecvMeasurementReport trace source.
 
LteEnbRrcSapProviderm_rrcSapProvider
 Interface to receive messages from UE over the RRC protocol.
 
LteEnbRrcSapUserm_rrcSapUser
 Interface to send messages to UE over the RRC protocol.
 
TracedCallback< uint64_t, uint16_t, uint16_t, std::string > m_rrcTimeoutTrace
 The 'TimerExpiry' Trace source.
 
uint8_t m_rsrpFilterCoefficient
 The RsrpFilterCoefficient attribute.
 
uint8_t m_rsrqFilterCoefficient
 The RsrqFilterCoefficient attribute.
 
EpcEnbS1SapProviderm_s1SapProvider
 Interface to send messages to core network over the S1 protocol.
 
EpcEnbS1SapUserm_s1SapUser
 Interface to receive messages from core network over the S1 protocol.
 
std::vector< LteRrcSap::SystemInformationBlockType1m_sib1
 The System Information Block Type 1 that is currently broadcasted over BCH.
 
uint16_t m_srsCurrentPeriodicityId
 The SrsPeriodicity attribute.
 
Time m_systemInformationPeriodicity
 The SystemInformationPeriodicity attribute.
 
std::map< uint16_t, Ptr< UeManager > > m_ueMap
 The UeMap attribute.
 
LteRrcSap::MeasConfig m_ueMeasConfig
 List of measurement configuration which are active in every UE attached to this eNodeB instance.
 
std::set< uint16_t > m_ueSrsConfigurationIndexSet
 UE SRS configuration index set.
 
uint16_t m_ulBandwidth
 Uplink transmission bandwidth configuration in number of Resource Blocks.
 
uint32_t m_ulEarfcn
 Uplink E-UTRA Absolute Radio Frequency Channel Number.
 
EpcX2SapProviderm_x2SapProvider
 Interface to send messages to neighbour eNodeB over the X2 interface.
 
EpcX2SapUserm_x2SapUser
 Interface to receive messages from neighbour eNodeB over the X2 interface.
 
std::map< uint32_t, X2uTeidInfom_x2uTeidInfoMap
 TEID, RNTI, DRBID.
 

Friends

class EnbRrcMemberLteEnbCmacSapUser
 allow EnbRrcMemberLteEnbCmacSapUser class friend access
 
class EpcX2SpecificEpcX2SapUser< LteEnbRrc >
 allow MemberEpcEnbS1SapUser<LteEnbRrc> class friend access
 
class MemberEpcEnbS1SapUser< LteEnbRrc >
 allow MemberLteEnbRrcSapProvider<LteEnbRrc> class friend access
 
class MemberLteAnrSapUser< LteEnbRrc >
 allow MemberLteAnrSapUser<LteEnbRrc> class friend access
 
class MemberLteCcmRrcSapUser< LteEnbRrc >
 allow MemberLteCcmRrcSapUser<LteEnbRrc> class friend access
 
class MemberLteEnbRrcSapProvider< LteEnbRrc >
 allow MemberLteEnbRrcSapProvider<LteEnbRrc> class friend access
 
class MemberLteFfrRrcSapUser< LteEnbRrc >
 allow MemberLteFfrRrcSapUser<LteEnbRrc> class friend access
 
class MemberLteHandoverManagementSapUser< LteEnbRrc >
 allow MemberLteHandoverManagementSapUser<LteEnbRrc> class friend access
 
class UeManager
 allow UeManager class friend access
 

Additional Inherited Members

Detailed Description

The LTE Radio Resource Control entity at the eNB.

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

Member Typedef Documentation

◆ ConnectionHandoverTracedCallback

typedef void(* ns3::LteEnbRrc::ConnectionHandoverTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti)

TracedCallback signature for connection and handover end events.

Parameters
[in]imsi
[in]cellId
[in]rnti

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

◆ HandoverFailureTracedCallback

typedef void(* ns3::LteEnbRrc::HandoverFailureTracedCallback) (const uint64_t imsi, const uint16_t rnti, const uint16_t cellId)

TracedCallback signature for handover failure events.

Parameters
[in]imsi
[in]rnti
[in]cellId

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

◆ HandoverStartTracedCallback

typedef void(* ns3::LteEnbRrc::HandoverStartTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const uint16_t targetCid)

TracedCallback signature for handover start events.

Parameters
[in]imsi
[in]cellId
[in]rnti
[in]targetCid

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

◆ NewUeContextTracedCallback

typedef void(* ns3::LteEnbRrc::NewUeContextTracedCallback) (const uint16_t cellId, const uint16_t rnti)

TracedCallback signature for new Ue Context events.

Parameters
[in]cellId
[in]rnti

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

◆ ReceiveReportTracedCallback

typedef void(* ns3::LteEnbRrc::ReceiveReportTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const LteRrcSap::MeasurementReport report)

TracedCallback signature for receive measurement report events.

Parameters
[in]imsi
[in]cellId
[in]rnti
[in]report
Todo
The LteRrcSap::MeasurementReport argument should be changed to a const reference since the argument is large.

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

◆ TimerExpiryTracedCallback

typedef void(* ns3::LteEnbRrc::TimerExpiryTracedCallback) (const uint64_t imsi, const uint16_t rnti, const uint16_t cellId, const std::string cause)

TracedCallback signature for timer expiry events.

Parameters
[in]imsi
[in]rnti
[in]cellId
[in]cause

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

Member Enumeration Documentation

◆ LteEpsBearerToRlcMapping_t

Identifies how EPS Bearer parameters are mapped to different RLC types.

Enumerator
RLC_SM_ALWAYS 
RLC_UM_ALWAYS 
RLC_AM_ALWAYS 
PER_BASED 

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

Constructor & Destructor Documentation

◆ LteEnbRrc()

◆ ~LteEnbRrc()

ns3::LteEnbRrc::~LteEnbRrc ( )
override

Destructor.

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

References NS_LOG_FUNCTION.

Member Function Documentation

◆ AddUe()

uint16_t ns3::LteEnbRrc::AddUe ( UeManager::State state,
uint8_t componentCarrierId )
private

Allocate a new RNTI for a new UE.

This is done in the following cases:

  • T-C-RNTI allocation upon contention-based MAC Random Access procedure
  • target cell RNTI allocation upon handover
Parameters
statethe initial state of the UeManager
componentCarrierIdprimary component carrier ID of the UeManager
Returns
the newly allocated RNTI

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

References ns3::LteCcmRrcSapProvider::AddUe(), ComponentCarrierToCellId(), ns3::CreateObject(), m_ccmRrcSapProvider, m_lastAllocatedRnti, m_newUeContextTrace, m_ueMap, NS_ASSERT_MSG, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by DoAllocateTemporaryCellRnti(), and DoRecvHandoverRequest().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddUeMeasReportConfig()

std::vector< uint8_t > ns3::LteEnbRrc::AddUeMeasReportConfig ( LteRrcSap::ReportConfigEutra config)

Add a new UE measurement reporting configuration.

Parameters
configthe new reporting configuration
Returns
the measurement IDs (measId) referring to the newly added reporting configuration

Assuming intra-frequency environment, the new measurement reporting configuration will be automatically associated to measurement objects corresponding to serving cell frequencies.

Can only be called before the start of simulation.

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

References ns3::LteRrcSap::ReportConfigEutra::BOTH, ns3::LteRrcSap::ThresholdEutra::choice, ns3::LteRrcSap::ReportConfigEutra::EVENT_A1, ns3::LteRrcSap::ReportConfigEutra::EVENT_A2, ns3::LteRrcSap::ReportConfigEutra::EVENT_A4, ns3::LteRrcSap::ReportConfigEutra::EVENT_A5, ns3::LteRrcSap::ReportConfigEutra::eventId, m_numberOfComponentCarriers, m_ueMeasConfig, ns3::LteRrcSap::MeasIdToAddMod::measId, ns3::LteRrcSap::MeasConfig::measIdToAddModList, ns3::LteRrcSap::MeasIdToAddMod::measObjectId, ns3::Simulator::Now(), NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_WARN, ns3::LteRrcSap::ReportConfigEutra::purpose, ns3::LteRrcSap::ReportConfigEutra::REPORT_STRONGEST_CELLS, ns3::LteRrcSap::ReportConfigToAddMod::reportConfigEutra, ns3::LteRrcSap::MeasIdToAddMod::reportConfigId, ns3::LteRrcSap::ReportConfigToAddMod::reportConfigId, ns3::LteRrcSap::MeasConfig::reportConfigToAddModList, ns3::LteRrcSap::ReportConfigEutra::reportQuantity, ns3::LteRrcSap::ReportConfigEutra::RSRP, ns3::LteRrcSap::ReportConfigEutra::RSRQ, ns3::Seconds(), ns3::LteRrcSap::ReportConfigEutra::threshold1, ns3::LteRrcSap::ReportConfigEutra::threshold2, ns3::LteRrcSap::ThresholdEutra::THRESHOLD_RSRP, ns3::LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ, and ns3::LteRrcSap::ReportConfigEutra::triggerQuantity.

Referenced by DoAddUeMeasReportConfigForAnr(), DoAddUeMeasReportConfigForComponentCarrier(), DoAddUeMeasReportConfigForFfr(), and DoAddUeMeasReportConfigForHandover().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddX2Neighbour()

void ns3::LteEnbRrc::AddX2Neighbour ( uint16_t cellId)

Add a neighbour with an X2 interface.

Parameters
cellIdneighbouring cell id

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

References ns3::LteAnrSapProvider::AddNeighbourRelation(), m_anrSapProvider, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ CellToComponentCarrierId()

uint8_t ns3::LteEnbRrc::CellToComponentCarrierId ( uint16_t cellId)

convert the cell id to component carrier id

Parameters
cellIdCell ID
Returns
corresponding component carrier id

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

References m_componentCarrierPhyConf, NS_FATAL_ERROR, and NS_LOG_FUNCTION.

Referenced by DoRecvHandoverRequest().

+ Here is the caller graph for this function:

◆ ComponentCarrierToCellId()

uint16_t ns3::LteEnbRrc::ComponentCarrierToCellId ( uint8_t componentCarrierId)

convert the component carrier id to cell id

Parameters
componentCarrierIdcomponent carrier ID
Returns
corresponding cell ID

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

References m_componentCarrierPhyConf, and NS_LOG_FUNCTION.

Referenced by AddUe(), ConnectionRejectedTimeout(), ConnectionRequestTimeout(), ConnectionSetupTimeout(), DoRecvHandoverRequest(), DoRecvIdealUeContextRemoveRequest(), DoTriggerHandover(), HandoverJoiningTimeout(), HandoverLeavingTimeout(), and RemoveUe().

+ Here is the caller graph for this function:

◆ ConfigureCarriers()

void ns3::LteEnbRrc::ConfigureCarriers ( std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > ccPhyConf)

Configure carriers.

Parameters
ccPhyConfthe component carrier configuration

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

References ns3::Object::DoInitialize(), EnbRrcMemberLteEnbCmacSapUser, m_carriersConfigured, m_cmacSapUser, m_componentCarrierPhyConf, m_cphySapUser, m_ffrRrcSapUser, m_numberOfComponentCarriers, NS_ABORT_MSG_IF, and NS_ASSERT_MSG.

+ Here is the call graph for this function:

◆ ConfigureCell()

void ns3::LteEnbRrc::ConfigureCell ( std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > ccPhyConf)

Configure cell-specific parameters.

Configure cell-specific parameters and propagate them to lower layers. The parameters include bandwidth, EARFCN (E-UTRA Absolute Radio Frequency Channel Number), and cell ID.

In addition to parameter configuration, this function also performs several other tasks:

  • Initializing UE measurement (i.e. measurement object and quantity configuration), which is expected to be further configured through LteEnbRrc::AddUeMeasReportConfig;
  • Enabling MIB (Master Information Block) broadcast transmission
  • Enabling SIB (System Information Block) broadcast transmission

Typically runs when the eNodeB NetDevice is installed, for instance by LteHelper::InstallEnbDevice (i.e. before the simulation starts).

Warning
Raises an error when executed more than once.
Parameters
ccPhyConfthe component carrier configuration

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

References ns3::LteRrcSap::MeasObjectEutra::allowedMeasBandwidth, ns3::LteRrcSap::MeasObjectEutra::carrierFreq, ns3::LteRrcSap::SystemInformationBlockType1::cellAccessRelatedInfo, ns3::LteRrcSap::CellAccessRelatedInfo::cellIdentity, ns3::LteRrcSap::SystemInformationBlockType1::cellSelectionInfo, ns3::LteRrcSap::CellAccessRelatedInfo::csgIdentity, ns3::LteRrcSap::CellAccessRelatedInfo::csgIndication, ns3::LteRrcSap::MasterInformationBlock::dlBandwidth, 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, m_cmacSapProvider, m_configured, m_cphySapProvider, m_dlBandwidth, m_dlEarfcn, m_ffrRrcSapProvider, m_qRxLevMin, m_rsrpFilterCoefficient, m_rsrqFilterCoefficient, m_sib1, m_ueMeasConfig, m_ulBandwidth, m_ulEarfcn, ns3::LteRrcSap::MeasObjectToAddMod::measObjectEutra, ns3::LteRrcSap::MeasObjectToAddMod::measObjectId, ns3::LteRrcSap::MeasConfig::measObjectToAddModList, ns3::MilliSeconds(), ns3::LteRrcSap::MeasObjectEutra::neighCellConfig, NS_ASSERT, NS_LOG_FUNCTION, ns3::LteRrcSap::MeasObjectEutra::offsetFreq, ns3::LteRrcSap::PlmnIdentityInfo::plmnIdentity, ns3::LteRrcSap::CellAccessRelatedInfo::plmnIdentityInfo, ns3::LteRrcSap::MeasObjectEutra::presenceAntennaPort1, ns3::LteRrcSap::CellSelectionInfo::qQualMin, ns3::LteRrcSap::CellSelectionInfo::qRxLevMin, ns3::LteRrcSap::MeasConfig::quantityConfig, ns3::Simulator::Schedule(), SendSystemInformation(), and ns3::LteRrcSap::MasterInformationBlock::systemFrameNumber.

+ Here is the call graph for this function:

◆ ConnectionRejectedTimeout()

void ns3::LteEnbRrc::ConnectionRejectedTimeout ( uint16_t rnti)

Method triggered a while after sending RRC Connection Rejected.

The method will remove the UE context.

Parameters
rntithe T-C-RNTI whose timeout expired

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

References ComponentCarrierToCellId(), ns3::UeManager::CONNECTION_REJECTED, GetUeManager(), m_rrcTimeoutTrace, NS_ASSERT_MSG, NS_LOG_FUNCTION, RemoveUe(), and ns3::ToString().

Referenced by ns3::UeManager::RecvRrcConnectionRequest().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConnectionRequestTimeout()

void ns3::LteEnbRrc::ConnectionRequestTimeout ( uint16_t rnti)

Method triggered when a UE is expected to request for connection but does not do so in a reasonable time.

The method will remove the UE context.

Parameters
rntithe T-C-RNTI whose timeout expired

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

References ComponentCarrierToCellId(), GetUeManager(), ns3::UeManager::INITIAL_RANDOM_ACCESS, m_rrcTimeoutTrace, NS_ASSERT_MSG, NS_LOG_FUNCTION, RemoveUe(), and ns3::ToString().

Referenced by ns3::UeManager::DoInitialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConnectionSetupTimeout()

void ns3::LteEnbRrc::ConnectionSetupTimeout ( uint16_t rnti)

Method triggered when a UE is expected to complete a connection setup procedure but does not do so in a reasonable time.

The method will remove the UE context.

Parameters
rntithe T-C-RNTI whose timeout expired

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

References ComponentCarrierToCellId(), ns3::UeManager::CONNECTION_SETUP, GetUeManager(), m_rrcTimeoutTrace, NS_ASSERT_MSG, NS_LOG_FUNCTION, RemoveUe(), and ns3::ToString().

Referenced by ns3::UeManager::RecvRrcConnectionRequest().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoAddUeMeasReportConfigForAnr()

uint8_t ns3::LteEnbRrc::DoAddUeMeasReportConfigForAnr ( LteRrcSap::ReportConfigEutra reportConfig)
private

Add UE measure report config for ANR function.

Parameters
reportConfigLteRrcSap::ReportConfigEutra
Returns
measure ID

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

References AddUeMeasReportConfig(), m_anrMeasIds, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoAddUeMeasReportConfigForComponentCarrier()

uint8_t ns3::LteEnbRrc::DoAddUeMeasReportConfigForComponentCarrier ( LteRrcSap::ReportConfigEutra reportConfig)
private

Add UE measure report config for component carrier function.

Parameters
reportConfigLteRrcSap::ReportConfigEutra
Returns
measure ID

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

References AddUeMeasReportConfig(), m_componentCarrierMeasIds, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoAddUeMeasReportConfigForFfr()

uint8_t ns3::LteEnbRrc::DoAddUeMeasReportConfigForFfr ( LteRrcSap::ReportConfigEutra reportConfig)
private

Add UE measure report config for FFR function.

Parameters
reportConfigLteRrcSap::ReportConfigEutra
Returns
measure ID

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

References AddUeMeasReportConfig(), m_ffrMeasIds, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoAddUeMeasReportConfigForHandover()

std::vector< uint8_t > ns3::LteEnbRrc::DoAddUeMeasReportConfigForHandover ( LteRrcSap::ReportConfigEutra reportConfig)
private

Add UE measure report config for handover function.

Parameters
reportConfigLteRrcSap::ReportConfigEutra
Returns
measure ID

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

References AddUeMeasReportConfig(), m_handoverMeasIds, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoAllocateTemporaryCellRnti()

uint16_t ns3::LteEnbRrc::DoAllocateTemporaryCellRnti ( uint8_t componentCarrierId)
private

Allocate temporary cell RNTI function.

Parameters
componentCarrierIdID of the primary component carrier
Returns
temporary RNTI

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

References AddUe(), ns3::UeManager::INITIAL_RANDOM_ACCESS, IsMaxSrsReached(), NS_LOG_FUNCTION, and NS_LOG_WARN.

Referenced by ns3::EnbRrcMemberLteEnbCmacSapUser::AllocateTemporaryCellRnti().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoCompleteSetupUe()

void ns3::LteEnbRrc::DoCompleteSetupUe ( uint16_t rnti,
LteEnbRrcSapProvider::CompleteSetupUeParameters params )
private

Part of the RRC protocol.

Forwarding LteEnbRrcSapProvider::CompleteSetupUe interface to UeManager::CompleteSetupUe

Parameters
rntithe RNTI
paramsthe LteEnbRrcSapProvider::CompleteSetupUeParameters

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoDataRadioBearerSetupRequest()

◆ DoDispose()

void ns3::LteEnbRrc::DoDispose ( )
overrideprotectedvirtual

Destructor implementation.

This method is called by Dispose() or by the Object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overridden 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 1879 of file lte-enb-rrc.cc.

References m_anrSapUser, m_ccmRrcSapUser, m_cmacSapUser, m_cphySapUser, m_ffrRrcSapUser, m_handoverManagementSapUser, m_numberOfComponentCarriers, m_rrcSapProvider, m_s1SapUser, m_ueMap, m_x2SapUser, and NS_LOG_FUNCTION.

◆ DoInitialContextSetupRequest()

void ns3::LteEnbRrc::DoInitialContextSetupRequest ( EpcEnbS1SapUser::InitialContextSetupRequestParameters params)
private

Initial context setup request function.

Parameters
paramsEpcEnbS1SapUser::InitialContextSetupRequestParameters

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

References GetUeManager(), NS_LOG_FUNCTION, and ns3::EpcEnbS1SapUser::InitialContextSetupRequestParameters::rnti.

+ Here is the call graph for this function:

◆ DoNotifyLcConfigResult()

void ns3::LteEnbRrc::DoNotifyLcConfigResult ( uint16_t rnti,
uint8_t lcid,
bool success )
private

Notify LC config result function.

Parameters
rntiRNTI
lcidLCID
successthe success indicator

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

References NS_FATAL_ERROR, and NS_LOG_FUNCTION.

Referenced by ns3::EnbRrcMemberLteEnbCmacSapUser::NotifyLcConfigResult().

+ Here is the caller graph for this function:

◆ DoPathSwitchRequestAcknowledge()

void ns3::LteEnbRrc::DoPathSwitchRequestAcknowledge ( EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters params)
private

Path switch request acknowledge function.

Parameters
paramsEpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoRecvHandoverCancel()

void ns3::LteEnbRrc::DoRecvHandoverCancel ( EpcX2SapUser::HandoverCancelParams params)
private

Receive Handover Cancel function.

Parameters
paramsEpcX2SapUser::HandoverCancelParams

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

References GetUeManager(), HasUeManager(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ DoRecvHandoverPreparationFailure()

void ns3::LteEnbRrc::DoRecvHandoverPreparationFailure ( EpcX2SapUser::HandoverPreparationFailureParams params)
private

Receive handover preparation failure function.

Parameters
paramsEpcX2SapUser::HandoverPreparationFailureParams

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

References GetUeManager(), HasUeManager(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ DoRecvHandoverRequest()

void ns3::LteEnbRrc::DoRecvHandoverRequest ( EpcX2SapUser::HandoverRequestParams params)
private

Receive handover request function.

Parameters
paramsEpcX2SapUser::HandoverRequestParams

When the maximum non-contention based preambles is reached, then it is considered handover has failed and source cell is notified to release the RRC connection and delete the UE context at eNodeB and SGW/PGW.

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

References AddUe(), ns3::EpcX2Sap::HandoverRequestAckParams::admittedBearers, ns3::EpcX2Sap::HandoverRequestParams::bearers, CellToComponentCarrierId(), ComponentCarrierToCellId(), ns3::LteRrcSap::TxFailParam::connEstFailCount, ns3::LteEnbRrcSapUser::EncodeHandoverCommand(), ns3::EpcX2Sap::ErabAdmittedItem::erabId, GetUeManager(), ns3::UeManager::HANDOVER_JOINING, ns3::LteRrcSap::MobilityControlInfo::haveRachConfigDedicated, IsMaxSrsReached(), m_admitHandoverRequest, m_cmacSapProvider, m_handoverFailureNoPreambleTrace, m_rrcSapUser, m_x2SapProvider, ns3::EpcX2Sap::HandoverRequestParams::mmeUeS1apId, ns3::LteRrcSap::RrcConnectionReconfiguration::mobilityControlInfo, ns3::EpcX2Sap::HandoverRequestAckParams::newEnbUeX2apId, ns3::LteRrcSap::MobilityControlInfo::newUeIdentity, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC, ns3::LteRrcSap::PreambleInfo::numberOfRaPreambles, ns3::EpcX2Sap::HandoverRequestAckParams::oldEnbUeX2apId, ns3::EpcX2Sap::HandoverRequestParams::oldEnbUeX2apId, ns3::LteRrcSap::RachConfigCommon::preambleInfo, ns3::LteRrcSap::RaSupervisionInfo::preambleTransMax, ns3::LteRrcSap::RadioResourceConfigCommon::rachConfigCommon, ns3::LteRrcSap::MobilityControlInfo::rachConfigDedicated, ns3::LteRrcSap::MobilityControlInfo::radioResourceConfigCommon, ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPrachMaskIndex, ns3::LteRrcSap::RachConfigDedicated::raPrachMaskIndex, ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPreambleId, ns3::LteRrcSap::RachConfigDedicated::raPreambleIndex, ns3::LteRrcSap::RaSupervisionInfo::raResponseWindowSize, ns3::LteRrcSap::RachConfigCommon::raSupervisionInfo, RemoveUe(), ns3::EpcX2Sap::HandoverRequestAckParams::rrcContext, ns3::EpcX2SapProvider::SendHandoverPreparationFailure(), ns3::EpcX2SapProvider::SendHandoverRequestAck(), ns3::EpcX2Sap::HandoverRequestAckParams::sourceCellId, ns3::EpcX2Sap::HandoverRequestParams::sourceCellId, ns3::EpcX2Sap::HandoverRequestAckParams::targetCellId, ns3::EpcX2Sap::HandoverRequestParams::targetCellId, ns3::LteRrcSap::RachConfigCommon::txFailParam, and ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::valid.

+ Here is the call graph for this function:

◆ DoRecvHandoverRequestAck()

void ns3::LteEnbRrc::DoRecvHandoverRequestAck ( EpcX2SapUser::HandoverRequestAckParams params)
private

Receive handover request acknowledge function.

Parameters
paramsEpcX2SapUser::HandoverRequestAckParams

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

References GetUeManager(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ DoRecvIdealUeContextRemoveRequest()

void ns3::LteEnbRrc::DoRecvIdealUeContextRemoveRequest ( uint16_t rnti)
private

Part of the RRC protocol.

Forwarding LteEnbRrcSapProvider::RecvIdealUeContextRemoveRequest interface to UeManager::RecvIdealUeContextRemoveRequest.

Remove the UE context at eNodeB and also remove the bearers established at SGW/PGW node. Bearer info at MME is not deleted since they are added at MME only at the beginning of simulation and if they are removed, the bearers cannot be activated again.

Parameters
rntithe C-RNTI identifying the user

During the HO, when the RACH failure due to the maximum number of re-attempts is reached the UE request the target eNB to deletes its context. Upon which, the target eNB sends handover preparation failure to the source eNB.

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

References ComponentCarrierToCellId(), GetUeManager(), ns3::UeManager::HANDOVER_JOINING, HasUeManager(), m_handoverFailureMaxRachTrace, m_x2SapProvider, NS_LOG_FUNCTION, RemoveUe(), and ns3::EpcX2SapProvider::SendHandoverPreparationFailure().

+ Here is the call graph for this function:

◆ DoRecvLoadInformation()

void ns3::LteEnbRrc::DoRecvLoadInformation ( EpcX2SapUser::LoadInformationParams params)
private

Receive load information function.

Parameters
paramsEpcX2SapUser::LoadInformationParams

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

References m_ffrRrcSapProvider, NS_ABORT_IF, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

◆ DoRecvMeasurementReport()

void ns3::LteEnbRrc::DoRecvMeasurementReport ( uint16_t rnti,
LteRrcSap::MeasurementReport msg )
private

Part of the RRC protocol.

Forwarding LteEnbRrcSapProvider::RecvMeasurementReport interface to UeManager::RecvMeasurementReport

Parameters
rntithe RNTI
msgthe LteRrcSap::MeasurementReport

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoRecvResourceStatusUpdate()

void ns3::LteEnbRrc::DoRecvResourceStatusUpdate ( EpcX2SapUser::ResourceStatusUpdateParams params)
private

Receive resource status update function.

Parameters
paramsEpcX2SapUser::ResourceStatusUpdateParams

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

References NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

◆ DoRecvRrcConnectionReconfigurationCompleted()

void ns3::LteEnbRrc::DoRecvRrcConnectionReconfigurationCompleted ( uint16_t rnti,
LteRrcSap::RrcConnectionReconfigurationCompleted msg )
private

Part of the RRC protocol.

Forwarding LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted interface to UeManager::RecvRrcConnectionReconfigurationCompleted

Parameters
rntithe RNTI
msgthe LteRrcSap::RrcConnectionReconfigurationCompleted

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoRecvRrcConnectionReestablishmentComplete()

void ns3::LteEnbRrc::DoRecvRrcConnectionReestablishmentComplete ( uint16_t rnti,
LteRrcSap::RrcConnectionReestablishmentComplete msg )
private

Part of the RRC protocol.

Forwarding LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface to UeManager::RecvRrcConnectionReestablishmentComplete

Parameters
rntithe RNTI
msgthe LteRrcSap::RrcConnectionReestablishmentComplete

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoRecvRrcConnectionReestablishmentRequest()

void ns3::LteEnbRrc::DoRecvRrcConnectionReestablishmentRequest ( uint16_t rnti,
LteRrcSap::RrcConnectionReestablishmentRequest msg )
private

Part of the RRC protocol.

Forwarding LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest interface to UeManager::RecvRrcConnectionReestablishmentRequest

Parameters
rntithe RNTI
msgthe LteRrcSap::RrcConnectionReestablishmentRequest

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoRecvRrcConnectionRequest()

void ns3::LteEnbRrc::DoRecvRrcConnectionRequest ( uint16_t rnti,
LteRrcSap::RrcConnectionRequest msg )
private

Part of the RRC protocol.

Forwarding LteEnbRrcSapProvider::RecvRrcConnectionRequest interface to UeManager::RecvRrcConnectionRequest

Parameters
rntithe RNTI
msgthe LteRrcSap::RrcConnectionRequest

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoRecvRrcConnectionSetupCompleted()

void ns3::LteEnbRrc::DoRecvRrcConnectionSetupCompleted ( uint16_t rnti,
LteRrcSap::RrcConnectionSetupCompleted msg )
private

Part of the RRC protocol.

Forwarding LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface to UeManager::RecvRrcConnectionSetupCompleted

Parameters
rntithe RNTI
msgthe LteRrcSap::RrcConnectionSetupCompleted

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoRecvSnStatusTransfer()

void ns3::LteEnbRrc::DoRecvSnStatusTransfer ( EpcX2SapUser::SnStatusTransferParams params)
private

Receive SN status transfer function.

Parameters
paramsEpcX2SapUser::SnStatusTransferParams

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

References GetUeManager(), HasUeManager(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ DoRecvUeContextRelease()

void ns3::LteEnbRrc::DoRecvUeContextRelease ( EpcX2SapUser::UeContextReleaseParams params)
private

Receive UE context release function.

Parameters
paramsEpcX2SapUser::UeContextReleaseParams

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

References GetUeManager(), HasUeManager(), NS_LOG_FUNCTION, NS_LOG_LOGIC, and RemoveUe().

+ Here is the call graph for this function:

◆ DoRecvUeData()

void ns3::LteEnbRrc::DoRecvUeData ( EpcX2SapUser::UeDataParams params)
private

Receive UE data function.

Parameters
paramsEpcX2SapUser::UeDataParams

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

References GetUeManager(), m_x2uTeidInfoMap, NS_FATAL_ERROR, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ DoRrcConfigurationUpdateInd()

void ns3::LteEnbRrc::DoRrcConfigurationUpdateInd ( LteEnbCmacSapUser::UeConfig params)
private

RRC configuration update indication function.

Parameters
paramsLteEnbCmacSapUser::UeConfig

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

References GetUeManager(), and ns3::LteEnbCmacSapUser::UeConfig::m_rnti.

Referenced by ns3::EnbRrcMemberLteEnbCmacSapUser::RrcConfigurationUpdateInd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoSendLoadInformation()

void ns3::LteEnbRrc::DoSendLoadInformation ( EpcX2Sap::LoadInformationParams params)
private

Send load information function.

Parameters
paramsEpcX2Sap::LoadInformationParams

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

References m_x2SapProvider, NS_LOG_FUNCTION, and ns3::EpcX2SapProvider::SendLoadInformation().

+ Here is the call graph for this function:

◆ DoSendReleaseDataRadioBearer()

void ns3::LteEnbRrc::DoSendReleaseDataRadioBearer ( uint64_t imsi,
uint16_t rnti,
uint8_t bearerId )

This function acts as an interface to trigger Release indication messages towards eNB and EPC.

Parameters
imsithe IMSI
rntithe RNTI
bearerIdBearer Identity which is to be de-activated

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

References ns3::EpcEnbS1SapProvider::DoSendReleaseIndication(), GetUeManager(), HasUeManager(), m_s1SapProvider, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoSetNumberOfComponentCarriers()

void ns3::LteEnbRrc::DoSetNumberOfComponentCarriers ( uint16_t numberOfComponentCarriers)
private

Set number of component carriers.

Parameters
numberOfComponentCarriersthe number of component carriers

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

References m_numberOfComponentCarriers.

◆ DoSetPdschConfigDedicated()

void ns3::LteEnbRrc::DoSetPdschConfigDedicated ( uint16_t rnti,
LteRrcSap::PdschConfigDedicated pa )
private

Set PDSCH config dedicated function.

Parameters
rntithe RNTI
paLteRrcSap::PdschConfigDedicated

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoTriggerHandover()

void ns3::LteEnbRrc::DoTriggerHandover ( uint16_t rnti,
uint16_t targetCellId )
private

Trigger handover function.

Parameters
rntiRNTI
targetCellIdtarget cell ID

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

References ComponentCarrierToCellId(), ns3::UeManager::CONNECTED_NORMALLY, ns3::LteAnrSapProvider::GetNoHo(), ns3::LteAnrSapProvider::GetNoX2(), GetUeManager(), HasCellId(), m_anrSapProvider, NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::ToString().

+ Here is the call graph for this function:

◆ GetEpcX2SapUser()

EpcX2SapUser * ns3::LteEnbRrc::GetEpcX2SapUser ( )

Get the X2 SAP offered by this RRC.

Returns
s the X2 SAP User interface offered to the X2 entity by this RRC entity

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

References m_x2SapUser, and NS_LOG_FUNCTION.

◆ GetLogicalChannelGroup()

uint8_t ns3::LteEnbRrc::GetLogicalChannelGroup ( EpsBearer bearer)
private
Parameters
bearerthe characteristics of the bearer
Returns
the Logical Channel Group in a bearer with these characteristics is put. Used for MAC Buffer Status Reporting purposes.

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

References ns3::EpsBearer::GetResourceType().

+ Here is the call graph for this function:

◆ GetLogicalChannelPriority()

uint8_t ns3::LteEnbRrc::GetLogicalChannelPriority ( EpsBearer bearer)
private
Parameters
bearerthe characteristics of the bearer
Returns
the priority level of a bearer with these characteristics is put. Used for the part of UL MAC Scheduling carried out by the UE

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

References ns3::EpsBearer::qci.

◆ GetLteAnrSapUser()

LteAnrSapUser * ns3::LteEnbRrc::GetLteAnrSapUser ( )

Get the ANR SAP offered by this RRC.

Returns
s the ANR SAP User interface offered to the ANR instance by this RRC

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

References m_anrSapUser, and NS_LOG_FUNCTION.

◆ GetLteCcmRrcSapUser()

LteCcmRrcSapUser * ns3::LteEnbRrc::GetLteCcmRrcSapUser ( )

Get the Component Carrier Management SAP offered by this RRC.

Returns
s the Component Carrier Management SAP User interface offered to the carrier component selection algorithm by this RRC

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

References m_ccmRrcSapUser, and NS_LOG_FUNCTION.

◆ GetLteEnbCmacSapUser() [1/2]

LteEnbCmacSapUser * ns3::LteEnbRrc::GetLteEnbCmacSapUser ( )

Get the CMAC SAP offered by this RRC.

Returns
the CMAC SAP User interface offered to the MAC by this RRC

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

References m_cmacSapUser, and NS_LOG_FUNCTION.

◆ GetLteEnbCmacSapUser() [2/2]

LteEnbCmacSapUser * ns3::LteEnbRrc::GetLteEnbCmacSapUser ( uint8_t pos)

Get the CMAC SAP offered by this RRC.

Parameters
posthe position
Returns
the CMAC SAP User interface offered to the MAC by this RRC

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

References m_cmacSapUser, and NS_LOG_FUNCTION.

◆ GetLteEnbCphySapUser() [1/2]

LteEnbCphySapUser * ns3::LteEnbRrc::GetLteEnbCphySapUser ( )
Returns
s the CPHY SAP User interface offered to the PHY by this RRC

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

References m_cphySapUser, and NS_LOG_FUNCTION.

◆ GetLteEnbCphySapUser() [2/2]

LteEnbCphySapUser * ns3::LteEnbRrc::GetLteEnbCphySapUser ( uint8_t pos)

Get the ENB CPhy SAP user.

Parameters
posthe position
Returns
s the CPHY SAP User interface offered to the PHY by this RRC

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

References m_cphySapUser, and NS_LOG_FUNCTION.

◆ GetLteEnbRrcSapProvider()

LteEnbRrcSapProvider * ns3::LteEnbRrc::GetLteEnbRrcSapProvider ( )
Returns
s the RRC SAP Provider interface offered to the MAC by this RRC

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

References m_rrcSapProvider, and NS_LOG_FUNCTION.

◆ GetLteFfrRrcSapUser() [1/2]

LteFfrRrcSapUser * ns3::LteEnbRrc::GetLteFfrRrcSapUser ( )

Get the FFR SAP offered by this RRC.

Returns
s the FFR SAP User interface offered to the ANR instance by this RRC

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

References m_ffrRrcSapUser, and NS_LOG_FUNCTION.

◆ GetLteFfrRrcSapUser() [2/2]

LteFfrRrcSapUser * ns3::LteEnbRrc::GetLteFfrRrcSapUser ( uint8_t index)

Get the FFR SAP offered by this RRC.

Parameters
indexthe index
Returns
s the FFR SAP User interface offered to the ANR instance by this RRC

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

References m_ffrRrcSapUser, m_numberOfComponentCarriers, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

◆ GetLteHandoverManagementSapUser()

LteHandoverManagementSapUser * ns3::LteEnbRrc::GetLteHandoverManagementSapUser ( )

Get the Handover Management SAP offered by this RRC.

Returns
the Handover Management SAP User interface offered to the handover algorithm by this RRC

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

References m_handoverManagementSapUser, and NS_LOG_FUNCTION.

◆ GetNewSrsConfigurationIndex()

uint16_t ns3::LteEnbRrc::GetNewSrsConfigurationIndex ( )
private

Allocate a new SRS configuration index for a new UE.

Note
this method can have the side effect of updating the SRS configuration index of all UEs
Returns
the newly allocated SRS configuration index

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

References ns3::g_srsCiHigh, ns3::g_srsCiLow, ns3::g_srsPeriodicity, m_lastAllocatedConfigurationIndex, m_srsCurrentPeriodicityId, m_ueSrsConfigurationIndexSet, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::SRS_ENTRIES.

◆ GetRlcType()

TypeId ns3::LteEnbRrc::GetRlcType ( EpsBearer bearer)
private
Parameters
bearerthe specification of an EPS bearer
Returns
the type of RLC that is to be created for the given EPS bearer

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

References ns3::EpsBearer::GetPacketErrorLossRate(), ns3::LteRlcAm::GetTypeId(), ns3::LteRlcSm::GetTypeId(), ns3::LteRlcUm::GetTypeId(), m_epsBearerToRlcMapping, PER_BASED, RLC_AM_ALWAYS, RLC_SM_ALWAYS, and RLC_UM_ALWAYS.

+ Here is the call graph for this function:

◆ GetS1SapUser()

EpcEnbS1SapUser * ns3::LteEnbRrc::GetS1SapUser ( )
Returns
the S1 SAP user

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

References m_s1SapUser.

◆ GetSrsPeriodicity()

uint32_t ns3::LteEnbRrc::GetSrsPeriodicity ( ) const
Returns
the current SRS periodicity

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

References ns3::g_srsPeriodicity, m_srsCurrentPeriodicityId, NS_ASSERT, NS_LOG_FUNCTION, and ns3::SRS_ENTRIES.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::LteEnbRrc::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

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

References ns3::TypeId::ATTR_CONSTRUCT, ns3::TypeId::ATTR_GET, GetSrsPeriodicity(), m_admitHandoverRequest, m_admitRrcConnectionRequest, m_connectionEstablishedTrace, m_connectionReconfigurationTrace, m_connectionRejectedTimeoutDuration, m_connectionReleaseTrace, m_connectionRequestTimeoutDuration, m_connectionSetupTimeoutDuration, m_defaultTransmissionMode, m_epsBearerToRlcMapping, m_handoverEndOkTrace, m_handoverFailureJoiningTrace, m_handoverFailureLeavingTrace, m_handoverFailureMaxRachTrace, m_handoverFailureNoPreambleTrace, m_handoverJoiningTimeoutDuration, m_handoverLeavingTimeoutDuration, m_handoverStartTrace, m_newUeContextTrace, m_numberOfComponentCarriers, m_qRxLevMin, m_recvMeasurementReportTrace, m_rrcTimeoutTrace, m_rsrpFilterCoefficient, m_rsrqFilterCoefficient, m_systemInformationPeriodicity, m_ueMap, ns3::MakeBooleanAccessor(), ns3::MakeBooleanChecker(), ns3::MakeEnumAccessor(), ns3::MakeEnumChecker(), ns3::MakeIntegerAccessor(), ns3::MakeIntegerChecker(), ns3::MakeObjectMapAccessor(), ns3::MakeObjectMapChecker(), ns3::MakeTimeAccessor(), ns3::MakeTimeChecker(), ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), ns3::MakeUintegerChecker(), ns3::MAX_NO_CC, ns3::MilliSeconds(), ns3::MIN_NO_CC, PER_BASED, RLC_AM_ALWAYS, RLC_SM_ALWAYS, RLC_UM_ALWAYS, ns3::TypeId::SetParent(), and SetSrsPeriodicity().

+ Here is the call graph for this function:

◆ GetUeManager()

◆ HandoverJoiningTimeout()

void ns3::LteEnbRrc::HandoverJoiningTimeout ( uint16_t rnti)

Method triggered when a UE is expected to join the cell for a handover but does not do so in a reasonable time.

The method will remove the UE context.

Parameters
rntithe C-RNTI whose timeout expired

When the handover joining timer expires at the target cell, then notify the source cell to release the RRC connection and delete the UE context at eNodeB and SGW/PGW. The HandoverPreparationFailure message is reused to notify the source cell through the X2 interface instead of creating a new message.

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

References ComponentCarrierToCellId(), GetUeManager(), ns3::UeManager::HANDOVER_JOINING, HasUeManager(), m_handoverFailureJoiningTrace, m_x2SapProvider, NS_ASSERT_MSG, NS_LOG_FUNCTION, RemoveUe(), ns3::EpcX2SapProvider::SendHandoverPreparationFailure(), and ns3::ToString().

Referenced by ns3::UeManager::DoInitialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HandoverLeavingTimeout()

void ns3::LteEnbRrc::HandoverLeavingTimeout ( uint16_t rnti)

Method triggered when a UE is expected to leave a cell for a handover but no feedback is received in a reasonable time.

The method will remove the UE context.

Parameters
rntithe C-RNTI whose timeout expired

Send HO cancel msg to the target eNB and release the RRC connection with the UE and also delete UE context at the source eNB and bearer info at SGW and PGW.

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

References ComponentCarrierToCellId(), GetUeManager(), ns3::UeManager::HANDOVER_LEAVING, HasUeManager(), m_handoverFailureLeavingTrace, m_x2SapProvider, NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::EpcX2SapProvider::SendHandoverCancel(), and ns3::ToString().

Referenced by ns3::UeManager::PrepareHandover(), and ns3::UeManager::RecvHandoverRequestAck().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HasCellId()

bool ns3::LteEnbRrc::HasCellId ( uint16_t cellId) const
Parameters
cellIdcell ID
Returns
true if cellId is served by this eNB

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

References m_componentCarrierPhyConf.

Referenced by DoTriggerHandover().

+ Here is the caller graph for this function:

◆ HasUeManager()

bool ns3::LteEnbRrc::HasUeManager ( uint16_t rnti) const
Parameters
rntithe identifier of an UE
Returns
true if the corresponding UeManager instance exists

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

References m_ueMap, and NS_LOG_FUNCTION.

Referenced by DoRecvHandoverCancel(), DoRecvHandoverPreparationFailure(), DoRecvIdealUeContextRemoveRequest(), DoRecvSnStatusTransfer(), DoRecvUeContextRelease(), DoSendReleaseDataRadioBearer(), HandoverJoiningTimeout(), and HandoverLeavingTimeout().

+ Here is the caller graph for this function:

◆ IsMaxSrsReached()

bool ns3::LteEnbRrc::IsMaxSrsReached ( )
private
Returns
true if all the SRS indices are assigned to UEs

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

References ns3::g_srsPeriodicity, m_srsCurrentPeriodicityId, m_ueSrsConfigurationIndexSet, NS_ASSERT, NS_LOG_DEBUG, and ns3::SRS_ENTRIES.

Referenced by DoAllocateTemporaryCellRnti(), and DoRecvHandoverRequest().

+ Here is the caller graph for this function:

◆ IsRandomAccessCompleted()

bool ns3::LteEnbRrc::IsRandomAccessCompleted ( uint16_t rnti)
private

Is random access completed function.

This method is executed to decide if the non contention based preamble has to reused or not upon preamble expiry. If the random access in connected mode is completed, then the preamble can be reused by other UEs. If not, the same UE retains the preamble and other available preambles is assigned to the required UEs.

Parameters
rntithe C-RNTI identifying the user
Returns
true if the random access in connected mode is completed

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

References ns3::UeManager::CONNECTED_NORMALLY, ns3::UeManager::CONNECTION_RECONFIGURATION, GetUeManager(), and NS_LOG_FUNCTION.

Referenced by ns3::EnbRrcMemberLteEnbCmacSapUser::IsRandomAccessCompleted().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RemoveSrsConfigurationIndex()

void ns3::LteEnbRrc::RemoveSrsConfigurationIndex ( uint16_t srcCi)
private

remove a previously allocated SRS configuration index

Note
this method can have the side effect of updating the SRS configuration index of all UEs
Parameters
srcCithe index to be removed

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

References m_ueSrsConfigurationIndexSet, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

Referenced by RemoveUe().

+ Here is the caller graph for this function:

◆ RemoveUe()

void ns3::LteEnbRrc::RemoveUe ( uint16_t rnti)
private

remove a UE from the cell

Parameters
rntithe C-RNTI identiftying the user

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

References ComponentCarrierToCellId(), m_ccmRrcSapProvider, m_cmacSapProvider, m_connectionReleaseTrace, m_cphySapProvider, m_numberOfComponentCarriers, m_rrcSapUser, m_s1SapProvider, m_ueMap, NS_ASSERT_MSG, NS_LOG_FUNCTION, RemoveSrsConfigurationIndex(), ns3::LteCcmRrcSapProvider::RemoveUe(), ns3::LteEnbRrcSapUser::RemoveUe(), and ns3::EpcEnbS1SapProvider::UeContextRelease().

Referenced by ConnectionRejectedTimeout(), ConnectionRequestTimeout(), ConnectionSetupTimeout(), DoRecvHandoverRequest(), DoRecvIdealUeContextRemoveRequest(), DoRecvUeContextRelease(), and HandoverJoiningTimeout().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendData()

bool ns3::LteEnbRrc::SendData ( Ptr< Packet > p)

Enqueue an IP data packet on the proper bearer for downlink transmission.

Normally expected to be called by the NetDevice forwarding a packet coming from the EpcEnbApplication

Parameters
pthe packet
Returns
true if successful, false if an error occurred

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

References ns3::EpsBearerTag::GetBid(), ns3::EpsBearerTag::GetRnti(), GetUeManager(), NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_INFO.

+ Here is the call graph for this function:

◆ SendHandoverRequest()

void ns3::LteEnbRrc::SendHandoverRequest ( uint16_t rnti,
uint16_t cellId )

Send a HandoverRequest through the X2 SAP interface.

This method will trigger a handover which is started by the RRC by sending a handover request to the target eNB over the X2 interface

Parameters
rntithe ID of the UE to be handed over
cellIdthe ID of the target eNB

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

References GetUeManager(), m_configured, NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ SendRrcConnectionRelease()

void ns3::LteEnbRrc::SendRrcConnectionRelease ( )

Send RRC connection release function.

This function acts as an interface to trigger the connection release towards eNB, EPC and UE.

◆ SendSystemInformation()

void ns3::LteEnbRrc::SendSystemInformation ( )
private

method used to periodically send System Information

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

References ns3::LteRrcSap::TxFailParam::connEstFailCount, ns3::LteRrcSap::SystemInformationBlockType2::freqInfo, ns3::LteRrcSap::SystemInformation::haveSib2, m_cmacSapProvider, m_componentCarrierPhyConf, m_cphySapProvider, m_rrcSapUser, m_systemInformationPeriodicity, ns3::LteRrcSap::PreambleInfo::numberOfRaPreambles, ns3::LteRrcSap::PdschConfigCommon::pb, ns3::LteRrcSap::RadioResourceConfigCommonSib::pdschConfigCommon, ns3::LteRrcSap::RachConfigCommon::preambleInfo, ns3::LteRrcSap::RaSupervisionInfo::preambleTransMax, ns3::LteRrcSap::RadioResourceConfigCommonSib::rachConfigCommon, ns3::LteRrcSap::SystemInformationBlockType2::radioResourceConfigCommon, ns3::LteRrcSap::RaSupervisionInfo::raResponseWindowSize, ns3::LteRrcSap::RachConfigCommon::raSupervisionInfo, ns3::LteRrcSap::PdschConfigCommon::referenceSignalPower, ns3::Simulator::Schedule(), SendSystemInformation(), ns3::LteEnbRrcSapUser::SendSystemInformation(), ns3::LteRrcSap::SystemInformation::sib2, ns3::LteRrcSap::RachConfigCommon::txFailParam, ns3::LteRrcSap::FreqInfo::ulBandwidth, and ns3::LteRrcSap::FreqInfo::ulCarrierFreq.

Referenced by ConfigureCell(), and SendSystemInformation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetCellId() [1/2]

void ns3::LteEnbRrc::SetCellId ( uint16_t m_cellId)

set the cell id of this eNB

Parameters
m_cellId

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

References m_cphySapProvider, and m_sib1.

◆ SetCellId() [2/2]

void ns3::LteEnbRrc::SetCellId ( uint16_t m_cellId,
uint8_t ccIndex )

set the cell id of this eNB

Parameters
m_cellId
ccIndex

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

References m_cphySapProvider, and m_sib1.

◆ SetCsgId()

void ns3::LteEnbRrc::SetCsgId ( uint32_t csgId,
bool csgIndication )

Associate this RRC entity with a particular CSG information.

Parameters
csgIdthe intended Closed Subscriber Group identity
csgIndicationif TRUE, only CSG members are allowed to access the cell

CSG identity is a number identifying a Closed Subscriber Group which the cell belongs to. eNodeB is associated with a single CSG identity.

The same CSG identity can also be associated to several UEs, which is equivalent as enlisting these UEs as the members of this particular CSG. When the CSG indication field is set to TRUE, only UEs which are members of the CSG (i.e. same CSG ID) can gain access to the eNodeB, therefore enforcing closed access mode. Otherwise, the eNodeB operates as a non-CSG cell and implements open access mode.

This restriction only applies to initial cell selection and EPC-enabled simulation.

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

References m_cphySapProvider, m_sib1, and NS_LOG_FUNCTION.

◆ SetEpcX2SapProvider()

void ns3::LteEnbRrc::SetEpcX2SapProvider ( EpcX2SapProvider * s)

Set the X2 SAP this RRC should interact with.

Parameters
sthe X2 SAP Provider to be used by this RRC entity

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

References m_x2SapProvider, and NS_LOG_FUNCTION.

◆ SetForwardUpCallback()

void ns3::LteEnbRrc::SetForwardUpCallback ( Callback< void, Ptr< Packet > > cb)

set the callback used to forward data packets up the stack

Parameters
cb

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

References m_forwardUpCallback.

◆ SetLteAnrSapProvider()

void ns3::LteEnbRrc::SetLteAnrSapProvider ( LteAnrSapProvider * s)

set the ANR SAP this RRC should interact with

Parameters
sthe ANR SAP Provider to be used by this RRC

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

References m_anrSapProvider, and NS_LOG_FUNCTION.

◆ SetLteCcmRrcSapProvider()

void ns3::LteEnbRrc::SetLteCcmRrcSapProvider ( LteCcmRrcSapProvider * s)

set the Component Carrier Management SAP this RRC should interact with

Parameters
sthe Component Carrier Management SAP Provider to be used by this RRC

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

References m_ccmRrcSapProvider, and NS_LOG_FUNCTION.

◆ SetLteEnbCmacSapProvider() [1/2]

void ns3::LteEnbRrc::SetLteEnbCmacSapProvider ( LteEnbCmacSapProvider * s)

set the CMAC SAP this RRC should interact with

Parameters
sthe CMAC SAP Provider to be used by this RRC

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

References m_cmacSapProvider, and NS_LOG_FUNCTION.

◆ SetLteEnbCmacSapProvider() [2/2]

void ns3::LteEnbRrc::SetLteEnbCmacSapProvider ( LteEnbCmacSapProvider * s,
uint8_t pos )

set the CMAC SAP this RRC should interact with

Parameters
sthe CMAC SAP Provider to be used by this RRC
posthe position

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

References m_cmacSapProvider, NS_ABORT_IF, and NS_LOG_FUNCTION.

◆ SetLteEnbCphySapProvider() [1/2]

void ns3::LteEnbRrc::SetLteEnbCphySapProvider ( LteEnbCphySapProvider * s)

set the CPHY SAP this RRC should use to interact with the PHY

Parameters
sthe CPHY SAP Provider

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

References m_cphySapProvider, and NS_LOG_FUNCTION.

◆ SetLteEnbCphySapProvider() [2/2]

void ns3::LteEnbRrc::SetLteEnbCphySapProvider ( LteEnbCphySapProvider * s,
uint8_t pos )

set the CPHY SAP this RRC should use to interact with the PHY

Parameters
sthe CPHY SAP Provider
posthe position

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

References m_cphySapProvider, NS_ABORT_IF, and NS_LOG_FUNCTION.

◆ SetLteEnbRrcSapUser()

void ns3::LteEnbRrc::SetLteEnbRrcSapUser ( LteEnbRrcSapUser * s)

set the RRC SAP this RRC should interact with

Parameters
sthe RRC SAP User to be used by this RRC

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

References m_rrcSapUser, and NS_LOG_FUNCTION.

◆ SetLteFfrRrcSapProvider() [1/2]

void ns3::LteEnbRrc::SetLteFfrRrcSapProvider ( LteFfrRrcSapProvider * s)

set the FFR SAP this RRC should interact with

Parameters
sthe FFR SAP Provider to be used by this RRC

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

References m_ffrRrcSapProvider, and NS_LOG_FUNCTION.

◆ SetLteFfrRrcSapProvider() [2/2]

void ns3::LteEnbRrc::SetLteFfrRrcSapProvider ( LteFfrRrcSapProvider * s,
uint8_t index )

set the FFR SAP this RRC should interact with

Parameters
sthe FFR SAP Provider to be used by this RRC
indexthe index

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

References m_ffrRrcSapProvider, NS_ABORT_MSG_IF, and NS_LOG_FUNCTION.

◆ SetLteHandoverManagementSapProvider()

void ns3::LteEnbRrc::SetLteHandoverManagementSapProvider ( LteHandoverManagementSapProvider * s)

set the Handover Management SAP this RRC should interact with

Parameters
sthe Handover Management SAP Provider to be used by this RRC

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

References m_handoverManagementSapProvider, and NS_LOG_FUNCTION.

◆ SetLteMacSapProvider()

void ns3::LteEnbRrc::SetLteMacSapProvider ( LteMacSapProvider * s)

set the MAC SAP provider.

The eNB RRC does not use this directly, but it needs to provide it to newly created RLC instances.

Parameters
sthe MAC SAP provider that will be used by all newly created RLC instances

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

References m_macSapProvider, and NS_LOG_FUNCTION.

◆ SetS1SapProvider()

void ns3::LteEnbRrc::SetS1SapProvider ( EpcEnbS1SapProvider * s)

Set the S1 SAP Provider.

Parameters
sthe S1 SAP Provider

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

References m_s1SapProvider.

◆ SetSrsPeriodicity()

void ns3::LteEnbRrc::SetSrsPeriodicity ( uint32_t p)
Parameters
pthe SRS periodicity in num TTIs

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

References ns3::g_srsPeriodicity, m_srsCurrentPeriodicityId, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::SRS_ENTRIES.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ EnbRrcMemberLteEnbCmacSapUser

friend class EnbRrcMemberLteEnbCmacSapUser
friend

allow EnbRrcMemberLteEnbCmacSapUser class friend access

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

Referenced by LteEnbRrc(), and ConfigureCarriers().

◆ EpcX2SpecificEpcX2SapUser< LteEnbRrc >

friend class EpcX2SpecificEpcX2SapUser< LteEnbRrc >
friend

allow MemberEpcEnbS1SapUser<LteEnbRrc> class friend access

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

Referenced by LteEnbRrc().

◆ MemberEpcEnbS1SapUser< LteEnbRrc >

friend class MemberEpcEnbS1SapUser< LteEnbRrc >
friend

allow MemberLteEnbRrcSapProvider<LteEnbRrc> class friend access

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

Referenced by LteEnbRrc().

◆ MemberLteAnrSapUser< LteEnbRrc >

friend class MemberLteAnrSapUser< LteEnbRrc >
friend

allow MemberLteAnrSapUser<LteEnbRrc> class friend access

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

Referenced by LteEnbRrc().

◆ MemberLteCcmRrcSapUser< LteEnbRrc >

friend class MemberLteCcmRrcSapUser< LteEnbRrc >
friend

allow MemberLteCcmRrcSapUser<LteEnbRrc> class friend access

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

Referenced by LteEnbRrc().

◆ MemberLteEnbRrcSapProvider< LteEnbRrc >

friend class MemberLteEnbRrcSapProvider< LteEnbRrc >
friend

allow MemberLteEnbRrcSapProvider<LteEnbRrc> class friend access

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

Referenced by LteEnbRrc().

◆ MemberLteFfrRrcSapUser< LteEnbRrc >

friend class MemberLteFfrRrcSapUser< LteEnbRrc >
friend

allow MemberLteFfrRrcSapUser<LteEnbRrc> class friend access

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

◆ MemberLteHandoverManagementSapUser< LteEnbRrc >

allow MemberLteHandoverManagementSapUser<LteEnbRrc> class friend access

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

Referenced by LteEnbRrc().

◆ UeManager

friend class UeManager
friend

allow UeManager class friend access

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

Member Data Documentation

◆ m_admitHandoverRequest

bool ns3::LteEnbRrc::m_admitHandoverRequest
private

The AdmitHandoverRequest attribute.

Whether to admit an X2 handover request from another eNB.

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

Referenced by DoRecvHandoverRequest(), and GetTypeId().

◆ m_admitRrcConnectionRequest

bool ns3::LteEnbRrc::m_admitRrcConnectionRequest
private

The AdmitRrcConnectionRequest attribute.

Whether to admit a connection request from a UE.

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

Referenced by GetTypeId().

◆ m_anrMeasIds

std::set<uint8_t> ns3::LteEnbRrc::m_anrMeasIds
private

List of measurement identities which are intended for ANR purpose.

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

Referenced by DoAddUeMeasReportConfigForAnr().

◆ m_anrSapProvider

LteAnrSapProvider* ns3::LteEnbRrc::m_anrSapProvider
private

Interface to the ANR instance.

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

Referenced by AddX2Neighbour(), DoTriggerHandover(), and SetLteAnrSapProvider().

◆ m_anrSapUser

LteAnrSapUser* ns3::LteEnbRrc::m_anrSapUser
private

Receive API calls from the ANR instance.

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

Referenced by LteEnbRrc(), DoDispose(), and GetLteAnrSapUser().

◆ m_carriersConfigured

bool ns3::LteEnbRrc::m_carriersConfigured
private

are carriers configured

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

Referenced by ConfigureCarriers().

◆ m_ccmRrcSapProvider

LteCcmRrcSapProvider* ns3::LteEnbRrc::m_ccmRrcSapProvider
private

Interface to the LteEnbComponentCarrierManager instance.

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

Referenced by AddUe(), RemoveUe(), and SetLteCcmRrcSapProvider().

◆ m_ccmRrcSapUser

LteCcmRrcSapUser* ns3::LteEnbRrc::m_ccmRrcSapUser
private

Receive API calls from the LteEnbComponentCarrierManager instance.

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

Referenced by LteEnbRrc(), DoDispose(), and GetLteCcmRrcSapUser().

◆ m_cmacSapProvider

std::vector<LteEnbCmacSapProvider*> ns3::LteEnbRrc::m_cmacSapProvider
private

Interface to the eNodeB MAC instance.

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

Referenced by ConfigureCell(), DoRecvHandoverRequest(), RemoveUe(), SendSystemInformation(), SetLteEnbCmacSapProvider(), and SetLteEnbCmacSapProvider().

◆ m_cmacSapUser

std::vector<LteEnbCmacSapUser*> ns3::LteEnbRrc::m_cmacSapUser
private

Receive API calls from the eNodeB MAC instance.

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

Referenced by LteEnbRrc(), ConfigureCarriers(), DoDispose(), GetLteEnbCmacSapUser(), and GetLteEnbCmacSapUser().

◆ m_componentCarrierMeasIds

std::set<uint8_t> ns3::LteEnbRrc::m_componentCarrierMeasIds
private

List of measurement identities which are intended for component carrier management purposes.

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

Referenced by DoAddUeMeasReportConfigForComponentCarrier().

◆ m_componentCarrierPhyConf

std::map<uint8_t, Ptr<ComponentCarrierBaseStation> > ns3::LteEnbRrc::m_componentCarrierPhyConf
private

component carrier phy configuration

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

Referenced by CellToComponentCarrierId(), ComponentCarrierToCellId(), ConfigureCarriers(), HasCellId(), and SendSystemInformation().

◆ m_configured

bool ns3::LteEnbRrc::m_configured
private

True if ConfigureCell() has been completed.

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

Referenced by ConfigureCell(), and SendHandoverRequest().

◆ m_connectionEstablishedTrace

TracedCallback<uint64_t, uint16_t, uint16_t> ns3::LteEnbRrc::m_connectionEstablishedTrace
private

The ConnectionEstablished trace source.

Fired upon successful RRC connection establishment. Exporting IMSI, cell ID, and RNTI.

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

Referenced by GetTypeId().

◆ m_connectionReconfigurationTrace

TracedCallback<uint64_t, uint16_t, uint16_t> ns3::LteEnbRrc::m_connectionReconfigurationTrace
private

The ConnectionReconfiguration trace source.

Fired upon RRC connection reconfiguration. Exporting IMSI, cell ID, and RNTI.

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

Referenced by GetTypeId().

◆ m_connectionRejectedTimeoutDuration

Time ns3::LteEnbRrc::m_connectionRejectedTimeoutDuration
private

The ConnectionRejectedTimeoutDuration attribute.

Time to wait between sending a RRC CONNECTION REJECT and destroying the UE context.

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

Referenced by GetTypeId().

◆ m_connectionReleaseTrace

TracedCallback<uint64_t, uint16_t, uint16_t> ns3::LteEnbRrc::m_connectionReleaseTrace
private

The NotifyConnectionRelease trace source.

Fired when an UE leaves the eNB. Exporting IMSI, cell ID, RNTI.

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

Referenced by GetTypeId(), and RemoveUe().

◆ m_connectionRequestTimeoutDuration

Time ns3::LteEnbRrc::m_connectionRequestTimeoutDuration
private

The ConnectionRequestTimeoutDuration attribute.

After a RA attempt, if no RRC CONNECTION REQUEST is received before this time, the UE context is destroyed. Must account for reception of RAR and transmission of RRC CONNECTION REQUEST over UL GRANT.

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

Referenced by GetTypeId().

◆ m_connectionSetupTimeoutDuration

Time ns3::LteEnbRrc::m_connectionSetupTimeoutDuration
private

The ConnectionSetupTimeoutDuration attribute.

After accepting connection request, if no RRC CONNECTION SETUP COMPLETE is received before this time, the UE context is destroyed. Must account for the UE's reception of RRC CONNECTION SETUP and transmission of RRC CONNECTION SETUP COMPLETE.

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

Referenced by GetTypeId().

◆ m_cphySapProvider

std::vector<LteEnbCphySapProvider*> ns3::LteEnbRrc::m_cphySapProvider
private

Interface to the eNodeB PHY instances.

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

Referenced by ConfigureCell(), RemoveUe(), SendSystemInformation(), SetCellId(), SetCellId(), SetCsgId(), SetLteEnbCphySapProvider(), and SetLteEnbCphySapProvider().

◆ m_cphySapUser

std::vector<LteEnbCphySapUser*> ns3::LteEnbRrc::m_cphySapUser
private

Receive API calls from the eNodeB PHY instances.

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

Referenced by LteEnbRrc(), ConfigureCarriers(), DoDispose(), GetLteEnbCphySapUser(), and GetLteEnbCphySapUser().

◆ m_defaultTransmissionMode

uint8_t ns3::LteEnbRrc::m_defaultTransmissionMode
private

The DefaultTransmissionMode attribute.

The default UEs' transmission mode (0: SISO).

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

Referenced by GetTypeId().

◆ m_dlBandwidth

uint16_t ns3::LteEnbRrc::m_dlBandwidth
private

Downlink transmission bandwidth configuration in number of Resource Blocks.

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

Referenced by ConfigureCell().

◆ m_dlEarfcn

uint32_t ns3::LteEnbRrc::m_dlEarfcn
private

Downlink E-UTRA Absolute Radio Frequency Channel Number.

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

Referenced by ConfigureCell().

◆ m_epsBearerToRlcMapping

LteEpsBearerToRlcMapping_t ns3::LteEnbRrc::m_epsBearerToRlcMapping
private

The EpsBearerToRlcMapping attribute.

Specify which type of RLC will be used for each type of EPS bearer.

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

Referenced by GetRlcType(), and GetTypeId().

◆ m_ffrMeasIds

std::set<uint8_t> ns3::LteEnbRrc::m_ffrMeasIds
private

List of measurement identities which are intended for FFR purpose.

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

Referenced by DoAddUeMeasReportConfigForFfr().

◆ m_ffrRrcSapProvider

std::vector<LteFfrRrcSapProvider*> ns3::LteEnbRrc::m_ffrRrcSapProvider
private

Interface to the FFR algorithm instance.

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

Referenced by ConfigureCell(), DoRecvLoadInformation(), SetLteFfrRrcSapProvider(), and SetLteFfrRrcSapProvider().

◆ m_ffrRrcSapUser

std::vector<LteFfrRrcSapUser*> ns3::LteEnbRrc::m_ffrRrcSapUser
private

Receive API calls from the FFR algorithm instance.

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

Referenced by LteEnbRrc(), ConfigureCarriers(), DoDispose(), GetLteFfrRrcSapUser(), and GetLteFfrRrcSapUser().

◆ m_forwardUpCallback

Callback<void, Ptr<Packet> > ns3::LteEnbRrc::m_forwardUpCallback
private

forward up callback function

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

Referenced by SetForwardUpCallback().

◆ m_handoverEndOkTrace

TracedCallback<uint64_t, uint16_t, uint16_t> ns3::LteEnbRrc::m_handoverEndOkTrace
private

The HandoverEndOk trace source.

Fired upon successful termination of a handover procedure. Exporting IMSI, cell ID, and RNTI.

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

Referenced by GetTypeId().

◆ m_handoverFailureJoiningTrace

TracedCallback<uint64_t, uint16_t, uint16_t> ns3::LteEnbRrc::m_handoverFailureJoiningTrace
private

The 'HandoverFailureJoining' Trace source.

Fired upon handover failure due to handover joining timeout at target eNB

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

Referenced by GetTypeId(), and HandoverJoiningTimeout().

◆ m_handoverFailureLeavingTrace

TracedCallback<uint64_t, uint16_t, uint16_t> ns3::LteEnbRrc::m_handoverFailureLeavingTrace
private

The 'HandoverFailureLeaving' Trace source.

Fired upon handover failure due to handover leaving timeout at source eNB

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

Referenced by GetTypeId(), and HandoverLeavingTimeout().

◆ m_handoverFailureMaxRachTrace

TracedCallback<uint64_t, uint16_t, uint16_t> ns3::LteEnbRrc::m_handoverFailureMaxRachTrace
private

The 'HandoverFailureMaxRach' Trace source.

Fired upon handover failure due to max RACH attempts from UE to target eNB

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

Referenced by DoRecvIdealUeContextRemoveRequest(), and GetTypeId().

◆ m_handoverFailureNoPreambleTrace

TracedCallback<uint64_t, uint16_t, uint16_t> ns3::LteEnbRrc::m_handoverFailureNoPreambleTrace
private

The 'HandoverFailureNoPreamble' Trace source.

Fired upon handover failure due to non-allocation of non-contention based preamble at eNB for UE to handover due to max count reached

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

Referenced by DoRecvHandoverRequest(), and GetTypeId().

◆ m_handoverJoiningTimeoutDuration

Time ns3::LteEnbRrc::m_handoverJoiningTimeoutDuration
private

The HandoverJoiningTimeoutDuration attribute.

After accepting a handover request, if no RRC CONNECTION RECONFIGURATION COMPLETE is received before this time, the UE context is destroyed. Must account for reception of X2 HO REQ ACK by source eNB, transmission of the Handover Command, non-contention-based random access and reception of the RRC CONNECTION RECONFIGURATION COMPLETE message.

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

Referenced by GetTypeId().

◆ m_handoverLeavingTimeoutDuration

Time ns3::LteEnbRrc::m_handoverLeavingTimeoutDuration
private

The HandoverLeavingTimeoutDuration attribute.

After issuing a Handover Command, if neither RRC CONNECTION RE-ESTABLISHMENT nor X2 UE Context Release has been previously received, the UE context is destroyed.

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

Referenced by GetTypeId().

◆ m_handoverManagementSapProvider

LteHandoverManagementSapProvider* ns3::LteEnbRrc::m_handoverManagementSapProvider
private

Interface to the handover algorithm instance.

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

Referenced by SetLteHandoverManagementSapProvider().

◆ m_handoverManagementSapUser

LteHandoverManagementSapUser* ns3::LteEnbRrc::m_handoverManagementSapUser
private

Receive API calls from the handover algorithm instance.

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

Referenced by LteEnbRrc(), DoDispose(), and GetLteHandoverManagementSapUser().

◆ m_handoverMeasIds

std::set<uint8_t> ns3::LteEnbRrc::m_handoverMeasIds
private

List of measurement identities which are intended for handover purpose.

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

Referenced by DoAddUeMeasReportConfigForHandover().

◆ m_handoverStartTrace

TracedCallback<uint64_t, uint16_t, uint16_t, uint16_t> ns3::LteEnbRrc::m_handoverStartTrace
private

The HandoverStart trace source.

Fired upon start of a handover procedure. Exporting IMSI, cell ID, RNTI, and target cell ID.

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

Referenced by GetTypeId().

◆ m_lastAllocatedConfigurationIndex

uint16_t ns3::LteEnbRrc::m_lastAllocatedConfigurationIndex
private

last allocated configuration index

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

Referenced by GetNewSrsConfigurationIndex().

◆ m_lastAllocatedRnti

uint16_t ns3::LteEnbRrc::m_lastAllocatedRnti
private

Last allocated RNTI.

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

Referenced by AddUe().

◆ m_macSapProvider

LteMacSapProvider* ns3::LteEnbRrc::m_macSapProvider
private

Interface to the eNodeB MAC instance, to be used by RLC instances.

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

Referenced by SetLteMacSapProvider().

◆ m_newUeContextTrace

TracedCallback<uint16_t, uint16_t> ns3::LteEnbRrc::m_newUeContextTrace
private

The NewUeContext trace source.

Fired upon creation of a new UE context. Exporting cell ID and RNTI.

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

Referenced by AddUe(), and GetTypeId().

◆ m_numberOfComponentCarriers

uint16_t ns3::LteEnbRrc::m_numberOfComponentCarriers
private

◆ m_qRxLevMin

int8_t ns3::LteEnbRrc::m_qRxLevMin
private

The QRxLevMin attribute.

One of information transmitted within the SIB1 message, indicating the required minimum RSRP level that any UE must receive from this cell before it is allowed to camp to this cell.

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

Referenced by ConfigureCell(), and GetTypeId().

◆ m_reconfigureUes

bool ns3::LteEnbRrc::m_reconfigureUes
private

reconfigure UEs?

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

◆ m_recvMeasurementReportTrace

TracedCallback<uint64_t, uint16_t, uint16_t, LteRrcSap::MeasurementReport> ns3::LteEnbRrc::m_recvMeasurementReportTrace
private

The RecvMeasurementReport trace source.

Fired when measurement report is received. Exporting IMSI, cell ID, and RNTI.

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

Referenced by GetTypeId().

◆ m_rrcSapProvider

LteEnbRrcSapProvider* ns3::LteEnbRrc::m_rrcSapProvider
private

Interface to receive messages from UE over the RRC protocol.

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

Referenced by LteEnbRrc(), DoDispose(), and GetLteEnbRrcSapProvider().

◆ m_rrcSapUser

LteEnbRrcSapUser* ns3::LteEnbRrc::m_rrcSapUser
private

Interface to send messages to UE over the RRC protocol.

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

Referenced by DoRecvHandoverRequest(), RemoveUe(), SendSystemInformation(), and SetLteEnbRrcSapUser().

◆ m_rrcTimeoutTrace

TracedCallback<uint64_t, uint16_t, uint16_t, std::string> ns3::LteEnbRrc::m_rrcTimeoutTrace
private

The 'TimerExpiry' Trace source.

Fired when any of the RRC timers maintained at eNB expires. Exporting IMSI, cell ID, and RNTI and name of timer which expired.

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

Referenced by ConnectionRejectedTimeout(), ConnectionRequestTimeout(), ConnectionSetupTimeout(), and GetTypeId().

◆ m_rsrpFilterCoefficient

uint8_t ns3::LteEnbRrc::m_rsrpFilterCoefficient
private

The RsrpFilterCoefficient attribute.

Determines the strength of smoothing effect induced by layer 3 filtering of RSRP in all attached UE. If equals to 0, no layer 3 filtering is applicable.

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

Referenced by ConfigureCell(), and GetTypeId().

◆ m_rsrqFilterCoefficient

uint8_t ns3::LteEnbRrc::m_rsrqFilterCoefficient
private

The RsrqFilterCoefficient attribute.

Determines the strength of smoothing effect induced by layer 3 filtering of RSRQ in all attached UE. If equals to 0, no layer 3 filtering is applicable.

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

Referenced by ConfigureCell(), and GetTypeId().

◆ m_s1SapProvider

EpcEnbS1SapProvider* ns3::LteEnbRrc::m_s1SapProvider
private

Interface to send messages to core network over the S1 protocol.

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

Referenced by DoSendReleaseDataRadioBearer(), RemoveUe(), and SetS1SapProvider().

◆ m_s1SapUser

EpcEnbS1SapUser* ns3::LteEnbRrc::m_s1SapUser
private

Interface to receive messages from core network over the S1 protocol.

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

Referenced by LteEnbRrc(), DoDispose(), and GetS1SapUser().

◆ m_sib1

std::vector<LteRrcSap::SystemInformationBlockType1> ns3::LteEnbRrc::m_sib1
private

The System Information Block Type 1 that is currently broadcasted over BCH.

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

Referenced by ConfigureCell(), SetCellId(), SetCellId(), and SetCsgId().

◆ m_srsCurrentPeriodicityId

uint16_t ns3::LteEnbRrc::m_srsCurrentPeriodicityId
private

The SrsPeriodicity attribute.

The SRS periodicity in milliseconds. SRS current periodicity ID

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

Referenced by GetNewSrsConfigurationIndex(), GetSrsPeriodicity(), IsMaxSrsReached(), and SetSrsPeriodicity().

◆ m_systemInformationPeriodicity

Time ns3::LteEnbRrc::m_systemInformationPeriodicity
private

The SystemInformationPeriodicity attribute.

The interval for sending system information.

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

Referenced by GetTypeId(), and SendSystemInformation().

◆ m_ueMap

std::map<uint16_t, Ptr<UeManager> > ns3::LteEnbRrc::m_ueMap
private

The UeMap attribute.

List of UeManager by C-RNTI.

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

Referenced by AddUe(), DoDispose(), GetTypeId(), GetUeManager(), HasUeManager(), and RemoveUe().

◆ m_ueMeasConfig

LteRrcSap::MeasConfig ns3::LteEnbRrc::m_ueMeasConfig
private

List of measurement configuration which are active in every UE attached to this eNodeB instance.

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

Referenced by AddUeMeasReportConfig(), and ConfigureCell().

◆ m_ueSrsConfigurationIndexSet

std::set<uint16_t> ns3::LteEnbRrc::m_ueSrsConfigurationIndexSet
private

UE SRS configuration index set.

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

Referenced by GetNewSrsConfigurationIndex(), IsMaxSrsReached(), and RemoveSrsConfigurationIndex().

◆ m_ulBandwidth

uint16_t ns3::LteEnbRrc::m_ulBandwidth
private

Uplink transmission bandwidth configuration in number of Resource Blocks.

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

Referenced by ConfigureCell().

◆ m_ulEarfcn

uint32_t ns3::LteEnbRrc::m_ulEarfcn
private

Uplink E-UTRA Absolute Radio Frequency Channel Number.

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

Referenced by ConfigureCell().

◆ m_x2SapProvider

EpcX2SapProvider* ns3::LteEnbRrc::m_x2SapProvider
private

Interface to send messages to neighbour eNodeB over the X2 interface.

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

Referenced by DoRecvHandoverRequest(), DoRecvIdealUeContextRemoveRequest(), DoSendLoadInformation(), HandoverJoiningTimeout(), HandoverLeavingTimeout(), and SetEpcX2SapProvider().

◆ m_x2SapUser

EpcX2SapUser* ns3::LteEnbRrc::m_x2SapUser
private

Interface to receive messages from neighbour eNodeB over the X2 interface.

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

Referenced by LteEnbRrc(), DoDispose(), and GetEpcX2SapUser().

◆ m_x2uTeidInfoMap

std::map<uint32_t, X2uTeidInfo> ns3::LteEnbRrc::m_x2uTeidInfoMap
private

TEID, RNTI, DRBID.

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

Referenced by DoRecvUeData().


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