A Discrete-Event Network Simulator
API
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 
137  {
138  int8_t referenceSignalPower; // INTEGER (-60..50),
139  int8_t pb; // INTEGER (0..3),
140  };
141 
143  {
144  /*
145  * P_A values, TS 36.331 6.3.2 PDSCH-Config
146  * ENUMERATED { dB-6, dB-4dot77, dB-3, dB-1dot77, dB0, dB1, dB2, dB3 }
147  */
148  enum
149  {
158  };
159  uint8_t pa;
160  };
161 
162  static double ConvertPdschConfigDedicated2Double (PdschConfigDedicated pdschConfigDedicated)
163  {
164  double pa = 0;
165  switch (pdschConfigDedicated.pa)
166  {
168  pa = -6;
169  break;
171  pa = -4.77;
172  break;
174  pa = -3;
175  break;
177  pa = -1.77;
178  break;
180  pa = 0;
181  break;
183  pa = 1;
184  break;
186  pa = 2;
187  break;
189  pa = 3;
190  break;
191  default:
192  break;
193  }
194  return pa;
195  }
196 
198  {
205  };
206 
207 
208  struct SrbToAddMod
209  {
210  uint8_t srbIdentity;
212  };
213 
214  struct DrbToAddMod
215  {
217  uint8_t drbIdentity;
221  };
222 
224  {
226  };
227 
229  {
232  };
233 
235  {
238  };
239 
241  {
243  };
244 
246  {
249  };
250 
252  {
253  std::list<SrbToAddMod> srbToAddModList;
254  std::list<DrbToAddMod> drbToAddModList;
255  std::list<uint8_t> drbToReleaseList;
258  };
259 
261  {
264  };
265 
267  {
268  uint8_t cellIndex;
269  uint16_t physCellId;
271  };
272 
274  {
275  uint16_t start;
276  bool haveRange;
277  uint16_t range;
278  };
279 
281  {
282  uint8_t cellIndex;
284  };
285 
287  {
288  uint16_t carrierFreq;
292  int8_t offsetFreq;
293  std::list<uint8_t> cellsToRemoveList;
294  std::list<CellsToAddMod> cellsToAddModList;
295  std::list<uint8_t> blackCellsToRemoveList;
296  std::list<BlackCellsToAddMod> blackCellsToAddModList;
299  };
300 
311  {
312  enum
313  {
316  } choice;
317  uint8_t range;
318  };
319 
322  {
323  enum
324  {
327  } triggerType;
328 
329  enum
330  {
336 
337  } eventId;
338 
341 
344 
346  int8_t a3Offset;
347 
349  uint8_t hysteresis;
350 
352  uint16_t timeToTrigger;
353 
354  enum
355  {
358  } purpose;
359 
360  enum
361  {
364  } triggerQuantity;
365 
366  enum
367  {
370  } reportQuantity;
371 
373  uint8_t maxReportCells;
374 
375  enum
376  {
393  } reportInterval;
394 
396  uint8_t reportAmount;
397 
399 
400  }; // end of struct ReportConfigEutra
401 
403  {
404  uint8_t measObjectId;
406  };
407 
409  {
410  uint8_t reportConfigId;
412  };
413 
415  {
416  uint8_t measId;
417  uint8_t measObjectId;
418  uint8_t reportConfigId;
419  };
420 
422  {
423  enum
424  {
426  } type;
427  enum
428  {
430  } gapOffsetChoice;
431  uint8_t gapOffsetValue;
432  };
433 
435  {
436  uint8_t tEvaluation;
437  uint8_t tHystNormal;
440  };
441 
443  {
444  // 25 = oDot25, 50 = oDot5, 75 = oDot75, 100 = lDot0
445  uint8_t sfMedium;
446  uint8_t sfHigh;
447  };
448 
450  {
451  enum
452  {
455  } type;
458  };
459 
460  struct MeasConfig
461  {
462  std::list<uint8_t> measObjectToRemoveList;
463  std::list<MeasObjectToAddMod> measObjectToAddModList;
464  std::list<uint8_t> reportConfigToRemoveList;
465  std::list<ReportConfigToAddMod> reportConfigToAddModList;
466  std::list<uint8_t> measIdToRemoveList;
467  std::list<MeasIdToAddMod> measIdToAddModList;
473  uint8_t sMeasure;
476  };
477 
479  {
480  uint16_t dlCarrierFreq;
481  uint16_t ulCarrierFreq;
482  };
483 
485  {
486  uint8_t dlBandwidth;
487  uint8_t ulBandwidth;
488  };
489 
491  {
494  };
495 
497  {
503  uint16_t newUeIdentity;
507  };
508 
510  {
511  uint16_t cRnti;
512  uint16_t physCellId;
513  };
514 
516  {
520  };
521 
523  {
524  uint8_t dlBandwidth;
526  };
527 
529  {
532  };
533 
535  {
538  };
539 
541  {
542  bool haveSib2;
544  };
545 
546  struct AsConfig
547  {
555  };
556 
557  struct CgiInfo
558  {
559  uint32_t plmnIdentity;
560  uint32_t cellIdentity;
562  std::list<uint32_t> plmnIdentityList;
563  };
564 
566  {
567  uint16_t physCellId;
571  uint8_t rsrpResult;
573  uint8_t rsrqResult;
574  };
575 
576  struct MeasResults
577  {
578  uint8_t measId;
579  uint8_t rsrpResult;
580  uint8_t rsrqResult;
582  std::list<MeasResultEutra> measResultListEutra;
583  };
584 
585  // Messages
586 
588  {
589  uint64_t ueIdentity;
590  };
591 
593  {
596  };
597 
599  {
601  };
602 
604  {
612  };
613 
615  {
617  };
618 
619 
621  {
624  };
625 
627  {
630  };
631 
633  {
635  };
636 
638  {
639  };
640 
642  {
644  };
645 
647  {
648  uint8_t waitTime;
649  };
650 
652  {
654  };
655 
657  {
659  };
660 
661 };
662 
663 
664 
672 {
673 public:
675  {
678  };
679 
680  virtual void Setup (SetupParameters params) = 0;
681 
688  virtual void SendRrcConnectionRequest (RrcConnectionRequest msg) = 0;
689 
697 
705 
713 
721 
728  virtual void SendMeasurementReport (MeasurementReport msg) = 0;
729 
730 };
731 
732 
740 {
741 public:
743  {
746  };
747 
748  virtual void CompleteSetup (CompleteSetupParameters params) = 0;
749 
756  virtual void RecvSystemInformation (SystemInformation msg) = 0;
757 
764  virtual void RecvRrcConnectionSetup (RrcConnectionSetup msg) = 0;
765 
773 
781 
789 
796  virtual void RecvRrcConnectionRelease (RrcConnectionRelease msg) = 0;
797 
804  virtual void RecvRrcConnectionReject (RrcConnectionReject msg) = 0;
805 
806 };
807 
808 
816 {
817 public:
819  {
822  };
823 
824  virtual void SetupUe (uint16_t rnti, SetupUeParameters params) = 0;
825  virtual void RemoveUe (uint16_t rnti) = 0;
826 
833  virtual void SendSystemInformation (SystemInformation msg) = 0;
834 
842  virtual void SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg) = 0;
843 
851  virtual void SendRrcConnectionReconfiguration (uint16_t rnti, RrcConnectionReconfiguration msg) = 0;
852 
860  virtual void SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg) = 0;
861 
870 
878  virtual void SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg) = 0;
879 
887  virtual void SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg) = 0;
888 
893 
894 };
895 
896 
904 {
905 public:
907  {
910  };
911 
912  virtual void CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params) = 0;
913 
921  virtual void RecvRrcConnectionRequest (uint16_t rnti,
922  RrcConnectionRequest msg) = 0;
923 
931  virtual void RecvRrcConnectionSetupCompleted (uint16_t rnti,
933 
941  virtual void RecvRrcConnectionReconfigurationCompleted (uint16_t rnti,
943 
951  virtual void RecvRrcConnectionReestablishmentRequest (uint16_t rnti,
953 
961  virtual void RecvRrcConnectionReestablishmentComplete (uint16_t rnti,
963 
971  virtual void RecvMeasurementReport (uint16_t rnti, MeasurementReport msg) = 0;
972 
973 };
974 
975 
976 
977 
978 
979 
981 // templates
983 
984 
990 template <class C>
992 {
993 public:
994  MemberLteUeRrcSapUser (C* owner);
995 
996  // inherited from LteUeRrcSapUser
997  virtual void Setup (SetupParameters params);
1003  virtual void SendMeasurementReport (MeasurementReport msg);
1004 
1005 private:
1008 };
1009 
1010 template <class C>
1012  : m_owner (owner)
1013 {
1014 }
1015 
1016 template <class C>
1018 {
1019 }
1020 
1021 template <class C>
1022 void
1024 {
1025  m_owner->DoSetup (params);
1026 }
1027 
1028 template <class C>
1029 void
1031 {
1032  m_owner->DoSendRrcConnectionRequest (msg);
1033 }
1034 
1035 template <class C>
1036 void
1038 {
1039  m_owner->DoSendRrcConnectionSetupCompleted (msg);
1040 }
1041 
1042 template <class C>
1043 void
1045 {
1046  m_owner->DoSendRrcConnectionReconfigurationCompleted (msg);
1047 }
1048 
1049 template <class C>
1050 void
1052 {
1053  m_owner->DoSendRrcConnectionReestablishmentRequest (msg);
1054 }
1055 
1056 template <class C>
1057 void
1059 {
1060  m_owner->DoSendRrcConnectionReestablishmentComplete (msg);
1061 }
1062 
1063 template <class C>
1064 void
1066 {
1067  m_owner->DoSendMeasurementReport (msg);
1068 }
1069 
1075 template <class C>
1077 {
1078 public:
1079  MemberLteUeRrcSapProvider (C* owner);
1080 
1081  // methods inherited from LteUeRrcSapProvider go here
1082  virtual void CompleteSetup (CompleteSetupParameters params);
1083  virtual void RecvSystemInformation (SystemInformation msg);
1084  virtual void RecvRrcConnectionSetup (RrcConnectionSetup msg);
1089  virtual void RecvRrcConnectionReject (RrcConnectionReject msg);
1090 
1091 private:
1094 };
1095 
1096 template <class C>
1098  : m_owner (owner)
1099 {
1100 }
1101 
1102 template <class C>
1104 {
1105 }
1106 
1107 template <class C>
1108 void
1110 {
1111  m_owner->DoCompleteSetup (params);
1112 }
1113 
1114 template <class C>
1115 void
1117 {
1118  Simulator::ScheduleNow (&C::DoRecvSystemInformation, m_owner, msg);
1119 }
1120 
1121 template <class C>
1122 void
1124 {
1125  Simulator::ScheduleNow (&C::DoRecvRrcConnectionSetup, m_owner, msg);
1126 }
1127 
1128 template <class C>
1129 void
1131 {
1132  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReconfiguration, m_owner, msg);
1133 }
1134 
1135 template <class C>
1136 void
1138 {
1139  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishment, m_owner, msg);
1140 }
1141 
1142 template <class C>
1143 void
1145 {
1146  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentReject, m_owner, msg);
1147 }
1148 
1149 template <class C>
1150 void
1152 {
1153  Simulator::ScheduleNow (&C::DoRecvRrcConnectionRelease, m_owner, msg);
1154 }
1155 
1156 template <class C>
1157 void
1159 {
1160  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReject, m_owner, msg);
1161 }
1162 
1163 
1169 template <class C>
1171 {
1172 public:
1173  MemberLteEnbRrcSapUser (C* owner);
1174 
1175  // inherited from LteEnbRrcSapUser
1176 
1177  virtual void SetupUe (uint16_t rnti, SetupUeParameters params);
1178  virtual void RemoveUe (uint16_t rnti);
1179  virtual void SendSystemInformation (SystemInformation msg);
1180  virtual void SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg);
1181  virtual void SendRrcConnectionReconfiguration (uint16_t rnti, RrcConnectionReconfiguration msg);
1182  virtual void SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg);
1184  virtual void SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg);
1185  virtual void SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg);
1190 
1191 private:
1194 };
1195 
1196 template <class C>
1198  : m_owner (owner)
1199 {
1200 }
1201 
1202 template <class C>
1204 {
1205 }
1206 
1207 template <class C>
1208 void
1210 {
1211  m_owner->DoSetupUe (rnti, params);
1212 }
1213 
1214 template <class C>
1215 void
1217 {
1218  m_owner->DoRemoveUe (rnti);
1219 }
1220 
1221 template <class C>
1222 void
1224 {
1225  m_owner->DoSendSystemInformation (msg);
1226 }
1227 
1228 template <class C>
1229 void
1231 {
1232  m_owner->DoSendRrcConnectionSetup (rnti, msg);
1233 }
1234 
1235 template <class C>
1236 void
1238 {
1239  m_owner->DoSendRrcConnectionReconfiguration (rnti, msg);
1240 }
1241 
1242 template <class C>
1243 void
1245 {
1246  m_owner->DoSendRrcConnectionReestablishment (rnti, msg);
1247 }
1248 
1249 template <class C>
1250 void
1252 {
1253  m_owner->DoSendRrcConnectionReestablishmentReject (rnti, msg);
1254 }
1255 
1256 template <class C>
1257 void
1259 {
1260  m_owner->DoSendRrcConnectionRelease (rnti, msg);
1261 }
1262 
1263 template <class C>
1264 void
1266 {
1267  m_owner->DoSendRrcConnectionReject (rnti, msg);
1268 }
1269 
1270 template <class C>
1273 {
1274  return m_owner->DoEncodeHandoverPreparationInformation (msg);
1275 }
1276 
1277 template <class C>
1280 {
1281  return m_owner->DoDecodeHandoverPreparationInformation (p);
1282 }
1283 
1284 
1285 template <class C>
1288 {
1289  return m_owner->DoEncodeHandoverCommand (msg);
1290 }
1291 
1292 template <class C>
1295 {
1296  return m_owner->DoDecodeHandoverCommand (p);
1297 }
1298 
1304 template <class C>
1306 {
1307 public:
1308  MemberLteEnbRrcSapProvider (C* owner);
1309 
1310  // methods inherited from LteEnbRrcSapProvider go here
1311 
1312  virtual void CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params);
1313  virtual void RecvRrcConnectionRequest (uint16_t rnti, RrcConnectionRequest msg);
1314  virtual void RecvRrcConnectionSetupCompleted (uint16_t rnti, RrcConnectionSetupCompleted msg);
1318  virtual void RecvMeasurementReport (uint16_t rnti, MeasurementReport msg);
1319 
1320 private:
1323 };
1324 
1325 template <class C>
1327  : m_owner (owner)
1328 {
1329 }
1330 
1331 template <class C>
1333 {
1334 }
1335 
1336 template <class C>
1337 void
1339 {
1340  m_owner->DoCompleteSetupUe (rnti, params);
1341 }
1342 
1343 template <class C>
1344 void
1346 {
1347  Simulator::ScheduleNow (&C::DoRecvRrcConnectionRequest, m_owner, rnti, msg);
1348 }
1349 
1350 template <class C>
1351 void
1353 {
1354  Simulator::ScheduleNow (&C::DoRecvRrcConnectionSetupCompleted, m_owner, rnti, msg);
1355 }
1356 
1357 template <class C>
1358 void
1360 {
1361  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReconfigurationCompleted, m_owner, rnti, msg);
1362 }
1363 
1364 template <class C>
1365 void
1367 {
1368  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentRequest, m_owner, rnti, msg);
1369 }
1370 
1371 template <class C>
1372 void
1374 {
1375  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentComplete, m_owner, rnti, msg);
1376 }
1377 
1378 template <class C>
1379 void
1381 {
1382  Simulator::ScheduleNow (&C::DoRecvMeasurementReport, m_owner, rnti, msg);
1383 }
1384 
1385 
1386 
1387 
1388 
1389 
1390 
1391 
1392 
1393 
1394 
1395 
1396 
1397 
1398 } // namespace ns3
1399 
1400 
1401 #endif // LTE_RRC_SAP_H
1402 
1403 
1404 
1405 
Both the RSRP and RSRQ quantities are to be included in the measurement report.
Definition: lte-rrc-sap.h:369
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
SystemInformationBlockType2 sourceSystemInformationBlockType2
Definition: lte-rrc-sap.h:553
LtePdcpSapProvider * srb1SapProvider
Definition: lte-rrc-sap.h:677
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...
PdschConfigDedicated pdschConfigDedicated
Definition: lte-rrc-sap.h:204
Part of the RRC protocol.
Definition: lte-rrc-sap.h:739
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:1137
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:463
virtual void RemoveUe(uint16_t rnti)
Definition: lte-rrc-sap.h:1216
enum ns3::LteRrcSap::ReportConfigEutra::@70 triggerType
static double ConvertPdschConfigDedicated2Double(PdschConfigDedicated pdschConfigDedicated)
Definition: lte-rrc-sap.h:162
virtual HandoverPreparationInfo DecodeHandoverPreparationInformation(Ptr< Packet > p)=0
SoundingRsUlConfigDedicated soundingRsUlConfigDedicated
Definition: lte-rrc-sap.h:200
uint8_t hysteresis
Parameter used within the entry and leave condition of an event triggered reporting condition...
Definition: lte-rrc-sap.h:349
std::list< CellsToAddMod > cellsToAddModList
Definition: lte-rrc-sap.h:294
QuantityConfig quantityConfig
Definition: lte-rrc-sap.h:469
std::list< uint8_t > reportConfigToRemoveList
Definition: lte-rrc-sap.h:464
std::list< MeasResultEutra > measResultListEutra
Definition: lte-rrc-sap.h:582
int8_t qRxLevMin
INTEGER (-70..-22), actual value = IE value * 2 [dBm].
Definition: lte-rrc-sap.h:82
enum ns3::LteRrcSap::ReportConfigEutra::@73 triggerQuantity
The quantities used to evaluate the triggering condition for the event, see 3GPP TS 36...
Part of the RRC protocol.
Definition: lte-rrc-sap.h:903
ThresholdEutra threshold1
Threshold for event A1, A2, A4, and A5.
Definition: lte-rrc-sap.h:339
Specifies criteria for triggering of an E-UTRA measurement reporting event.
Definition: lte-rrc-sap.h:321
virtual void SendRrcConnectionReconfigurationCompleted(RrcConnectionReconfigurationCompleted msg)=0
Send an RRCConnectionReconfigurationComplete message to the serving eNodeB during an RRC connection r...
virtual Ptr< Packet > EncodeHandoverCommand(RrcConnectionReconfiguration msg)
Definition: lte-rrc-sap.h:1287
std::list< SrbToAddMod > srbToAddModList
Definition: lte-rrc-sap.h:253
virtual void SendSystemInformation(SystemInformation msg)
Send a SystemInformation message to all attached UEs during a system information acquisition procedur...
Definition: lte-rrc-sap.h:1223
Event A2: Serving becomes worse than absolute threshold.
Definition: lte-rrc-sap.h:332
RadioResourceConfigDedicated radioResourceConfigDedicated
Definition: lte-rrc-sap.h:611
RSRP is used for the threshold.
Definition: lte-rrc-sap.h:314
std::list< uint8_t > measObjectToRemoveList
Definition: lte-rrc-sap.h:462
virtual void SendRrcConnectionReestablishmentComplete(RrcConnectionReestablishmentComplete msg)=0
Send an RRCConnectionReestablishmentComplete message to the serving eNodeB during an RRC connection r...
enum ns3::LteRrcSap::ReportConfigEutra::@71 eventId
Choice of E-UTRA event triggered reporting criteria.
Reference Signal Received Power.
Definition: lte-rrc-sap.h:362
enum ns3::LteRrcSap::MeasGapConfig::@77 gapOffsetChoice
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:1170
virtual void SendRrcConnectionSetupCompleted(RrcConnectionSetupCompleted msg)
Send an RRCConnectionSetupComplete message to the serving eNodeB during an RRC connection establishme...
Definition: lte-rrc-sap.h:1037
virtual void RecvSystemInformation(SystemInformation msg)
Receive a SystemInformation message from the serving eNodeB during a system information acquisition p...
Definition: lte-rrc-sap.h:1116
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:1251
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:506
virtual void RecvRrcConnectionSetup(RrcConnectionSetup msg)
Receive an RRCConnectionSetup message from the serving eNodeB during an RRC connection establishment ...
Definition: lte-rrc-sap.h:1123
enum ns3::LteRrcSap::SoundingRsUlConfigCommon::@66 type
enum ns3::LteRrcSap::ThresholdEutra::@69 choice
virtual void SendRrcConnectionRequest(RrcConnectionRequest msg)
Send an _RRCConnectionRequest message to the serving eNodeB during an RRC connection establishment pr...
Definition: lte-rrc-sap.h:1030
virtual void SetupUe(uint16_t rnti, SetupUeParameters params)
Definition: lte-rrc-sap.h:1209
Event A4: Neighbour becomes better than absolute threshold.
Definition: lte-rrc-sap.h:334
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:1130
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:296
virtual void SendRrcConnectionReconfigurationCompleted(RrcConnectionReconfigurationCompleted msg)
Send an RRCConnectionReconfigurationComplete message to the serving eNodeB during an RRC connection r...
Definition: lte-rrc-sap.h:1044
SystemInformationBlockType1 sourceSystemInformationBlockType1
Definition: lte-rrc-sap.h:552
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...
virtual void SendRrcConnectionReestablishment(uint16_t rnti, RrcConnectionReestablishment msg)=0
Send an RRCConnectionReestablishment message to a UE during an RRC connection re-establishment proced...
virtual void RecvRrcConnectionRelease(RrcConnectionRelease msg)
Receive an RRCConnectionRelease message from the serving eNodeB during an RRC connection release proc...
Definition: lte-rrc-sap.h:1151
virtual Ptr< Packet > EncodeHandoverPreparationInformation(HandoverPreparationInfo msg)
Definition: lte-rrc-sap.h:1272
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:1352
LogicalChannelConfig logicalChannelConfig
Definition: lte-rrc-sap.h:211
std::list< uint32_t > plmnIdentityList
Definition: lte-rrc-sap.h:562
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:1265
enum ns3::LteRrcSap::MeasGapConfig::@76 type
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:467
virtual void SetupUe(uint16_t rnti, SetupUeParameters params)=0
PhysicalConfigDedicated physicalConfigDedicated
Definition: lte-rrc-sap.h:257
enum ns3::LteRrcSap::RlcConfig::@65 choice
virtual void CompleteSetup(CompleteSetupParameters params)
Definition: lte-rrc-sap.h:1109
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:1258
MobilityStateParameters mobilityStateParameters
Definition: lte-rrc-sap.h:456
RadioResourceConfigDedicated radioResourceConfigDedicated
Definition: lte-rrc-sap.h:595
virtual HandoverPreparationInfo DecodeHandoverPreparationInformation(Ptr< Packet > p)
Definition: lte-rrc-sap.h:1279
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:1359
RadioResourceConfigDedicated sourceRadioResourceConfig
Definition: lte-rrc-sap.h:549
Part of the RRC protocol.
Definition: lte-rrc-sap.h:815
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:343
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual void RecvRrcConnectionSetup(RrcConnectionSetup msg)=0
Receive an RRCConnectionSetup message from the serving eNodeB during an RRC connection establishment ...
Template for the implementation of the LteUeRrcSapProvider as a member of an owner class of type C to...
Definition: lte-rrc-sap.h:1076
uint8_t maxReportCells
Maximum number of cells, excluding the serving cell, to be included in the measurement report...
Definition: lte-rrc-sap.h:373
virtual void CompleteSetup(CompleteSetupParameters params)=0
enum ns3::LteRrcSap::ReportConfigEutra::@75 reportInterval
Indicates the interval between periodical reports.
RadioResourceConfigDedicated radioResourceConfigDedicated
Definition: lte-rrc-sap.h:629
virtual void RecvRrcConnectionRequest(uint16_t rnti, RrcConnectionRequest msg)=0
Receive an RRCConnectionRequest message from a UE during an RRC connection establishment procedure (S...
enum ns3::LteRrcSap::ReportConfigEutra::@72 purpose
MeasGapConfig measGapConfig
Definition: lte-rrc-sap.h:471
uint8_t range
Value range used in RSRP/RSRQ threshold.
Definition: lte-rrc-sap.h:317
uint8_t reportAmount
Number of measurement reports applicable, always assumed to be infinite.
Definition: lte-rrc-sap.h:396
static EventId ScheduleNow(MEM mem_ptr, OBJ obj)
Schedule an event to expire Now.
Definition: simulator.h:1401
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:536
Event A5: PCell becomes worse than absolute threshold1 AND Neighbour becomes better than another abso...
Definition: lte-rrc-sap.h:335
virtual void SendMeasurementReport(MeasurementReport msg)
Send a MeasurementReport message to the serving eNodeB during a measurement reporting procedure (Sect...
Definition: lte-rrc-sap.h:1065
RadioResourceConfigCommon radioResourceConfigCommon
Definition: lte-rrc-sap.h:504
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:502
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:346
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:220
SpeedStatePars speedStatePars
Definition: lte-rrc-sap.h:475
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:1305
std::list< uint8_t > blackCellsToRemoveList
Definition: lte-rrc-sap.h:295
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:254
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:1366
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:1373
Event A3: Neighbour becomes amount of offset better than PCell.
Definition: lte-rrc-sap.h:333
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:1345
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:543
virtual void RecvRrcConnectionReestablishmentReject(RrcConnectionReestablishmentReject msg)
Receive an RRCConnectionReestablishmentReject message from the serving eNodeB during an RRC connectio...
Definition: lte-rrc-sap.h:1144
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:1244
Class holding definition common to all UE/eNodeB SAP Users/Providers.
Definition: lte-rrc-sap.h:56
RSRQ is used for the threshold.
Definition: lte-rrc-sap.h:315
virtual void RecvRrcConnectionReject(RrcConnectionReject msg)
Receive an RRCConnectionReject message from the serving eNodeB during an RRC connection establishment...
Definition: lte-rrc-sap.h:1158
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
enum ns3::LteRrcSap::ReportConfigEutra::@74 reportQuantity
The quantities to be included in the measurement report, always assumed to be BOTH.
Template for the implementation of the LteUeRrcSapUser as a member of an owner class of type C to whi...
Definition: lte-rrc-sap.h:991
virtual void Setup(SetupParameters params)
Definition: lte-rrc-sap.h:1023
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:293
enum ns3::LteRrcSap::SoundingRsUlConfigDedicated::@67 type
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:671
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:1237
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:352
Threshold for event evaluation.
Definition: lte-rrc-sap.h:310
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:466
virtual void SendRrcConnectionReestablishmentComplete(RrcConnectionReestablishmentComplete msg)
Send an RRCConnectionReestablishmentComplete message to the serving eNodeB during an RRC connection r...
Definition: lte-rrc-sap.h:1058
std::list< ReportConfigToAddMod > reportConfigToAddModList
Definition: lte-rrc-sap.h:465
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:1380
enum ns3::LteRrcSap::SpeedStatePars::@78 type
Event A1: Serving becomes better than absolute threshold.
Definition: lte-rrc-sap.h:331
virtual void CompleteSetupUe(uint16_t rnti, CompleteSetupUeParameters params)
Definition: lte-rrc-sap.h:1338
SpeedStateScaleFactors timeToTriggerSf
Definition: lte-rrc-sap.h:457
virtual void SendRrcConnectionReestablishmentRequest(RrcConnectionReestablishmentRequest msg)
Send an RRCConnectionReestablishmentRequest message to the serving eNodeB during an RRC connection re...
Definition: lte-rrc-sap.h:1051
virtual RrcConnectionReconfiguration DecodeHandoverCommand(Ptr< Packet > p)
Definition: lte-rrc-sap.h:1294
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:237
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:1230
Reference Signal Received Quality.
Definition: lte-rrc-sap.h:363
MasterInformationBlock sourceMasterInformationBlock
Definition: lte-rrc-sap.h:551
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:340