20#include "ns3/boolean.h"
21#include "ns3/double.h"
24#include "ns3/lte-rrc-header.h"
25#include "ns3/lte-rrc-sap.h"
26#include "ns3/packet.h"
28#include "ns3/string.h"
53 std::vector<uint8_t> buffer(pkt->GetSize());
54 std::ostringstream oss(std::ostringstream::out);
55 pkt->CopyData(buffer.data(), buffer.size());
58 oss << std::setfill(
'0') << std::setw(2) << std::hex << +b <<
" ";
60 return std::string(oss.str() +
"\n");
70 std::vector<uint8_t> buffer(pkt->GetSize());
71 std::ostringstream oss(std::ostringstream::out);
72 pkt->CopyData(buffer.data(), buffer.size());
75 oss << (std::bitset<8>(b));
77 return std::string(oss.str() +
"\n");
86 NS_LOG_DEBUG(
"---- SERIALIZED PACKET CONTENTS (HEX): -------");
99 NS_LOG_DEBUG(
"--------- " << s.data() <<
" INFO: -------");
100 std::ostringstream oss(std::ostringstream::out);
206 "SrbToAddModList different sizes");
208 std::list<LteRrcSap::SrbToAddMod> srcSrbToAddModList = rrcd1.
srbToAddModList;
209 auto it1 = srcSrbToAddModList.begin();
210 std::list<LteRrcSap::SrbToAddMod> dstSrbToAddModList = rrcd2.
srbToAddModList;
211 auto it2 = dstSrbToAddModList.begin();
213 for (; it1 != srcSrbToAddModList.end(); it1++, it2++)
217 it2->logicalChannelConfig.priority,
218 "logicalChannelConfig.priority");
220 it2->logicalChannelConfig.prioritizedBitRateKbps,
221 "logicalChannelConfig.prioritizedBitRateKbps");
223 it2->logicalChannelConfig.bucketSizeDurationMs,
224 "logicalChannelConfig.bucketSizeDurationMs");
226 it2->logicalChannelConfig.logicalChannelGroup,
227 "logicalChannelConfig.logicalChannelGroup");
232 "DrbToAddModList different sizes");
234 std::list<LteRrcSap::DrbToAddMod> srcDrbToAddModList = rrcd1.
drbToAddModList;
235 auto it3 = srcDrbToAddModList.begin();
236 std::list<LteRrcSap::DrbToAddMod> dstDrbToAddModList = rrcd2.
drbToAddModList;
237 auto it4 = dstDrbToAddModList.begin();
239 for (; it3 != srcDrbToAddModList.end(); it3++, it4++)
245 it4->logicalChannelIdentity,
246 "logicalChannelIdentity");
250 it4->logicalChannelConfig.priority,
251 "logicalChannelConfig.priority");
253 it4->logicalChannelConfig.prioritizedBitRateKbps,
254 "logicalChannelConfig.prioritizedBitRateKbps");
256 it4->logicalChannelConfig.bucketSizeDurationMs,
257 "logicalChannelConfig.bucketSizeDurationMs");
259 it4->logicalChannelConfig.logicalChannelGroup,
260 "logicalChannelConfig.logicalChannelGroup");
265 "DrbToReleaseList different sizes");
269 auto it5 = srcDrbToReleaseList.begin();
270 auto it6 = dstDrbToReleaseList.begin();
272 for (; it5 != srcDrbToReleaseList.end(); it5++, it6++)
279 "HavePhysicalConfigDedicated");
285 "haveSoundingRsUlConfigDedicated");
289 "soundingRsUlConfigDedicated.type");
293 "soundingRsUlConfigDedicated.srsBandwidth");
298 "soundingRsUlConfigDedicated.srsConfigIndex");
302 "haveAntennaInfoDedicated");
308 "antennaInfo.transmissionMode");
313 "havePdschConfigDedicated");
319 "pdschConfigDedicated.pa");
333 void DoRun()
override;
344 packet = Create<Packet>();
345 NS_LOG_DEBUG(
"============= RrcConnectionRequestTestCase ===========");
354 TestUtils::LogPacketInfo<RrcConnectionRequestHeader>(source,
"SOURCE");
367 TestUtils::LogPacketInfo<RrcConnectionRequestHeader>(destination,
"DESTINATION");
385 void DoRun()
override;
396 packet = Create<Packet>();
397 NS_LOG_DEBUG(
"============= RrcConnectionSetupTestCase ===========");
407 TestUtils::LogPacketInfo<RrcConnectionSetupHeader>(source,
"SOURCE");
420 TestUtils::LogPacketInfo<RrcConnectionSetupHeader>(destination,
"DESTINATION");
425 "RrcTransactionIdentifier");
442 void DoRun()
override;
453 packet = Create<Packet>();
454 NS_LOG_DEBUG(
"============= RrcConnectionSetupCompleteTestCase ===========");
463 TestUtils::LogPacketInfo<RrcConnectionSetupCompleteHeader>(source,
"SOURCE");
476 TestUtils::LogPacketInfo<RrcConnectionSetupCompleteHeader>(destination,
"DESTINATION");
481 "RrcTransactionIdentifier");
495 void DoRun()
override;
506 packet = Create<Packet>();
507 NS_LOG_DEBUG(
"============= RrcConnectionReconfigurationCompleteTestCase ===========");
516 TestUtils::LogPacketInfo<RrcConnectionReconfigurationCompleteHeader>(source,
"SOURCE");
529 TestUtils::LogPacketInfo<RrcConnectionReconfigurationCompleteHeader>(destination,
535 "RrcTransactionIdentifier");
549 void DoRun()
override;
560 packet = Create<Packet>();
561 NS_LOG_DEBUG(
"============= RrcConnectionReconfigurationTestCase ===========");
566 msg.haveMeasConfig =
true;
568 msg.measConfig.haveQuantityConfig =
true;
569 msg.measConfig.quantityConfig.filterCoefficientRSRP = 8;
570 msg.measConfig.quantityConfig.filterCoefficientRSRQ = 7;
572 msg.measConfig.haveMeasGapConfig =
true;
575 msg.measConfig.measGapConfig.gapOffsetValue = 21;
577 msg.measConfig.haveSmeasure =
true;
578 msg.measConfig.sMeasure = 57;
580 msg.measConfig.haveSpeedStatePars =
true;
582 msg.measConfig.speedStatePars.mobilityStateParameters.tEvaluation = 240;
583 msg.measConfig.speedStatePars.mobilityStateParameters.tHystNormal = 60;
584 msg.measConfig.speedStatePars.mobilityStateParameters.nCellChangeMedium = 5;
585 msg.measConfig.speedStatePars.mobilityStateParameters.nCellChangeHigh = 13;
586 msg.measConfig.speedStatePars.timeToTriggerSf.sfMedium = 25;
587 msg.measConfig.speedStatePars.timeToTriggerSf.sfHigh = 75;
589 msg.measConfig.measObjectToRemoveList.push_back(23);
590 msg.measConfig.measObjectToRemoveList.push_back(13);
592 msg.measConfig.reportConfigToRemoveList.push_back(7);
593 msg.measConfig.reportConfigToRemoveList.push_back(16);
595 msg.measConfig.measIdToRemoveList.push_back(4);
596 msg.measConfig.measIdToRemoveList.push_back(18);
622 msg.measConfig.measObjectToAddModList.push_back(measObjectToAddMod);
647 msg.measConfig.reportConfigToAddModList.push_back(reportConfigToAddMod);
652 measIdToAddMod.
measId = 7;
655 measIdToAddMod2.
measId = 4;
658 msg.measConfig.measIdToAddModList.push_back(measIdToAddMod);
659 msg.measConfig.measIdToAddModList.push_back(measIdToAddMod2);
661 msg.haveMobilityControlInfo =
true;
662 msg.mobilityControlInfo.targetPhysCellId = 4;
663 msg.mobilityControlInfo.haveCarrierFreq =
true;
664 msg.mobilityControlInfo.carrierFreq.dlCarrierFreq = 3;
665 msg.mobilityControlInfo.carrierFreq.ulCarrierFreq = 5;
666 msg.mobilityControlInfo.haveCarrierBandwidth =
true;
667 msg.mobilityControlInfo.carrierBandwidth.dlBandwidth = 50;
668 msg.mobilityControlInfo.carrierBandwidth.ulBandwidth = 25;
669 msg.mobilityControlInfo.newUeIdentity = 11;
670 msg.mobilityControlInfo.haveRachConfigDedicated =
true;
671 msg.mobilityControlInfo.rachConfigDedicated.raPreambleIndex = 2;
672 msg.mobilityControlInfo.rachConfigDedicated.raPrachMaskIndex = 2;
673 msg.mobilityControlInfo.radioResourceConfigCommon.rachConfigCommon.preambleInfo
674 .numberOfRaPreambles = 4;
675 msg.mobilityControlInfo.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo
676 .preambleTransMax = 3;
677 msg.mobilityControlInfo.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo
678 .raResponseWindowSize = 6;
680 msg.haveRadioResourceConfigDedicated =
true;
684 msg.haveNonCriticalExtension =
false;
689 TestUtils::LogPacketInfo<RrcConnectionReconfigurationHeader>(source,
"SOURCE");
702 TestUtils::LogPacketInfo<RrcConnectionReconfigurationHeader>(destination,
"DESTINATION");
707 "RrcTransactionIdentifier");
710 "GetHaveMeasConfig");
713 "GetHaveMobilityControlInfo");
716 "GetHaveRadioResourceConfigDedicated");
722 "GetMobilityControlInfo().targetPhysCellId");
725 "GetMobilityControlInfo().haveCarrierFreq");
728 "GetMobilityControlInfo().haveCarrierBandwidth");
731 "GetMobilityControlInfo().newUeIdentity");
734 "GetMobilityControlInfo().haveRachConfigDedicated");
740 "GetMobilityControlInfo().carrierFreq.dlCarrierFreq");
743 "GetMobilityControlInfo().carrierFreq.ulCarrierFreq");
750 "GetMobilityControlInfo().carrierBandwidth.dlBandwidth");
753 "GetMobilityControlInfo().carrierBandwidth.ulBandwidth");
761 "GetMobilityControlInfo().rachConfigDedicated.raPreambleIndex");
765 "GetMobilityControlInfo().rachConfigDedicated.raPrachMaskIndex");
787 void DoRun()
override;
798 packet = Create<Packet>();
799 NS_LOG_DEBUG(
"============= HandoverPreparationInfoTestCase ===========");
832 TestUtils::LogPacketInfo<HandoverPreparationInfoHeader>(source,
"SOURCE");
845 TestUtils::LogPacketInfo<HandoverPreparationInfoHeader>(destination,
"DESTINATION");
858 "systemFrameNumber");
882 "sourceDlCarrierFreq");
896 void DoRun()
override;
907 packet = Create<Packet>();
908 NS_LOG_DEBUG(
"============= RrcConnectionReestablishmentRequestTestCase ===========");
919 TestUtils::LogPacketInfo<RrcConnectionReestablishmentRequestHeader>(source,
"SOURCE");
932 TestUtils::LogPacketInfo<RrcConnectionReestablishmentRequestHeader>(destination,
"DESTINATION");
941 "ReestablishmentCause");
955 void DoRun()
override;
966 packet = Create<Packet>();
967 NS_LOG_DEBUG(
"============= RrcConnectionReestablishmentTestCase ===========");
977 TestUtils::LogPacketInfo<RrcConnectionReestablishmentHeader>(source,
"SOURCE");
990 TestUtils::LogPacketInfo<RrcConnectionReestablishmentHeader>(destination,
"DESTINATION");
995 "rrcTransactionIdentifier");
1011 void DoRun()
override;
1022 packet = Create<Packet>();
1023 NS_LOG_DEBUG(
"============= RrcConnectionReestablishmentCompleteTestCase ===========");
1032 TestUtils::LogPacketInfo<RrcConnectionReestablishmentCompleteHeader>(source,
"SOURCE");
1045 TestUtils::LogPacketInfo<RrcConnectionReestablishmentCompleteHeader>(destination,
1051 "rrcTransactionIdentifier");
1065 void DoRun()
override;
1076 packet = Create<Packet>();
1077 NS_LOG_DEBUG(
"============= RrcConnectionRejectTestCase ===========");
1086 TestUtils::LogPacketInfo<RrcConnectionRejectHeader>(source,
"SOURCE");
1099 TestUtils::LogPacketInfo<RrcConnectionRejectHeader>(destination,
"DESTINATION");
1104 "Different waitTime!");
1118 void DoRun()
override;
1129 packet = Create<Packet>();
1130 NS_LOG_DEBUG(
"============= MeasurementReportTestCase ===========");
1156 TestUtils::LogPacketInfo<MeasurementReportHeader>(source,
"SOURCE");
1169 TestUtils::LogPacketInfo<MeasurementReportHeader>(destination,
"DESTINATION");
1178 "Different rsrpResult!");
1181 "Different rsrqResult!");
1184 "Different haveMeasResultNeighCells!");
1195 if (itsrc->haveCgiInfo)
1198 itdst->cgiInfo.plmnIdentity,
1199 "Different cgiInfo.plmnIdentity!");
1201 itdst->cgiInfo.cellIdentity,
1202 "Different cgiInfo.cellIdentity!");
1204 itdst->cgiInfo.trackingAreaCode,
1205 "Different cgiInfo.trackingAreaCode!");
1207 itdst->cgiInfo.plmnIdentityList.size(),
1208 "Different cgiInfo.plmnIdentityList.size()!");
1210 if (!itsrc->cgiInfo.plmnIdentityList.empty())
1212 auto itsrc2 = itsrc->cgiInfo.plmnIdentityList.begin();
1213 auto itdst2 = itdst->cgiInfo.plmnIdentityList.begin();
1214 for (; itsrc2 != itsrc->cgiInfo.plmnIdentityList.begin(); itsrc2++, itdst2++)
1222 itdst->haveRsrpResult,
1223 "Different haveRsrpResult!");
1224 if (itsrc->haveRsrpResult)
1228 "Different rsrpResult!");
1232 itdst->haveRsrqResult,
1233 "Different haveRsrqResult!");
1234 if (itsrc->haveRsrqResult)
1238 "Different rsrqResult!");
Handover Preparation Info Test Case.
HandoverPreparationInfoTestCase()
void DoRun() override
Implementation to actually run this TestCase.
Measurement Report Test Case.
void DoRun() override
Implementation to actually run this TestCase.
MeasurementReportTestCase()
Rrc Connection Reconfiguration Complete Test Case.
void DoRun() override
Implementation to actually run this TestCase.
RrcConnectionReconfigurationCompleteTestCase()
Rrc Connection Reconfiguration Test Case.
RrcConnectionReconfigurationTestCase()
void DoRun() override
Implementation to actually run this TestCase.
Rrc Connection Reestablishment Complete Test Case.
void DoRun() override
Implementation to actually run this TestCase.
RrcConnectionReestablishmentCompleteTestCase()
Rrc Connection Reestablishment Request Test Case.
void DoRun() override
Implementation to actually run this TestCase.
RrcConnectionReestablishmentRequestTestCase()
Rrc Connection Reestablishment Test Case.
RrcConnectionReestablishmentTestCase()
void DoRun() override
Implementation to actually run this TestCase.
Rrc Connection Reject Test Case.
void DoRun() override
Implementation to actually run this TestCase.
RrcConnectionRejectTestCase()
Rrc Connection Request Test Case.
void DoRun() override
Implementation to actually run this TestCase.
RrcConnectionRequestTestCase()
Rrc Connection Setup Complete Test Case.
void DoRun() override
Implementation to actually run this TestCase.
RrcConnectionSetupCompleteTestCase()
Rrc Connection Setup Test Case.
void DoRun() override
Implementation to actually run this TestCase.
RrcConnectionSetupTestCase()
Contains ASN encoding test utility functions.
static void LogPacketContents(Ptr< Packet > pkt)
Function to log packet contents.
static void LogPacketInfo(T source, std::string s)
Function to log packet info.
static std::string sprintPacketContentsHex(Ptr< Packet > pkt)
Function to convert packet contents in hex format.
static std::string sprintPacketContentsBin(Ptr< Packet > pkt)
Function to convert packet contents in binary format.
This class manages the serialization/deserialization of HandoverPreparationInfo IE.
void SetMessage(LteRrcSap::HandoverPreparationInfo msg)
Receives a HandoverPreparationInfo IE and stores the contents into the class attributes.
LteRrcSap::AsConfig GetAsConfig() const
Getter for m_asConfig.
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
void AddHeader(const Header &header)
Add header to this packet.
Smart pointer class similar to boost::intrusive_ptr.
void AddTestCase(TestCase *testCase, Duration duration=Duration::QUICK)
Add an individual child TestCase to this test suite.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Asn1EncodingSuite g_asn1EncodingSuite
Static variable for test initialization.
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t transmissionMode
transmission mode
RadioResourceConfigDedicated sourceRadioResourceConfig
source radio resource config
MasterInformationBlock sourceMasterInformationBlock
source master information block
uint16_t sourceUeIdentity
source UE identity
MeasConfig sourceMeasConfig
source measure config
uint32_t sourceDlCarrierFreq
source DL carrier frequency
SystemInformationBlockType1 sourceSystemInformationBlockType1
source system information block type 1
SystemInformationBlockType2 sourceSystemInformationBlockType2
source system information block type 2
BlackCellsToAddMod structure.
uint8_t cellIndex
cell index
PhysCellIdRange physCellIdRange
Phy cell ID range.
uint16_t dlBandwidth
DL bandwidth.
uint16_t ulBandwidth
UL bandwidth.
uint32_t dlCarrierFreq
DL carrier frequency.
uint32_t ulCarrierFreq
UL carrier frequency.
int8_t cellIndividualOffset
cell individual offset
uint8_t cellIndex
cell index
uint16_t physCellId
Phy cell ID.
uint32_t cellIdentity
cell identity
uint32_t plmnIdentity
PLMN identity.
uint16_t trackingAreaCode
tracking area code
uint8_t epsBearerIdentity
EPS bearer identity.
RlcConfig rlcConfig
RLC config.
uint8_t logicalChannelIdentity
logical channel identify
uint8_t drbIdentity
DRB identity.
LogicalChannelConfig logicalChannelConfig
logical channel config
uint32_t ulCarrierFreq
UL carrier frequency.
uint16_t ulBandwidth
UL bandwidth.
HandoverPreparationInfo structure.
AsConfig asConfig
AS config.
LogicalChannelConfig structure.
uint16_t bucketSizeDurationMs
bucket size duration ms
uint16_t prioritizedBitRateKbps
prioritized bit rate Kbps
uint8_t logicalChannelGroup
logical channel group
bool haveMeasGapConfig
have measure gap config?
bool haveSmeasure
have S measure?
bool haveSpeedStatePars
have speed state parameters?
bool haveQuantityConfig
have quantity config?
MeasIdToAddMod structure.
uint8_t measObjectId
measure object ID
uint8_t reportConfigId
report config ID
std::list< uint8_t > cellsToRemoveList
cells to remove list
bool haveCellForWhichToReportCGI
have cell for which to report CGI?
std::list< CellsToAddMod > cellsToAddModList
cells to add mod list
uint16_t allowedMeasBandwidth
allowed measure bandwidth
int8_t offsetFreq
offset frequency
uint8_t neighCellConfig
neighbor cell config
uint16_t cellForWhichToReportCGI
cell for which to report CGI
bool presenceAntennaPort1
antenna port 1 present?
std::list< uint8_t > blackCellsToRemoveList
black cells to remove list
std::list< BlackCellsToAddMod > blackCellsToAddModList
black cells to add mod list
uint32_t carrierFreq
carrier frequency
MeasObjectToAddMod structure.
uint8_t measObjectId
measure object ID
MeasObjectEutra measObjectEutra
measure object eutra
MeasResultEutra structure.
uint8_t rsrqResult
RSRQ result.
uint8_t rsrpResult
RSRP result.
bool haveRsrpResult
have RSRP result
bool haveRsrqResult
have RSRQ result?
uint16_t physCellId
Phy cell ID.
bool haveCgiInfo
have CGI info?
uint8_t rsrqResult
the RSRQ result
uint8_t rsrpResult
the RSRP result
bool haveMeasResultNeighCells
have measure result neighbor cells
std::list< MeasResultEutra > measResultListEutra
measure result list eutra
bool haveMeasResultServFreqList
has measResultServFreqList-r10
MeasResultPCell measResultPCell
measurement result primary cell
MeasurementReport structure.
MeasResults measResults
measure results
RachConfigDedicated rachConfigDedicated
RACH config dedicated.
bool haveRachConfigDedicated
Have RACH config dedicated?
uint16_t newUeIdentity
new UE identity
bool haveCarrierBandwidth
have carrier bandwidth?
bool haveCarrierFreq
have carrier frequency?
CarrierBandwidthEutra carrierBandwidth
carrier bandwidth
CarrierFreqEutra carrierFreq
carrier frequency
uint16_t targetPhysCellId
target Phy cell ID
bool haveRange
has a range?
uint16_t start
starting cell ID
PhysicalConfigDedicated structure.
PdschConfigDedicated pdschConfigDedicated
PDSCH config dedicated.
bool haveAntennaInfoDedicated
have antenna info dedicated?
SoundingRsUlConfigDedicated soundingRsUlConfigDedicated
sounding RS UL config dedicated
bool haveSoundingRsUlConfigDedicated
have sounding RS UL config dedicated?
bool havePdschConfigDedicated
have PDSCH config dedicated?
AntennaInfoDedicated antennaInfo
antenna info
uint32_t plmnIdentity
PLMN identity.
uint8_t numberOfRaPreambles
number of RA preambles
uint8_t raResponseWindowSize
RA response window size.
uint8_t preambleTransMax
preamble transmit maximum
PreambleInfo preambleInfo
preamble info
RaSupervisionInfo raSupervisionInfo
RA supervision info.
uint8_t raPreambleIndex
RA preamble index.
uint8_t raPrachMaskIndex
RA PRACH mask index.
RachConfigCommon rachConfigCommon
RACH config common.
RadioResourceConfigDedicated structure.
PhysicalConfigDedicated physicalConfigDedicated
physical config dedicated
std::list< uint8_t > drbToReleaseList
DRB to release list.
bool havePhysicalConfigDedicated
have physical config dedicated?
std::list< DrbToAddMod > drbToAddModList
DRB to add mod list.
std::list< SrbToAddMod > srbToAddModList
SRB to add mod list.
uint16_t physCellId
Phy cell ID.
bool reportOnLeave
Indicates whether or not the UE shall initiate the measurement reporting procedure when the leaving c...
uint8_t maxReportCells
Maximum number of cells, excluding the serving cell, to be included in the measurement report.
enum ns3::LteRrcSap::ReportConfigEutra::@62 eventId
Event enumeration.
enum ns3::LteRrcSap::ReportConfigEutra::@61 triggerType
Trigger enumeration.
uint8_t hysteresis
Parameter used within the entry and leave condition of an event triggered reporting condition.
@ RSRQ
Reference Signal Received Quality.
@ EVENT_A2
Event A2: Serving becomes worse than absolute threshold.
uint8_t reportAmount
Number of measurement reports applicable, always assumed to be infinite.
enum ns3::LteRrcSap::ReportConfigEutra::@65 reportInterval
Report interval enumeration.
ThresholdEutra threshold2
Threshold for event A5.
enum ns3::LteRrcSap::ReportConfigEutra::@63 triggerQuantity
Trigger type enumeration.
@ SAME_AS_TRIGGER_QUANTITY
ThresholdEutra threshold1
Threshold for event A1, A2, A4, and A5.
enum ns3::LteRrcSap::ReportConfigEutra::@64 reportQuantity
Report type enumeration.
int8_t a3Offset
Offset value for Event A3.
uint16_t timeToTrigger
Time during which specific criteria for the event needs to be met in order to trigger a measurement r...
ReportConfigToAddMod structure.
uint8_t reportConfigId
report config ID
ReportConfigEutra reportConfigEutra
report config eutra
Direction choice
direction choice
RrcConnectionReconfigurationCompleted structure.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionReconfiguration structure.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionReestablishmentComplete structure.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionReestablishment structure.
RadioResourceConfigDedicated radioResourceConfigDedicated
radio resource config dedicated
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionReestablishmentRequest structure.
ReestablishmentCause reestablishmentCause
reestablishment cause
ReestabUeIdentity ueIdentity
UE identity.
RrcConnectionReject structure.
uint8_t waitTime
wait time
RrcConnectionRequest structure.
uint64_t ueIdentity
UE identity.
RrcConnectionSetupCompleted structure.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionSetup structure.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RadioResourceConfigDedicated radioResourceConfigDedicated
radio resource config dedicated
uint16_t srsConfigIndex
SRS config index.
uint16_t srsBandwidth
SRS bandwidth.
LogicalChannelConfig logicalChannelConfig
logical channel config
uint8_t srbIdentity
SB identity.
@ THRESHOLD_RSRP
RSRP is used for the threshold.
@ THRESHOLD_RSRQ
RSRQ is used for the threshold.
enum ns3::LteRrcSap::ThresholdEutra::@60 choice
Threshold enumeration.
uint8_t range
Value range used in RSRP/RSRQ threshold.