A Discrete-Event Network Simulator
API
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
 

Public Types

typedef void(* ConnectionHandoverTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti)
 TracedCallback signature for connection and handover end events. More...
 
typedef void(* HandoverStartTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint16_t targetCid)
 TracedCallback signature for handover start events. More...
 
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) (uint16_t cellId, uint16_t rnti)
 TracedCallback signature for new Ue Context events. More...
 
typedef void(* ReceiveReportTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, LteRrcSap::MeasurementReport report)
 TracedCallback signature for receive measurement report events. More...
 

Public Member Functions

 LteEnbRrc ()
 create an RRC instance for use within an eNB More...
 
virtual ~LteEnbRrc ()
 Destructor. More...
 
uint8_t AddUeMeasReportConfig (LteRrcSap::ReportConfigEutra config)
 Add a new UE measurement reporting configuration. More...
 
void AddX2Neighbour (uint16_t cellId)
 Add a neighbour with an X2 interface. More...
 
void ConfigureCell (uint8_t ulBandwidth, uint8_t dlBandwidth, uint16_t ulEarfcn, uint16_t dlEarfcn, uint16_t cellId)
 Configure cell-specific parameters. More...
 
void ConnectionRejectedTimeout (uint16_t rnti)
 Method triggered a while after sending RRC Connection Rejected. More...
 
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. More...
 
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. More...
 
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. More...
 
EpcX2SapUserGetEpcX2SapUser ()
 Get the X2 SAP offered by this RRC. More...
 
LteAnrSapUserGetLteAnrSapUser ()
 Get the ANR SAP offered by this RRC. More...
 
LteEnbCmacSapUserGetLteEnbCmacSapUser ()
 Get the CMAC SAP offered by this RRC. More...
 
LteEnbCphySapUserGetLteEnbCphySapUser ()
 
LteEnbRrcSapProviderGetLteEnbRrcSapProvider ()
 
LteFfrRrcSapUserGetLteFfrRrcSapUser ()
 Get the FFR SAP offered by this RRC. More...
 
LteHandoverManagementSapUserGetLteHandoverManagementSapUser ()
 Get the Handover Management SAP offered by this RRC. More...
 
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. More...
 
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. More...
 
bool HasUeManager (uint16_t rnti) const
 
bool SendData (Ptr< Packet > p)
 Enqueue an IP data packet on the proper bearer for downlink transmission. More...
 
void SendHandoverRequest (uint16_t rnti, uint16_t cellId)
 Send a HandoverRequest through the X2 SAP interface. More...
 
void SetCellId (uint16_t m_cellId)
 set the cell id of this eNB More...
 
void SetCsgId (uint32_t csgId, bool csgIndication)
 Associate this RRC entity with a particular CSG information. More...
 
void SetEpcX2SapProvider (EpcX2SapProvider *s)
 Set the X2 SAP this RRC should interact with. More...
 
void SetForwardUpCallback (Callback< void, Ptr< Packet > > cb)
 set the callback used to forward data packets up the stack More...
 
void SetLteAnrSapProvider (LteAnrSapProvider *s)
 set the ANR SAP this RRC should interact with More...
 
void SetLteEnbCmacSapProvider (LteEnbCmacSapProvider *s)
 set the CMAC SAP this RRC should interact with More...
 
void SetLteEnbCphySapProvider (LteEnbCphySapProvider *s)
 set the CPHY SAP this RRC should use to interact with the PHY More...
 
void SetLteEnbRrcSapUser (LteEnbRrcSapUser *s)
 set the RRC SAP this RRC should interact with More...
 
void SetLteFfrRrcSapProvider (LteFfrRrcSapProvider *s)
 set the FFR SAP this RRC should interact with More...
 
void SetLteHandoverManagementSapProvider (LteHandoverManagementSapProvider *s)
 set the Handover Management SAP this RRC should interact with More...
 
void SetLteMacSapProvider (LteMacSapProvider *s)
 set the MAC SAP provider. More...
 
void SetS1SapProvider (EpcEnbS1SapProvider *s)
 Set the S1 SAP Provider. More...
 
void SetSrsPeriodicity (uint32_t p)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Implement the GetInstanceTypeId method defined in ObjectBase. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Protected Member Functions

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

Private Member Functions

uint16_t AddUe (UeManager::State state)
 Allocate a new RNTI for a new UE. More...
 
uint8_t DoAddUeMeasReportConfigForAnr (LteRrcSap::ReportConfigEutra reportConfig)
 
uint8_t DoAddUeMeasReportConfigForFfr (LteRrcSap::ReportConfigEutra reportConfig)
 
uint8_t DoAddUeMeasReportConfigForHandover (LteRrcSap::ReportConfigEutra reportConfig)
 
uint16_t DoAllocateTemporaryCellRnti ()
 
