A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lte-ue-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 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
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  * Author: Nicola Baldo <nbaldo@cttc.es>
19  * Budiarto Herman <budiarto.herman@magister.fi>
20  */
21 
22 #ifndef LTE_UE_RRC_H
23 #define LTE_UE_RRC_H
24 
25 #include <ns3/object.h>
26 #include <ns3/packet.h>
27 #include <ns3/lte-ue-cmac-sap.h>
28 #include <ns3/lte-pdcp-sap.h>
29 #include <ns3/lte-as-sap.h>
30 #include <ns3/lte-ue-cphy-sap.h>
31 #include <ns3/lte-rrc-sap.h>
32 #include <ns3/traced-callback.h>
33 
34 #include <map>
35 #include <set>
36 
37 namespace ns3 {
38 
39 
57 
58 
59 class LteRlc;
60 class LteMacSapProvider;
61 class LteUeCmacSapUser;
65 
70 class LteUeRrc : public Object
71 {
72 
79 
80 public:
81 
86  enum State
87  {
102  };
103 
104 
109  LteUeRrc ();
110 
111 
115  virtual ~LteUeRrc ();
116 
117 
118  // inherited from Object
119 private:
120  virtual void DoInitialize (void);
121  virtual void DoDispose (void);
122 public:
123  static TypeId GetTypeId (void);
124 
125 
132 
139 
146 
153 
154 
161 
168 
177 
183  void SetAsSapUser (LteAsSapUser* s);
184 
191 
196  void SetImsi (uint64_t imsi);
197 
202  uint64_t GetImsi (void) const;
203 
208  uint16_t GetRnti () const;
209 
214  uint16_t GetCellId () const;
215 
219  uint8_t GetUlBandwidth () const;
220 
224  uint8_t GetDlBandwidth () const;
225 
229  uint16_t GetDlEarfcn () const;
230 
234  uint16_t GetUlEarfcn () const;
235 
240  State GetState () const;
241 
247  void SetUseRlcSm (bool val);
248 
249 
256  typedef void (* CellSelectionTracedCallback)
257  (uint64_t imsi, uint16_t cellId);
258 
266  typedef void (* ImsiCidRntiTracedCallback)
267  (uint64_t imsi, uint16_t cellId, uint16_t rnti);
268 
278  typedef void (* MibSibHandoverTracedCallback)
279  (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint16_t otherCid);
280 
290  typedef void (* StateTracedCallback)
291  (uint64_t imsi, uint16_t cellId, uint16_t rnti,
292  State oldState, State newState);
293 
294 
295 private:
296 
297 
298  // PDCP SAP methods
300 
301  // CMAC SAP methods
302  void DoSetTemporaryCellRnti (uint16_t rnti);
305 
306  // LTE AS SAP methods
307  void DoSetCsgWhiteList (uint32_t csgId);
308  void DoForceCampedOnEnb (uint16_t cellId, uint16_t dlEarfcn);
309  void DoStartCellSelection (uint16_t dlEarfcn);
310  void DoConnect ();
311  void DoSendData (Ptr<Packet> packet, uint8_t bid);
312  void DoDisconnect ();
313 
314  // CPHY SAP methods
315  void DoRecvMasterInformationBlock (uint16_t cellId,
317  void DoRecvSystemInformationBlockType1 (uint16_t cellId,
320 
321  // RRC SAP methods
322 
339 
340 
341  // INTERNAL METHODS
342 
351 
369  void EvaluateCellForSelection ();
370 
425 
448  void SaveUeMeasurements (uint16_t cellId, double rsrp, double rsrq,
449  bool useLayer3Filtering);
450 
475  void MeasurementReportTriggering (uint8_t measId);
476 
508  void SendMeasurementReport (uint8_t measId);
509 
511  void StartConnection ();
512  void LeaveConnectedMode ();
513  void DisposeOldSrb1 ();
514  uint8_t Bid2Drbid (uint8_t bid);
519  void SwitchToState (State s);
520 
521  std::map<uint8_t, uint8_t> m_bid2DrbidMap;
522 
525 
528 
531 
534 
537 
540 
542  uint64_t m_imsi;
546  uint16_t m_rnti;
550  uint16_t m_cellId;
551 
569  std::map <uint8_t, Ptr<LteDataRadioBearerInfo> > m_drbMap;
570 
576 
578 
580 
581  uint8_t m_dlBandwidth;
582  uint8_t m_ulBandwidth;
584  uint16_t m_dlEarfcn;
585  uint16_t m_ulEarfcn;
660 
669 
672 
674  std::set<uint16_t> m_acceptableCell;
675 
677  uint32_t m_csgWhiteList;
678 
679 
680  // INTERNAL DATA STRUCTURE RELATED TO UE MEASUREMENTS
681 
690  {
691  std::map<uint8_t, LteRrcSap::MeasIdToAddMod> measIdList;
692  std::map<uint8_t, LteRrcSap::MeasObjectToAddMod> measObjectList;
693  std::map<uint8_t, LteRrcSap::ReportConfigToAddMod> reportConfigList;
695  double aRsrp;
696  double aRsrq;
697  };
698 
706 
715  {
716  uint8_t measId;
717  std::set<uint16_t> cellsTriggeredList; // note: only E-UTRA is supported.
720  };
721 
727  std::map<uint8_t, VarMeasReport> m_varMeasReportList;
728 
732  typedef std::list<uint16_t> ConcernedCells_t;
733 
752  void VarMeasReportListAdd (uint8_t measId, ConcernedCells_t enteringCells);
753 
772  void VarMeasReportListErase (uint8_t measId, ConcernedCells_t leavingCells,
773  bool reportOnLeave);
774 
785  void VarMeasReportListClear (uint8_t measId);
786 
790  struct MeasValues
791  {
792  double rsrp;
793  double rsrq;
795  };
796 
810  std::map<uint16_t, MeasValues> m_storedMeasValues;
811 
818  {
819  uint8_t measId;
822  };
823 
833  std::map<uint8_t, std::list<PendingTrigger_t> > m_enteringTriggerQueue;
834 
845  std::map<uint8_t, std::list<PendingTrigger_t> > m_leavingTriggerQueue;
846 
864  void CancelEnteringTrigger (uint8_t measId);
865 
885  void CancelEnteringTrigger (uint8_t measId, uint16_t cellId);
886 
904  void CancelLeavingTrigger (uint8_t measId);
905 
925  void CancelLeavingTrigger (uint8_t measId, uint16_t cellId);
926 
933 
939 
944  void ConnectionTimeout ();
945 
946 }; // end of class LteUeRrc
947 
948 
949 } // namespace ns3
950 
951 #endif // LTE_UE_RRC_H
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:102
Part of the RRC protocol.
Definition: lte-rrc-sap.h:739
void DoRecvRrcConnectionSetup(LteRrcSap::RrcConnectionSetup msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionSetup interface...
Definition: lte-ue-rrc.cc:850
void DoRecvMasterInformationBlock(uint16_t cellId, LteRrcSap::MasterInformationBlock msg)
Definition: lte-ue-rrc.cc:691
std::map< uint8_t, LteRrcSap::MeasObjectToAddMod > measObjectList
Definition: lte-ue-rrc.h:692
void CancelEnteringTrigger(uint8_t measId)
Clear all the waiting triggers in m_enteringTriggerQueue which are associated with the given measurem...
Definition: lte-ue-rrc.cc:2323
void DoRecvSystemInformationBlockType1(uint16_t cellId, LteRrcSap::SystemInformationBlockType1 msg)
Definition: lte-ue-rrc.cc:718
static TypeId GetTypeId(void)
Definition: lte-ue-rrc.cc:168
std::set< uint16_t > cellsTriggeredList
Definition: lte-ue-rrc.h:717
void(* StateTracedCallback)(uint64_t imsi, uint16_t cellId, uint16_t rnti, State oldState, State newState)
TracedCallback signature for state transition events.
Definition: lte-ue-rrc.h:291
LtePdcpSapUser * m_drbPdcpSapUser
Definition: lte-ue-rrc.h:533
void DoRecvSystemInformation(LteRrcSap::SystemInformation msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvSystemInformation interface...
Definition: lte-ue-rrc.cc:806
Template for the implementation of the LteUeCphySapUser as a member of an owner class of type C to wh...
void SetAsSapUser(LteAsSapUser *s)
Set the AS SAP user to interact with the NAS entity.
Definition: lte-ue-rrc.cc:313
void MeasurementReportTriggering(uint8_t measId)
Evaluate the reporting criteria of a measurement identity and invoke some reporting actions based on ...
Definition: lte-ue-rrc.cc:1578
void DoRecvRrcConnectionReject(LteRrcSap::RrcConnectionReject msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionReject interface...
Definition: lte-ue-rrc.cc:999
bool m_hasReceivedSib2
True if SIB2 was received for the current cell.
Definition: lte-ue-rrc.h:668
std::map< uint8_t, Ptr< LteDataRadioBearerInfo > > m_drbMap
The DataRadioBearerMap attribute.
Definition: lte-ue-rrc.h:569
void ApplyMeasConfig(LteRrcSap::MeasConfig mc)
Update the current measurement configuration m_varMeasConfig.
Definition: lte-ue-rrc.cc:1307
virtual void DoDispose(void)
Destructor implementation.
Definition: lte-ue-rrc.cc:156
void SetUseRlcSm(bool val)
Definition: lte-ue-rrc.cc:387
uint8_t measId
The measurement identity which raised the trigger.
Definition: lte-ue-rrc.h:819
Includes the accumulated configuration of the measurements to be performed by the UE...
Definition: lte-ue-rrc.h:689
LteRrcSap::PdschConfigDedicated m_pdschConfigDedicated
Definition: lte-ue-rrc.h:579
void DoSetTemporaryCellRnti(uint16_t rnti)
Definition: lte-ue-rrc.cc:496
Represents a single triggered event from a measurement identity which reporting criteria have been fu...
Definition: lte-ue-rrc.h:817
EventId m_connectionTimeout
Invokes ConnectionEstablishmentTimeout() if RRC connection establishment procedure for this UE takes ...
Definition: lte-ue-rrc.h:938
LteUeRrc()
create an RRC instance for use within an ue
Definition: lte-ue-rrc.cc:124
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
virtual ~LteUeRrc()
Destructor.
Definition: lte-ue-rrc.cc:150
uint16_t m_cellId
The CellId attribute.
Definition: lte-ue-rrc.h:550
EventId timer
The pending reporting event, scheduled at the end of the time-to-trigger.
Definition: lte-ue-rrc.h:821
void CancelLeavingTrigger(uint8_t measId)
Clear all the waiting triggers in m_leavingTriggerQueue which are associated with the given measureme...
Definition: lte-ue-rrc.cc:2385
uint16_t GetUlEarfcn() const
Definition: lte-ue-rrc.cc:373
This class implements the Access Stratum (AS) Service Access Point (SAP), i.e., the interface between...
Definition: lte-as-sap.h:41
bool m_hasReceivedMib
True if MIB was received for the current cell.
Definition: lte-ue-rrc.h:664
void DoRecvRrcConnectionReestablishmentReject(LteRrcSap::RrcConnectionReestablishmentReject msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionReestablishmentReject i...
Definition: lte-ue-rrc.cc:970
bool m_connectionPending
True if a connection request by upper layers is pending.
Definition: lte-ue-rrc.h:662
bool m_hasReceivedSib1
True if SIB1 was received for the current cell.
Definition: lte-ue-rrc.h:666
LteMacSapProvider * m_macSapProvider
Definition: lte-ue-rrc.h:532
uint8_t Bid2Drbid(uint8_t bid)
Definition: lte-ue-rrc.cc:2798
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
Definition: lte-pdcp-sap.h:76
Time timestamp
Not used.
Definition: lte-ue-rrc.h:794
LteUeCmacSapUser * GetLteUeCmacSapUser()
Definition: lte-ue-rrc.cc:285
static const Time UE_MEASUREMENT_REPORT_DELAY
Artificial delay of UE measurements procedure.
Definition: lte-ue-rrc.h:56
LteRrcSap::QuantityConfig quantityConfig
Definition: lte-ue-rrc.h:694
store information on active data radio bearer instance
void SetLteUeRrcSapUser(LteUeRrcSapUser *s)
set the RRC SAP this RRC should interact with
Definition: lte-ue-rrc.cc:292
LteUeRrcSapUser * m_rrcSapUser
Definition: lte-ue-rrc.h:529
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndOkTrace
The HandoverEndOk trace source.
Definition: lte-ue-rrc.h:654
State m_state
The current UE RRC state.
Definition: lte-ue-rrc.h:539
uint16_t m_dlEarfcn
Downlink carrier frequency.
Definition: lte-ue-rrc.h:584
Ptr< LteSignalingRadioBearerInfo > m_srb0
The Srb0 attribute.
Definition: lte-ue-rrc.h:555
ConcernedCells_t concernedCells
The list of cells responsible for this trigger.
Definition: lte-ue-rrc.h:820
Represents a measurement result from a certain cell.
Definition: lte-ue-rrc.h:790
void DisposeOldSrb1()
Definition: lte-ue-rrc.cc:2791
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_handoverStartTrace
The HandoverStart trace source.
Definition: lte-ue-rrc.h:649
void DoRecvRrcConnectionReconfiguration(LteRrcSap::RrcConnectionReconfiguration msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionReconfiguration interfa...
Definition: lte-ue-rrc.cc:875
void(* ImsiCidRntiTracedCallback)(uint64_t imsi, uint16_t cellId, uint16_t rnti)
TracedCallback signature for imsi, cellId and rnti events.
Definition: lte-ue-rrc.h:267
void DoRecvRrcConnectionReestablishment(LteRrcSap::RrcConnectionReestablishment msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionReestablishment interfa...
Definition: lte-ue-rrc.cc:946
uint8_t m_dlBandwidth
Downlink bandwidth in RBs.
Definition: lte-ue-rrc.h:581
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
TracedCallback< uint64_t, uint16_t, uint16_t > m_randomAccessErrorTrace
The RandomAccessError trace source.
Definition: lte-ue-rrc.h:629
void(* CellSelectionTracedCallback)(uint64_t imsi, uint16_t cellId)
TracedCallback signature for imsi, cellId and rnti events.
Definition: lte-ue-rrc.h:257
TracedCallback< uint64_t, uint16_t, uint16_t > m_sib2ReceivedTrace
The Sib2Received trace source.
Definition: lte-ue-rrc.h:602
void ConnectionTimeout()
Invoked after timer T300 expires, notifying upper layers that RRC connection establishment procedure ...
Definition: lte-ue-rrc.cc:2780
void EvaluateCellForSelection()
Performs cell selection evaluation to the current serving cell.
Definition: lte-ue-rrc.cc:1056
virtual void DoInitialize(void)
Initialize() implementation.
Definition: lte-ue-rrc.cc:395
std::map< uint16_t, MeasValues > m_storedMeasValues
Internal storage of the latest measurement results from all detected detected cells, indexed by the cell ID where the measurement was taken from.
Definition: lte-ue-rrc.h:810
Ptr< LteSignalingRadioBearerInfo > m_srb1
The Srb1 attribute.
Definition: lte-ue-rrc.h:559
LteUeCphySapProvider * m_cphySapProvider
Definition: lte-ue-rrc.h:524
uint8_t GetUlBandwidth() const
Definition: lte-ue-rrc.cc:353
void SetLteUeCmacSapProvider(LteUeCmacSapProvider *s)
set the CMAC SAP this RRC should interact with
Definition: lte-ue-rrc.cc:278
bool m_useRlcSm
True if RLC SM is to be used, false if RLC UM/AM are to be used.
Definition: lte-ue-rrc.h:575
Template for the implementation of the LteAsSapProvider as a member of an owner class of type C to wh...
Definition: lte-as-sap.h:147
uint32_t m_csgWhiteList
List of CSG ID which this UE entity has access to.
Definition: lte-ue-rrc.h:677
Service Access Point (SAP) offered by the UE MAC to the UE RRC.
std::map< uint8_t, LteRrcSap::MeasIdToAddMod > measIdList
Definition: lte-ue-rrc.h:691
void(* MibSibHandoverTracedCallback)(uint64_t imsi, uint16_t cellId, uint16_t rnti, uint16_t otherCid)
TracedCallback signature for MIBRecieved, Sib1Received and HandoverStart events.
Definition: lte-ue-rrc.h:279
std::map< uint8_t, uint8_t > m_bid2DrbidMap
Definition: lte-ue-rrc.h:521
void SetLteMacSapProvider(LteMacSapProvider *s)
set the MAC SAP provider.
Definition: lte-ue-rrc.cc:306
TracedCallback< uint64_t, uint16_t > m_initialCellSelectionEndOkTrace
The InitialCellSelectionEndOk trace source.
Definition: lte-ue-rrc.h:613
void SetLteUeCphySapProvider(LteUeCphySapProvider *s)
set the CPHY SAP this RRC should use to interact with the PHY
Definition: lte-ue-rrc.cc:264
void SwitchToState(State s)
Switch the UE RRC to the given state.
Definition: lte-ue-rrc.cc:2813
TracedCallback< uint64_t, uint16_t > m_initialCellSelectionEndErrorTrace
The InitialCellSelectionEndError trace source.
Definition: lte-ue-rrc.h:618
VarMeasConfig m_varMeasConfig
Includes the accumulated configuration of the measurements to be performed by the UE...
Definition: lte-ue-rrc.h:705
std::map< uint8_t, std::list< PendingTrigger_t > > m_leavingTriggerQueue
List of triggers that were raised because leaving condition have been true, but are still delayed fro...
Definition: lte-ue-rrc.h:845
std::map< uint8_t, LteRrcSap::ReportConfigToAddMod > reportConfigList
Definition: lte-ue-rrc.h:693
LteUeCphySapUser * m_cphySapUser
Definition: lte-ue-rrc.h:523
LteAsSapUser * m_asSapUser
Definition: lte-ue-rrc.h:536
Template for the implementation of the LteUeRrcSapProvider as a member of an owner class of type C to...
Definition: lte-rrc-sap.h:1076
void DoNotifyRandomAccessSuccessful()
Definition: lte-ue-rrc.cc:505
uint8_t GetDlBandwidth() const
Definition: lte-ue-rrc.cc:360
uint16_t GetDlEarfcn() const
Definition: lte-ue-rrc.cc:367
store information on active signaling radio bearer instance
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_sib1ReceivedTrace
The Sib1Received trace source.
Definition: lte-ue-rrc.h:597
double rsrq
Measured RSRQ in dB.
Definition: lte-ue-rrc.h:793
void DoSendData(Ptr< Packet > packet, uint8_t bid)
Definition: lte-ue-rrc.cc:428
Service Access Point (SAP) offered by the UE MAC to the UE RRC.
This class implements the Access Stratum (AS) Service Access Point (SAP), i.e., the interface between...
Definition: lte-as-sap.h:105
uint16_t m_ulEarfcn
Uplink carrier frequency.
Definition: lte-ue-rrc.h:585
void DoRecvRrcConnectionRelease(LteRrcSap::RrcConnectionRelease msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionRelease interface...
Definition: lte-ue-rrc.cc:992
double rsrp
Measured RSRP in dBm.
Definition: lte-ue-rrc.h:792
void VarMeasReportListErase(uint8_t measId, ConcernedCells_t leavingCells, bool reportOnLeave)
Remove some cells from an existing reporting entry in m_varMeasReportList.
Definition: lte-ue-rrc.cc:2514
uint8_t m_ulBandwidth
Uplink bandwidth in RBs.
Definition: lte-ue-rrc.h:582
LteUeCphySapUser * GetLteUeCphySapUser()
Definition: lte-ue-rrc.cc:271
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReconfigurationTrace
The ConnectionReconfiguration trace source.
Definition: lte-ue-rrc.h:644
Ptr< LteSignalingRadioBearerInfo > m_srb1Old
SRB1 configuration before RRC connection reconfiguration.
Definition: lte-ue-rrc.h:564
State
The states of the UE RRC entity.
Definition: lte-ue-rrc.h:86
uint64_t GetImsi(void) const
Definition: lte-ue-rrc.cc:332
void StartConnection()
Definition: lte-ue-rrc.cc:2752
uint16_t GetRnti() const
Definition: lte-ue-rrc.cc:338
void SaveUeMeasurements(uint16_t cellId, double rsrp, double rsrq, bool useLayer3Filtering)
Keep the given measurement result as the latest measurement figures, to be utilised by UE RRC functio...
Definition: lte-ue-rrc.cc:1524
friend class UeRrcMemberLteEnbCmacSapUser
Definition: lte-ue-rrc.h:74
void DoSetCsgWhiteList(uint32_t csgId)
Definition: lte-ue-rrc.cc:586
void DoNotifyRandomAccessFailed()
Definition: lte-ue-rrc.cc:553
An identifier for simulation events.
Definition: event-id.h:53
void DoCompleteSetup(LteUeRrcSapProvider::CompleteSetupParameters params)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::CompleteSetup interface.
Definition: lte-ue-rrc.cc:794
LteUeRrcSapProvider * m_rrcSapProvider
Definition: lte-ue-rrc.h:530
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:68
void DoConnect()
Definition: lte-ue-rrc.cc:649
void ApplyRadioResourceConfigDedicated(LteRrcSap::RadioResourceConfigDedicated rrcd)
Definition: lte-ue-rrc.cc:1123
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionEstablishedTrace
The ConnectionEstablished trace source.
Definition: lte-ue-rrc.h:634
uint16_t GetCellId() const
Definition: lte-ue-rrc.cc:345
std::map< uint8_t, VarMeasReport > m_varMeasReportList
The list of active reporting entries, indexed by the measurement identity which triggered the reporti...
Definition: lte-ue-rrc.h:727
LteAsSapProvider * m_asSapProvider
Definition: lte-ue-rrc.h:535
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_mibReceivedTrace
The MibReceived trace source.
Definition: lte-ue-rrc.h:591
LteUeCmacSapProvider * m_cmacSapProvider
Definition: lte-ue-rrc.h:527
uint16_t m_rnti
The C-RNTI attribute.
Definition: lte-ue-rrc.h:546
uint64_t m_imsi
The unique UE identifier.
Definition: lte-ue-rrc.h:542
std::set< uint16_t > m_acceptableCell
List of cell ID of acceptable cells for cell selection that have been detected.
Definition: lte-ue-rrc.h:674
LteAsSapProvider * GetAsSapProvider()
Definition: lte-ue-rrc.cc:319
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition: lte-mac-sap.h:36
void DoReportUeMeasurements(LteUeCphySapUser::UeMeasurementsParameters params)
Definition: lte-ue-rrc.cc:757
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionTimeoutTrace
The ConnectionTimeout trace source.
Definition: lte-ue-rrc.h:639
void DoStartCellSelection(uint16_t dlEarfcn)
Definition: lte-ue-rrc.cc:593
Represents a single measurement reporting entry., which includes information about a measurement for ...
Definition: lte-ue-rrc.h:714
Time MicroSeconds(uint64_t value)
Construct a Time in the indicated unit.
Definition: nstime.h:911
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > m_stateTransitionTrace
The StateTransition trace source.
Definition: lte-ue-rrc.h:608
void SendMeasurementReport(uint8_t measId)
Produce a proper measurement report from the given measurement identity's reporting entry in m_varMea...
Definition: lte-ue-rrc.cc:2594
A base class which provides memory management and object aggregation.
Definition: object.h:87
void SynchronizeToStrongestCell()
Go through the list of measurement results, choose the one with the strongest RSRP, and tell PHY to synchronize to it.
Definition: lte-ue-rrc.cc:1013
void DoReceivePdcpSdu(LtePdcpSapUser::ReceivePdcpSduParameters params)
Definition: lte-ue-rrc.cc:488
Part of the RRC protocol.
Definition: lte-rrc-sap.h:671
State GetState() const
Definition: lte-ue-rrc.cc:380
LteUeRrcSapProvider * GetLteUeRrcSapProvider()
Definition: lte-ue-rrc.cc:299
std::list< uint16_t > ConcernedCells_t
List of cell IDs which are responsible for a certain trigger.
Definition: lte-ue-rrc.h:732
Time m_t300
The T300 attribute.
Definition: lte-ue-rrc.h:932
void VarMeasReportListAdd(uint8_t measId, ConcernedCells_t enteringCells)
Compose a new reporting entry of the given measurement identity, insert it into m_varMeasReportList, and set it up for submission to eNodeB.
Definition: lte-ue-rrc.cc:2447
void DoDisconnect()
Definition: lte-ue-rrc.cc:454
TracedCallback< uint64_t, uint16_t, uint16_t > m_randomAccessSuccessfulTrace
The RandomAccessSuccessful trace source.
Definition: lte-ue-rrc.h:624
std::map< uint8_t, std::list< PendingTrigger_t > > m_enteringTriggerQueue
List of triggers that were raised because entering condition have been true, but are still delayed fr...
Definition: lte-ue-rrc.h:833
This abstract base class defines the API to interact with the Radio Link Control (LTE_RLC) in LTE...
Definition: lte-rlc.h:50
a unique identifier for an interface.
Definition: type-id.h:58
void SetImsi(uint64_t imsi)
Definition: lte-ue-rrc.cc:325
uint8_t m_lastRrcTransactionIdentifier
Definition: lte-ue-rrc.h:577
void VarMeasReportListClear(uint8_t measId)
Remove the reporting entry of the given measurement identity from m_varMeasReportList.
Definition: lte-ue-rrc.cc:2575
void LeaveConnectedMode()
Definition: lte-ue-rrc.cc:2763
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndErrorTrace
The HandoverEndError trace source.
Definition: lte-ue-rrc.h:659
LteRrcSap::SystemInformationBlockType1 m_lastSib1
Stored content of the last SIB1 received.
Definition: lte-ue-rrc.h:671
LteUeCmacSapUser * m_cmacSapUser
Definition: lte-ue-rrc.h:526
void DoForceCampedOnEnb(uint16_t cellId, uint16_t dlEarfcn)
Definition: lte-ue-rrc.cc:604