Manages all the radio bearer information possessed by the ENB RRC for a single UE. More...
#include "lte-enb-rrc.h"
Public Types | |
enum | State { INITIAL_RANDOM_ACCESS = 0, CONNECTION_SETUP, CONNECTION_REJECTED, CONNECTED_NORMALLY, CONNECTION_RECONFIGURATION, CONNECTION_REESTABLISHMENT, HANDOVER_PREPARATION, HANDOVER_JOINING, HANDOVER_PATH_SWITCH, HANDOVER_LEAVING, NUM_STATES } |
The state of the UeManager at the eNB RRC. More... | |
typedef void(* | StateTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const State oldState, const State newState) |
TracedCallback signature for state transition events. More... | |
Public Member Functions | |
UeManager () | |
UeManager (Ptr< LteEnbRrc > rrc, uint16_t rnti, State s, uint8_t componentCarrierId) | |
UeManager constructor. More... | |
virtual | ~UeManager (void) |
void | CmacUeConfigUpdateInd (LteEnbCmacSapUser::UeConfig cmacParams) |
CMAC UE config update indication function. More... | |
void | CompleteSetupUe (LteEnbRrcSapProvider::CompleteSetupUeParameters params) |
Implement the LteEnbRrcSapProvider::CompleteSetupUe interface. More... | |
void | DoReceivePdcpSdu (LtePdcpSapUser::ReceivePdcpSduParameters params) |
Receive PDCP SDU function. More... | |
uint8_t | GetComponentCarrierId () const |
std::vector< EpcX2Sap::ErabToBeSetupItem > | GetErabList () |
uint64_t | GetImsi (void) const |
LteRrcSap::RadioResourceConfigDedicated | GetRadioResourceConfigForHandoverPreparationInfo () |
uint16_t | GetRnti (void) const |
LteRrcSap::RrcConnectionReconfiguration | GetRrcConnectionReconfigurationForHandover () |
uint16_t | GetSrsConfigurationIndex (void) const |
State | GetState () const |
void | PrepareHandover (uint16_t cellId) |
Start the handover preparation and send the handover request. More... | |
void | RecordDataRadioBearersToBeStarted () |
Start all configured data radio bearers. More... | |
void | RecvHandoverPreparationFailure (uint16_t cellId) |
Take the necessary actions in response to the reception of an X2 HO preparation failure message. More... | |
void | RecvHandoverRequestAck (EpcX2SapUser::HandoverRequestAckParams params) |
take the necessary actions in response to the reception of an X2 HANDOVER REQUEST ACK message More... | |
void | RecvMeasurementReport (LteRrcSap::MeasurementReport msg) |
Implement the LteEnbRrcSapProvider::RecvMeasurementReport interface. More... | |
void | RecvRrcConnectionReconfigurationCompleted (LteRrcSap::RrcConnectionReconfigurationCompleted msg) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted interface. More... | |
void | RecvRrcConnectionReestablishmentComplete (LteRrcSap::RrcConnectionReestablishmentComplete msg) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface. More... | |
void | RecvRrcConnectionReestablishmentRequest (LteRrcSap::RrcConnectionReestablishmentRequest msg) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest interface. More... | |
void | RecvRrcConnectionRequest (LteRrcSap::RrcConnectionRequest msg) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionRequest interface. More... | |
void | RecvRrcConnectionSetupCompleted (LteRrcSap::RrcConnectionSetupCompleted msg) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface. More... | |
void | RecvSnStatusTransfer (EpcX2SapUser::SnStatusTransferParams params) |
Take the necessary actions in response to the reception of an X2 SN STATUS TRANSFER message. More... | |
void | RecvUeContextRelease (EpcX2SapUser::UeContextReleaseParams params) |
Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message. More... | |
void | ReleaseDataRadioBearer (uint8_t drbid) |
Release a given radio bearer. More... | |
void | ScheduleRrcConnectionReconfiguration () |
schedule an RRC Connection Reconfiguration procedure with the UE More... | |
void | SendData (uint8_t bid, Ptr< Packet > p) |
Send a data packet over the appropriate Data Radio Bearer. More... | |
void | SendUeContextRelease () |
send the UE CONTEXT RELEASE X2 message to the source eNB, thus successfully terminating an X2 handover procedure More... | |
void | SetImsi (uint64_t imsi) |
Set the IMSI. More... | |
void | SetPdschConfigDedicated (LteRrcSap::PdschConfigDedicated pdschConfigDedicated) |
Configure PdschConfigDedicated (i.e. More... | |
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 handover procedure. More... | |
void | SetSrsConfigurationIndex (uint16_t srsConfIndex) |
Set the SRS configuration index and do the necessary reconfiguration. More... | |
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 signaling with the UE. More... | |
void | StartDataRadioBearers () |
Start the data radio bearers that have been previously recorded to be started using RecordDataRadioBearersToBeStarted() More... | |
Public Member Functions inherited from ns3::Object | |
Object () | |
Constructor. More... | |
virtual | ~Object () |
Destructor. More... | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. More... | |
void | Dispose (void) |
Dispose of this Object. More... | |
AggregateIterator | GetAggregateIterator (void) const |
Get an iterator to the Objects aggregated to this one. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Get the most derived TypeId for this Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (void) const |
Get a pointer to the requested aggregated Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. More... | |
void | Initialize (void) |
Invoke DoInitialize on all Objects aggregated to this one. More... | |
bool | IsInitialized (void) const |
Check if the object has been initialized. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising erros. More... | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. More... | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. More... | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. More... | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. More... | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. More... | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Protected Member Functions | |
virtual void | DoDispose () |
Destructor implementation. More... | |
virtual void | DoInitialize () |
Initialize() implementation. More... | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
Copy an Object. More... | |
virtual void | NotifyNewAggregate (void) |
Notify all Objects aggregated to this one of a new Object being aggregated. More... | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted (void) |
Notifier called once the ObjectBase is fully constructed. More... | |
Private Member Functions | |
uint8_t | AddDataRadioBearerInfo (Ptr< LteDataRadioBearerInfo > radioBearerInfo) |
Add a new LteDataRadioBearerInfo structure to the UeManager. More... | |
uint8_t | Bid2Drbid (uint8_t bid) |
uint8_t | Bid2Lcid (uint8_t bid) |
LteRrcSap::NonCriticalExtensionConfiguration | BuildNonCriticalExtentionConfigurationCa () |
LteRrcSap::RadioResourceConfigDedicated | BuildRadioResourceConfigDedicated () |
LteRrcSap::RrcConnectionReconfiguration | BuildRrcConnectionReconfiguration () |
uint8_t | Drbid2Bid (uint8_t drbid) |
uint8_t | Drbid2Lcid (uint8_t drbid) |
Ptr< LteDataRadioBearerInfo > | GetDataRadioBearerInfo (uint8_t drbid) |
uint8_t | GetNewRrcTransactionIdentifier () |
uint8_t | Lcid2Bid (uint8_t lcid) |
uint8_t | Lcid2Drbid (uint8_t lcid) |
void | RemoveDataRadioBearerInfo (uint8_t drbid) |
remove the LteDataRadioBearerInfo corresponding to a bearer being released More... | |
void | SwitchToState (State s) |
Switch the UeManager to the given state. More... | |
Private Attributes | |
bool | m_caSupportConfigured |
Define if the Carrier Aggregation was already configure for the current UE on not. More... | |
uint8_t | m_componentCarrierId |
ID of the primary CC for this UE. More... | |
EventId | m_connectionRejectedTimeout |
The delay before a connection rejected timeout occurs. More... | |
EventId | m_connectionRequestTimeout |
Time limit before a connection request timeout occurs. More... | |
EventId | m_connectionSetupTimeout |
Time limit before a connection setup timeout occurs. More... | |
std::map< uint8_t, Ptr< LteDataRadioBearerInfo > > | m_drbMap |
The DataRadioBearerMap attribute. More... | |
LtePdcpSapUser * | m_drbPdcpSapUser |
DRB PDCP SAP user. More... | |
std::list< uint8_t > | m_drbsToBeStarted |
DRBS to be started. More... | |
EventId | m_handoverJoiningTimeout |
Time limit before a handover joining timeout occurs. More... | |
EventId | m_handoverLeavingTimeout |
Time limit before a handover leaving timeout occurs. More... | |
uint64_t | m_imsi |
International Mobile Subscriber Identity assigned to this UE. More... | |
uint8_t | m_lastAllocatedDrbid |
last allocated Data Radio Bearer ID More... | |
uint8_t | m_lastRrcTransactionIdentifier |
last RRC transaction identifier More... | |
bool | m_needPhyMacConfiguration |
need Phy MAC configuration More... | |
bool | m_pendingRrcConnectionReconfiguration |
pending RRC connection reconfiguration More... | |
bool | m_pendingStartDataRadioBearers |
Pending start data radio bearers. More... | |
LteRrcSap::PhysicalConfigDedicated | m_physicalConfigDedicated |
physical config dedicated More... | |
uint16_t | m_rnti |
The C-RNTI attribute. More... | |
Ptr< LteEnbRrc > | m_rrc |
Pointer to the parent eNodeB RRC. More... | |
uint16_t | m_sourceCellId |
source cell ID More... | |
uint16_t | m_sourceX2apId |
source X2 ap ID More... | |
Ptr< LteSignalingRadioBearerInfo > | m_srb0 |
The Srb0 attribute. More... | |
Ptr< LteSignalingRadioBearerInfo > | m_srb1 |
The Srb1 attribute. More... | |
State | m_state |
The current UeManager state. More... | |
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > | m_stateTransitionTrace |
The StateTransition trace source. More... | |
uint16_t | m_targetCellId |
target cell ID More... | |
Friends | |
class | LtePdcpSpecificLtePdcpSapUser< UeManager > |
allow LtePdcpSpecificLtePdcpSapUser<UeManager> class friend access More... | |
Additional Inherited Members | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
Manages all the radio bearer information possessed by the ENB RRC for a single UE.
ns3::UeManager is accessible through the following paths with Config::Set and Config::Connect:
Size of this type is 336 bytes (on a 64-bit architecture).
Definition at line 72 of file lte-enb-rrc.h.
typedef void(* ns3::UeManager::StateTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const State oldState, const State newState) |
TracedCallback signature for state transition events.
[in] | imsi | |
[in] | cellId | |
[in] | rnti | |
[in] | oldState | |
[in] | newState |
Definition at line 368 of file lte-enb-rrc.h.
The state of the UeManager at the eNB RRC.
Definition at line 84 of file lte-enb-rrc.h.
ns3::UeManager::UeManager | ( | ) |
Definition at line 139 of file lte-enb-rrc.cc.
References NS_FATAL_ERROR.
ns3::UeManager::UeManager | ( | Ptr< LteEnbRrc > | rrc, |
uint16_t | rnti, | ||
State | s, | ||
uint8_t | componentCarrierId | ||
) |
UeManager constructor.
rrc | pointer to the LteEnbRrc holding this UeManager |
rnti | RNTI of the UE |
s | initial state of the UeManager |
componentCarrierId | primary component carrier ID |
Definition at line 145 of file lte-enb-rrc.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 302 of file lte-enb-rrc.cc.
|
private |
Add a new LteDataRadioBearerInfo structure to the UeManager.
radioBearerInfo |
Definition at line 1209 of file lte-enb-rrc.cc.
References m_drbMap, m_lastAllocatedDrbid, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by SetupDataRadioBearer().
|
private |
bid | an EPS Bearer Identifier |
Definition at line 1351 of file lte-enb-rrc.cc.
Referenced by SendData().
|
private |
bid | an EPS Bearer Identifier |
Definition at line 1339 of file lte-enb-rrc.cc.
Referenced by SendData().
|
private |
Definition at line 1405 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::UlPowerControlCommonSCell::alpha, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::antennaInfo, ns3::LteRrcSap::NonUlConfiguration::antennaInfoCommon, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::antennaInfoUl, ns3::LteRrcSap::AntennaInfoCommon::antennaPortsCount, ns3::LteRrcSap::SCellToAddMod::cellIdentification, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::crossCarrierSchedulingConfig, ns3::LteRrcSap::PdschConfigDedicated::dB0, ns3::LteRrcSap::NonUlConfiguration::dlBandwidth, ns3::LteRrcSap::CellIdentification::dlCarrierFreq, GetSrsConfigurationIndex(), ns3::LteRrcSap::PhysicalConfigDedicatedSCell::haveAntennaInfoDedicated, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::haveAntennaInfoUlDedicated, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::haveNonUlConfiguration, ns3::LteRrcSap::RadioResourceConfigCommonSCell::haveNonUlConfiguration, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::havePdschConfigDedicated, ns3::LteRrcSap::SCellToAddMod::haveRadioResourceConfigDedicatedSCell, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::haveSoundingRsUlConfigDedicated, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::haveUlConfiguration, ns3::LteRrcSap::RadioResourceConfigCommonSCell::haveUlConfiguration, ns3::LteRrcSap::PrachConfigSCell::index, m_componentCarrierId, m_rrc, ns3::LteRrcSap::RadioResourceConfigCommonSCell::nonUlConfiguration, ns3::LteRrcSap::PuschConfigDedicatedSCell::nPuschIdentity, NS_LOG_FUNCTION, ns3::LteRrcSap::PdschConfigDedicated::pa, ns3::LteRrcSap::PdschConfigCommon::pb, ns3::LteRrcSap::NonUlConfiguration::pdschConfigCommon, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::pdschConfigDedicated, ns3::LteRrcSap::CellIdentification::physCellId, ns3::LteRrcSap::RadioResourceConfigDedicatedSCell::physicalConfigDedicatedSCell, ns3::LteRrcSap::UlConfiguration::prachConfigSCell, ns3::LteRrcSap::UlPowerControlDedicatedSCell::pSrsOffset, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::pushConfigDedicatedSCell, ns3::LteRrcSap::SCellToAddMod::radioResourceConfigCommonSCell, ns3::LteRrcSap::SCellToAddMod::radioResourceConfigDedicateSCell, ns3::LteRrcSap::PdschConfigCommon::referenceSignalPower, ns3::LteRrcSap::SCellToAddMod::sCellIndex, ns3::LteRrcSap::NonCriticalExtensionConfiguration::sCellsToAddModList, ns3::LteRrcSap::SoundingRsUlConfigDedicated::SETUP, ns3::LteRrcSap::UlConfiguration::soundingRsUlConfigCommon, ns3::LteRrcSap::PhysicalConfigDedicatedSCell::soundingRsUlConfigDedicated, ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsBandwidth, ns3::LteRrcSap::SoundingRsUlConfigCommon::srsBandwidthConfig, ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex, ns3::LteRrcSap::SoundingRsUlConfigCommon::srsSubframeConfig, ns3::LteRrcSap::AntennaInfoDedicated::transmissionMode, ns3::LteRrcSap::SoundingRsUlConfigDedicated::type, ns3::LteRrcSap::FreqInfo::ulBandwidth, ns3::LteRrcSap::FreqInfo::ulCarrierFreq, ns3::LteRrcSap::RadioResourceConfigCommonSCell::ulConfiguration, ns3::LteRrcSap::UlConfiguration::ulFreqInfo, ns3::LteRrcSap::UlConfiguration::ulPowerControlCommonSCell, and ns3::LteRrcSap::PhysicalConfigDedicatedSCell::ulPowerControlDedicatedSCell.
Referenced by BuildRrcConnectionReconfiguration().
|
private |
Definition at line 1281 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::DrbToAddMod::drbIdentity, ns3::LteRrcSap::RadioResourceConfigDedicated::drbToAddModList, ns3::LteRrcSap::DrbToAddMod::epsBearerIdentity, ns3::LteRrcSap::RadioResourceConfigDedicated::havePhysicalConfigDedicated, ns3::LteRrcSap::SrbToAddMod::logicalChannelConfig, ns3::LteRrcSap::DrbToAddMod::logicalChannelConfig, ns3::LteRrcSap::DrbToAddMod::logicalChannelIdentity, m_drbMap, m_physicalConfigDedicated, m_srb1, ns3::LteRrcSap::RadioResourceConfigDedicated::physicalConfigDedicated, ns3::LteRrcSap::DrbToAddMod::rlcConfig, ns3::LteRrcSap::SrbToAddMod::srbIdentity, and ns3::LteRrcSap::RadioResourceConfigDedicated::srbToAddModList.
Referenced by BuildRrcConnectionReconfiguration(), GetRadioResourceConfigForHandoverPreparationInfo(), RecvRrcConnectionReestablishmentRequest(), and RecvRrcConnectionRequest().
|
private |
Definition at line 1254 of file lte-enb-rrc.cc.
References BuildNonCriticalExtentionConfigurationCa(), BuildRadioResourceConfigDedicated(), GetNewRrcTransactionIdentifier(), ns3::LteRrcSap::RrcConnectionReconfiguration::haveMeasConfig, ns3::LteRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, ns3::LteRrcSap::RrcConnectionReconfiguration::haveNonCriticalExtension, ns3::LteRrcSap::RrcConnectionReconfiguration::haveRadioResourceConfigDedicated, m_caSupportConfigured, m_rrc, ns3::LteRrcSap::RrcConnectionReconfiguration::measConfig, ns3::LteRrcSap::RrcConnectionReconfiguration::nonCriticalExtension, NS_LOG_FUNCTION, ns3::LteRrcSap::RrcConnectionReconfiguration::radioResourceConfigDedicated, and ns3::LteRrcSap::RrcConnectionReconfiguration::rrcTransactionIdentifier.
Referenced by GetRrcConnectionReconfigurationForHandover(), and ScheduleRrcConnectionReconfiguration().
void ns3::UeManager::CmacUeConfigUpdateInd | ( | LteEnbCmacSapUser::UeConfig | cmacParams | ) |
CMAC UE config update indication function.
cmacParams | the UE config parameters |
Definition at line 1112 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::PhysicalConfigDedicated::antennaInfo, m_needPhyMacConfiguration, m_physicalConfigDedicated, m_rnti, ns3::LteEnbCmacSapUser::UeConfig::m_transmissionMode, NS_LOG_FUNCTION, ScheduleRrcConnectionReconfiguration(), and ns3::LteRrcSap::AntennaInfoDedicated::transmissionMode.
void ns3::UeManager::CompleteSetupUe | ( | LteEnbRrcSapProvider::CompleteSetupUeParameters | params | ) |
Implement the LteEnbRrcSapProvider::CompleteSetupUe interface.
params | CompleteSetupUeParameters |
Definition at line 850 of file lte-enb-rrc.cc.
References m_srb0, m_srb1, NS_LOG_FUNCTION, ns3::LteEnbRrcSapProvider::CompleteSetupUeParameters::srb0SapUser, and ns3::LteEnbRrcSapProvider::CompleteSetupUeParameters::srb1SapUser.
|
protectedvirtual |
Destructor implementation.
This method is called by Dispose() or by the Object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.
It is safe to call GetObject() from within this method.
Reimplemented from ns3::Object.
Definition at line 307 of file lte-enb-rrc.cc.
References m_drbMap, m_drbPdcpSapUser, and m_rrc.
|
protectedvirtual |
Initialize() implementation.
This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.
Reimplemented from ns3::Object.
Definition at line 164 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::PhysicalConfigDedicated::antennaInfo, ns3::LteEnbRrc::ConnectionRequestTimeout(), ns3::LteRrcSap::PdschConfigDedicated::dB0, ns3::EpsBearer::GBR_CONV_VOICE, ns3::LteEnbCmacSapProvider::LcInfo::gbrDl, ns3::LteEnbCmacSapProvider::LcInfo::gbrUl, ns3::LteRlc::GetLteMacSapUser(), ns3::LteRlc::GetLteRlcSapProvider(), HANDOVER_JOINING, ns3::LteEnbRrc::HandoverJoiningTimeout(), ns3::LteRrcSap::PhysicalConfigDedicated::haveAntennaInfoDedicated, ns3::LteRrcSap::PhysicalConfigDedicated::havePdschConfigDedicated, ns3::LteRrcSap::PhysicalConfigDedicated::haveSoundingRsUlConfigDedicated, INITIAL_RANDOM_ACCESS, ns3::LteEnbCmacSapProvider::LcInfo::isGbr, ns3::LteEnbCmacSapProvider::LcInfo::lcGroup, ns3::LteEnbCmacSapProvider::LcInfo::lcId, m_caSupportConfigured, m_componentCarrierId, m_connectionRequestTimeout, m_drbPdcpSapUser, m_handoverJoiningTimeout, m_physicalConfigDedicated, ns3::LteEnbCmacSapProvider::UeConfig::m_rnti, m_rnti, m_rrc, m_srb0, m_srb1, m_state, ns3::LteEnbCmacSapProvider::UeConfig::m_transmissionMode, ns3::LteEnbCmacSapProvider::LcInfo::mbrDl, ns3::LteEnbCmacSapProvider::LcInfo::mbrUl, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::LteRrcSap::PdschConfigDedicated::pa, ns3::LteRrcSap::PhysicalConfigDedicated::pdschConfigDedicated, ns3::LteEnbCmacSapProvider::LcInfo::qci, ns3::LteEnbCmacSapProvider::LcInfo::rnti, ns3::Simulator::Schedule(), ns3::LteRlc::SetLcId(), ns3::LteRlc::SetLteMacSapProvider(), ns3::LteRlc::SetLteRlcSapUser(), ns3::LteRlc::SetRnti(), ns3::LteRrcSap::SoundingRsUlConfigDedicated::SETUP, ns3::LteRrcSap::PhysicalConfigDedicated::soundingRsUlConfigDedicated, ns3::LteEnbRrcSapUser::SetupUeParameters::srb0SapProvider, ns3::LteEnbRrcSapUser::SetupUeParameters::srb1SapProvider, ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsBandwidth, ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex, ns3::ToString(), ns3::LteRrcSap::AntennaInfoDedicated::transmissionMode, and ns3::LteRrcSap::SoundingRsUlConfigDedicated::type.
void ns3::UeManager::DoReceivePdcpSdu | ( | LtePdcpSapUser::ReceivePdcpSduParameters | params | ) |
Receive PDCP SDU function.
params | the receive PDCP SDU parameters |
Definition at line 1129 of file lte-enb-rrc.cc.
References ns3::Packet::AddPacketTag(), ns3::LtePdcpSapUser::ReceivePdcpSduParameters::lcid, Lcid2Bid(), m_rrc, NS_LOG_FUNCTION, ns3::LtePdcpSapUser::ReceivePdcpSduParameters::pdcpSdu, ns3::LtePdcpSapUser::ReceivePdcpSduParameters::rnti, ns3::EpsBearerTag::SetBid(), and ns3::EpsBearerTag::SetRnti().
|
private |
drbid | Data Radio Bearer Id |
Definition at line 1345 of file lte-enb-rrc.cc.
Referenced by SetupDataRadioBearer().
|
private |
drbid | a Data Radio Bearer Id |
Definition at line 1327 of file lte-enb-rrc.cc.
Referenced by ReleaseDataRadioBearer(), and SetupDataRadioBearer().
uint8_t ns3::UeManager::GetComponentCarrierId | ( | ) | const |
Definition at line 1157 of file lte-enb-rrc.cc.
References m_componentCarrierId.
|
private |
drbid | the Data Radio Bearer id |
Definition at line 1233 of file lte-enb-rrc.cc.
References m_drbMap, NS_ABORT_IF, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by SendData().
std::vector< EpcX2Sap::ErabToBeSetupItem > ns3::UeManager::GetErabList | ( | ) |
Definition at line 758 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::ErabToBeSetupItem::dlForwarding, ns3::EpcX2Sap::ErabToBeSetupItem::erabId, ns3::EpcX2Sap::ErabToBeSetupItem::erabLevelQosParameters, ns3::EpcX2Sap::ErabToBeSetupItem::gtpTeid, m_drbMap, NS_LOG_FUNCTION, and ns3::EpcX2Sap::ErabToBeSetupItem::transportLayerAddress.
Referenced by PrepareHandover().
uint64_t ns3::UeManager::GetImsi | ( | void | ) | const |
Definition at line 1151 of file lte-enb-rrc.cc.
References m_imsi.
Referenced by LteX2HandoverTestCase::CheckConnected(), LteRrcConnectionEstablishmentTestCase::CheckConnected(), LteX2HandoverMeasuresTestCase::CheckConnected(), and ns3::LteStatsCalculator::FindImsiFromEnbRlcPath().
|
private |
Definition at line 1312 of file lte-enb-rrc.cc.
References m_lastRrcTransactionIdentifier.
Referenced by BuildRrcConnectionReconfiguration(), RecvRrcConnectionReestablishmentRequest(), and RecvRrcConnectionRequest().
LteRrcSap::RadioResourceConfigDedicated ns3::UeManager::GetRadioResourceConfigForHandoverPreparationInfo | ( | ) |
Definition at line 686 of file lte-enb-rrc.cc.
References BuildRadioResourceConfigDedicated(), and NS_LOG_FUNCTION.
Referenced by PrepareHandover().
uint16_t ns3::UeManager::GetRnti | ( | void | ) | const |
Definition at line 1145 of file lte-enb-rrc.cc.
References m_rnti.
LteRrcSap::RrcConnectionReconfiguration ns3::UeManager::GetRrcConnectionReconfigurationForHandover | ( | ) |
Definition at line 693 of file lte-enb-rrc.cc.
References BuildRrcConnectionReconfiguration(), and NS_LOG_FUNCTION.
uint16_t ns3::UeManager::GetSrsConfigurationIndex | ( | void | ) | const |
Definition at line 1163 of file lte-enb-rrc.cc.
References m_physicalConfigDedicated, ns3::LteRrcSap::PhysicalConfigDedicated::soundingRsUlConfigDedicated, and ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex.
Referenced by BuildNonCriticalExtentionConfigurationCa().
UeManager::State ns3::UeManager::GetState | ( | void | ) | const |
Definition at line 1191 of file lte-enb-rrc.cc.
References m_state.
Referenced by LteX2HandoverTestCase::CheckConnected(), LteRrcConnectionEstablishmentTestCase::CheckConnected(), LteX2HandoverMeasuresTestCase::CheckConnected(), and LteRrcConnectionEstablishmentTestCase::CheckNotConnected().
|
static |
Get the type ID.
Definition at line 320 of file lte-enb-rrc.cc.
References ns3::TypeId::ATTR_GET, m_drbMap, m_rnti, m_srb0, m_srb1, m_stateTransitionTrace, ns3::MakeObjectMapAccessor(), ns3::MakePointerAccessor(), ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), and ns3::TypeId::SetParent().
|
private |
lcid | a Logical Channel Identifier |
Definition at line 1332 of file lte-enb-rrc.cc.
References NS_ASSERT.
Referenced by DoReceivePdcpSdu().
|
private |
lcid | a Logical Channel Identifier |
Definition at line 1320 of file lte-enb-rrc.cc.
References NS_ASSERT.
void ns3::UeManager::PrepareHandover | ( | uint16_t | cellId | ) |
Start the handover preparation and send the handover request.
cellId | id of the target cell |
Definition at line 583 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::HandoverPreparationInfo::asConfig, ns3::EpcX2Sap::HandoverRequestParams::bearers, ns3::EpcX2Sap::HandoverRequestParams::cause, ns3::LteRrcSap::SystemInformationBlockType1::cellAccessRelatedInfo, ns3::LteRrcSap::CellAccessRelatedInfo::cellIdentity, CONNECTED_NORMALLY, ns3::LteRrcSap::CellAccessRelatedInfo::csgIdentity, ns3::LteRrcSap::CellAccessRelatedInfo::csgIndication, ns3::LteRrcSap::MasterInformationBlock::dlBandwidth, ns3::LteRrcSap::SystemInformationBlockType2::freqInfo, GetErabList(), GetRadioResourceConfigForHandoverPreparationInfo(), HANDOVER_PREPARATION, ns3::EpcX2Sap::HandoverDesirableForRadioReason, m_componentCarrierId, m_imsi, m_rnti, m_rrc, m_state, m_targetCellId, ns3::EpcX2Sap::HandoverRequestParams::mmeUeS1apId, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC(), ns3::LteEnbCmacSapProvider::RachConfig::numberOfRaPreambles, ns3::LteRrcSap::PreambleInfo::numberOfRaPreambles, ns3::EpcX2Sap::HandoverRequestParams::oldEnbUeX2apId, ns3::LteRrcSap::PlmnIdentityInfo::plmnIdentity, ns3::LteRrcSap::CellAccessRelatedInfo::plmnIdentityInfo, ns3::LteRrcSap::RachConfigCommon::preambleInfo, ns3::LteEnbCmacSapProvider::RachConfig::preambleTransMax, ns3::LteRrcSap::RaSupervisionInfo::preambleTransMax, ns3::LteRrcSap::RadioResourceConfigCommonSib::rachConfigCommon, ns3::LteRrcSap::SystemInformationBlockType2::radioResourceConfigCommon, ns3::LteEnbCmacSapProvider::RachConfig::raResponseWindowSize, ns3::LteRrcSap::RaSupervisionInfo::raResponseWindowSize, ns3::LteRrcSap::RachConfigCommon::raSupervisionInfo, ns3::EpcX2Sap::HandoverRequestParams::rrcContext, ns3::EpcX2Sap::HandoverRequestParams::sourceCellId, ns3::LteRrcSap::AsConfig::sourceDlCarrierFreq, ns3::LteRrcSap::AsConfig::sourceMasterInformationBlock, ns3::LteRrcSap::AsConfig::sourceMeasConfig, ns3::LteRrcSap::AsConfig::sourceRadioResourceConfig, ns3::LteRrcSap::AsConfig::sourceSystemInformationBlockType1, ns3::LteRrcSap::AsConfig::sourceSystemInformationBlockType2, ns3::LteRrcSap::AsConfig::sourceUeIdentity, SwitchToState(), ns3::LteRrcSap::MasterInformationBlock::systemFrameNumber, ns3::EpcX2Sap::HandoverRequestParams::targetCellId, ns3::ToString(), ns3::EpcX2Sap::HandoverRequestParams::ueAggregateMaxBitRateDownlink, ns3::EpcX2Sap::HandoverRequestParams::ueAggregateMaxBitRateUplink, ns3::LteRrcSap::FreqInfo::ulBandwidth, and ns3::LteRrcSap::FreqInfo::ulCarrierFreq.
void ns3::UeManager::RecordDataRadioBearersToBeStarted | ( | ) |
Start all configured data radio bearers.
It is safe to call this method if any bearer had been already started previously.
Definition at line 469 of file lte-enb-rrc.cc.
References m_drbMap, m_drbsToBeStarted, m_rnti, and NS_LOG_FUNCTION.
Referenced by RecvRrcConnectionRequest(), and ScheduleRrcConnectionReconfiguration().
void ns3::UeManager::RecvHandoverPreparationFailure | ( | uint16_t | cellId | ) |
Take the necessary actions in response to the reception of an X2 HO preparation failure message.
cellId | id of the target cell |
Definition at line 802 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, HANDOVER_PREPARATION, m_state, m_targetCellId, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, SwitchToState(), and ns3::ToString().
void ns3::UeManager::RecvHandoverRequestAck | ( | EpcX2SapUser::HandoverRequestAckParams | params | ) |
take the necessary actions in response to the reception of an X2 HANDOVER REQUEST ACK message
params |
Definition at line 639 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::HandoverRequestAckParams::admittedBearers, ns3::EpcX2Sap::ErabsSubjectToStatusTransferItem::dlPdcpSn, ns3::EpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, HANDOVER_LEAVING, ns3::LteEnbRrc::HandoverLeavingTimeout(), ns3::LteRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, m_componentCarrierId, m_drbMap, m_handoverLeavingTimeout, m_imsi, m_rnti, m_rrc, ns3::LteRrcSap::RrcConnectionReconfiguration::mobilityControlInfo, ns3::EpcX2Sap::HandoverRequestAckParams::newEnbUeX2apId, ns3::EpcX2Sap::SnStatusTransferParams::newEnbUeX2apId, ns3::EpcX2Sap::HandoverRequestAckParams::notAdmittedBearers, NS_ASSERT, NS_ASSERT_MSG(), NS_LOG_FUNCTION, ns3::EpcX2Sap::HandoverRequestAckParams::oldEnbUeX2apId, ns3::EpcX2Sap::SnStatusTransferParams::oldEnbUeX2apId, ns3::EpcX2Sap::HandoverRequestAckParams::rrcContext, ns3::LtePdcp::Status::rxSn, ns3::Simulator::Schedule(), ns3::EpcX2Sap::HandoverRequestAckParams::sourceCellId, ns3::EpcX2Sap::SnStatusTransferParams::sourceCellId, SwitchToState(), ns3::EpcX2Sap::HandoverRequestAckParams::targetCellId, ns3::EpcX2Sap::SnStatusTransferParams::targetCellId, ns3::LteRrcSap::MobilityControlInfo::targetPhysCellId, ns3::LtePdcp::Status::txSn, and ns3::EpcX2Sap::ErabsSubjectToStatusTransferItem::ulPdcpSn.
void ns3::UeManager::RecvMeasurementReport | ( | LteRrcSap::MeasurementReport | msg | ) |
Implement the LteEnbRrcSapProvider::RecvMeasurementReport interface.
msg | the measrurement report |
ToDo: implement on Ffr algorithm the code to properly parsing the new measResults message format alternatevely it is needed to 'repack' properly the measResults message before sending to Ffr
Report any measurements to ComponentCarrierManager, so it can react to any change or activate the SCC
Definition at line 1038 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::MeasResults::haveMeasResultNeighCells, ns3::LteRrcSap::MeasResults::haveScellsMeas, m_componentCarrierId, m_imsi, m_rnti, m_rrc, ns3::LteRrcSap::MeasResults::measId, ns3::LteRrcSap::MeasResults::measResultListEutra, ns3::LteRrcSap::MeasurementReport::measResults, ns3::LteRrcSap::MeasResultServFreqList::measResultScell, ns3::LteRrcSap::MeasResults::measScellResultList, NS_LOG_FUNCTION, NS_LOG_LOGIC(), ns3::LteRrcSap::MeasResults::rsrpResult, and ns3::LteRrcSap::MeasResults::rsrqResult.
void ns3::UeManager::RecvRrcConnectionReconfigurationCompleted | ( | LteRrcSap::RrcConnectionReconfigurationCompleted | msg | ) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted interface.
msg | RRC connection reconfiguration completed message |
Definition at line 939 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::PhysicalConfigDedicated::antennaInfo, ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::bearersToBeSwitched, ns3::EventId::Cancel(), ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::cellId, CONNECTED_NORMALLY, CONNECTION_RECONFIGURATION, ns3::LteRrcSap::ConvertPdschConfigDedicated2Double(), ns3::EpcEnbS1SapProvider::BearerToBeSwitched::epsBearerId, HANDOVER_JOINING, HANDOVER_LEAVING, HANDOVER_PATH_SWITCH, m_componentCarrierId, m_drbMap, m_handoverJoiningTimeout, m_imsi, m_needPhyMacConfiguration, m_physicalConfigDedicated, ns3::LteEnbCmacSapProvider::UeConfig::m_rnti, m_rnti, m_rrc, m_state, ns3::LteEnbCmacSapProvider::UeConfig::m_transmissionMode, ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::mmeUeS1Id, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::LteRrcSap::PhysicalConfigDedicated::pdschConfigDedicated, ns3::EpcEnbS1SapProvider::PathSwitchRequestParameters::rnti, StartDataRadioBearers(), SwitchToState(), ns3::EpcEnbS1SapProvider::BearerToBeSwitched::teid, ns3::ToString(), and ns3::LteRrcSap::AntennaInfoDedicated::transmissionMode.
void ns3::UeManager::RecvRrcConnectionReestablishmentComplete | ( | LteRrcSap::RrcConnectionReestablishmentComplete | msg | ) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface.
msg | the RRC connection reestablsihment complete message |
Definition at line 1031 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, NS_LOG_FUNCTION, and SwitchToState().
void ns3::UeManager::RecvRrcConnectionReestablishmentRequest | ( | LteRrcSap::RrcConnectionReestablishmentRequest | msg | ) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest interface.
msg | the RRC connection reestablishment request message |
Definition at line 1006 of file lte-enb-rrc.cc.
References BuildRadioResourceConfigDedicated(), ns3::EventId::Cancel(), CONNECTED_NORMALLY, CONNECTION_REESTABLISHMENT, GetNewRrcTransactionIdentifier(), HANDOVER_LEAVING, m_handoverLeavingTimeout, m_rnti, m_rrc, m_state, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::LteRrcSap::RrcConnectionReestablishment::radioResourceConfigDedicated, ns3::LteRrcSap::RrcConnectionReestablishment::rrcTransactionIdentifier, SwitchToState(), and ns3::ToString().
void ns3::UeManager::RecvRrcConnectionRequest | ( | LteRrcSap::RrcConnectionRequest | msg | ) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionRequest interface.
msg | the RRC connection request message |
Definition at line 858 of file lte-enb-rrc.cc.
References BuildRadioResourceConfigDedicated(), ns3::EventId::Cancel(), CONNECTION_REJECTED, CONNECTION_SETUP, ns3::LteEnbRrc::ConnectionRejectedTimeout(), ns3::LteEnbRrc::ConnectionSetupTimeout(), GetNewRrcTransactionIdentifier(), INITIAL_RANDOM_ACCESS, m_connectionRejectedTimeout, m_connectionRequestTimeout, m_connectionSetupTimeout, m_imsi, m_rnti, m_rrc, m_state, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::LteRrcSap::RrcConnectionSetup::radioResourceConfigDedicated, RecordDataRadioBearersToBeStarted(), ns3::LteRrcSap::RrcConnectionSetup::rrcTransactionIdentifier, ns3::Simulator::Schedule(), SwitchToState(), ns3::ToString(), ns3::LteRrcSap::RrcConnectionRequest::ueIdentity, and ns3::LteRrcSap::RrcConnectionReject::waitTime.
void ns3::UeManager::RecvRrcConnectionSetupCompleted | ( | LteRrcSap::RrcConnectionSetupCompleted | msg | ) |
Implement the LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface.
msg | RRC connection setup completed message |
Definition at line 911 of file lte-enb-rrc.cc.
References ns3::EventId::Cancel(), CONNECTED_NORMALLY, CONNECTION_SETUP, m_caSupportConfigured, m_componentCarrierId, m_connectionSetupTimeout, m_imsi, m_pendingRrcConnectionReconfiguration, m_pendingStartDataRadioBearers, m_rnti, m_rrc, m_state, NS_FATAL_ERROR, NS_LOG_FUNCTION, StartDataRadioBearers(), SwitchToState(), and ns3::ToString().
void ns3::UeManager::RecvSnStatusTransfer | ( | EpcX2SapUser::SnStatusTransferParams | params | ) |
Take the necessary actions in response to the reception of an X2 SN STATUS TRANSFER message.
params | the SN STATUS |
Definition at line 820 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, and NS_LOG_FUNCTION.
void ns3::UeManager::RecvUeContextRelease | ( | EpcX2SapUser::UeContextReleaseParams | params | ) |
Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message.
params | the SN STATUS |
Definition at line 839 of file lte-enb-rrc.cc.
References ns3::EventId::Cancel(), HANDOVER_LEAVING, m_handoverLeavingTimeout, m_state, NS_ASSERT_MSG(), NS_LOG_FUNCTION, and ns3::ToString().
void ns3::UeManager::ReleaseDataRadioBearer | ( | uint8_t | drbid | ) |
Release a given radio bearer.
drbid | the data radio bearer id of the bearer to be released |
Definition at line 501 of file lte-enb-rrc.cc.
References Drbid2Lcid(), ns3::LteRrcSap::RadioResourceConfigDedicated::drbToReleaseList, ns3::LteRrcSap::RrcConnectionReconfiguration::haveMeasConfig, ns3::LteRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, ns3::LteRrcSap::RrcConnectionReconfiguration::haveNonCriticalExtension, ns3::LteRrcSap::RadioResourceConfigDedicated::havePhysicalConfigDedicated, ns3::LteRrcSap::RrcConnectionReconfiguration::haveRadioResourceConfigDedicated, m_drbMap, m_physicalConfigDedicated, m_rnti, m_rrc, NS_ASSERT_MSG(), NS_LOG_FUNCTION, ns3::LteRrcSap::RadioResourceConfigDedicated::physicalConfigDedicated, and ns3::LteRrcSap::RrcConnectionReconfiguration::radioResourceConfigDedicated.
|
private |
remove the LteDataRadioBearerInfo corresponding to a bearer being released
drbid | the Data Radio Bearer id |
Definition at line 1244 of file lte-enb-rrc.cc.
References m_drbMap, NS_ASSERT_MSG(), and NS_LOG_FUNCTION.
void ns3::UeManager::ScheduleRrcConnectionReconfiguration | ( | ) |
schedule an RRC Connection Reconfiguration procedure with the UE
Definition at line 550 of file lte-enb-rrc.cc.
References BuildRrcConnectionReconfiguration(), CONNECTED_NORMALLY, CONNECTION_RECONFIGURATION, CONNECTION_REESTABLISHMENT, CONNECTION_SETUP, HANDOVER_JOINING, HANDOVER_LEAVING, HANDOVER_PREPARATION, INITIAL_RANDOM_ACCESS, m_pendingRrcConnectionReconfiguration, m_rnti, m_rrc, m_state, NS_FATAL_ERROR, NS_LOG_FUNCTION, RecordDataRadioBearersToBeStarted(), SwitchToState(), and ns3::ToString().
Referenced by CmacUeConfigUpdateInd(), SetPdschConfigDedicated(), SetSrsConfigurationIndex(), SetupDataRadioBearer(), and SwitchToState().
Send a data packet over the appropriate Data Radio Bearer.
bid | the corresponding EPS Bearer ID |
p | the packet |
Definition at line 700 of file lte-enb-rrc.cc.
References Bid2Drbid(), Bid2Lcid(), CONNECTED_NORMALLY, CONNECTION_RECONFIGURATION, CONNECTION_REESTABLISHMENT, CONNECTION_SETUP, GetDataRadioBearerInfo(), ns3::EpcX2Sap::UeDataParams::gtpTeid, HANDOVER_JOINING, HANDOVER_LEAVING, HANDOVER_PATH_SWITCH, HANDOVER_PREPARATION, INITIAL_RANDOM_ACCESS, ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::lcid, m_componentCarrierId, m_drbMap, m_rnti, m_rrc, m_state, m_targetCellId, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC(), NS_LOG_WARN, ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::pdcpSdu, ns3::LtePdcpSapProvider::TransmitPdcpSduParameters::rnti, ns3::EpcX2Sap::UeDataParams::sourceCellId, ns3::EpcX2Sap::UeDataParams::targetCellId, ns3::ToString(), ns3::LtePdcpSapProvider::TransmitPdcpSdu(), and ns3::EpcX2Sap::UeDataParams::ueData.
void ns3::UeManager::SendUeContextRelease | ( | ) |
send the UE CONTEXT RELEASE X2 message to the source eNB, thus successfully terminating an X2 handover procedure
Definition at line 778 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, HANDOVER_PATH_SWITCH, m_componentCarrierId, m_imsi, m_rnti, m_rrc, m_sourceCellId, m_sourceX2apId, m_state, m_targetCellId, ns3::EpcX2Sap::UeContextReleaseParams::newEnbUeX2apId, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::EpcX2Sap::UeContextReleaseParams::oldEnbUeX2apId, ns3::EpcX2Sap::UeContextReleaseParams::sourceCellId, SwitchToState(), ns3::EpcX2Sap::UeContextReleaseParams::targetCellId, and ns3::ToString().
void ns3::UeManager::SetImsi | ( | uint64_t | imsi | ) |
Set the IMSI.
imsi | the IMSI |
Definition at line 360 of file lte-enb-rrc.cc.
References m_imsi.
void ns3::UeManager::SetPdschConfigDedicated | ( | LteRrcSap::PdschConfigDedicated | pdschConfigDedicated | ) |
Configure PdschConfigDedicated (i.e.
P_A value) for UE and start RrcConnectionReconfiguration to inform UE about new PdschConfigDedicated
pdschConfigDedicated | new pdschConfigDedicated (i.e. P_A value) to be set |
Definition at line 1197 of file lte-enb-rrc.cc.
References m_needPhyMacConfiguration, m_physicalConfigDedicated, NS_LOG_FUNCTION, ns3::LteRrcSap::PhysicalConfigDedicated::pdschConfigDedicated, and ScheduleRrcConnectionReconfiguration().
void ns3::UeManager::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 handover procedure.
sourceCellId | |
sourceX2apId |
Definition at line 353 of file lte-enb-rrc.cc.
References m_sourceCellId, and m_sourceX2apId.
void ns3::UeManager::SetSrsConfigurationIndex | ( | uint16_t | srsConfIndex | ) |
Set the SRS configuration index and do the necessary reconfiguration.
srsConfIndex |
Definition at line 1169 of file lte-enb-rrc.cc.
References INITIAL_RANDOM_ACCESS, m_physicalConfigDedicated, m_rnti, m_rrc, m_state, NS_LOG_FUNCTION, ScheduleRrcConnectionReconfiguration(), ns3::LteRrcSap::PhysicalConfigDedicated::soundingRsUlConfigDedicated, and ns3::LteRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex.
void ns3::UeManager::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 signaling with the UE.
bearer | the QoS characteristics of the bearer |
bearerId | the EPS bearer identifier |
gtpTeid | S1-bearer GTP tunnel endpoint identifier, see 36.423 9.2.1 |
transportLayerAddress | IP Address of the SGW, see 36.423 9.2.1 |
Definition at line 366 of file lte-enb-rrc.cc.
References AddDataRadioBearerInfo(), ns3::LteRrcSap::RlcConfig::AM, ns3::ObjectFactory::Create(), ns3::LteEnbRrc::X2uTeidInfo::drbid, Drbid2Bid(), Drbid2Lcid(), ns3::EpsBearer::gbrQosInfo, ns3::GbrQosInformation::gbrUl, ns3::LteRlc::GetLteMacSapUser(), ns3::LteRlc::GetLteRlcSapProvider(), ns3::Object::GetObject(), ns3::LteRlcAm::GetTypeId(), ns3::LteRlcSm::GetTypeId(), HANDOVER_JOINING, ns3::EpsBearer::IsGbr(), m_drbPdcpSapUser, m_rnti, m_rrc, m_state, NS_ASSERT_MSG(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::LteEnbRrc::X2uTeidInfo::rnti, ScheduleRrcConnectionReconfiguration(), ns3::LteRlc::SetLcId(), ns3::LteRlc::SetLteMacSapProvider(), ns3::LteRlc::SetLteRlcSapUser(), ns3::LteRlc::SetRnti(), ns3::ObjectFactory::SetTypeId(), and ns3::LteRrcSap::RlcConfig::UM_BI_DIRECTIONAL.
void ns3::UeManager::StartDataRadioBearers | ( | ) |
Start the data radio bearers that have been previously recorded to be started using RecordDataRadioBearersToBeStarted()
Definition at line 481 of file lte-enb-rrc.cc.
References m_drbMap, m_drbsToBeStarted, m_rnti, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionSetupCompleted(), and SwitchToState().
|
private |
Switch the UeManager to the given state.
s | the given state |
Definition at line 1358 of file lte-enb-rrc.cc.
References CONNECTED_NORMALLY, CONNECTION_RECONFIGURATION, CONNECTION_REESTABLISHMENT, CONNECTION_SETUP, HANDOVER_JOINING, HANDOVER_LEAVING, INITIAL_RANDOM_ACCESS, m_caSupportConfigured, m_componentCarrierId, m_imsi, m_pendingRrcConnectionReconfiguration, m_pendingStartDataRadioBearers, m_rnti, m_rrc, m_state, m_stateTransitionTrace, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, ScheduleRrcConnectionReconfiguration(), StartDataRadioBearers(), and ns3::ToString().
Referenced by PrepareHandover(), RecvHandoverPreparationFailure(), RecvHandoverRequestAck(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionReestablishmentComplete(), RecvRrcConnectionReestablishmentRequest(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), ScheduleRrcConnectionReconfiguration(), and SendUeContextRelease().
|
friend |
allow LtePdcpSpecificLtePdcpSapUser<UeManager> class friend access
Definition at line 75 of file lte-enb-rrc.h.
|
private |
Define if the Carrier Aggregation was already configure for the current UE on not.
Definition at line 563 of file lte-enb-rrc.h.
Referenced by BuildRrcConnectionReconfiguration(), DoInitialize(), RecvRrcConnectionSetupCompleted(), and SwitchToState().
|
private |
ID of the primary CC for this UE.
Definition at line 501 of file lte-enb-rrc.h.
Referenced by BuildNonCriticalExtentionConfigurationCa(), DoInitialize(), GetComponentCarrierId(), PrepareHandover(), RecvHandoverRequestAck(), RecvMeasurementReport(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionSetupCompleted(), SendData(), SendUeContextRelease(), and SwitchToState().
|
private |
The delay before a connection rejected timeout occurs.
Set after an RRC CONNECTION REJECT is sent. Calling LteEnbRrc::ConnectionRejectedTimeout() when it expires.
Definition at line 546 of file lte-enb-rrc.h.
Referenced by RecvRrcConnectionRequest().
|
private |
Time limit before a connection request timeout occurs.
Set after a new UE context is added after a successful Random Access. Calling LteEnbRrc::ConnectionRequestTimeout() when it expires. Cancelled when RRC CONNECTION REQUEST is received.
Definition at line 534 of file lte-enb-rrc.h.
Referenced by DoInitialize(), and RecvRrcConnectionRequest().
|
private |
Time limit before a connection setup timeout occurs.
Set after an RRC CONNECTION SETUP is sent. Calling LteEnbRrc::ConnectionSetupTimeout() when it expires. Cancelled when RRC CONNECTION SETUP COMPLETE is received.
Definition at line 540 of file lte-enb-rrc.h.
Referenced by RecvRrcConnectionRequest(), and RecvRrcConnectionSetupCompleted().
|
private |
The DataRadioBearerMap
attribute.
List of UE DataRadioBearerInfo by DRBID.
Definition at line 478 of file lte-enb-rrc.h.
Referenced by AddDataRadioBearerInfo(), BuildRadioResourceConfigDedicated(), DoDispose(), GetDataRadioBearerInfo(), GetErabList(), GetTypeId(), RecordDataRadioBearersToBeStarted(), RecvHandoverRequestAck(), RecvRrcConnectionReconfigurationCompleted(), ReleaseDataRadioBearer(), RemoveDataRadioBearerInfo(), SendData(), and StartDataRadioBearers().
|
private |
DRB PDCP SAP user.
Definition at line 511 of file lte-enb-rrc.h.
Referenced by DoDispose(), DoInitialize(), and SetupDataRadioBearer().
|
private |
DRBS to be started.
Definition at line 525 of file lte-enb-rrc.h.
Referenced by RecordDataRadioBearersToBeStarted(), and StartDataRadioBearers().
|
private |
Time limit before a handover joining timeout occurs.
Set after a new UE context is added after receiving a handover request. Calling LteEnbRrc::HandoverJoiningTimeout() when it expires. Cancelled when RRC CONNECTION RECONFIGURATION COMPLETE is received.
Definition at line 553 of file lte-enb-rrc.h.
Referenced by DoInitialize(), and RecvRrcConnectionReconfigurationCompleted().
|
private |
Time limit before a handover leaving timeout occurs.
Set after a handover command is sent. Calling LteEnbRrc::HandoverLeavingTimeout() when it expires. Cancelled when RRC CONNECTION RE-ESTABLISHMENT or X2 UE CONTEXT RELEASE is received.
Definition at line 560 of file lte-enb-rrc.h.
Referenced by RecvHandoverRequestAck(), RecvRrcConnectionReestablishmentRequest(), and RecvUeContextRelease().
|
private |
International Mobile Subscriber Identity assigned to this UE.
A globally unique UE identifier.
Definition at line 497 of file lte-enb-rrc.h.
Referenced by GetImsi(), PrepareHandover(), RecvHandoverRequestAck(), RecvMeasurementReport(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), SendUeContextRelease(), SetImsi(), and SwitchToState().
|
private |
last allocated Data Radio Bearer ID
Definition at line 472 of file lte-enb-rrc.h.
Referenced by AddDataRadioBearerInfo().
|
private |
last RRC transaction identifier
Definition at line 503 of file lte-enb-rrc.h.
Referenced by GetNewRrcTransactionIdentifier().
|
private |
need Phy MAC configuration
Definition at line 526 of file lte-enb-rrc.h.
Referenced by CmacUeConfigUpdateInd(), RecvRrcConnectionReconfigurationCompleted(), and SetPdschConfigDedicated().
|
private |
pending RRC connection reconfiguration
Definition at line 513 of file lte-enb-rrc.h.
Referenced by RecvRrcConnectionSetupCompleted(), ScheduleRrcConnectionReconfiguration(), and SwitchToState().
|
private |
Pending start data radio bearers.
Definition at line 566 of file lte-enb-rrc.h.
Referenced by RecvRrcConnectionSetupCompleted(), and SwitchToState().
|
private |
physical config dedicated
Definition at line 505 of file lte-enb-rrc.h.
Referenced by BuildRadioResourceConfigDedicated(), CmacUeConfigUpdateInd(), DoInitialize(), GetSrsConfigurationIndex(), RecvRrcConnectionReconfigurationCompleted(), ReleaseDataRadioBearer(), SetPdschConfigDedicated(), and SetSrsConfigurationIndex().
|
private |
The C-RNTI
attribute.
Cell Radio Network Temporary Identifier.
Definition at line 492 of file lte-enb-rrc.h.
Referenced by CmacUeConfigUpdateInd(), DoInitialize(), GetRnti(), GetTypeId(), PrepareHandover(), RecordDataRadioBearersToBeStarted(), RecvHandoverRequestAck(), RecvMeasurementReport(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionReestablishmentRequest(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), ReleaseDataRadioBearer(), ScheduleRrcConnectionReconfiguration(), SendData(), SendUeContextRelease(), SetSrsConfigurationIndex(), SetupDataRadioBearer(), StartDataRadioBearers(), and SwitchToState().
Pointer to the parent eNodeB RRC.
Definition at line 507 of file lte-enb-rrc.h.
Referenced by BuildNonCriticalExtentionConfigurationCa(), BuildRrcConnectionReconfiguration(), DoDispose(), DoInitialize(), DoReceivePdcpSdu(), PrepareHandover(), RecvHandoverRequestAck(), RecvMeasurementReport(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionReestablishmentRequest(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), ReleaseDataRadioBearer(), ScheduleRrcConnectionReconfiguration(), SendData(), SendUeContextRelease(), SetSrsConfigurationIndex(), SetupDataRadioBearer(), and SwitchToState().
|
private |
source cell ID
Definition at line 523 of file lte-enb-rrc.h.
Referenced by SendUeContextRelease(), and SetSource().
|
private |
source X2 ap ID
Definition at line 522 of file lte-enb-rrc.h.
Referenced by SendUeContextRelease(), and SetSource().
|
private |
The Srb0
attribute.
SignalingRadioBearerInfo for SRB0.
Definition at line 483 of file lte-enb-rrc.h.
Referenced by CompleteSetupUe(), DoInitialize(), and GetTypeId().
|
private |
The Srb1
attribute.
SignalingRadioBearerInfo for SRB1.
Definition at line 487 of file lte-enb-rrc.h.
Referenced by BuildRadioResourceConfigDedicated(), CompleteSetupUe(), DoInitialize(), and GetTypeId().
|
private |
The current UeManager state.
Definition at line 509 of file lte-enb-rrc.h.
Referenced by DoInitialize(), GetState(), PrepareHandover(), RecvHandoverPreparationFailure(), RecvRrcConnectionReconfigurationCompleted(), RecvRrcConnectionReestablishmentRequest(), RecvRrcConnectionRequest(), RecvRrcConnectionSetupCompleted(), RecvUeContextRelease(), ScheduleRrcConnectionReconfiguration(), SendData(), SendUeContextRelease(), SetSrsConfigurationIndex(), SetupDataRadioBearer(), and SwitchToState().
|
private |
The StateTransition
trace source.
Fired upon every UE state transition seen by the UeManager at the eNB RRC. Exporting IMSI, cell ID, RNTI, old state, and new state.
Definition at line 520 of file lte-enb-rrc.h.
Referenced by GetTypeId(), and SwitchToState().
|
private |
target cell ID
Definition at line 524 of file lte-enb-rrc.h.
Referenced by PrepareHandover(), RecvHandoverPreparationFailure(), SendData(), and SendUeContextRelease().