A Discrete-Event Network Simulator
API
lte-enb-rrc.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2011, 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3  * Copyright (c) 2018 Fraunhofer ESK : RLF extensions
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Authors: Nicola Baldo <nbaldo@cttc.es>
19  * Marco Miozzo <mmiozzo@cttc.es>
20  * Manuel Requena <manuel.requena@cttc.es>
21  * Modified by:
22  * Danilo Abrignani <danilo.abrignani@unibo.it> (Carrier Aggregation - GSoC 2015)
23  * Biljana Bojovic <biljana.bojovic@cttc.es> (Carrier Aggregation)
24  * Vignesh Babu <ns3-dev@esk.fraunhofer.de> (RLF extensions)
25  */
26 
27 #ifndef LTE_ENB_RRC_H
28 #define LTE_ENB_RRC_H
29 
30 #include <ns3/component-carrier-enb.h>
31 #include <ns3/epc-enb-s1-sap.h>
32 #include <ns3/epc-x2-sap.h>
33 #include <ns3/event-id.h>
34 #include <ns3/ff-mac-csched-sap.h>
35 #include <ns3/ff-mac-sched-sap.h>
36 #include <ns3/lte-anr-sap.h>
37 #include <ns3/lte-ccm-rrc-sap.h>
38 #include <ns3/lte-enb-cmac-sap.h>
39 #include <ns3/lte-enb-cphy-sap.h>
40 #include <ns3/lte-ffr-rrc-sap.h>
41 #include <ns3/lte-handover-management-sap.h>
42 #include <ns3/lte-mac-sap.h>
43 #include <ns3/lte-pdcp-sap.h>
44 #include <ns3/lte-rlc.h>
45 #include <ns3/lte-rrc-sap.h>
46 #include <ns3/nstime.h>
47 #include <ns3/object.h>
48 #include <ns3/traced-callback.h>
49 
50 #include <map>
51 #include <set>
52 #include <vector>
53 
54 #define MIN_NO_CC 1
55 #define MAX_NO_CC 5 // this is the maximum number of carrier components allowed by 3GPP up to R13
56 
57 namespace ns3
58 {
59 
60 class LteRadioBearerInfo;
61 class LteSignalingRadioBearerInfo;
62 class LteDataRadioBearerInfo;
63 class LteEnbRrc;
64 class Packet;
65 
71 class UeManager : public Object
72 {
75 
76  public:
81  enum State
82  {
95  };
96 
97  UeManager();
98 
107  UeManager(Ptr<LteEnbRrc> rrc, uint16_t rnti, State s, uint8_t componentCarrierId);
108 
109  ~UeManager() override;
110 
111  // inherited from Object
112  protected:
113  void DoInitialize() override;
114  void DoDispose() override;
115 
116  public:
121  static TypeId GetTypeId();
122 
130  void SetSource(uint16_t sourceCellId, uint16_t sourceX2apId);
131 
137  void SetImsi(uint64_t imsi);
138 
144 
155  void SetupDataRadioBearer(EpsBearer bearer,
156  uint8_t bearerId,
157  uint32_t gtpTeid,
158  Ipv4Address transportLayerAddress);
159 
166 
172  void StartDataRadioBearers();
173 
180  void ReleaseDataRadioBearer(uint8_t drbid);
181 
187 
193  void PrepareHandover(uint16_t cellId);
194 
201 
208 
220  uint8_t componentCarrierId);
221 
233  void SendData(uint8_t bid, Ptr<Packet> p);
234 
239  std::vector<EpcX2Sap::ErabToBeSetupItem> GetErabList();
240 
246  void SendUeContextRelease();
247 
254  void RecvHandoverPreparationFailure(uint16_t cellId);
255 
262 
269 
276 
277  // METHODS FORWARDED FROM ENB RRC SAP ///////////////////////////////////////
278 
322  void RecvIdealUeContextRemoveRequest(uint16_t rnti);
323 
324  // METHODS FORWARDED FROM ENB CMAC SAP //////////////////////////////////////
325 
331 
332  // METHODS FORWARDED FROM ENB PDCP SAP //////////////////////////////////////
333 
339 
345  uint16_t GetRnti() const;
346 
351  uint64_t GetImsi() const;
352 
357  uint8_t GetComponentCarrierId() const;
358 
363  uint16_t GetSrsConfigurationIndex() const;
364 
370  void SetSrsConfigurationIndex(uint16_t srsConfIndex);
371 
376  State GetState() const;
377 
384  void SetPdschConfigDedicated(LteRrcSap::PdschConfigDedicated pdschConfigDedicated);
385 
390  void CancelPendingEvents();
391 
398 
404 
410 
420  typedef void (*StateTracedCallback)(const uint64_t imsi,
421  const uint16_t cellId,
422  const uint16_t rnti,
423  const State oldState,
424  const State newState);
425 
426  private:
434  uint8_t AddDataRadioBearerInfo(Ptr<LteDataRadioBearerInfo> radioBearerInfo);
435 
442 
448  void RemoveDataRadioBearerInfo(uint8_t drbid);
449 
456 
463 
470 
476 
482  uint8_t Lcid2Drbid(uint8_t lcid);
483 
489  uint8_t Drbid2Lcid(uint8_t drbid);
490 
496  uint8_t Lcid2Bid(uint8_t lcid);
497 
503  uint8_t Bid2Lcid(uint8_t bid);
504 
510  uint8_t Drbid2Bid(uint8_t drbid);
511 
517  uint8_t Bid2Drbid(uint8_t bid);
518 
528  void SendPacket(uint8_t bid, Ptr<Packet> p);
529 
535  void SwitchToState(State s);
536 
538 
543  std::map<uint8_t, Ptr<LteDataRadioBearerInfo>> m_drbMap;
544 
553 
557  uint16_t m_rnti;
562  uint64_t m_imsi;
567 
569 
575 
577 
579 
586 
593 
594  uint16_t m_sourceX2apId;
595  uint16_t m_targetX2apId;
596  uint16_t m_sourceCellId;
597  uint16_t m_targetCellId;
598  std::list<uint8_t> m_drbsToBeStarted;
600 
634 
637 
640 
650  std::list<std::pair<uint8_t, Ptr<Packet>>> m_packetBuffer;
651 
652 }; // end of `class UeManager`
653 
659 class LteEnbRrc : public Object
660 {
666  friend class MemberLteAnrSapUser<LteEnbRrc>;
668  friend class MemberLteFfrRrcSapUser<LteEnbRrc>;
672  friend class MemberEpcEnbS1SapUser<LteEnbRrc>;
674  friend class EpcX2SpecificEpcX2SapUser<LteEnbRrc>;
676  friend class UeManager;
678  friend class MemberLteCcmRrcSapUser<LteEnbRrc>;
679 
680  public:
685  LteEnbRrc();
686 
690  ~LteEnbRrc() override;
691 
692  // inherited from Object
693  protected:
694  void DoDispose() override;
695 
696  public:
701  static TypeId GetTypeId();
702 
708 
714 
721 
728  void SetLteEnbCmacSapProvider(LteEnbCmacSapProvider* s, uint8_t pos);
729 
735 
742 
749 
756 
763 
770 
777 
784 
797  void SetLteFfrRrcSapProvider(LteFfrRrcSapProvider* s, uint8_t index);
798 
811  LteFfrRrcSapUser* GetLteFfrRrcSapUser(uint8_t index);
812 
819 
826 
835 
842 
848 
855 
862  void SetLteEnbCphySapProvider(LteEnbCphySapProvider* s, uint8_t pos);
863 
870 
878 
886  bool HasUeManager(uint16_t rnti) const;
887 
895  Ptr<UeManager> GetUeManager(uint16_t rnti);
896 
909  std::vector<uint8_t> AddUeMeasReportConfig(LteRrcSap::ReportConfigEutra config);
910 
933  void ConfigureCell(std::map<uint8_t, Ptr<ComponentCarrierBaseStation>> ccPhyConf);
934 
939  void ConfigureCarriers(std::map<uint8_t, Ptr<ComponentCarrierBaseStation>> ccPhyConf);
940 
946  void SetCellId(uint16_t m_cellId);
947 
954  void SetCellId(uint16_t m_cellId, uint8_t ccIndex);
955 
963  uint8_t CellToComponentCarrierId(uint16_t cellId);
964 
972  uint16_t ComponentCarrierToCellId(uint8_t componentCarrierId);
973 
978  bool HasCellId(uint16_t cellId) const;
979 
989  bool SendData(Ptr<Packet> p);
990 
996  void SetForwardUpCallback(Callback<void, Ptr<Packet>> cb);
997 
1004  void ConnectionRequestTimeout(uint16_t rnti);
1005 
1013  void ConnectionSetupTimeout(uint16_t rnti);
1014 
1021  void ConnectionRejectedTimeout(uint16_t rnti);
1022 
1030  void HandoverJoiningTimeout(uint16_t rnti);
1031 
1039  void HandoverLeavingTimeout(uint16_t rnti);
1040 
1049  void SendHandoverRequest(uint16_t rnti, uint16_t cellId);
1050 
1058  void DoSendReleaseDataRadioBearer(uint64_t imsi, uint16_t rnti, uint8_t bearerId);
1059 
1067 
1073  {
1077  PER_BASED = 4
1078  };
1079 
1086  typedef void (*NewUeContextTracedCallback)(const uint16_t cellId, const uint16_t rnti);
1087 
1095  typedef void (*ConnectionHandoverTracedCallback)(const uint64_t imsi,
1096  const uint16_t cellId,
1097  const uint16_t rnti);
1098 
1107  typedef void (*HandoverStartTracedCallback)(const uint64_t imsi,
1108  const uint16_t cellId,
1109  const uint16_t rnti,
1110  const uint16_t targetCid);
1111 
1122  typedef void (*ReceiveReportTracedCallback)(const uint64_t imsi,
1123  const uint16_t cellId,
1124  const uint16_t rnti,
1125  const LteRrcSap::MeasurementReport report);
1126 
1135  typedef void (*TimerExpiryTracedCallback)(const uint64_t imsi,
1136  const uint16_t rnti,
1137  const uint16_t cellId,
1138  const std::string cause);
1139 
1147  typedef void (*HandoverFailureTracedCallback)(const uint64_t imsi,
1148  const uint16_t rnti,
1149  const uint16_t cellId);
1150 
1151  private:
1152  // RRC SAP methods
1153 
1176  void DoRecvRrcConnectionSetupCompleted(uint16_t rnti,
1187  uint16_t rnti,
1198  uint16_t rnti,
1209  uint16_t rnti,
1218  void DoRecvMeasurementReport(uint16_t rnti, LteRrcSap::MeasurementReport msg);
1231  void DoRecvIdealUeContextRemoveRequest(uint16_t rnti);
1232 
1233  // S1 SAP methods
1234 
1255 
1256  // X2 SAP methods
1257 
1312 
1313  // CMAC SAP methods
1314 
1321  uint16_t DoAllocateTemporaryCellRnti(uint8_t componentCarrierId);
1329  void DoNotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success);
1336 
1337  // Handover Management SAP methods
1338 
1345  std::vector<uint8_t> DoAddUeMeasReportConfigForHandover(
1346  LteRrcSap::ReportConfigEutra reportConfig);
1358  void DoSetNumberOfComponentCarriers(uint16_t numberOfComponentCarriers);
1359 
1366  void DoTriggerHandover(uint16_t rnti, uint16_t targetCellId);
1367 
1368  // ANR SAP methods
1369 
1377 
1378  // FFR RRC SAP methods
1399 
1400  // Internal methods
1401 
1412  uint16_t AddUe(UeManager::State state, uint8_t componentCarrierId);
1413 
1419  void RemoveUe(uint16_t rnti);
1420 
1427  TypeId GetRlcType(EpsBearer bearer);
1428 
1441  bool IsRandomAccessCompleted(uint16_t rnti);
1442 
1443  public:
1449  void AddX2Neighbour(uint16_t cellId);
1450 
1455  void SetSrsPeriodicity(uint32_t p);
1456 
1461  uint32_t GetSrsPeriodicity() const;
1462 
1482  void SetCsgId(uint32_t csgId, bool csgIndication);
1483 
1484  private:
1493  uint16_t GetNewSrsConfigurationIndex();
1494 
1503  void RemoveSrsConfigurationIndex(uint16_t srcCi);
1504 
1508  bool IsMaxSrsReached();
1509 
1517  uint8_t GetLogicalChannelGroup(EpsBearer bearer);
1518 
1527  uint8_t GetLogicalChannelPriority(EpsBearer bearer);
1528 
1533  void SendSystemInformation();
1534 
1536 
1541 
1543  std::vector<LteEnbCmacSapUser*> m_cmacSapUser;
1545  std::vector<LteEnbCmacSapProvider*> m_cmacSapProvider;
1546 
1551 
1556 
1561 
1563  std::vector<LteFfrRrcSapUser*> m_ffrRrcSapUser;
1565  std::vector<LteFfrRrcSapProvider*> m_ffrRrcSapProvider;
1566 
1571 
1574 
1579 
1581  std::vector<LteEnbCphySapUser*> m_cphySapUser;
1583  std::vector<LteEnbCphySapProvider*> m_cphySapProvider;
1584 
1588  uint32_t m_dlEarfcn;
1590  uint32_t m_ulEarfcn;
1592  uint16_t m_dlBandwidth;
1594  uint16_t m_ulBandwidth;
1597 
1599  std::vector<LteRrcSap::SystemInformationBlockType1> m_sib1;
1600 
1604  std::map<uint16_t, Ptr<UeManager>> m_ueMap;
1605 
1611 
1613  std::set<uint8_t> m_handoverMeasIds;
1615  std::set<uint8_t> m_anrMeasIds;
1617  std::set<uint8_t> m_ffrMeasIds;
1619  std::set<uint8_t> m_componentCarrierMeasIds;
1620 
1623  {
1624  uint16_t rnti;
1625  uint8_t drbid;
1626  };
1627 
1629  std::map<uint32_t, X2uTeidInfo> m_x2uTeidInfoMap;
1630 
1650  std::set<uint16_t> m_ueSrsConfigurationIndexSet;
1653 
1659  int8_t m_qRxLevMin;
1716 
1785 
1787 
1789 
1790  std::map<uint8_t, Ptr<ComponentCarrierBaseStation>>
1792 
1793 }; // end of `class LteEnbRrc`
1794 
1795 } // namespace ns3
1796 
1797 #endif // LTE_ENB_RRC_H
Callback template class.
Definition: callback.h:443
Class for forwarding CMAC SAP User functions.
Definition: lte-enb-rrc.cc:57
This class implements the Service Access Point (SAP) between the LteEnbRrc and the EpcEnbApplication.
This class implements the Service Access Point (SAP) between the LteEnbRrc and the EpcEnbApplication.
These service primitives of this part of the X2 SAP are provided by the X2 entity and issued by RRC e...
Definition: epc-x2-sap.h:358
These service primitives of this part of the X2 SAP are provided by the RRC entity and issued by the ...
Definition: epc-x2-sap.h:426
EpcX2SpecificEpcX2SapUser.
Definition: epc-x2-sap.h:646
This class contains the specification of EPS Bearers.
Definition: eps-bearer.h:91
An identifier for simulation events.
Definition: event-id.h:55
Ipv4 addresses are stored in host order in this class.
Definition: ipv4-address.h:43
Service Access Point (SAP) offered by the ANR instance to the eNodeB RRC instance.
Definition: lte-anr-sap.h:37
Service Access Point (SAP) offered by the eNodeB RRC instance to the ANR instance.
Definition: lte-anr-sap.h:95
Service Access Point (SAP) offered by the Component Carrier Manager (CCM) instance to the eNodeB RRC ...
Service Access Point (SAP) offered by the eNodeB RRC instance to the component carrier manager (CCM) ...
Service Access Point (SAP) offered by the eNB MAC to the eNB RRC See Femto Forum MAC Scheduler Interf...
Service Access Point (SAP) offered by the MAC to the RRC See Femto Forum MAC Scheduler Interface Spec...
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
The LTE Radio Resource Control entity at the eNB.
Definition: lte-enb-rrc.h:660
~LteEnbRrc() override
Destructor.
LteEnbRrcSapProvider * GetLteEnbRrcSapProvider()
void SetCsgId(uint32_t csgId, bool csgIndication)
Associate this RRC entity with a particular CSG information.
void RemoveUe(uint16_t rnti)
remove a UE from the cell
void DoSetPdschConfigDedicated(uint16_t rnti, LteRrcSap::PdschConfigDedicated pa)
Set PDSCH config dedicated function.
std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > m_componentCarrierPhyConf
component carrier phy configuration
Definition: lte-enb-rrc.h:1791
void SetSrsPeriodicity(uint32_t p)
bool IsRandomAccessCompleted(uint16_t rnti)
Is random access completed function.
uint8_t GetLogicalChannelGroup(EpsBearer bearer)
int8_t m_qRxLevMin
The QRxLevMin attribute.
Definition: lte-enb-rrc.h:1659
std::set< uint16_t > m_ueSrsConfigurationIndexSet
UE SRS configuration index set.
Definition: lte-enb-rrc.h:1650
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_handoverStartTrace
The HandoverStart trace source.
Definition: lte-enb-rrc.h:1736
void DoSetNumberOfComponentCarriers(uint16_t numberOfComponentCarriers)
Set number of component carriers.
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.
Definition: lte-enb-rrc.cc:594
void SendSystemInformation()
method used to periodically send System Information
LteEpsBearerToRlcMapping_t
Identifies how EPS Bearer parameters are mapped to different RLC types.
Definition: lte-enb-rrc.h:1073
void DoRecvRrcConnectionRequest(uint16_t rnti, LteRrcSap::RrcConnectionRequest msg)
Part of the RRC protocol.
std::set< uint8_t > m_ffrMeasIds
List of measurement identities which are intended for FFR purpose.
Definition: lte-enb-rrc.h:1617
Callback< void, Ptr< Packet > > m_forwardUpCallback
forward up callback function
Definition: lte-enb-rrc.h:1535
void DoRecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
Receive SN status transfer function.
void DoRecvHandoverRequest(EpcX2SapUser::HandoverRequestParams params)
Receive handover request function.
LteEnbRrc()
create an RRC instance for use within an eNB
std::set< uint8_t > m_anrMeasIds
List of measurement identities which are intended for ANR purpose.
Definition: lte-enb-rrc.h:1615
uint8_t DoAddUeMeasReportConfigForFfr(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for FFR function.
void SendRrcConnectionRelease()
Send RRC connection release function.
LteMacSapProvider * m_macSapProvider
Interface to the eNodeB MAC instance, to be used by RLC instances.
Definition: lte-enb-rrc.h:1573
uint32_t GetSrsPeriodicity() const
bool SendData(Ptr< Packet > p)
Enqueue an IP data packet on the proper bearer for downlink transmission.
void ConfigureCell(std::map< uint8_t, Ptr< ComponentCarrierBaseStation >> ccPhyConf)
Configure cell-specific parameters.
EpcEnbS1SapUser * GetS1SapUser()
void AddX2Neighbour(uint16_t cellId)
Add a neighbour with an X2 interface.
LteCcmRrcSapUser * m_ccmRrcSapUser
Receive API calls from the LteEnbComponentCarrierManager instance.
Definition: lte-enb-rrc.h:1553
Time m_connectionRequestTimeoutDuration
The ConnectionRequestTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1688
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 ...
void SetForwardUpCallback(Callback< void, Ptr< Packet >> cb)
set the callback used to forward data packets up the stack
LteHandoverManagementSapUser * m_handoverManagementSapUser
Receive API calls from the handover algorithm instance.
Definition: lte-enb-rrc.h:1548
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.
Definition: lte-enb-rrc.h:1122
static TypeId GetTypeId()
Get the type ID.
void DoRecvMeasurementReport(uint16_t rnti, LteRrcSap::MeasurementReport msg)
Part of the RRC protocol.
void SetLteAnrSapProvider(LteAnrSapProvider *s)
set the ANR SAP this RRC should interact with
void(* HandoverStartTracedCallback)(const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const uint16_t targetCid)
TracedCallback signature for handover start events.
Definition: lte-enb-rrc.h:1107
void DoRecvHandoverRequestAck(EpcX2SapUser::HandoverRequestAckParams params)
Receive handover request acknowledge function.
LteEnbCphySapUser * GetLteEnbCphySapUser()
bool HasUeManager(uint16_t rnti) const
uint8_t m_rsrqFilterCoefficient
The RsrqFilterCoefficient attribute.
Definition: lte-enb-rrc.h:1681
void(* ConnectionHandoverTracedCallback)(const uint64_t imsi, const uint16_t cellId, const uint16_t rnti)
TracedCallback signature for connection and handover end events.
Definition: lte-enb-rrc.h:1095
std::vector< uint8_t > DoAddUeMeasReportConfigForHandover(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for handover function.
void DoRecvResourceStatusUpdate(EpcX2SapUser::ResourceStatusUpdateParams params)
Receive resource status update function.
uint16_t AddUe(UeManager::State state, uint8_t componentCarrierId)
Allocate a new RNTI for a new UE.
void DoSendLoadInformation(EpcX2Sap::LoadInformationParams params)
Send load information function.
uint8_t GetLogicalChannelPriority(EpsBearer bearer)
void DoCompleteSetupUe(uint16_t rnti, LteEnbRrcSapProvider::CompleteSetupUeParameters params)
Part of the RRC protocol.
uint16_t GetNewSrsConfigurationIndex()
Allocate a new SRS configuration index for a new UE.
uint8_t m_defaultTransmissionMode
The DefaultTransmissionMode attribute.
Definition: lte-enb-rrc.h:1635
Time m_connectionRejectedTimeoutDuration
The ConnectionRejectedTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1700
Time m_connectionSetupTimeoutDuration
The ConnectionSetupTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1695
std::set< uint8_t > m_handoverMeasIds
List of measurement identities which are intended for handover purpose.
Definition: lte-enb-rrc.h:1613
void DoPathSwitchRequestAcknowledge(EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters params)
Path switch request acknowledge function.
std::vector< uint8_t > AddUeMeasReportConfig(LteRrcSap::ReportConfigEutra config)
Add a new UE measurement reporting configuration.
bool m_admitHandoverRequest
The AdmitHandoverRequest attribute.
Definition: lte-enb-rrc.h:1664
uint16_t m_ulBandwidth
Uplink transmission bandwidth configuration in number of Resource Blocks.
Definition: lte-enb-rrc.h:1594
LteAnrSapUser * m_anrSapUser
Receive API calls from the ANR instance.
Definition: lte-enb-rrc.h:1558
void(* NewUeContextTracedCallback)(const uint16_t cellId, const uint16_t rnti)
TracedCallback signature for new Ue Context events.
Definition: lte-enb-rrc.h:1086
LteHandoverManagementSapProvider * m_handoverManagementSapProvider
Interface to the handover algorithm instance.
Definition: lte-enb-rrc.h:1550
uint8_t DoAddUeMeasReportConfigForComponentCarrier(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for component carrier function.
std::vector< LteFfrRrcSapProvider * > m_ffrRrcSapProvider
Interface to the FFR algorithm instance.
Definition: lte-enb-rrc.h:1565
uint8_t DoAddUeMeasReportConfigForAnr(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for ANR function.
LteEnbRrcSapUser * m_rrcSapUser
Interface to send messages to UE over the RRC protocol.
Definition: lte-enb-rrc.h:1568
std::map< uint16_t, Ptr< UeManager > > m_ueMap
The UeMap attribute.
Definition: lte-enb-rrc.h:1604
void(* TimerExpiryTracedCallback)(const uint64_t imsi, const uint16_t rnti, const uint16_t cellId, const std::string cause)
TracedCallback signature for timer expiry events.
Definition: lte-enb-rrc.h:1135
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...
Ptr< UeManager > GetUeManager(uint16_t rnti)
LteCcmRrcSapProvider * m_ccmRrcSapProvider
Interface to the LteEnbComponentCarrierManager instance.
Definition: lte-enb-rrc.h:1555
void DoRecvRrcConnectionReestablishmentComplete(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentComplete msg)
Part of the RRC protocol.
void DoRrcConfigurationUpdateInd(LteEnbCmacSapUser::UeConfig params)
RRC configuration update indication function.
TracedCallback< uint64_t, uint16_t, uint16_t, LteRrcSap::MeasurementReport > m_recvMeasurementReportTrace
The RecvMeasurementReport trace source.
Definition: lte-enb-rrc.h:1747
LteAnrSapProvider * m_anrSapProvider
Interface to the ANR instance.
Definition: lte-enb-rrc.h:1560
std::set< uint8_t > m_componentCarrierMeasIds
List of measurement identities which are intended for component carrier management purposes.
Definition: lte-enb-rrc.h:1619
std::vector< LteEnbCphySapProvider * > m_cphySapProvider
Interface to the eNodeB PHY instances.
Definition: lte-enb-rrc.h:1583
void SetLteMacSapProvider(LteMacSapProvider *s)
set the MAC SAP provider.
void(* HandoverFailureTracedCallback)(const uint64_t imsi, const uint16_t rnti, const uint16_t cellId)
TracedCallback signature for handover failure events.
Definition: lte-enb-rrc.h:1147
uint16_t m_lastAllocatedConfigurationIndex
last allocated configuration index
Definition: lte-enb-rrc.h:1651
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverFailureMaxRachTrace
The 'HandoverFailureMaxRach' Trace source.
Definition: lte-enb-rrc.h:1772
LteRrcSap::MeasConfig m_ueMeasConfig
List of measurement configuration which are active in every UE attached to this eNodeB instance.
Definition: lte-enb-rrc.h:1610
void ConfigureCarriers(std::map< uint8_t, Ptr< ComponentCarrierBaseStation >> ccPhyConf)
Configure carriers.
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverFailureNoPreambleTrace
The 'HandoverFailureNoPreamble' Trace source.
Definition: lte-enb-rrc.h:1766
TracedCallback< uint16_t, uint16_t > m_newUeContextTrace
The NewUeContext trace source.
Definition: lte-enb-rrc.h:1721
Time m_systemInformationPeriodicity
The SystemInformationPeriodicity attribute.
Definition: lte-enb-rrc.h:1645
void DoRecvRrcConnectionReconfigurationCompleted(uint16_t rnti, LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Part of the RRC protocol.
void SetLteEnbRrcSapUser(LteEnbRrcSapUser *s)
set the RRC SAP this RRC should interact with
void DoRecvHandoverPreparationFailure(EpcX2SapUser::HandoverPreparationFailureParams params)
Receive handover preparation failure function.
LteHandoverManagementSapUser * GetLteHandoverManagementSapUser()
Get the Handover Management SAP offered by this RRC.
EpcX2SapUser * GetEpcX2SapUser()
Get the X2 SAP offered by this RRC.
std::vector< LteEnbCmacSapUser * > m_cmacSapUser
Receive API calls from the eNodeB MAC instance.
Definition: lte-enb-rrc.h:1543
void DoInitialContextSetupRequest(EpcEnbS1SapUser::InitialContextSetupRequestParameters params)
Initial context setup request function.
uint32_t m_dlEarfcn
Downlink E-UTRA Absolute Radio Frequency Channel Number.
Definition: lte-enb-rrc.h:1588
void SendHandoverRequest(uint16_t rnti, uint16_t cellId)
Send a HandoverRequest through the X2 SAP interface.
uint16_t m_numberOfComponentCarriers
number of component carriers
Definition: lte-enb-rrc.h:1786
void DoNotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success)
Notify LC config result function.
TypeId GetRlcType(EpsBearer bearer)
uint8_t m_rsrpFilterCoefficient
The RsrpFilterCoefficient attribute.
Definition: lte-enb-rrc.h:1675
EpcEnbS1SapProvider * m_s1SapProvider
Interface to send messages to core network over the S1 protocol.
Definition: lte-enb-rrc.h:1576
uint16_t m_lastAllocatedRnti
Last allocated RNTI.
Definition: lte-enb-rrc.h:1596
uint32_t m_ulEarfcn
Uplink E-UTRA Absolute Radio Frequency Channel Number.
Definition: lte-enb-rrc.h:1590
uint16_t ComponentCarrierToCellId(uint8_t componentCarrierId)
convert the component carrier id to cell id
LteFfrRrcSapUser * GetLteFfrRrcSapUser()
Get the FFR SAP offered by this RRC.
void SetS1SapProvider(EpcEnbS1SapProvider *s)
Set the S1 SAP Provider.
bool HasCellId(uint16_t cellId) const
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReconfigurationTrace
The ConnectionReconfiguration trace source.
Definition: lte-enb-rrc.h:1731
EpcX2SapUser * m_x2SapUser
Interface to receive messages from neighbour eNodeB over the X2 interface.
Definition: lte-enb-rrc.h:1538
bool m_admitRrcConnectionRequest
The AdmitRrcConnectionRequest attribute.
Definition: lte-enb-rrc.h:1669
void DoRecvUeData(EpcX2SapUser::UeDataParams params)
Receive UE data function.
uint16_t m_srsCurrentPeriodicityId
The SrsPeriodicity attribute.
Definition: lte-enb-rrc.h:1649
void DoRecvRrcConnectionReestablishmentRequest(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentRequest msg)
Part of the RRC protocol.
bool m_configured
True if ConfigureCell() has been completed.
Definition: lte-enb-rrc.h:1586
void ConnectionSetupTimeout(uint16_t rnti)
Method triggered when a UE is expected to complete a connection setup procedure but does not do so in...
LteEnbCmacSapUser * GetLteEnbCmacSapUser()
Get the CMAC SAP offered by this RRC.
void DoRecvRrcConnectionSetupCompleted(uint16_t rnti, LteRrcSap::RrcConnectionSetupCompleted msg)
Part of the RRC protocol.
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReleaseTrace
The NotifyConnectionRelease trace source.
Definition: lte-enb-rrc.h:1753
void ConnectionRejectedTimeout(uint16_t rnti)
Method triggered a while after sending RRC Connection Rejected.
void DoRecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
Receive UE context release function.
Time m_handoverLeavingTimeoutDuration
The HandoverLeavingTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1715
std::map< uint32_t, X2uTeidInfo > m_x2uTeidInfoMap
TEID, RNTI, DRBID.
Definition: lte-enb-rrc.h:1629
void DoRecvLoadInformation(EpcX2SapUser::LoadInformationParams params)
Receive load information function.
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...
enum LteEpsBearerToRlcMapping_t m_epsBearerToRlcMapping
The EpsBearerToRlcMapping attribute.
Definition: lte-enb-rrc.h:1640
uint16_t DoAllocateTemporaryCellRnti(uint8_t componentCarrierId)
Allocate temporary cell RNTI function.
std::vector< LteEnbCphySapUser * > m_cphySapUser
Receive API calls from the eNodeB PHY instances.
Definition: lte-enb-rrc.h:1581
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverFailureJoiningTrace
The 'HandoverFailureJoining' Trace source.
Definition: lte-enb-rrc.h:1784
void SetLteHandoverManagementSapProvider(LteHandoverManagementSapProvider *s)
set the Handover Management SAP this RRC should interact with
void SetLteFfrRrcSapProvider(LteFfrRrcSapProvider *s)
set the FFR SAP this RRC should interact with
LteCcmRrcSapUser * GetLteCcmRrcSapUser()
Get the Component Carrier Management SAP offered by this RRC.
void SetLteEnbCphySapProvider(LteEnbCphySapProvider *s)
set the CPHY SAP this RRC should use to interact with the PHY
void DoDispose() override
Destructor implementation.
bool m_reconfigureUes
reconfigure UEs?
Definition: lte-enb-rrc.h:1652
std::vector< LteFfrRrcSapUser * > m_ffrRrcSapUser
Receive API calls from the FFR algorithm instance.
Definition: lte-enb-rrc.h:1563
bool IsMaxSrsReached()
EpcX2SapProvider * m_x2SapProvider
Interface to send messages to neighbour eNodeB over the X2 interface.
Definition: lte-enb-rrc.h:1540
std::vector< LteEnbCmacSapProvider * > m_cmacSapProvider
Interface to the eNodeB MAC instance.
Definition: lte-enb-rrc.h:1545
std::vector< LteRrcSap::SystemInformationBlockType1 > m_sib1
The System Information Block Type 1 that is currently broadcasted over BCH.
Definition: lte-enb-rrc.h:1599
void DoDataRadioBearerSetupRequest(EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters params)
Data radio beaerer setup request function.
LteAnrSapUser * GetLteAnrSapUser()
Get the ANR SAP offered by this RRC.
void SetLteCcmRrcSapProvider(LteCcmRrcSapProvider *s)
set the Component Carrier Management SAP this RRC should interact with
LteEnbRrcSapProvider * m_rrcSapProvider
Interface to receive messages from UE over the RRC protocol.
Definition: lte-enb-rrc.h:1570
bool m_carriersConfigured
are carriers configured
Definition: lte-enb-rrc.h:1788
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionEstablishedTrace
The ConnectionEstablished trace source.
Definition: lte-enb-rrc.h:1726
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverFailureLeavingTrace
The 'HandoverFailureLeaving' Trace source.
Definition: lte-enb-rrc.h:1778
TracedCallback< uint64_t, uint16_t, uint16_t, std::string > m_rrcTimeoutTrace
The 'TimerExpiry' Trace source.
Definition: lte-enb-rrc.h:1759
void DoTriggerHandover(uint16_t rnti, uint16_t targetCellId)
Trigger handover function.
void DoRecvIdealUeContextRemoveRequest(uint16_t rnti)
Part of the RRC protocol.
void SetCellId(uint16_t m_cellId)
set the cell id of this eNB
EpcEnbS1SapUser * m_s1SapUser
Interface to receive messages from core network over the S1 protocol.
Definition: lte-enb-rrc.h:1578
void RemoveSrsConfigurationIndex(uint16_t srcCi)
remove a previously allocated SRS configuration index
Time m_handoverJoiningTimeoutDuration
The HandoverJoiningTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1709
void SetLteEnbCmacSapProvider(LteEnbCmacSapProvider *s)
set the CMAC SAP this RRC should interact with
uint16_t m_dlBandwidth
Downlink transmission bandwidth configuration in number of Resource Blocks.
Definition: lte-enb-rrc.h:1592
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndOkTrace
The HandoverEndOk trace source.
Definition: lte-enb-rrc.h:1741
uint8_t CellToComponentCarrierId(uint16_t cellId)
convert the cell id to component carrier id
void SetEpcX2SapProvider(EpcX2SapProvider *s)
Set the X2 SAP this RRC should interact with.
void DoRecvHandoverCancel(EpcX2SapUser::HandoverCancelParams params)
Receive Handover Cancel function.
Part of the RRC protocol.
Definition: lte-rrc-sap.h:1244
Part of the RRC protocol.
Definition: lte-rrc-sap.h:1124
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the eNodeB RRC instan...
Service Access Point (SAP) offered by the eNodeB RRC instance to the Frequency Reuse algorithm instan...
Service Access Point (SAP) offered by the handover algorithm instance to the eNodeB RRC instance.
Service Access Point (SAP) offered by the eNodeB RRC instance to the handover algorithm instance.
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition: lte-mac-sap.h:36
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36....
Definition: lte-pdcp-sap.h:69
LtePdcpSpecificLtePdcpSapUser class.
Definition: lte-pdcp-sap.h:129
Template for the implementation of the EpcEnbS1SapUser as a member of an owner class of type C to whi...
Template for the implementation of the LteAnrSapUser as a member of an owner class of type C to which...
Definition: lte-anr-sap.h:195
MemberLteCcmRrcSapUser class.
Template for the implementation of the LteEnbRrcSapProvider as a member of an owner class of type C t...
Definition: lte-rrc-sap.h:1678
Template for the implementation of the LteFfrRrcSapUser as a member of an owner class of type C to wh...
Template for the implementation of the LteHandoverManagementSapUser as a member of an owner class of ...
A base class which provides memory management and object aggregation.
Definition: object.h:89
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:78
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:105
a unique identifier for an interface.
Definition: type-id.h:60
Manages all the radio bearer information possessed by the ENB RRC for a single UE.
Definition: lte-enb-rrc.h:72
bool m_pendingStartDataRadioBearers
Pending start data radio bearers.
Definition: lte-enb-rrc.h:639
void RecvRrcConnectionReestablishmentRequest(LteRrcSap::RrcConnectionReestablishmentRequest msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest interface.
void InitialContextSetupRequest()
Process Initial context setup request message from the MME.
Definition: lte-enb-rrc.cc:383
void RecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message.
void RecordDataRadioBearersToBeStarted()
Start all configured data radio bearers.
Definition: lte-enb-rrc.cc:520
std::map< uint8_t, Ptr< LteDataRadioBearerInfo > > m_drbMap
The DataRadioBearerMap attribute.
Definition: lte-enb-rrc.h:543
Ptr< LteSignalingRadioBearerInfo > m_srb1
The Srb1 attribute.
Definition: lte-enb-rrc.h:552
void PrepareHandover(uint16_t cellId)
Start the handover preparation and send the handover request.
Definition: lte-enb-rrc.cc:662
void SetImsi(uint64_t imsi)
Set the IMSI.
Definition: lte-enb-rrc.cc:377
void SendData(uint8_t bid, Ptr< Packet > p)
Send a data packet over the appropriate Data Radio Bearer.
Definition: lte-enb-rrc.cc:952
void SendRrcConnectionRelease()
This function acts as an interface to trigger the connection release towards eNB, EPC and UE.
EpcX2Sap::HandoverCancelParams BuildHoCancelMsg()
build handover cancel message
void CompleteSetupUe(LteEnbRrcSapProvider::CompleteSetupUeParameters params)
Implement the LteEnbRrcSapProvider::CompleteSetupUe interface.
bool m_needPhyMacConfiguration
need Phy MAC configuration
Definition: lte-enb-rrc.h:599
State
The state of the UeManager at the eNB RRC.
Definition: lte-enb-rrc.h:82
@ CONNECTION_REESTABLISHMENT
Definition: lte-enb-rrc.h:89
@ CONNECTION_RECONFIGURATION
Definition: lte-enb-rrc.h:88
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigForHandoverPreparationInfo()
Definition: lte-enb-rrc.cc:874
void CmacUeConfigUpdateInd(LteEnbCmacSapUser::UeConfig cmacParams)
CMAC UE config update indication function.
void RecvHandoverCancel(EpcX2SapUser::HandoverCancelParams params)
Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message.
void DoDispose() override
Destructor implementation.
Definition: lte-enb-rrc.cc:317
LteRrcSap::RrcConnectionReconfiguration BuildRrcConnectionReconfiguration()
EventId m_handoverJoiningTimeout
Time limit before a handover joining timeout occurs.
Definition: lte-enb-rrc.h:626
uint8_t AddDataRadioBearerInfo(Ptr< LteDataRadioBearerInfo > radioBearerInfo)
Add a new LteDataRadioBearerInfo structure to the UeManager.
uint16_t GetSrsConfigurationIndex() const
uint8_t Lcid2Bid(uint8_t lcid)
uint16_t m_rnti
The C-RNTI attribute.
Definition: lte-enb-rrc.h:557
void RecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
Take the necessary actions in response to the reception of an X2 SN STATUS TRANSFER message.
~UeManager() override
Definition: lte-enb-rrc.cc:312
uint8_t Bid2Lcid(uint8_t bid)
LteRrcSap::PhysicalConfigDedicated m_physicalConfigDedicated
physical config dedicated
Definition: lte-enb-rrc.h:570
void RecvRrcConnectionSetupCompleted(LteRrcSap::RrcConnectionSetupCompleted msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface.
std::list< uint8_t > m_drbsToBeStarted
DRBS to be started.
Definition: lte-enb-rrc.h:598
uint8_t m_lastAllocatedDrbid
last allocated Data Radio Bearer ID
Definition: lte-enb-rrc.h:537
uint8_t GetComponentCarrierId() const
void DoReceivePdcpSdu(LtePdcpSapUser::ReceivePdcpSduParameters params)
Receive PDCP SDU function.
EventId m_connectionRejectedTimeout
The delay before a connection rejected timeout occurs.
Definition: lte-enb-rrc.h:619
void RemoveDataRadioBearerInfo(uint8_t drbid)
remove the LteDataRadioBearerInfo corresponding to a bearer being released
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 ...
Definition: lte-enb-rrc.cc:398
void RecvRrcConnectionReconfigurationCompleted(LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted interface.
TracedCallback< uint64_t, uint16_t, uint16_t, uint8_t > m_drbCreatedTrace
The DrbCreated trace source.
Definition: lte-enb-rrc.h:592
State GetState() const
uint16_t m_targetX2apId
target X2 ap ID
Definition: lte-enb-rrc.h:595
uint8_t Drbid2Bid(uint8_t drbid)
static TypeId GetTypeId()
Get the type ID.
Definition: lte-enb-rrc.cc:330
Ptr< LteSignalingRadioBearerInfo > m_srb0
The Srb0 attribute.
Definition: lte-enb-rrc.h:548
uint64_t GetImsi() const
EventId m_connectionRequestTimeout
Time limit before a connection request timeout occurs.
Definition: lte-enb-rrc.h:607
uint64_t m_imsi
International Mobile Subscriber Identity assigned to this UE.
Definition: lte-enb-rrc.h:562
uint8_t GetNewRrcTransactionIdentifier()
bool m_caSupportConfigured
Define if the Carrier Aggregation was already configure for the current UE on not.
Definition: lte-enb-rrc.h:636
uint16_t m_targetCellId
target cell ID
Definition: lte-enb-rrc.h:597
void SetSrsConfigurationIndex(uint16_t srsConfIndex)
Set the SRS configuration index and do the necessary reconfiguration.
uint16_t GetRnti() const
Ptr< LteDataRadioBearerInfo > GetDataRadioBearerInfo(uint8_t drbid)
void SendPacket(uint8_t bid, Ptr< Packet > p)
Send a data packet over the appropriate Data Radio Bearer.
Definition: lte-enb-rrc.cc:930
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...
Definition: lte-enb-rrc.cc:370
LteRrcSap::NonCriticalExtensionConfiguration BuildNonCriticalExtensionConfigurationCa()
std::list< std::pair< uint8_t, Ptr< Packet > > > m_packetBuffer
Packet buffer for when UE is doing the handover.
Definition: lte-enb-rrc.h:650
uint8_t m_lastRrcTransactionIdentifier
last RRC transaction identifier
Definition: lte-enb-rrc.h:568
uint8_t m_componentCarrierId
ID of the primary CC for this UE.
Definition: lte-enb-rrc.h:566
State m_state
The current UeManager state.
Definition: lte-enb-rrc.h:574
void RecvMeasurementReport(LteRrcSap::MeasurementReport msg)
Implement the LteEnbRrcSapProvider::RecvMeasurementReport interface.
void DoInitialize() override
Initialize() implementation.
Definition: lte-enb-rrc.cc:163
Ptr< LteEnbRrc > m_rrc
Pointer to the parent eNodeB RRC.
Definition: lte-enb-rrc.h:572
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > m_stateTransitionTrace
The StateTransition trace source.
Definition: lte-enb-rrc.h:585
bool m_pendingRrcConnectionReconfiguration
pending RRC connection reconfiguration
Definition: lte-enb-rrc.h:578
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.
Definition: lte-enb-rrc.h:420
void ReleaseDataRadioBearer(uint8_t drbid)
Release a given radio bearer.
Definition: lte-enb-rrc.cc:551
void RecvRrcConnectionReestablishmentComplete(LteRrcSap::RrcConnectionReestablishmentComplete msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface.
uint8_t Bid2Drbid(uint8_t bid)
LteRrcSap::RrcConnectionReconfiguration GetRrcConnectionReconfigurationForHandover(uint8_t componentCarrierId)
Definition: lte-enb-rrc.cc:881
void StartDataRadioBearers()
Start the data radio bearers that have been previously recorded to be started using RecordDataRadioBe...
Definition: lte-enb-rrc.cc:532
void SendUeContextRelease()
send the UE CONTEXT RELEASE X2 message to the source eNB, thus successfully terminating an X2 handove...
void RecvHandoverRequestAck(EpcX2SapUser::HandoverRequestAckParams params)
take the necessary actions in response to the reception of an X2 HANDOVER REQUEST ACK message
Definition: lte-enb-rrc.cc:802
LteRrcSap::RadioResourceConfigDedicated BuildRadioResourceConfigDedicated()
void CancelPendingEvents()
Cancel all timers which are running for the UE.
uint8_t Lcid2Drbid(uint8_t lcid)
void ScheduleRrcConnectionReconfiguration()
schedule an RRC Connection Reconfiguration procedure with the UE
Definition: lte-enb-rrc.cc:629
uint16_t m_sourceCellId
source cell ID
Definition: lte-enb-rrc.h:596
void RecvHandoverPreparationFailure(uint16_t cellId)
Take the necessary actions in response to the reception of an X2 HO preparation failure message.
EpcX2Sap::HandoverPreparationFailureParams BuildHoPrepFailMsg()
build handover preparation failure message
EventId m_handoverLeavingTimeout
Time limit before a handover leaving timeout occurs.
Definition: lte-enb-rrc.h:633
uint16_t m_sourceX2apId
source X2 ap ID
Definition: lte-enb-rrc.h:594
std::vector< EpcX2Sap::ErabToBeSetupItem > GetErabList()
Definition: lte-enb-rrc.cc:999
void RecvRrcConnectionRequest(LteRrcSap::RrcConnectionRequest msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionRequest interface.
uint8_t Drbid2Lcid(uint8_t drbid)
LtePdcpSapUser * m_drbPdcpSapUser
DRB PDCP SAP user.
Definition: lte-enb-rrc.h:576
void SwitchToState(State s)
Switch the UeManager to the given state.
void SetPdschConfigDedicated(LteRrcSap::PdschConfigDedicated pdschConfigDedicated)
Configure PdschConfigDedicated (i.e.
EventId m_connectionSetupTimeout
Time limit before a connection setup timeout occurs.
Definition: lte-enb-rrc.h:613
void RecvIdealUeContextRemoveRequest(uint16_t rnti)
Implement the LteEnbRrcSapProvider::RecvIdealUeContextRemoveRequest interface.
Definition: lte-enb-rrc.cc:610
Every class exported by the ns3 library is enclosed in the ns3 namespace.
params
Fit Fluctuating Two Ray model to the 3GPP TR 38.901 using the Anderson-Darling goodness-of-fit ##.
Parameters passed to DataRadioBearerSetupRequest ()
Parameters passed to InitialContextSetupRequest ()
PathSwitchRequestAcknowledgeParameters structure.
Parameters of the HANDOVER CANCEL message.
Definition: epc-x2-sap.h:344
Parameters of the HANDOVER PREPARATION FAILURE message.
Definition: epc-x2-sap.h:263
Parameters of the HANDOVER REQUEST ACKNOWLEDGE message.
Definition: epc-x2-sap.h:247
Parameters of the HANDOVER REQUEST message.
Definition: epc-x2-sap.h:229
Parameters of the LOAD INFORMATION message.
Definition: epc-x2-sap.h:305
Parameters of the RESOURCE STATUS UPDATE message.
Definition: epc-x2-sap.h:316
Parameters of the SN STATUS TRANSFER message.
Definition: epc-x2-sap.h:277
Parameters of the UE CONTEXT RELEASE message.
Definition: epc-x2-sap.h:292
Parameters of the UE DATA primitive.
Definition: epc-x2-sap.h:331
Parameters for [re]configuring the UE.
X2uTeidInfo structure.
Definition: lte-enb-rrc.h:1623
CompleteSetupUeParameters structure.
Definition: lte-rrc-sap.h:1248
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
Definition: lte-pdcp-sap.h:77
MeasConfig structure.
Definition: lte-rrc-sap.h:553
MeasurementReport structure.
Definition: lte-rrc-sap.h:948
NonCriticalExtensionConfiguration structure.
Definition: lte-rrc-sap.h:874
PdschConfigDedicated structure.
Definition: lte-rrc-sap.h:163
PhysicalConfigDedicated structure.
Definition: lte-rrc-sap.h:226
RadioResourceConfigDedicated structure.
Definition: lte-rrc-sap.h:296
Specifies criteria for triggering of an E-UTRA measurement reporting event.
Definition: lte-rrc-sap.h:373
RrcConnectionReconfigurationCompleted structure.
Definition: lte-rrc-sap.h:898
RrcConnectionReconfiguration structure.
Definition: lte-rrc-sap.h:881
RrcConnectionReestablishmentComplete structure.
Definition: lte-rrc-sap.h:919
RrcConnectionReestablishmentRequest structure.
Definition: lte-rrc-sap.h:904
RrcConnectionRequest structure.
Definition: lte-rrc-sap.h:730
RrcConnectionSetupCompleted structure.
Definition: lte-rrc-sap.h:744