A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::LteUeRrc Class Reference

#include <introspected-doxygen.h>

+ Inheritance diagram for ns3::LteUeRrc:

Public Types

enum  State {
  IDLE_CELL_SELECTION = 0, IDLE_WAIT_SYSTEM_INFO, IDLE_CAMPED_NORMALLY, IDLE_RANDOM_ACCESS,
  IDLE_CONNECTING, CONNECTED_NORMALLY, CONNECTED_REESTABLISHING, CONNECTED_HANDOVER,
  NUM_STATES
}
 

Public Member Functions

 LteUeRrc ()
 
virtual ~LteUeRrc ()
 
LteAsSapProviderGetAsSapProvider ()
 
uint16_t GetCellId () const
 
uint8_t GetDlBandwidth () const
 
uint16_t GetDlEarfcn () const
 
uint64_t GetImsi (void)
 
LteUeCmacSapUserGetLteUeCmacSapUser ()
 
LteUeCphySapUserGetLteUeCphySapUser ()
 
LteUeRrcSapProviderGetLteUeRrcSapProvider ()
 
uint16_t GetRnti () const
 
State GetState ()
 
uint8_t GetUlBandwidth () const
 
uint16_t GetUlEarfcn () const
 
void SetAsSapUser (LteAsSapUser *s)
 
void SetImsi (uint64_t imsi)
 
void SetLteMacSapProvider (LteMacSapProvider *s)
 
void SetLteUeCmacSapProvider (LteUeCmacSapProvider *s)
 
void SetLteUeCphySapProvider (LteUeCphySapProvider *s)
 
void SetLteUeRrcSapUser (LteUeRrcSapUser *s)
 
void SetUseRlcSm (bool val)
 
- Public Member Functions inherited from ns3::Object
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 
- Public Member Functions inherited from ns3::ObjectBase
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 

Private Member Functions

void ApplyRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated rrcd)
 
uint8_t Bid2Drbid (uint8_t bid)
 
void DisposeOldSrb1 ()
 
void DoCompleteSetup (LteUeRrcSapProvider::CompleteSetupParameters params)
 
void DoConnect ()
 
void DoDisconnect ()
 
virtual void DoDispose (void)
 
void DoForceCampedOnEnb (uint16_t cellId, uint16_t earfcn)
 
virtual void DoInitialize (void)
 
void DoNotifyRandomAccessFailed ()
 
void DoNotifyRandomAccessSuccessful ()
 
void DoReceivePdcpSdu (LtePdcpSapUser::ReceivePdcpSduParameters params)
 
void DoRecvMasterInformationBlock (LteRrcSap::MasterInformationBlock msg)
 
void DoRecvRrcConnectionReconfiguration (LteRrcSap::RrcConnectionReconfiguration msg)
 
void DoRecvRrcConnectionReestablishment (LteRrcSap::RrcConnectionReestablishment msg)
 
void DoRecvRrcConnectionReestablishmentReject (LteRrcSap::RrcConnectionReestablishmentReject msg)
 
void DoRecvRrcConnectionReject (LteRrcSap::RrcConnectionReject msg)
 
void DoRecvRrcConnectionRelease (LteRrcSap::RrcConnectionRelease msg)
 
void DoRecvRrcConnectionSetup (LteRrcSap::RrcConnectionSetup msg)
 
void DoRecvSystemInformation (LteRrcSap::SystemInformation msg)
 
void DoRecvSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 msg)
 
void DoSendData (Ptr< Packet > packet, uint8_t bid)
 
void DoSetTemporaryCellRnti (uint16_t rnti)
 
void LeaveConnectedMode ()
 
void StartConnection ()
 
void SwitchToState (State s)
 

Private Attributes

LteAsSapProviderm_asSapProvider
 
LteAsSapUserm_asSapUser
 
std::map< uint8_t, uint8_t > m_bid2DrbidMap
 
uint16_t m_cellId
 
LteUeCmacSapProviderm_cmacSapProvider
 
LteUeCmacSapUserm_cmacSapUser
 
TracedCallback< uint64_t,
uint16_t, uint16_t > 
m_connectionEstablishedTrace
 
bool m_connectionPending
 
TracedCallback< uint64_t,
uint16_t, uint16_t > 
m_connectionReconfigurationTrace
 
LteUeCphySapProviderm_cphySapProvider
 
LteUeCphySapUserm_cphySapUser
 
uint8_t m_dlBandwidth
 
uint16_t m_dlEarfcn
 
std::map< uint8_t, Ptr
< LteDataRadioBearerInfo > > 
m_drbMap
 