void DoCompleteSetupUe (uint16_t rnti, LteEnbRrcSapProvider::CompleteSetupUeParameters params)
 Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::CompleteSetupUe interface to UeManager::CompleteSetupUe. More...
 
void DoDataRadioBearerSetupRequest (EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters params)
 
void DoNotifyLcConfigResult (uint16_t rnti, uint8_t lcid, bool success)
 
void DoPathSwitchRequestAcknowledge (EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters params)
 
void DoRecvHandoverPreparationFailure (EpcX2SapUser::HandoverPreparationFailureParams params)
 
void DoRecvHandoverRequest (EpcX2SapUser::HandoverRequestParams params)
 
void DoRecvHandoverRequestAck (EpcX2SapUser::HandoverRequestAckParams params)
 
void DoRecvLoadInformation (EpcX2SapUser::LoadInformationParams params)
 
void DoRecvMeasurementReport (uint16_t rnti, LteRrcSap::MeasurementReport msg)
 Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvMeasurementReport interface to UeManager::RecvMeasurementReport. More...
 
void DoRecvResourceStatusUpdate (EpcX2SapUser::ResourceStatusUpdateParams params)
 
void DoRecvRrcConnectionReconfigurationCompleted (uint16_t rnti, LteRrcSap::RrcConnectionReconfigurationCompleted msg)
 Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted interface to UeManager::RecvRrcConnectionReconfigurationCompleted. More...
 
void DoRecvRrcConnectionReestablishmentComplete (uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentComplete msg)
 Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface to UeManager::RecvRrcConnectionReestablishmentComplete. More...
 
void DoRecvRrcConnectionReestablishmentRequest (uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentRequest msg)
 Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest interface to UeManager::RecvRrcConnectionReestablishmentRequest. More...
 
void DoRecvRrcConnectionRequest (uint16_t rnti, LteRrcSap::RrcConnectionRequest msg)
 Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionRequest interface to UeManager::RecvRrcConnectionRequest. More...
 
void DoRecvRrcConnectionSetupCompleted (uint16_t rnti, LteRrcSap::RrcConnectionSetupCompleted msg)
 Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface to UeManager::RecvRrcConnectionSetupCompleted. More...
 
void DoRecvSnStatusTransfer (EpcX2SapUser::SnStatusTransferParams params)
 
void DoRecvUeContextRelease (EpcX2SapUser::UeContextReleaseParams params)
 
void DoRecvUeData (EpcX2SapUser::UeDataParams params)
 
void DoRrcConfigurationUpdateInd (LteEnbCmacSapUser::UeConfig params)
 
void DoSendLoadInformation (EpcX2Sap::LoadInformationParams params)
 
void DoSetPdschConfigDedicated (uint16_t rnti, LteRrcSap::PdschConfigDedicated pa)
 
void DoTriggerHandover (uint16_t rnti, uint16_t targetCellId)
 
uint8_t GetLogicalChannelGroup (EpsBearer bearer)
 
uint8_t GetLogicalChannelPriority (EpsBearer bearer)
 
uint16_t GetNewSrsConfigurationIndex (void)
 Allocate a new SRS configuration index for a new UE. More...
 
TypeId GetRlcType (EpsBearer bearer)
 
void RemoveSrsConfigurationIndex (uint16_t srcCi)
 remove a previously allocated SRS configuration index More...
 
void RemoveUe (uint16_t rnti)
 remove a UE from the cell More...
 
void SendSystemInformation ()
 method used to periodically send System Information More...
 

Private Attributes

bool m_admitHandoverRequest
 The AdmitHandoverRequest attribute. More...
 
bool m_admitRrcConnectionRequest
 The AdmitRrcConnectionRequest attribute. More...
 
std::set< uint8_t > m_anrMeasIds
 List of measurement identities which are intended for ANR purpose. More...
 
LteAnrSapProviderm_anrSapProvider
 Interface to the ANR instance. More...
 
LteAnrSapUserm_anrSapUser
 Receive API calls from the ANR instance. More...
 
uint16_t m_cellId
 Cell identifier. Must be unique across the simulation. More...
 
LteEnbCmacSapProviderm_cmacSapProvider
 Interface to the eNodeB MAC instance. More...
 
LteEnbCmacSapUserm_cmacSapUser
 Receive API calls from the eNodeB MAC instance. More...
 
bool m_configured
 True if ConfigureCell() has been completed. More...
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionEstablishedTrace
 The ConnectionEstablished trace source. More...
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReconfigurationTrace
 The ConnectionReconfiguration trace source. More...
 
Time m_connectionRejectedTimeoutDuration
 The ConnectionRejectedTimeoutDuration attribute. More...
 
Time m_connectionRequestTimeoutDuration
 The ConnectionRequestTimeoutDuration attribute. More...
 
