22 #include "ns3/lte-rrc-header.h"
27 #define MAX_DRB 11 // According to section 6.4 3GPP TS 36.331
28 #define MAX_EARFCN 65535
29 #define MAX_RAT_CAPABILITIES 8
30 #define MAX_SI_MESSAGE 32
33 #define MAX_REPORT_CONFIG_ID 32
34 #define MAX_OBJECT_ID 32
35 #define MAX_MEAS_ID 32
36 #define MAX_CELL_MEAS 32
37 #define MAX_CELL_REPORT 8
76 std::list<LteRrcSap::DrbToAddMod>::iterator it = drbToAddModList.begin ();
77 for (; it != drbToAddModList.end (); it++)
81 std::bitset<5> drbToAddModListOptionalFieldsPresent = std::bitset<5> ();
82 drbToAddModListOptionalFieldsPresent.set (4,1);
83 drbToAddModListOptionalFieldsPresent.set (3,0);
84 drbToAddModListOptionalFieldsPresent.set (2,1);
85 drbToAddModListOptionalFieldsPresent.set (1,1);
86 drbToAddModListOptionalFieldsPresent.set (0,1);
95 switch (it->rlcConfig.choice)
164 std::list<LteRrcSap::SrbToAddMod>::iterator it = srbToAddModList.begin ();
165 for (; it != srbToAddModList.end (); it++)
169 std::bitset<2> srbToAddModListOptionalFieldsPresent = std::bitset<2> ();
170 srbToAddModListOptionalFieldsPresent.set (1,0);
171 srbToAddModListOptionalFieldsPresent.set (0,1);
201 int prioritizedBitRate;
205 prioritizedBitRate = 0;
208 prioritizedBitRate = 1;
211 prioritizedBitRate = 2;
214 prioritizedBitRate = 3;
217 prioritizedBitRate = 4;
220 prioritizedBitRate = 5;
223 prioritizedBitRate = 6;
226 prioritizedBitRate = 7;
231 int bucketSizeDuration;
235 bucketSizeDuration = 0;
238 bucketSizeDuration = 1;
241 bucketSizeDuration = 2;
244 bucketSizeDuration = 3;
247 bucketSizeDuration = 4;
250 bucketSizeDuration = 5;
253 bucketSizeDuration = 5;
265 std::bitset<10> optionalFieldsPhysicalConfigDedicated;
266 optionalFieldsPhysicalConfigDedicated.set (9,0);
267 optionalFieldsPhysicalConfigDedicated.set (8,0);
268 optionalFieldsPhysicalConfigDedicated.set (7,0);
269 optionalFieldsPhysicalConfigDedicated.set (6,0);
270 optionalFieldsPhysicalConfigDedicated.set (5,0);
271 optionalFieldsPhysicalConfigDedicated.set (4,0);
272 optionalFieldsPhysicalConfigDedicated.set (3,0);
275 optionalFieldsPhysicalConfigDedicated.set (0,0);
347 bool isSrbToAddModListPresent = !radioResourceConfigDedicated.
srbToAddModList.empty ();
348 bool isDrbToAddModListPresent = !radioResourceConfigDedicated.
drbToAddModList.empty ();
349 bool isDrbToReleaseListPresent = !radioResourceConfigDedicated.
drbToReleaseList.empty ();
352 std::bitset<6> optionalFieldsPresent = std::bitset<6> ();
353 optionalFieldsPresent.set (5,isSrbToAddModListPresent);
354 optionalFieldsPresent.set (4,isDrbToAddModListPresent);
355 optionalFieldsPresent.set (3,isDrbToReleaseListPresent);
356 optionalFieldsPresent.set (2,0);
357 optionalFieldsPresent.set (1,0);
362 if (isSrbToAddModListPresent)
368 if (isDrbToAddModListPresent)
374 if (isDrbToReleaseListPresent)
377 std::list<uint8_t>::iterator it = radioResourceConfigDedicated.
drbToReleaseList.begin ();
395 std::bitset<3> sysInfoBlk1Opts;
396 sysInfoBlk1Opts.set (2,0);
397 sysInfoBlk1Opts.set (1,0);
398 sysInfoBlk1Opts.set (0,0);
454 std::bitset<9> rrCfgCmmOpts;
455 rrCfgCmmOpts.set (8,1);
456 rrCfgCmmOpts.set (7,0);
457 rrCfgCmmOpts.set (6,0);
458 rrCfgCmmOpts.set (5,0);
459 rrCfgCmmOpts.set (4,0);
460 rrCfgCmmOpts.set (3,0);
461 rrCfgCmmOpts.set (2,0);
462 rrCfgCmmOpts.set (1,0);
463 rrCfgCmmOpts.set (0,0);
642 std::list<LteRrcSap::MeasResultEutra>::iterator it;
664 if (!it->cgiInfo.plmnIdentityList.empty ())
667 std::list<uint32_t>::iterator it2;
668 for (it2 = it->cgiInfo.plmnIdentityList.begin (); it2 != it->cgiInfo.plmnIdentityList.end (); it2++)
676 std::bitset<2> measResultFieldsPresent;
677 measResultFieldsPresent[1] = it->haveRsrpResult;
678 measResultFieldsPresent[0] = it->haveRsrqResult;
681 if (it->haveRsrpResult)
686 if (it->haveRsrqResult)
701 int nDig = (plmnId > 99) ? 3 : 2;
704 for (
int i = nDig - 1; i >= 0; i--)
706 int n = floor (plmnId / pow (10,i));
708 plmnId -= n * pow (10,i);
862 switch (qOffsetRange)
965 switch (thresholdEutra.
choice)
981 std::bitset<11> measConfigOptional;
991 measConfigOptional.set (1,
false );
1014 std::bitset<5> measObjOpts;
1015 measObjOpts.set (4,!it->measObjectEutra.cellsToRemoveList.empty () );
1016 measObjOpts.set (3,!it->measObjectEutra.cellsToAddModList.empty () );
1017 measObjOpts.set (2,!it->measObjectEutra.blackCellsToRemoveList.empty () );
1018 measObjOpts.set (1,!it->measObjectEutra.blackCellsToAddModList.empty () );
1019 measObjOpts.set (0,it->measObjectEutra.haveCellForWhichToReportCGI);
1026 switch (it->measObjectEutra.allowedMeasBandwidth)
1054 if (!it->measObjectEutra.cellsToRemoveList.empty ())
1057 for (std::list<uint8_t>::iterator it2 = it->measObjectEutra.cellsToRemoveList.begin (); it2 != it->measObjectEutra.cellsToRemoveList.end (); it2++)
1063 if (!it->measObjectEutra.cellsToAddModList.empty ())
1066 for (std::list<LteRrcSap::CellsToAddMod>::iterator it2 = it->measObjectEutra.cellsToAddModList.begin (); it2 != it->measObjectEutra.cellsToAddModList.end (); it2++)
1083 if (!it->measObjectEutra.blackCellsToRemoveList.empty () )
1086 for (std::list<uint8_t>::iterator it2 = it->measObjectEutra.blackCellsToRemoveList.begin (); it2 != it->measObjectEutra.blackCellsToRemoveList.end (); it2++)
1092 if (!it->measObjectEutra.blackCellsToAddModList.empty () )
1095 for (std::list<LteRrcSap::BlackCellsToAddMod>::iterator it2 = it->measObjectEutra.blackCellsToAddModList.begin (); it2 != it->measObjectEutra.blackCellsToAddModList.end (); it2++)
1102 std::bitset<1> rangePresent = std::bitset<1> (it2->physCellIdRange.haveRange);
1105 if (it2->physCellIdRange.haveRange)
1107 switch (it2->physCellIdRange.range)
1159 if (it->measObjectEutra.haveCellForWhichToReportCGI)
1187 switch (it->reportConfigEutra.triggerType)
1192 switch (it->reportConfigEutra.purpose)
1206 switch (it->reportConfigEutra.eventId)
1239 switch (it->reportConfigEutra.timeToTrigger)
1316 switch (it->reportConfigEutra.reportInterval)
1369 switch (it->reportConfigEutra.reportAmount)
1422 std::bitset<4> quantityConfigOpts (0);
1423 quantityConfigOpts.set (3,1);
1661 int thresholdEutraChoice, range;
1664 switch (thresholdEutraChoice)
1669 thresholdEutra->
range = range;
1675 thresholdEutra->
range = range;
1689 *qOffsetRange = -24;
1692 *qOffsetRange = -22;
1695 *qOffsetRange = -20;
1698 *qOffsetRange = -18;
1701 *qOffsetRange = -16;
1704 *qOffsetRange = -14;
1707 *qOffsetRange = -12;
1710 *qOffsetRange = -10;
1789 std::bitset<6> optionalFieldsPresent = std::bitset<6> ();
1792 if (optionalFieldsPresent[5])
1798 if (optionalFieldsPresent[4])
1804 if (optionalFieldsPresent[3])
1810 for (
int i = 0; i < n; i++)
1817 if (optionalFieldsPresent[2])
1823 if (optionalFieldsPresent[1])
1830 if (optionalFieldsPresent[0])
1845 srbToAddModList->clear ();
1848 for (
int i = 0; i < numElems; i++)
1853 std::bitset<2> optionalFields;
1861 if (optionalFields[1])
1867 if (optionalFields[0])
1885 srbToAddModList->insert (srbToAddModList->end (),srbToAddMod);
1898 drbToAddModList->clear ();
1900 for (
int i = 0; i < n; i++)
1904 std::bitset<5> optionalFields;
1907 if (optionalFields[4])
1917 if (optionalFields[3])
1923 if (optionalFields[2])
1930 std::bitset<0> bitset0;
1982 if (optionalFields[1])
1988 if (optionalFields[0])
1993 drbToAddModList->insert (drbToAddModList->end (),drbToAddMod);
2005 std::bitset<1> bitset1;
2015 logicalChannelConfig->
priority = n;
2019 uint16_t prioritizedBitRateKbps;
2024 prioritizedBitRateKbps = 0;
2027 prioritizedBitRateKbps = 8;
2030 prioritizedBitRateKbps = 16;
2033 prioritizedBitRateKbps = 32;
2036 prioritizedBitRateKbps = 64;
2039 prioritizedBitRateKbps = 128;
2042 prioritizedBitRateKbps = 256;
2045 prioritizedBitRateKbps = 10000;
2048 prioritizedBitRateKbps = 10000;
2054 uint16_t bucketSizeDurationMs;
2058 bucketSizeDurationMs = 50;
2061 bucketSizeDurationMs = 100;
2064 bucketSizeDurationMs = 150;
2067 bucketSizeDurationMs = 300;
2070 bucketSizeDurationMs = 500;
2073 bucketSizeDurationMs = 1000;
2076 bucketSizeDurationMs = 1000;
2093 std::bitset<10> optionalFieldPresent;
2096 if (optionalFieldPresent[9])
2101 if (optionalFieldPresent[8])
2106 if (optionalFieldPresent[7])
2111 if (optionalFieldPresent[6])
2116 if (optionalFieldPresent[5])
2121 if (optionalFieldPresent[4])
2126 if (optionalFieldPresent[3])
2132 if (optionalFieldPresent[2])
2149 std::bitset<0> bitset0;
2180 if (optionalFieldPresent[1])
2191 std::bitset<1> codebookSubsetRestrictionPresent;
2198 if (codebookSubsetRestrictionPresent[0])
2204 int txantennaselchosen;
2206 if (txantennaselchosen == 0)
2211 else if (txantennaselchosen == 1)
2218 if (optionalFieldPresent[0])
2229 os <<
" srbToAddModList: " << std::endl;
2230 std::list<LteRrcSap::SrbToAddMod>::iterator it = radioResourceConfigDedicated.
srbToAddModList.begin ();
2231 for (; it != radioResourceConfigDedicated.
srbToAddModList.end (); it++)
2233 os <<
" srbIdentity: " << (int)it->srbIdentity << std::endl;
2234 os <<
" logicalChannelConfig: " << std::endl;
2235 os <<
" priority: " << (
int)it->logicalChannelConfig.priority << std::endl;
2236 os <<
" prioritizedBitRateKbps: " << (int)it->logicalChannelConfig.prioritizedBitRateKbps << std::endl;
2237 os <<
" bucketSizeDurationMs: " << (
int)it->logicalChannelConfig.bucketSizeDurationMs << std::endl;
2238 os <<
" logicalChannelGroup: " << (int)it->logicalChannelConfig.logicalChannelGroup << std::endl;
2242 os <<
" drbToAddModList: " << std::endl;
2243 std::list<LteRrcSap::DrbToAddMod>::iterator it2 = radioResourceConfigDedicated.
drbToAddModList.begin ();
2244 for (; it2 != radioResourceConfigDedicated.
drbToAddModList.end (); it2++)
2246 os <<
" epsBearerIdentity: " << (int)it2->epsBearerIdentity << std::endl;
2247 os <<
" drbIdentity: " << (
int)it2->drbIdentity << std::endl;
2248 os <<
" rlcConfig: " << it2->rlcConfig.choice << std::endl;
2249 os <<
" logicalChannelIdentity: " << (int)it2->logicalChannelIdentity << std::endl;
2250 os <<
" logicalChannelConfig: " << std::endl;
2251 os <<
" priority: " << (
int)it2->logicalChannelConfig.priority << std::endl;
2252 os <<
" prioritizedBitRateKbps: " << (int)it2->logicalChannelConfig.prioritizedBitRateKbps << std::endl;
2253 os <<
" bucketSizeDurationMs: " << (
int)it2->logicalChannelConfig.bucketSizeDurationMs << std::endl;
2254 os <<
" logicalChannelGroup: " << (int)it2->logicalChannelConfig.logicalChannelGroup << std::endl;
2258 os <<
" drbToReleaseList: ";
2259 std::list<uint8_t>::iterator it3 = radioResourceConfigDedicated.
drbToReleaseList.begin ();
2262 os << (int)*it3 <<
", ";
2270 os <<
" physicalConfigDedicated: " << std::endl;
2275 os <<
" soundingRsUlConfigDedicated: " << std::endl;
2292 std::bitset<0> bitset0;
2295 std::bitset<3> sysInfoBlkT1Opts;
2299 std::bitset<1> cellAccessRelatedInfoOpts;
2303 int numPlmnIdentityInfoElements;
2305 for (
int i = 0; i < numPlmnIdentityInfoElements; i++)
2314 std::bitset<16> trackingAreaCode;
2318 std::bitset<28> cellIdentity;
2331 if (cellAccessRelatedInfoOpts[0])
2334 std::bitset<27> csgIdentity;
2340 std::bitset<1> qRxLevMinOffsetPresent;
2343 if (qRxLevMinOffsetPresent[0])
2349 if (sysInfoBlkT1Opts[2])
2359 int numSchedulingInfo;
2361 for (
int i = 0; i < numSchedulingInfo; i++)
2367 for (
int j = 0; j < numSibType; j++)
2373 if (sysInfoBlkT1Opts[1])
2385 if (sysInfoBlkT1Opts[0])
2396 std::bitset<0> bitset0;
2399 std::bitset<2> sysInfoBlkT2Opts;
2401 if (sysInfoBlkT2Opts[1])
2420 std::bitset<2> freqInfoOpts;
2422 if (freqInfoOpts[1])
2428 if (freqInfoOpts[0])
2460 if (sysInfoBlkT2Opts[0])
2476 std::bitset<0> bitset0;
2479 std::bitset<9> rrCfgCommOptions;
2483 if (rrCfgCommOptions[8])
2489 std::bitset<1> prachConfigInfoPresent;
2496 if (prachConfigInfoPresent[0])
2502 if (rrCfgCommOptions[7])
2543 if (rrCfgCommOptions[6])
2549 if (rrCfgCommOptions[5])
2555 if (rrCfgCommOptions[4])
2561 if (rrCfgCommOptions[3])
2567 if (rrCfgCommOptions[2])
2573 if (rrCfgCommOptions[1])
2579 if (rrCfgCommOptions[0])
2593 std::bitset<0> bitset0;
2599 std::bitset<1> preamblesGroupAConfigPresent;
2660 if (preamblesGroupAConfigPresent[0])
2753 std::bitset<0> bitset0;
2771 std::bitset<1> prachConfigInfoPresent;
2776 if (prachConfigInfoPresent[0])
2864 std::bitset<1> measResultNeighCellsPresent;
2885 int measResultNeighCellsChoice;
2890 if (measResultNeighCellsChoice == 0)
2896 for (
int i = 0; i < numElems; i++)
2900 std::bitset<1> isCgiInfoPresent;
2907 measResultEutra.
haveCgiInfo = isCgiInfoPresent[0];
2908 if (isCgiInfoPresent[0])
2910 std::bitset<1> havePlmnIdentityList;
2920 std::bitset<28> cellId;
2925 std::bitset<16> trArCo;
2930 if (havePlmnIdentityList[0])
2935 for (
int j = 0; j < numPlmnElems; j++)
2945 std::bitset<2> measResultOpts;
2949 if (measResultOpts[1])
2957 if (measResultOpts[0])
2968 if (measResultNeighCellsChoice == 1)
2974 if (measResultNeighCellsChoice == 2)
2979 if (measResultNeighCellsChoice == 3)
2993 std::bitset<1> isMccPresent;
2996 if (isMccPresent[0])
3007 for (
int j = mncDigits - 1; j >= 0; j--)
3010 mnc += n * pow (10,j);
3023 std::bitset<0> bitset0;
3024 std::bitset<2> bitset2;
3025 std::bitset<11> bitset11;
3034 int measObjectToRemoveListElems;
3037 for (
int i = 0; i < measObjectToRemoveListElems; i++)
3047 int measObjectToAddModListElems;
3050 for (
int i = 0; i < measObjectToAddModListElems; i++)
3059 int measObjectChoice;
3062 switch (measObjectChoice)
3082 std::bitset<5> measObjectEutraOpts;
3124 if (measObjectEutraOpts[4])
3130 for (
int i = 0; i < numElems; i++)
3137 if (measObjectEutraOpts[3])
3143 for (
int i = 0; i < numElems; i++)
3164 if (measObjectEutraOpts[2])
3170 for (
int i = 0; i < numElems; i++)
3178 if (measObjectEutraOpts[1])
3184 for (
int i = 0; i < numElems; i++)
3193 std::bitset<1> isRangePresent;
3259 if (measObjectEutraOpts[0])
3273 int reportConfigToRemoveListElems;
3276 for (
int i = 0; i < reportConfigToRemoveListElems; i++)
3286 int reportConfigToAddModListElems;
3289 for (
int i = 0; i < reportConfigToAddModListElems; i++)
3298 int reportConfigChoice;
3301 if (reportConfigChoice == 0)
3307 int triggerTypeChoice;
3310 if (triggerTypeChoice == 0)
3320 switch (eventIdChoice)
3414 if (triggerTypeChoice == 1)
3541 if (reportConfigChoice == 1)
3554 int measIdToRemoveListElems;
3557 for (
int i = 0; i < measIdToRemoveListElems; i++)
3567 int measIdToAddModListElems;
3570 for (
int i = 0; i < measIdToAddModListElems; i++)
3593 std::bitset<4> quantityConfigOpts;
3596 if (quantityConfigOpts[3])
3709 if (quantityConfigOpts[2])
3714 if (quantityConfigOpts[1])
3719 if (quantityConfigOpts[0])
3730 int measGapConfigChoice;
3732 switch (measGapConfigChoice)
3743 int gapOffsetChoice;
3745 switch (gapOffsetChoice)
3779 int speedStateParsChoice;
3781 switch (speedStateParsChoice)
3858 m_mmec = std::bitset<8> (0ul);
3859 m_mTmsi = std::bitset<32> (0ul);
3861 m_spare = std::bitset<1> (0ul);
3872 static TypeId tid =
TypeId (
"ns3::RrcConnectionRequestHeader")
3881 os <<
"MMEC:" <<
m_mmec << std::endl;
3882 os <<
"MTMSI:" <<
m_mTmsi << std::endl;
3884 os <<
"Spare: " <<
m_spare << std::endl;
3933 std::bitset<1> dummy;
3934 std::bitset<0> optionalOrDefaultMask;
4012 os <<
"radioResourceConfigDedicated:" << std::endl;
4061 std::bitset<0> bitset0;
4062 std::bitset<1> bitset1;
4063 std::bitset<2> bitset2;
4077 int criticalExtensionChoice;
4079 if (criticalExtensionChoice == 1)
4084 else if (criticalExtensionChoice == 0)
4147 std::list<LteRrcSap::SrbToAddMod>
4153 std::list<LteRrcSap::DrbToAddMod>
4219 std::bitset<0> bitset0;
4322 std::bitset<0> bitset0;
4408 std::bitset<6> options;
4427 std::bitset<4> mobCtrlIntoOptional;
4430 mobCtrlIntoOptional.set (1,0);
4529 std::bitset<0> bitset0;
4558 else if (c1Chosen == 0)
4561 std::bitset<6> rrcConnRecOpts;
4574 std::bitset<4> mobCtrlOpts;
4585 std::bitset<1> ulCarrierFreqPresent;
4591 if (ulCarrierFreqPresent[0])
4602 std::bitset<1> ulBandwidthPresent;
4631 if (ulBandwidthPresent[0])
4671 std::bitset<16> cRnti;
4690 if (rrcConnRecOpts[3])
4703 if (rrcConnRecOpts[1])
4709 if (rrcConnRecOpts[0])
4728 os <<
" measObjectToRemoveList: ";
4730 std::list<uint8_t>::iterator it = auxList.begin ();
4731 for (; it != auxList.end (); it++)
4733 os << (int) *it <<
", ";
4739 os <<
" reportConfigToRemoveList: ";
4741 std::list<uint8_t>::iterator it = auxList.begin ();
4742 for (; it != auxList.end (); it++)
4744 os << (int) *it <<
", ";
4750 os <<
" measIdToRemoveList: ";
4752 std::list<uint8_t>::iterator it = auxList.begin ();
4753 for (; it != auxList.end (); it++)
4755 os << (int) *it <<
", ";
4903 std::list<LteRrcSap::SrbToAddMod>
4909 std::list<LteRrcSap::DrbToAddMod>
4953 std::bitset<4> handoverPrepInfoOpts;
4954 handoverPrepInfoOpts.set (3,1);
4955 handoverPrepInfoOpts.set (2,0);
4956 handoverPrepInfoOpts.set (1,0);
4957 handoverPrepInfoOpts.set (0,0);
5011 std::bitset<0> bitset0;
5019 int criticalExtensionsChosen;
5022 if (criticalExtensionsChosen == 1)
5027 else if (criticalExtensionsChosen == 0)
5036 else if (c1Chosen == 0)
5039 std::bitset<4> handoverPrepInfoOpts;
5044 for (
int i = 0; i < n; i++)
5050 if (handoverPrepInfoOpts[3])
5067 std::bitset<16> cRnti;
5082 std::bitset<8> systemFrameNumber;
5086 std::bitset<10> spare;
5103 if (handoverPrepInfoOpts[2])
5108 if (handoverPrepInfoOpts[1])
5113 if (handoverPrepInfoOpts[0])
5224 std::bitset<0> bitset0;
5249 std::bitset<16> cRnti;
5259 std::bitset<16> shortMacI;
5281 std::bitset<2> spare;
5373 std::bitset<0> bitset0;
5387 int criticalExtensionsChoice;
5389 if (criticalExtensionsChoice == 1)
5394 else if (criticalExtensionsChoice == 0)
5407 std::bitset<1> nonCriticalExtensionPresent;
5425 os <<
"RadioResourceConfigDedicated: " << std::endl;
5493 std::bitset<0> bitset0;
5507 int criticalExtensionsChoice;
5509 if (criticalExtensionsChoice == 1)
5514 else if (criticalExtensionsChoice == 0)
5517 std::bitset<1> opts;
5592 std::bitset<0> bitset0;
5601 int criticalExtensionsChoice;
5603 if (criticalExtensionsChoice == 1)
5608 else if (criticalExtensionsChoice == 0)
5611 std::bitset<1> opts;
5686 std::bitset<0> bitset0;
5700 int criticalExtensionsChoice;
5702 if (criticalExtensionsChoice == 1)
5707 else if (criticalExtensionsChoice == 0)
5716 std::bitset<3> opts;
5808 std::bitset<0> bitset0;
5818 int criticalExtensionsChoice;
5820 if (criticalExtensionsChoice == 1)
5825 else if (criticalExtensionsChoice == 0)
5835 else if (c1Choice == 0)
5838 std::bitset<1> opts;
5918 std::bitset<0> bitset0;
5924 int criticalExtensionsChoice;
5927 if (criticalExtensionsChoice == 1)
5932 else if (criticalExtensionsChoice == 0)
5945 std::bitset<1> isNonCriticalExtensionPresent;
5951 if (isNonCriticalExtensionPresent[0])
5974 std::list<LteRrcSap::MeasResultEutra>::iterator it = measResultListEutra.begin ();
5975 for (; it != measResultListEutra.end (); it++)
5977 os <<
" physCellId =" << (int) it->physCellId << std::endl;
5978 os <<
" haveCgiInfo =" << it->haveCgiInfo << std::endl;
5979 if (it->haveCgiInfo)
5981 os <<
" plmnIdentity = " << (int) it->cgiInfo.plmnIdentity << std::endl;
5982 os <<
" cellIdentity = " << (
int) it->cgiInfo.cellIdentity << std::endl;
5983 os <<
" trackingAreaCode = " << (int) it->cgiInfo.trackingAreaCode << std::endl;
5984 os <<
" havePlmnIdentityList = " << !it->cgiInfo.plmnIdentityList.empty () << std::endl;
5985 if (!it->cgiInfo.plmnIdentityList.empty ())
5987 for (std::list<uint32_t>::iterator it2 = it->cgiInfo.plmnIdentityList.begin (); it2 != it->cgiInfo.plmnIdentityList.begin (); it2++)
5989 os <<
" plmnId : " << *it2 << std::endl;
5994 os <<
" haveRsrpResult =" << it->haveRsrpResult << std::endl;
5995 if (it->haveRsrpResult)
5997 os <<
" rsrpResult =" << (int) it->rsrpResult << std::endl;
6000 os <<
" haveRsrqResult =" << it->haveRsrqResult << std::endl;
6001 if (it->haveRsrqResult)
6003 os <<
" rsrqResult =" << (int) it->rsrqResult << std::endl;
6044 std::cout <<
"UL DCCH MSG TYPE: " <<
m_messageType << std::endl;
6056 std::bitset<0> bitset0;
6105 std::cout <<
"DL DCCH MSG TYPE: " <<
m_messageType << std::endl;
6117 std::bitset<0> bitset0;
6166 std::cout <<
"UL CCCH MSG TYPE: " <<
m_messageType << std::endl;
6178 std::bitset<0> bitset0;
6227 std::cout <<
"DL CCCH MSG TYPE: " <<
m_messageType << std::endl;
6239 std::bitset<0> bitset0;