27 #include <ns3/fatal-error.h> 
   29 #include <ns3/abort.h> 
   31 #include <ns3/pointer.h> 
   32 #include <ns3/object-map.h> 
   33 #include <ns3/object-factory.h> 
   34 #include <ns3/simulator.h> 
   36 #include <ns3/lte-radio-bearer-info.h> 
   37 #include <ns3/eps-bearer-tag.h> 
   38 #include <ns3/packet.h> 
   40 #include <ns3/lte-rlc.h> 
   41 #include <ns3/lte-rlc-tm.h> 
   42 #include <ns3/lte-rlc-um.h> 
   43 #include <ns3/lte-rlc-am.h> 
   44 #include <ns3/lte-pdcp.h> 
   81   , m_componentCarrierId {componentCarrierId}
 
  113   "INITIAL_RANDOM_ACCESS",
 
  115   "CONNECTION_REJECTED",
 
  116   "CONNECTED_NORMALLY",
 
  117   "CONNECTION_RECONFIGURATION",
 
  118   "CONNECTION_REESTABLISHMENT",
 
  119   "HANDOVER_PREPARATION",
 
  121   "HANDOVER_PATH_SWITCH",
 
  131   return g_ueManagerStateName[s];
 
  145   : m_lastAllocatedDrbid (0),
 
  148     m_componentCarrierId (componentCarrierId),
 
  149     m_lastRrcTransactionIdentifier (0),
 
  152     m_pendingRrcConnectionReconfiguration (false),
 
  155     m_needPhyMacConfiguration (false),
 
  156     m_caSupportConfigured (false),
 
  157     m_pendingStartDataRadioBearers (false)
 
  178   for (uint8_t i = 0; i < 
m_rrc->m_numberOfComponentCarriers; i++)
 
  188     Ptr<LteRlc> rlc = CreateObject<LteRlcTm> ()->GetObject<LteRlc> ();
 
  193     m_srb0 = CreateObject<LteSignalingRadioBearerInfo> ();
 
  195     m_srb0->m_srbIdentity = 0;
 
  205     lcinfo.
isGbr = 
false;
 
  215     m_rrc->m_ccmRrcSapProvider->AddLc (lcinfo, lteMacSapUser);
 
  222     Ptr<LteRlc> rlc = CreateObject<LteRlcAm> ()->GetObject<LteRlc> ();
 
  229     pdcp->SetLcId (lcid);
 
  234     m_srb1 = CreateObject<LteSignalingRadioBearerInfo> ();
 
  237     m_srb1->m_srbIdentity = 1;
 
  238     m_srb1->m_logicalChannelConfig.priority = 1;
 
  239     m_srb1->m_logicalChannelConfig.prioritizedBitRateKbps = 100;
 
  240     m_srb1->m_logicalChannelConfig.bucketSizeDurationMs = 100;
 
  241     m_srb1->m_logicalChannelConfig.logicalChannelGroup = 0;
 
  257     m_rrc->m_ccmRrcSapProvider->AddLc (lcinfo, MacSapUserForRlc);
 
  271   for (uint16_t i = 0; i < 
m_rrc->m_numberOfComponentCarriers; i++)
 
  273       m_rrc->m_cmacSapProvider.at (i)->UeUpdateConfigurationReq (req);
 
  278   Time maxConnectionDelay;
 
  314       m_rrc->m_x2uTeidInfoMap.erase (it->second->m_gtpTeid);
 
  323     .AddConstructor<UeManager> ()
 
  324     .AddAttribute (
"DataRadioBearerMap", 
"List of UE DataRadioBearerInfo by DRBID.",
 
  327                    MakeObjectMapChecker<LteDataRadioBearerInfo> ())
 
  328     .AddAttribute (
"Srb0", 
"SignalingRadioBearerInfo for SRB0",
 
  331                    MakePointerChecker<LteSignalingRadioBearerInfo> ())
 
  332     .AddAttribute (
"Srb1", 
"SignalingRadioBearerInfo for SRB1",
 
  335                    MakePointerChecker<LteSignalingRadioBearerInfo> ())
 
  336     .AddAttribute (
"C-RNTI",
 
  337                    "Cell Radio Network Temporary Identifier",
 
  341                    MakeUintegerChecker<uint16_t> ())
 
  342     .AddTraceSource (
"StateTransition",
 
  343                      "fired upon every UE state transition seen by the " 
  344                      "UeManager at the eNB RRC",
 
  346                      "ns3::UeManager::StateTracedCallback")
 
  373   NS_ASSERT_MSG ( bearerId == 0 || bid == bearerId, 
"bearer ID mismatch (" << (uint32_t) bid << 
" != " << (uint32_t) bearerId << 
", the assumption that ID are allocated in the same way by MME and RRC is not valid any more");
 
  374   drbInfo->m_epsBearer = bearer;
 
  375   drbInfo->m_epsBearerIdentity = bid;
 
  376   drbInfo->m_drbIdentity = drbid;
 
  377   drbInfo->m_logicalChannelIdentity = lcid;
 
  378   drbInfo->m_gtpTeid = gtpTeid;
 
  379   drbInfo->m_transportLayerAddress = transportLayerAddress;
 
  386       x2uTeidInfo.
drbid = drbid;
 
  387       std::pair<std::map<uint32_t, LteEnbRrc::X2uTeidInfo>::iterator, 
bool>
 
  388       ret = 
m_rrc->m_x2uTeidInfoMap.insert (std::pair<uint32_t, LteEnbRrc::X2uTeidInfo> (gtpTeid, x2uTeidInfo));
 
  389       NS_ASSERT_MSG (ret.second == 
true, 
"overwriting a pre-existing entry in m_x2uTeidInfoMap");
 
  400   drbInfo->m_rlc = rlc;
 
  409       pdcp->SetRnti (m_rnti);
 
  410       pdcp->SetLcId (lcid);
 
  414       drbInfo->m_pdcp = pdcp;
 
  417   std::vector<LteCcmRrcSapProvider::LcsConfig> lcOnCcMapping = 
m_rrc->m_ccmRrcSapProvider->SetupDataRadioBearer (bearer, bearerId, m_rnti, lcid, 
m_rrc->GetLogicalChannelGroup (bearer), rlc->
GetLteMacSapUser ());
 
  430   std::vector<LteCcmRrcSapProvider::LcsConfig>::iterator itLcOnCcMapping = lcOnCcMapping.begin ();
 
  431   NS_ASSERT_MSG (itLcOnCcMapping != lcOnCcMapping.end (), 
"Problem");
 
  432   for (itLcOnCcMapping = lcOnCcMapping.begin (); itLcOnCcMapping != lcOnCcMapping.end (); ++itLcOnCcMapping)
 
  434       NS_LOG_DEBUG (
this << 
" RNTI " << itLcOnCcMapping->lc.rnti << 
"Lcid " << (uint16_t) itLcOnCcMapping->lc.lcId << 
" lcGroup " << (uint16_t) itLcOnCcMapping->lc.lcGroup << 
" ComponentCarrierId " << itLcOnCcMapping->componentCarrierId);
 
  435       uint8_t index = itLcOnCcMapping->componentCarrierId;
 
  438       m_rrc->m_cmacSapProvider.at (index)->AddLc (lcinfo, msu);
 
  439       m_rrc->m_ccmRrcSapProvider->AddLc (lcinfo, msu);
 
  451   drbInfo->m_logicalChannelIdentity = lcid;
 
  452   drbInfo->m_logicalChannelConfig.priority =  
m_rrc->GetLogicalChannelPriority (bearer);
 
  453   drbInfo->m_logicalChannelConfig.logicalChannelGroup = 
m_rrc->GetLogicalChannelGroup (bearer);
 
  456       drbInfo->m_logicalChannelConfig.prioritizedBitRateKbps = bearer.
gbrQosInfo.
gbrUl;
 
  460       drbInfo->m_logicalChannelConfig.prioritizedBitRateKbps = 0;
 
  462   drbInfo->m_logicalChannelConfig.bucketSizeDurationMs = 1000;
 
  487       std::map <uint8_t, Ptr<LteDataRadioBearerInfo> >::iterator drbIt = 
m_drbMap.find (*drbIdIt);
 
  489       drbIt->second->m_rlc->Initialize ();
 
  490       if (drbIt->second->m_pdcp)
 
  492           drbIt->second->m_pdcp->Initialize ();
 
  504   std::map <uint8_t, Ptr<LteDataRadioBearerInfo> >::iterator it = 
m_drbMap.find (drbid);
 
  505   NS_ASSERT_MSG (it != 
m_drbMap.end (), 
"request to remove radio bearer with unknown drbid " << drbid);
 
  508   m_rrc->m_x2uTeidInfoMap.erase (it->second->m_gtpTeid);
 
  511   std::vector<uint8_t> ccToRelease = 
m_rrc->m_ccmRrcSapProvider->ReleaseDataRadioBearer (
m_rnti, lcid);
 
  512   std::vector<uint8_t>::iterator itCcToRelease = ccToRelease.begin ();
 
  513   NS_ASSERT_MSG (itCcToRelease != ccToRelease.end (), 
"request to remove radio bearer with unknown drbid (ComponentCarrierManager)");
 
  514   for (itCcToRelease = ccToRelease.begin (); itCcToRelease != ccToRelease.end (); ++itCcToRelease)
 
  516       m_rrc->m_cmacSapProvider.at (*itCcToRelease)->ReleaseLc (
m_rnti, lcid);
 
  535   m_rrc->m_rrcSapUser->SendRrcConnectionReconfiguration (
m_rnti, msg);
 
  543   ueManager->ReleaseDataRadioBearer (bearerId);
 
  569         m_rrc->m_rrcSapUser->SendRrcConnectionReconfiguration (
m_rnti, msg);
 
  617         params.
rrcContext = 
m_rrc->m_rrcSapUser->EncodeHandoverPreparationInformation (hpi);
 
  625         m_rrc->m_x2SapProvider->SendHandoverRequest (params);
 
  653   m_rrc->m_rrcSapUser->SendRrcConnectionReconfiguration (
m_rnti, handoverCommand);
 
  671       if (0 != drbIt->second->m_rlc->GetObject<
LteRlcAm> ())
 
  680   m_rrc->m_x2SapProvider->SendSnStatusTransfer (sst);
 
  717         NS_LOG_LOGIC (
"queueing data on PDCP for transmission over the air");
 
  724         std::map<uint8_t, Ptr<LteDataRadioBearerInfo> >::iterator it = 