Time m_connectionSetupTimeoutDuration
 The ConnectionSetupTimeoutDuration attribute. More...
 
LteEnbCphySapProviderm_cphySapProvider
 Interface to the eNodeB PHY instance. More...
 
LteEnbCphySapUserm_cphySapUser
 Receive API calls from the eNodeB PHY instance. More...
 
uint8_t m_defaultTransmissionMode
 The DefaultTransmissionMode attribute. More...
 
uint16_t m_dlBandwidth
 Downlink transmission bandwidth configuration in number of Resource Blocks. More...
 
uint16_t m_dlEarfcn
 Downlink E-UTRA Absolute Radio Frequency Channel Number. More...
 
enum LteEpsBearerToRlcMapping_t m_epsBearerToRlcMapping
 The EpsBearerToRlcMapping attribute. More...
 
std::set< uint8_t > m_ffrMeasIds
 List of measurement identities which are intended for FFR purpose. More...
 
LteFfrRrcSapProviderm_ffrRrcSapProvider
 Interface to the FFR algorithm instance. More...
 
LteFfrRrcSapUserm_ffrRrcSapUser
 Receive API calls from the FFR algorithm instance. More...
 
Callback< void, Ptr< Packet > > m_forwardUpCallback
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndOkTrace
 The HandoverEndOk trace source. More...
 
Time m_handoverJoiningTimeoutDuration
 The HandoverJoiningTimeoutDuration attribute. More...
 
Time m_handoverLeavingTimeoutDuration
 The HandoverLeavingTimeoutDuration attribute. More...
 
LteHandoverManagementSapProviderm_handoverManagementSapProvider
 Interface to the handover algorithm instance. More...
 
LteHandoverManagementSapUserm_handoverManagementSapUser
 Receive API calls from the handover algorithm instance. More...
 
std::set< uint8_t > m_handoverMeasIds
 List of measurement identities which are intended for handover purpose. More...
 
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_handoverStartTrace
 The HandoverStart trace source. More...
 
uint16_t m_lastAllocatedConfigurationIndex
 
uint16_t m_lastAllocatedRnti
 
LteMacSapProviderm_macSapProvider
 Interface to the eNodeB MAC instance, to be used by RLC instances. More...
 
TracedCallback< uint16_t, uint16_t > m_newUeContextTrace
 The NewUeContext trace source. More...
 
int8_t m_qRxLevMin
 The QRxLevMin attribute. More...
 
bool m_reconfigureUes
 
TracedCallback< uint64_t, uint16_t, uint16_t, LteRrcSap::MeasurementReportm_recvMeasurementReportTrace
 The RecvMeasurementReport trace source. More...
 
LteEnbRrcSapProviderm_rrcSapProvider
 Interface to receive messages from UE over the RRC protocol. More...
 
LteEnbRrcSapUserm_rrcSapUser
 Interface to send messages to UE over the RRC protocol. More...
 
uint8_t m_rsrpFilterCoefficient
 The RsrpFilterCoefficient attribute. More...
 
uint8_t m_rsrqFilterCoefficient
 The RsrqFilterCoefficient attribute. More...
 
EpcEnbS1SapProviderm_s1SapProvider
 Interface to send messages to core network over the S1 protocol. More...
 
EpcEnbS1SapUserm_s1SapUser
 Interface to receive messages from core network over the S1 protocol. More...
 
LteRrcSap::SystemInformationBlockType1 m_sib1
 The System Information Block Type 1 that is currently broadcasted over BCH. More...
 
uint16_t m_srsCurrentPeriodicityId
 The SrsPeriodicity attribute. More...
 
Time m_systemInformationPeriodicity
 The SystemInformationPeriodicity attribute. More...
 
std::map< uint16_t, Ptr< UeManager > > m_ueMap
 The UeMap attribute. More...
 
LteRrcSap::MeasConfig m_ueMeasConfig
 List of measurement configuration which are active in every UE attached to this eNodeB instance. More...
 
std::set< uint16_t > m_ueSrsConfigurationIndexSet
 
uint16_t m_ulBandwidth
 Uplink transmission bandwidth configuration in number of Resource Blocks. More...
 
uint16_t m_ulEarfcn
 Uplink E-UTRA Absolute Radio Frequency Channel Number. More...
 
EpcX2SapProviderm_x2SapProvider
 Interface to send messages to neighbour eNodeB over the X2 interface. More...
 
EpcX2SapUserm_x2SapUser
 Interface to receive messages from neighbour eNodeB over the X2 interface. More...
 
std::map< uint32_t, X2uTeidInfom_x2uTeidInfoMap
 

Friends

class EnbRrcMemberLteEnbCmacSapUser
 
class EpcX2SpecificEpcX2SapUser< LteEnbRrc >
 
