30 #include <ns3/simulator.h>
36 class LteRlcSapProvider;
37 class LtePdcpSapProvider;
62 uint32_t plmnIdentity;
68 uint32_t cellIdentity;
75 uint16_t ulCarrierFreq;
85 UM_UNI_DIRECTIONAL_UL,
93 uint16_t prioritizedBitRateKbps;
94 uint16_t bucketSizeDurationMs;
95 uint8_t logicalChannelGroup;
100 enum {SETUP, RESET} type;
101 uint8_t srsBandwidthConfig;
102 uint8_t srsSubframeConfig;
107 enum {SETUP, RESET} type;
108 uint8_t srsBandwidth;
109 uint16_t srsConfigIndex;
114 uint8_t transmissionMode;
120 bool haveSoundingRsUlConfigDedicated;
122 bool haveAntennaInfoDedicated;
135 uint8_t epsBearerIdentity;
138 uint8_t logicalChannelIdentity;
144 uint8_t numberOfRaPreambles;
149 uint8_t preambleTransMax;
150 uint8_t raResponseWindowSize;
171 std::list<SrbToAddMod> srbToAddModList;
172 std::list<DrbToAddMod> drbToAddModList;
173 std::list<uint8_t> drbToReleaseList;
174 bool havePhysicalConfigDedicated;
180 uint8_t filterCoefficientRSRP;
181 uint8_t filterCoefficientRSRQ;
188 int8_t cellIndividualOffset;
206 uint16_t carrierFreq;
207 uint8_t allowedMeasBandwidth;
208 bool presenceAntennaPort1;
209 uint8_t neighCellConfig;
211 std::list<uint8_t> cellsToRemoveList;
212 std::list<CellsToAddMod> cellsToAddModList;
213 std::list<uint8_t> blackCellsToRemoveList;
214 std::list<BlackCellsToAddMod> blackCellsToAddModList;
215 bool haveCellForWhichToReportCGI;
216 uint8_t cellForWhichToReportCGI;
221 enum {thresholdRsrp, thresholdRsrq} choice;
227 enum {event,periodical} triggerType;
228 enum {eventA1,eventA2,eventA3,eventA4,eventA5} eventId;
234 uint16_t timeToTrigger;
235 enum {reportStrongestCells, reportCgi} purpose;
236 enum {rsrp, rsrq} triggerQuantity;
237 enum {sameAsTriggerQuantity, both} reportQuantity;
238 uint8_t maxReportCells;
239 enum {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240,
240 min1, min6, min12, min30, min60, spare3, spare2, spare1} reportInterval;
241 uint8_t reportAmount;
246 uint8_t measObjectId;
252 uint8_t reportConfigId;
259 uint8_t measObjectId;
260 uint8_t reportConfigId;
265 enum {SETUP, RESET} type;
266 enum {gp0, gp1} gapOffsetChoice;
267 uint8_t gapOffsetValue;
274 uint8_t nCellChangeMedium;
275 uint8_t nCellChangeHigh;
287 enum {SETUP, RESET} type;
294 std::list<uint8_t> measObjectToRemoveList;
295 std::list<MeasObjectToAddMod> measObjectToAddModList;
296 std::list<uint8_t> reportConfigToRemoveList;
297 std::list<ReportConfigToAddMod> reportConfigToAddModList;
298 std::list<uint8_t> measIdToRemoveList;
299 std::list<MeasIdToAddMod> measIdToAddModList;
300 bool haveQuantityConfig;
302 bool haveMeasGapConfig;
306 bool haveSpeedStatePars;
312 uint16_t dlCarrierFreq;
313 uint16_t ulCarrierFreq;
324 uint8_t raPreambleIndex;
325 uint8_t raPrachMaskIndex;
330 uint16_t targetPhysCellId;
331 bool haveCarrierFreq;
333 bool haveCarrierBandwidth;
335 uint16_t newUeIdentity;
337 bool haveRachConfigDedicated;
347 enum ReestablishmentCause
349 RECONFIGURATION_FAILURE,
357 uint8_t systemFrameNumber;
381 uint16_t sourceUeIdentity;
385 uint16_t sourceDlCarrierFreq;
390 uint32_t plmnIdentity;
391 uint32_t cellIdentity;
392 uint16_t trackingAreaCode;
393 std::list<uint32_t> plmnIdentityList;
412 bool haveMeasResultNeighCells;
413 std::list<MeasResultEutra> measResultListEutra;
425 uint8_t rrcTransactionIdentifier;
431 uint8_t rrcTransactionIdentifier;
436 uint8_t rrcTransactionIdentifier;
439 bool haveMobilityControlInfo;
441 bool haveRadioResourceConfigDedicated;
447 uint8_t rrcTransactionIdentifier;
454 ReestablishmentCause reestablishmentCause;
459 uint8_t rrcTransactionIdentifier;
465 uint8_t rrcTransactionIdentifier;
474 uint8_t rrcTransactionIdentifier;
568 virtual void RemoveUe (uint16_t rnti) = 0;
653 MemberLteUeRrcSapUser<C>::MemberLteUeRrcSapUser ()
659 MemberLteUeRrcSapUser<C>::Setup (SetupParameters params)
661 m_owner->DoSetup (params);
666 MemberLteUeRrcSapUser<C>::SendRrcConnectionRequest (RrcConnectionRequest msg)
668 m_owner->DoSendRrcConnectionRequest (msg);
673 MemberLteUeRrcSapUser<C>::SendRrcConnectionSetupCompleted (RrcConnectionSetupCompleted msg)
675 m_owner->DoSendRrcConnectionSetupCompleted (msg);
680 MemberLteUeRrcSapUser<C>::SendRrcConnectionReconfigurationCompleted (RrcConnectionReconfigurationCompleted msg)
682 m_owner->DoSendRrcConnectionReconfigurationCompleted (msg) ;
687 MemberLteUeRrcSapUser<C>::SendRrcConnectionReestablishmentRequest (RrcConnectionReestablishmentRequest msg)
689 m_owner->DoSendRrcConnectionReestablishmentRequest (msg);
694 MemberLteUeRrcSapUser<C>::SendRrcConnectionReestablishmentComplete (RrcConnectionReestablishmentComplete msg)
696 m_owner->DoSendRrcConnectionReestablishmentComplete (msg);
734 MemberLteUeRrcSapProvider<C>::MemberLteUeRrcSapProvider ()
740 MemberLteUeRrcSapProvider<C>::CompleteSetup (CompleteSetupParameters params)
742 m_owner->DoCompleteSetup (params);
747 MemberLteUeRrcSapProvider<C>::RecvMasterInformationBlock (MasterInformationBlock msg)
754 MemberLteUeRrcSapProvider<C>::RecvSystemInformationBlockType1 (SystemInformationBlockType1 msg)
761 MemberLteUeRrcSapProvider<C>::RecvSystemInformation (SystemInformation msg)
768 MemberLteUeRrcSapProvider<C>::RecvRrcConnectionSetup (RrcConnectionSetup msg)
775 MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReconfiguration (RrcConnectionReconfiguration msg)
782 MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReestablishment (RrcConnectionReestablishment msg)
789 MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReestablishmentReject (RrcConnectionReestablishmentReject msg)
796 MemberLteUeRrcSapProvider<C>::RecvRrcConnectionRelease (RrcConnectionRelease msg)
803 MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReject (RrcConnectionReject msg)
823 virtual void RemoveUe (uint16_t rnti);
850 MemberLteEnbRrcSapUser<C>::MemberLteEnbRrcSapUser ()
856 MemberLteEnbRrcSapUser<C>::SetupUe (uint16_t rnti, SetupUeParameters params)
858 m_owner->DoSetupUe (rnti, params);
863 MemberLteEnbRrcSapUser<C>::RemoveUe (uint16_t rnti)
865 m_owner->DoRemoveUe (rnti);
870 MemberLteEnbRrcSapUser<C>::SendMasterInformationBlock (MasterInformationBlock msg)
872 m_owner->DoSendMasterInformationBlock (msg);
877 MemberLteEnbRrcSapUser<C>::SendSystemInformationBlockType1 (SystemInformationBlockType1 msg)
879 m_owner->DoSendSystemInformationBlockType1 (msg);
884 MemberLteEnbRrcSapUser<C>::SendSystemInformation (SystemInformation msg)
886 m_owner->DoSendSystemInformation (msg);
891 MemberLteEnbRrcSapUser<C>::SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg)
893 m_owner->DoSendRrcConnectionSetup (rnti, msg) ;
898 MemberLteEnbRrcSapUser<C>::SendRrcConnectionReconfiguration (uint16_t rnti, RrcConnectionReconfiguration msg)
900 m_owner->DoSendRrcConnectionReconfiguration (rnti, msg);
905 MemberLteEnbRrcSapUser<C>::SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg)
907 m_owner->DoSendRrcConnectionReestablishment (rnti, msg);
912 MemberLteEnbRrcSapUser<C>::SendRrcConnectionReestablishmentReject (uint16_t rnti, RrcConnectionReestablishmentReject msg)
914 m_owner->DoSendRrcConnectionReestablishmentReject (rnti, msg);
919 MemberLteEnbRrcSapUser<C>::SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg)
921 m_owner->DoSendRrcConnectionRelease (rnti, msg);
926 MemberLteEnbRrcSapUser<C>::SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg)
928 m_owner->DoSendRrcConnectionReject (rnti, msg);
933 MemberLteEnbRrcSapUser<C>::EncodeHandoverPreparationInformation (HandoverPreparationInfo msg)
935 return m_owner->DoEncodeHandoverPreparationInformation (msg);
939 LteRrcSap::HandoverPreparationInfo
940 MemberLteEnbRrcSapUser<C>::DecodeHandoverPreparationInformation (Ptr<Packet> p)
942 return m_owner->DoDecodeHandoverPreparationInformation (p);
948 MemberLteEnbRrcSapUser<C>::EncodeHandoverCommand (RrcConnectionReconfiguration msg)
950 return m_owner->DoEncodeHandoverCommand (msg);
954 LteRrcSap::RrcConnectionReconfiguration
955 MemberLteEnbRrcSapUser<C>::DecodeHandoverCommand (Ptr<Packet> p)
957 return m_owner->DoDecodeHandoverCommand (p);
993 MemberLteEnbRrcSapProvider<C>::MemberLteEnbRrcSapProvider ()
999 MemberLteEnbRrcSapProvider<C>::CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params)
1001 m_owner->DoCompleteSetupUe (rnti, params);
1006 MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionRequest (uint16_t rnti, RrcConnectionRequest msg)
1013 MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionSetupCompleted (uint16_t rnti, RrcConnectionSetupCompleted msg)
1020 MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionReconfigurationCompleted (uint16_t rnti, RrcConnectionReconfigurationCompleted msg)
1027 MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionReestablishmentRequest (uint16_t rnti, RrcConnectionReestablishmentRequest msg)
1034 MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionReestablishmentComplete (uint16_t rnti, RrcConnectionReestablishmentComplete msg)
1041 MemberLteEnbRrcSapProvider<C>::RecvMeasurementReport (uint16_t rnti, MeasurementReport msg)
1062 #endif // LTE_RRC_SAP_H
static EventId ScheduleNow(MEM mem_ptr, OBJ obj)