20#define MAX_EARFCN 262143
21#define MAX_RAT_CAPABILITIES 8
22#define MAX_SI_MESSAGE 32
25#define MAX_REPORT_CONFIG_ID 32
26#define MAX_OBJECT_ID 32
28#define MAX_CELL_MEAS 32
29#define MAX_CELL_REPORT 8
31#define MAX_SCELL_REPORT 5
32#define MAX_SCELL_CONF 5
130 auto it = drbToAddModList.begin();
131 for (;
it != drbToAddModList.end();
it++)
149 switch (
it->rlcConfig.choice)
218 auto it = srbToAddModList.begin();
219 for (;
it != srbToAddModList.end();
it++)
733 if (!
it->cgiInfo.plmnIdentityList.empty())
736 for (
auto it2 =
it->cgiInfo.plmnIdentityList.begin();
737 it2 !=
it->cgiInfo.plmnIdentityList.end();
751 if (
it->haveRsrpResult)
756 if (
it->haveRsrqResult)
780 if (
it.haveMeasResultSCell)
789 if (
it.haveMeasResultBestNeighCell)
816 for (
int i =
nDig - 1;
i >= 0;
i--)
1152 measObjOpts.set(4, !
it->measObjectEutra.cellsToRemoveList.empty());
1153 measObjOpts.set(3, !
it->measObjectEutra.cellsToAddModList.empty());
1154 measObjOpts.set(2, !
it->measObjectEutra.blackCellsToRemoveList.empty());
1155 measObjOpts.set(1, !
it->measObjectEutra.blackCellsToAddModList.empty());
1156 measObjOpts.set(0,
it->measObjectEutra.haveCellForWhichToReportCGI);
1169 if (!
it->measObjectEutra.cellsToRemoveList.empty())
1172 for (
auto it2 =
it->measObjectEutra.cellsToRemoveList.begin();
1173 it2 !=
it->measObjectEutra.cellsToRemoveList.end();
1180 if (!
it->measObjectEutra.cellsToAddModList.empty())
1183 for (
auto it2 =
it->measObjectEutra.cellsToAddModList.begin();
1184 it2 !=
it->measObjectEutra.cellsToAddModList.end();
1200 if (!
it->measObjectEutra.blackCellsToRemoveList.empty())
1205 for (
auto it2 =
it->measObjectEutra.blackCellsToRemoveList.begin();
1206 it2 !=
it->measObjectEutra.blackCellsToRemoveList.end();
1213 if (!
it->measObjectEutra.blackCellsToAddModList.empty())
1218 for (
auto it2 =
it->measObjectEutra.blackCellsToAddModList.begin();
1219 it2 !=
it->measObjectEutra.blackCellsToAddModList.end();
1230 if (
it2->physCellIdRange.haveRange)
1232 switch (
it2->physCellIdRange.range)
1283 if (
it->measObjectEutra.haveCellForWhichToReportCGI)
1314 switch (
it->reportConfigEutra.triggerType)
1319 switch (
it->reportConfigEutra.purpose)
1333 switch (
it->reportConfigEutra.eventId)
1366 switch (
it->reportConfigEutra.timeToTrigger)
1430 if (
it->reportConfigEutra.reportQuantity ==
1444 switch (
it->reportConfigEutra.reportInterval)
1497 switch (
it->reportConfigEutra.reportAmount)
1831 it.haveRadioResourceConfigDedicatedSCell);
1847 if (
it.haveRadioResourceConfigDedicatedSCell)
1866 if (
rrccsc.haveNonUlConfiguration)
1892 if (
rrccsc.haveUlConfiguration)
1957 if (
pcdsc.haveNonUlConfiguration)
1967 if (
pcdsc.haveAntennaInfoDedicated)
1987 if (
pcdsc.havePdschConfigDedicated)
2001 if (
pcdsc.haveUlConfiguration)
2004 std::bitset<7>
ulOpt;
2005 ulOpt.set(6,
pcdsc.haveAntennaInfoUlDedicated);
2006 ulOpt.set(5,
false);
2007 ulOpt.set(4,
false);
2008 ulOpt.set(3,
false);
2009 ulOpt.set(2,
pcdsc.haveSoundingRsUlConfigDedicated);
2010 ulOpt.set(1,
false);
2011 ulOpt.set(0,
false);
2014 if (
pcdsc.haveAntennaInfoUlDedicated)
2034 if (
pcdsc.haveSoundingRsUlConfigDedicated)
2037 switch (
pcdsc.soundingRsUlConfigDedicated.type)
2238 for (
int i = 0;
i < n;
i++)
2276 srbToAddModList->clear();
2317 srbToAddModList->insert(srbToAddModList->end(),
srbToAddMod);
2331 drbToAddModList->clear();
2333 for (
int i = 0;
i < n;
i++)
2426 drbToAddModList->insert(drbToAddModList->end(),
drbToAddMod);
2450 logicalChannelConfig->
priority = n;
2454 uint16_t prioritizedBitRateKbps;
2459 prioritizedBitRateKbps = 0;
2462 prioritizedBitRateKbps = 8;
2465 prioritizedBitRateKbps = 16;
2468 prioritizedBitRateKbps = 32;
2471 prioritizedBitRateKbps = 64;
2474 prioritizedBitRateKbps = 128;
2477 prioritizedBitRateKbps = 256;
2480 prioritizedBitRateKbps = 10000;
2483 prioritizedBitRateKbps = 10000;
2489 uint16_t bucketSizeDurationMs;
2493 bucketSizeDurationMs = 50;
2496 bucketSizeDurationMs = 100;
2499 bucketSizeDurationMs = 150;
2502 bucketSizeDurationMs = 300;
2505 bucketSizeDurationMs = 500;
2508 bucketSizeDurationMs = 1000;
2511 bucketSizeDurationMs = 1000;
2679 NS_FATAL_ERROR(
"RrcAsn1Header Print() function must also specify "
2680 "LteRrcSap::RadioResourceConfigDedicated as a second argument");
2738 sctam.sCellIndex = n;
2746 &
sctam.radioResourceConfigCommonSCell,
2750 sctam.haveRadioResourceConfigDedicatedSCell =
true;
2753 &
sctam.radioResourceConfigDedicatedSCell,
2758 sctam.haveRadioResourceConfigDedicatedSCell =
false;
2783 ci->physCellId =
n1;
2787 ci->dlCarrierFreq =
n2;
2802 if (
rrccsc->haveNonUlConfiguration)
2808 rrccsc->nonUlConfiguration.dlBandwidth = n;
2813 rrccsc->nonUlConfiguration.antennaInfoCommon.antennaPortsCount = n;
2818 rrccsc->nonUlConfiguration.pdschConfigCommon.referenceSignalPower = n;
2820 rrccsc->nonUlConfiguration.pdschConfigCommon.pb = n;
2822 if (
rrccsc->haveUlConfiguration)
2831 rrccsc->ulConfiguration.ulFreqInfo.ulCarrierFreq = n;
2833 rrccsc->ulConfiguration.ulFreqInfo.ulBandwidth = n;
2838 rrccsc->ulConfiguration.ulPowerControlCommonSCell.alpha = n;
2843 rrccsc->ulConfiguration.prachConfigSCell.index = n;
2873 if (
pcdsc->haveNonUlConfiguration)
2882 if (
pcdsc->haveAntennaInfoDedicated)
2923 if (
pcdsc->havePdschConfigDedicated)
2938 if (
pcdsc->haveUlConfiguration)
2940 std::bitset<7>
ulOpt;
2942 pcdsc->haveAntennaInfoUlDedicated =
ulOpt[6];
2946 pcdsc->haveSoundingRsUlConfigDedicated =
ulOpt[2];
2950 if (
pcdsc->haveAntennaInfoUlDedicated)
2991 if (
pcdsc->haveSoundingRsUlConfigDedicated)
2999 pcdsc->soundingRsUlConfigDedicated.type =
3007 pcdsc->soundingRsUlConfigDedicated.type =
3017 pcdsc->soundingRsUlConfigDedicated.srsBandwidth =
slct;
3031 pcdsc->soundingRsUlConfigDedicated.srsConfigIndex =
slct;
3049 os <<
" srbToAddModList: " << std::endl;
3053 os <<
" srbIdentity: " << (int)
it->srbIdentity << std::endl;
3054 os <<
" logicalChannelConfig: " << std::endl;
3055 os <<
" priority: " << (int)
it->logicalChannelConfig.priority << std::endl;
3056 os <<
" prioritizedBitRateKbps: "
3057 << (int)
it->logicalChannelConfig.prioritizedBitRateKbps << std::endl;
3058 os <<
" bucketSizeDurationMs: "
3059 << (int)
it->logicalChannelConfig.bucketSizeDurationMs << std::endl;
3060 os <<
" logicalChannelGroup: " << (int)
it->logicalChannelConfig.logicalChannelGroup
3065 os <<
" drbToAddModList: " << std::endl;
3069 os <<
" epsBearerIdentity: " << (int)
it2->epsBearerIdentity << std::endl;
3070 os <<
" drbIdentity: " << (int)
it2->drbIdentity << std::endl;
3071 os <<
" rlcConfig: " <<
it2->rlcConfig.choice << std::endl;
3072 os <<
" logicalChannelIdentity: " << (int)
it2->logicalChannelIdentity << std::endl;
3073 os <<
" logicalChannelConfig: " << std::endl;
3074 os <<
" priority: " << (int)
it2->logicalChannelConfig.priority << std::endl;
3075 os <<
" prioritizedBitRateKbps: "
3076 << (int)
it2->logicalChannelConfig.prioritizedBitRateKbps << std::endl;
3077 os <<
" bucketSizeDurationMs: "
3078 << (int)
it2->logicalChannelConfig.bucketSizeDurationMs << std::endl;
3079 os <<
" logicalChannelGroup: " << (int)
it2->logicalChannelConfig.logicalChannelGroup
3084 os <<
" drbToReleaseList: ";
3088 os << (int)*
it3 <<
", ";
3092 os <<
" havePhysicalConfigDedicated: "
3097 os <<
" physicalConfigDedicated: " << std::endl;
3099 os <<
" haveSoundingRsUlConfigDedicated: "
3104 os <<
" soundingRsUlConfigDedicated: " << std::endl;
3109 os <<
" srsBandwidth: "
3113 os <<
" srsConfigIndex: "
3119 os <<
" haveAntennaInfoDedicated: "
3124 os <<
" antennaInfo Tx mode: "
3161 std::bitset<16> trackingAreaCode;
3165 std::bitset<28> cellIdentity;
3183 std::bitset<27> csgIdentity;
3780 std::bitset<28> cellId;
3965 elem.measObjectId = n;
3993 elem.measObjectEutra.carrierFreq = n;
4005 elem.measObjectEutra.neighCellConfig =
bitset2.to_ulong();
4019 elem.measObjectEutra.cellsToRemoveList.push_back(n);
4060 elem.measObjectEutra.blackCellsToRemoveList.push_back(n);
4151 elem.measObjectEutra.cellForWhichToReportCGI = n;
4189 elem.reportConfigId = n;
4234 elem.reportConfigEutra.a3Offset = n;
4257 elem.reportConfigEutra.hysteresis = n;
4263 elem.reportConfigEutra.timeToTrigger = 0;
4266 elem.reportConfigEutra.timeToTrigger = 40;
4269 elem.reportConfigEutra.timeToTrigger = 64;
4272 elem.reportConfigEutra.timeToTrigger = 80;
4275 elem.reportConfigEutra.timeToTrigger = 100;
4278 elem.reportConfigEutra.timeToTrigger = 128;
4281 elem.reportConfigEutra.timeToTrigger = 160;
4284 elem.reportConfigEutra.timeToTrigger = 256;
4287 elem.reportConfigEutra.timeToTrigger = 320;
4290 elem.reportConfigEutra.timeToTrigger = 480;
4293 elem.reportConfigEutra.timeToTrigger = 512;
4296 elem.reportConfigEutra.timeToTrigger = 640;
4299 elem.reportConfigEutra.timeToTrigger = 1024;
4302 elem.reportConfigEutra.timeToTrigger = 1280;
4305 elem.reportConfigEutra.timeToTrigger = 2560;
4309 elem.reportConfigEutra.timeToTrigger = 5120;
4323 elem.reportConfigEutra.purpose =
4347 elem.reportConfigEutra.reportQuantity =
4357 elem.reportConfigEutra.maxReportCells = n;
4418 elem.reportConfigEutra.reportAmount = 1;
4421 elem.reportConfigEutra.reportAmount = 2;
4424 elem.reportConfigEutra.reportAmount = 4;
4427 elem.reportConfigEutra.reportAmount = 8;
4430 elem.reportConfigEutra.reportAmount = 16;
4433 elem.reportConfigEutra.reportAmount = 32;
4436 elem.reportConfigEutra.reportAmount = 64;
4439 elem.reportConfigEutra.reportAmount = 0;
4482 elem.measObjectId = n;
4485 elem.reportConfigId = n;
4645 int gapOffsetChoice;
4647 switch (gapOffsetChoice)
4762 m_mmec = std::bitset<8>(0UL);
4763 m_mTmsi = std::bitset<32>(0UL);
4765 m_spare = std::bitset<1>(0UL);
4784 os <<
"MMEC:" <<
m_mmec << std::endl;
4785 os <<
"MTMSI:" <<
m_mTmsi << std::endl;
4787 os <<
"Spare: " <<
m_spare << std::endl;
4836 std::bitset<1>
dummy;
4914 os <<
"radioResourceConfigDedicated:" << std::endl;
5049std::list<LteRrcSap::SrbToAddMod>
5055std::list<LteRrcSap::DrbToAddMod>
5311 std::bitset<6> options;
5314 options.set(3,
false);
5316 options.set(1,
false);
5514 std::bitset<16> cRnti;
5577 os <<
" measObjectToRemoveList: ";
5582 os << (int)*
it <<
", ";
5588 os <<
" reportConfigToRemoveList: ";
5593 os << (int)*
it <<
", ";
5599 os <<
" measIdToRemoveList: ";
5604 os << (int)*
it <<
", ";
5611 os <<
" measObjectToAddMod: " << std::endl;
5616 os <<
" measObjectId: " << (int)
it->measObjectId << std::endl;
5617 os <<
" carrierFreq: " << (int)
it->measObjectEutra.carrierFreq << std::endl;
5618 os <<
" allowedMeasBandwidth: " << (int)
it->measObjectEutra.allowedMeasBandwidth
5620 os <<
" presenceAntennaPort1: " <<
it->measObjectEutra.presenceAntennaPort1
5622 os <<
" neighCellConfig: " << (int)
it->measObjectEutra.neighCellConfig
5624 os <<
" offsetFreq: " << (int)
it->measObjectEutra.offsetFreq << std::endl;
5626 if (!
it->measObjectEutra.cellsToRemoveList.empty())
5628 os <<
" cellsToRemoveList: ";
5629 std::list<uint8_t>
auxList =
it->measObjectEutra.cellsToRemoveList;
5633 os << (int)*
it <<
", ";
5638 if (!
it->measObjectEutra.blackCellsToRemoveList.empty())
5640 os <<
" blackCellsToRemoveList: ";
5641 std::list<uint8_t>
auxList =
it->measObjectEutra.blackCellsToRemoveList;
5645 os << (int)*
it <<
", ";
5650 if (!
it->measObjectEutra.cellsToAddModList.empty())
5652 os <<
" cellsToAddModList: " << std::endl;
5653 std::list<LteRrcSap::CellsToAddMod>
auxList =
5654 it->measObjectEutra.cellsToAddModList;
5658 os <<
" cellIndex: " << (int)
it->cellIndex << std::endl;
5659 os <<
" physCellId: " << (int)
it->physCellId << std::endl;
5660 os <<
" cellIndividualOffset: " << (int)
it->cellIndividualOffset
5662 os <<
" ------ " << std::endl;
5666 if (!
it->measObjectEutra.blackCellsToAddModList.empty())
5668 os <<
" blackCellsToAddModList: " << std::endl;
5669 std::list<LteRrcSap::BlackCellsToAddMod>
auxList =
5670 it->measObjectEutra.blackCellsToAddModList;
5674 os <<
" cellIndex: " << (int)
it->cellIndex << std::endl;
5675 os <<
" physCellIdRange.start: " << (int)
it->physCellIdRange.start
5677 os <<
" physCellIdRange.haveRange: " <<
it->physCellIdRange.haveRange
5679 os <<
" physCellIdRange.range: " << (int)
it->physCellIdRange.range
5681 os <<
" ------ " << std::endl;
5685 os <<
" haveCellForWhichToReportCGI: "
5686 <<
it->measObjectEutra.haveCellForWhichToReportCGI << std::endl;
5687 os <<
" cellForWhichToReportCGI: "
5688 << (int)
it->measObjectEutra.cellForWhichToReportCGI << std::endl;
5689 os <<
" ------------- " << std::endl;
5695 os <<
" reportConfigToAddModList: " << std::endl;
5696 std::list<LteRrcSap::ReportConfigToAddMod>
auxList =
5701 os <<
" reportConfigId: " << (int)
it->reportConfigId << std::endl;
5702 os <<
" reportConfigEutra.triggerType "
5703 << (int)
it->reportConfigEutra.triggerType << std::endl;
5706 os <<
" reportConfigEutra.eventId " << (int)
it->reportConfigEutra.eventId
5710 os <<
" reportConfigEutra.reportOnLeave "
5711 << (int)
it->reportConfigEutra.reportOnLeave << std::endl;
5712 os <<
" reportConfigEutra.a3Offset "
5713 << (int)
it->reportConfigEutra.a3Offset << std::endl;
5717 os <<
" reportConfigEutra.threshold1.choice "
5718 << (int)
it->reportConfigEutra.threshold1.choice << std::endl;
5719 os <<
" reportConfigEutra.threshold1.range "
5720 << (int)
it->reportConfigEutra.threshold1.range << std::endl;
5723 os <<
" reportConfigEutra.threshold2.choice "
5724 << (int)
it->reportConfigEutra.threshold2.choice << std::endl;
5725 os <<
" reportConfigEutra.threshold2.range "
5726 << (int)
it->reportConfigEutra.threshold2.range << std::endl;
5729 os <<
" reportConfigEutra.hysteresis "
5730 << (int)
it->reportConfigEutra.hysteresis << std::endl;
5731 os <<
" reportConfigEutra.timeToTrigger "
5732 << (int)
it->reportConfigEutra.timeToTrigger << std::endl;
5736 os <<
" reportConfigEutra.purpose " << (int)
it->reportConfigEutra.purpose
5739 os <<
" reportConfigEutra.triggerQuantity "
5740 << (int)
it->reportConfigEutra.triggerQuantity << std::endl;
5741 os <<
" reportConfigEutra.reportQuantity "
5742 << (int)
it->reportConfigEutra.reportQuantity << std::endl;
5743 os <<
" reportConfigEutra.maxReportCells "
5744 << (int)
it->reportConfigEutra.maxReportCells << std::endl;
5745 os <<
" reportConfigEutra.reportInterval "
5746 << (int)
it->reportConfigEutra.reportInterval << std::endl;
5747 os <<
" reportConfigEutra.reportAmount "
5748 << (int)
it->reportConfigEutra.reportAmount << std::endl;
5754 os <<
" measIdToAddModList: " << std::endl;
5759 os <<
" measId: " << (int)
it->measId << std::endl;
5760 os <<
" measObjectId: " << (int)
it->measObjectId << std::endl;
5761 os <<
" reportConfigId: " << (int)
it->reportConfigId << std::endl;
5762 os <<
" ------ " << std::endl;
5769 os <<
" filterCoefficientRSRP: "
5771 os <<
" filterCoefficientRSRQ:"
5779 os <<
" measGapConfig.gap (gap0/1,value): ("
5794 os <<
" speedStatePars.mobilityStateParameters.tEvaluation: "
5796 os <<
" speedStatePars.mobilityStateParameters.tHystNormal: "
5798 os <<
" speedStatePars.mobilityStateParameters.nCellChangeMedium: "
5801 os <<
" speedStatePars.mobilityStateParameters.nCellChangeHigh: "
5804 os <<
" speedStatePars.timeToTriggerSf.sfMedium: "
5806 os <<
" speedStatePars.timeToTriggerSf.sfHigh: "
5818 os <<
" carrierFreq.dlCarrierFreq: "
5820 os <<
" carrierFreq.dlCarrierFreq: "
5826 os <<
" carrierBandwidth.dlBandwidth: "
5828 os <<
" carrierBandwidth.ulBandwidth: "
5836 os <<
"raPreambleIndex: "
5838 os <<
"raPrachMaskIndex: "
5943std::list<LteRrcSap::SrbToAddMod>
5949std::list<LteRrcSap::DrbToAddMod>
6086 for (
int i = 0;
i < n;
i++)
6111 std::bitset<16> cRnti;
6126 std::bitset<8> systemFrameNumber;
6129 systemFrameNumber.to_ulong();
6131 std::bitset<10>
spare;
6181 os <<
"plmnIdentityInfo.plmnIdentity: "
6185 os <<
"cellAccessRelatedInfo.cellIdentity "
6188 os <<
"cellAccessRelatedInfo.csgIndication: "
6191 os <<
"cellAccessRelatedInfo.csgIdentity: "
6308 std::bitset<16> cRnti;
6340 std::bitset<2>
spare;
6486 os <<
"RadioResourceConfigDedicated: " << std::endl;
6578 std::bitset<1>
opts;
6673 std::bitset<1>
opts;
6779 std::bitset<3>
opts;
6901 std::bitset<1>
opts;
7033 os <<
"haveMeasResultNeighCells = "
7038 std::list<LteRrcSap::MeasResultEutra> measResultListEutra =
7040 auto it = measResultListEutra.begin();
7041 for (;
it != measResultListEutra.end();
it++)
7043 os <<
" physCellId =" << (int)
it->physCellId << std::endl;
7044 os <<
" haveCgiInfo =" <<
it->haveCgiInfo << std::endl;
7045 if (
it->haveCgiInfo)
7047 os <<
" plmnIdentity = " << (int)
it->cgiInfo.plmnIdentity << std::endl;
7048 os <<
" cellIdentity = " << (int)
it->cgiInfo.cellIdentity << std::endl;
7049 os <<
" trackingAreaCode = " << (int)
it->cgiInfo.trackingAreaCode << std::endl;
7050 os <<
" havePlmnIdentityList = " << !
it->cgiInfo.plmnIdentityList.empty()
7052 if (!
it->cgiInfo.plmnIdentityList.empty())
7054 for (
auto it2 =
it->cgiInfo.plmnIdentityList.begin();
7055 it2 !=
it->cgiInfo.plmnIdentityList.end();
7058 os <<
" plmnId : " << *
it2 << std::endl;
7063 os <<
" haveRsrpResult =" <<
it->haveRsrpResult << std::endl;
7064 if (
it->haveRsrpResult)
7066 os <<
" rsrpResult =" << (int)
it->rsrpResult << std::endl;
7069 os <<
" haveRsrqResult =" <<
it->haveRsrqResult << std::endl;
7070 if (
it->haveRsrqResult)
7072 os <<
" rsrqResult =" << (int)
it->rsrqResult << std::endl;
7113 std::cout <<
"UL DCCH MSG TYPE: " <<
m_messageType << std::endl;
7175 std::cout <<
"DL DCCH MSG TYPE: " <<
m_messageType << std::endl;
7237 std::cout <<
"UL CCCH MSG TYPE: " <<
m_messageType << std::endl;
7299 std::cout <<
"DL CCCH MSG TYPE: " <<
m_messageType << std::endl;
iterator in a Buffer instance
automatically resized byte buffer
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void Print(std::ostream &os) const override
void SetMessage(LteRrcSap::HandoverPreparationInfo msg)
Receives a HandoverPreparationInfo IE and stores the contents into the class attributes.
LteRrcSap::HandoverPreparationInfo GetMessage() const
Returns a HandoverPreparationInfo IE from the values in the class attributes.
HandoverPreparationInfoHeader()
LteRrcSap::AsConfig m_asConfig
AS config.
uint32_t Deserialize(Buffer::Iterator bIterator) override
LteRrcSap::AsConfig GetAsConfig() const
Getter for m_asConfig.
ReestablishmentCause
ReestablishmentCause enumeration.
@ RECONFIGURATION_FAILURE
Buffer::Iterator DeserializeDlCcchMessage(Buffer::Iterator bIterator)
Deserialize DL CCCH message function.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
~RrcDlCcchMessage() override
void SerializeDlCcchMessage(int msgType) const
Serialize DL CCCH message function.
void SerializeDlDcchMessage(int msgType) const
Serialize DL DCCH message function.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
~RrcDlDcchMessage() override
Buffer::Iterator DeserializeDlDcchMessage(Buffer::Iterator bIterator)
Deserialize DL DCCH message function.
This class only serves to discriminate which message type has been received in uplink (ue to eNb) for...
void SerializeUlCcchMessage(int msgType) const
Serialize UL CCCH message function.
Buffer::Iterator DeserializeUlCcchMessage(Buffer::Iterator bIterator)
Deserialize DL CCCH message function.
~RrcUlCcchMessage() override
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
Buffer::Iterator DeserializeUlDcchMessage(Buffer::Iterator bIterator)
Deserialize UL DCCH message function.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
~RrcUlDcchMessage() override
void SerializeUlDcchMessage(int msgType) const
Serialize UL DCCH message function.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Ptr< T > Create(Ts &&... args)
Create class instances by constructors with varying numbers of arguments and return them by Ptr.
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.
uint16_t dlBandwidth
DL bandwidth.
uint16_t ulBandwidth
UL bandwidth.
uint32_t dlCarrierFreq
DL carrier frequency.
uint32_t ulCarrierFreq
UL carrier frequency.
CellIdentification structure.
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
std::list< uint8_t > measIdToRemoveList
measure ID to remove list
uint8_t sMeasure
S measure.
std::list< MeasObjectToAddMod > measObjectToAddModList
measure object to add mod list
std::list< uint8_t > reportConfigToRemoveList
report config to remove list
std::list< uint8_t > measObjectToRemoveList
measure object to remove list
SpeedStatePars speedStatePars
speed state parameters
bool haveMeasGapConfig
have measure gap config?
QuantityConfig quantityConfig
quantity config
bool haveSmeasure
have S measure?
bool haveSpeedStatePars
have speed state parameters?
std::list< ReportConfigToAddMod > reportConfigToAddModList
report config to add mod list
MeasGapConfig measGapConfig
measure gap config
std::list< MeasIdToAddMod > measIdToAddModList
measure ID to add mod list
bool haveQuantityConfig
have quantity config?
Gap gapOffsetChoice
gap offset
uint8_t gapOffsetValue
gap offset value
MeasIdToAddMod structure.
MeasObjectToAddMod structure.
MeasResultEutra structure.
uint8_t rsrqResult
the RSRQ result
uint8_t rsrpResult
the RSRP result
MeasResultServFreq structure.
bool haveMeasResultNeighCells
have measure result neighbor cells
std::list< MeasResultEutra > measResultListEutra
measure result list eutra
bool haveMeasResultServFreqList
has measResultServFreqList-r10
std::list< MeasResultServFreq > measResultServFreqList
MeasResultServFreqList-r10.
MeasResultPCell measResultPCell
measurement result primary cell
MeasurementReport structure.
MeasResults measResults
measure results
MobilityControlInfo structure.
RadioResourceConfigCommon radioResourceConfigCommon
radio resource config common
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
uint8_t nCellChangeHigh
cell change high
uint8_t tEvaluation
evaluation
uint8_t nCellChangeMedium
cell change medium
uint8_t tHystNormal
hyst normal
NonCriticalExtensionConfiguration structure.
std::list< uint8_t > sCellToReleaseList
SCell to release list.
std::list< SCellToAddMod > sCellToAddModList
SCell to add mod list.
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
PhysicalConfigDedicatedSCell structure.
uint32_t plmnIdentity
PLMN identity.
uint8_t numberOfRaPreambles
number of RA preambles
uint8_t filterCoefficientRSRQ
filter coefficient RSRQ
uint8_t filterCoefficientRSRP
filter coefficient RSRP
uint8_t raResponseWindowSize
RA response window size.
uint8_t preambleTransMax
preamble transmit maximum
RachConfigCommon structure.
TxFailParam txFailParam
txFailParams
PreambleInfo preambleInfo
preamble info
RaSupervisionInfo raSupervisionInfo
RA supervision info.
uint8_t raPreambleIndex
RA preamble index.
uint8_t raPrachMaskIndex
RA PRACH mask index.
RadioResourceConfigCommon structure.
RachConfigCommon rachConfigCommon
RACH config common.
RadioResourceConfigCommonSCell.
RadioResourceConfigCommonSib structure.
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.
RadioResourceConfigDedicatedSCell structure.
ReestabUeIdentity structure.
uint16_t physCellId
Phy cell ID.
@ BOTH
Both the RSRP and RSRQ quantities are to be included in the measurement report.
@ SAME_AS_TRIGGER_QUANTITY
@ PERIODICAL
periodical report
@ EVENT_A2
Event A2: Serving becomes worse than absolute threshold.
@ EVENT_A3
Event A3: Neighbour becomes amount of offset better than PCell.
@ EVENT_A4
Event A4: Neighbour becomes better than absolute threshold.
@ EVENT_A1
Event A1: Serving becomes better than absolute threshold.
@ EVENT_A5
Event A5: PCell becomes worse than absolute threshold1 AND Neighbour becomes better than another abso...
@ RSRP
Reference Signal Received Power.
@ RSRQ
Reference Signal Received Quality.
ReportConfigToAddMod structure.
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.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionReestablishmentReject structure.
RrcConnectionReestablishmentRequest structure.
ReestabUeIdentity ueIdentity
UE identity.
RrcConnectionReject structure.
uint8_t waitTime
wait time
RrcConnectionRelease structure.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionRequest structure.
uint64_t ueIdentity
UE identity.
RrcConnectionSetupCompleted structure.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionSetup structure.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
uint16_t srsConfigIndex
SRS config index.
uint16_t srsBandwidth
SRS bandwidth.
SpeedStateScaleFactors timeToTriggerSf
time to trigger scale factors
MobilityStateParameters mobilityStateParameters
mobility state parameters
uint8_t sfHigh
scale factor high
uint8_t sfMedium
scale factor medium
Threshold for event evaluation.
@ THRESHOLD_RSRP
RSRP is used for the threshold.
@ THRESHOLD_RSRQ
RSRQ is used for the threshold.
uint8_t connEstFailCount
Number of times that the UE detects T300 expiry on the same cell.