31#define MAX_EARFCN 262143 
   32#define MAX_RAT_CAPABILITIES 8 
   33#define MAX_SI_MESSAGE 32 
   36#define MAX_REPORT_CONFIG_ID 32 
   37#define MAX_OBJECT_ID 32 
   39#define MAX_CELL_MEAS 32 
   40#define MAX_CELL_REPORT 8 
   42#define MAX_SCELL_REPORT 5 
   43#define MAX_SCELL_CONF 5 
  141    auto it = drbToAddModList.begin();
 
  142    for (; it != drbToAddModList.end(); it++)
 
  146        std::bitset<5> drbToAddModListOptionalFieldsPresent = std::bitset<5>();
 
  147        drbToAddModListOptionalFieldsPresent.set(4, 
true);  
 
  148        drbToAddModListOptionalFieldsPresent.set(3, 
false); 
 
  149        drbToAddModListOptionalFieldsPresent.set(2, 
true);  
 
  150        drbToAddModListOptionalFieldsPresent.set(1, 
true);  
 
  151        drbToAddModListOptionalFieldsPresent.set(0, 
true);  
 
  160        switch (it->rlcConfig.choice)
 
  229    auto it = srbToAddModList.begin();
 
  230    for (; it != srbToAddModList.end(); it++)
 
  234        std::bitset<2> srbToAddModListOptionalFieldsPresent = std::bitset<2>();
 
  235        srbToAddModListOptionalFieldsPresent.set(1, 
false); 
 
  236        srbToAddModListOptionalFieldsPresent.set(0, 
true);  
 
  267    int prioritizedBitRate;
 
  271        prioritizedBitRate = 0;
 
  274        prioritizedBitRate = 1;
 
  277        prioritizedBitRate = 2;
 
  280        prioritizedBitRate = 3;
 
  283        prioritizedBitRate = 4;
 
  286        prioritizedBitRate = 5;
 
  289        prioritizedBitRate = 6;
 
  292        prioritizedBitRate = 7; 
 
  297    int bucketSizeDuration;
 
  301        bucketSizeDuration = 0;
 
  304        bucketSizeDuration = 1;
 
  307        bucketSizeDuration = 2;
 
  310        bucketSizeDuration = 3;
 
  313        bucketSizeDuration = 4;
 
  316        bucketSizeDuration = 5;
 
  319        bucketSizeDuration = 5;
 
  332    std::bitset<10> optionalFieldsPhysicalConfigDedicated;
 
  333    optionalFieldsPhysicalConfigDedicated.set(
 
  336    optionalFieldsPhysicalConfigDedicated.set(8, 
false);   
 
  337    optionalFieldsPhysicalConfigDedicated.set(7, 
false);   
 
  338    optionalFieldsPhysicalConfigDedicated.set(6, 
false); 
 
  339    optionalFieldsPhysicalConfigDedicated.set(5, 
false); 
 
  340    optionalFieldsPhysicalConfigDedicated.set(4, 
false); 
 
  341    optionalFieldsPhysicalConfigDedicated.set(3, 
false); 
 
  342    optionalFieldsPhysicalConfigDedicated.set(
 
  345    optionalFieldsPhysicalConfigDedicated.set(
 
  348    optionalFieldsPhysicalConfigDedicated.set(0, 
false);   
 
  437    bool isSrbToAddModListPresent = !radioResourceConfigDedicated.
srbToAddModList.empty();
 
  438    bool isDrbToAddModListPresent = !radioResourceConfigDedicated.
drbToAddModList.empty();
 
  439    bool isDrbToReleaseListPresent = !radioResourceConfigDedicated.
drbToReleaseList.empty();
 
  442    std::bitset<6> optionalFieldsPresent = std::bitset<6>();
 
  443    optionalFieldsPresent.set(5, isSrbToAddModListPresent);  
 
  444    optionalFieldsPresent.set(4, isDrbToAddModListPresent);  
 
  445    optionalFieldsPresent.set(3, isDrbToReleaseListPresent); 
 
  446    optionalFieldsPresent.set(2, 
false);                     
 
  447    optionalFieldsPresent.set(1, 
false);                     
 
  452    if (isSrbToAddModListPresent)
 
  458    if (isDrbToAddModListPresent)
 
  464    if (isDrbToReleaseListPresent)
 
  486    std::bitset<3> sysInfoBlk1Opts;
 
  487    sysInfoBlk1Opts.set(2, 
false); 
 
  488    sysInfoBlk1Opts.set(1, 
false); 
 
  489    sysInfoBlk1Opts.set(0, 
false); 
 
  549    std::bitset<9> rrCfgCmmOpts;
 
  550    rrCfgCmmOpts.set(8, 
true);  
 
  551    rrCfgCmmOpts.set(7, 
false); 
 
  552    rrCfgCmmOpts.set(6, 
false); 
 
  553    rrCfgCmmOpts.set(5, 
false); 
 
  554    rrCfgCmmOpts.set(4, 
false); 
 
  555    rrCfgCmmOpts.set(3, 
false); 
 
  556    rrCfgCmmOpts.set(2, 
false); 
 
  557    rrCfgCmmOpts.set(1, 
false); 
 
  558    rrCfgCmmOpts.set(0, 
false); 
 
  693    std::bitset<4> measResultOptional;
 
  695    measResultOptional.set(2, 
false); 
 
  696    measResultOptional.set(1, 
false); 
 
  744                if (!it->cgiInfo.plmnIdentityList.empty())
 
  747                    for (
auto it2 = it->cgiInfo.plmnIdentityList.begin();
 
  748                         it2 != it->cgiInfo.plmnIdentityList.end();
 
  757            std::bitset<2> measResultFieldsPresent;
 
  758            measResultFieldsPresent[1] = it->haveRsrpResult;
 
  759            measResultFieldsPresent[0] = it->haveRsrqResult;
 
  762            if (it->haveRsrpResult)
 
  767            if (it->haveRsrqResult)
 
  783            std::bitset<2> measResultServFreqPresent;
 
  784            measResultServFreqPresent[0] = it.haveMeasResultSCell;
 
  785            measResultServFreqPresent[1] = it.haveMeasResultBestNeighCell;
 
  791            if (it.haveMeasResultSCell)
 
  800            if (it.haveMeasResultBestNeighCell)
 
  812            NS_ASSERT(!it.haveMeasResultBestNeighCell); 
 
  824    int nDig = (plmnId > 99) ? 3 : 2;
 
  827    for (
int i = nDig - 1; i >= 0; i--)
 
  829        int n = floor(plmnId / pow(10, i));
 
  831        plmnId -= n * pow(10, i);
 
 1004    switch (qOffsetRange)
 
 1107    switch (thresholdEutra.
choice)
 
 1125    std::bitset<11> measConfigOptional;
 
 1135    measConfigOptional.set(1, 
false); 
 
 1162            std::bitset<5> measObjOpts;
 
 1163            measObjOpts.set(4, !it->measObjectEutra.cellsToRemoveList.empty());
 
 1164            measObjOpts.set(3, !it->measObjectEutra.cellsToAddModList.empty());
 
 1165            measObjOpts.set(2, !it->measObjectEutra.blackCellsToRemoveList.empty());
 
 1166            measObjOpts.set(1, !it->measObjectEutra.blackCellsToAddModList.empty());
 
 1167            measObjOpts.set(0, it->measObjectEutra.haveCellForWhichToReportCGI);
 
 1180            if (!it->measObjectEutra.cellsToRemoveList.empty())
 
 1183                for (
auto it2 = it->measObjectEutra.cellsToRemoveList.begin();
 
 1184                     it2 != it->measObjectEutra.cellsToRemoveList.end();
 
 1191            if (!it->measObjectEutra.cellsToAddModList.empty())
 
 1194                for (
auto it2 = it->measObjectEutra.cellsToAddModList.begin();
 
 1195                     it2 != it->measObjectEutra.cellsToAddModList.end();
 
 1211            if (!it->measObjectEutra.blackCellsToRemoveList.empty())
 
 1216                for (
auto it2 = it->measObjectEutra.blackCellsToRemoveList.begin();
 
 1217                     it2 != it->measObjectEutra.blackCellsToRemoveList.end();
 
 1224            if (!it->measObjectEutra.blackCellsToAddModList.empty())
 
 1229                for (
auto it2 = it->measObjectEutra.blackCellsToAddModList.begin();
 
 1230                     it2 != it->measObjectEutra.blackCellsToAddModList.end();
 
 1238                    std::bitset<1> rangePresent(it2->physCellIdRange.haveRange);
 
 1241                    if (it2->physCellIdRange.haveRange)
 
 1243                        switch (it2->physCellIdRange.range)
 
 1294            if (it->measObjectEutra.haveCellForWhichToReportCGI)
 
 1325            switch (it->reportConfigEutra.triggerType)
 
 1330                switch (it->reportConfigEutra.purpose)
 
 1344                switch (it->reportConfigEutra.eventId)
 
 1377                switch (it->reportConfigEutra.timeToTrigger)
 
 1441            if (it->reportConfigEutra.reportQuantity ==
 
 1455            switch (it->reportConfigEutra.reportInterval)
 
 1508            switch (it->reportConfigEutra.reportAmount)
 
 1565        std::bitset<4> quantityConfigOpts(0);
 
 1566        quantityConfigOpts.set(3, 
true);
 
 1810    std::bitset<3> noncriticalExtension_v1020;
 
 1811    noncriticalExtension_v1020.set(
 
 1814    noncriticalExtension_v1020.set(
 
 1817    noncriticalExtension_v1020.set(
 
 1836            std::bitset<4> sCellToAddMod_r10;
 
 1837            sCellToAddMod_r10.set(3, 
true); 
 
 1838            sCellToAddMod_r10.set(2, 
true); 
 
 1839            sCellToAddMod_r10.set(1, 
true); 
 
 1840            sCellToAddMod_r10.set(
 
 1842                it.haveRadioResourceConfigDedicatedSCell); 
 
 1847            std::bitset<2> cellIdentification_r10;
 
 1848            cellIdentification_r10.set(1, 
true); 
 
 1849            cellIdentification_r10.set(0, 
true); 
 
 1858            if (it.haveRadioResourceConfigDedicatedSCell)
 
 1872    std::bitset<2> radioResourceConfigCommonSCell_r10;
 
 1880        std::bitset<5> nonUlConfiguration_r10;
 
 1881        nonUlConfiguration_r10.set(4, 
true);  
 
 1882        nonUlConfiguration_r10.set(3, 
true);  
 
 1883        nonUlConfiguration_r10.set(2, 
false); 
 
 1884        nonUlConfiguration_r10.set(1, 
true);  
 
 1885        nonUlConfiguration_r10.set(0, 
false); 
 
 1890        std::bitset<1> antennaInfoCommon_r10;
 
 1891        antennaInfoCommon_r10.set(0, 
true);
 
 1895        std::bitset<2> pdschConfigCommon_r10;
 
 1896        pdschConfigCommon_r10.set(1, 
true);
 
 1897        pdschConfigCommon_r10.set(0, 
true);
 
 1907        std::bitset<7> UlConfiguration_r10;
 
 1908        UlConfiguration_r10.set(6, 
true);  
 
 1909        UlConfiguration_r10.set(5, 
false); 
 
 1910        UlConfiguration_r10.set(4, 
true);  
 
 1911        UlConfiguration_r10.set(3, 
false); 
 
 1912        UlConfiguration_r10.set(2, 
false); 
 
 1913        UlConfiguration_r10.set(1, 
true);  
 
 1914        UlConfiguration_r10.set(0, 
false); 
 
 1918        std::bitset<3> FreqInfo_r10;
 
 1919        FreqInfo_r10.set(2, 
true);  
 
 1920        FreqInfo_r10.set(1, 
true);  
 
 1921        FreqInfo_r10.set(0, 
false); 
 
 1928        std::bitset<2> UlPowerControlCommonSCell_r10;
 
 1929        UlPowerControlCommonSCell_r10.set(1, 
false); 
 
 1930        UlPowerControlCommonSCell_r10.set(0, 
true);  
 
 1939        std::bitset<1> prachConfigSCell_r10;
 
 1940        prachConfigSCell_r10.set(0, 
true);
 
 1951    std::bitset<1> RadioResourceConfigDedicatedSCell_r10;
 
 1952    RadioResourceConfigDedicatedSCell_r10.set(0, 
true);
 
 1963    std::bitset<2> pcdscOpt;
 
 1971        std::bitset<4> nulOpt;
 
 1973        nulOpt.set(2, 
false); 
 
 1974        nulOpt.set(1, 
false); 
 
 2015        std::bitset<7> ulOpt;
 
 2017        ulOpt.set(5, 
false); 
 
 2018        ulOpt.set(4, 
false); 
 
 2019        ulOpt.set(3, 
false); 
 
 2021        ulOpt.set(1, 
false); 
 
 2022        ulOpt.set(0, 
false); 
 
 2095    int thresholdEutraChoice;
 
 2099    switch (thresholdEutraChoice)
 
 2104        thresholdEutra->
range = range;
 
 2110        thresholdEutra->
range = range;
 
 2124        *qOffsetRange = -24;
 
 2127        *qOffsetRange = -22;
 
 2130        *qOffsetRange = -20;
 
 2133        *qOffsetRange = -18;
 
 2136        *qOffsetRange = -16;
 
 2139        *qOffsetRange = -14;
 
 2142        *qOffsetRange = -12;
 
 2145        *qOffsetRange = -10;
 
 2226    std::bitset<6> optionalFieldsPresent = std::bitset<6>();
 
 2229    if (optionalFieldsPresent[5])
 
 2236    if (optionalFieldsPresent[4])
 
 2243    if (optionalFieldsPresent[3])
 
 2249        for (
int i = 0; i < n; i++)
 
 2256    if (optionalFieldsPresent[2])
 
 2262    if (optionalFieldsPresent[1])
 
 2269    if (optionalFieldsPresent[0])
 
 2287    srbToAddModList->clear();
 
 2290    for (
int i = 0; i < numElems; i++)
 
 2295        std::bitset<2> optionalFields;
 
 2303        if (optionalFields[1])
 
 2309        if (optionalFields[0])
 
 2328        srbToAddModList->insert(srbToAddModList->end(), srbToAddMod);
 
 2342    drbToAddModList->clear();
 
 2344    for (
int i = 0; i < n; i++)
 
 2348        std::bitset<5> optionalFields;
 
 2351        if (optionalFields[4])
 
 2361        if (optionalFields[3])
 
 2367        if (optionalFields[2])
 
 2374            std::bitset<0> bitset0;
 
 2425        if (optionalFields[1])
 
 2431        if (optionalFields[0])
 
 2437        drbToAddModList->insert(drbToAddModList->end(), drbToAddMod);
 
 2451    std::bitset<1> bitset1;
 
 2461        logicalChannelConfig->
priority = n;
 
 2465        uint16_t prioritizedBitRateKbps;
 
 2470            prioritizedBitRateKbps = 0;
 
 2473            prioritizedBitRateKbps = 8;
 
 2476            prioritizedBitRateKbps = 16;
 
 2479            prioritizedBitRateKbps = 32;
 
 2482            prioritizedBitRateKbps = 64;
 
 2485            prioritizedBitRateKbps = 128;
 
 2488            prioritizedBitRateKbps = 256;
 
 2491            prioritizedBitRateKbps = 10000;
 
 2494            prioritizedBitRateKbps = 10000;
 
 2500        uint16_t bucketSizeDurationMs;
 
 2504            bucketSizeDurationMs = 50;
 
 2507            bucketSizeDurationMs = 100;
 
 2510            bucketSizeDurationMs = 150;
 
 2513            bucketSizeDurationMs = 300;
 
 2516            bucketSizeDurationMs = 500;
 
 2519            bucketSizeDurationMs = 1000;
 
 2522            bucketSizeDurationMs = 1000;
 
 2541    std::bitset<10> optionalFieldPresent;
 
 2545    if (optionalFieldPresent[9])
 
 2548        std::bitset<0> bitset0;
 
 2559    if (optionalFieldPresent[8])
 
 2564    if (optionalFieldPresent[7])
 
 2569    if (optionalFieldPresent[6])
 
 2574    if (optionalFieldPresent[5])
 
 2579    if (optionalFieldPresent[4])
 
 2584    if (optionalFieldPresent[3])
 
 2590    if (optionalFieldPresent[2])
 
 2609            std::bitset<0> bitset0;
 
 2640    if (optionalFieldPresent[1])
 
 2651            std::bitset<1> codebookSubsetRestrictionPresent;
 
 2658            if (codebookSubsetRestrictionPresent[0])
 
 2664            int txantennaselchosen;
 
 2666            if (txantennaselchosen == 0)
 
 2671            else if (txantennaselchosen == 1)
 
 2678    if (optionalFieldPresent[0])
 
 2690    NS_FATAL_ERROR(
"RrcAsn1Header Print() function must also specify " 
 2691                   "LteRrcSap::RadioResourceConfigDedicated as a second argument");
 
 2700    std::bitset<2> nonCriticalExtension_v890;
 
 2703    if (nonCriticalExtension_v890[0])
 
 2706        std::bitset<3> nonCriticalExtension_v920;
 
 2708        if (nonCriticalExtension_v920[0])
 
 2711            std::bitset<3> nonCriticalExtension_v1020;
 
 2714            if (nonCriticalExtension_v1020[2])
 
 2722                for (
int i = 0; i < numElems; i++)
 
 2731            if (nonCriticalExtension_v1020[1])
 
 2739                for (
int i = 0; i < numElems; i++)
 
 2741                    std::bitset<4> sCellToAddMod_r10;
 
 2759                    if (sCellToAddMod_r10[0])
 
 2776            NS_ASSERT(!nonCriticalExtension_v1020[0]); 
 
 2789    std::bitset<2> cellIdentification_r10;
 
 2809    std::bitset<2> radioResourceConfigCommonSCell_r10;
 
 2815        std::bitset<5> nonUlConfiguration_r10;
 
 2821        std::bitset<1> antennaInfoCommon_r10;
 
 2826        std::bitset<2> pdschConfigCommon_r10;
 
 2835        std::bitset<7> UlConfiguration_r10;
 
 2838        std::bitset<3> FreqInfo_r10;
 
 2846        std::bitset<2> UlPowerControlCommonSCell_r10;
 
 2851        std::bitset<1> prachConfigSCell_r10;
 
 2866    std::bitset<1> RadioResourceConfigDedicatedSCell_r10;
 
 2867    bIterator = 
DeserializeSequence(&RadioResourceConfigDedicatedSCell_r10, 
false, bIterator);
 
 2880    std::bitset<2> pcdscOpt;
 
 2886        std::bitset<4> nulOpt;
 
 2904                std::bitset<1> codebookSubsetRestrictionPresent;
 
 2912                if (codebookSubsetRestrictionPresent[0])
 
 2919                int txantennaselchosen;
 
 2921                if (txantennaselchosen == 0)
 
 2926                else if (txantennaselchosen == 1)
 
 2937            std::bitset<0> bitset0;
 
 2951        std::bitset<7> ulOpt;
 
 2972                std::bitset<1> codebookSubsetRestrictionPresent;
 
 2980                if (codebookSubsetRestrictionPresent[0])
 
 2987                int txantennaselchosen;
 
 2989                if (txantennaselchosen == 0)
 
 2994                else if (txantennaselchosen == 1)
 
 3021                std::bitset<0> bitset0;
 
 3060    os << 
"   srbToAddModList: " << std::endl;
 
 3062    for (; it != radioResourceConfigDedicated.
srbToAddModList.end(); it++)
 
 3064        os << 
"      srbIdentity: " << (int)it->srbIdentity << std::endl;
 
 3065        os << 
"      logicalChannelConfig: " << std::endl;
 
 3066        os << 
"         priority: " << (
int)it->logicalChannelConfig.priority << std::endl;
 
 3067        os << 
"         prioritizedBitRateKbps: " 
 3068           << (int)it->logicalChannelConfig.prioritizedBitRateKbps << std::endl;
 
 3069        os << 
"         bucketSizeDurationMs: " 
 3070           << (
int)it->logicalChannelConfig.bucketSizeDurationMs << std::endl;
 
 3071        os << 
"         logicalChannelGroup: " << (int)it->logicalChannelConfig.logicalChannelGroup
 
 3076    os << 
"   drbToAddModList: " << std::endl;
 
 3078    for (; it2 != radioResourceConfigDedicated.
drbToAddModList.end(); it2++)
 
 3080        os << 
"      epsBearerIdentity: " << (int)it2->epsBearerIdentity << std::endl;
 
 3081        os << 
"      drbIdentity: " << (
int)it2->drbIdentity << std::endl;
 
 3082        os << 
"      rlcConfig: " << it2->rlcConfig.choice << std::endl;
 
 3083        os << 
"      logicalChannelIdentity: " << (int)it2->logicalChannelIdentity << std::endl;
 
 3084        os << 
"      logicalChannelConfig: " << std::endl;
 
 3085        os << 
"         priority: " << (
int)it2->logicalChannelConfig.priority << std::endl;
 
 3086        os << 
"         prioritizedBitRateKbps: " 
 3087           << (int)it2->logicalChannelConfig.prioritizedBitRateKbps << std::endl;
 
 3088        os << 
"         bucketSizeDurationMs: " 
 3089           << (
int)it2->logicalChannelConfig.bucketSizeDurationMs << std::endl;
 
 3090        os << 
"         logicalChannelGroup: " << (int)it2->logicalChannelConfig.logicalChannelGroup
 
 3095    os << 
"   drbToReleaseList: ";
 
 3099        os << (int)*it3 << 
", ";
 
 3103    os << 
"   havePhysicalConfigDedicated: " 
 3108        os << 
"   physicalConfigDedicated: " << std::endl;
 
 3110        os << 
"      haveSoundingRsUlConfigDedicated: " 
 3115            os << 
"      soundingRsUlConfigDedicated: " << std::endl;
 
 3120            os << 
"         srsBandwidth: " 
 3124            os << 
"         srsConfigIndex: " 
 3130        os << 
"      haveAntennaInfoDedicated: " 
 3135            os << 
"      antennaInfo Tx mode: " 
 3148    std::bitset<0> bitset0;
 
 3151    std::bitset<3> sysInfoBlkT1Opts;
 
 3155    std::bitset<1> cellAccessRelatedInfoOpts;
 
 3159    int numPlmnIdentityInfoElements;
 
 3161    for (
int i = 0; i < numPlmnIdentityInfoElements; i++)
 
 3172    std::bitset<16> trackingAreaCode;
 
 3176    std::bitset<28> cellIdentity;
 
 3191    if (cellAccessRelatedInfoOpts[0])
 
 3194        std::bitset<27> csgIdentity;
 
 3200    std::bitset<1> qRxLevMinOffsetPresent;
 
 3203    if (qRxLevMinOffsetPresent[0])
 
 3209    if (sysInfoBlkT1Opts[2])
 
 3219    int numSchedulingInfo;
 
 3221    for (
int i = 0; i < numSchedulingInfo; i++)
 
 3228        for (
int j = 0; j < numSibType; j++)
 
 3234    if (sysInfoBlkT1Opts[1])
 
 3246    if (sysInfoBlkT1Opts[0])
 
 3259    std::bitset<0> bitset0;
 
 3262    std::bitset<2> sysInfoBlkT2Opts;
 
 3264    if (sysInfoBlkT2Opts[1])
 
 3285    std::bitset<2> freqInfoOpts;
 
 3287    if (freqInfoOpts[1])
 
 3293    if (freqInfoOpts[0])
 
 3303    if (sysInfoBlkT2Opts[0])
 
 3320    std::bitset<0> bitset0;
 
 3323    std::bitset<9> rrCfgCommOptions;
 
 3327    if (rrCfgCommOptions[8])
 
 3334    std::bitset<1> prachConfigInfoPresent;
 
 3341    if (prachConfigInfoPresent[0])
 
 3347    if (rrCfgCommOptions[7])
 
 3388    if (rrCfgCommOptions[6])
 
 3394    if (rrCfgCommOptions[5])
 
 3400    if (rrCfgCommOptions[4])
 
 3406    if (rrCfgCommOptions[3])
 
 3412    if (rrCfgCommOptions[2])
 
 3418    if (rrCfgCommOptions[1])
 
 3424    if (rrCfgCommOptions[0])
 
 3439    std::bitset<0> bitset0;
 
 3445    std::bitset<1> preamblesGroupAConfigPresent;
 
 3504    if (preamblesGroupAConfigPresent[0])
 
 3619    std::bitset<0> bitset0;
 
 3638    std::bitset<1> prachConfigInfoPresent;
 
 3643    if (prachConfigInfoPresent[0])
 
 3732    std::bitset<4> measResultOptionalPresent;
 
 3755        int measResultNeighCellsChoice;
 
 3758        bIterator = 
DeserializeChoice(4, 
false, &measResultNeighCellsChoice, bIterator);
 
 3760        if (measResultNeighCellsChoice == 0)
 
 3766            for (
int i = 0; i < numElems; i++)
 
 3770                std::bitset<1> isCgiInfoPresent;
 
 3777                measResultEutra.
haveCgiInfo = isCgiInfoPresent[0];
 
 3778                if (isCgiInfoPresent[0])
 
 3780                    std::bitset<1> havePlmnIdentityList;
 
 3791                    std::bitset<28> cellId;
 
 3796                    std::bitset<16> trArCo;
 
 3801                    if (havePlmnIdentityList[0])
 
 3806                        for (
int j = 0; j < numPlmnElems; j++)
 
 3816                std::bitset<2> measResultOpts;
 
 3820                if (measResultOpts[1])
 
 3828                if (measResultOpts[0])
 
 3839        if (measResultNeighCellsChoice == 1)
 
 3845        if (measResultNeighCellsChoice == 2)
 
 3850        if (measResultNeighCellsChoice == 3)
 
 3860        for (
int i = 0; i < numElems; i++)
 
 3865            std::bitset<2> measResultScellPresent;
 
 3910    std::bitset<1> isMccPresent;
 
 3913    if (isMccPresent[0])
 
 3924    for (
int j = mncDigits - 1; j >= 0; j--)
 
 3927        mnc += n * pow(10, j);
 
 3940    std::bitset<0> bitset0;
 
 3941    std::bitset<2> bitset2;
 
 3942    std::bitset<11> bitset11;
 
 3951        int measObjectToRemoveListElems;
 
 3955        for (
int i = 0; i < measObjectToRemoveListElems; i++)
 
 3965        int measObjectToAddModListElems;
 
 3969        for (
int i = 0; i < measObjectToAddModListElems; i++)
 
 3978            int measObjectChoice;
 
 3981            switch (measObjectChoice)
 
 3999                std::bitset<5> measObjectEutraOpts;
 
 4021                if (measObjectEutraOpts[4])
 
 4027                    for (
int i = 0; i < numElems; i++)
 
 4034                if (measObjectEutraOpts[3])
 
 4040                    for (
int i = 0; i < numElems; i++)
 
 4062                if (measObjectEutraOpts[2])
 
 4068                    for (
int i = 0; i < numElems; i++)
 
 4075                if (measObjectEutraOpts[1])
 
 4081                    for (
int i = 0; i < numElems; i++)
 
 4090                        std::bitset<1> isRangePresent;
 
 4158                if (measObjectEutraOpts[0])
 
 4172        int reportConfigToRemoveListElems;
 
 4178        for (
int i = 0; i < reportConfigToRemoveListElems; i++)
 
 4188        int reportConfigToAddModListElems;
 
 4194        for (
int i = 0; i < reportConfigToAddModListElems; i++)
 
 4203            int reportConfigChoice;
 
 4206            if (reportConfigChoice == 0)
 
 4212                int triggerTypeChoice;
 
 4215                if (triggerTypeChoice == 0)
 
 4225                    switch (eventIdChoice)
 
 4325                if (triggerTypeChoice == 1)
 
 4454            if (reportConfigChoice == 1)
 
 4467        int measIdToRemoveListElems;
 
 4470        for (
int i = 0; i < measIdToRemoveListElems; i++)
 
 4480        int measIdToAddModListElems;
 
 4483        for (
int i = 0; i < measIdToAddModListElems; i++)
 
 4506        std::bitset<4> quantityConfigOpts;
 
 4509        if (quantityConfigOpts[3])
 
 4622        if (quantityConfigOpts[2])
 
 4627        if (quantityConfigOpts[1])
 
 4632        if (quantityConfigOpts[0])
 
 4643        int measGapConfigChoice;
 
 4645        switch (measGapConfigChoice)
 
 4656            int gapOffsetChoice;
 
 4658            switch (gapOffsetChoice)
 
 4692        int speedStateParsChoice;
 
 4694        switch (speedStateParsChoice)
 
 4773    m_mmec = std::bitset<8>(0UL);
 
 4774    m_mTmsi = std::bitset<32>(0UL);
 
 4776    m_spare = std::bitset<1>(0UL);
 
 4795    os << 
"MMEC:" << 
m_mmec << std::endl;
 
 4796    os << 
"MTMSI:" << 
m_mTmsi << std::endl;
 
 4798    os << 
"Spare: " << 
m_spare << std::endl;
 
 4847    std::bitset<1> dummy;
 
 4848    std::bitset<0> optionalOrDefaultMask;
 
 4925    os << 
"radioResourceConfigDedicated:" << std::endl;
 
 4973    std::bitset<0> bitset0;
 
 4974    std::bitset<1> bitset1;
 
 4975    std::bitset<2> bitset2;
 
 4989    int criticalExtensionChoice;
 
 4991    if (criticalExtensionChoice == 1)
 
 4996    else if (criticalExtensionChoice == 0)
 
 5060std::list<LteRrcSap::SrbToAddMod>
 
 5066std::list<LteRrcSap::DrbToAddMod>
 
 5132    std::bitset<0> bitset0;
 
 5235    std::bitset<0> bitset0;
 
 5322    std::bitset<6> options;
 
 5325    options.set(3, 
false); 
 
 5327    options.set(1, 
false);                      
 
 5342        std::bitset<4> mobCtrlIntoOptional;
 
 5345        mobCtrlIntoOptional.set(1, 
false); 
 
 5397        std::bitset<2> noncriticalExtension_v890;
 
 5398        noncriticalExtension_v890.set(1, 
false); 
 
 5399        noncriticalExtension_v890.set(
 
 5408        std::bitset<3> noncriticalExtension_v920;
 
 5409        noncriticalExtension_v920.set(1, 
false); 
 
 5410        noncriticalExtension_v920.set(1, 
false); 
 
 5412        noncriticalExtension_v920.set(
 
 5429    std::bitset<0> bitset0;
 
 5458        else if (c1Chosen == 0)
 
 5461            std::bitset<6> rrcConnRecOpts;
 
 5474                std::bitset<4> mobCtrlOpts;
 
 5485                    std::bitset<1> ulCarrierFreqPresent;
 
 5491                    if (ulCarrierFreqPresent[0])
 
 5502                    std::bitset<1> ulBandwidthPresent;
 
 5508                    if (ulBandwidthPresent[0])
 
 5525                std::bitset<16> cRnti;
 
 5546            if (rrcConnRecOpts[3])
 
 5560            if (rrcConnRecOpts[1])
 
 5588            os << 
"  measObjectToRemoveList: ";
 
 5590            auto it = auxList.begin();
 
 5591            for (; it != auxList.end(); it++)
 
 5593                os << (int)*it << 
", ";
 
 5599            os << 
"  reportConfigToRemoveList: ";
 
 5601            auto it = auxList.begin();
 
 5602            for (; it != auxList.end(); it++)
 
 5604                os << (int)*it << 
", ";
 
 5610            os << 
"  measIdToRemoveList: ";
 
 5612            auto it = auxList.begin();
 
 5613            for (; it != auxList.end(); it++)
 
 5615                os << (int)*it << 
", ";
 
 5622            os << 
"  measObjectToAddMod: " << std::endl;
 
 5624            auto it = auxList.begin();
 
 5625            for (; it != auxList.end(); it++)
 
 5627                os << 
"    measObjectId: " << (int)it->measObjectId << std::endl;
 
 5628                os << 
"    carrierFreq: " << (
int)it->measObjectEutra.carrierFreq << std::endl;
 
 5629                os << 
"    allowedMeasBandwidth: " << (int)it->measObjectEutra.allowedMeasBandwidth
 
 5631                os << 
"    presenceAntennaPort1: " << it->measObjectEutra.presenceAntennaPort1
 
 5633                os << 
"    neighCellConfig: " << (
int)it->measObjectEutra.neighCellConfig
 
 5635                os << 
"    offsetFreq: " << (int)it->measObjectEutra.offsetFreq << std::endl;
 
 5637                if (!it->measObjectEutra.cellsToRemoveList.empty())
 
 5639                    os << 
"    cellsToRemoveList: ";
 
 5640                    std::list<uint8_t> auxList = it->measObjectEutra.cellsToRemoveList;
 
 5641                    auto it = auxList.begin();
 
 5642                    for (; it != auxList.end(); it++)
 
 5644                        os << (int)*it << 
", ";
 
 5649                if (!it->measObjectEutra.blackCellsToRemoveList.empty())
 
 5651                    os << 
"    blackCellsToRemoveList: ";
 
 5652                    std::list<uint8_t> auxList = it->measObjectEutra.blackCellsToRemoveList;
 
 5653                    auto it = auxList.begin();
 
 5654                    for (; it != auxList.end(); it++)
 
 5656                        os << (int)*it << 
", ";
 
 5661                if (!it->measObjectEutra.cellsToAddModList.empty())
 
 5663                    os << 
"    cellsToAddModList: " << std::endl;
 
 5664                    std::list<LteRrcSap::CellsToAddMod> auxList =
 
 5665                        it->measObjectEutra.cellsToAddModList;
 
 5666                    auto it = auxList.begin();
 
 5667                    for (; it != auxList.end(); it++)
 
 5669                        os << 
"      cellIndex: " << (int)it->cellIndex << std::endl;
 
 5670                        os << 
"      physCellId: " << (
int)it->physCellId << std::endl;
 
 5671                        os << 
"      cellIndividualOffset: " << (int)it->cellIndividualOffset
 
 5673                        os << 
"      ------ " << std::endl;
 
 5677                if (!it->measObjectEutra.blackCellsToAddModList.empty())
 
 5679                    os << 
"    blackCellsToAddModList: " << std::endl;
 
 5680                    std::list<LteRrcSap::BlackCellsToAddMod> auxList =
 
 5681                        it->measObjectEutra.blackCellsToAddModList;
 
 5682                    auto it = auxList.begin();
 
 5683                    for (; it != auxList.end(); it++)
 
 5685                        os << 
"      cellIndex: " << (int)it->cellIndex << std::endl;
 
 5686                        os << 
"      physCellIdRange.start: " << (
int)it->physCellIdRange.start
 
 5688                        os << 
"      physCellIdRange.haveRange: " << it->physCellIdRange.haveRange
 
 5690                        os << 
"      physCellIdRange.range: " << (int)it->physCellIdRange.range
 
 5692                        os << 
"      ------ " << std::endl;
 
 5696                os << 
"    haveCellForWhichToReportCGI: " 
 5697                   << it->measObjectEutra.haveCellForWhichToReportCGI << std::endl;
 
 5698                os << 
"    cellForWhichToReportCGI: " 
 5699                   << (int)it->measObjectEutra.cellForWhichToReportCGI << std::endl;
 
 5700                os << 
"    ------------- " << std::endl;
 
 5706            os << 
"  reportConfigToAddModList: " << std::endl;
 
 5707            std::list<LteRrcSap::ReportConfigToAddMod> auxList =
 
 5709            auto it = auxList.begin();
 
 5710            for (; it != auxList.end(); it++)
 
 5712                os << 
"    reportConfigId: " << (int)it->reportConfigId << std::endl;
 
 5713                os << 
"    reportConfigEutra.triggerType  " 
 5714                   << (
int)it->reportConfigEutra.triggerType << std::endl;
 
 5717                    os << 
"    reportConfigEutra.eventId  " << (int)it->reportConfigEutra.eventId
 
 5721                        os << 
"    reportConfigEutra.reportOnLeave  " 
 5722                           << (int)it->reportConfigEutra.reportOnLeave << std::endl;
 
 5723                        os << 
"    reportConfigEutra.a3Offset  " 
 5724                           << (
int)it->reportConfigEutra.a3Offset << std::endl;
 
 5728                        os << 
"    reportConfigEutra.threshold1.choice  " 
 5729                           << (int)it->reportConfigEutra.threshold1.choice << std::endl;
 
 5730                        os << 
"    reportConfigEutra.threshold1.range  " 
 5731                           << (
int)it->reportConfigEutra.threshold1.range << std::endl;
 
 5734                            os << 
"    reportConfigEutra.threshold2.choice  " 
 5735                               << (int)it->reportConfigEutra.threshold2.choice << std::endl;
 
 5736                            os << 
"    reportConfigEutra.threshold2.range  " 
 5737                               << (
int)it->reportConfigEutra.threshold2.range << std::endl;
 
 5740                    os << 
"    reportConfigEutra.hysteresis  " 
 5741                       << (int)it->reportConfigEutra.hysteresis << std::endl;
 
 5742                    os << 
"    reportConfigEutra.timeToTrigger  " 
 5743                       << (
int)it->reportConfigEutra.timeToTrigger << std::endl;
 
 5747                    os << 
"    reportConfigEutra.purpose  " << (int)it->reportConfigEutra.purpose
 
 5750                os << 
"    reportConfigEutra.triggerQuantity  " 
 5751                   << (int)it->reportConfigEutra.triggerQuantity << std::endl;
 
 5752                os << 
"    reportConfigEutra.reportQuantity  " 
 5753                   << (
int)it->reportConfigEutra.reportQuantity << std::endl;
 
 5754                os << 
"    reportConfigEutra.maxReportCells  " 
 5755                   << (int)it->reportConfigEutra.maxReportCells << std::endl;
 
 5756                os << 
"    reportConfigEutra.reportInterval  " 
 5757                   << (
int)it->reportConfigEutra.reportInterval << std::endl;
 
 5758                os << 
"    reportConfigEutra.reportAmount  " 
 5759                   << (int)it->reportConfigEutra.reportAmount << std::endl;
 
 5765            os << 
"  measIdToAddModList: " << std::endl;
 
 5767            auto it = auxList.begin();
 
 5768            for (; it != auxList.end(); it++)
 
 5770                os << 
"    measId: " << (int)it->measId << std::endl;
 
 5771                os << 
"    measObjectId: " << (
int)it->measObjectId << std::endl;
 
 5772                os << 
"    reportConfigId: " << (int)it->reportConfigId << std::endl;
 
 5773                os << 
"    ------ " << std::endl;
 
 5780            os << 
"    filterCoefficientRSRP: " 
 5782            os << 
"    filterCoefficientRSRQ:" 
 5790            os << 
"    measGapConfig.gap (gap0/1,value): (" 
 5805            os << 
"    speedStatePars.mobilityStateParameters.tEvaluation: " 
 5807            os << 
"    speedStatePars.mobilityStateParameters.tHystNormal: " 
 5809            os << 
"    speedStatePars.mobilityStateParameters.nCellChangeMedium: " 
 5812            os << 
"    speedStatePars.mobilityStateParameters.nCellChangeHigh: " 
 5815            os << 
"    speedStatePars.timeToTriggerSf.sfMedium: " 
 5817            os << 
"    speedStatePars.timeToTriggerSf.sfHigh: " 
 5829            os << 
"  carrierFreq.dlCarrierFreq: " 
 5831            os << 
"  carrierFreq.dlCarrierFreq: " 
 5837            os << 
"  carrierBandwidth.dlBandwidth: " 
 5839            os << 
"  carrierBandwidth.ulBandwidth: " 
 5847            os << 
"raPreambleIndex: " 
 5849            os << 
"raPrachMaskIndex: " 
 5954std::list<LteRrcSap::SrbToAddMod>
 
 5960std::list<LteRrcSap::DrbToAddMod>
 
 6003    std::bitset<4> handoverPrepInfoOpts;
 
 6004    handoverPrepInfoOpts.set(3, 
true);  
 
 6005    handoverPrepInfoOpts.set(2, 
false); 
 
 6006    handoverPrepInfoOpts.set(1, 
false); 
 
 6007    handoverPrepInfoOpts.set(0, 
false); 
 
 6064    std::bitset<0> bitset0;
 
 6072    int criticalExtensionsChosen;
 
 6075    if (criticalExtensionsChosen == 1)
 
 6080    else if (criticalExtensionsChosen == 0)
 
 6089        else if (c1Chosen == 0)
 
 6092            std::bitset<4> handoverPrepInfoOpts;
 
 6097            for (
int i = 0; i < n; i++)
 
 6103            if (handoverPrepInfoOpts[3])
 
 6122                std::bitset<16> cRnti;
 
 6137                std::bitset<8> systemFrameNumber;
 
 6140                    systemFrameNumber.to_ulong();
 
 6142                std::bitset<10> spare;
 
 6163            if (handoverPrepInfoOpts[2])
 
 6168            if (handoverPrepInfoOpts[1])
 
 6173            if (handoverPrepInfoOpts[0])
 
 6192    os << 
"plmnIdentityInfo.plmnIdentity: " 
 6196    os << 
"cellAccessRelatedInfo.cellIdentity " 
 6199    os << 
"cellAccessRelatedInfo.csgIndication: " 
 6202    os << 
"cellAccessRelatedInfo.csgIdentity: " 
 6294    std::bitset<0> bitset0;
 
 6319        std::bitset<16> cRnti;
 
 6329        std::bitset<16> shortMacI;
 
 6351        std::bitset<2> spare;
 
 6444    std::bitset<0> bitset0;
 
 6458    int criticalExtensionsChoice;
 
 6460    if (criticalExtensionsChoice == 1)
 
 6465    else if (criticalExtensionsChoice == 0)
 
 6478            std::bitset<1> nonCriticalExtensionPresent;
 
 6497    os << 
"RadioResourceConfigDedicated: " << std::endl;
 
 6565    std::bitset<0> bitset0;
 
 6579    int criticalExtensionsChoice;
 
 6581    if (criticalExtensionsChoice == 1)
 
 6586    else if (criticalExtensionsChoice == 0)
 
 6589        std::bitset<1> opts;
 
 6665    std::bitset<0> bitset0;
 
 6674    int criticalExtensionsChoice;
 
 6676    if (criticalExtensionsChoice == 1)
 
 6681    else if (criticalExtensionsChoice == 0)
 
 6684        std::bitset<1> opts;
 
 6760    std::bitset<0> bitset0;
 
 6774    int criticalExtensionsChoice;
 
 6776    if (criticalExtensionsChoice == 1)
 
 6781    else if (criticalExtensionsChoice == 0)
 
 6790            std::bitset<3> opts;
 
 6882    std::bitset<0> bitset0;
 
 6892    int criticalExtensionsChoice;
 
 6894    if (criticalExtensionsChoice == 1)
 
 6899    else if (criticalExtensionsChoice == 0)
 
 6909        else if (c1Choice == 0)
 
 6912            std::bitset<1> opts;
 
 6992    std::bitset<0> bitset0;
 
 6998    int criticalExtensionsChoice;
 
 7001    if (criticalExtensionsChoice == 1)
 
 7006    else if (criticalExtensionsChoice == 0)
 
 7019            std::bitset<1> isNonCriticalExtensionPresent;
 
 7025            if (isNonCriticalExtensionPresent[0])
 
 7044    os << 
"haveMeasResultNeighCells = " 
 7049        std::list<LteRrcSap::MeasResultEutra> measResultListEutra =
 
 7051        auto it = measResultListEutra.begin();
 
 7052        for (; it != measResultListEutra.end(); it++)
 
 7054            os << 
"   physCellId =" << (int)it->physCellId << std::endl;
 
 7055            os << 
"   haveCgiInfo =" << it->haveCgiInfo << std::endl;
 
 7056            if (it->haveCgiInfo)
 
 7058                os << 
"      plmnIdentity = " << (int)it->cgiInfo.plmnIdentity << std::endl;
 
 7059                os << 
"      cellIdentity = " << (
int)it->cgiInfo.cellIdentity << std::endl;
 
 7060                os << 
"      trackingAreaCode = " << (int)it->cgiInfo.trackingAreaCode << std::endl;
 
 7061                os << 
"      havePlmnIdentityList = " << !it->cgiInfo.plmnIdentityList.empty()
 
 7063                if (!it->cgiInfo.plmnIdentityList.empty())
 
 7065                    for (
auto it2 = it->cgiInfo.plmnIdentityList.begin();
 
 7066                         it2 != it->cgiInfo.plmnIdentityList.end();
 
 7069                        os << 
"         plmnId : " << *it2 << std::endl;
 
 7074            os << 
"   haveRsrpResult =" << it->haveRsrpResult << std::endl;
 
 7075            if (it->haveRsrpResult)
 
 7077                os << 
"   rsrpResult =" << (int)it->rsrpResult << std::endl;
 
 7080            os << 
"   haveRsrqResult =" << it->haveRsrqResult << std::endl;
 
 7081            if (it->haveRsrqResult)
 
 7083                os << 
"   rsrqResult =" << (int)it->rsrqResult << std::endl;
 
 7124    std::cout << 
"UL DCCH MSG TYPE: " << 
m_messageType << std::endl;
 
 7136    std::bitset<0> bitset0;
 
 7186    std::cout << 
"DL DCCH MSG TYPE: " << 
m_messageType << std::endl;
 
 7198    std::bitset<0> bitset0;
 
 7248    std::cout << 
"UL CCCH MSG TYPE: " << 
m_messageType << std::endl;
 
 7260    std::bitset<0> bitset0;
 
 7310    std::cout << 
"DL CCCH MSG TYPE: " << 
m_messageType << std::endl;
 
 7322    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
This function prints the object, for debugging purposes.
 
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