A Discrete-Event Network Simulator
API
lte-enb-rrc.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011, 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4  * Copyright (c) 2018 Fraunhofer ESK : RLF extensions
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation;
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Authors: Nicola Baldo <nbaldo@cttc.es>
20  * Marco Miozzo <mmiozzo@cttc.es>
21  * Manuel Requena <manuel.requena@cttc.es>
22  * Modified by:
23  * Danilo Abrignani <danilo.abrignani@unibo.it> (Carrier Aggregation - GSoC 2015)
24  * Biljana Bojovic <biljana.bojovic@cttc.es> (Carrier Aggregation)
25  * Vignesh Babu <ns3-dev@esk.fraunhofer.de> (RLF extensions)
26  */
27 
28 #ifndef LTE_ENB_RRC_H
29 #define LTE_ENB_RRC_H
30 
31 #include <ns3/nstime.h>
32 #include <ns3/object.h>
33 #include <ns3/traced-callback.h>
34 #include <ns3/event-id.h>
35 
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>
50 
51 #include <map>
52 #include <set>
53 #include <ns3/component-carrier-enb.h>
54 #include <vector>
55 
56 #define MIN_NO_CC 1
57 #define MAX_NO_CC 5 // this is the maximum number of carrier components allowed by 3GPP up to R13
58 
59 namespace ns3 {
60 
61 class LteRadioBearerInfo;
62 class LteSignalingRadioBearerInfo;
63 class LteDataRadioBearerInfo;
64 class LteEnbRrc;
65 class Packet;
66 
67 
68 
74 class UeManager : public Object
75 {
78 
79 public:
80 
81 
86  enum State
87  {
100  };
101 
102  UeManager ();
103 
114  UeManager (Ptr<LteEnbRrc> rrc, uint16_t rnti, State s, uint8_t componentCarrierId);
115 
116  virtual ~UeManager (void);
117 
118  // inherited from Object
119 protected:
120  virtual void DoInitialize ();
121  virtual void DoDispose ();
122 public:
127  static TypeId GetTypeId (void);
128 
136  void SetSource (uint16_t sourceCellId, uint16_t sourceX2apId);
137 
143  void SetImsi (uint64_t imsi);
144 
150 
161  void SetupDataRadioBearer (EpsBearer bearer, uint8_t bearerId, uint32_t gtpTeid, Ipv4Address transportLayerAddress);
162 
169 
175  void StartDataRadioBearers ();
176 
183  void ReleaseDataRadioBearer (uint8_t drbid);
184 
190 
196  void PrepareHandover (uint16_t cellId);
197 
204 
211 
222 
234  void SendData (uint8_t bid, Ptr<Packet> p);
235 
240  std::vector<EpcX2Sap::ErabToBeSetupItem> GetErabList ();
241 
247  void SendUeContextRelease ();
248 
254  void RecvHandoverPreparationFailure (uint16_t cellId);
255 
262 
269 
270 
271  // METHODS FORWARDED FROM ENB RRC SAP ///////////////////////////////////////
272 
313  void RecvIdealUeContextRemoveRequest (uint16_t rnti);
314 
315 
316  // METHODS FORWARDED FROM ENB CMAC SAP //////////////////////////////////////
317 
323 
324  // METHODS FORWARDED FROM ENB PDCP SAP //////////////////////////////////////
325 
331 
337  uint16_t GetRnti (void) const;
338 
343  uint64_t GetImsi (void) const;
344 
349  uint8_t GetComponentCarrierId () const;
350 
355  uint16_t GetSrsConfigurationIndex (void) const;
356 
362  void SetSrsConfigurationIndex (uint16_t srsConfIndex);
363 
368  State GetState () const;
369 
376  void SetPdschConfigDedicated (LteRrcSap::PdschConfigDedicated pdschConfigDedicated);
377 
382  void CancelPendingEvents ();
383 
393  typedef void (*StateTracedCallback)
394  (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti,
395  const State oldState, const State newState);
396 
397 private:
398 
406  uint8_t AddDataRadioBearerInfo (Ptr<LteDataRadioBearerInfo> radioBearerInfo);
407 
414 
420  void RemoveDataRadioBearerInfo (uint8_t drbid);
421 
428 
435 
442 
448 
454  uint8_t Lcid2Drbid (uint8_t lcid);
455 
461  uint8_t Drbid2Lcid (uint8_t drbid);
462 
468  uint8_t Lcid2Bid (uint8_t lcid);
469 
475  uint8_t Bid2Lcid (uint8_t bid);
476 
482  uint8_t Drbid2Bid (uint8_t drbid);
483 
489  uint8_t Bid2Drbid (uint8_t bid);
490 
500  void SendPacket (uint8_t bid, Ptr<Packet> p);
501 
507  void SwitchToState (State s);
508 
510 
515  std::map <uint8_t, Ptr<LteDataRadioBearerInfo> > m_drbMap;
516 
525 
529  uint16_t m_rnti;
534  uint64_t m_imsi;
539 
541 
547 
549 
551 
558 
565 
566  uint16_t m_sourceX2apId;
567  uint16_t m_targetX2apId;
568  uint16_t m_sourceCellId;
569  uint16_t m_targetCellId;
570  std::list<uint8_t> m_drbsToBeStarted;
572 
606 
609 
612 
613 
623  std::list<std::pair<uint8_t, Ptr<Packet> > > m_packetBuffer;
624 
625 }; // end of `class UeManager`
626 
627 
628 
634 class LteEnbRrc : public Object
635 {
636 
652  friend class UeManager;
655 
656 public:
661  LteEnbRrc ();
662 
666  virtual ~LteEnbRrc ();
667 
668 
669  // inherited from Object
670 protected:
671  virtual void DoDispose (void);
672 public:
677  static TypeId GetTypeId (void);
678 
684 
690 
691 
698 
705  void SetLteEnbCmacSapProvider (LteEnbCmacSapProvider * s, uint8_t pos);
706 
712 
719 
726 
733 
734 
741 
748 
749 
756 
763 
764 
765 
778  void SetLteFfrRrcSapProvider (LteFfrRrcSapProvider * s, uint8_t index);
779 
792  LteFfrRrcSapUser* GetLteFfrRrcSapUser (uint8_t index);
793 
800 
807 
816 
817 
824 
830 
831 
838 
845  void SetLteEnbCphySapProvider (LteEnbCphySapProvider * s, uint8_t pos);
846 
853 
861 
869  bool HasUeManager (uint16_t rnti) const;
870 
878  Ptr<UeManager> GetUeManager (uint16_t rnti);
879 
893 
916  void ConfigureCell (std::map<uint8_t, Ptr<ComponentCarrierBaseStation> > ccPhyConf);
917 
922  void ConfigureCarriers (std::map<uint8_t, Ptr<ComponentCarrierBaseStation>> ccPhyConf);
923 
929  void SetCellId (uint16_t m_cellId);
930 
937  void SetCellId (uint16_t m_cellId, uint8_t ccIndex);
938 
946  uint8_t CellToComponentCarrierId (uint16_t cellId);
947 
955  uint16_t ComponentCarrierToCellId (uint8_t componentCarrierId);
956 
966  bool SendData (Ptr<Packet> p);
967 
973  void SetForwardUpCallback (Callback <void, Ptr<Packet> > cb);
974 
981  void ConnectionRequestTimeout (uint16_t rnti);
982 
990  void ConnectionSetupTimeout (uint16_t rnti);
991 
998  void ConnectionRejectedTimeout (uint16_t rnti);
999 
1007  void HandoverJoiningTimeout (uint16_t rnti);
1008 
1016  void HandoverLeavingTimeout (uint16_t rnti);
1017 
1026  void SendHandoverRequest (uint16_t rnti, uint16_t cellId);
1027 
1034  void DoSendReleaseDataRadioBearer (uint64_t imsi, uint16_t rnti, uint8_t bearerId);
1035 
1044 
1051  typedef void (*NewUeContextTracedCallback)
1052  (const uint16_t cellId, const uint16_t rnti);
1053 
1061  typedef void (*ConnectionHandoverTracedCallback)
1062  (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti);
1063 
1072  typedef void (*HandoverStartTracedCallback)
1073  (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti,
1074  const uint16_t targetCid);
1075 
1086  typedef void (*ReceiveReportTracedCallback)
1087  (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti,
1088  const LteRrcSap::MeasurementReport report);
1089 
1098  typedef void (*TimerExpiryTracedCallback)
1099  (const uint64_t imsi, const uint16_t rnti, const uint16_t cellId,
1100  const std::string cause);
1101 
1102 
1103 private:
1104 
1105 
1106  // RRC SAP methods
1107 
1155  void DoRecvMeasurementReport (uint16_t rnti, LteRrcSap::MeasurementReport msg);
1166  void DoRecvIdealUeContextRemoveRequest (uint16_t rnti);
1167 
1168  // S1 SAP methods
1169 
1188 
1189  // X2 SAP methods
1190 
1239 
1240  // CMAC SAP methods
1241 
1248  uint16_t DoAllocateTemporaryCellRnti (uint8_t componentCarrierId);
1256  void DoNotifyLcConfigResult (uint16_t rnti, uint8_t lcid, bool success);
1263 
1264  // Handover Management SAP methods
1265 
1284  void DoSetNumberOfComponentCarriers (uint16_t numberOfComponentCarriers);
1285 
1286 
1293  void DoTriggerHandover (uint16_t rnti, uint16_t targetCellId);
1294 
1295  // ANR SAP methods
1296 
1304 
1305  // FFR RRC SAP methods
1326 
1327  // Internal methods
1328 
1339  uint16_t AddUe (UeManager::State state, uint8_t componentCarrierId);
1340 
1346  void RemoveUe (uint16_t rnti);
1347 
1348 
1355  TypeId GetRlcType (EpsBearer bearer);
1356 
1369  bool IsRandomAccessCompleted (uint16_t rnti);
1370 
1371 
1372 
1373 public:
1374 
1380  void AddX2Neighbour (uint16_t cellId);
1381 
1386  void SetSrsPeriodicity (uint32_t p);
1387 
1392  uint32_t GetSrsPeriodicity () const;
1393 
1413  void SetCsgId (uint32_t csgId, bool csgIndication);
1414 
1415 private:
1416 
1425  uint16_t GetNewSrsConfigurationIndex (void);
1426 
1435  void RemoveSrsConfigurationIndex (uint16_t srcCi);
1436 
1437 
1438 
1446  uint8_t GetLogicalChannelGroup (EpsBearer bearer);
1447 
1456  uint8_t GetLogicalChannelPriority (EpsBearer bearer);
1457 
1458 
1463  void SendSystemInformation ();
1464 
1466 
1471 
1473  std::vector<LteEnbCmacSapUser*> m_cmacSapUser;
1475  std::vector<LteEnbCmacSapProvider*> m_cmacSapProvider;
1476 
1481 
1486 
1491 
1493  std::vector<LteFfrRrcSapUser*> m_ffrRrcSapUser;
1495  std::vector<LteFfrRrcSapProvider*> m_ffrRrcSapProvider;
1496 
1501 
1504 
1509 
1511  std::vector<LteEnbCphySapUser*> m_cphySapUser;
1513  std::vector<LteEnbCphySapProvider*> m_cphySapProvider;
1514 
1518  uint32_t m_dlEarfcn;
1520  uint32_t m_ulEarfcn;
1522  uint16_t m_dlBandwidth;
1524  uint16_t m_ulBandwidth;
1527 
1529  std::vector<LteRrcSap::SystemInformationBlockType1> m_sib1;
1530 
1534  std::map<uint16_t, Ptr<UeManager> > m_ueMap;
1535 
1541 
1543  std::set<uint8_t> m_handoverMeasIds;
1545  std::set<uint8_t> m_anrMeasIds;
1547  std::set<uint8_t> m_ffrMeasIds;
1549  std::set<uint8_t> m_componentCarrierMeasIds;
1550 
1553  {
1554  uint16_t rnti;
1555  uint8_t drbid;
1556  };
1557 
1559  std::map<uint32_t, X2uTeidInfo> m_x2uTeidInfoMap;
1560 
1580  std::set<uint16_t> m_ueSrsConfigurationIndexSet;
1583 
1589  int8_t m_qRxLevMin;
1646 
1689 
1691 
1693 
1694  std::map<uint8_t, Ptr<ComponentCarrierBaseStation>> m_componentCarrierPhyConf;
1695 
1696 }; // end of `class LteEnbRrc`
1697 
1698 
1699 } // namespace ns3
1700 
1701 #endif // LTE_ENB_RRC_H
void DoInitialContextSetupRequest(EpcEnbS1SapUser::InitialContextSetupRequestParameters params)
Initial context setup request function.
Callback< void, Ptr< Packet > > m_forwardUpCallback
forward up callback function
Definition: lte-enb-rrc.h:1465
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > m_stateTransitionTrace
The StateTransition trace source.
Definition: lte-enb-rrc.h:557
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndOkTrace
The HandoverEndOk trace source.
Definition: lte-enb-rrc.h:1671
RrcConnectionRequest structure.
Definition: lte-rrc-sap.h:692
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...
Parameters passed to DataRadioBearerSetupRequest ()
void ConnectionSetupTimeout(uint16_t rnti)
Method triggered when a UE is expected to complete a connection setup procedure but does not do so in...
PhysicalConfigDedicated structure.
Definition: lte-rrc-sap.h:216
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the eNodeB RRC instan...
void SetEpcX2SapProvider(EpcX2SapProvider *s)
Set the X2 SAP this RRC should interact with.
Template for the implementation of the EpcEnbS1SapUser as a member of an owner class of type C to whi...
This class implements the Service Access Point (SAP) between the LteEnbRrc and the EpcEnbApplication...
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:103
Ptr< LteSignalingRadioBearerInfo > m_srb1
The Srb1 attribute.
Definition: lte-enb-rrc.h:524
void SendHandoverRequest(uint16_t rnti, uint16_t cellId)
Send a HandoverRequest through the X2 SAP interface.
void SendSystemInformation()
method used to periodically send System Information
bool IsRandomAccessCompleted(uint16_t rnti)
Is random access completed function.
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigForHandoverPreparationInfo()
Definition: lte-enb-rrc.cc:754
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:73
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:343
LteEnbRrc()
create an RRC instance for use within an eNB
State
The state of the UeManager at the eNB RRC.
Definition: lte-enb-rrc.h:86
MeasurementReport structure.
Definition: lte-rrc-sap.h:901
Callback template class.
Definition: callback.h:1278
EpcX2SpecificEpcX2SapUser.
Definition: epc-x2-sap.h:608
void RecordDataRadioBearersToBeStarted()
Start all configured data radio bearers.
Definition: lte-enb-rrc.cc:500
void ConfigureCarriers(std::map< uint8_t, Ptr< ComponentCarrierBaseStation >> ccPhyConf)
Configure carriers.
virtual void DoDispose()
Destructor implementation.
Definition: lte-enb-rrc.cc:317
uint16_t m_dlBandwidth
Downlink transmission bandwidth configuration in number of Resource Blocks.
Definition: lte-enb-rrc.h:1522
bool m_caSupportConfigured
Define if the Carrier Aggregation was already configure for the current UE on not.
Definition: lte-enb-rrc.h:608
uint16_t m_targetX2apId
target X2 ap ID
Definition: lte-enb-rrc.h:567
void RecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message...
Definition: lte-enb-rrc.cc:921
This class implements the Service Access Point (SAP) between the LteEnbRrc and the EpcEnbApplication...
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:367
void RecvHandoverPreparationFailure(uint16_t cellId)
Take the necessary actions in response to the reception of an X2 HO preparation failure message...
Definition: lte-enb-rrc.cc:884
void DoNotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success)
Notify LC config result function.
void(* NewUeContextTracedCallback)(const uint16_t cellId, const uint16_t rnti)
TracedCallback signature for new Ue Context events.
Definition: lte-enb-rrc.h:1052
void SetCellId(uint16_t m_cellId)
set the cell id of this eNB
uint8_t GetLogicalChannelGroup(EpsBearer bearer)
void SendPacket(uint8_t bid, Ptr< Packet > p)
Send a data packet over the appropriate Data Radio Bearer.
Definition: lte-enb-rrc.cc:768
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:1062
void AddX2Neighbour(uint16_t cellId)
Add a neighbour with an X2 interface.
uint8_t Drbid2Bid(uint8_t drbid)
bool m_admitHandoverRequest
The AdmitHandoverRequest attribute.
Definition: lte-enb-rrc.h:1594
uint32_t GetSrsPeriodicity() const
Parameters of the HANDOVER REQUEST message.
Definition: epc-x2-sap.h:228
Part of the RRC protocol.
Definition: lte-rrc-sap.h:1200
void DoRecvRrcConnectionReconfigurationCompleted(uint16_t rnti, LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Part of the RRC protocol.
Template for the implementation of the LteHandoverManagementSapUser as a member of an owner class of ...
Class for forwarding CMAC SAP User functions.
Definition: lte-enb-rrc.cc:62
Specifies criteria for triggering of an E-UTRA measurement reporting event.
Definition: lte-rrc-sap.h:361
void SetCsgId(uint32_t csgId, bool csgIndication)
Associate this RRC entity with a particular CSG information.
uint8_t DoAddUeMeasReportConfigForComponentCarrier(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for component carrier function.
MeasConfig structure.
Definition: lte-rrc-sap.h:518
void ConfigureCell(std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > ccPhyConf)
Configure cell-specific parameters.
X2uTeidInfo structure.
Definition: lte-enb-rrc.h:1552
static TypeId GetTypeId(void)
Get the type ID.
uint16_t m_sourceCellId
source cell ID
Definition: lte-enb-rrc.h:568
virtual ~LteEnbRrc()
Destructor.
uint16_t m_rnti
The C-RNTI attribute.
Definition: lte-enb-rrc.h:529
uint8_t Lcid2Bid(uint8_t lcid)
void SetLteHandoverManagementSapProvider(LteHandoverManagementSapProvider *s)
set the Handover Management SAP this RRC should interact with
EpcX2SapUser * GetEpcX2SapUser()
Get the X2 SAP offered by this RRC.
void SetLteEnbCphySapProvider(LteEnbCphySapProvider *s)
set the CPHY SAP this RRC should use to interact with the PHY
uint16_t m_lastAllocatedRnti
Last allocated RNTI.
Definition: lte-enb-rrc.h:1526
uint16_t GetNewSrsConfigurationIndex(void)
Allocate a new SRS configuration index for a new UE.
LteEnbCmacSapUser * GetLteEnbCmacSapUser()
Get the CMAC SAP offered by this RRC.
std::vector< LteEnbCphySapProvider * > m_cphySapProvider
Interface to the eNodeB PHY instances.
Definition: lte-enb-rrc.h:1513
State GetState() const
uint16_t m_ulBandwidth
Uplink transmission bandwidth configuration in number of Resource Blocks.
Definition: lte-enb-rrc.h:1524
uint64_t GetImsi(void) const
uint8_t m_lastRrcTransactionIdentifier
last RRC transaction identifier
Definition: lte-enb-rrc.h:540
uint16_t m_srsCurrentPeriodicityId
The SrsPeriodicity attribute.
Definition: lte-enb-rrc.h:1579
The LTE Radio Resource Control entity at the eNB.
Definition: lte-enb-rrc.h:634
bool m_pendingStartDataRadioBearers
Pending start data radio bearers.
Definition: lte-enb-rrc.h:611
void SetLteEnbRrcSapUser(LteEnbRrcSapUser *s)
set the RRC SAP this RRC should interact with
void SetLteEnbCmacSapProvider(LteEnbCmacSapProvider *s)
set the CMAC SAP this RRC should interact with
uint64_t m_imsi
International Mobile Subscriber Identity assigned to this UE.
Definition: lte-enb-rrc.h:534
std::vector< LteEnbCmacSapProvider * > m_cmacSapProvider
Interface to the eNodeB MAC instance.
Definition: lte-enb-rrc.h:1475
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
LteEpsBearerToRlcMapping_t
Identifies how EPS Bearer parameters are mapped to different RLC types.
Definition: lte-enb-rrc.h:1040
Time m_handoverLeavingTimeoutDuration
The HandoverLeavingTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1645
Time m_connectionRejectedTimeoutDuration
The ConnectionRejectedTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1630
LteMacSapProvider * m_macSapProvider
Interface to the eNodeB MAC instance, to be used by RLC instances.
Definition: lte-enb-rrc.h:1503
LteHandoverManagementSapUser * GetLteHandoverManagementSapUser()
Get the Handover Management SAP offered by this RRC.
LteEnbRrcSapProvider * m_rrcSapProvider
Interface to receive messages from UE over the RRC protocol.
Definition: lte-enb-rrc.h:1500
void RemoveSrsConfigurationIndex(uint16_t srcCi)
remove a previously allocated SRS configuration index
MemberLteCcmRrcSapUser class.
void SetImsi(uint64_t imsi)
Set the IMSI.
Definition: lte-enb-rrc.cc:374
void SetLteMacSapProvider(LteMacSapProvider *s)
set the MAC SAP provider.
void SendUeContextRelease()
send the UE CONTEXT RELEASE X2 message to the source eNB, thus successfully terminating an X2 handove...
Definition: lte-enb-rrc.cc:860
LteRrcSap::RrcConnectionReconfiguration GetRrcConnectionReconfigurationForHandover()
Definition: lte-enb-rrc.cc:761
void SwitchToState(State s)
Switch the UeManager to the given state.
Time m_connectionSetupTimeoutDuration
The ConnectionSetupTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1625
void RecvRrcConnectionReconfigurationCompleted(LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted interface.
void ReleaseDataRadioBearer(uint8_t drbid)
Release a given radio bearer.
Definition: lte-enb-rrc.cc:532
uint16_t ComponentCarrierToCellId(uint8_t componentCarrierId)
convert the component carrier id to cell id
uint8_t AddDataRadioBearerInfo(Ptr< LteDataRadioBearerInfo > radioBearerInfo)
Add a new LteDataRadioBearerInfo structure to the UeManager.
EpcX2SapUser * m_x2SapUser
Interface to receive messages from neighbour eNodeB over the X2 interface.
Definition: lte-enb-rrc.h:1468
uint8_t m_rsrqFilterCoefficient
The RsrqFilterCoefficient attribute.
Definition: lte-enb-rrc.h:1611
LteEnbRrcSapUser * m_rrcSapUser
Interface to send messages to UE over the RRC protocol.
Definition: lte-enb-rrc.h:1498
bool m_needPhyMacConfiguration
need Phy MAC configuration
Definition: lte-enb-rrc.h:571
Ptr< LteEnbRrc > m_rrc
Pointer to the parent eNodeB RRC.
Definition: lte-enb-rrc.h:544
EpcEnbS1SapProvider * m_s1SapProvider
Interface to send messages to core network over the S1 protocol.
Definition: lte-enb-rrc.h:1506
Time m_connectionRequestTimeoutDuration
The ConnectionRequestTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1618
void SetForwardUpCallback(Callback< void, Ptr< Packet > > cb)
set the callback used to forward data packets up the stack
void DoRecvRrcConnectionSetupCompleted(uint16_t rnti, LteRrcSap::RrcConnectionSetupCompleted msg)
Part of the RRC protocol.
void DoRecvRrcConnectionReestablishmentComplete(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentComplete msg)
Part of the RRC protocol.
LteHandoverManagementSapUser * m_handoverManagementSapUser
Receive API calls from the handover algorithm instance.
Definition: lte-enb-rrc.h:1478
void DoCompleteSetupUe(uint16_t rnti, LteEnbRrcSapProvider::CompleteSetupUeParameters params)
Part of the RRC protocol.
TracedCallback< uint16_t, uint16_t > m_newUeContextTrace
The NewUeContext trace source.
Definition: lte-enb-rrc.h:1651
Service Access Point (SAP) offered by the MAC to the RRC See Femto Forum MAC Scheduler Interface Spec...
Template for the implementation of the LteFfrRrcSapUser as a member of an owner class of type C to wh...
Ptr< UeManager > GetUeManager(uint16_t rnti)
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
Definition: lte-pdcp-sap.h:77
bool m_admitRrcConnectionRequest
The AdmitRrcConnectionRequest attribute.
Definition: lte-enb-rrc.h:1599
int8_t m_qRxLevMin
The QRxLevMin attribute.
Definition: lte-enb-rrc.h:1589
LtePdcpSapUser * m_drbPdcpSapUser
DRB PDCP SAP user.
Definition: lte-enb-rrc.h:548
uint8_t AddUeMeasReportConfig(LteRrcSap::ReportConfigEutra config)
Add a new UE measurement reporting configuration.
EventId m_connectionRejectedTimeout
The delay before a connection rejected timeout occurs.
Definition: lte-enb-rrc.h:591
void SetLteFfrRrcSapProvider(LteFfrRrcSapProvider *s)
set the FFR SAP this RRC should interact with
uint16_t m_numberOfComponentCarriers
number of component carriers
Definition: lte-enb-rrc.h:1690
std::vector< LteFfrRrcSapProvider * > m_ffrRrcSapProvider
Interface to the FFR algorithm instance.
Definition: lte-enb-rrc.h:1495
LteRrcSap::NonCriticalExtensionConfiguration BuildNonCriticalExtentionConfigurationCa()
bool m_carriersConfigured
are carriers configured
Definition: lte-enb-rrc.h:1692
LteRrcSap::RrcConnectionReconfiguration BuildRrcConnectionReconfiguration()
Ptr< LteSignalingRadioBearerInfo > m_srb0
The Srb0 attribute.
Definition: lte-enb-rrc.h:520
void DoRecvRrcConnectionRequest(uint16_t rnti, LteRrcSap::RrcConnectionRequest msg)
Part of the RRC protocol.
void SetSrsConfigurationIndex(uint16_t srsConfIndex)
Set the SRS configuration index and do the necessary reconfiguration.
void DoTriggerHandover(uint16_t rnti, uint16_t targetCellId)
Trigger handover function.
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionEstablishedTrace
The ConnectionEstablished trace source.
Definition: lte-enb-rrc.h:1656
std::set< uint8_t > m_componentCarrierMeasIds
List of measurement identities which are intended for component carrier management purposes...
Definition: lte-enb-rrc.h:1549
Parameters of the HANDOVER PREPARATION FAILURE message.
Definition: epc-x2-sap.h:262
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:1073
uint32_t m_ulEarfcn
Uplink E-UTRA Absolute Radio Frequency Channel Number.
Definition: lte-enb-rrc.h:1520
uint8_t CellToComponentCarrierId(uint16_t cellId)
convert the cell id to component carrier id
void DoPathSwitchRequestAcknowledge(EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters params)
Path switch request acknowledge function.
bool HasUeManager(uint16_t rnti) const
TracedCallback< uint64_t, uint16_t, uint16_t, std::string > m_rrcTimeoutTrace
The &#39;TimerExpiry&#39; Trace source.
Definition: lte-enb-rrc.h:1688
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:1087
RrcConnectionReconfiguration structure.
Definition: lte-rrc-sap.h:836
Parameters of the SN STATUS TRANSFER message.
Definition: epc-x2-sap.h:276
TracedCallback< uint64_t, uint16_t, uint16_t, uint8_t > m_drbCreatedTrace
The DrbCreated trace source.
Definition: lte-enb-rrc.h:564
std::set< uint8_t > m_ffrMeasIds
List of measurement identities which are intended for FFR purpose.
Definition: lte-enb-rrc.h:1547
Service Access Point (SAP) offered by the eNodeB RRC instance to the ANR instance.
Definition: lte-anr-sap.h:97
RrcConnectionReconfigurationCompleted structure.
Definition: lte-rrc-sap.h:851
uint8_t Drbid2Lcid(uint8_t drbid)
void SetLteCcmRrcSapProvider(LteCcmRrcSapProvider *s)
set the Component Carrier Management SAP this RRC should interact with
void SendData(uint8_t bid, Ptr< Packet > p)
Send a data packet over the appropriate Data Radio Bearer.
Definition: lte-enb-rrc.cc:790
std::set< uint8_t > m_handoverMeasIds
List of measurement identities which are intended for handover purpose.
Definition: lte-enb-rrc.h:1543
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:394
uint8_t m_componentCarrierId
ID of the primary CC for this UE.
Definition: lte-enb-rrc.h:538
RrcConnectionSetupCompleted structure.
Definition: lte-rrc-sap.h:705
void DoRecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
Receive UE context release function.
uint8_t m_lastAllocatedDrbid
last allocated Data Radio Bearer ID
Definition: lte-enb-rrc.h:509
uint8_t Bid2Lcid(uint8_t bid)
uint16_t m_sourceX2apId
source X2 ap ID
Definition: lte-enb-rrc.h:566
RrcConnectionReestablishmentRequest structure.
Definition: lte-rrc-sap.h:858
std::map< uint32_t, X2uTeidInfo > m_x2uTeidInfoMap
TEID, RNTI, DRBID.
Definition: lte-enb-rrc.h:1559
TracedCallback< uint64_t, uint16_t, uint16_t, LteRrcSap::MeasurementReport > m_recvMeasurementReportTrace
The RecvMeasurementReport trace source.
Definition: lte-enb-rrc.h:1676
virtual ~UeManager(void)
Definition: lte-enb-rrc.cc:312
uint8_t m_rsrpFilterCoefficient
The RsrpFilterCoefficient attribute.
Definition: lte-enb-rrc.h:1605
LteCcmRrcSapUser * m_ccmRrcSapUser
Receive API calls from the LteEnbComponentCarrierManager instance.
Definition: lte-enb-rrc.h:1483
Part of the RRC protocol.
Definition: lte-rrc-sap.h:1081
uint8_t DoAddUeMeasReportConfigForAnr(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for ANR function.
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:395
void RemoveDataRadioBearerInfo(uint8_t drbid)
remove the LteDataRadioBearerInfo corresponding to a bearer being released
static TypeId GetTypeId(void)
Get the type ID.
Definition: lte-enb-rrc.cc:330
void RecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
Take the necessary actions in response to the reception of an X2 SN STATUS TRANSFER message...
Definition: lte-enb-rrc.cc:902
EpcX2SapProvider * m_x2SapProvider
Interface to send messages to neighbour eNodeB over the X2 interface.
Definition: lte-enb-rrc.h:1470
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Parameters of the RESOURCE STATUS UPDATE message.
Definition: epc-x2-sap.h:314
Manages all the radio bearer information possessed by the ENB RRC for a single UE.
Definition: lte-enb-rrc.h:74
LteRrcSap::RadioResourceConfigDedicated BuildRadioResourceConfigDedicated()
LteCcmRrcSapUser * GetLteCcmRrcSapUser()
Get the Component Carrier Management SAP offered by this RRC.
EventId m_handoverLeavingTimeout
Time limit before a handover leaving timeout occurs.
Definition: lte-enb-rrc.h:605
void SetLteAnrSapProvider(LteAnrSapProvider *s)
set the ANR SAP this RRC should interact with
Parameters of the UE CONTEXT RELEASE message.
Definition: epc-x2-sap.h:290
Parameters of the HANDOVER REQUEST ACKNOWLEDGE message.
Definition: epc-x2-sap.h:246
void RecvRrcConnectionSetupCompleted(LteRrcSap::RrcConnectionSetupCompleted msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface.
Definition: lte-enb-rrc.cc:989
std::list< uint8_t > m_drbsToBeStarted
DRBS to be started.
Definition: lte-enb-rrc.h:570
void DoReceivePdcpSdu(LtePdcpSapUser::ReceivePdcpSduParameters params)
Receive PDCP SDU function.
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_handoverStartTrace
The HandoverStart trace source.
Definition: lte-enb-rrc.h:1666
void CancelPendingEvents()
Cancel all timers which are running for the UE.
void RecvIdealUeContextRemoveRequest(uint16_t rnti)
Implement the LteEnbRrcSapProvider::RecvIdealUeContextRemoveRequest interface.
Definition: lte-enb-rrc.cc:582
std::vector< EpcX2Sap::ErabToBeSetupItem > GetErabList()
Definition: lte-enb-rrc.cc:840
void ScheduleRrcConnectionReconfiguration()
schedule an RRC Connection Reconfiguration procedure with the UE
Definition: lte-enb-rrc.cc:601
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:406
LteAnrSapUser * GetLteAnrSapUser()
Get the ANR SAP offered by this RRC.
This class contains the specification of EPS Bearers.
Definition: eps-bearer.h:91
LtePdcpSpecificLtePdcpSapUser class.
Definition: lte-pdcp-sap.h:133
PathSwitchRequestAcknowledgeParameters structure.
Parameters for [re]configuring the UE.
Time m_systemInformationPeriodicity
The SystemInformationPeriodicity attribute.
Definition: lte-enb-rrc.h:1575
LteEnbRrcSapProvider * GetLteEnbRrcSapProvider()
uint8_t m_defaultTransmissionMode
The DefaultTransmissionMode attribute.
Definition: lte-enb-rrc.h:1565
void DoRecvResourceStatusUpdate(EpcX2SapUser::ResourceStatusUpdateParams params)
Receive resource status update function.
Service Access Point (SAP) offered by the eNodeB RRC instance to the Frequency Reuse algorithm instan...
void DoRecvUeData(EpcX2SapUser::UeDataParams params)
Receive UE data function.
void PrepareHandover(uint16_t cellId)
Start the handover preparation and send the handover request.
Definition: lte-enb-rrc.cc:635
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:571
uint8_t DoAddUeMeasReportConfigForHandover(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for handover function.
void RecvRrcConnectionReestablishmentComplete(LteRrcSap::RrcConnectionReestablishmentComplete msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface.
EpcEnbS1SapUser * m_s1SapUser
Interface to receive messages from core network over the S1 protocol.
Definition: lte-enb-rrc.h:1508
std::set< uint16_t > m_ueSrsConfigurationIndexSet
UE SRS configuration index set.
Definition: lte-enb-rrc.h:1580
void SetSrsPeriodicity(uint32_t p)
virtual void DoDispose(void)
Destructor implementation.
TypeId GetRlcType(EpsBearer bearer)
bool m_configured
True if ConfigureCell() has been completed.
Definition: lte-enb-rrc.h:1516
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 InitialContextSetupRequest()
Process Initial context setup request message from the MME.
Definition: lte-enb-rrc.cc:380
Ipv4 addresses are stored in host order in this class.
Definition: ipv4-address.h:41
std::list< std::pair< uint8_t, Ptr< Packet > > > m_packetBuffer
Packet buffer for when UE is doing the handover.
Definition: lte-enb-rrc.h:623
std::vector< LteEnbCmacSapUser * > m_cmacSapUser
Receive API calls from the eNodeB MAC instance.
Definition: lte-enb-rrc.h:1473
LteAnrSapUser * m_anrSapUser
Receive API calls from the ANR instance.
Definition: lte-enb-rrc.h:1488
EventId m_connectionSetupTimeout
Time limit before a connection setup timeout occurs.
Definition: lte-enb-rrc.h:585
std::vector< LteRrcSap::SystemInformationBlockType1 > m_sib1
The System Information Block Type 1 that is currently broadcasted over BCH.
Definition: lte-enb-rrc.h:1529
Template for the implementation of the LteEnbRrcSapProvider as a member of an owner class of type C t...
Definition: lte-rrc-sap.h:1642
bool m_pendingRrcConnectionReconfiguration
pending RRC connection reconfiguration
Definition: lte-enb-rrc.h:550
Service Access Point (SAP) offered by the ANR instance to the eNodeB RRC instance.
Definition: lte-anr-sap.h:37
void DoRrcConfigurationUpdateInd(LteEnbCmacSapUser::UeConfig params)
RRC configuration update indication function.
An identifier for simulation events.
Definition: event-id.h:53
void DoSetPdschConfigDedicated(uint16_t rnti, LteRrcSap::PdschConfigDedicated pa)
Set PDSCH config dedicated function.
uint8_t DoAddUeMeasReportConfigForFfr(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for FFR function.
bool m_reconfigureUes
reconfigure UEs?
Definition: lte-enb-rrc.h:1582
Service Access Point (SAP) offered by the Component Carrier Manager (CCM) instance to the eNodeB RRC ...
void DoRecvHandoverPreparationFailure(EpcX2SapUser::HandoverPreparationFailureParams params)
Receive handover preparation failure function.
Service Access Point (SAP) offered by the handover algorithm instance to the eNodeB RRC instance...
void StartDataRadioBearers()
Start the data radio bearers that have been previously recorded to be started using RecordDataRadioBe...
Definition: lte-enb-rrc.cc:512
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36.323 Packet Data Convergence Protocol (PDCP) specification.
Definition: lte-pdcp-sap.h:69
void DoSetNumberOfComponentCarriers(uint16_t numberOfComponentCarriers)
Set number of component carriers.
EpcEnbS1SapUser * GetS1SapUser()
void RecvRrcConnectionReestablishmentRequest(LteRrcSap::RrcConnectionReestablishmentRequest msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest interface.
LteRrcSap::PhysicalConfigDedicated m_physicalConfigDedicated
physical config dedicated
Definition: lte-enb-rrc.h:542
Parameters passed to InitialContextSetupRequest ()
std::map< uint16_t, Ptr< UeManager > > m_ueMap
The UeMap attribute.
Definition: lte-enb-rrc.h:1534
LteFfrRrcSapUser * GetLteFfrRrcSapUser()
Get the FFR SAP offered by this RRC.
CompleteSetupUeParameters structure.
Definition: lte-rrc-sap.h:1204
Parameters of the LOAD INFORMATION message.
Definition: epc-x2-sap.h:303
std::vector< LteEnbCphySapUser * > m_cphySapUser
Receive API calls from the eNodeB PHY instances.
Definition: lte-enb-rrc.h:1511
void RecvRrcConnectionRequest(LteRrcSap::RrcConnectionRequest msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionRequest interface.
Definition: lte-enb-rrc.cc:940
RrcConnectionReestablishmentComplete structure.
Definition: lte-rrc-sap.h:872
LteCcmRrcSapProvider * m_ccmRrcSapProvider
Interface to the LteEnbComponentCarrierManager instance.
Definition: lte-enb-rrc.h:1485
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition: lte-mac-sap.h:36
std::map< uint8_t, Ptr< LteDataRadioBearerInfo > > m_drbMap
The DataRadioBearerMap attribute.
Definition: lte-enb-rrc.h:515
uint8_t GetComponentCarrierId() const
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReconfigurationTrace
The ConnectionReconfiguration trace source.
Definition: lte-enb-rrc.h:1661
uint8_t GetLogicalChannelPriority(EpsBearer bearer)
Service Access Point (SAP) offered by the eNodeB RRC instance to the component carrier manager (CCM) ...
uint8_t GetNewRrcTransactionIdentifier()
void DoRecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
Receive SN status transfer function.
LteEnbCphySapUser * GetLteEnbCphySapUser()
void ConnectionRejectedTimeout(uint16_t rnti)
Method triggered a while after sending RRC Connection Rejected.
void DoRecvIdealUeContextRemoveRequest(uint16_t rnti)
Part of the RRC protocol.
Ptr< LteDataRadioBearerInfo > GetDataRadioBearerInfo(uint8_t drbid)
std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > m_componentCarrierPhyConf
component carrier phy configuration
Definition: lte-enb-rrc.h:1694
Template for the implementation of the LteAnrSapUser as a member of an owner class of type C to which...
Definition: lte-anr-sap.h:205
uint16_t GetRnti(void) const
Time m_handoverJoiningTimeoutDuration
The HandoverJoiningTimeoutDuration attribute.
Definition: lte-enb-rrc.h:1639
uint16_t m_lastAllocatedConfigurationIndex
last allocated configuration index
Definition: lte-enb-rrc.h:1581
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 ...
LteHandoverManagementSapProvider * m_handoverManagementSapProvider
Interface to the handover algorithm instance.
Definition: lte-enb-rrc.h:1480
A base class which provides memory management and object aggregation.
Definition: object.h:87
std::set< uint8_t > m_anrMeasIds
List of measurement identities which are intended for ANR purpose.
Definition: lte-enb-rrc.h:1545
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReleaseTrace
The NotifyConnectionRelease trace source.
Definition: lte-enb-rrc.h:1682
void DoRecvRrcConnectionReestablishmentRequest(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentRequest msg)
Part of the RRC protocol.
void SetPdschConfigDedicated(LteRrcSap::PdschConfigDedicated pdschConfigDedicated)
Configure PdschConfigDedicated (i.e.
Service Access Point (SAP) offered by the eNB MAC to the eNB RRC See Femto Forum MAC Scheduler Interf...
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:1099
NonCriticalExtensionConfiguration structure.
Definition: lte-rrc-sap.h:829
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
void RemoveUe(uint16_t rnti)
remove a UE from the cell
PdschConfigDedicated structure.
Definition: lte-rrc-sap.h:154
State m_state
The current UeManager state.
Definition: lte-enb-rrc.h:546
void DoRecvMeasurementReport(uint16_t rnti, LteRrcSap::MeasurementReport msg)
Part of the RRC protocol.
void CmacUeConfigUpdateInd(LteEnbCmacSapUser::UeConfig cmacParams)
CMAC UE config update indication function.
Parameters of the UE DATA primitive.
Definition: epc-x2-sap.h:328
enum LteEpsBearerToRlcMapping_t m_epsBearerToRlcMapping
The EpsBearerToRlcMapping attribute.
Definition: lte-enb-rrc.h:1570
uint32_t m_dlEarfcn
Downlink E-UTRA Absolute Radio Frequency Channel Number.
Definition: lte-enb-rrc.h:1518
void DoSendLoadInformation(EpcX2Sap::LoadInformationParams params)
Send load information function.
void RecvMeasurementReport(LteRrcSap::MeasurementReport msg)
Implement the LteEnbRrcSapProvider::RecvMeasurementReport interface.
a unique identifier for an interface.
Definition: type-id.h:58
uint16_t m_targetCellId
target cell ID
Definition: lte-enb-rrc.h:569
uint16_t DoAllocateTemporaryCellRnti(uint8_t componentCarrierId)
Allocate temporary cell RNTI function.
uint16_t GetSrsConfigurationIndex(void) const
uint8_t Bid2Drbid(uint8_t bid)
void SetS1SapProvider(EpcEnbS1SapProvider *s)
Set the S1 SAP Provider.
uint8_t Lcid2Drbid(uint8_t lcid)
EventId m_connectionRequestTimeout
Time limit before a connection request timeout occurs.
Definition: lte-enb-rrc.h:579
LteAnrSapProvider * m_anrSapProvider
Interface to the ANR instance.
Definition: lte-enb-rrc.h:1490
uint16_t AddUe(UeManager::State state, uint8_t componentCarrierId)
Allocate a new RNTI for a new UE.
Service Access Point (SAP) offered by the eNodeB RRC instance to the handover algorithm instance...
void DoDataRadioBearerSetupRequest(EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters params)
Data radio beaerer setup request function.
std::vector< LteFfrRrcSapUser * > m_ffrRrcSapUser
Receive API calls from the FFR algorithm instance.
Definition: lte-enb-rrc.h:1493
void DoRecvLoadInformation(EpcX2SapUser::LoadInformationParams params)
Receive load information function.
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:692
bool SendData(Ptr< Packet > p)
Enqueue an IP data packet on the proper bearer for downlink transmission.
EventId m_handoverJoiningTimeout
Time limit before a handover joining timeout occurs.
Definition: lte-enb-rrc.h:598
void CompleteSetupUe(LteEnbRrcSapProvider::CompleteSetupUeParameters params)
Implement the LteEnbRrcSapProvider::CompleteSetupUe interface.
Definition: lte-enb-rrc.cc:932
RadioResourceConfigDedicated structure.
Definition: lte-rrc-sap.h:285
virtual void DoInitialize()
Initialize() implementation.
Definition: lte-enb-rrc.cc:174
LteRrcSap::MeasConfig m_ueMeasConfig
List of measurement configuration which are active in every UE attached to this eNodeB instance...
Definition: lte-enb-rrc.h:1540
void DoRecvHandoverRequestAck(EpcX2SapUser::HandoverRequestAckParams params)
Receive handover request acknowledge function.
void DoRecvHandoverRequest(EpcX2SapUser::HandoverRequestParams params)
Receive handover request function.