LtePdcpSapUserm_drbPdcpSapUser
 
TracedCallback< uint64_t,
uint16_t, uint16_t > 
m_handoverEndOkTrace
 
TracedCallback< uint64_t,
uint16_t, uint16_t, uint16_t > 
m_handoverStartTrace
 
uint64_t m_imsi
 
uint8_t m_lastRrcTransactionIdentifier
 
LteMacSapProviderm_macSapProvider
 
TracedCallback< uint64_t,
uint16_t, uint16_t > 
m_randomAccessSuccessfulTrace
 
bool m_receivedMib
 
bool m_receivedSib2
 
uint16_t m_rnti
 
LteUeRrcSapProviderm_rrcSapProvider
 
LteUeRrcSapUserm_rrcSapUser
 
Ptr< LteSignalingRadioBearerInfom_srb0
 
Ptr< LteSignalingRadioBearerInfom_srb1
 
Ptr< LteSignalingRadioBearerInfom_srb1Old
 
State m_state
 
TracedCallback< uint64_t,
uint16_t, uint16_t, State,
State
m_stateTransitionTrace
 
uint8_t m_ulBandwidth
 
uint16_t m_ulEarfcn
 
bool m_useRlcSm
 

Friends

class LtePdcpSpecificLtePdcpSapUser< LteUeRrc >
 
class MemberLteAsSapProvider< LteUeRrc >
 
class MemberLteUeCphySapUser< LteUeRrc >
 
class MemberLteUeRrcSapProvider< LteUeRrc >
 
class UeMemberLteUeCmacSapUser
 
class UeRrcMemberLteEnbCmacSapUser
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 

Detailed Description

Config Paths

ns3::LteUeRrc is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteUeNetDevice/LteUeRrc
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteUeNetDevice/LteUeRrc

Attributes

  • DataRadioBearerMap: List of UE RadioBearerInfo for Data Radio Bearers by LCID.
  • Srb0: SignalingRadioBearerInfo for SRB0
    • Set with class: ns3::PointerValue
    • Underlying type: ns3::Ptr< ns3::LteSignalingRadioBearerInfo >
    • Initial value: 0
    • Flags: construct write read
  • Srb1: SignalingRadioBearerInfo for SRB1
    • Set with class: ns3::PointerValue
    • Underlying type: ns3::Ptr< ns3::LteSignalingRadioBearerInfo >
    • Initial value: 0
    • Flags: construct write read
  • CellId: Serving cell identifier
  • C-RNTI: Cell Radio Network Temporary Identifier

TraceSources

  • StateTransition: trace fired upon every UE RRC state transition
  • RandomAccessSuccessful: trace fired upon successful completion of the random access procedure
  • ConnectionEstablished: trace fired upon successful RRC connection establishment
  • ConnectionReconfiguration: trace fired upon RRC connection reconfiguration
  • HandoverStart: trace fired upon start of a handover procedure
  • HandoverEndOk: trace fired upon successful termination of a handover procedure

Definition at line 49 of file lte-ue-rrc.h.

Member Enumeration Documentation

The states of the UE RRC entity

Definition at line 65 of file lte-ue-rrc.h.

Constructor & Destructor Documentation

ns3::LteUeRrc::LteUeRrc ( )

create an RRC instance for use within an ue

Definition at line 119 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

ns3::LteUeRrc::~LteUeRrc ( )
virtual

Destructor

Definition at line 144 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

void ns3::LteUeRrc::DoDispose ( void  )
privatevirtual

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden 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 150 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

void ns3::LteUeRrc::DoInitialize ( void  )
privatevirtual

This method is called only once by Object::Initialize. If the user calls Object::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 345 of file lte-ue-rrc.cc.

References ns3::LteUeCmacSapProvider::AddLc(), and NS_LOG_FUNCTION.

LteAsSapProvider * ns3::LteUeRrc::GetAsSapProvider ( )
Returns
the AS SAP provider exported by this RRC

Definition at line 268 of file lte-ue-rrc.cc.

uint16_t ns3::LteUeRrc::GetCellId ( ) const
Returns
the CellId of the attached Enb

Definition at line 294 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

uint8_t ns3::LteUeRrc::GetDlBandwidth ( ) const
Returns
the downlink bandwidth in RBs

Definition at line 309 of file lte-ue-rrc.cc.

References m_dlBandwidth, and NS_LOG_FUNCTION.

uint16_t ns3::LteUeRrc::GetDlEarfcn ( ) const
Returns
the downlink carrier frequency (EARFCN)

Definition at line 316 of file lte-ue-rrc.cc.