class MemberEpcEnbS1SapUser< LteEnbRrc >
 
class MemberLteAnrSapUser< LteEnbRrc >
 
class MemberLteEnbRrcSapProvider< LteEnbRrc >
 
class MemberLteFfrRrcSapUser< LteEnbRrc >
 
class MemberLteHandoverManagementSapUser< LteEnbRrc >
 
class UeManager
 

Additional Inherited Members

Detailed Description

The LTE Radio Resource Control entity at the eNB.

Config Paths

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

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

Attributes

  • UeMap: List of UeManager by C-RNTI.
  • DefaultTransmissionMode: The default UEs' transmission mode (0: SISO)
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 0
    • Flags: construct write read
  • EpsBearerToRlcMapping: Specify which type of RLC will be used for each type of EPS bearer.
    • Set with class: ns3::EnumValue
    • Underlying type:
    • Initial value: RlcSmAlways
    • Flags: construct write read
  • SystemInformationPeriodicity: The interval for sending system information (Time value)
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +80000000.0ns
    • Flags: construct write read
  • SrsPeriodicity: The SRS periodicity in milliseconds
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 40
    • Flags: construct write read
  • ConnectionRequestTimeoutDuration: 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.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +15000000.0ns
    • Flags: construct write read
  • ConnectionSetupTimeoutDuration: 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.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +150000000.0ns
    • Flags: construct write read
  • ConnectionRejectedTimeoutDuration: Time to wait between sending a RRC CONNECTION REJECT and destroying the UE context
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +30000000.0ns
    • Flags: construct write read
  • HandoverJoiningTimeoutDuration: 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.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +200000000.0ns
    • Flags: construct write read
  • HandoverLeavingTimeoutDuration: 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.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +500000000.0ns
    • Flags: construct write read
  • QRxLevMin: 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. The default value -70 corresponds to -140 dBm and is the lowest possible value as defined by Section 6.3.4 of 3GPP TS 36.133. This restriction, however, only applies to initial cell selection and EPC-enabled simulation.
    • Set with class: ns3::IntegerValue
    • Underlying type: int8_t -70:-22
    • Initial value: -70
    • Flags: construct read
  • AdmitHandoverRequest: Whether to admit an X2 handover request from another eNB
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • AdmitRrcConnectionRequest: Whether to admit a connection request from a UE
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • RsrpFilterCoefficient: Determines the strength of smoothing effect induced by layer 3 filtering of RSRP in all attached UE; if set to 0, no layer 3 filtering is applicable
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 4
    • Flags: construct write read
  • RsrqFilterCoefficient: Determines the strength of smoothing effect induced by layer 3 filtering of RSRQ in all attached UE; if set to 0, no layer 3 filtering is applicable
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 4
    • Flags: construct write read

TraceSources

Size of this type is 800 bytes (on a 64-bit architecture).

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

Member Typedef Documentation

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

TracedCallback signature for connection and handover end events.

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

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

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

TracedCallback signature for handover start events.

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

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

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

TracedCallback signature for new Ue Context events.

Parameters
[in]cellId
[in]rnti

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