m_drbMap.find (drbid);
 
  728             if (bearerInfo != NULL)
 
  739         NS_LOG_LOGIC (
"forwarding data to target eNB over X2-U");
 
  746         m_rrc->m_x2SapProvider->SendUeData (params);
 
  756 std::vector<EpcX2Sap::ErabToBeSetupItem>
 
  760   std::vector<EpcX2Sap::ErabToBeSetupItem> ret;
 
  766       etbsi.
erabId = it->second->m_epsBearerIdentity;
 
  770       etbsi.
gtpTeid = it->second->m_gtpTeid;
 
  771       ret.push_back (etbsi);
 
  783       NS_LOG_INFO (
"Send UE CONTEXT RELEASE from target eNB to source eNB");
 
  789       m_rrc->m_x2SapProvider->SendUeContextRelease (ueCtxReleaseParams);
 
  808       NS_LOG_INFO (
"target eNB sent HO preparation failure, aborting HO");
 
  822   for (std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem>::iterator erabIt 
 
  866         if (
m_rrc->m_admitRrcConnectionRequest == 
true)
 
  869             if (
m_rrc->m_s1SapProvider != 0)
 
  878             m_rrc->m_rrcSapUser->SendRrcConnectionSetup (
m_rnti, msg2);
 
  882                 m_rrc->m_connectionSetupTimeoutDuration,
 
  893             m_rrc->m_rrcSapUser->SendRrcConnectionReject (
m_rnti, rejectMsg);
 
  896                 m_rrc->m_connectionRejectedTimeoutDuration,
 
  951           for (uint8_t i = 0; i < 
m_rrc->m_numberOfComponentCarriers; i++)
 
  953               m_rrc->m_cmacSapProvider.at (i)->UeUpdateConfigurationReq (req);
 
  958               m_rrc->m_cphySapProvider.at (i)->SetPa (
m_rnti, paDouble);
 
  979         NS_LOG_INFO (
"Send PATH SWITCH REQUEST to the MME");
 
  991             b.
teid =  it->second->m_gtpTeid;
 
  994         m_rrc->m_s1SapProvider->PathSwitchRequest (params);
 
 1025   m_rrc->m_rrcSapUser->SendRrcConnectionReestablishment (
m_rnti, msg2);
 
 1055                                         << 
" RSRP " << (it->haveRsrpResult ? (uint16_t) it->rsrpResult : 255)
 
 1056                                         << 
" RSRQ " << (it->haveRsrqResult ? (uint16_t) it->rsrqResult : 255));
 
 1059   if ((
m_rrc->m_handoverManagementSapProvider != 0)
 
 1060       && (
m_rrc->m_handoverMeasIds.find (measId) != 
m_rrc->m_handoverMeasIds.end ()))
 
 1063       m_rrc->m_handoverManagementSapProvider->ReportUeMeas (
m_rnti,
 
 1067   if ((
m_rrc->m_ccmRrcSapProvider != 0)
 
 1068       && (
m_rrc->m_componentCarrierMeasIds.find (measId) != 
m_rrc->m_componentCarrierMeasIds.end ()))
 
 1075   if ((
m_rrc->m_anrSapProvider != 0)
 
 1076       && (
m_rrc->m_anrMeasIds.find (measId) != 
m_rrc->m_anrMeasIds.end ()))
 
 1082   if ((
m_rrc->m_ffrRrcSapProvider.at (0) != 0)
 
 1083       && (
m_rrc->m_ffrMeasIds.find (measId) != 
m_rrc->m_ffrMeasIds.end ()))
 
 1131   if (params.
lcid > 2)
 
 1172   for (uint16_t i = 0; i < 
m_rrc->m_numberOfComponentCarriers; i++)
 
 1174       m_rrc->m_cphySapProvider.at (i)->SetSrsConfigurationIndex (
m_rnti, srsConfIndex);
 
 1211   const uint8_t MAX_DRB_ID = 32;
 
 1214        drbid = (drbid + 1) % MAX_DRB_ID)
 
 1221               drbInfo->m_drbIdentity = drbid;
 
 1236   std::map<uint8_t, Ptr<LteDataRadioBearerInfo> >::iterator it = 
m_drbMap.find (drbid);
 
 1246   std::map <uint8_t, Ptr<LteDataRadioBearerInfo> >::iterator it = 
m_drbMap.find (drbid);
 
 1247   NS_ASSERT_MSG (it != 
m_drbMap.end (), 
"request to remove radio bearer with unknown drbid " << drbid);
 
 1299       dtam.