References m_dlEarfcn.

uint64_t ns3::LteUeRrc::GetImsi ( void  )
Returns
imsi the unique UE identifier

Definition at line 281 of file lte-ue-rrc.cc.

LteUeCmacSapUser * ns3::LteUeRrc::GetLteUeCmacSapUser ( )
Returns
s the CMAC SAP User interface offered to the MAC by this RRC

Definition at line 234 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

LteUeCphySapUser * ns3::LteUeRrc::GetLteUeCphySapUser ( )
Returns
s the CPHY SAP User interface offered to the PHY by this RRC

Definition at line 220 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

LteUeRrcSapProvider * ns3::LteUeRrc::GetLteUeRrcSapProvider ( )
Returns
s the RRC SAP Provider interface offered to the MAC by this RRC

Definition at line 248 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

uint16_t ns3::LteUeRrc::GetRnti ( void  ) const
Returns
the C-RNTI of the user

Definition at line 287 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

LteUeRrc::State ns3::LteUeRrc::GetState ( void  )
Returns
the current state

Definition at line 330 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

uint8_t ns3::LteUeRrc::GetUlBandwidth ( ) const
Returns
the uplink bandwidth in RBs

Definition at line 302 of file lte-ue-rrc.cc.

References m_ulBandwidth, and NS_LOG_FUNCTION.

uint16_t ns3::LteUeRrc::GetUlEarfcn ( ) const
Returns
the uplink carrier frequency (EARFCN)

Definition at line 322 of file lte-ue-rrc.cc.

References m_ulEarfcn, and NS_LOG_FUNCTION.

void ns3::LteUeRrc::SetAsSapUser ( LteAsSapUser s)

Set the AS SAP user to interact with the NAS entity

Parameters
sthe AS SAP user

Definition at line 262 of file lte-ue-rrc.cc.

void ns3::LteUeRrc::SetImsi ( uint64_t  imsi)
Parameters
imsithe unique UE identifier

Definition at line 274 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

void ns3::LteUeRrc::SetLteMacSapProvider ( LteMacSapProvider s)

set the MAC SAP provider. The ue RRC does not use this directly, but it needs to provide it to newly created RLC instances.

Parameters
sthe MAC SAP provider that will be used by all newly created RLC instances

Definition at line 255 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

void ns3::LteUeRrc::SetLteUeCmacSapProvider ( LteUeCmacSapProvider s)

set the CMAC SAP this RRC should interact with

Parameters
sthe CMAC SAP Provider to be used by this RRC

Definition at line 227 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

void ns3::LteUeRrc::SetLteUeCphySapProvider ( LteUeCphySapProvider s)

set the CPHY SAP this RRC should use to interact with the PHY

Parameters
sthe CPHY SAP Provider

Definition at line 213 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

void ns3::LteUeRrc::SetLteUeRrcSapUser ( LteUeRrcSapUser s)

set the RRC SAP this RRC should interact with

Parameters
sthe RRC SAP User to be used by this RRC

Definition at line 241 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

void ns3::LteUeRrc::SetUseRlcSm ( bool  val)
Parameters
valtrue if RLC SM is to be used, false if RLC UM/AM are to be used

Definition at line 337 of file lte-ue-rrc.cc.

References NS_LOG_FUNCTION.

Member Data Documentation

bool ns3::LteUeRrc::m_connectionPending
private

true if a connection request by upper layers is pending

Definition at line 318 of file lte-ue-rrc.h.

uint8_t ns3::LteUeRrc::m_dlBandwidth
private

downlink bandwidth in RBs

Definition at line 299 of file lte-ue-rrc.h.

Referenced by GetDlBandwidth().

uint16_t ns3::LteUeRrc::m_dlEarfcn
private

downlink carrier frequency

Definition at line 302 of file lte-ue-rrc.h.

Referenced by GetDlEarfcn().

bool ns3::LteUeRrc::m_receivedMib
private

true if MIB was received for the current cell

Definition at line 319 of file lte-ue-rrc.h.

bool ns3::LteUeRrc::m_receivedSib2
private

true if SIB2 was received for the current cell

Definition at line 320 of file lte-ue-rrc.h.

uint8_t ns3::LteUeRrc::m_ulBandwidth
private

uplink bandwidth in RBs

Definition at line 300 of file lte-ue-rrc.h.

Referenced by GetUlBandwidth().

uint16_t ns3::LteUeRrc::m_ulEarfcn
private

uplink carrier frequency

Definition at line 303 of file lte-ue-rrc.h.

Referenced by GetUlEarfcn().


The documentation for this class was generated from the following files: