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++)
 
  135        std::bitset<5> drbToAddModListOptionalFieldsPresent = std::bitset<5>();
 
  136        drbToAddModListOptionalFieldsPresent.set(4, 
true);  
 
  137        drbToAddModListOptionalFieldsPresent.set(3, 
false); 
 
  138        drbToAddModListOptionalFieldsPresent.set(2, 
true);  
 
  139        drbToAddModListOptionalFieldsPresent.set(1, 
true);  
 
  140        drbToAddModListOptionalFieldsPresent.set(0, 
true);  
 
  149        switch (it->rlcConfig.choice)
 
 
  218    auto it = srbToAddModList.begin();
 
  219    for (; it != srbToAddModList.end(); it++)
 
  223        std::bitset<2> srbToAddModListOptionalFieldsPresent = std::bitset<2>();
 
  224        srbToAddModListOptionalFieldsPresent.set(1, 
false); 
 
  225        srbToAddModListOptionalFieldsPresent.set(0, 
true);  
 
 
  256    int prioritizedBitRate;
 
  260        prioritizedBitRate = 0;
 
  263        prioritizedBitRate = 1;
 
  266        prioritizedBitRate = 2;
 
  269        prioritizedBitRate = 3;
 
  272        prioritizedBitRate = 4;
 
  275        prioritizedBitRate = 5;
 
  278        prioritizedBitRate = 6;
 
  281        prioritizedBitRate = 7; 
 
  286    int bucketSizeDuration;
 
  290        bucketSizeDuration = 0;
 
  293        bucketSizeDuration = 1;
 
  296        bucketSizeDuration = 2;
 
  299        bucketSizeDuration = 3;
 
  302        bucketSizeDuration = 4;
 
  305        bucketSizeDuration = 5;
 
  308        bucketSizeDuration = 5;
 
 
  321    std::bitset<10> optionalFieldsPhysicalConfigDedicated;
 
  322    optionalFieldsPhysicalConfigDedicated.set(
 
  325    optionalFieldsPhysicalConfigDedicated.set(8, 
false);   
 
  326    optionalFieldsPhysicalConfigDedicated.set(7, 
false);   
 
  327    optionalFieldsPhysicalConfigDedicated.set(6, 
false); 
 
  328    optionalFieldsPhysicalConfigDedicated.set(5, 
false); 
 
  329    optionalFieldsPhysicalConfigDedicated.set(4, 
false); 
 
  330    optionalFieldsPhysicalConfigDedicated.set(3, 
false); 
 
  331    optionalFieldsPhysicalConfigDedicated.set(
 
  334    optionalFieldsPhysicalConfigDedicated.set(
 
  337    optionalFieldsPhysicalConfigDedicated.set(0, 
false);   
 
 
  426    bool isSrbToAddModListPresent = !radioResourceConfigDedicated.
srbToAddModList.empty();
 
  427    bool isDrbToAddModListPresent = !radioResourceConfigDedicated.
drbToAddModList.empty();
 
  428    bool isDrbToReleaseListPresent = !radioResourceConfigDedicated.
drbToReleaseList.empty();
 
  431    std::bitset<6> optionalFieldsPresent = std::bitset<6>();
 
  432    optionalFieldsPresent.set(5, isSrbToAddModListPresent);  
 
  433    optionalFieldsPresent.set(4, isDrbToAddModListPresent);  
 
  434    optionalFieldsPresent.set(3, isDrbToReleaseListPresent); 
 
  435    optionalFieldsPresent.set(2, 
false);                     
 
  436    optionalFieldsPresent.set(1, 
false);                     
 
  441    if (isSrbToAddModListPresent)
 
  447    if (isDrbToAddModListPresent)
 
  453    if (isDrbToReleaseListPresent)
 
 
  475    std::bitset<3> sysInfoBlk1Opts;
 
  476    sysInfoBlk1Opts.set(2, 
false); 
 
  477    sysInfoBlk1Opts.set(1, 
false); 
 
  478    sysInfoBlk1Opts.set(0, 
false); 
 
 
  538    std::bitset<9> rrCfgCmmOpts;
 
  539    rrCfgCmmOpts.set(8, 
true);  
 
  540    rrCfgCmmOpts.set(7, 
false); 
 
  541    rrCfgCmmOpts.set(6, 
false); 
 
  542    rrCfgCmmOpts.set(5, 
false); 
 
  543    rrCfgCmmOpts.set(4, 
false); 
 
  544    rrCfgCmmOpts.set(3, 
false); 
 
  545    rrCfgCmmOpts.set(2, 
false); 
 
  546    rrCfgCmmOpts.set(1, 
false); 
 
  547    rrCfgCmmOpts.set(0, 
false); 
 
 
  682    std::bitset<4> measResultOptional;
 
  684    measResultOptional.set(2, 
false); 
 
  685    measResultOptional.set(1, 
false); 
 
  733                if (!it->cgiInfo.plmnIdentityList.empty())
 
  736                    for (
auto it2 = it->cgiInfo.plmnIdentityList.begin();
 
  737                         it2 != it->cgiInfo.plmnIdentityList.end();
 
  746            std::bitset<2> measResultFieldsPresent;
 
  747            measResultFieldsPresent[1] = it->haveRsrpResult;
 
  748            measResultFieldsPresent[0] = it->haveRsrqResult;
 
  751            if (it->haveRsrpResult)
 
  756            if (it->haveRsrqResult)
 
  772            std::bitset<2> measResultServFreqPresent;
 
  773            measResultServFreqPresent[0] = it.haveMeasResultSCell;
 
  774            measResultServFreqPresent[1] = it.haveMeasResultBestNeighCell;
 
  780            if (it.haveMeasResultSCell)
 
  789            if (it.haveMeasResultBestNeighCell)
 
  801            NS_ASSERT(!it.haveMeasResultBestNeighCell); 
 
 
  813    int nDig = (plmnId > 99) ? 3 : 2;
 
  816    for (
int i = nDig - 1; i >= 0; i--)
 
  818        int n = floor(plmnId / pow(10, i));
 
  820        plmnId -= n * pow(10, i);
 
 
  993    switch (qOffsetRange)
 
 
 1096    switch (thresholdEutra.
choice)
 
 
 1114    std::bitset<11> measConfigOptional;
 
 1124    measConfigOptional.set(1, 
false); 
 
 1151            std::bitset<5> measObjOpts;
 
 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();
 
 1227                    std::bitset<1> rangePresent(it2->physCellIdRange.haveRange);
 
 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)
 
 1554        std::bitset<4> quantityConfigOpts(0);
 
 1555        quantityConfigOpts.set(3, 
true);
 
 
 1799    std::bitset<3> noncriticalExtension_v1020;
 
 1800    noncriticalExtension_v1020.set(
 
 1803    noncriticalExtension_v1020.set(
 
 1806    noncriticalExtension_v1020.set(
 
 1825            std::bitset<4> sCellToAddMod_r10;
 
 1826            sCellToAddMod_r10.set(3, 
true); 
 
 1827            sCellToAddMod_r10.set(2, 
true); 
 
 1828            sCellToAddMod_r10.set(1, 
true); 
 
 1829            sCellToAddMod_r10.set(
 
 1831                it.haveRadioResourceConfigDedicatedSCell); 
 
 1836            std::bitset<2> cellIdentification_r10;
 
 1837            cellIdentification_r10.set(1, 
true); 
 
 1838            cellIdentification_r10.set(0, 
true); 
 
 1847            if (it.haveRadioResourceConfigDedicatedSCell)
 
 
 1861    std::bitset<2> radioResourceConfigCommonSCell_r10;
 
 1869        std::bitset<5> nonUlConfiguration_r10;
 
 1870        nonUlConfiguration_r10.set(4, 
true);  
 
 1871        nonUlConfiguration_r10.set(3, 
true);  
 
 1872        nonUlConfiguration_r10.set(2, 
false); 
 
 1873        nonUlConfiguration_r10.set(1, 
true);  
 
 1874        nonUlConfiguration_r10.set(0, 
false); 
 
 1879        std::bitset<1> antennaInfoCommon_r10;
 
 1880        antennaInfoCommon_r10.set(0, 
true);
 
 1884        std::bitset<2> pdschConfigCommon_r10;
 
 1885        pdschConfigCommon_r10.set(1, 
true);
 
 1886        pdschConfigCommon_r10.set(0, 
true);
 
 1896        std::bitset<7> UlConfiguration_r10;
 
 1897        UlConfiguration_r10.set(6, 
true);  
 
 1898        UlConfiguration_r10.set(5, 
false); 
 
 1899        UlConfiguration_r10.set(4, 
true);  
 
 1900        UlConfiguration_r10.set(3, 
false); 
 
 1901        UlConfiguration_r10.set(2, 
false); 
 
 1902        UlConfiguration_r10.set(1, 
true);  
 
 1903        UlConfiguration_r10.set(0, 
false); 
 
 1907        std::bitset<3> FreqInfo_r10;
 
 1908        FreqInfo_r10.set(2, 
true);  
 
 1909        FreqInfo_r10.set(1, 
true);  
 
 1910        FreqInfo_r10.set(0, 
false); 
 
 1917        std::bitset<2> UlPowerControlCommonSCell_r10;
 
 1918        UlPowerControlCommonSCell_r10.set(1, 
false); 
 
 1919        UlPowerControlCommonSCell_r10.set(0, 
true);  
 
 1928        std::bitset<1> prachConfigSCell_r10;
 
 1929        prachConfigSCell_r10.set(0, 
true);
 
 
 1940    std::bitset<1> RadioResourceConfigDedicatedSCell_r10;
 
 1941    RadioResourceConfigDedicatedSCell_r10.set(0, 
true);
 
 
 1952    std::bitset<2> pcdscOpt;
 
 1960        std::bitset<4> nulOpt;
 
 1962        nulOpt.set(2, 
false); 
 
 1963        nulOpt.set(1, 
false); 
 
 2004        std::bitset<7> ulOpt;
 
 2006        ulOpt.set(5, 
false); 
 
 2007        ulOpt.set(4, 
false); 
 
 2008        ulOpt.set(3, 
false); 
 
 2010        ulOpt.set(1, 
false); 
 
 2011        ulOpt.set(0, 
false); 
 
 
 2084    int thresholdEutraChoice;
 
 2088    switch (thresholdEutraChoice)
 
 2093        thresholdEutra->
range = range;
 
 2099        thresholdEutra->
range = range;
 
 
 2113        *qOffsetRange = -24;
 
 2116        *qOffsetRange = -22;
 
 2119        *qOffsetRange = -20;
 
 2122        *qOffsetRange = -18;
 
 2125        *qOffsetRange = -16;
 
 2128        *qOffsetRange = -14;
 
 2131        *qOffsetRange = -12;
 
 2134        *qOffsetRange = -10;
 
 
 2215    std::bitset<6> optionalFieldsPresent = std::bitset<6>();
 
 2218    if (optionalFieldsPresent[5])
 
 2225    if (optionalFieldsPresent[4])
 
 2232    if (optionalFieldsPresent[3])
 
 2238        for (
int i = 0; i < n; i++)
 
 2245    if (optionalFieldsPresent[2])
 
 2251    if (optionalFieldsPresent[1])
 
 2258    if (optionalFieldsPresent[0])
 
 
 2276    srbToAddModList->clear();
 
 2279    for (
int i = 0; i < numElems; i++)
 
 2284        std::bitset<2> optionalFields;
 
 2292        if (optionalFields[1])
 
 2298        if (optionalFields[0])
 
 2317        srbToAddModList->insert(srbToAddModList->end(), srbToAddMod);
 
 
 2331    drbToAddModList->clear();
 
 2333    for (
int i = 0; i < n; i++)
 
 2337        std::bitset<5> optionalFields;
 
 2340        if (optionalFields[4])
 
 2350        if (optionalFields[3])
 
 2356        if (optionalFields[2])
 
 2363            std::bitset<0> bitset0;
 
 2414        if (optionalFields[1])
 
 2420        if (optionalFields[0])
 
 2426        drbToAddModList->insert(drbToAddModList->end(), drbToAddMod);
 
 
 2440    std::bitset<1> bitset1;
 
 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;
 
 
 2530    std::bitset<10> optionalFieldPresent;
 
 2534    if (optionalFieldPresent[9])
 
 2537        std::bitset<0> bitset0;
 
 2548    if (optionalFieldPresent[8])
 
 2553    if (optionalFieldPresent[7])
 
 2558    if (optionalFieldPresent[6])
 
 2563    if (optionalFieldPresent[5])
 
 2568    if (optionalFieldPresent[4])
 
 2573    if (optionalFieldPresent[3])
 
 2579    if (optionalFieldPresent[2])
 
 2598            std::bitset<0> bitset0;
 
 2629    if (optionalFieldPresent[1])
 
 2640            std::bitset<1> codebookSubsetRestrictionPresent;
 
 2647            if (codebookSubsetRestrictionPresent[0])
 
 2653            int txantennaselchosen;
 
 2655            if (txantennaselchosen == 0)
 
 2660            else if (txantennaselchosen == 1)
 
 2667    if (optionalFieldPresent[0])
 
 
 2679    NS_FATAL_ERROR(
"RrcAsn1Header Print() function must also specify " 
 2680                   "LteRrcSap::RadioResourceConfigDedicated as a second argument");
 
 
 2689    std::bitset<2> nonCriticalExtension_v890;
 
 2692    if (nonCriticalExtension_v890[0])
 
 2695        std::bitset<3> nonCriticalExtension_v920;
 
 2697        if (nonCriticalExtension_v920[0])
 
 2700            std::bitset<3> nonCriticalExtension_v1020;
 
 2703            if (nonCriticalExtension_v1020[2])
 
 2711                for (
int i = 0; i < numElems; i++)
 
 2720            if (nonCriticalExtension_v1020[1])
 
 2728                for (
int i = 0; i < numElems; i++)
 
 2730                    std::bitset<4> sCellToAddMod_r10;
 
 2748                    if (sCellToAddMod_r10[0])
 
 2765            NS_ASSERT(!nonCriticalExtension_v1020[0]); 
 
 
 2778    std::bitset<2> cellIdentification_r10;
 
 
 2798    std::bitset<2> radioResourceConfigCommonSCell_r10;
 
 2804        std::bitset<5> nonUlConfiguration_r10;
 
 2810        std::bitset<1> antennaInfoCommon_r10;
 
 2815        std::bitset<2> pdschConfigCommon_r10;
 
 2824        std::bitset<7> UlConfiguration_r10;
 
 2827        std::bitset<3> FreqInfo_r10;
 
 2835        std::bitset<2> UlPowerControlCommonSCell_r10;
 
 2840        std::bitset<1> prachConfigSCell_r10;
 
 
 2855    std::bitset<1> RadioResourceConfigDedicatedSCell_r10;
 
 2856    bIterator = 
DeserializeSequence(&RadioResourceConfigDedicatedSCell_r10, 
false, bIterator);
 
 
 2869    std::bitset<2> pcdscOpt;
 
 2875        std::bitset<4> nulOpt;
 
 2893                std::bitset<1> codebookSubsetRestrictionPresent;
 
 2901                if (codebookSubsetRestrictionPresent[0])
 
 2908                int txantennaselchosen;
 
 2910                if (txantennaselchosen == 0)
 
 2915                else if (txantennaselchosen == 1)
 
 2926            std::bitset<0> bitset0;
 
 2940        std::bitset<7> ulOpt;
 
 2961                std::bitset<1> codebookSubsetRestrictionPresent;
 
 2969                if (codebookSubsetRestrictionPresent[0])
 
 2976                int txantennaselchosen;
 
 2978                if (txantennaselchosen == 0)
 
 2983                else if (txantennaselchosen == 1)
 
 3010                std::bitset<0> bitset0;
 
 
 3049    os << 
"   srbToAddModList: " << std::endl;
 
 3051    for (; it != radioResourceConfigDedicated.
srbToAddModList.end(); it++)
 
 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;
 
 3067    for (; it2 != radioResourceConfigDedicated.
drbToAddModList.end(); it2++)
 
 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: " 
 
 3137    std::bitset<0> bitset0;
 
 3140    std::bitset<3> sysInfoBlkT1Opts;
 
 3144    std::bitset<1> cellAccessRelatedInfoOpts;
 
 3148    int numPlmnIdentityInfoElements;
 
 3150    for (
int i = 0; i < numPlmnIdentityInfoElements; i++)
 
 3161    std::bitset<16> trackingAreaCode;
 
 3165    std::bitset<28> cellIdentity;
 
 3180    if (cellAccessRelatedInfoOpts[0])
 
 3183        std::bitset<27> csgIdentity;
 
 3189    std::bitset<1> qRxLevMinOffsetPresent;
 
 3192    if (qRxLevMinOffsetPresent[0])
 
 3198    if (sysInfoBlkT1Opts[2])
 
 3208    int numSchedulingInfo;
 
 3210    for (
int i = 0; i < numSchedulingInfo; i++)
 
 3217        for (
int j = 0; j < numSibType; j++)
 
 3223    if (sysInfoBlkT1Opts[1])
 
 3235    if (sysInfoBlkT1Opts[0])
 
 
 3248    std::bitset<0> bitset0;
 
 3251    std::bitset<2> sysInfoBlkT2Opts;
 
 3253    if (sysInfoBlkT2Opts[1])
 
 3274    std::bitset<2> freqInfoOpts;
 
 3276    if (freqInfoOpts[1])
 
 3282    if (freqInfoOpts[0])
 
 3292    if (sysInfoBlkT2Opts[0])
 
 
 3309    std::bitset<0> bitset0;
 
 3312    std::bitset<9> rrCfgCommOptions;
 
 3316    if (rrCfgCommOptions[8])
 
 3323    std::bitset<1> prachConfigInfoPresent;
 
 3330    if (prachConfigInfoPresent[0])
 
 3336    if (rrCfgCommOptions[7])
 
 3377    if (rrCfgCommOptions[6])
 
 3383    if (rrCfgCommOptions[5])
 
 3389    if (rrCfgCommOptions[4])
 
 3395    if (rrCfgCommOptions[3])
 
 3401    if (rrCfgCommOptions[2])
 
 3407    if (rrCfgCommOptions[1])
 
 3413    if (rrCfgCommOptions[0])
 
 
 3428    std::bitset<0> bitset0;
 
 3434    std::bitset<1> preamblesGroupAConfigPresent;
 
 3493    if (preamblesGroupAConfigPresent[0])
 
 
 3608    std::bitset<0> bitset0;
 
 3627    std::bitset<1> prachConfigInfoPresent;
 
 3632    if (prachConfigInfoPresent[0])
 
 
 3721    std::bitset<4> measResultOptionalPresent;
 
 3744        int measResultNeighCellsChoice;
 
 3747        bIterator = 
DeserializeChoice(4, 
false, &measResultNeighCellsChoice, bIterator);
 
 3749        if (measResultNeighCellsChoice == 0)
 
 3755            for (
int i = 0; i < numElems; i++)
 
 3759                std::bitset<1> isCgiInfoPresent;
 
 3766                measResultEutra.
haveCgiInfo = isCgiInfoPresent[0];
 
 3767                if (isCgiInfoPresent[0])
 
 3769                    std::bitset<1> havePlmnIdentityList;
 
 3780                    std::bitset<28> cellId;
 
 3785                    std::bitset<16> trArCo;
 
 3790                    if (havePlmnIdentityList[0])
 
 3795                        for (
int j = 0; j < numPlmnElems; j++)
 
 3805                std::bitset<2> measResultOpts;
 
 3809                if (measResultOpts[1])
 
 3817                if (measResultOpts[0])
 
 3828        if (measResultNeighCellsChoice == 1)
 
 3834        if (measResultNeighCellsChoice == 2)
 
 3839        if (measResultNeighCellsChoice == 3)
 
 3849        for (
int i = 0; i < numElems; i++)
 
 3854            std::bitset<2> measResultScellPresent;
 
 
 3899    std::bitset<1> isMccPresent;
 
 3902    if (isMccPresent[0])
 
 3913    for (
int j = mncDigits - 1; j >= 0; j--)
 
 3916        mnc += n * pow(10, j);
 
 
 3929    std::bitset<0> bitset0;
 
 3930    std::bitset<2> bitset2;
 
 3931    std::bitset<11> bitset11;
 
 3940        int measObjectToRemoveListElems;
 
 3944        for (
int i = 0; i < measObjectToRemoveListElems; i++)
 
 3954        int measObjectToAddModListElems;
 
 3958        for (
int i = 0; i < measObjectToAddModListElems; i++)
 
 3967            int measObjectChoice;
 
 3970            switch (measObjectChoice)
 
 3988                std::bitset<5> measObjectEutraOpts;
 
 4010                if (measObjectEutraOpts[4])
 
 4016                    for (
int i = 0; i < numElems; i++)
 
 4023                if (measObjectEutraOpts[3])
 
 4029                    for (
int i = 0; i < numElems; i++)
 
 4051                if (measObjectEutraOpts[2])
 
 4057                    for (
int i = 0; i < numElems; i++)
 
 4064                if (measObjectEutraOpts[1])
 
 4070                    for (
int i = 0; i < numElems; i++)
 
 4079                        std::bitset<1> isRangePresent;
 
 4147                if (measObjectEutraOpts[0])
 
 4161        int reportConfigToRemoveListElems;
 
 4167        for (
int i = 0; i < reportConfigToRemoveListElems; i++)
 
 4177        int reportConfigToAddModListElems;
 
 4183        for (
int i = 0; i < reportConfigToAddModListElems; i++)
 
 4192            int reportConfigChoice;
 
 4195            if (reportConfigChoice == 0)
 
 4201                int triggerTypeChoice;
 
 4204                if (triggerTypeChoice == 0)
 
 4214                    switch (eventIdChoice)
 
 4314                if (triggerTypeChoice == 1)
 
 4443            if (reportConfigChoice == 1)
 
 4456        int measIdToRemoveListElems;
 
 4459        for (
int i = 0; i < measIdToRemoveListElems; i++)
 
 4469        int measIdToAddModListElems;
 
 4472        for (
int i = 0; i < measIdToAddModListElems; i++)
 
 4495        std::bitset<4> quantityConfigOpts;
 
 4498        if (quantityConfigOpts[3])
 
 4611        if (quantityConfigOpts[2])
 
 4616        if (quantityConfigOpts[1])
 
 4621        if (quantityConfigOpts[0])
 
 4632        int measGapConfigChoice;
 
 4634        switch (measGapConfigChoice)
 
 4645            int gapOffsetChoice;
 
 4647            switch (gapOffsetChoice)
 
 4681        int speedStateParsChoice;
 
 4683        switch (speedStateParsChoice)
 
 
 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;
 
 4837    std::bitset<0> optionalOrDefaultMask;
 
 
 4914    os << 
"radioResourceConfigDedicated:" << std::endl;
 
 
 4962    std::bitset<0> bitset0;
 
 4963    std::bitset<1> bitset1;
 
 4964    std::bitset<2> bitset2;
 
 4978    int criticalExtensionChoice;
 
 4980    if (criticalExtensionChoice == 1)
 
 4985    else if (criticalExtensionChoice == 0)
 
 
 5049std::list<LteRrcSap::SrbToAddMod>
 
 5055std::list<LteRrcSap::DrbToAddMod>
 
 5121    std::bitset<0> bitset0;
 
 
 5224    std::bitset<0> bitset0;
 
 
 5311    std::bitset<6> options;
 
 5314    options.set(3, 
false); 
 
 5316    options.set(1, 
false);                      
 
 5331        std::bitset<4> mobCtrlIntoOptional;
 
 5334        mobCtrlIntoOptional.set(1, 
false); 
 
 5386        std::bitset<2> noncriticalExtension_v890;
 
 5387        noncriticalExtension_v890.set(1, 
false); 
 
 5388        noncriticalExtension_v890.set(
 
 5397        std::bitset<3> noncriticalExtension_v920;
 
 5398        noncriticalExtension_v920.set(1, 
false); 
 
 5399        noncriticalExtension_v920.set(1, 
false); 
 
 5401        noncriticalExtension_v920.set(
 
 
 5418    std::bitset<0> bitset0;
 
 5447        else if (c1Chosen == 0)
 
 5450            std::bitset<6> rrcConnRecOpts;
 
 5463                std::bitset<4> mobCtrlOpts;
 
 5474                    std::bitset<1> ulCarrierFreqPresent;
 
 5480                    if (ulCarrierFreqPresent[0])
 
 5491                    std::bitset<1> ulBandwidthPresent;
 
 5497                    if (ulBandwidthPresent[0])
 
 5514                std::bitset<16> cRnti;
 
 5535            if (rrcConnRecOpts[3])
 
 5549            if (rrcConnRecOpts[1])
 
 
 5577            os << 
"  measObjectToRemoveList: ";
 
 5579            auto it = auxList.begin();
 
 5580            for (; it != auxList.end(); it++)
 
 5582                os << (int)*it << 
", ";
 
 5588            os << 
"  reportConfigToRemoveList: ";
 
 5590            auto it = auxList.begin();
 
 5591            for (; it != auxList.end(); it++)
 
 5593                os << (int)*it << 
", ";
 
 5599            os << 
"  measIdToRemoveList: ";
 
 5601            auto it = auxList.begin();
 
 5602            for (; it != auxList.end(); it++)
 
 5604                os << (int)*it << 
", ";
 
 5611            os << 
"  measObjectToAddMod: " << std::endl;
 
 5613            auto it = auxList.begin();
 
 5614            for (; it != auxList.end(); it++)
 
 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;
 
 5630                    auto it = auxList.begin();
 
 5631                    for (; it != auxList.end(); it++)
 
 5633                        os << (int)*it << 
", ";
 
 5638                if (!it->measObjectEutra.blackCellsToRemoveList.empty())
 
 5640                    os << 
"    blackCellsToRemoveList: ";
 
 5641                    std::list<uint8_t> auxList = it->measObjectEutra.blackCellsToRemoveList;
 
 5642                    auto it = auxList.begin();
 
 5643                    for (; it != auxList.end(); it++)
 
 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;
 
 5655                    auto it = auxList.begin();
 
 5656                    for (; it != auxList.end(); it++)
 
 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;
 
 5671                    auto it = auxList.begin();
 
 5672                    for (; it != auxList.end(); it++)
 
 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 =
 
 5698            auto it = auxList.begin();
 
 5699            for (; it != auxList.end(); it++)
 
 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;
 
 5756            auto it = auxList.begin();
 
 5757            for (; it != auxList.end(); it++)
 
 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>
 
 5992    std::bitset<4> handoverPrepInfoOpts;
 
 5993    handoverPrepInfoOpts.set(3, 
true);  
 
 5994    handoverPrepInfoOpts.set(2, 
false); 
 
 5995    handoverPrepInfoOpts.set(1, 
false); 
 
 5996    handoverPrepInfoOpts.set(0, 
false); 
 
 
 6053    std::bitset<0> bitset0;
 
 6061    int criticalExtensionsChosen;
 
 6064    if (criticalExtensionsChosen == 1)
 
 6069    else if (criticalExtensionsChosen == 0)
 
 6078        else if (c1Chosen == 0)
 
 6081            std::bitset<4> handoverPrepInfoOpts;
 
 6086            for (
int i = 0; i < n; i++)
 
 6092            if (handoverPrepInfoOpts[3])
 
 6111                std::bitset<16> cRnti;
 
 6126                std::bitset<8> systemFrameNumber;
 
 6129                    systemFrameNumber.to_ulong();
 
 6131                std::bitset<10> spare;
 
 6152            if (handoverPrepInfoOpts[2])
 
 6157            if (handoverPrepInfoOpts[1])
 
 6162            if (handoverPrepInfoOpts[0])
 
 
 6181    os << 
"plmnIdentityInfo.plmnIdentity: " 
 6185    os << 
"cellAccessRelatedInfo.cellIdentity " 
 6188    os << 
"cellAccessRelatedInfo.csgIndication: " 
 6191    os << 
"cellAccessRelatedInfo.csgIdentity: " 
 
 6283    std::bitset<0> bitset0;
 
 6308        std::bitset<16> cRnti;
 
 6318        std::bitset<16> shortMacI;
 
 6340        std::bitset<2> spare;
 
 
 6433    std::bitset<0> bitset0;
 
 6447    int criticalExtensionsChoice;
 
 6449    if (criticalExtensionsChoice == 1)
 
 6454    else if (criticalExtensionsChoice == 0)
 
 6467            std::bitset<1> nonCriticalExtensionPresent;
 
 
 6486    os << 
"RadioResourceConfigDedicated: " << std::endl;
 
 
 6554    std::bitset<0> bitset0;
 
 6568    int criticalExtensionsChoice;
 
 6570    if (criticalExtensionsChoice == 1)
 
 6575    else if (criticalExtensionsChoice == 0)
 
 6578        std::bitset<1> opts;
 
 
 6654    std::bitset<0> bitset0;
 
 6663    int criticalExtensionsChoice;
 
 6665    if (criticalExtensionsChoice == 1)
 
 6670    else if (criticalExtensionsChoice == 0)
 
 6673        std::bitset<1> opts;
 
 
 6749    std::bitset<0> bitset0;
 
 6763    int criticalExtensionsChoice;
 
 6765    if (criticalExtensionsChoice == 1)
 
 6770    else if (criticalExtensionsChoice == 0)
 
 6779            std::bitset<3> opts;
 
 
 6871    std::bitset<0> bitset0;
 
 6881    int criticalExtensionsChoice;
 
 6883    if (criticalExtensionsChoice == 1)
 
 6888    else if (criticalExtensionsChoice == 0)
 
 6898        else if (c1Choice == 0)
 
 6901            std::bitset<1> opts;
 
 
 6981    std::bitset<0> bitset0;
 
 6987    int criticalExtensionsChoice;
 
 6990    if (criticalExtensionsChoice == 1)
 
 6995    else if (criticalExtensionsChoice == 0)
 
 7008            std::bitset<1> isNonCriticalExtensionPresent;
 
 7014            if (isNonCriticalExtensionPresent[0])
 
 
 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;
 
 
 7125    std::bitset<0> bitset0;
 
 
 7175    std::cout << 
"DL DCCH MSG TYPE: " << 
m_messageType << std::endl;
 
 
 7187    std::bitset<0> bitset0;
 
 
 7237    std::cout << 
"UL CCCH MSG TYPE: " << 
m_messageType << std::endl;
 
 
 7249    std::bitset<0> bitset0;
 
 
 7299    std::cout << 
"DL CCCH MSG TYPE: " << 
m_messageType << std::endl;
 
 
 7311    std::bitset<0> bitset0;
 
 
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 ",...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint16_t antennaPortsCount
antenna ports count
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.
CellIdentification structure.
uint32_t dlCarrierFreq
ARFCN - valueEUTRA.
uint32_t physCellId
physical cell ID
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.
std::list< uint32_t > plmnIdentityList
PLMN identity list.
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
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.
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
uint8_t rsrpResult
the RSRP result
uint8_t rsrqResult
the RSRQ result
uint16_t physCellId
physical cell ID
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
uint8_t rsrpResult
the RSRP result
uint8_t rsrqResult
the RSRQ result
MeasResultServFreq structure.
bool haveMeasResultSCell
have measResultSCell?
MeasResultBestNeighCell measResultBestNeighCell
best neighbor cell measurement results
bool haveMeasResultBestNeighCell
have measResultBestNeighCell?
uint16_t servFreqId
serving cell index
MeasResultSCell measResultSCell
SCell measurement results.
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.
AntennaInfoCommon antennaInfoCommon
2: Physical configuration, general antennaInfoCommon-r10
PdschConfigCommon pdschConfigCommon
4: Physical configuration, physical channels pdsch-ConfigCommon-r10
uint16_t dlBandwidth
1: Cell characteristics
int8_t referenceSignalPower
INTEGER (-60..50),.
int8_t pb
INTEGER (0..3),.
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
PhysicalConfigDedicatedSCell structure.
AntennaInfoDedicated antennaInfoUl
antenna info UL
SoundingRsUlConfigDedicated soundingRsUlConfigDedicated
sounding RS UL config dedicated
PdschConfigDedicated pdschConfigDedicated
PDSCH config dedicated.
bool haveSoundingRsUlConfigDedicated
have sounding RS UL config dedicated?
bool haveUlConfiguration
have UL configuration?
bool haveAntennaInfoUlDedicated
have antenna info UL dedicated?
bool havePdschConfigDedicated
have PDSCH config dedicated?
bool haveNonUlConfiguration
have non UL configuration?
AntennaInfoDedicated antennaInfo
antenna info dedicated
bool haveAntennaInfoDedicated
have antenna info dedicated?
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.
NonUlConfiguration nonUlConfiguration
non UL configuration
bool haveUlConfiguration
have UL configuration
bool haveNonUlConfiguration
have non UL configuration?
UlConfiguration ulConfiguration
UL configuration.
RadioResourceConfigCommonSib structure.
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.
RadioResourceConfigDedicatedSCell structure.
PhysicalConfigDedicatedSCell physicalConfigDedicatedSCell
physical config dedicated SCell
ReestabUeIdentity structure.
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.
@ RSRP
Reference Signal Received Power.
@ RSRQ
Reference Signal Received Quality.
@ 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...
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.
@ BOTH
Both the RSRP and RSRQ quantities are to be included in the measurement report.
@ SAME_AS_TRIGGER_QUANTITY
ThresholdEutra threshold1
Threshold for event A1, A2, A4, and A5.
enum ns3::LteRrcSap::ReportConfigEutra::@64 reportQuantity
Report type enumeration.
@ PERIODICAL
periodical report
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.
bool haveMobilityControlInfo
have mobility control info
NonCriticalExtensionConfiguration nonCriticalExtension
3GPP TS 36.331 v.11.10 R11 Sec.
bool haveRadioResourceConfigDedicated
have radio resource config dedicated
RadioResourceConfigDedicated radioResourceConfigDedicated
radio resource config dedicated
bool haveNonCriticalExtension
have critical extension?
MeasConfig measConfig
measure config
bool haveMeasConfig
have measure config
MobilityControlInfo mobilityControlInfo
mobility control info
RrcConnectionReestablishmentComplete structure.
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionReestablishment structure.
RadioResourceConfigDedicated radioResourceConfigDedicated
radio resource config dedicated
uint8_t rrcTransactionIdentifier
RRC transaction identifier.
RrcConnectionReestablishmentReject structure.
RrcConnectionReestablishmentRequest structure.
ReestablishmentCause reestablishmentCause
reestablishment cause
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.
RadioResourceConfigDedicated radioResourceConfigDedicated
radio resource config dedicated
RadioResourceConfigDedicatedSCell radioResourceConfigDedicatedSCell
radio resource config dedicated SCell
uint32_t sCellIndex
SCell index.
bool haveRadioResourceConfigDedicatedSCell
have radio resource config dedicated SCell?
CellIdentification cellIdentification
cell identification
RadioResourceConfigCommonSCell radioResourceConfigCommonSCell
radio resource config common SCell
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
LogicalChannelConfig logicalChannelConfig
logical channel config
uint8_t srbIdentity
SB identity.
Threshold for event evaluation.
@ 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.
uint8_t connEstFailCount
Number of times that the UE detects T300 expiry on the same cell.
UlPowerControlCommonSCell ulPowerControlCommonSCell
3GPP TS 36.331 v.11.10 R11 pag.223
FreqInfo ulFreqInfo
UL frequency info.
PrachConfigSCell prachConfigSCell
PRACH config SCell.
uint16_t alpha
alpha value