typedef void(* ns3::LteEnbRrc::ReceiveReportTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, 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 864 of file lte-enb-rrc.h.

Constructor & Destructor Documentation

ns3::LteEnbRrc::LteEnbRrc ( )
ns3::LteEnbRrc::~LteEnbRrc ( )
virtual

Destructor.

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

References NS_LOG_FUNCTION.

Member Function Documentation

uint16_t ns3::LteEnbRrc::AddUe ( UeManager::State  state)
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
Returns
the newly allocated RNTI

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

References m_cellId, m_lastAllocatedRnti, m_newUeContextTrace, m_ueMap, NS_ASSERT_MSG, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by DoAllocateTemporaryCellRnti(), and DoRecvHandoverRequest().

+ Here is the caller graph for this function:

uint8_t ns3::LteEnbRrc::AddUeMeasReportConfig ( LteRrcSap::ReportConfigEutra  config)

Add a new UE measurement reporting configuration.

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

Assuming intra-frequency environment, the new measurement reporting configuration will be automatically associated to the only measurement object (i.e., a new measurement identity will be automatically created).

Can only be called before the start of simulation.

Definition at line 1632 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_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::ReportConfigToAddMod::reportConfigId, ns3::LteRrcSap::MeasIdToAddMod::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(), DoAddUeMeasReportConfigForFfr(), DoAddUeMeasReportConfigForHandover(), LteUeMeasurementsPiecewiseTestCase1::DoRun(), LteUeMeasurementsPiecewiseTestCase2::DoRun(), and LteUeMeasurementsHandoverTestCase::DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Add a neighbour with an X2 interface.

Parameters
cellIdneighbouring cell id

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

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

+ Here is the call graph for this function:

void ns3::LteEnbRrc::ConfigureCell ( uint8_t  ulBandwidth,
uint8_t  dlBandwidth,
uint16_t  ulEarfcn,
uint16_t  dlEarfcn,
uint16_t  cellId 
)

Configure cell-specific parameters.

Parameters
ulBandwidththe uplink bandwidth in number of RB
dlBandwidththe downlink bandwidth in number of RB
ulEarfcnthe UL EARFCN
dlEarfcnthe DL EARFCN
cellIdthe ID of the cell

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.

Definition at line 1720 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::LteEnbCmacSapProvider::ConfigureMac(), 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_cellId, 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(), ns3::LteFfrRrcSapProvider::SetBandwidth(), ns3::LteEnbCphySapProvider::SetBandwidth(), ns3::LteFfrRrcSapProvider::SetCellId(), ns3::LteEnbCphySapProvider::SetCellId(), ns3::LteEnbCphySapProvider::SetEarfcn(), ns3::LteEnbCphySapProvider::SetMasterInformationBlock(), and ns3::LteEnbCphySapProvider::SetSystemInformationBlockType1().

+ Here is the call graph for this function:

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

References ns3::UeManager::CONNECTION_REJECTED, GetUeManager(), 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:

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

References GetUeManager(), ns3::UeManager::INITIAL_RANDOM_ACCESS, 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:

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

References ns3::UeManager::CONNECTION_SETUP, GetUeManager(), 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:

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

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

References AddUeMeasReportConfig(), m_anrMeasIds, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

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

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

References AddUeMeasReportConfig(), m_ffrMeasIds, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

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

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

References AddUeMeasReportConfig(), m_handoverMeasIds, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

uint16_t ns3::LteEnbRrc::DoAllocateTemporaryCellRnti ( )
private

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::CompleteSetupUe interface to UeManager::CompleteSetupUe.

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteEnbRrc::DoDispose ( void  )
protectedvirtual

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 overriden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.

It is safe to call GetObject() from within this method.

Reimplemented from ns3::Object.

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

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

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

Definition at line 2158 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:

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

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

References GetUeManager(), and ns3::EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters::rnti.

+ Here is the call graph for this function:

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

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

References AddUe(), ns3::EpcX2Sap::HandoverRequestAckParams::admittedBearers, ns3::LteEnbCmacSapProvider::AllocateNcRaPreamble(), ns3::EpcX2Sap::HandoverRequestParams::bearers, ns3::LteRrcSap::MobilityControlInfo::carrierBandwidth, ns3::LteRrcSap::MobilityControlInfo::carrierFreq, ns3::EpcX2Sap::HandoverPreparationFailureParams::cause, ns3::EpcX2Sap::HandoverPreparationFailureParams::criticalityDiagnostics, ns3::LteRrcSap::CarrierBandwidthEutra::dlBandwidth, ns3::LteRrcSap::CarrierFreqEutra::dlCarrierFreq, ns3::LteEnbRrcSapUser::EncodeHandoverCommand(), ns3::EpcX2Sap::ErabAdmittedItem::erabId, ns3::LteEnbCmacSapProvider::GetRachConfig(), GetUeManager(), ns3::UeManager::HANDOVER_JOINING, ns3::LteRrcSap::MobilityControlInfo::haveCarrierBandwidth, ns3::LteRrcSap::MobilityControlInfo::haveCarrierFreq, ns3::LteRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, ns3::LteRrcSap::MobilityControlInfo::haveRachConfigDedicated, m_admitHandoverRequest, m_cellId, m_cmacSapProvider, m_dlBandwidth, m_dlEarfcn, m_rrcSapUser, m_ulBandwidth, m_ulEarfcn, m_x2SapProvider, ns3::EpcX2Sap::HandoverRequestParams::mmeUeS1apId, ns3::LteRrcSap::RrcConnectionReconfiguration::mobilityControlInfo, ns3::EpcX2Sap::HandoverRequestAckParams::newEnbUeX2apId, ns3::LteRrcSap::MobilityControlInfo::newUeIdentity, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC, ns3::LteEnbCmacSapProvider::RachConfig::numberOfRaPreambles, ns3::LteRrcSap::PreambleInfo::numberOfRaPreambles, ns3::EpcX2Sap::HandoverRequestParams::oldEnbUeX2apId, ns3::EpcX2Sap::HandoverRequestAckParams::oldEnbUeX2apId, ns3::EpcX2Sap::HandoverPreparationFailureParams::oldEnbUeX2apId, ns3::LteRrcSap::RachConfigCommon::preambleInfo, ns3::LteEnbCmacSapProvider::RachConfig::preambleTransMax, 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::LteEnbCmacSapProvider::RachConfig::raResponseWindowSize, ns3::LteRrcSap::RaSupervisionInfo::raResponseWindowSize, ns3::LteRrcSap::RachConfigCommon::raSupervisionInfo, RemoveUe(), ns3::EpcX2Sap::HandoverRequestAckParams::rrcContext, ns3::EpcX2SapProvider::SendHandoverPreparationFailure(), ns3::EpcX2SapProvider::SendHandoverRequestAck(), ns3::EpcX2Sap::HandoverRequestParams::sourceCellId, ns3::EpcX2Sap::HandoverRequestAckParams::sourceCellId, ns3::EpcX2Sap::HandoverPreparationFailureParams::sourceCellId, ns3::EpcX2Sap::HandoverRequestParams::targetCellId, ns3::EpcX2Sap::HandoverRequestAckParams::targetCellId, ns3::EpcX2Sap::HandoverPreparationFailureParams::targetCellId, ns3::LteRrcSap::MobilityControlInfo::targetPhysCellId, ns3::LteRrcSap::CarrierBandwidthEutra::ulBandwidth, ns3::LteRrcSap::CarrierFreqEutra::ulCarrierFreq, and ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::valid.

+ Here is the call graph for this function:

void ns3::LteEnbRrc::DoRecvLoadInformation ( EpcX2SapUser::LoadInformationParams  params)
private
void ns3::LteEnbRrc::DoRecvMeasurementReport ( uint16_t  rnti,
LteRrcSap::MeasurementReport  msg 
)
private

Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvMeasurementReport interface to UeManager::RecvMeasurementReport.

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteEnbRrc::DoRecvResourceStatusUpdate ( EpcX2SapUser::ResourceStatusUpdateParams  params)
private
void ns3::LteEnbRrc::DoRecvRrcConnectionReconfigurationCompleted ( uint16_t  rnti,
LteRrcSap::RrcConnectionReconfigurationCompleted  msg 
)
private

Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted interface to UeManager::RecvRrcConnectionReconfigurationCompleted.

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

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

Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface to UeManager::RecvRrcConnectionReestablishmentComplete.

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

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

Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest interface to UeManager::RecvRrcConnectionReestablishmentRequest.

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

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

Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionRequest interface to UeManager::RecvRrcConnectionRequest.

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

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

Part of the RRC protocol. Forwarding LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface to UeManager::RecvRrcConnectionSetupCompleted.

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteEnbRrc::DoRecvUeContextRelease ( EpcX2SapUser::UeContextReleaseParams  params)
private
void ns3::LteEnbRrc::DoRrcConfigurationUpdateInd ( LteEnbCmacSapUser::UeConfig  params)
private

Definition at line 2151 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:

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

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

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

+ Here is the call graph for this function:

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

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

+ Here is the call graph for this function:

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

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

References GetUeManager(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteEnbRrc::DoTriggerHandover ( uint16_t  rnti,
uint16_t  targetCellId 
)
private
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 1503 of file lte-enb-rrc.cc.

References m_x2SapUser, and NS_LOG_FUNCTION.

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

References ns3::EpsBearer::IsGbr().

+ Here is the call graph for this function:

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

References ns3::EpsBearer::qci.

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

References m_anrSapUser, and NS_LOG_FUNCTION.

LteEnbCmacSapUser * ns3::LteEnbRrc::GetLteEnbCmacSapUser ( )

Get the CMAC SAP offered by this RRC.

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

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

References m_cmacSapUser, and NS_LOG_FUNCTION.

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

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

References m_cphySapUser, and NS_LOG_FUNCTION.

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

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

References m_rrcSapProvider, and NS_LOG_FUNCTION.

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

References m_ffrRrcSapUser, and NS_LOG_FUNCTION.

LteHandoverManagementSapUser * ns3::LteEnbRrc::GetLteHandoverManagementSapUser ( )

Get the Handover Management SAP offered by this RRC.

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

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

References m_handoverManagementSapUser, and NS_LOG_FUNCTION.

uint16_t ns3::LteEnbRrc::GetNewSrsConfigurationIndex ( void  )
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 2403 of file lte-enb-rrc.cc.

References m_lastAllocatedConfigurationIndex, m_srsCurrentPeriodicityId, m_ueSrsConfigurationIndexSet, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

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

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

+ Here is the call graph for this function:

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

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

References m_s1SapUser.

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

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

References m_srsCurrentPeriodicityId, NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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

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

References GetUeManager(), ns3::UeManager::HANDOVER_JOINING, 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:

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

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

References GetUeManager(), ns3::UeManager::HANDOVER_LEAVING, NS_ASSERT_MSG, NS_LOG_FUNCTION, RemoveUe(), and ns3::ToString().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

References m_ueMap, and NS_LOG_FUNCTION.

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 indext to be removed

Definition at line 2457 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:

void ns3::LteEnbRrc::RemoveUe ( uint16_t  rnti)
private
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 1799 of file lte-enb-rrc.cc.

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

+ Here is the call graph for this function:

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 1864 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:

void ns3::LteEnbRrc::SendSystemInformation ( )
private
void ns3::LteEnbRrc::SetCellId ( uint16_t  m_cellId)
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 2342 of file lte-enb-rrc.cc.

References ns3::LteRrcSap::SystemInformationBlockType1::cellAccessRelatedInfo, ns3::LteRrcSap::CellAccessRelatedInfo::csgIdentity, ns3::LteRrcSap::CellAccessRelatedInfo::csgIndication, m_cphySapProvider, m_sib1, NS_LOG_FUNCTION, and ns3::LteEnbCphySapProvider::SetSystemInformationBlockType1().

+ Here is the call graph for this function:

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

References m_x2SapProvider, and NS_LOG_FUNCTION.

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

References m_forwardUpCallback.

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

References m_anrSapProvider, and NS_LOG_FUNCTION.

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

References m_cmacSapProvider, and NS_LOG_FUNCTION.

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

References m_cphySapProvider, and NS_LOG_FUNCTION.

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

References m_rrcSapUser, and NS_LOG_FUNCTION.

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

References m_ffrRrcSapProvider, and NS_LOG_FUNCTION.

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

References m_handoverManagementSapProvider, and NS_LOG_FUNCTION.

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

References m_macSapProvider, and NS_LOG_FUNCTION.

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

Set the S1 SAP Provider.

Parameters
sthe S1 SAP Provider

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

References m_s1SapProvider.

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

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

References 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 Function Documentation

friend class EnbRrcMemberLteEnbCmacSapUser
friend

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

Referenced by LteEnbRrc().

friend class EpcX2SpecificEpcX2SapUser< LteEnbRrc >
friend

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

friend class MemberEpcEnbS1SapUser< LteEnbRrc >
friend

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

friend class MemberLteAnrSapUser< LteEnbRrc >
friend

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

friend class MemberLteEnbRrcSapProvider< LteEnbRrc >
friend

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

friend class MemberLteFfrRrcSapUser< LteEnbRrc >
friend

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

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

friend class UeManager
friend

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

Member Data Documentation

bool ns3::LteEnbRrc::m_admitHandoverRequest
private

The AdmitHandoverRequest attribute.

Whether to admit an X2 handover request from another eNB.

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

Referenced by DoRecvHandoverRequest(), and GetTypeId().

bool ns3::LteEnbRrc::m_admitRrcConnectionRequest
private

The AdmitRrcConnectionRequest attribute.

Whether to admit a connection request from a UE.

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

Referenced by GetTypeId().

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

List of measurement identities which are intended for ANR purpose.

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

Referenced by DoAddUeMeasReportConfigForAnr().

LteAnrSapProvider* ns3::LteEnbRrc::m_anrSapProvider
private

Interface to the ANR instance.

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

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

LteAnrSapUser* ns3::LteEnbRrc::m_anrSapUser
private

Receive API calls from the ANR instance.

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

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

uint16_t ns3::LteEnbRrc::m_cellId
private

Cell identifier. Must be unique across the simulation.

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

Referenced by AddUe(), ConfigureCell(), DoRecvHandoverRequest(), DoTriggerHandover(), GetUeManager(), and SetCellId().

LteEnbCmacSapProvider* ns3::LteEnbRrc::m_cmacSapProvider
private

Interface to the eNodeB MAC instance.

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

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

LteEnbCmacSapUser* ns3::LteEnbRrc::m_cmacSapUser
private

Receive API calls from the eNodeB MAC instance.

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

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

bool ns3::LteEnbRrc::m_configured
private

True if ConfigureCell() has been completed.

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

Referenced by ConfigureCell(), and SendHandoverRequest().

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 1231 of file lte-enb-rrc.h.

Referenced by GetTypeId().

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 1236 of file lte-enb-rrc.h.

Referenced by GetTypeId().

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 1205 of file lte-enb-rrc.h.

Referenced by GetTypeId().

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 1193 of file lte-enb-rrc.h.

Referenced by GetTypeId().

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 1200 of file lte-enb-rrc.h.

Referenced by GetTypeId().

LteEnbCphySapProvider* ns3::LteEnbRrc::m_cphySapProvider
private

Interface to the eNodeB PHY instance.

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

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

LteEnbCphySapUser* ns3::LteEnbRrc::m_cphySapUser
private

Receive API calls from the eNodeB PHY instance.

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

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

uint8_t ns3::LteEnbRrc::m_defaultTransmissionMode
private

The DefaultTransmissionMode attribute.

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

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

Referenced by GetTypeId().

uint16_t ns3::LteEnbRrc::m_dlBandwidth
private

Downlink transmission bandwidth configuration in number of Resource Blocks.

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

Referenced by ConfigureCell(), and DoRecvHandoverRequest().

uint16_t ns3::LteEnbRrc::m_dlEarfcn
private

Downlink E-UTRA Absolute Radio Frequency Channel Number.

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

Referenced by ConfigureCell(), and DoRecvHandoverRequest().

enum 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 1145 of file lte-enb-rrc.h.

Referenced by GetRlcType(), and GetTypeId().

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

List of measurement identities which are intended for FFR purpose.

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

Referenced by DoAddUeMeasReportConfigForFfr().

LteFfrRrcSapProvider* ns3::LteEnbRrc::m_ffrRrcSapProvider
private

Interface to the FFR algorithm instance.

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

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

LteFfrRrcSapUser* ns3::LteEnbRrc::m_ffrRrcSapUser
private

Receive API calls from the FFR algorithm instance.

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

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

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

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

Referenced by SetForwardUpCallback().

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 1246 of file lte-enb-rrc.h.

Referenced by GetTypeId().

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 1214 of file lte-enb-rrc.h.

Referenced by GetTypeId().

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 1220 of file lte-enb-rrc.h.

Referenced by GetTypeId().

LteHandoverManagementSapProvider* ns3::LteEnbRrc::m_handoverManagementSapProvider
private

Interface to the handover algorithm instance.

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

Referenced by SetLteHandoverManagementSapProvider().

LteHandoverManagementSapUser* ns3::LteEnbRrc::m_handoverManagementSapUser
private

Receive API calls from the handover algorithm instance.

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

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

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

List of measurement identities which are intended for handover purpose.

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

Referenced by DoAddUeMeasReportConfigForHandover().

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 1241 of file lte-enb-rrc.h.

Referenced by GetTypeId().

uint16_t ns3::LteEnbRrc::m_lastAllocatedConfigurationIndex
private

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

Referenced by GetNewSrsConfigurationIndex().

uint16_t ns3::LteEnbRrc::m_lastAllocatedRnti
private

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

Referenced by AddUe().

LteMacSapProvider* ns3::LteEnbRrc::m_macSapProvider
private

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

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

Referenced by SetLteMacSapProvider().

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 1226 of file lte-enb-rrc.h.

Referenced by AddUe(), and GetTypeId().

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 1164 of file lte-enb-rrc.h.

Referenced by ConfigureCell(), and GetTypeId().

bool ns3::LteEnbRrc::m_reconfigureUes
private

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

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 1251 of file lte-enb-rrc.h.

Referenced by GetTypeId().

LteEnbRrcSapProvider* ns3::LteEnbRrc::m_rrcSapProvider
private

Interface to receive messages from UE over the RRC protocol.

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

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

LteEnbRrcSapUser* ns3::LteEnbRrc::m_rrcSapUser
private

Interface to send messages to UE over the RRC protocol.

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

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

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 1180 of file lte-enb-rrc.h.

Referenced by ConfigureCell(), and GetTypeId().

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 1186 of file lte-enb-rrc.h.

Referenced by ConfigureCell(), and GetTypeId().

EpcEnbS1SapProvider* ns3::LteEnbRrc::m_s1SapProvider
private

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

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

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

EpcEnbS1SapUser* ns3::LteEnbRrc::m_s1SapUser
private

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

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

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

LteRrcSap::SystemInformationBlockType1 ns3::LteEnbRrc::m_sib1
private

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

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

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

uint16_t ns3::LteEnbRrc::m_srsCurrentPeriodicityId
private

The SrsPeriodicity attribute.

The SRS periodicity in milliseconds.

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

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

Time ns3::LteEnbRrc::m_systemInformationPeriodicity
private

The SystemInformationPeriodicity attribute.

The interval for sending system information.

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

Referenced by GetTypeId(), and SendSystemInformation().

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

The UeMap attribute.

List of UeManager by C-RNTI.

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

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

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 1118 of file lte-enb-rrc.h.

Referenced by AddUeMeasReportConfig(), and ConfigureCell().

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

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

Referenced by GetNewSrsConfigurationIndex(), and RemoveSrsConfigurationIndex().

uint16_t ns3::LteEnbRrc::m_ulBandwidth
private

Uplink transmission bandwidth configuration in number of Resource Blocks.

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

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

uint16_t ns3::LteEnbRrc::m_ulEarfcn
private

Uplink E-UTRA Absolute Radio Frequency Channel Number.

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

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

EpcX2SapProvider* ns3::LteEnbRrc::m_x2SapProvider
private

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

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

Referenced by DoRecvHandoverRequest(), DoSendLoadInformation(), and SetEpcX2SapProvider().

EpcX2SapUser* ns3::LteEnbRrc::m_x2SapUser
private

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

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

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

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

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

Referenced by DoRecvUeData().


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