rlcConfig = it->second->m_rlcConfig;
 
 1410   std::list<LteRrcSap::SCellToAddMod> SccCon;
 
 1414   for (
auto &it: 
m_rrc->m_componentCarrierPhyConf)
 
 1416       uint8_t ccId = it.first;
 
 1471       SccCon.push_back (component);
 
 1486   : m_x2SapProvider (0),
 
 1487     m_cmacSapProvider (0),
 
 1488     m_handoverManagementSapProvider (0),
 
 1489     m_ccmRrcSapProvider (0),
 
 1490     m_anrSapProvider (0),
 
 1491     m_ffrRrcSapProvider (0),
 
 1493     m_macSapProvider (0),
 
 1494     m_s1SapProvider (0),
 
 1495     m_cphySapProvider (0),
 
 1496     m_configured (false),
 
 1497     m_lastAllocatedRnti (0),
 
 1498     m_srsCurrentPeriodicityId (0),
 
 1499     m_lastAllocatedConfigurationIndex (0),
 
 1500     m_reconfigureUes (false),
 
 1501     m_numberOfComponentCarriers (0),
 
 1502     m_carriersConfigured (false)
 
 1582     .SetGroupName(
"Lte")
 
 1584     .AddAttribute (
"UeMap", 
"List of UeManager by C-RNTI.",
 
 1587                    MakeObjectMapChecker<UeManager> ())
 
 1588     .AddAttribute (
"DefaultTransmissionMode",
 
 1589                    "The default UEs' transmission mode (0: SISO)",
 
 1592                    MakeUintegerChecker<uint8_t> ())
 
 1593     .AddAttribute (
"EpsBearerToRlcMapping", 
 
 1594                    "Specify which type of RLC will be used for each type of EPS bearer. ",
 
 1601     .AddAttribute (
"SystemInformationPeriodicity",
 
 1602                    "The interval for sending system information (Time value)",
 
 1608     .AddAttribute (
"SrsPeriodicity",
 
 1609                    "The SRS periodicity in milliseconds",
 
 1613                    MakeUintegerChecker<uint32_t> ())
 
 1616     .AddAttribute (
"ConnectionRequestTimeoutDuration",
 
 1617                    "After a RA attempt, if no RRC CONNECTION REQUEST is " 
 1618                    "received before this time, the UE context is destroyed. " 
 1619                    "Must account for reception of RAR and transmission of " 
 1620                    "RRC CONNECTION REQUEST over UL GRANT.",
 
 1624     .AddAttribute (
"ConnectionSetupTimeoutDuration",
 
 1625                    "After accepting connection request, if no RRC CONNECTION " 
 1626                    "SETUP COMPLETE is received before this time, the UE " 
 1627                    "context is destroyed. Must account for the UE's reception " 
 1628                    "of RRC CONNECTION SETUP and transmission of RRC CONNECTION " 
 1633     .AddAttribute (
"ConnectionRejectedTimeoutDuration",
 
 1634                    "Time to wait between sending a RRC CONNECTION REJECT and " 
 1635                    "destroying the UE context",
 
 1639     .AddAttribute (
"HandoverJoiningTimeoutDuration",
 
 1640                    "After accepting a handover request, if no RRC CONNECTION " 
 1641                    "RECONFIGURATION COMPLETE is received before this time, the " 
 1642                    "UE context is destroyed. Must account for reception of " 
 1643                    "X2 HO REQ ACK by source eNB, transmission of the Handover " 
 1644                    "Command, non-contention-based random access and reception " 
 1645                    "of the RRC CONNECTION RECONFIGURATION COMPLETE message.",
 
 1649     .AddAttribute (
"HandoverLeavingTimeoutDuration",
 
 1650                    "After issuing a Handover Command, if neither RRC " 
 1651                    "CONNECTION RE-ESTABLISHMENT nor X2 UE Context Release has " 
 1652                    "been previously received, the UE context is destroyed.",
 
 1658     .AddAttribute (
"QRxLevMin",
 
 1659                    "One of information transmitted within the SIB1 message, " 
 1660                    "indicating the required minimum RSRP level that any UE must " 
 1661                    "receive from this cell before it is allowed to camp to this " 
 1662                    "cell. The default value -70 corresponds to -140 dBm and is " 
 1663                    "the lowest possible value as defined by Section 6.3.4 of " 
 1664                    "3GPP TS 36.133. This restriction, however, only applies to " 
 1665                    "initial cell selection and EPC-enabled simulation.",
 
 1669                    MakeIntegerChecker<int8_t> (-70, -22))
 
 1670     .AddAttribute (
"NumberOfComponentCarriers",
 
 1671                    "Number of Component Carriers ",
 
 1677     .AddAttribute (
"AdmitHandoverRequest",
 
 1678                    "Whether to admit an X2 handover request from another eNB",
 
 1682     .AddAttribute (
"AdmitRrcConnectionRequest",
 
 1683                    "Whether to admit a connection request from a UE",
 
 1689     .AddAttribute (
"RsrpFilterCoefficient",
 
 1690                    "Determines the strength of smoothing effect induced by " 
 1691                    "layer 3 filtering of RSRP in all attached UE; " 
 1692                    "if set to 0, no layer 3 filtering is applicable",
 
 1696                    MakeUintegerChecker<uint8_t> (0))
 
 1697     .AddAttribute (
"RsrqFilterCoefficient",
 
 1698                    "Determines the strength of smoothing effect induced by " 
 1699                    "layer 3 filtering of RSRQ in all attached UE; " 
 1700                    "if set to 0, no layer 3 filtering is applicable",
 
 1704                    MakeUintegerChecker<uint8_t> (0))
 
 1707     .AddTraceSource (
"NewUeContext",
 
 1708                      "Fired upon creation of a new UE context.",
 
 1710                      "ns3::LteEnbRrc::NewUeContextTracedCallback")
 
 1711     .AddTraceSource (
"ConnectionEstablished",
 
 1712                      "Fired upon successful RRC connection establishment.",
 
 1714                      "ns3::LteEnbRrc::ConnectionHandoverTracedCallback")
 
 1715     .AddTraceSource (
"ConnectionReconfiguration",
 
 1716                      "trace fired upon RRC connection reconfiguration",
 
 1718                      "ns3::LteEnbRrc::ConnectionHandoverTracedCallback")
 
 1719     .AddTraceSource (
"HandoverStart",
 
 1720                      "trace fired upon start of a handover procedure",
 
 1722                      "ns3::LteEnbRrc::HandoverStartTracedCallback")
 
 1723     .AddTraceSource (
"HandoverEndOk",
 
 1724                      "trace fired upon successful termination of a handover procedure",
 
 1726                      "ns3::LteEnbRrc::ConnectionHandoverTracedCallback")
 
 1727     .AddTraceSource (
"RecvMeasurementReport",
 
 1728                      "trace fired when measurement report is received",
 
 1730                      "ns3::LteEnbRrc::ReceiveReportTracedCallback")
 
 1914   std::map<uint16_t, Ptr<UeManager> >::const_iterator it = 
m_ueMap.find (rnti);
 
 1915   return (it != 
m_ueMap.end ());
 
 1923   std::map<uint16_t, Ptr<UeManager> >::iterator it = 
m_ueMap.find (rnti);
 
 1936                  "Measurement identities and reporting configuration should not have different quantity");
 
 1940       NS_FATAL_ERROR (
"AddUeMeasReportConfig may not be called after the simulation has run");
 
 1951           NS_FATAL_ERROR (
"The given triggerQuantity (RSRP) does not match with the given threshold2.choice");
 
 1960           NS_FATAL_ERROR (
"The given triggerQuantity (RSRP) does not match with the given threshold1.choice");
 
 1968           NS_FATAL_ERROR (
"The given triggerQuantity (RSRQ) does not match with the given threshold2.choice");
 
 1977           NS_FATAL_ERROR (
"The given triggerQuantity (RSRQ) does not match with the given threshold1.choice");
 
 1988       NS_FATAL_ERROR (
"Only REPORT_STRONGEST_CELLS purpose is supported");
 
 1993       NS_LOG_WARN (
"reportQuantity = BOTH will be used instead of the given reportQuantity");
 
 2019   auto it = ccPhyConf.begin ();
 
 2021   uint8_t ulBandwidth = it->second->GetUlBandwidth ();
 
 2022   uint8_t dlBandwidth = it->second->GetDlBandwidth ();
 
 2023   uint32_t ulEarfcn = it->second->GetUlEarfcn ();
 
 2024   uint32_t dlEarfcn = it->second->GetDlEarfcn ();
 
 2025   NS_LOG_FUNCTION (
this << (uint16_t) ulBandwidth << (uint16_t) dlBandwidth
 
 2026                         << ulEarfcn << dlEarfcn);
 
 2029   for (
const auto &it: ccPhyConf)
 
 2031       m_cphySapProvider.at (it.first)->SetBandwidth (it.second->GetUlBandwidth (), it.second->GetDlBandwidth ());
 
 2032       m_cphySapProvider.at (it.first)->SetEarfcn (it.second->GetUlEarfcn (), it.second->GetDlEarfcn ());
 
 2034       m_cmacSapProvider.at (it.first)->ConfigureMac (it.second->GetUlBandwidth (), it.second->GetDlBandwidth ());
 
 2036       m_ffrRrcSapProvider.at (it.first)->SetBandwidth (it.second->GetUlBandwidth (), it.second->GetDlBandwidth ());
 
 2068   m_sib1.reserve (ccPhyConf.size ());
 
 2069   for (
const auto &it: ccPhyConf)
 
 2105   m_sib1.at (0).cellAccessRelatedInfo.cellIdentity = cellId;
 
 2113   m_sib1.at (ccIndex).cellAccessRelatedInfo.cellIdentity = cellId;
 
 2123       if (it.second->GetCellId () == cellId)
 
 2145   NS_ASSERT_MSG (found, 
"no EpsBearerTag found in packet to be sent");
 
 2147   ueManager->SendData (tag.
GetBid (), packet);
 
 2163                  "ConnectionRequestTimeout in unexpected state " << 
ToString (
GetUeManager (rnti)->GetState ()));
 
 2181                  "ConnectionRejectedTimeout in unexpected state " << 
ToString (
GetUeManager (rnti)->GetState ()));
 
 2211   ueManager->PrepareHandover (cellId);
 
 2233   GetUeManager (rnti)->RecvRrcConnectionSetupCompleted (msg);
 
 2240   GetUeManager (rnti)->RecvRrcConnectionReconfigurationCompleted (msg);
 
 2247   GetUeManager (rnti)->RecvRrcConnectionReestablishmentRequest (msg);
 
 2254   GetUeManager (rnti)->RecvRrcConnectionReestablishmentComplete (msg);
 
 2275   ueManager->SendUeContextRelease ();
 
 2305   if (anrcrv.
valid == 
false)
 
 2307       NS_LOG_INFO (
this << 
" failed to allocate a preamble for non-contention based RA => cannot accept HO");
 
 2309       NS_FATAL_ERROR (
"should trigger HO Preparation Failure, but it is not implemented");
 
 2323   for (std::vector <EpcX2Sap::ErabToBeSetupItem>::iterator it = req.
bearers.begin ();
 
 2327       ueManager->SetupDataRadioBearer (it->erabLevelQosParameters, it->erabId, it->gtpTeid, it->transportLayerAddress);
 
 2355   ackParams.
rrcContext = encodedHandoverCommand;
 
 2357   NS_LOG_LOGIC (
"Send X2 message: HANDOVER REQUEST ACK");
 
 2372   NS_LOG_LOGIC (
"Recv X2 message: HANDOVER REQUEST ACK");
 
 2381   ueManager->RecvHandoverRequestAck (params);
 
 2389   NS_LOG_LOGIC (
"Recv X2 message: HANDOVER PREPARATION FAILURE");
 
 2399   ueManager->RecvHandoverPreparationFailure (params.
targetCellId);
 
 2415   ueManager->RecvSnStatusTransfer (params);
 
 2450   NS_LOG_LOGIC (
"Recv X2 message: RESOURCE STATUS UPDATE");
 
 2454   NS_ASSERT (
"Processing of RESOURCE STATUS UPDATE X2 message IS NOT IMPLEMENTED");
 
 2462   NS_LOG_LOGIC (
"Recv UE DATA FORWARDING through X2 interface");
 
 2469   std::map<uint32_t, X2uTeidInfo>::iterator 
 
 2473       GetUeManager (teidInfoIt->second.rnti)->SendData (teidInfoIt->second.drbid, params.
ueData);
 
 2493   ueManager->CmacUeConfigUpdateInd (cmacParams);
 
 2527   bool isHandoverAllowed = 
true;
 
 2530   NS_ASSERT_MSG (ueManager != 0, 
"Cannot find UE context with RNTI " << rnti);
 
 2538                          << 
" targetCellId=" << targetCellId
 
 2539                          << 
" NRT.NoHo=" << noHo << 
" NRT.NoX2=" << noX2);
 
 2543           isHandoverAllowed = 
false;
 
 2544           NS_LOG_LOGIC (
this << 
" handover to cell " << targetCellId
 
 2545                              << 
" is not allowed by ANR");
 
 2551       isHandoverAllowed = 
false;
 
 2552       NS_LOG_LOGIC (
this << 
" handover is not allowed because the UE" 
 2553                          << 
" rnti=" << rnti << 
" is in " 
 2554                          << 
ToString (ueManager->GetState ()) << 
" state");
 
 2557   if (isHandoverAllowed)
 
 2560       ueManager->PrepareHandover (targetCellId);
 
 2587   ueManager->SetPdschConfigDedicated (pdschConfigDedicated);
 
 2615   NS_ASSERT_MSG (found, 
"no more RNTIs available (do you have more than 65535 UEs in a cell?)");
 
 2617   Ptr<UeManager> ueManager = CreateObject<UeManager> (
this, rnti, state, componentCarrierId);
 
 2620   ueManager->Initialize ();
 
 2622   NS_LOG_DEBUG (
this << 
" New UE RNTI " << rnti << 
" cellId " << cellId << 
" srs CI " << ueManager->GetSrsConfigurationIndex ());
 
 2631   std::map <uint16_t, Ptr<UeManager> >::iterator it = 
m_ueMap.find (rnti);
 
 2633   uint16_t srsCi = (*it).second->GetSrsConfigurationIndex ();
 
 2699   for (uint8_t componentCarrierId = 0; componentCarrierId < 
m_sib1.size (); componentCarrierId++)
 
 2701       m_sib1.at (componentCarrierId).cellAccessRelatedInfo.csgIdentity = csgId;
 
 2702       m_sib1.at (componentCarrierId).cellAccessRelatedInfo.csgIndication = csgIndication;
 
 2739       if (g_srsPeriodicity[
id] == p)
 
 2746   std::ostringstream allowedValues;
 
 2749       allowedValues << g_srsPeriodicity[id] << 
" ";
 
 2751   NS_FATAL_ERROR (
"illecit SRS periodicity value " << p << 
". Allowed values: " << allowedValues.str ());
 
 2775                                        << 
") for current SRS periodicity " 
 2777                                        << 
", consider increasing the value of ns3::LteEnbRrc::SrsPeriodicity");
 
 2792       if ((*rit) < g_srsCiHigh[m_srsCurrentPeriodicityId])
 
 2830   if (bearer.
IsGbr ())
 
 2853       uint8_t ccId = it.first;
 
virtual void AddNeighbourRelation(uint16_t cellId)=0
Add a new Neighbour Relation entry. 
 
uint32_t sCellIndex
SCell index. 
 
Callback< void, Ptr< Packet > > m_forwardUpCallback
forward up callback function 
 
Ipv4Address transportLayerAddress
IP Address of the SGW, see 36.423 9.2.1. 
 
static const uint8_t SRS_ENTRIES
Number of distinct SRS periodicity plus one. 
 
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > m_stateTransitionTrace
The StateTransition trace source. 
 
uint8_t GetComponentCarrierId() const 
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_handoverEndOkTrace
The HandoverEndOk trace source. 
 
RrcConnectionRequest structure. 
 
enum ns3::LteRrcSap::ReportConfigEutra::@67 reportQuantity
Report type enumeration. 
 
void ConnectionRequestTimeout(uint16_t rnti)
Method triggered when a UE is expected to request for connection but does not do so in a reasonable t...
 
uint16_t sourceCellId
source cell ID 
 
bool HasUeManager(uint16_t rnti) const 
 
SystemInformationBlockType2 sourceSystemInformationBlockType2
source system information block type 2 
 
Parameters passed to DataRadioBearerSetupRequest () 
 
void ConnectionSetupTimeout(uint16_t rnti)
Method triggered when a UE is expected to complete a connection setup procedure but does not do so in...
 
enum ns3::LteRrcSap::ThresholdEutra::@63 choice
Threshold enumeration. 
 
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the eNodeB RRC instan...
 
bool haveNonCriticalExtension
have critical extension? 
 
void SetEpcX2SapProvider(EpcX2SapProvider *s)
Set the X2 SAP this RRC should interact with. 
 
uint32_t mmeUeS1apId
MME UE S1 AP ID. 
 
Template for the implementation of the EpcEnbS1SapUser as a member of an owner class of type C to whi...
 
This class implements the Service Access Point (SAP) between the LteEnbRrc and the EpcEnbApplication...
 
virtual void DoInitialize(void)
Initialize() implementation. 
 
AllocateNcRaPreambleReturnValue structure. 
 
Simulation virtual time values and global simulation resolution. 
 
uint32_t carrierFreq
carrier frequency 
 
Ptr< LteSignalingRadioBearerInfo > m_srb1
The Srb1 attribute. 
 
void SendHandoverRequest(uint16_t rnti, uint16_t cellId)
Send a HandoverRequest through the X2 SAP interface. 
 
void SendSystemInformation()
method used to periodically send System Information 
 
uint8_t drbIdentity
DRB identity. 
 
RadioResourceConfigCommonSCell radioResourceConfigCommonSCell
radio resource config common SCell 
 
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigForHandoverPreparationInfo()
 
CarrierFreqEutra carrierFreq
carrier frequency 
 
Smart pointer class similar to boost::intrusive_ptr. 
 
These service primitives of this part of the X2 SAP are provided by the X2 entity and issued by RRC e...
 
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
 
E-RABs admitted item as it is used in the HANDOVER REQUEST ACKNOWLEDGE message. 
 
LteEnbRrc()
create an RRC instance for use within an eNB 
 
PdschConfigDedicated pdschConfigDedicated
PDSCH config dedicated. 
 
Event A1: Serving becomes better than absolute threshold. 
 
MeasurementReport structure. 
 
AttributeValue implementation for Boolean. 
 
uint32_t mmeUeS1Id
mmeUeS1Id in practice, we use the IMSI 
 
uint8_t measObjectId
measure object ID 
 
void ConfigureCell(std::map< uint8_t, Ptr< ComponentCarrierEnb >> ccPhyConf)
Configure cell-specific parameters. 
 
EpcX2SpecificEpcX2SapUser. 
 
void RecordDataRadioBearersToBeStarted()
Start all configured data radio bearers. 
 
ErabsSubjectToStatusTransferItem structure. 
 
PdschConfigDedicated pdschConfigDedicated
PDSCH config dedicated. 
 
virtual void DoDispose()
Destructor implementation. 
 
uint16_t m_dlBandwidth
Downlink transmission bandwidth configuration in number of Resource Blocks. 
 
MeasConfig sourceMeasConfig
source measure config 
 
uint32_t sourceDlCarrierFreq
source DL carrier frequency 
 
bool m_caSupportConfigured
Define if the Carrier Aggregation was already configure for the current UE on not. 
 
uint8_t srbIdentity
SB identity. 
 
void RecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message...
 
This class implements the Service Access Point (SAP) between the LteEnbRrc and the EpcEnbApplication...
 
void SetSource(uint16_t sourceCellId, uint16_t sourceX2apId)
Set the identifiers of the source eNB for the case where a UE joins the current eNB as part of a hand...
 
std::list< MeasObjectToAddMod > measObjectToAddModList
measure object to add mod list 
 
void RecvHandoverPreparationFailure(uint16_t cellId)
Take the necessary actions in response to the reception of an X2 HO preparation failure message...
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
 
void DoNotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success)
Notify LC config result function. 
 
uint8_t numberOfRaPreambles
number of RA preambles 
 
uint8_t bearerId
the EPS Bearer Identifier 
 
uint16_t sourceCellId
source cell ID 
 
uint16_t m_rnti
UE id within this cell. 
 
static double ConvertPdschConfigDedicated2Double(PdschConfigDedicated pdschConfigDedicated)
Convert PDSCH config dedicated function. 
 
SoundingRsUlConfigDedicated soundingRsUlConfigDedicated
sounding RS UL config dedicated 
 
Ptr< T > GetObject(void) const 
Get a pointer to the requested aggregated Object. 
 
bool presenceAntennaPort1
antenna port 1 present? 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
uint16_t targetCellId
target cell ID 
 
void SetCellId(uint16_t m_cellId)
set the cell id of this eNB 
 
uint8_t GetLogicalChannelGroup(EpsBearer bearer)
 
uint8_t m_transmissionMode
Transmission mode 1..7 
 
void AddX2Neighbour(uint16_t cellId)
Add a neighbour with an X2 interface. 
 
uint8_t preambleTransMax
preamble transmit maximum 
 
QuantityConfig quantityConfig
quantity config 
 
uint8_t Drbid2Bid(uint8_t drbid)
 
RlcConfig rlcConfig
RLC config. 
 
uint16_t txSn
TX sequence number. 
 
uint16_t rnti
the RNTI identifying the UE for which the DataRadioBearer is to be created 
 
bool m_admitHandoverRequest
The AdmitHandoverRequest attribute. 
 
std::vector< CellMeasurementResultItem > cellMeasurementResultList
cell measurement result list 
 
std::list< MeasResultEutra > measResultListEutra
measure result list eutra 
 
Parameters of the HANDOVER REQUEST message. 
 
int8_t qRxLevMin
INTEGER (-70..-22), actual value = IE value * 2 [dBm]. 
 
uint8_t reportConfigId
report config ID 
 
Ptr< const AttributeAccessor > MakeEnumAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
Part of the RRC protocol. 
 
ThresholdEutra threshold1
Threshold for event A1, A2, A4, and A5. 
 
void DoRecvRrcConnectionReconfigurationCompleted(uint16_t rnti, LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Part of the RRC protocol. 
 
Template for the implementation of the LteHandoverManagementSapUser as a member of an owner class of ...
 
Status variables of the PDCP. 
 
uint16_t targetCellId
target cell ID 
 
Class for forwarding CMAC SAP User functions. 
 
void AddPacketTag(const Tag &tag) const 
Add a packet tag. 
 
Specifies criteria for triggering of an E-UTRA measurement reporting event. 
 
void SetCsgId(uint32_t csgId, bool csgIndication)
Associate this RRC entity with a particular CSG information. 
 
uint16_t GetSrsConfigurationIndex(void) const 
 
uint8_t DoAddUeMeasReportConfigForComponentCarrier(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for component carrier function. 
 
uint8_t raResponseWindowSize
RA response window size. 
 
RadioResourceConfigDedicatedSCell radioResourceConfigDedicateSCell
radio resource config dedicated SCell 
 
uint8_t qci
QoS Class Identifier. 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
uint16_t m_sourceCellId
source cell ID 
 
uint16_t nPuschIdentity
3GPP TS 36.331 v.11.10 R11 page 216 
 
virtual ~LteEnbRrc()
Destructor. 
 
LteRlcSapUser * srb0SapUser
SRB0 SAP user. 
 
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
 
uint16_t m_rnti
The C-RNTI attribute. 
 
std::list< SrbToAddMod > srbToAddModList
SRB to add mod list. 
 
Hold a signed integer type. 
 
enum ns3::LteRrcSap::ReportConfigEutra::report purpose
purpose 
 
uint8_t Lcid2Bid(uint8_t lcid)
 
virtual void SendHandoverPreparationFailure(HandoverPreparationFailureParams params)=0
Send handover preparation failure function. 
 
void SetLteHandoverManagementSapProvider(LteHandoverManagementSapProvider *s)
set the Handover Management SAP this RRC should interact with 
 
EpcX2SapUser * GetEpcX2SapUser()
Get the X2 SAP offered by this RRC. 
 
RadioResourceConfigDedicated radioResourceConfigDedicated
radio resource config dedicated 
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
 
void SetLteEnbCphySapProvider(LteEnbCphySapProvider *s)
set the CPHY SAP this RRC should use to interact with the PHY 
 
uint16_t m_lastAllocatedRnti
Last allocated RNTI. 
 
uint16_t newEnbUeX2apId
new ENB UE X2 AP ID 
 
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit. 
 
uint16_t GetNewSrsConfigurationIndex(void)
Allocate a new SRS configuration index for a new UE. 
 
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory. 
 
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID 
 
bool haveNonUlConfiguration
have non UL configuration? 
 
std::list< BearerToBeSwitched > bearersToBeSwitched
list of bearers to be switched 
 
uint32_t GetSize(void) const 
Returns the the size in bytes of the packet (including the zero-filled initial payload). 
 
LteEnbCmacSapUser * GetLteEnbCmacSapUser()
Get the CMAC SAP offered by this RRC. 
 
uint8_t m_transmissionMode
Transmission mode 1..7 
 
std::vector< LteEnbCphySapProvider * > m_cphySapProvider
Interface to the eNodeB PHY instances. 
 
PdschConfigCommon pdschConfigCommon
4: Physical configuration, physical channels pdsch-ConfigCommon-r10 
 
Tag used to define the RNTI and EPS bearer ID for packets interchanged between the EpcEnbApplication ...
 
uint16_t srsConfigIndex
SRS config index. 
 
uint16_t m_ulBandwidth
Uplink transmission bandwidth configuration in number of Resource Blocks. 
 
uint8_t m_lastRrcTransactionIdentifier
last RRC transaction identifier 
 
uint16_t m_srsCurrentPeriodicityId
The SrsPeriodicity attribute. 
 
The LTE Radio Resource Control entity at the eNB. 
 
bool m_pendingStartDataRadioBearers
Pending start data radio bearers. 
 
void SetLteEnbRrcSapUser(LteEnbRrcSapUser *s)
set the RRC SAP this RRC should interact with 
 
MeasObjectEutra measObjectEutra
measure object eutra 
 
uint16_t sourceUeIdentity
source UE identity 
 
void SetLteEnbCmacSapProvider(LteEnbCmacSapProvider *s)
set the CMAC SAP this RRC should interact with 
 
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO. 
 
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate. 
 
uint64_t m_imsi
International Mobile Subscriber Identity assigned to this UE. 
 
virtual uint16_t AllocateTemporaryCellRnti()
request the allocation of a Temporary C-RNTI 
 
std::vector< LteEnbCmacSapProvider * > m_cmacSapProvider
Interface to the eNodeB MAC instance. 
 
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes. 
 
EpsBearer bearer
the characteristics of the bearer to be set up 
 
Event A5: PCell becomes worse than absolute threshold1 AND Neighbour becomes better than another abso...
 
Time m_handoverLeavingTimeoutDuration
The HandoverLeavingTimeoutDuration attribute. 
 
LteRlcSapProvider * srb0SapProvider
SRB0 SAP provider. 
 
uint64_t mbrDl
maximum bitrate in downlink 
 
void SetBid(uint8_t bid)
Set the bearer id to the given value. 
 
Ipv4Address transportLayerAddress
transport layer address 
 
bool haveCarrierFreq
have carrier frequency? 
 
enum ns3::LteRrcSap::ReportConfigEutra::@66 triggerQuantity
Trigger type enumeration. 
 
uint8_t neighCellConfig
neighbor cell config 
 
uint8_t GetBid(void) const 
Get Bearer Id function. 
 
Time m_connectionRejectedTimeoutDuration
The ConnectionRejectedTimeoutDuration attribute. 
 
LteMacSapProvider * m_macSapProvider
Interface to the eNodeB MAC instance, to be used by RLC instances. 
 
LteHandoverManagementSapUser * GetLteHandoverManagementSapUser()
Get the Handover Management SAP offered by this RRC. 
 
LteEnbRrcSapProvider * m_rrcSapProvider
Interface to receive messages from UE over the RRC protocol. 
 
RachConfigDedicated rachConfigDedicated
RACH config dedicated. 
 
RSRP is used for the threshold. 
 
uint16_t GetRnti(void) const 
Get RNTI function. 
 
bool haveSmeasure
have S measure? 
 
void RemoveSrsConfigurationIndex(uint16_t srcCi)
remove a previously allocated SRS configuration index 
 
std::map< uint8_t, Ptr< ComponentCarrierEnb > > m_componentCarrierPhyConf
component carrier phy configuration 
 
virtual void RrcConfigurationUpdateInd(UeConfig params)
Notify the RRC of a UE config updated requested by the MAC (normally, by the scheduler) ...
 
MeasConfig measConfig
measure config 
 
MemberLteCcmRrcSapUser class. 
 
void SetImsi(uint64_t imsi)
Set the IMSI. 
 
uint64_t ueAggregateMaxBitRateUplink
UE aggregrate max bit rate uplink. 
 
void SetRnti(uint16_t rnti)
 
uint16_t newEnbUeX2apId
new ENB UE X2 AP ID 
 
void SetLteMacSapProvider(LteMacSapProvider *s)
set the MAC SAP provider. 
 
uint8_t waitTime
wait time 
 
void SendUeContextRelease()
send the UE CONTEXT RELEASE X2 message to the source eNB, thus successfully terminating an X2 handove...
 
LteRrcSap::RrcConnectionReconfiguration GetRrcConnectionReconfigurationForHandover()
 
The attribute can be written at construction-time. 
 
void SwitchToState(State s)
Switch the UeManager to the given state. 
 
EnbRrcMemberLteEnbCmacSapUser(LteEnbRrc *rrc, uint8_t componentCarrierId)
Constructor. 
 
Time m_connectionSetupTimeoutDuration
The ConnectionSetupTimeoutDuration attribute. 
 
uint32_t ulCarrierFreq
UL carrier frequency. 
 
static const std::string g_ueManagerStateName[UeManager::NUM_STATES]
Map each of UE Manager states to its string representation. 
 
void RecvRrcConnectionReconfigurationCompleted(LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted interface. 
 
void ReleaseDataRadioBearer(uint8_t drbid)
Release a given radio bearer. 
 
void SetNumberOfComponentCarriers(uint16_t numberOfComponentCarriers)
Set number of component carriers. 
 
uint16_t ComponentCarrierToCellId(uint8_t componentCarrierId)
convert the component carrier id to cell id 
 
double GetPacketErrorLossRate() const 
 
uint8_t AddDataRadioBearerInfo(Ptr< LteDataRadioBearerInfo > radioBearerInfo)
Add a new LteDataRadioBearerInfo structure to the UeManager. 
 
EpcX2SapUser * m_x2SapUser
Interface to receive messages from neighbour eNodeB over the X2 interface. 
 
uint8_t m_rsrqFilterCoefficient
The RsrqFilterCoefficient attribute. 
 
LteEnbRrcSapUser * m_rrcSapUser
Interface to send messages to UE over the RRC protocol. 
 
Ptr< Packet > rrcContext
RRC context. 
 
bool haveRadioResourceConfigDedicated
have radio resource config dedicated 
 
bool m_needPhyMacConfiguration
need Phy MAC configuration 
 
Ptr< LteEnbRrc > m_rrc
Pointer to the parent eNodeB RRC. 
 
EpcEnbS1SapProvider * m_s1SapProvider
Interface to send messages to core network over the S1 protocol. 
 
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source. 
 
Time m_connectionRequestTimeoutDuration
The ConnectionRequestTimeoutDuration attribute. 
 
bool havePdschConfigDedicated
have PDSCH config dedicated? 
 
bool haveNonUlConfiguration
have non UL configuration? 
 
uint16_t targetCellId
target cell ID 
 
void SetForwardUpCallback(Callback< void, Ptr< Packet > > cb)
set the callback used to forward data packets up the stack 
 
Ptr< const AttributeChecker > MakeTimeChecker(const Time min, const Time max)
Helper to make a Time checker with bounded range. 
 
void DoRecvRrcConnectionSetupCompleted(uint16_t rnti, LteRrcSap::RrcConnectionSetupCompleted msg)
Part of the RRC protocol. 
 
uint16_t dlPdcpSn
DL PDCP SN. 
 
uint16_t ulPdcpSn
UL PDCP SN. 
 
void DoRecvRrcConnectionReestablishmentComplete(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentComplete msg)
Part of the RRC protocol. 
 
LteHandoverManagementSapUser * m_handoverManagementSapUser
Receive API calls from the handover algorithm instance. 
 
Ptr< const AttributeAccessor > MakeIntegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
void DoCompleteSetupUe(uint16_t rnti, LteEnbRrcSapProvider::CompleteSetupUeParameters params)
Part of the RRC protocol. 
 
SystemInformationBlockType1 sourceSystemInformationBlockType1
source system information block type 1 
 
AsConfig asConfig
AS config. 
 
TracedCallback< uint16_t, uint16_t > m_newUeContextTrace
The NewUeContext trace source. 
 
uint8_t rrcTransactionIdentifier
RRC transaction identifier. 
 
Ptr< Packet > pdcpSdu
the RRC PDU 
 
Service Access Point (SAP) offered by the MAC to the RRC See Femto Forum MAC Scheduler Interface Spec...
 
PreambleInfo preambleInfo
preamble info 
 
Template for the implementation of the LteFfrRrcSapUser as a member of an owner class of type C to wh...
 
uint8_t rsrpResult
RSRP result. 
 
Ptr< UeManager > GetUeManager(uint16_t rnti)
 
Parameters for LtePdcpSapUser::ReceivePdcpSdu. 
 
uint8_t lcId
logical channel identifier 
 
This class contains the specification of EPS Bearers. 
 
uint16_t m_rnti
UE id within this cell. 
 
bool m_admitRrcConnectionRequest
The AdmitRrcConnectionRequest attribute. 
 
int8_t m_qRxLevMin
The QRxLevMin attribute. 
 
uint16_t rnti
the C-RNTI identifying the UE 
 
LtePdcpSapUser * m_drbPdcpSapUser
DRB PDCP SAP user. 
 
uint8_t AddUeMeasReportConfig(LteRrcSap::ReportConfigEutra config)
Add a new UE measurement reporting configuration. 
 
CellIdentification cellIdentification
cell identification 
 
bool haveUlConfiguration
have UL configuration 
 
NS_ASSERT_MSG(false,"Ipv4AddressGenerator::MaskToIndex(): Impossible")
 
AntennaInfoCommon antennaInfoCommon
2: Physical configuration, general antennaInfoCommon-r10 
 
EventId m_connectionRejectedTimeout
The delay before a connection rejected timeout occurs. 
 
void SetLteFfrRrcSapProvider(LteFfrRrcSapProvider *s)
set the FFR SAP this RRC should interact with 
 
virtual void UeContextRelease(uint16_t rnti)=0
release UE context at the S1 Application of the source eNB after reception of the UE CONTEXT RELEASE ...
 
uint16_t m_numberOfComponentCarriers
number of component carriers 
 
std::vector< LteFfrRrcSapProvider * > m_ffrRrcSapProvider
Interface to the FFR algorithm instance. 
 
LteRrcSap::NonCriticalExtensionConfiguration BuildNonCriticalExtentionConfigurationCa()
 
bool m_carriersConfigured
are carriers configured 
 
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
Hold variables of type enum. 
 
static EventId Schedule(Time const &delay, MEM mem_ptr, OBJ obj)
Schedule an event to expire after delay. 
 
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID 
 
LteRrcSap::RrcConnectionReconfiguration BuildRrcConnectionReconfiguration()
 
Ptr< LteSignalingRadioBearerInfo > m_srb0
The Srb0 attribute. 
 
void DoRecvRrcConnectionRequest(uint16_t rnti, LteRrcSap::RrcConnectionRequest msg)
Part of the RRC protocol. 
 
uint8_t preambleTransMax
preamble transmit maximum 
 
MeasResults measResults
measure results 
 
FreqInfo ulFreqInfo
UL frequency info. 
 
uint64_t ueAggregateMaxBitRateDownlink
UE aggregrate max bit rate downlink. 
 
uint8_t epsBearerIdentity
EPS bearer identity. 
 
AttributeValue implementation for Time. 
 
UlPowerControlCommonSCell ulPowerControlCommonSCell
3GPP TS 36.331 v.11.10 R11 pag.223 
 
uint64_t ueIdentity
UE identity. 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
int8_t referenceSignalPower
INTEGER (-60..50),. 
 
RrcConnectionReestablishment structure. 
 
void SetSrsConfigurationIndex(uint16_t srsConfIndex)
Set the SRS configuration index and do the necessary reconfiguration. 
 
void DoTriggerHandover(uint16_t rnti, uint16_t targetCellId)
Trigger handover function. 
 
LogicalChannelConfig logicalChannelConfig
logical channel config 
 
virtual void SendLoadInformation(LoadInformationParams params)=0
Send load information function. 
 
RachConfigCommon rachConfigCommon
RACH config common. 
 
Ptr< Object > Create(void) const 
Create an Object instance of the configured TypeId. 
 
ReportConfigEutra reportConfigEutra
report config eutra 
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionEstablishedTrace
The ConnectionEstablished trace source. 
 
std::set< uint8_t > m_componentCarrierMeasIds
List of measurement identities which are intended for component carrier management purposes...
 
Parameters of the HANDOVER PREPARATION FAILURE message. 
 
virtual bool GetNoHo(uint16_t cellId) const =0
Get the value of No HO field of a neighbouring cell from the Neighbour Relation Table (NRT)...
 
Hold an unsigned integer type. 
 
NonUlConfiguration nonUlConfiguration
non UL configuration 
 
Logical Channel information to be passed to CmacSapProvider::ConfigureLc. 
 
bool haveRadioResourceConfigDedicatedSCell
have radio resource config dedicated SCell? 
 
GbrQosInformation gbrQosInfo
GBR QOS information. 
 
uint32_t m_ulEarfcn
Uplink E-UTRA Absolute Radio Frequency Channel Number. 
 
uint8_t CellToComponentCarrierId(uint16_t cellId)
convert the cell id to component carrier id 
 
void DoPathSwitchRequestAcknowledge(EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters params)
Path switch request acknowledge function. 
 
virtual void NotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success)
notify the result of the last LC config operation 
 
uint32_t dlCarrierFreq
ARFCN - valueEUTRA. 
 
std::vector< ErabAdmittedItem > admittedBearers
admitted bearers 
 
bool haveMeasGapConfig
have measure gap config? 
 
std::list< MeasResultScell > measResultScell
measure results Scells 
 
uint16_t alpha
alpha value 
 
RrcConnectionReconfiguration structure. 
 
uint16_t rnti
the C-RNTI identifying the UE 
 
std::list< MeasIdToAddMod > measIdToAddModList
measure ID to add mod list 
 
uint8_t srsBandwidth
SRS bandwidth. 
 
bool haveRachConfigDedicated
Have RACH config dedicated? 
 
SetupUeParameters structure. 
 
uint8_t raPrachMaskIndex
RA PRACH mask index. 
 
Parameters of the SN STATUS TRANSFER message. 
 
PhysicalConfigDedicated physicalConfigDedicated
physical config dedicated 
 
std::set< uint8_t > m_ffrMeasIds
List of measurement identities which are intended for FFR purpose. 
 
uint8_t filterCoefficientRSRP
filter coefficient RSRP 
 
Service Access Point (SAP) offered by the eNodeB RRC instance to the ANR instance. 
 
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID 
 
uint8_t srsSubframeConfig
SRS subframe config. 
 
RrcConnectionReconfigurationCompleted structure. 
 
MeasResultServFreqList measScellResultList
measure SCell result list 
 
RSRQ is used for the threshold. 
 
Parameters for LtePdcpSapProvider::TransmitPdcpSdu. 
 
uint32_t gtpTeid
S1-bearer GTP tunnel endpoint identifier, see 36.423 9.2.1. 
 
Template for the implementation of the LteEnbCphySapUser as a member of an owner class of type C to w...
 
bool haveAntennaInfoUlDedicated
have antenna info UL dedicated? 
 
uint8_t Drbid2Lcid(uint8_t drbid)
 
enum ns3::LteRrcSap::ReportConfigEutra::@65 eventId
Event enumeration. 
 
std::list< SCellToAddMod > sCellsToAddModList
SCell to add mod list. 
 
LtePdcpSapProvider * srb1SapProvider
SRB1 SAP provider. 
 
void SetLteCcmRrcSapProvider(LteCcmRrcSapProvider *s)
set the Component Carrier Management SAP this RRC should interact with 
 
uint16_t rxSn
RX sequence number. 
 
LteMacSapUser * GetLteMacSapUser()
 
void SendData(uint8_t bid, Ptr< Packet > p)
Send a data packet over the appropriate Data Radio Bearer. 
 
MeasIdToAddMod structure. 
 
uint8_t rrcTransactionIdentifier
RRC transaction identifier. 
 
std::set< uint8_t > m_handoverMeasIds
List of measurement identities which are intended for handover purpose. 
 
PrachConfigSCell prachConfigSCell
PRACH config SCell. 
 
uint8_t m_componentCarrierId
ID of the primary CC for this UE. 
 
RrcConnectionSetupCompleted structure. 
 
HandoverPreparationInfo structure. 
 
uint8_t epsBearerId
Bearer ID. 
 
RadioResourceConfigDedicated radioResourceConfigDedicated
radio resource config dedicated 
 
PathSwitchRequestParameters structure. 
 
RrcConnectionSetup structure. 
 
void DoRecvUeContextRelease(EpcX2SapUser::UeContextReleaseParams params)
Receive UE context release function. 
 
uint8_t m_lastAllocatedDrbid
last allocated Data Radio Bearer ID 
 
BearerToBeSwitched structure. 
 
UlPowerControlDedicatedSCell ulPowerControlDedicatedSCell
UL power control dedicated SCell. 
 
uint8_t Bid2Lcid(uint8_t bid)
 
uint16_t m_sourceX2apId
source X2 ap ID 
 
Parameters for [re]configuring the UE. 
 
RrcConnectionReestablishmentRequest structure. 
 
Ptr< Packet > rrcContext
RRC context. 
 
std::map< uint32_t, X2uTeidInfo > m_x2uTeidInfoMap
TEID, RNTI, DRBID. 
 
TracedCallback< uint64_t, uint16_t, uint16_t, LteRrcSap::MeasurementReport > m_recvMeasurementReportTrace
The RecvMeasurementReport trace source. 
 
bool crossCarrierSchedulingConfig
currently implemented as boolean variable –> implementing crossCarrierScheduling is out of the scope...
 
void SetRnti(uint16_t rnti)
Set the RNTI to the given value. 
 
uint8_t raPreambleIndex
RA preamble index. 
 
uint8_t numberOfRaPreambles
number of RA preambles 
 
uint16_t targetCellId
target cell ID 
 
uint8_t m_rsrpFilterCoefficient
The RsrpFilterCoefficient attribute. 
 
E-RABs to be setup item as it is used in the HANDOVER REQUEST message. 
 
LteCcmRrcSapUser * m_ccmRrcSapUser
Receive API calls from the LteEnbComponentCarrierManager instance. 
 
uint32_t gtpTeid
GTP TEID. 
 
RadioResourceConfigDedicated sourceRadioResourceConfig
source radio resource config 
 
Part of the RRC protocol. 
 
uint8_t DoAddUeMeasReportConfigForAnr(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for ANR function. 
 
void SetupDataRadioBearer(EpsBearer bearer, uint8_t bearerId, uint32_t gtpTeid, Ipv4Address transportLayerAddress)
Setup a new data radio bearer, including both the configuration within the eNB and the necessary RRC ...
 
void RemoveDataRadioBearerInfo(uint8_t drbid)
remove the LteDataRadioBearerInfo corresponding to a bearer being released 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
uint8_t reportConfigId
report config ID 
 
void RecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
Take the necessary actions in response to the reception of an X2 SN STATUS TRANSFER message...
 
EpcX2SapProvider * m_x2SapProvider
Interface to send messages to neighbour eNodeB over the X2 interface. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
Parameters of the RESOURCE STATUS UPDATE message. 
 
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID 
 
bool haveQuantityConfig
have quantity config? 
 
Hold objects of type Ptr. 
 
Event A2: Serving becomes worse than absolute threshold. 
 
Ptr< Packet > pdcpSdu
the RRC PDU 
 
virtual void SendHandoverRequestAck(HandoverRequestAckParams params)=0
Send handover request ack function. 
 
LteRrcSap::RadioResourceConfigDedicated BuildRadioResourceConfigDedicated()
 
void SetLteRlcSapUser(LteRlcSapUser *s)
 
LteCcmRrcSapUser * GetLteCcmRrcSapUser()
Get the Component Carrier Management SAP offered by this RRC. 
 
uint16_t targetPhysCellId
target Phy cell ID 
 
enum ns3::EpsBearer::Qci qci
Qos class indicator. 
 
RrcConnectionReject structure. 
 
State
The state of the UeManager at the eNB RRC. 
 
uint16_t targetCellId
target cell ID 
 
PhysicalConfigDedicatedSCell physicalConfigDedicatedSCell
physical config dedicated SCell 
 
EventId m_handoverLeavingTimeout
Time limit before a handover leaving timeout occurs. 
 
Ptr< const AttributeChecker > MakeBooleanChecker(void)
 
uint8_t lcGroup
logical channel group 
 
uint8_t rrcTransactionIdentifier
RRC transaction identifier. 
 
void SetLteAnrSapProvider(LteAnrSapProvider *s)
set the ANR SAP this RRC should interact with 
 
bool haveMobilityControlInfo
have mobility control info 
 
Parameters of the UE CONTEXT RELEASE message. 
 
EpsBearer erabLevelQosParameters
E-RAB level QOS parameters. 
 
uint16_t sourceCellId
source cell ID 
 
Parameters of the HANDOVER REQUEST ACKNOWLEDGE message. 
 
void RecvRrcConnectionSetupCompleted(LteRrcSap::RrcConnectionSetupCompleted msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface. 
 
RadioResourceConfigDedicated radioResourceConfigDedicated
radio resource config dedicated 
 
std::list< uint8_t > m_drbsToBeStarted
DRBS to be started. 
 
void DoReceivePdcpSdu(LtePdcpSapUser::ReceivePdcpSduParameters params)
Receive PDCP SDU function. 
 
bool haveMeasResultNeighCells
have measure result neighbor cells 
 
uint16_t dlBandwidth
1: Cell characteristics 
 
uint32_t physCellId
physical cell ID 
 
uint8_t filterCoefficientRSRQ
filter coefficient RSRQ 
 
PuschConfigDedicatedSCell pushConfigDedicatedSCell
PUSCH config dedicated SCell. 
 
bool havePdschConfigDedicated
have PDSCH config dedicated? 
 
static const uint16_t g_srsCiLow[SRS_ENTRIES]
The lower bound (inclusive) of the SRS configuration indices (ISRS) which use the corresponding SRS p...
 
uint8_t logicalChannelIdentity
logical channel identify 
 
uint16_t newUeIdentity
new UE identity 
 
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > m_handoverStartTrace
The HandoverStart trace source. 
 
LtePdcpSapUser * srb1SapUser
SRB1 SAP user. 
 
RachConfigCommon structure. 
 
bool havePhysicalConfigDedicated
have physical config dedicated? 
 
std::vector< EpcX2Sap::ErabToBeSetupItem > GetErabList()
 
uint8_t ulBandwidth
UL bandwidth. 
 
void ScheduleRrcConnectionReconfiguration()
schedule an RRC Connection Reconfiguration procedure with the UE 
 
These service primitives of this part of the X2 SAP are provided by the RRC entity and issued by the ...
 
LteAnrSapUser * GetLteAnrSapUser()
Get the ANR SAP offered by this RRC. 
 
LtePdcpSpecificLtePdcpSapUser class. 
 
PathSwitchRequestAcknowledgeParameters structure. 
 
Ptr< const AttributeAccessor > MakeTimeAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
Parameters for [re]configuring the UE. 
 
bool haveSoundingRsUlConfigDedicated
have sounding RS UL config dedicated? 
 
Time m_systemInformationPeriodicity
The SystemInformationPeriodicity attribute. 
 
LteEnbRrcSapProvider * GetLteEnbRrcSapProvider()
 
static Time Now(void)
Return the current simulation virtual time. 
 
std::vector< ErabToBeSetupItem > bearers
bearers 
 
uint8_t m_defaultTransmissionMode
The DefaultTransmissionMode attribute. 
 
void DoRecvResourceStatusUpdate(EpcX2SapUser::ResourceStatusUpdateParams params)
Receive resource status update function. 
 
void SetLcId(uint8_t lcId)
 
uint8_t measObjectId
measure object ID 
 
Service Access Point (SAP) offered by the eNodeB RRC instance to the Frequency Reuse algorithm instan...
 
void DoRecvUeData(EpcX2SapUser::UeDataParams params)
Receive UE data function. 
 
virtual void TransmitPdcpSdu(TransmitPdcpSduParameters params)=0
Send a RRC PDU to the RDCP for transmission This method is to be called when upper RRC entity has a R...
 
NS_LOG_LOGIC("Net device "<< nd<< " is not bridged")
 
RadioResourceConfigCommon radioResourceConfigCommon
radio resource config common 
 
uint64_t GetImsi(void) const 
 
uint32_t plmnIdentity
PLMN identity. 
 
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID 
 
uint32_t dlCarrierFreq
DL carrier frequency. 
 
void PrepareHandover(uint16_t cellId)
Start the handover preparation and send the handover request. 
 
CarrierBandwidthEutra carrierBandwidth
carrier bandwidth 
 
void DoSendReleaseDataRadioBearer(uint64_t imsi, uint16_t rnti, uint8_t bearerId)
This function acts as an interface to trigger Release indication messages towards eNB and EPC...
 
uint8_t DoAddUeMeasReportConfigForHandover(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for handover function. 
 
uint8_t m_componentCarrierId
Component carrier ID. 
 
Event A4: Neighbour becomes better than absolute threshold. 
 
uint16_t GetRnti(void) const 
 
uint16_t sourceCellId
source cell ID 
 
virtual void DoSendReleaseIndication(uint64_t imsi, uint16_t rnti, uint8_t bearerId)=0
Triggers epc-enb-application to send ERAB Release Indication message towards MME. ...
 
void RecvRrcConnectionReestablishmentComplete(LteRrcSap::RrcConnectionReestablishmentComplete msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface. 
 
Reference Signal Received Quality. 
 
EpcEnbS1SapUser * m_s1SapUser
Interface to receive messages from core network over the S1 protocol. 
 
std::set< uint16_t > m_ueSrsConfigurationIndexSet
UE SRS configuration index set. 
 
void SetSrsPeriodicity(uint32_t p)
 
uint16_t rnti
C-RNTI identifying the UE. 
 
virtual void DoDispose(void)
Destructor implementation. 
 
bool haveUlConfiguration
have UL configuration? 
 
TypeId GetRlcType(EpsBearer bearer)
 
bool m_configured
True if ConfigureCell() has been completed. 
 
LogicalChannelConfig logicalChannelConfig
logical channel config 
 
uint64_t mbrUl
maximum bitrate in uplink 
 
void HandoverJoiningTimeout(uint16_t rnti)
Method triggered when a UE is expected to join the cell for a handover but does not do so in a reason...
 
RachConfigCommon rachConfigCommon
RACH config common. 
 
Ptr< const AttributeChecker > MakeEnumChecker(int v1, std::string n1, int v2, std::string n2, int v3, std::string n3, int v4, std::string n4, int v5, std::string n5, int v6, std::string n6, int v7, std::string n7, int v8, std::string n8, int v9, std::string n9, int v10, std::string n10, int v11, std::string n11, int v12, std::string n12, int v13, std::string n13, int v14, std::string n14, int v15, std::string n15, int v16, std::string n16, int v17, std::string n17, int v18, std::string n18, int v19, std::string n19, int v20, std::string n20, int v21, std::string n21, int v22, std::string n22)
Make an EnumChecker pre-configured with a set of allowed values by name. 
 
#define NS_ABORT_IF(cond)
Abnormal program termination if a condition is true. 
 
Instantiate subclasses of ns3::Object. 
 
Ipv4 addresses are stored in host order in this class. 
 
uint64_t gbrUl
guaranteed bitrate in uplink 
 
uint8_t srsBandwidthConfig
SRS bandwidth config. 
 
uint8_t raResponseWindowSize
RA response window size. 
 
bool haveCarrierBandwidth
have carrier bandwidth? 
 
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36.323 Packet Data Convergence Protocol (PDCP) specification. 
 
The attribute can be read. 
 
bool haveAntennaInfoDedicated
have antenna info dedicated? 
 
uint8_t ulBandwidth
UL bandwidth. 
 
std::vector< LteEnbCmacSapUser * > m_cmacSapUser
Receive API calls from the eNodeB MAC instance. 
 
static const std::string & ToString(EpcUeNas::State s)
 
LteAnrSapUser * m_anrSapUser
Receive API calls from the ANR instance. 
 
EventId m_connectionSetupTimeout
Time limit before a connection setup timeout occurs. 
 
std::vector< LteRrcSap::SystemInformationBlockType1 > m_sib1
The System Information Block Type 1 that is currently broadcasted over BCH. 
 
Template for the implementation of the LteEnbRrcSapProvider as a member of an owner class of type C t...
 
bool m_pendingRrcConnectionReconfiguration
pending RRC connection reconfiguration 
 
std::vector< ErabNotAdmittedItem > notAdmittedBearers
not admitted bearers 
 
Service Access Point (SAP) offered by the ANR instance to the eNodeB RRC instance. 
 
void DoRrcConfigurationUpdateInd(LteEnbCmacSapUser::UeConfig params)
RRC configuration update indication function. 
 
NonCriticalExtensionConfiguration nonCriticalExtension
3GPP TS 36.331 v.11.10 R11 Sec. 6.2.2 pag. 147 (also known as ETSI TS 136 331 v.11.10 Feb-2015) 
 
uint16_t newEnbUeX2apId
new ENB UE X2 AP ID 
 
void DoSetPdschConfigDedicated(uint16_t rnti, LteRrcSap::PdschConfigDedicated pa)
Set PDSCH config dedicated function. 
 
uint8_t DoAddUeMeasReportConfigForFfr(LteRrcSap::ReportConfigEutra reportConfig)
Add UE measure report config for FFR function. 
 
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
 
struct defining the RACH configuration of the MAC 
 
Service Access Point (SAP) offered by the Component Carrier Manager (CCM) instance to the eNodeB RRC ...
 
void DoRecvHandoverPreparationFailure(EpcX2SapUser::HandoverPreparationFailureParams params)
Receive handover preparation failure function. 
 
#define NS_LOG_WARN(msg)
Use NS_LOG to output a message of level LOG_WARN. 
 
Service Access Point (SAP) offered by the handover algorithm instance to the eNodeB RRC instance...
 
void StartDataRadioBearers()
Start the data radio bearers that have been previously recorded to be started using RecordDataRadioBe...
 
uint16_t sourceCellId
source cell ID 
 
int8_t pb
INTEGER (0..3),. 
 
bool haveSpeedStatePars
have speed state parameters? 
 
static const uint16_t g_srsPeriodicity[SRS_ENTRIES]
Sounding Reference Symbol (SRS) periodicity (TSRS) in milliseconds. 
 
bool haveSoundingRsUlConfigDedicated
have sounding RS UL config dedicated? 
 
EpcEnbS1SapUser * GetS1SapUser()
 
uint8_t allowedMeasBandwidth
allowed measure bandwidth 
 
std::list< DrbToAddMod > drbToAddModList
DRB to add mod list. 
 
void RecvRrcConnectionReestablishmentRequest(LteRrcSap::RrcConnectionReestablishmentRequest msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest interface. 
 
bool RemovePacketTag(Tag &tag)
Remove a packet tag. 
 
enum ns3::LteRrcSap::SoundingRsUlConfigDedicated::action type
action type 
 
uint8_t raPrachMaskIndex
PRACH mask index. 
 
LteRrcSap::PhysicalConfigDedicated m_physicalConfigDedicated
physical config dedicated 
 
std::map< uint16_t, Ptr< UeManager > > m_ueMap
The UeMap attribute. 
 
void ConfigureCarriers(std::map< uint8_t, Ptr< ComponentCarrierEnb >> ccPhyConf)
Configure carriers. 
 
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG. 
 
static const uint16_t g_srsCiHigh[SRS_ENTRIES]
The upper bound (inclusive) of the SRS configuration indices (ISRS) which use the corresponding SRS p...
 
Time Seconds(double value)
Construct a Time in the indicated unit. 
 
LteFfrRrcSapUser * GetLteFfrRrcSapUser()
Get the FFR SAP offered by this RRC. 
 
virtual void SendSystemInformation(uint16_t cellId, SystemInformation msg)=0
Send a SystemInformation message to all attached UEs during a system information acquisition procedur...
 
int8_t offsetFreq
offset frequency 
 
CompleteSetupUeParameters structure. 
 
Reference Signal Received Power. 
 
uint16_t criticalityDiagnostics
criticality diagnostics 
 
bool haveAntennaInfoDedicated
have antenna info dedicated? 
 
std::vector< LteEnbCphySapUser * > m_cphySapUser
Receive API calls from the eNodeB PHY instances. 
 
virtual Ptr< Packet > EncodeHandoverCommand(RrcConnectionReconfiguration msg)=0
Encode handover command. 
 
void RecvRrcConnectionRequest(LteRrcSap::RrcConnectionRequest msg)
Implement the LteEnbRrcSapProvider::RecvRrcConnectionRequest interface. 
 
RrcConnectionReestablishmentComplete structure. 
 
uint8_t transmissionMode
transmission mode 
 
LteCcmRrcSapProvider * m_ccmRrcSapProvider
Interface to the LteEnbComponentCarrierManager instance. 
 
void Cancel(void)
This method is syntactic sugar for the ns3::Simulator::Cancel method. 
 
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
 
std::map< uint8_t, Ptr< LteDataRadioBearerInfo > > m_drbMap
The DataRadioBearerMap attribute. 
 
TracedCallback< uint64_t, uint16_t, uint16_t > m_connectionReconfigurationTrace
The ConnectionReconfiguration trace source. 
 
uint8_t GetLogicalChannelPriority(EpsBearer bearer)
 
Service Access Point (SAP) offered by the eNodeB RRC instance to the component carrier manager (CCM) ...
 
uint8_t lcid
the logical channel id corresponding to the sending RLC instance 
 
bool valid
true if a valid RA config was allocated, false otherwise 
 
uint8_t GetNewRrcTransactionIdentifier()
 
MobilityControlInfo mobilityControlInfo
mobility control info 
 
bool haveMeasConfig
have measure config 
 
void DoRecvSnStatusTransfer(EpcX2SapUser::SnStatusTransferParams params)
Receive SN status transfer function. 
 
LteEnbCphySapUser * GetLteEnbCphySapUser()
 
void ConnectionRejectedTimeout(uint16_t rnti)
Method triggered a while after sending RRC Connection Rejected. 
 
Both the RSRP and RSRQ quantities are to be included in the measurement report. 
 
Ptr< const AttributeAccessor > MakeObjectMapAccessor(U T::*memberVariable)
MakeAccessorHelper implementation for ObjectVector. 
 
Ptr< Packet > ueData
UE data. 
 
uint32_t GetSrsPeriodicity() const 
 
Ptr< LteDataRadioBearerInfo > GetDataRadioBearerInfo(uint8_t drbid)
 
Template for the implementation of the LteAnrSapUser as a member of an owner class of type C to which...
 
AntennaInfoDedicated antennaInfo
antenna info 
 
Time m_handoverJoiningTimeoutDuration
The HandoverJoiningTimeoutDuration attribute. 
 
LteRlcSapProvider * GetLteRlcSapProvider()
 
uint16_t m_lastAllocatedConfigurationIndex
last allocated configuration index 
 
void HandoverLeavingTimeout(uint16_t rnti)
Method triggered when a UE is expected to leave a cell for a handover but no feedback is received in ...
 
LTE RLC Acknowledged Mode (AM), see 3GPP TS 36.322. 
 
uint8_t rsrqResult
RSRQ result. 
 
LteHandoverManagementSapProvider * m_handoverManagementSapProvider
Interface to the handover algorithm instance. 
 
A base class which provides memory management and object aggregation. 
 
PdschConfigCommon pdschConfigCommon
PDSCH config common. 
 
bool dlForwarding
DL forwarding. 
 
std::set< uint8_t > m_anrMeasIds
List of measurement identities which are intended for ANR purpose. 
 
uint16_t targetCellId
target cell ID 
 
Container for a set of ns3::Object pointers. 
 
void DoRecvRrcConnectionReestablishmentRequest(uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentRequest msg)
Part of the RRC protocol. 
 
void SetPdschConfigDedicated(LteRrcSap::PdschConfigDedicated pdschConfigDedicated)
Configure PdschConfigDedicated (i.e. 
 
Service Access Point (SAP) offered by the eNB MAC to the eNB RRC See Femto Forum MAC Scheduler Interf...
 
uint8_t dlBandwidth
DL bandwidth. 
 
SoundingRsUlConfigCommon soundingRsUlConfigCommon
sounding RS UL config common 
 
NonCriticalExtensionConfiguration structure. 
 
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes. 
 
void RemoveUe(uint16_t rnti)
remove a UE from the cell 
 
PdschConfigDedicated structure. 
 
State m_state
The current UeManager state. 
 
uint64_t gbrDl
guaranteed bitrate in downlink 
 
uint8_t lcid
the logical channel id corresponding to the sending RLC instance 
 
void DoRecvMeasurementReport(uint16_t rnti, LteRrcSap::MeasurementReport msg)
Part of the RRC protocol. 
 
SoundingRsUlConfigDedicated soundingRsUlConfigDedicated
sounding RS UL config dedicated 
 
uint8_t raPreambleId
random access preamble id 
 
void CmacUeConfigUpdateInd(LteEnbCmacSapUser::UeConfig cmacParams)
CMAC UE config update indication function. 
 
UlConfiguration ulConfiguration
UL configuration. 
 
Parameters of the UE DATA primitive. 
 
enum LteEpsBearerToRlcMapping_t m_epsBearerToRlcMapping
The EpsBearerToRlcMapping attribute. 
 
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
std::vector< ErabsSubjectToStatusTransferItem > erabsSubjectToStatusTransferList
ERABs subject to status transfer list. 
 
uint32_t m_dlEarfcn
Downlink E-UTRA Absolute Radio Frequency Channel Number. 
 
void DoSendLoadInformation(EpcX2Sap::LoadInformationParams params)
Send load information function. 
 
void RecvMeasurementReport(LteRrcSap::MeasurementReport msg)
Implement the LteEnbRrcSapProvider::RecvMeasurementReport interface. 
 
This abstract base class defines the API to interact with the Radio Link Control (LTE_RLC) in LTE...
 
a unique identifier for an interface. 
 
virtual bool GetNoX2(uint16_t cellId) const =0
Get the value of No X2 field of a neighbouring cell from the Neighbour Relation Table (NRT)...
 
uint16_t m_targetCellId
target cell ID 
 
std::list< ReportConfigToAddMod > reportConfigToAddModList
report config to add mod list 
 
ReportConfigToAddMod structure. 
 
uint16_t sourceCellId
source cell ID 
 
uint16_t DoAllocateTemporaryCellRnti(uint8_t componentCarrierId)
Allocate temporary cell RNTI function. 
 
TypeId SetParent(TypeId tid)
Set the parent TypeId. 
 
std::list< uint8_t > drbToReleaseList
DRB to release list. 
 
uint8_t Bid2Drbid(uint8_t bid)
 
static TypeId GetTypeId(void)
Get the type ID. 
 
void SetS1SapProvider(EpcEnbS1SapProvider *s)
Set the S1 SAP Provider. 
 
uint8_t Lcid2Drbid(uint8_t lcid)
 
EventId m_connectionRequestTimeout
Time limit before a connection request timeout occurs. 
 
LteAnrSapProvider * m_anrSapProvider
Interface to the ANR instance. 
 
MeasObjectToAddMod structure. 
 
uint16_t AddUe(UeManager::State state, uint8_t componentCarrierId)
Allocate a new RNTI for a new UE. 
 
Service Access Point (SAP) offered by the eNodeB RRC instance to the handover algorithm instance...
 
void DoDataRadioBearerSetupRequest(EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters params)
Data radio beaerer setup request function. 
 
uint16_t antennaPortsCount
antenna ports count 
 
uint16_t pSrsOffset
3GPP TS 36.331 v.11.10 R11 page 234 
 
std::vector< LteFfrRrcSapUser * > m_ffrRrcSapUser
Receive API calls from the FFR algorithm instance. 
 
void DoRecvLoadInformation(EpcX2SapUser::LoadInformationParams params)
Receive load information function. 
 
RaSupervisionInfo raSupervisionInfo
RA supervision info. 
 
void SetLteMacSapProvider(LteMacSapProvider *s)
 
void RecvHandoverRequestAck(EpcX2SapUser::HandoverRequestAckParams params)
take the necessary actions in response to the reception of an X2 HANDOVER REQUEST ACK message ...
 
bool SendData(Ptr< Packet > p)
Enqueue an IP data packet on the proper bearer for downlink transmission. 
 
EventId m_handoverJoiningTimeout
Time limit before a handover joining timeout occurs. 
 
bool haveScellsMeas
has SCells measure 
 
bool isGbr
true if the bearer is GBR, false if the bearer is NON-GBR 
 
AntennaInfoDedicated antennaInfo
antenna info dedicated 
 
void CompleteSetupUe(LteEnbRrcSapProvider::CompleteSetupUeParameters params)
Implement the LteEnbRrcSapProvider::CompleteSetupUe interface. 
 
RadioResourceConfigDedicated structure. 
 
uint32_t ulCarrierFreq
UL carrier frequency. 
 
virtual void DoInitialize()
Initialize() implementation. 
 
MasterInformationBlock sourceMasterInformationBlock
source master information block 
 
LteRrcSap::MeasConfig m_ueMeasConfig
List of measurement configuration which are active in every UE attached to this eNodeB instance...
 
int8_t qQualMin
INTEGER (-34..-3), actual value = IE value [dB]. 
 
void DoRecvHandoverRequestAck(EpcX2SapUser::HandoverRequestAckParams params)
Receive handover request acknowledge function. 
 
bool haveCellForWhichToReportCGI
have cell for which to report CGI? 
 
AntennaInfoDedicated antennaInfoUl
antenna info UL 
 
ThresholdEutra threshold2
Threshold for event A5. 
 
void DoRecvHandoverRequest(EpcX2SapUser::HandoverRequestParams params)
Receive handover request function.