|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
31 #include <ns3/nstime.h>
32 #include <ns3/object.h>
33 #include <ns3/traced-callback.h>
34 #include <ns3/event-id.h>
36 #include <ns3/lte-enb-cmac-sap.h>
37 #include <ns3/lte-mac-sap.h>
38 #include <ns3/ff-mac-sched-sap.h>
39 #include <ns3/ff-mac-csched-sap.h>
40 #include <ns3/lte-pdcp-sap.h>
41 #include <ns3/epc-x2-sap.h>
42 #include <ns3/epc-enb-s1-sap.h>
43 #include <ns3/lte-handover-management-sap.h>
44 #include <ns3/lte-ccm-rrc-sap.h>
45 #include <ns3/lte-enb-cphy-sap.h>
46 #include <ns3/lte-rrc-sap.h>
47 #include <ns3/lte-anr-sap.h>
48 #include <ns3/lte-ffr-rrc-sap.h>
49 #include <ns3/lte-rlc.h>
53 #include <ns3/component-carrier-enb.h>
57 #define MAX_NO_CC 5 // this is the maximum number of carrier components allowed by 3GPP up to R13
61 class LteRadioBearerInfo;
62 class LteSignalingRadioBearerInfo;
63 class LteDataRadioBearerInfo;
136 void SetSource (uint16_t sourceCellId, uint16_t sourceX2apId);
240 std::vector<EpcX2Sap::ErabToBeSetupItem>
GetErabList ();
394 (
const uint64_t imsi,
const uint16_t cellId,
const uint16_t rnti,
515 std::map <uint8_t, Ptr<LteDataRadioBearerInfo> >
m_drbMap;
937 void SetCellId (uint16_t m_cellId, uint8_t ccIndex);
1052 (
const uint16_t cellId,
const uint16_t rnti);
1062 (
const uint64_t imsi,
const uint16_t cellId,
const uint16_t rnti);
1073 (
const uint64_t imsi,
const uint16_t cellId,
const uint16_t rnti,
1074 const uint16_t targetCid);
1087 (
const uint64_t imsi,
const uint16_t cellId,
const uint16_t rnti,
1099 (
const uint64_t imsi,
const uint16_t rnti,
const uint16_t cellId,
1100 const std::string cause);
1413 void SetCsgId (uint32_t csgId,
bool csgIndication);
1529 std::vector<LteRrcSap::SystemInformationBlockType1>
m_sib1;
1701 #endif // LTE_ENB_RRC_H
LteAnrSapProvider * m_anrSapProvider
Interface to the ANR instance.
uint8_t m_defaultTransmissionMode
The DefaultTransmissionMode attribute.
void PrepareHandover(uint16_t cellId)
Start the handover preparation and send the handover request.
void RecvHandoverPreparationFailure(uint16_t cellId)
Take the necessary actions in response to the reception of an X2 HO preparation failure message.
void ReleaseDataRadioBearer(uint8_t drbid)
Release a given radio bearer.
a unique identifier for an interface.
void DoSetNumberOfComponentCarriers(uint16_t numberOfComponentCarriers)
Set number of component carriers.
Service Access Point (SAP) offered by the MAC to the RRC See Femto Forum MAC Scheduler Interface Spec...
enum LteEpsBearerToRlcMapping_t m_epsBearerToRlcMapping
The EpsBearerToRlcMapping attribute.
std::vector< LteRrcSap::SystemInformationBlockType1 > m_sib1
The System Information Block Type 1 that is currently broadcasted over BCH.
Service Access Point (SAP) offered by the eNodeB RRC instance to the handover algorithm instance.
void(* TimerExpiryTracedCallback)(const uint64_t imsi, const uint16_t rnti, const uint16_t cellId, const std::string cause)
TracedCallback signature for timer expiry events.
void ConnectionSetupTimeout(uint16_t rnti)
Method triggered when a UE is expected to complete a connection setup procedure but does not do so in...
void RecvIdealUeContextRemoveRequest(uint16_t rnti)
Implement the LteEnbRrcSapProvider::RecvIdealUeContextRemoveRequest interface.
void RecvMeasurementReport(LteRrcSap::MeasurementReport msg)
Implement the LteEnbRrcSapProvider::RecvMeasurementReport interface.
void SetS1SapProvider(EpcEnbS1SapProvider *s)
Set the S1 SAP Provider.
void SetLteFfrRrcSapProvider(LteFfrRrcSapProvider *s)
set the FFR SAP this RRC should interact with
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
RrcConnectionSetupCompleted structure.
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 ...
uint16_t m_sourceCellId
source cell ID
bool IsRandomAccessCompleted(uint16_t rnti)
Is random access completed function.
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.
LtePdcpSapUser * m_drbPdcpSapUser
DRB PDCP SAP user.
An identifier for simulation events.
uint8_t GetLogicalChannelPriority(EpsBearer bearer)
Parameters passed to InitialContextSetupRequest ()
void(* StateTracedCallback)(const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const State oldState, const State newState)
TracedCallback signature for state transition events.
uint8_t DoAddUeMeasReportConfigForComponentCarrier(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for component carrier function.
Template for the implementation of the LteEnbRrcSapProvider as a member of an owner class of type C t...
uint8_t Lcid2Bid(uint8_t lcid)
uint8_t Bid2Lcid(uint8_t bid)
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReconfigurationTrace
The ConnectionReconfiguration trace source.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void DoRecvLoadInformation(EpcX2SapUser::LoadInformationParams params)
Receive load information function.
Ptr< LteSignalingRadioBearerInfo > m_srb1
The Srb1 attribute.
uint64_t GetImsi(void) const
void SetPdschConfigDedicated(LteRrcSap::PdschConfigDedicated pdschConfigDedicated)
Configure PdschConfigDedicated (i.e.
void SendHandoverRequest(uint16_t rnti, uint16_t cellId)
Send a HandoverRequest through the X2 SAP interface.
State
The state of the UeManager at the eNB RRC.
LteRrcSap::MeasConfig m_ueMeasConfig
List of measurement configuration which are active in every UE attached to this eNodeB instance.
uint8_t m_lastRrcTransactionIdentifier
last RRC transaction identifier
uint8_t Lcid2Drbid(uint8_t lcid)
void DoRecvRrcConnectionRequest(uint16_t rnti, LteRrcSap::RrcConnectionRequest msg)
Part of the RRC protocol.
LteAnrSapUser * m_anrSapUser
Receive API calls from the ANR instance.
LtePdcpSpecificLtePdcpSapUser class.
uint8_t Drbid2Bid(uint8_t drbid)
void SwitchToState(State s)
Switch the UeManager to the given state.
Service Access Point (SAP) offered by the Component Carrier Manager (CCM) instance to the eNodeB RRC ...
EventId m_handoverJoiningTimeout
Time limit before a handover joining timeout occurs.
std::set< uint8_t > m_anrMeasIds
List of measurement identities which are intended for ANR purpose.
void DoRecvHandoverRequestAck(EpcX2SapUser::HandoverRequestAckParams params)
Receive handover request acknowledge function.
Parameters passed to DataRadioBearerSetupRequest ()
Template for the implementation of the EpcEnbS1SapUser as a member of an owner class of type C to whi...
LteHandoverManagementSapProvider * m_handoverManagementSapProvider
Interface to the handover algorithm instance.
void DoSendLoadInformation(EpcX2Sap::LoadInformationParams params)
Send load information function.
void SetLteEnbCphySapProvider(LteEnbCphySapProvider *s)
set the CPHY SAP this RRC should use to interact with the PHY
Template for the implementation of the LteAnrSapUser as a member of an owner class of type C to which...
std::map< uint16_t, Ptr< UeManager > > m_ueMap
The UeMap attribute.
TracedCallback< uint64_t, uint16_t, uint16_t, std::string > m_rrcTimeoutTrace
The 'TimerExpiry' Trace source.
Template for the implementation of the LteHandoverManagementSapUser as a member of an owner class of ...
void SetLteCcmRrcSapProvider(LteCcmRrcSapProvider *s)
set the Component Carrier Management SAP this RRC should interact with
LteRrcSap::RrcConnectionReconfiguration BuildRrcConnectionReconfiguration()
void SendUeContextRelease()
send the UE CONTEXT RELEASE X2 message to the source eNB, thus successfully terminating an X2 handove...
void DoRecvRrcConnectionReestablishmentRequest(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentRequest msg)
Part of the RRC protocol.
std::set< uint16_t > m_ueSrsConfigurationIndexSet
UE SRS configuration index set.
EpcEnbS1SapUser * GetS1SapUser()
void RecvRrcConnectionReconfigurationCompleted(LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted interface.
void ConnectionRequestTimeout(uint16_t rnti)
Method triggered when a UE is expected to request for connection but does not do so in a reasonable t...
uint8_t Bid2Drbid(uint8_t bid)
bool HasUeManager(uint16_t rnti) const
bool m_admitHandoverRequest
The AdmitHandoverRequest attribute.
Ipv4 addresses are stored in host order in this class.
virtual void DoDispose(void)
Destructor implementation.
Time m_connectionSetupTimeoutDuration
The ConnectionSetupTimeoutDuration attribute.
std::list< std::pair< uint8_t, Ptr< Packet > > > m_packetBuffer
Packet buffer for when UE is doing the handover.
RrcConnectionReconfigurationCompleted structure.
void ConnectionRejectedTimeout(uint16_t rnti)
Method triggered a while after sending RRC Connection Rejected.
void SetCellId(uint16_t m_cellId)
set the cell id of this eNB
Ptr< LteSignalingRadioBearerInfo > m_srb0
The Srb0 attribute.
bool m_needPhyMacConfiguration
need Phy MAC configuration
Parameters of the UE CONTEXT RELEASE message.
bool SendData(Ptr< Packet > p)
Enqueue an IP data packet on the proper bearer for downlink transmission.
void DoTriggerHandover(uint16_t rnti, uint16_t targetCellId)
Trigger handover function.
Parameters of the HANDOVER REQUEST message.
std::vector< LteEnbCmacSapUser * > m_cmacSapUser
Receive API calls from the eNodeB MAC instance.
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
std::map< uint32_t, X2uTeidInfo > m_x2uTeidInfoMap
TEID, RNTI, DRBID.
void ConfigureCell(std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > ccPhyConf)
Configure cell-specific parameters.
void SetSrsConfigurationIndex(uint16_t srsConfIndex)
Set the SRS configuration index and do the necessary reconfiguration.
bool m_carriersConfigured
are carriers configured
bool m_pendingStartDataRadioBearers
Pending start data radio bearers.
uint8_t m_componentCarrierId
ID of the primary CC for this UE.
void DoReceivePdcpSdu(LtePdcpSapUser::ReceivePdcpSduParameters params)
Receive PDCP SDU function.
PhysicalConfigDedicated structure.
void RecvHandoverRequestAck(EpcX2SapUser::HandoverRequestAckParams params)
take the necessary actions in response to the reception of an X2 HANDOVER REQUEST ACK message
void DoRecvUeData(EpcX2SapUser::UeDataParams params)
Receive UE data function.
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_handoverStartTrace
The HandoverStart trace source.
uint16_t m_numberOfComponentCarriers
number of component carriers
LteCcmRrcSapUser * GetLteCcmRrcSapUser()
Get the Component Carrier Management SAP offered by this RRC.
Service Access Point (SAP) offered by the handover algorithm instance to the eNodeB RRC instance.
uint16_t m_dlBandwidth
Downlink transmission bandwidth configuration in number of Resource Blocks.
void SendData(uint8_t bid, Ptr< Packet > p)
Send a data packet over the appropriate Data Radio Bearer.
Service Access Point (SAP) offered by the eNodeB RRC instance to the component carrier manager (CCM) ...
uint16_t m_lastAllocatedRnti
Last allocated RNTI.
uint8_t DoAddUeMeasReportConfigForFfr(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for FFR function.
std::list< uint8_t > m_drbsToBeStarted
DRBS to be started.
uint16_t GetRnti(void) const
void RemoveUe(uint16_t rnti)
remove a UE from the cell
void RecordDataRadioBearersToBeStarted()
Start all configured data radio bearers.
This class implements the Service Access Point (SAP) between the LteEnbRrc and the EpcEnbApplication.
uint64_t m_imsi
International Mobile Subscriber Identity assigned to this UE.
virtual void DoDispose()
Destructor implementation.
bool m_reconfigureUes
reconfigure UEs?
void CompleteSetupUe(LteEnbRrcSapProvider::CompleteSetupUeParameters params)
Implement the LteEnbRrcSapProvider::CompleteSetupUe interface.
uint8_t AddUeMeasReportConfig(LteRrcSap::ReportConfigEutra config)
Add a new UE measurement reporting configuration.
CompleteSetupUeParameters structure.
Parameters of the HANDOVER PREPARATION FAILURE message.
void DoRecvRrcConnectionSetupCompleted(uint16_t rnti, LteRrcSap::RrcConnectionSetupCompleted msg)
Part of the RRC protocol.
void ConfigureCarriers(std::map< uint8_t, Ptr< ComponentCarrierBaseStation >> ccPhyConf)
Configure carriers.
Smart pointer class similar to boost::intrusive_ptr.
std::set< uint8_t > m_componentCarrierMeasIds
List of measurement identities which are intended for component carrier management purposes.
LteCcmRrcSapProvider * m_ccmRrcSapProvider
Interface to the LteEnbComponentCarrierManager instance.
void(* HandoverStartTracedCallback)(const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const uint16_t targetCid)
TracedCallback signature for handover start events.
PdschConfigDedicated structure.
uint16_t m_sourceX2apId
source X2 ap ID
LteRrcSap::PhysicalConfigDedicated m_physicalConfigDedicated
physical config dedicated
EpcX2SapUser * m_x2SapUser
Interface to receive messages from neighbour eNodeB over the X2 interface.
Callback< void, Ptr< Packet > > m_forwardUpCallback
forward up callback function
Service Access Point (SAP) offered by the eNodeB RRC instance to the Frequency Reuse algorithm instan...
std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > m_componentCarrierPhyConf
component carrier phy configuration
void RecvRrcConnectionReestablishmentComplete(LteRrcSap::RrcConnectionReestablishmentComplete msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface.
void DoCompleteSetupUe(uint16_t rnti, LteEnbRrcSapProvider::CompleteSetupUeParameters params)
Part of the RRC protocol.
void SetEpcX2SapProvider(EpcX2SapProvider *s)
Set the X2 SAP this RRC should interact with.
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 reason...
void SetLteEnbCmacSapProvider(LteEnbCmacSapProvider *s)
set the CMAC SAP this RRC should interact with
LteMacSapProvider * m_macSapProvider
Interface to the eNodeB MAC instance, to be used by RLC instances.
void RecvRrcConnectionReestablishmentRequest(LteRrcSap::RrcConnectionReestablishmentRequest msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest interface.
uint8_t AddDataRadioBearerInfo(Ptr< LteDataRadioBearerInfo > radioBearerInfo)
Add a new LteDataRadioBearerInfo structure to the UeManager.
MemberLteCcmRrcSapUser class.
uint8_t m_lastAllocatedDrbid
last allocated Data Radio Bearer ID
A base class which provides memory management and object aggregation.
uint8_t DoAddUeMeasReportConfigForAnr(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for ANR function.
RrcConnectionRequest structure.
uint8_t GetLogicalChannelGroup(EpsBearer bearer)
Service Access Point (SAP) offered by the ANR instance to the eNodeB RRC instance.
bool m_admitRrcConnectionRequest
The AdmitRrcConnectionRequest attribute.
Parameters of the UE DATA primitive.
bool m_configured
True if ConfigureCell() has been completed.
void DoRecvRrcConnectionReestablishmentComplete(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentComplete msg)
Part of the RRC protocol.
The LTE Radio Resource Control entity at the eNB.
Specifies criteria for triggering of an E-UTRA measurement reporting event.
bool m_caSupportConfigured
Define if the Carrier Aggregation was already configure for the current UE on not.
LteEpsBearerToRlcMapping_t
Identifies how EPS Bearer parameters are mapped to different RLC types.
void SetSrsPeriodicity(uint32_t p)
bool m_pendingRrcConnectionReconfiguration
pending RRC connection reconfiguration
EventId m_connectionSetupTimeout
Time limit before a connection setup timeout occurs.
This class implements the Service Access Point (SAP) between the LteEnbRrc and the EpcEnbApplication.
Parameters of the HANDOVER REQUEST ACKNOWLEDGE message.
void RecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
Take the necessary actions in response to the reception of an X2 SN STATUS TRANSFER message.
void RecvRrcConnectionSetupCompleted(LteRrcSap::RrcConnectionSetupCompleted msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface.
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > m_stateTransitionTrace
The StateTransition trace source.
uint32_t GetSrsPeriodicity() const
Simulation virtual time values and global simulation resolution.
std::vector< LteFfrRrcSapProvider * > m_ffrRrcSapProvider
Interface to the FFR algorithm instance.
Parameters of the SN STATUS TRANSFER message.
Time m_connectionRequestTimeoutDuration
The ConnectionRequestTimeoutDuration attribute.
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.
Part of the RRC protocol.
uint16_t DoAllocateTemporaryCellRnti(uint8_t componentCarrierId)
Allocate temporary cell RNTI function.
Manages all the radio bearer information possessed by the ENB RRC for a single UE.
PathSwitchRequestAcknowledgeParameters structure.
void CmacUeConfigUpdateInd(LteEnbCmacSapUser::UeConfig cmacParams)
CMAC UE config update indication function.
EpcX2SapProvider * m_x2SapProvider
Interface to send messages to neighbour eNodeB over the X2 interface.
These service primitives of this part of the X2 SAP are provided by the X2 entity and issued by RRC e...
void SetCsgId(uint32_t csgId, bool csgIndication)
Associate this RRC entity with a particular CSG information.
RrcConnectionReestablishmentRequest structure.
std::map< uint8_t, Ptr< LteDataRadioBearerInfo > > m_drbMap
The DataRadioBearerMap attribute.
Template for the implementation of the LteFfrRrcSapUser as a member of an owner class of type C to wh...
virtual void DoInitialize()
Initialize() implementation.
MeasurementReport structure.
Service Access Point (SAP) offered by the eNB MAC to the eNB RRC See Femto Forum MAC Scheduler Interf...
EventId m_connectionRequestTimeout
Time limit before a connection request timeout occurs.
uint16_t m_ulBandwidth
Uplink transmission bandwidth configuration in number of Resource Blocks.
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
Time m_connectionRejectedTimeoutDuration
The ConnectionRejectedTimeoutDuration attribute.
State m_state
The current UeManager state.
uint32_t m_ulEarfcn
Uplink E-UTRA Absolute Radio Frequency Channel Number.
uint8_t m_rsrqFilterCoefficient
The RsrqFilterCoefficient attribute.
LteEnbCmacSapUser * GetLteEnbCmacSapUser()
Get the CMAC SAP offered by this RRC.
TracedCallback< uint64_t, uint16_t, uint16_t, LteRrcSap::MeasurementReport > m_recvMeasurementReportTrace
The RecvMeasurementReport trace source.
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigForHandoverPreparationInfo()
LteHandoverManagementSapUser * m_handoverManagementSapUser
Receive API calls from the handover algorithm instance.
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReleaseTrace
The NotifyConnectionRelease trace source.
uint8_t GetComponentCarrierId() const
uint8_t GetNewRrcTransactionIdentifier()
std::vector< LteEnbCmacSapProvider * > m_cmacSapProvider
Interface to the eNodeB MAC instance.
uint8_t CellToComponentCarrierId(uint16_t cellId)
convert the cell id to component carrier id
void(* NewUeContextTracedCallback)(const uint16_t cellId, const uint16_t rnti)
TracedCallback signature for new Ue Context events.
Part of the RRC protocol.
std::vector< LteFfrRrcSapUser * > m_ffrRrcSapUser
Receive API calls from the FFR algorithm instance.
LteEnbRrcSapUser * m_rrcSapUser
Interface to send messages to UE over the RRC protocol.
Ptr< LteDataRadioBearerInfo > GetDataRadioBearerInfo(uint8_t drbid)
void RemoveDataRadioBearerInfo(uint8_t drbid)
remove the LteDataRadioBearerInfo corresponding to a bearer being released
std::set< uint8_t > m_ffrMeasIds
List of measurement identities which are intended for FFR purpose.
EventId m_connectionRejectedTimeout
The delay before a connection rejected timeout occurs.
void SetupDataRadioBearer(EpsBearer bearer, uint8_t bearerId, uint32_t gtpTeid, Ipv4Address transportLayerAddress)
Setup a new data radio bearer, including both the configuration within the eNB and the necessary RRC ...
void DoPathSwitchRequestAcknowledge(EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters params)
Path switch request acknowledge function.
@ CONNECTION_RECONFIGURATION
EpcX2SpecificEpcX2SapUser.
This class contains the specification of EPS Bearers.
static TypeId GetTypeId(void)
Get the type ID.
LteRrcSap::RadioResourceConfigDedicated BuildRadioResourceConfigDedicated()
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionEstablishedTrace
The ConnectionEstablished trace source.
uint16_t m_srsCurrentPeriodicityId
The SrsPeriodicity attribute.
void SetLteHandoverManagementSapProvider(LteHandoverManagementSapProvider *s)
set the Handover Management SAP this RRC should interact with
void RemoveSrsConfigurationIndex(uint16_t srcCi)
remove a previously allocated SRS configuration index
void(* ConnectionHandoverTracedCallback)(const uint64_t imsi, const uint16_t cellId, const uint16_t rnti)
TracedCallback signature for connection and handover end events.
uint16_t m_targetX2apId
target X2 ap ID
void DoRecvIdealUeContextRemoveRequest(uint16_t rnti)
Part of the RRC protocol.
void AddX2Neighbour(uint16_t cellId)
Add a neighbour with an X2 interface.
void DoRecvMeasurementReport(uint16_t rnti, LteRrcSap::MeasurementReport msg)
Part of the RRC protocol.
EpcX2SapUser * GetEpcX2SapUser()
Get the X2 SAP offered by this RRC.
uint8_t DoAddUeMeasReportConfigForHandover(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for handover function.
LteCcmRrcSapUser * m_ccmRrcSapUser
Receive API calls from the LteEnbComponentCarrierManager instance.
uint32_t m_dlEarfcn
Downlink E-UTRA Absolute Radio Frequency Channel Number.
void DoSetPdschConfigDedicated(uint16_t rnti, LteRrcSap::PdschConfigDedicated pa)
Set PDSCH config dedicated function.
LteRrcSap::NonCriticalExtensionConfiguration BuildNonCriticalExtentionConfigurationCa()
LteAnrSapUser * GetLteAnrSapUser()
Get the ANR SAP offered by this RRC.
std::vector< EpcX2Sap::ErabToBeSetupItem > GetErabList()
uint16_t m_targetCellId
target cell ID
@ CONNECTION_REESTABLISHMENT
void RecvRrcConnectionRequest(LteRrcSap::RrcConnectionRequest msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionRequest interface.
void DoRecvResourceStatusUpdate(EpcX2SapUser::ResourceStatusUpdateParams params)
Receive resource status update function.
TracedCallback< uint16_t, uint16_t > m_newUeContextTrace
The NewUeContext trace source.
virtual ~LteEnbRrc()
Destructor.
static TypeId GetTypeId(void)
Get the type ID.
void SendSystemInformation()
method used to periodically send System Information
TracedCallback< uint64_t, uint16_t, uint16_t, uint8_t > m_drbCreatedTrace
The DrbCreated trace source.
LteEnbRrcSapProvider * GetLteEnbRrcSapProvider()
Time m_handoverLeavingTimeoutDuration
The HandoverLeavingTimeoutDuration attribute.
Service Access Point (SAP) offered by the eNodeB RRC instance to the ANR instance.
void SendPacket(uint8_t bid, Ptr< Packet > p)
Send a data packet over the appropriate Data Radio Bearer.
void CancelPendingEvents()
Cancel all timers which are running for the UE.
RrcConnectionReconfiguration structure.
void DoRecvRrcConnectionReconfigurationCompleted(uint16_t rnti, LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Part of the RRC protocol.
EpcEnbS1SapUser * m_s1SapUser
Interface to receive messages from core network over the S1 protocol.
Time m_systemInformationPeriodicity
The SystemInformationPeriodicity attribute.
LteFfrRrcSapUser * GetLteFfrRrcSapUser()
Get the FFR SAP offered by this RRC.
int8_t m_qRxLevMin
The QRxLevMin attribute.
TypeId GetRlcType(EpsBearer bearer)
std::set< uint8_t > m_handoverMeasIds
List of measurement identities which are intended for handover purpose.
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndOkTrace
The HandoverEndOk trace source.
void InitialContextSetupRequest()
Process Initial context setup request message from the MME.
void RecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message.
LteEnbRrcSapProvider * m_rrcSapProvider
Interface to receive messages from UE over the RRC protocol.
void DoRecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
Receive UE context release function.
void DoInitialContextSetupRequest(EpcEnbS1SapUser::InitialContextSetupRequestParameters params)
Initial context setup request function.
std::vector< LteEnbCphySapUser * > m_cphySapUser
Receive API calls from the eNodeB PHY instances.
LteRrcSap::RrcConnectionReconfiguration GetRrcConnectionReconfigurationForHandover()
uint16_t GetNewSrsConfigurationIndex(void)
Allocate a new SRS configuration index for a new UE.
void ScheduleRrcConnectionReconfiguration()
schedule an RRC Connection Reconfiguration procedure with the UE
void SetLteMacSapProvider(LteMacSapProvider *s)
set the MAC SAP provider.
void DoRecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
Receive SN status transfer function.
void SetLteAnrSapProvider(LteAnrSapProvider *s)
set the ANR SAP this RRC should interact with
void StartDataRadioBearers()
Start the data radio bearers that have been previously recorded to be started using RecordDataRadioBe...
uint8_t m_rsrpFilterCoefficient
The RsrpFilterCoefficient attribute.
void DoRecvHandoverRequest(EpcX2SapUser::HandoverRequestParams params)
Receive handover request function.
LteHandoverManagementSapUser * GetLteHandoverManagementSapUser()
Get the Handover Management SAP offered by this RRC.
EventId m_handoverLeavingTimeout
Time limit before a handover leaving timeout occurs.
uint16_t GetSrsConfigurationIndex(void) const
NonCriticalExtensionConfiguration structure.
Time m_handoverJoiningTimeoutDuration
The HandoverJoiningTimeoutDuration attribute.
Ptr< LteEnbRrc > m_rrc
Pointer to the parent eNodeB RRC.
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
uint16_t AddUe(UeManager::State state, uint8_t componentCarrierId)
Allocate a new RNTI for a new UE.
void DoNotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success)
Notify LC config result function.
void DoDataRadioBearerSetupRequest(EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters params)
Data radio beaerer setup request function.
void SetForwardUpCallback(Callback< void, Ptr< Packet > > cb)
set the callback used to forward data packets up the stack
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36....
RrcConnectionReestablishmentComplete structure.
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the eNodeB RRC instan...
uint16_t m_rnti
The C-RNTI attribute.
RadioResourceConfigDedicated structure.
uint8_t Drbid2Lcid(uint8_t drbid)
void SetSource(uint16_t sourceCellId, uint16_t sourceX2apId)
Set the identifiers of the source eNB for the case where a UE joins the current eNB as part of a hand...
Ptr< UeManager > GetUeManager(uint16_t rnti)
uint16_t m_lastAllocatedConfigurationIndex
last allocated configuration index
void SetLteEnbRrcSapUser(LteEnbRrcSapUser *s)
set the RRC SAP this RRC should interact with
LteEnbCphySapUser * GetLteEnbCphySapUser()
Class for forwarding CMAC SAP User functions.
LteEnbRrc()
create an RRC instance for use within an eNB
std::vector< LteEnbCphySapProvider * > m_cphySapProvider
Interface to the eNodeB PHY instances.
These service primitives of this part of the X2 SAP are provided by the RRC entity and issued by the ...
EpcEnbS1SapProvider * m_s1SapProvider
Interface to send messages to core network over the S1 protocol.
void DoRrcConfigurationUpdateInd(LteEnbCmacSapUser::UeConfig params)
RRC configuration update indication function.
Parameters for [re]configuring the UE.
Parameters of the RESOURCE STATUS UPDATE message.
uint16_t ComponentCarrierToCellId(uint8_t componentCarrierId)
convert the component carrier id to cell id
void SetImsi(uint64_t imsi)
Set the IMSI.
void DoRecvHandoverPreparationFailure(EpcX2SapUser::HandoverPreparationFailureParams params)
Receive handover preparation failure function.