A Discrete-Event Network Simulator
API
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  (const uint64_t imsi, const uint16_t cellId);
258 
266  typedef void (* ImsiCidRntiTracedCallback)
267  (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti);
268 
278  typedef void (* MibSibHandoverTracedCallback)
279  (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti,
280  const uint16_t otherCid);
281 
291  typedef void (* StateTracedCallback)
292  (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti,
293  const State oldState, const State newState);
294 
295 
296 private:
297 
298 
299  // PDCP SAP methods
301 
302  // CMAC SAP methods
303  void DoSetTemporaryCellRnti (uint16_t rnti);
306 
307  // LTE AS SAP methods
308  void DoSetCsgWhiteList (uint32_t csgId);
309  void DoForceCampedOnEnb (uint16_t cellId, uint16_t dlEarfcn);
310  void DoStartCellSelection (uint16_t dlEarfcn);
311  void DoConnect ();
312  void DoSendData (Ptr<Packet> packet, uint8_t bid);
313  void DoDisconnect ();
314 
315  // CPHY SAP methods
316  void DoRecvMasterInformationBlock (uint16_t cellId,
318  void DoRecvSystemInformationBlockType1 (uint16_t cellId,
321 
322  // RRC SAP methods
323 
340 
341 
342  // INTERNAL METHODS
343 
352 
370  void EvaluateCellForSelection ();
371 
426 
449  void SaveUeMeasurements (uint16_t cellId, double rsrp, double rsrq,
450  bool useLayer3Filtering);
451 
476  void MeasurementReportTriggering (uint8_t measId);
477 
509  void SendMeasurementReport (uint8_t measId);
510 
512  void StartConnection ();
513  void LeaveConnectedMode ();
514  void DisposeOldSrb1 ();
515  uint8_t Bid2Drbid (uint8_t bid);
520  void SwitchToState (State s);
521 
522  std::map<uint8_t, uint8_t> m_bid2DrbidMap;
523 
526 
529 
532 
535 
538 
541 
543  uint64_t m_imsi;
547  uint16_t m_rnti;
551  uint16_t m_cellId;
552 
570  std::map <uint8_t, Ptr<LteDataRadioBearerInfo> > m_drbMap;
571 
577 
579 
581 
582  uint8_t m_dlBandwidth;
583  uint8_t m_ulBandwidth;
585  uint16_t m_dlEarfcn;
586  uint16_t m_ulEarfcn;
661 
670 
673 
675  std::set<uint16_t> m_acceptableCell;
676 
678  uint32_t m_csgWhiteList;
679 
680 
681  // INTERNAL DATA STRUCTURE RELATED TO UE MEASUREMENTS
682 
691  {
692  std::map<uint8_t, LteRrcSap::MeasIdToAddMod> measIdList;
693  std::map<uint8_t, LteRrcSap::MeasObjectToAddMod> measObjectList;
694  std::map<uint8_t, LteRrcSap::ReportConfigToAddMod> reportConfigList;
696  double aRsrp;
697  double aRsrq;
698  };
699 
707 
716  {
717  uint8_t measId;
718  std::set<uint16_t> cellsTriggeredList; // note: only E-UTRA is supported.
721  };
722 
728  std::map<uint8_t, VarMeasReport> m_varMeasReportList;
729 
733  typedef std::list<uint16_t> ConcernedCells_t;
734 
753  void VarMeasReportListAdd (uint8_t measId, ConcernedCells_t enteringCells);
754 
773  void VarMeasReportListErase (uint8_t measId, ConcernedCells_t leavingCells,
774  bool reportOnLeave);
775 
786  void VarMeasReportListClear (uint8_t measId);
787 
791  struct MeasValues
792  {
793  double rsrp;
794  double rsrq;
796  };
797 
811  std::map<uint16_t, MeasValues> m_storedMeasValues;
812 
819  {
820  uint8_t measId;
821  ConcernedCells_t concernedCells;
823  };
824 
834  std::map<uint8_t, std::list<PendingTrigger_t> > m_enteringTriggerQueue;
835 
846  std::map<uint8_t, std::list<PendingTrigger_t> > m_leavingTriggerQueue;
847 
865  void CancelEnteringTrigger (uint8_t measId);
866 
886  void CancelEnteringTrigger (uint8_t measId, uint16_t cellId);
887 
905  void CancelLeavingTrigger (uint8_t measId);
906 
926  void CancelLeavingTrigger (uint8_t measId, uint16_t cellId);
927 
934 
940 
945  void ConnectionTimeout ();
946 
947 }; // end of class LteUeRrc
948 
949 
950 } // namespace ns3
951 
952 #endif // LTE_UE_RRC_H
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:95
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:849
void DoRecvMasterInformationBlock(uint16_t cellId, LteRrcSap::MasterInformationBlock msg)
Definition: lte-ue-rrc.cc:690
std::map< uint8_t, LteRrcSap::MeasObjectToAddMod > measObjectList
Definition: lte-ue-rrc.h:693
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:2322
void DoRecvSystemInformationBlockType1(uint16_t cellId, LteRrcSap::SystemInformationBlockType1 msg)
Definition: lte-ue-rrc.cc:717
static TypeId GetTypeId(void)
Definition: lte-ue-rrc.cc:168
std::set< uint16_t > cellsTriggeredList
Definition: lte-ue-rrc.h:718
LtePdcpSapUser * m_drbPdcpSapUser
Definition: lte-ue-rrc.h:534
void DoRecvSystemInformation(LteRrcSap::SystemInformation msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvSystemInformation interface...
Definition: lte-ue-rrc.cc:805
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:312
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:1577
void DoRecvRrcConnectionReject(LteRrcSap::RrcConnectionReject msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionReject interface...
Definition: lte-ue-rrc.cc:998
bool m_hasReceivedSib2
True if SIB2 was received for the current cell.
Definition: lte-ue-rrc.h:669
std::map< uint8_t, Ptr< LteDataRadioBearerInfo > > m_drbMap
The DataRadioBearerMap attribute.
Definition: lte-ue-rrc.h:570
void ApplyMeasConfig(LteRrcSap::MeasConfig mc)
Update the current measurement configuration m_varMeasConfig.
Definition: lte-ue-rrc.cc:1306
virtual void DoDispose(void)
Destructor implementation.
Definition: lte-ue-rrc.cc:156
void SetUseRlcSm(bool val)
Definition: lte-ue-rrc.cc:386
uint8_t measId
The measurement identity which raised the trigger.
Definition: lte-ue-rrc.h:820
Includes the accumulated configuration of the measurements to be performed by the UE...
Definition: lte-ue-rrc.h:690
LteRrcSap::PdschConfigDedicated m_pdschConfigDedicated
Definition: lte-ue-rrc.h:580
void DoSetTemporaryCellRnti(uint16_t rnti)
Definition: lte-ue-rrc.cc:495
Represents a single triggered event from a measurement identity which reporting criteria have been fu...
Definition: lte-ue-rrc.h:818
EventId m_connectionTimeout
Invokes ConnectionEstablishmentTimeout() if RRC connection establishment procedure for this UE takes ...
Definition: lte-ue-rrc.h:939
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:551
EventId timer
The pending reporting event, scheduled at the end of the time-to-trigger.
Definition: lte-ue-rrc.h:822
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:2384
uint16_t GetUlEarfcn() const
Definition: lte-ue-rrc.cc:372
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:665
void DoRecvRrcConnectionReestablishmentReject(LteRrcSap::RrcConnectionReestablishmentReject msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionReestablishmentReject i...
Definition: lte-ue-rrc.cc:969
bool m_connectionPending
True if a connection request by upper layers is pending.
Definition: lte-ue-rrc.h:663
bool m_hasReceivedSib1
True if SIB1 was received for the current cell.
Definition: lte-ue-rrc.h:667
LteMacSapProvider * m_macSapProvider
Definition: lte-ue-rrc.h:533
uint8_t Bid2Drbid(uint8_t bid)
Definition: lte-ue-rrc.cc:2797
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
Definition: lte-pdcp-sap.h:76
Time timestamp
Not used.
Definition: lte-ue-rrc.h:795
LteUeCmacSapUser * GetLteUeCmacSapUser()
Definition: lte-ue-rrc.cc:284
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:695
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:291
LteUeRrcSapUser * m_rrcSapUser
Definition: lte-ue-rrc.h:530
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndOkTrace
The HandoverEndOk trace source.
Definition: lte-ue-rrc.h:655
State m_state
The current UE RRC state.
Definition: lte-ue-rrc.h:540
uint16_t m_dlEarfcn
Downlink carrier frequency.
Definition: lte-ue-rrc.h:585
Ptr< LteSignalingRadioBearerInfo > m_srb0
The Srb0 attribute.
Definition: lte-ue-rrc.h:556
ConcernedCells_t concernedCells
The list of cells responsible for this trigger.
Definition: lte-ue-rrc.h:821
Represents a measurement result from a certain cell.
Definition: lte-ue-rrc.h:791
void DisposeOldSrb1()
Definition: lte-ue-rrc.cc:2790
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_handoverStartTrace
The HandoverStart trace source.
Definition: lte-ue-rrc.h:650
void DoRecvRrcConnectionReconfiguration(LteRrcSap::RrcConnectionReconfiguration msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionReconfiguration interfa...
Definition: lte-ue-rrc.cc:874
void DoRecvRrcConnectionReestablishment(LteRrcSap::RrcConnectionReestablishment msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionReestablishment interfa...
Definition: lte-ue-rrc.cc:945
uint8_t m_dlBandwidth
Downlink bandwidth in RBs.
Definition: lte-ue-rrc.h:582
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:630
void(* ImsiCidRntiTracedCallback)(const uint64_t imsi, const uint16_t cellId, const uint16_t rnti)
TracedCallback signature for imsi, cellId and rnti events.
Definition: lte-ue-rrc.h:267
TracedCallback< uint64_t, uint16_t, uint16_t > m_sib2ReceivedTrace
The Sib2Received trace source.
Definition: lte-ue-rrc.h:603
Ptr< SampleEmitter > s
void ConnectionTimeout()
Invoked after timer T300 expires, notifying upper layers that RRC connection establishment procedure ...
Definition: lte-ue-rrc.cc:2779
void EvaluateCellForSelection()
Performs cell selection evaluation to the current serving cell.
Definition: lte-ue-rrc.cc:1055
virtual void DoInitialize(void)
Initialize() implementation.
Definition: lte-ue-rrc.cc:394
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:811
Ptr< LteSignalingRadioBearerInfo > m_srb1
The Srb1 attribute.
Definition: lte-ue-rrc.h:560
LteUeCphySapProvider * m_cphySapProvider
Definition: lte-ue-rrc.h:525
uint8_t GetUlBandwidth() const
Definition: lte-ue-rrc.cc:352
void SetLteUeCmacSapProvider(LteUeCmacSapProvider *s)
set the CMAC SAP this RRC should interact with
Definition: lte-ue-rrc.cc:277
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:576
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:678
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:692
std::map< uint8_t, uint8_t > m_bid2DrbidMap
Definition: lte-ue-rrc.h:522
void SetLteMacSapProvider(LteMacSapProvider *s)
set the MAC SAP provider.
Definition: lte-ue-rrc.cc:305
TracedCallback< uint64_t, uint16_t > m_initialCellSelectionEndOkTrace
The InitialCellSelectionEndOk trace source.
Definition: lte-ue-rrc.h:614
void SetLteUeCphySapProvider(LteUeCphySapProvider *s)
set the CPHY SAP this RRC should use to interact with the PHY
Definition: lte-ue-rrc.cc:263
void SwitchToState(State s)
Switch the UE RRC to the given state.
Definition: lte-ue-rrc.cc:2812
void(* MibSibHandoverTracedCallback)(const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const uint16_t otherCid)
TracedCallback signature for MIBRecieved, Sib1Received and HandoverStart events.
Definition: lte-ue-rrc.h:279
TracedCallback< uint64_t, uint16_t > m_initialCellSelectionEndErrorTrace
The InitialCellSelectionEndError trace source.
Definition: lte-ue-rrc.h:619
VarMeasConfig m_varMeasConfig
Includes the accumulated configuration of the measurements to be performed by the UE...
Definition: lte-ue-rrc.h:706
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:846
std::map< uint8_t, LteRrcSap::ReportConfigToAddMod > reportConfigList
Definition: lte-ue-rrc.h:694
LteUeCphySapUser * m_cphySapUser
Definition: lte-ue-rrc.h:524
Every class exported by the ns3 library is enclosed in the ns3 namespace.
LteAsSapUser * m_asSapUser
Definition: lte-ue-rrc.h:537
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:504
uint8_t GetDlBandwidth() const
Definition: lte-ue-rrc.cc:359
uint16_t GetDlEarfcn() const
Definition: lte-ue-rrc.cc:366
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:598
double rsrq
Measured RSRQ in dB.
Definition: lte-ue-rrc.h:794
void DoSendData(Ptr< Packet > packet, uint8_t bid)
Definition: lte-ue-rrc.cc:427
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:586
void DoRecvRrcConnectionRelease(LteRrcSap::RrcConnectionRelease msg)
Part of the RRC protocol. Implement the LteUeRrcSapProvider::RecvRrcConnectionRelease interface...
Definition: lte-ue-rrc.cc:991
double rsrp
Measured RSRP in dBm.
Definition: lte-ue-rrc.h:793
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:2513
uint8_t m_ulBandwidth
Uplink bandwidth in RBs.
Definition: lte-ue-rrc.h:583
LteUeCphySapUser * GetLteUeCphySapUser()
Definition: lte-ue-rrc.cc:270
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReconfigurationTrace
The ConnectionReconfiguration trace source.
Definition: lte-ue-rrc.h:645
Ptr< LteSignalingRadioBearerInfo > m_srb1Old
SRB1 configuration before RRC connection reconfiguration.
Definition: lte-ue-rrc.h:565
State
The states of the UE RRC entity.
Definition: lte-ue-rrc.h:86
uint64_t GetImsi(void) const
Definition: lte-ue-rrc.cc:331
void StartConnection()
Definition: lte-ue-rrc.cc:2751
uint16_t GetRnti() const
Definition: lte-ue-rrc.cc:337
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:1523
friend class UeRrcMemberLteEnbCmacSapUser
Definition: lte-ue-rrc.h:74
void DoSetCsgWhiteList(uint32_t csgId)
Definition: lte-ue-rrc.cc:585
void DoNotifyRandomAccessFailed()
Definition: lte-ue-rrc.cc:552
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:793
LteUeRrcSapProvider * m_rrcSapProvider
Definition: lte-ue-rrc.h:531
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:648
void ApplyRadioResourceConfigDedicated(LteRrcSap::RadioResourceConfigDedicated rrcd)
Definition: lte-ue-rrc.cc:1122
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionEstablishedTrace
The ConnectionEstablished trace source.
Definition: lte-ue-rrc.h:635
uint16_t GetCellId() const
Definition: lte-ue-rrc.cc:344
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:728
LteAsSapProvider * m_asSapProvider
Definition: lte-ue-rrc.h:536
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_mibReceivedTrace
The MibReceived trace source.
Definition: lte-ue-rrc.h:592
LteUeCmacSapProvider * m_cmacSapProvider
Definition: lte-ue-rrc.h:528
uint16_t m_rnti
The C-RNTI attribute.
Definition: lte-ue-rrc.h:547
uint64_t m_imsi
The unique UE identifier.
Definition: lte-ue-rrc.h:543
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:675
LteAsSapProvider * GetAsSapProvider()
Definition: lte-ue-rrc.cc:318
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:756
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-ue-rrc.h:292
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionTimeoutTrace
The ConnectionTimeout trace source.
Definition: lte-ue-rrc.h:640
void DoStartCellSelection(uint16_t dlEarfcn)
Definition: lte-ue-rrc.cc:592
Represents a single measurement reporting entry., which includes information about a measurement for ...
Definition: lte-ue-rrc.h:715
Time MicroSeconds(uint64_t value)
Construct a Time in the indicated unit.
Definition: nstime.h:875
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > m_stateTransitionTrace
The StateTransition trace source.
Definition: lte-ue-rrc.h:609
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:2593
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:1012
void DoReceivePdcpSdu(LtePdcpSapUser::ReceivePdcpSduParameters params)
Definition: lte-ue-rrc.cc:487
Part of the RRC protocol.
Definition: lte-rrc-sap.h:671
State GetState() const
Definition: lte-ue-rrc.cc:379
void(* CellSelectionTracedCallback)(const uint64_t imsi, const uint16_t cellId)
TracedCallback signature for imsi, cellId and rnti events.
Definition: lte-ue-rrc.h:257
LteUeRrcSapProvider * GetLteUeRrcSapProvider()
Definition: lte-ue-rrc.cc:298
std::list< uint16_t > ConcernedCells_t
List of cell IDs which are responsible for a certain trigger.
Definition: lte-ue-rrc.h:733
Time m_t300
The T300 attribute.
Definition: lte-ue-rrc.h:933
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:2446
void DoDisconnect()
Definition: lte-ue-rrc.cc:453
TracedCallback< uint64_t, uint16_t, uint16_t > m_randomAccessSuccessfulTrace
The RandomAccessSuccessful trace source.
Definition: lte-ue-rrc.h:625
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:834
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:51
void SetImsi(uint64_t imsi)
Definition: lte-ue-rrc.cc:324
uint8_t m_lastRrcTransactionIdentifier
Definition: lte-ue-rrc.h:578
void VarMeasReportListClear(uint8_t measId)
Remove the reporting entry of the given measurement identity from m_varMeasReportList.
Definition: lte-ue-rrc.cc:2574
void LeaveConnectedMode()
Definition: lte-ue-rrc.cc:2762
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndErrorTrace
The HandoverEndError trace source.
Definition: lte-ue-rrc.h:660
LteRrcSap::SystemInformationBlockType1 m_lastSib1
Stored content of the last SIB1 received.
Definition: lte-ue-rrc.h:672
LteUeCmacSapUser * m_cmacSapUser
Definition: lte-ue-rrc.h:527
void DoForceCampedOnEnb(uint16_t cellId, uint16_t dlEarfcn)
Definition: lte-ue-rrc.cc:603