A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lte-rrc-sap.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2012 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  * Authors: Nicola Baldo <nbaldo@cttc.es>
19  * Lluis Parcerisa <lparcerisa@cttc.cat>
20  */
21 
22 
23 #ifndef LTE_RRC_SAP_H
24 #define LTE_RRC_SAP_H
25 
26 #include <stdint.h>
27 #include <list>
28 
29 #include <ns3/ptr.h>
30 #include <ns3/simulator.h>
31 
32 namespace ns3 {
33 
34 class LteRlcSapUser;
35 class LtePdcpSapUser;
36 class LteRlcSapProvider;
37 class LtePdcpSapProvider;
38 class Packet;
39 
56 class LteRrcSap
57 {
58 public:
59  virtual ~LteRrcSap ();
60 
61  // Constraint values
62 
63  static const uint8_t MaxReportCells = 255;
64 
65  // Information Elements
66 
68  {
69  uint32_t plmnIdentity;
70  };
71 
73  {
75  uint32_t cellIdentity;
77  uint32_t csgIdentity;
78  };
79 
81  {
82  int8_t qRxLevMin;
83  int8_t qQualMin;
84  };
85 
86  struct FreqInfo
87  {
88  uint16_t ulCarrierFreq;
89  uint8_t ulBandwidth;
90  };
91 
92  struct RlcConfig
93  {
94  enum
95  {
96  AM,
100  } choice;
101  };
102 
104  {
105  uint8_t priority;
109  };
110 
112  {
113  enum
114  {
116  } type;
119  };
120 
122  {
123  enum
124  {
126  } type;
127  uint8_t srsBandwidth;
128  uint16_t srsConfigIndex;
129  };
130 
132  {
134  };
135 
136 
138  {
143  };
144 
145 
146  struct SrbToAddMod
147  {
148  uint8_t srbIdentity;
150  };
151 
152  struct DrbToAddMod
153  {
155  uint8_t drbIdentity;
159  };
160 
162  {
164  };
165 
167  {
170  };
171 
173  {
176  };
177 
179  {
181  };
182 
184  {
186  };
187 
189  {
190  std::list<SrbToAddMod> srbToAddModList;
191  std::list<DrbToAddMod> drbToAddModList;
192  std::list<uint8_t> drbToReleaseList;
195  };
196 
198  {
201  };
202 
204  {
205  uint8_t cellIndex;
206  uint16_t physCellId;
208  };
209 
211  {
212  uint16_t start;
213  bool haveRange;
214  uint16_t range;
215  };
216 
218  {
219  uint8_t cellIndex;
221  };
222 
224  {
225  uint16_t carrierFreq;
229  int8_t offsetFreq;
230  std::list<uint8_t> cellsToRemoveList;
231  std::list<CellsToAddMod> cellsToAddModList;
232  std::list<uint8_t> blackCellsToRemoveList;
233  std::list<BlackCellsToAddMod> blackCellsToAddModList;
236  };
237 
248  {
249  enum
250  {
253  } choice;
254  uint8_t range;
255  };
256 
259  {
260  enum
261  {
264  } triggerType;
265 
266  enum
267  {
273 
274  } eventId;
275 
278 
281 
283  int8_t a3Offset;
284 
286  uint8_t hysteresis;
287 
289  uint16_t timeToTrigger;
290 
291  enum
292  {
295  } purpose;
296 
297  enum
298  {
301  } triggerQuantity;
302 
303  enum
304  {
307  } reportQuantity;
308 
310  uint8_t maxReportCells;
311 
312  enum
313  {
330  } reportInterval;
331 
333  uint8_t reportAmount;
334 
336 
337  }; // end of struct ReportConfigEutra
338 
340  {
341  uint8_t measObjectId;
343  };
344 
346  {
347  uint8_t reportConfigId;
349  };
350 
352  {
353  uint8_t measId;
354  uint8_t measObjectId;
355  uint8_t reportConfigId;
356  };
357 
359  {
360  enum
361  {
363  } type;
364  enum
365  {
367  } gapOffsetChoice;
368  uint8_t gapOffsetValue;
369  };
370 
372  {
373  uint8_t tEvaluation;
374  uint8_t tHystNormal;
377  };
378 
380  {
381  // 25 = oDot25, 50 = oDot5, 75 = oDot75, 100 = lDot0
382  uint8_t sfMedium;
383  uint8_t sfHigh;
384  };
385 
387  {
388  enum
389  {
392  } type;
395  };
396 
397  struct MeasConfig
398  {
399  std::list<uint8_t> measObjectToRemoveList;
400  std::list<MeasObjectToAddMod> measObjectToAddModList;
401  std::list<uint8_t> reportConfigToRemoveList;
402  std::list<ReportConfigToAddMod> reportConfigToAddModList;
403  std::list<uint8_t> measIdToRemoveList;
404  std::list<MeasIdToAddMod> measIdToAddModList;
410  uint8_t sMeasure;
413  };
414 
416  {
417  uint16_t dlCarrierFreq;
418  uint16_t ulCarrierFreq;
419  };
420 
422  {
423  uint8_t dlBandwidth;
424  uint8_t ulBandwidth;
425  };
426 
428  {
431  };
432 
434  {
440  uint16_t newUeIdentity;
444  };
445 
447  {
448  uint16_t cRnti;
449  uint16_t physCellId;
450  };
451 
453  {
457  };
458 
460  {
461  uint8_t dlBandwidth;
463  };
464 
466  {
469  };
470 
472  {
475  };
476 
478  {
479  bool haveSib2;
481  };
482 
483  struct AsConfig
484  {
492  };
493 
494  struct CgiInfo
495  {
496  uint32_t plmnIdentity;
497  uint32_t cellIdentity;
499  std::list<uint32_t> plmnIdentityList;
500  };
501 
503  {
504  uint16_t physCellId;
508  uint8_t rsrpResult;
510  uint8_t rsrqResult;
511  };
512 
513  struct MeasResults
514  {
515  uint8_t measId;
516  uint8_t rsrpResult;
517  uint8_t rsrqResult;
519  std::list<MeasResultEutra> measResultListEutra;
520  };
521 
522  // Messages
523 
525  {
526  uint64_t ueIdentity;
527  };
528 
530  {
533  };
534 
536  {
538  };
539 
541  {
549  };
550 
552  {
554  };
555 
556 
558  {
561  };
562 
564  {
567  };
568 
570  {
572  };
573 
575  {
576  };
577 
579  {
581  };
582 
584  {
585  uint8_t waitTime;
586  };
587 
589  {
591  };
592 
594  {
596  };
597 
598 };
599 
600 
601 
609 {
610 public:
612  {
615  };
616 
617  virtual void Setup (SetupParameters params) = 0;
618 
625  virtual void SendRrcConnectionRequest (RrcConnectionRequest msg) = 0;
626 
634 
642 
650 
658 
665  virtual void SendMeasurementReport (MeasurementReport msg) = 0;
666 
667 };
668 
669 
677 {
678 public:
680  {
683  };
684 
685  virtual void CompleteSetup (CompleteSetupParameters params) = 0;
686 
693  virtual void RecvSystemInformation (SystemInformation msg) = 0;
694 
701  virtual void RecvRrcConnectionSetup (RrcConnectionSetup msg) = 0;
702 
710 
718 
726 
733  virtual void RecvRrcConnectionRelease (RrcConnectionRelease msg) = 0;
734 
741  virtual void RecvRrcConnectionReject (RrcConnectionReject msg) = 0;
742 
743 };
744 
745 
753 {
754 public:
756  {
759  };
760 
761  virtual void SetupUe (uint16_t rnti, SetupUeParameters params) = 0;
762  virtual void RemoveUe (uint16_t rnti) = 0;
763 
770  virtual void SendSystemInformation (SystemInformation msg) = 0;
771 
779  virtual void SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg) = 0;
780 
788  virtual void SendRrcConnectionReconfiguration (uint16_t rnti, RrcConnectionReconfiguration msg) = 0;
789 
797  virtual void SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg) = 0;
798 
807 
815  virtual void SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg) = 0;
816 
824  virtual void SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg) = 0;
825 
830 
831 };
832 
833 
841 {
842 public:
844  {
847  };
848 
849  virtual void CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params) = 0;
850 
858  virtual void RecvRrcConnectionRequest (uint16_t rnti,
859  RrcConnectionRequest msg) = 0;
860 
868  virtual void RecvRrcConnectionSetupCompleted (uint16_t rnti,
870 
878  virtual void RecvRrcConnectionReconfigurationCompleted (uint16_t rnti,
880 
888  virtual void RecvRrcConnectionReestablishmentRequest (uint16_t rnti,
890 
898  virtual void RecvRrcConnectionReestablishmentComplete (uint16_t rnti,
900 
908  virtual void RecvMeasurementReport (uint16_t rnti, MeasurementReport msg) = 0;
909 
910 };
911 
912 
913 
914 
915 
916 
918 // templates
920 
921 
927 template <class C>
929 {
930 public:
931  MemberLteUeRrcSapUser (C* owner);
932 
933  // inherited from LteUeRrcSapUser
934  virtual void Setup (SetupParameters params);
940  virtual void SendMeasurementReport (MeasurementReport msg);
941 
942 private:
945 };
946 
947 template <class C>
949  : m_owner (owner)
950 {
951 }
952 
953 template <class C>
955 {
956 }
957 
958 template <class C>
959 void
961 {
962  m_owner->DoSetup (params);
963 }
964 
965 template <class C>
966 void
968 {
969  m_owner->DoSendRrcConnectionRequest (msg);
970 }
971 
972 template <class C>
973 void
975 {
976  m_owner->DoSendRrcConnectionSetupCompleted (msg);
977 }
978 
979 template <class C>
980 void
982 {
983  m_owner->DoSendRrcConnectionReconfigurationCompleted (msg);
984 }
985 
986 template <class C>
987 void
989 {
990  m_owner->DoSendRrcConnectionReestablishmentRequest (msg);
991 }
992 
993 template <class C>
994 void
996 {
997  m_owner->DoSendRrcConnectionReestablishmentComplete (msg);
998 }
999 
1000 template <class C>
1001 void
1003 {
1004  m_owner->DoSendMeasurementReport (msg);
1005 }
1006 
1012 template <class C>
1014 {
1015 public:
1016  MemberLteUeRrcSapProvider (C* owner);
1017 
1018  // methods inherited from LteUeRrcSapProvider go here
1019  virtual void CompleteSetup (CompleteSetupParameters params);
1020  virtual void RecvSystemInformation (SystemInformation msg);
1021  virtual void RecvRrcConnectionSetup (RrcConnectionSetup msg);
1026  virtual void RecvRrcConnectionReject (RrcConnectionReject msg);
1027 
1028 private:
1031 };
1032 
1033 template <class C>
1035  : m_owner (owner)
1036 {
1037 }
1038 
1039 template <class C>
1041 {
1042 }
1043 
1044 template <class C>
1045 void
1047 {
1048  m_owner->DoCompleteSetup (params);
1049 }
1050 
1051 template <class C>
1052 void
1054 {
1055  Simulator::ScheduleNow (&C::DoRecvSystemInformation, m_owner, msg);
1056 }
1057 
1058 template <class C>
1059 void
1061 {
1062  Simulator::ScheduleNow (&C::DoRecvRrcConnectionSetup, m_owner, msg);
1063 }
1064 
1065 template <class C>
1066 void
1068 {
1069  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReconfiguration, m_owner, msg);
1070 }
1071 
1072 template <class C>
1073 void
1075 {
1076  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishment, m_owner, msg);
1077 }
1078 
1079 template <class C>
1080 void
1082 {
1083  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentReject, m_owner, msg);
1084 }
1085 
1086 template <class C>
1087 void
1089 {
1090  Simulator::ScheduleNow (&C::DoRecvRrcConnectionRelease, m_owner, msg);
1091 }
1092 
1093 template <class C>
1094 void
1096 {
1097  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReject, m_owner, msg);
1098 }
1099 
1100 
1106 template <class C>
1108 {
1109 public:
1110  MemberLteEnbRrcSapUser (C* owner);
1111 
1112  // inherited from LteEnbRrcSapUser
1113 
1114  virtual void SetupUe (uint16_t rnti, SetupUeParameters params);
1115  virtual void RemoveUe (uint16_t rnti);
1116  virtual void SendSystemInformation (SystemInformation msg);
1117  virtual void SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg);
1118  virtual void SendRrcConnectionReconfiguration (uint16_t rnti, RrcConnectionReconfiguration msg);
1119  virtual void SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg);
1121  virtual void SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg);
1122  virtual void SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg);
1127 
1128 private:
1131 };
1132 
1133 template <class C>
1135  : m_owner (owner)
1136 {
1137 }
1138 
1139 template <class C>
1141 {
1142 }
1143 
1144 template <class C>
1145 void
1147 {
1148  m_owner->DoSetupUe (rnti, params);
1149 }
1150 
1151 template <class C>
1152 void
1154 {
1155  m_owner->DoRemoveUe (rnti);
1156 }
1157 
1158 template <class C>
1159 void
1161 {
1162  m_owner->DoSendSystemInformation (msg);
1163 }
1164 
1165 template <class C>
1166 void
1168 {
1169  m_owner->DoSendRrcConnectionSetup (rnti, msg);
1170 }
1171 
1172 template <class C>
1173 void
1175 {
1176  m_owner->DoSendRrcConnectionReconfiguration (rnti, msg);
1177 }
1178 
1179 template <class C>
1180 void
1182 {
1183  m_owner->DoSendRrcConnectionReestablishment (rnti, msg);
1184 }
1185 
1186 template <class C>
1187 void
1189 {
1190  m_owner->DoSendRrcConnectionReestablishmentReject (rnti, msg);
1191 }
1192 
1193 template <class C>
1194 void
1196 {
1197  m_owner->DoSendRrcConnectionRelease (rnti, msg);
1198 }
1199 
1200 template <class C>
1201 void
1203 {
1204  m_owner->DoSendRrcConnectionReject (rnti, msg);
1205 }
1206 
1207 template <class C>
1210 {
1211  return m_owner->DoEncodeHandoverPreparationInformation (msg);
1212 }
1213 
1214 template <class C>
1217 {
1218  return m_owner->DoDecodeHandoverPreparationInformation (p);
1219 }
1220 
1221 
1222 template <class C>
1225 {
1226  return m_owner->DoEncodeHandoverCommand (msg);
1227 }
1228 
1229 template <class C>
1232 {
1233  return m_owner->DoDecodeHandoverCommand (p);
1234 }
1235 
1241 template <class C>
1243 {
1244 public:
1245  MemberLteEnbRrcSapProvider (C* owner);
1246 
1247  // methods inherited from LteEnbRrcSapProvider go here
1248 
1249  virtual void CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params);
1250  virtual void RecvRrcConnectionRequest (uint16_t rnti, RrcConnectionRequest msg);
1251  virtual void RecvRrcConnectionSetupCompleted (uint16_t rnti, RrcConnectionSetupCompleted msg);
1255  virtual void RecvMeasurementReport (uint16_t rnti, MeasurementReport msg);
1256 
1257 private:
1260 };
1261 
1262 template <class C>
1264  : m_owner (owner)
1265 {
1266 }
1267 
1268 template <class C>
1270 {
1271 }
1272 
1273 template <class C>
1274 void
1276 {
1277  m_owner->DoCompleteSetupUe (rnti, params);
1278 }
1279 
1280 template <class C>
1281 void
1283 {
1284  Simulator::ScheduleNow (&C::DoRecvRrcConnectionRequest, m_owner, rnti, msg);
1285 }
1286 
1287 template <class C>
1288 void
1290 {
1291  Simulator::ScheduleNow (&C::DoRecvRrcConnectionSetupCompleted, m_owner, rnti, msg);
1292 }
1293 
1294 template <class C>
1295 void
1297 {
1298  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReconfigurationCompleted, m_owner, rnti, msg);
1299 }
1300 
1301 template <class C>
1302 void
1304 {
1305  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentRequest, m_owner, rnti, msg);
1306 }
1307 
1308 template <class C>
1309 void
1311 {
1312  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentComplete, m_owner, rnti, msg);
1313 }
1314 
1315 template <class C>
1316 void
1318 {
1319  Simulator::ScheduleNow (&C::DoRecvMeasurementReport, m_owner, rnti, msg);
1320 }
1321 
1322 
1323 
1324 
1325 
1326 
1327 
1328 
1329 
1330 
1331 
1332 
1333 
1334 
1335 } // namespace ns3
1336 
1337 
1338 #endif // LTE_RRC_SAP_H
1339 
1340 
1341 
1342 
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36...
Definition: lte-rlc-sap.h:66
enum ns3::LteRrcSap::SoundingRsUlConfigCommon::@68 type
SystemInformationBlockType2 sourceSystemInformationBlockType2
Definition: lte-rrc-sap.h:490
Both the RSRP and RSRQ quantities are to be included in the measurement report.
Definition: lte-rrc-sap.h:306
LtePdcpSapProvider * srb1SapProvider
Definition: lte-rrc-sap.h:614
static const uint8_t MaxReportCells
Definition: lte-rrc-sap.h:63
virtual void RecvRrcConnectionSetupCompleted(uint16_t rnti, RrcConnectionSetupCompleted msg)=0
Receive an RRCConnectionSetupComplete message from a UE during an RRC connection establishment proced...
Part of the RRC protocol.
Definition: lte-rrc-sap.h:676
Reference Signal Received Quality.
Definition: lte-rrc-sap.h:300
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36...
Definition: lte-rlc-sap.h:35
virtual void RecvRrcConnectionReestablishment(RrcConnectionReestablishment msg)
Receive an RRCConnectionReestablishment message from the serving eNodeB during an RRC connection re-e...
Definition: lte-rrc-sap.h:1074
virtual void SendRrcConnectionReject(uint16_t rnti, RrcConnectionReject msg)=0
Send an RRCConnectionReject message to a UE during an RRC connection establishment procedure (Section...
std::list< MeasObjectToAddMod > measObjectToAddModList
Definition: lte-rrc-sap.h:400
virtual void RemoveUe(uint16_t rnti)
Definition: lte-rrc-sap.h:1153
virtual HandoverPreparationInfo DecodeHandoverPreparationInformation(Ptr< Packet > p)=0
SoundingRsUlConfigDedicated soundingRsUlConfigDedicated
Definition: lte-rrc-sap.h:140
uint8_t hysteresis
Parameter used within the entry and leave condition of an event triggered reporting condition...
Definition: lte-rrc-sap.h:286
std::list< CellsToAddMod > cellsToAddModList
Definition: lte-rrc-sap.h:231
QuantityConfig quantityConfig
Definition: lte-rrc-sap.h:406
std::list< uint8_t > reportConfigToRemoveList
Definition: lte-rrc-sap.h:401
Event A1: Serving becomes better than absolute threshold.
Definition: lte-rrc-sap.h:268
enum ns3::LteRrcSap::ReportConfigEutra::@75 reportQuantity
The quantities to be included in the measurement report, always assumed to be BOTH.
std::list< MeasResultEutra > measResultListEutra
Definition: lte-rrc-sap.h:519
int8_t qRxLevMin
INTEGER (-70..-22), actual value = IE value * 2 [dBm].
Definition: lte-rrc-sap.h:82
Part of the RRC protocol.
Definition: lte-rrc-sap.h:840
ThresholdEutra threshold1
Threshold for event A1, A2, A4, and A5.
Definition: lte-rrc-sap.h:276
Specifies criteria for triggering of an E-UTRA measurement reporting event.
Definition: lte-rrc-sap.h:258
virtual void SendRrcConnectionReconfigurationCompleted(RrcConnectionReconfigurationCompleted msg)=0
Send an RRCConnectionReconfigurationComplete message to the serving eNodeB during an RRC connection r...
enum ns3::LteRrcSap::SpeedStatePars::@79 type
enum ns3::LteRrcSap::ReportConfigEutra::@72 eventId
Choice of E-UTRA event triggered reporting criteria.
virtual Ptr< Packet > EncodeHandoverCommand(RrcConnectionReconfiguration msg)
Definition: lte-rrc-sap.h:1224
std::list< SrbToAddMod > srbToAddModList
Definition: lte-rrc-sap.h:190
virtual void SendSystemInformation(SystemInformation msg)
Send a SystemInformation message to all attached UEs during a system information acquisition procedur...
Definition: lte-rrc-sap.h:1160
RadioResourceConfigDedicated radioResourceConfigDedicated
Definition: lte-rrc-sap.h:548
std::list< uint8_t > measObjectToRemoveList
Definition: lte-rrc-sap.h:399
virtual void SendRrcConnectionReestablishmentComplete(RrcConnectionReestablishmentComplete msg)=0
Send an RRCConnectionReestablishmentComplete message to the serving eNodeB during an RRC connection r...
virtual ~LteRrcSap()
Definition: lte-rrc-sap.cc:25
Template for the implementation of the LteEnbRrcSapUser as a member of an owner class of type C to wh...
Definition: lte-rrc-sap.h:1107
virtual void SendRrcConnectionSetupCompleted(RrcConnectionSetupCompleted msg)
Send an RRCConnectionSetupComplete message to the serving eNodeB during an RRC connection establishme...
Definition: lte-rrc-sap.h:974
enum ns3::LteRrcSap::ReportConfigEutra::@76 reportInterval
Indicates the interval between periodical reports.
virtual void RecvSystemInformation(SystemInformation msg)
Receive a SystemInformation message from the serving eNodeB during a system information acquisition p...
Definition: lte-rrc-sap.h:1053
virtual void SendRrcConnectionReestablishmentReject(uint16_t rnti, RrcConnectionReestablishmentReject msg)
Send an RRCConnectionReestablishmentReject message to a UE during an RRC connection re-establishment ...
Definition: lte-rrc-sap.h:1188
virtual void SendRrcConnectionReestablishmentRequest(RrcConnectionReestablishmentRequest msg)=0
Send an RRCConnectionReestablishmentRequest message to the serving eNodeB during an RRC connection re...
RachConfigDedicated rachConfigDedicated
Definition: lte-rrc-sap.h:443
virtual void RecvRrcConnectionSetup(RrcConnectionSetup msg)
Receive an RRCConnectionSetup message from the serving eNodeB during an RRC connection establishment ...
Definition: lte-rrc-sap.h:1060
virtual void SendRrcConnectionRequest(RrcConnectionRequest msg)
Send an _RRCConnectionRequest message to the serving eNodeB during an RRC connection establishment pr...
Definition: lte-rrc-sap.h:967
virtual void SetupUe(uint16_t rnti, SetupUeParameters params)
Definition: lte-rrc-sap.h:1146
virtual void RecvRrcConnectionRelease(RrcConnectionRelease msg)=0
Receive an RRCConnectionRelease message from the serving eNodeB during an RRC connection release proc...
virtual void RecvRrcConnectionReconfiguration(RrcConnectionReconfiguration msg)
Receive an RRCConnectionReconfiguration message from the serving eNodeB during an RRC connection reco...
Definition: lte-rrc-sap.h:1067
virtual void SendRrcConnectionSetupCompleted(RrcConnectionSetupCompleted msg)=0
Send an RRCConnectionSetupComplete message to the serving eNodeB during an RRC connection establishme...
std::list< BlackCellsToAddMod > blackCellsToAddModList
Definition: lte-rrc-sap.h:233
virtual void SendRrcConnectionReconfigurationCompleted(RrcConnectionReconfigurationCompleted msg)
Send an RRCConnectionReconfigurationComplete message to the serving eNodeB during an RRC connection r...
Definition: lte-rrc-sap.h:981
SystemInformationBlockType1 sourceSystemInformationBlockType1
Definition: lte-rrc-sap.h:489
virtual void RecvRrcConnectionReestablishmentReject(RrcConnectionReestablishmentReject msg)=0
Receive an RRCConnectionReestablishmentReject message from the serving eNodeB during an RRC connectio...
virtual void RecvRrcConnectionReject(RrcConnectionReject msg)=0
Receive an RRCConnectionReject message from the serving eNodeB during an RRC connection establishment...
Event A3: Neighbour becomes amount of offset better than PCell.
Definition: lte-rrc-sap.h:270
Event A2: Serving becomes worse than absolute threshold.
Definition: lte-rrc-sap.h:269
virtual void SendRrcConnectionReestablishment(uint16_t rnti, RrcConnectionReestablishment msg)=0
Send an RRCConnectionReestablishment message to a UE during an RRC connection re-establishment proced...
Event A4: Neighbour becomes better than absolute threshold.
Definition: lte-rrc-sap.h:271
RSRP is used for the threshold.
Definition: lte-rrc-sap.h:251
virtual void RecvRrcConnectionRelease(RrcConnectionRelease msg)
Receive an RRCConnectionRelease message from the serving eNodeB during an RRC connection release proc...
Definition: lte-rrc-sap.h:1088
Event A5: PCell becomes worse than absolute threshold1 AND Neighbour becomes better than another abso...
Definition: lte-rrc-sap.h:272
virtual Ptr< Packet > EncodeHandoverPreparationInformation(HandoverPreparationInfo msg)
Definition: lte-rrc-sap.h:1209
virtual void RecvRrcConnectionSetupCompleted(uint16_t rnti, RrcConnectionSetupCompleted msg)
Receive an RRCConnectionSetupComplete message from a UE during an RRC connection establishment proced...
Definition: lte-rrc-sap.h:1289
LogicalChannelConfig logicalChannelConfig
Definition: lte-rrc-sap.h:149
enum ns3::LteRrcSap::SoundingRsUlConfigDedicated::@69 type
RSRQ is used for the threshold.
Definition: lte-rrc-sap.h:252
std::list< uint32_t > plmnIdentityList
Definition: lte-rrc-sap.h:499
virtual void RecvRrcConnectionReconfiguration(RrcConnectionReconfiguration msg)=0
Receive an RRCConnectionReconfiguration message from the serving eNodeB during an RRC connection reco...
virtual void SendRrcConnectionReject(uint16_t rnti, RrcConnectionReject msg)
Send an RRCConnectionReject message to a UE during an RRC connection establishment procedure (Section...
Definition: lte-rrc-sap.h:1202
enum ns3::LteRrcSap::MeasGapConfig::@78 gapOffsetChoice
virtual void RecvRrcConnectionReestablishment(RrcConnectionReestablishment msg)=0
Receive an RRCConnectionReestablishment message from the serving eNodeB during an RRC connection re-e...
std::list< MeasIdToAddMod > measIdToAddModList
Definition: lte-rrc-sap.h:404
virtual void SetupUe(uint16_t rnti, SetupUeParameters params)=0
PhysicalConfigDedicated physicalConfigDedicated
Definition: lte-rrc-sap.h:194
virtual void CompleteSetup(CompleteSetupParameters params)
Definition: lte-rrc-sap.h:1046
virtual void SendRrcConnectionRelease(uint16_t rnti, RrcConnectionRelease msg)
Send an RRCConnectionRelease message to a UE during an RRC connection release procedure (Section 5...
Definition: lte-rrc-sap.h:1195
enum ns3::LteRrcSap::ReportConfigEutra::@71 triggerType
MobilityStateParameters mobilityStateParameters
Definition: lte-rrc-sap.h:393
RadioResourceConfigDedicated radioResourceConfigDedicated
Definition: lte-rrc-sap.h:532
virtual HandoverPreparationInfo DecodeHandoverPreparationInformation(Ptr< Packet > p)
Definition: lte-rrc-sap.h:1216
virtual void SendRrcConnectionReconfiguration(uint16_t rnti, RrcConnectionReconfiguration msg)=0
Send an RRCConnectionReconfiguration message to a UE during an RRC connection reconfiguration procedu...
virtual void RecvRrcConnectionReconfigurationCompleted(uint16_t rnti, RrcConnectionReconfigurationCompleted msg)
Receive an RRCConnectionReconfigurationComplete message from a UE during an RRC connection reconfigur...
Definition: lte-rrc-sap.h:1296
RadioResourceConfigDedicated sourceRadioResourceConfig
Definition: lte-rrc-sap.h:486
Part of the RRC protocol.
Definition: lte-rrc-sap.h:752
virtual void Setup(SetupParameters params)=0
bool reportOnLeave
Indicates whether or not the UE shall initiate the measurement reporting procedure when the leaving c...
Definition: lte-rrc-sap.h:280
enum ns3::LteRrcSap::MeasGapConfig::@77 type
virtual void RecvRrcConnectionSetup(RrcConnectionSetup msg)=0
Receive an RRCConnectionSetup message from the serving eNodeB during an RRC connection establishment ...
enum ns3::LteRrcSap::ThresholdEutra::@70 choice
Template for the implementation of the LteUeRrcSapProvider as a member of an owner class of type C to...
Definition: lte-rrc-sap.h:1013
uint8_t maxReportCells
Maximum number of cells, excluding the serving cell, to be included in the measurement report...
Definition: lte-rrc-sap.h:310
virtual void CompleteSetup(CompleteSetupParameters params)=0
RadioResourceConfigDedicated radioResourceConfigDedicated
Definition: lte-rrc-sap.h:566
virtual void RecvRrcConnectionRequest(uint16_t rnti, RrcConnectionRequest msg)=0
Receive an RRCConnectionRequest message from a UE during an RRC connection establishment procedure (S...
Reference Signal Received Power.
Definition: lte-rrc-sap.h:299
MeasGapConfig measGapConfig
Definition: lte-rrc-sap.h:408
uint8_t range
Value range used in RSRP/RSRQ threshold.
Definition: lte-rrc-sap.h:254
uint8_t reportAmount
Number of measurement reports applicable, always assumed to be infinite.
Definition: lte-rrc-sap.h:333
static EventId ScheduleNow(MEM mem_ptr, OBJ obj)
Schedule an event to expire Now.
Definition: simulator.h:986
virtual void RecvSystemInformation(SystemInformation msg)=0
Receive a SystemInformation message from the serving eNodeB during a system information acquisition p...
RadioResourceConfigCommonSib radioResourceConfigCommon
Definition: lte-rrc-sap.h:473
virtual void SendMeasurementReport(MeasurementReport msg)
Send a MeasurementReport message to the serving eNodeB during a measurement reporting procedure (Sect...
Definition: lte-rrc-sap.h:1002
RadioResourceConfigCommon radioResourceConfigCommon
Definition: lte-rrc-sap.h:441
virtual void SendRrcConnectionRelease(uint16_t rnti, RrcConnectionRelease msg)=0
Send an RRCConnectionRelease message to a UE during an RRC connection release procedure (Section 5...
CarrierBandwidthEutra carrierBandwidth
Definition: lte-rrc-sap.h:439
int8_t a3Offset
Offset value for Event A3. An integer between -30 and 30. The actual value is (value * 0...
Definition: lte-rrc-sap.h:283
virtual void SendMeasurementReport(MeasurementReport msg)=0
Send a MeasurementReport message to the serving eNodeB during a measurement reporting procedure (Sect...
LogicalChannelConfig logicalChannelConfig
Definition: lte-rrc-sap.h:158
enum ns3::LteRrcSap::ReportConfigEutra::@74 triggerQuantity
The quantities used to evaluate the triggering condition for the event, see 3GPP TS 36...
SpeedStatePars speedStatePars
Definition: lte-rrc-sap.h:412
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:35
virtual void RecvRrcConnectionReestablishmentRequest(uint16_t rnti, RrcConnectionReestablishmentRequest msg)=0
Receive an RRCConnectionReestablishmentRequest message from a UE during an RRC connection re-establis...
Template for the implementation of the LteEnbRrcSapProvider as a member of an owner class of type C t...
Definition: lte-rrc-sap.h:1242
std::list< uint8_t > blackCellsToRemoveList
Definition: lte-rrc-sap.h:232
virtual void RemoveUe(uint16_t rnti)=0
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
std::list< DrbToAddMod > drbToAddModList
Definition: lte-rrc-sap.h:191
virtual void RecvRrcConnectionReestablishmentRequest(uint16_t rnti, RrcConnectionReestablishmentRequest msg)
Receive an RRCConnectionReestablishmentRequest message from a UE during an RRC connection re-establis...
Definition: lte-rrc-sap.h:1303
virtual void RecvRrcConnectionReestablishmentComplete(uint16_t rnti, RrcConnectionReestablishmentComplete msg)
Receive an RRCConnectionReestablishmentComplete message from a UE during an RRC connection re-establi...
Definition: lte-rrc-sap.h:1310
virtual void RecvRrcConnectionRequest(uint16_t rnti, RrcConnectionRequest msg)
Receive an RRCConnectionRequest message from a UE during an RRC connection establishment procedure (S...
Definition: lte-rrc-sap.h:1282
virtual Ptr< Packet > EncodeHandoverCommand(RrcConnectionReconfiguration msg)=0
virtual void RecvMeasurementReport(uint16_t rnti, MeasurementReport msg)=0
Receive a MeasurementReport message from a UE during a measurement reporting procedure (Section 5...
SystemInformationBlockType2 sib2
Definition: lte-rrc-sap.h:480
virtual void RecvRrcConnectionReestablishmentReject(RrcConnectionReestablishmentReject msg)
Receive an RRCConnectionReestablishmentReject message from the serving eNodeB during an RRC connectio...
Definition: lte-rrc-sap.h:1081
virtual void SendRrcConnectionReestablishment(uint16_t rnti, RrcConnectionReestablishment msg)
Send an RRCConnectionReestablishment message to a UE during an RRC connection re-establishment proced...
Definition: lte-rrc-sap.h:1181
Class holding definition common to all UE/eNodeB SAP Users/Providers.
Definition: lte-rrc-sap.h:56
enum ns3::LteRrcSap::ReportConfigEutra::@73 purpose
virtual void RecvRrcConnectionReject(RrcConnectionReject msg)
Receive an RRCConnectionReject message from the serving eNodeB during an RRC connection establishment...
Definition: lte-rrc-sap.h:1095
virtual void RecvRrcConnectionReestablishmentComplete(uint16_t rnti, RrcConnectionReestablishmentComplete msg)=0
Receive an RRCConnectionReestablishmentComplete message from a UE during an RRC connection re-establi...
virtual void CompleteSetupUe(uint16_t rnti, CompleteSetupUeParameters params)=0
Template for the implementation of the LteUeRrcSapUser as a member of an owner class of type C to whi...
Definition: lte-rrc-sap.h:928
virtual void Setup(SetupParameters params)
Definition: lte-rrc-sap.h:960
virtual void SendSystemInformation(SystemInformation msg)=0
Send a SystemInformation message to all attached UEs during a system information acquisition procedur...
std::list< uint8_t > cellsToRemoveList
Definition: lte-rrc-sap.h:230
virtual void SendRrcConnectionRequest(RrcConnectionRequest msg)=0
Send an _RRCConnectionRequest message to the serving eNodeB during an RRC connection establishment pr...
Part of the RRC protocol.
Definition: lte-rrc-sap.h:608
virtual void SendRrcConnectionReestablishmentReject(uint16_t rnti, RrcConnectionReestablishmentReject msg)=0
Send an RRCConnectionReestablishmentReject message to a UE during an RRC connection re-establishment ...
virtual void SendRrcConnectionReconfiguration(uint16_t rnti, RrcConnectionReconfiguration msg)
Send an RRCConnectionReconfiguration message to a UE during an RRC connection reconfiguration procedu...
Definition: lte-rrc-sap.h:1174
uint16_t timeToTrigger
Time during which specific criteria for the event needs to be met in order to trigger a measurement r...
Definition: lte-rrc-sap.h:289
enum ns3::LteRrcSap::RlcConfig::@67 choice
Threshold for event evaluation.
Definition: lte-rrc-sap.h:247
virtual void RecvRrcConnectionReconfigurationCompleted(uint16_t rnti, RrcConnectionReconfigurationCompleted msg)=0
Receive an RRCConnectionReconfigurationComplete message from a UE during an RRC connection reconfigur...
std::list< uint8_t > measIdToRemoveList
Definition: lte-rrc-sap.h:403
virtual void SendRrcConnectionReestablishmentComplete(RrcConnectionReestablishmentComplete msg)
Send an RRCConnectionReestablishmentComplete message to the serving eNodeB during an RRC connection r...
Definition: lte-rrc-sap.h:995
std::list< ReportConfigToAddMod > reportConfigToAddModList
Definition: lte-rrc-sap.h:402
virtual void RecvMeasurementReport(uint16_t rnti, MeasurementReport msg)
Receive a MeasurementReport message from a UE during a measurement reporting procedure (Section 5...
Definition: lte-rrc-sap.h:1317
virtual void CompleteSetupUe(uint16_t rnti, CompleteSetupUeParameters params)
Definition: lte-rrc-sap.h:1275
SpeedStateScaleFactors timeToTriggerSf
Definition: lte-rrc-sap.h:394
virtual void SendRrcConnectionReestablishmentRequest(RrcConnectionReestablishmentRequest msg)
Send an RRCConnectionReestablishmentRequest message to the serving eNodeB during an RRC connection re...
Definition: lte-rrc-sap.h:988
virtual RrcConnectionReconfiguration DecodeHandoverCommand(Ptr< Packet > p)
Definition: lte-rrc-sap.h:1231
virtual void SendRrcConnectionSetup(uint16_t rnti, RrcConnectionSetup msg)=0
Send an RRCConnectionSetup message to a UE during an RRC connection establishment procedure (Section ...
virtual RrcConnectionReconfiguration DecodeHandoverCommand(Ptr< Packet > p)=0
RaSupervisionInfo raSupervisionInfo
Definition: lte-rrc-sap.h:175
virtual void SendRrcConnectionSetup(uint16_t rnti, RrcConnectionSetup msg)
Send an RRCConnectionSetup message to a UE during an RRC connection establishment procedure (Section ...
Definition: lte-rrc-sap.h:1167
MasterInformationBlock sourceMasterInformationBlock
Definition: lte-rrc-sap.h:488
int8_t qQualMin
INTEGER (-34..-3), actual value = IE value [dB].
Definition: lte-rrc-sap.h:83
virtual Ptr< Packet > EncodeHandoverPreparationInformation(HandoverPreparationInfo msg)=0
ThresholdEutra threshold2
Threshold for event A5.
Definition: lte-rrc-sap.h:277