26 #include <ns3/nstime.h>
27 #include <ns3/object.h>
28 #include <ns3/packet.h>
29 #include <ns3/lte-enb-cmac-sap.h>
30 #include <ns3/lte-mac-sap.h>
31 #include <ns3/ff-mac-sched-sap.h>
32 #include <ns3/lte-pdcp-sap.h>
33 #include <ns3/epc-x2-sap.h>
34 #include <ns3/epc-enb-s1-sap.h>
35 #include <ns3/lte-enb-cphy-sap.h>
36 #include <ns3/lte-rrc-sap.h>
37 #include <ns3/traced-callback.h>
38 #include <ns3/event-id.h>
45 class LteRadioBearerInfo;
46 class LteSignalingRadioBearerInfo;
47 class LteDataRadioBearerInfo;
48 class EpcEnbS1SapUser;
49 class EpcEnbS1SapProvider;
140 void SetSource (uint16_t sourceCellId, uint16_t sourceX2apId);
233 std::vector<EpcX2Sap::ErabToBeSetupItem>
GetErabList ();
416 std::map <uint8_t, Ptr<LteDataRadioBearerInfo> >
m_drbMap;
886 #endif // LTE_ENB_RRC_H
Callback< void, Ptr< Packet > > m_forwardUpCallback
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > m_stateTransitionTrace
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndOkTrace
void SetEpcX2SapProvider(EpcX2SapProvider *s)
keep track of time values and allow control of global simulation resolution
Ptr< LteSignalingRadioBearerInfo > m_srb1
void SendHandoverRequest(uint16_t rnti, uint16_t cellId)
void SendSystemInformation()
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigForHandoverPreparationInfo()
smart pointer class similar to boost::intrusive_ptr
uint16_t AddUe(UeManager::State state)
void RecordDataRadioBearersToBeStarted()
void RecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
void SetSource(uint16_t sourceCellId, uint16_t sourceX2apId)
void RecvHandoverPreparationFailure(uint16_t cellId)
void DoNotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success)
bool m_detectedAsNeighbour
void SetCellId(uint16_t m_cellId)
uint8_t GetLogicalChannelGroup(EpsBearer bearer)
void AddX2Neighbour(uint16_t cellId)
uint8_t Drbid2Bid(uint8_t drbid)
bool m_admitHandoverRequest
Parameters of the HANDOVER REQUEST message.
void DoRecvRrcConnectionReconfigurationCompleted(uint16_t rnti, LteRrcSap::RrcConnectionReconfigurationCompleted msg)
static TypeId GetTypeId(void)
uint8_t Lcid2Bid(uint8_t lcid)
EpcX2SapUser * GetEpcX2SapUser()
uint8_t m_eventA4Threshold
void SetLteEnbCphySapProvider(LteEnbCphySapProvider *s)
bool m_needTransmissionModeConfiguration
uint16_t m_lastAllocatedRnti
uint16_t GetNewSrsConfigurationIndex(void)
LteEnbCmacSapUser * GetLteEnbCmacSapUser()
uint8_t m_lastRrcTransactionIdentifier
uint16_t m_srsCurrentPeriodicityId
void SetLteEnbRrcSapUser(LteEnbRrcSapUser *s)
void SetLteEnbCmacSapProvider(LteEnbCmacSapProvider *s)
uint16_t DoAllocateTemporaryCellRnti()
uint8_t m_eventA2Threshold
LteEpsBearerToRlcMapping_t
Time m_handoverLeavingTimeoutDuration
Time m_connectionRejectedTimeoutDuration
LteMacSapProvider * m_macSapProvider
LteEnbRrcSapProvider * m_rrcSapProvider
void RemoveSrsConfigurationIndex(uint16_t srcCi)
void SetImsi(uint64_t imsi)
void SetLteMacSapProvider(LteMacSapProvider *s)
void SendUeContextRelease()
LteRrcSap::RrcConnectionReconfiguration GetRrcConnectionReconfigurationForHandover()
void SwitchToState(State s)
void RecvRrcConnectionReconfigurationCompleted(LteRrcSap::RrcConnectionReconfigurationCompleted msg)
void ReleaseDataRadioBearer(uint8_t drbid)
uint8_t AddDataRadioBearerInfo(Ptr< LteDataRadioBearerInfo > radioBearerInfo)
EpcX2SapUser * m_x2SapUser
LteEnbRrcSapUser * m_rrcSapUser
EpcEnbS1SapProvider * m_s1SapProvider
void SetForwardUpCallback(Callback< void, Ptr< Packet > > cb)
void DoRecvRrcConnectionSetupCompleted(uint16_t rnti, LteRrcSap::RrcConnectionSetupCompleted msg)
void DoRecvRrcConnectionReestablishmentComplete(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentComplete msg)
void DoCompleteSetupUe(uint16_t rnti, LteEnbRrcSapProvider::CompleteSetupUeParameters params)
TracedCallback< uint16_t, uint16_t > m_newUeContextTrace
EventId m_connectionTimeout
LteEnbCmacSapUser * m_cmacSapUser
Ptr< UeManager > GetUeManager(uint16_t rnti)
bool m_admitRrcConnectionRequest
LtePdcpSapUser * m_drbPdcpSapUser
uint16_t GetSrsConfigurationIndex(void)
EventId m_connectionRejectedTimeout
LteRrcSap::RrcConnectionReconfiguration BuildRrcConnectionReconfiguration()
Ptr< LteSignalingRadioBearerInfo > m_srb0
void DoRecvRrcConnectionRequest(uint16_t rnti, LteRrcSap::RrcConnectionRequest msg)
void SetSrsConfigurationIndex(uint16_t srsConfIndex)
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionEstablishedTrace
Parameters of the HANDOVER PREPARATION FAILURE message.
void DoPathSwitchRequestAcknowledge(EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters params)
Parameters of the SN STATUS TRANSFER message.
LteEnbCphySapProvider * m_cphySapProvider
uint8_t Drbid2Lcid(uint8_t drbid)
void SendData(uint8_t bid, Ptr< Packet > p)
void DoRecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
uint8_t m_lastAllocatedDrbid
uint8_t Bid2Lcid(uint8_t bid)
std::map< uint32_t, X2uTeidInfo > m_x2uTeidInfoMap
TracedCallback< uint64_t, uint16_t, uint16_t, LteRrcSap::MeasurementReport > m_recvMeasurementReportTrace
uint8_t m_servingCellHandoverThreshold
void SetupDataRadioBearer(EpsBearer bearer, uint8_t bearerId, uint32_t gtpTeid, Ipv4Address transportLayerAddress)
void RemoveDataRadioBearerInfo(uint8_t drbid)
static TypeId GetTypeId(void)
void RecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
EpcX2SapProvider * m_x2SapProvider
Parameters of the RESOURCE STATUS UPDATE message.
void ConnectionTimeout(uint16_t rnti)
LteRrcSap::RadioResourceConfigDedicated BuildRadioResourceConfigDedicated()
EventId m_handoverLeavingTimeout
std::map< uint16_t, Ptr< NeighbourRelation > > m_neighbourRelationTable
Ptr< UeMeasure > m_servingCellMeasures
Parameters of the UE CONTEXT RELEASE message.
Parameters of the HANDOVER REQUEST ACKNOWLEDGE message.
void RecvRrcConnectionSetupCompleted(LteRrcSap::RrcConnectionSetupCompleted msg)
std::list< uint8_t > m_drbsToBeStarted
void DoReceivePdcpSdu(LtePdcpSapUser::ReceivePdcpSduParameters params)
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_handoverStartTrace
std::vector< EpcX2Sap::ErabToBeSetupItem > GetErabList()
void ScheduleRrcConnectionReconfiguration()
Parameters for [re]configuring the UE.
Time m_systemInformationPeriodicity
LteEnbRrcSapProvider * GetLteEnbRrcSapProvider()
uint8_t m_defaultTransmissionMode
void DoRecvResourceStatusUpdate(EpcX2SapUser::ResourceStatusUpdateParams params)
void DoRecvUeData(EpcX2SapUser::UeDataParams params)
void PrepareHandover(uint16_t cellId)
void RecvRrcConnectionReestablishmentComplete(LteRrcSap::RrcConnectionReestablishmentComplete msg)
EpcEnbS1SapUser * m_s1SapUser
std::set< uint16_t > m_ueSrsConfigurationIndexSet
void SetSrsPeriodicity(uint32_t p)
virtual void DoDispose(void)
TypeId GetRlcType(EpsBearer bearer)
void HandoverJoiningTimeout(uint16_t rnti)
Ipv4 addresses are stored in host order in this class.
bool m_pendingRrcConnectionReconfiguration
void DoRrcConfigurationUpdateInd(LteEnbCmacSapUser::UeConfig params)
an identifier for simulation events.
void DoRecvHandoverPreparationFailure(EpcX2SapUser::HandoverPreparationFailureParams params)
void StartDataRadioBearers()
EpcEnbS1SapUser * GetS1SapUser()
void RecvRrcConnectionReestablishmentRequest(LteRrcSap::RrcConnectionReestablishmentRequest msg)
LteEnbCmacSapProvider * m_cmacSapProvider
LteRrcSap::PhysicalConfigDedicated m_physicalConfigDedicated
std::map< uint16_t, Ptr< UeManager > > m_ueMap
void RecvRrcConnectionRequest(LteRrcSap::RrcConnectionRequest msg)
LteRrcSap::MeasConfig BuildMeasConfig()
std::map< uint8_t, Ptr< LteDataRadioBearerInfo > > m_drbMap
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReconfigurationTrace
uint8_t GetLogicalChannelPriority(EpsBearer bearer)
uint8_t GetNewRrcTransactionIdentifier()
void DoRecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
LteEnbCphySapUser * GetLteEnbCphySapUser()
void ConnectionRejectedTimeout(uint16_t rnti)
uint32_t GetSrsPeriodicity() const
Ptr< LteDataRadioBearerInfo > GetDataRadioBearerInfo(uint8_t drbid)
uint8_t m_neighbourCellHandoverOffset
Time m_handoverJoiningTimeoutDuration
uint16_t m_lastAllocatedConfigurationIndex
void HandoverLeavingTimeout(uint16_t rnti)
a base class which provides memory management and object aggregation
void ConfigureCell(uint8_t ulBandwidth, uint8_t dlBandwidth, uint16_t ulEarfcn, uint16_t dlEarfcn, uint16_t cellId)
void DoRecvRrcConnectionReestablishmentRequest(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentRequest msg)
void RemoveUe(uint16_t rnti)
void DoRecvMeasurementReport(uint16_t rnti, LteRrcSap::MeasurementReport msg)
void CmacUeConfigUpdateInd(LteEnbCmacSapUser::UeConfig cmacParams)
Parameters of the UE DATA primitive.
enum LteEpsBearerToRlcMapping_t m_epsBearerToRlcMapping
void RecvMeasurementReport(LteRrcSap::MeasurementReport msg)
a unique identifier for an interface.
uint8_t Bid2Drbid(uint8_t bid)
void SetS1SapProvider(EpcEnbS1SapProvider *s)
uint8_t Lcid2Drbid(uint8_t lcid)
LteEnbCphySapUser * m_cphySapUser
void DoDataRadioBearerSetupRequest(EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters params)
void DoRecvLoadInformation(EpcX2SapUser::LoadInformationParams params)
void RecvHandoverRequestAck(EpcX2SapUser::HandoverRequestAckParams params)
bool SendData(Ptr< Packet > p)
EventId m_handoverJoiningTimeout
Time m_connectionTimeoutDuration
void CompleteSetupUe(LteEnbRrcSapProvider::CompleteSetupUeParameters params)
virtual void DoInitialize()
std::map< uint16_t, Ptr< UeMeasure > > m_neighbourCellMeasures
void DoRecvHandoverRequestAck(EpcX2SapUser::HandoverRequestAckParams params)
void DoRecvHandoverRequest(EpcX2SapUser::HandoverRequestParams params)