5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrUeRrc Class Reference

#include "introspected-doxygen.h"

+ Inheritance diagram for ns3::NrUeRrc:
+ Collaboration diagram for ns3::NrUeRrc:

Public Types

typedef void(* CellSelectionTracedCallback) (uint64_t imsi, uint16_t cellId)
 
typedef void(* ImsiCidRntiCountTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint8_t count)
 
typedef void(* ImsiCidRntiTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti)
 
typedef void(* MibSibHandoverTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint16_t otherCid)
 
typedef void(* PhySyncDetectionTracedCallback) (uint64_t imsi, uint16_t rnti, uint16_t cellId, std::string type, uint16_t count)
 
typedef void(* SCarrierConfiguredTracedCallback) (Ptr< NrUeRrc >, std::list< NrRrcSap::SCellToAddMod >)
 
enum  State {
  IDLE_START = 0 , IDLE_CELL_SEARCH , IDLE_WAIT_MIB_SIB1 , IDLE_WAIT_MIB ,
  IDLE_WAIT_SIB1 , IDLE_CAMPED_NORMALLY , IDLE_WAIT_SIB2 , IDLE_RANDOM_ACCESS ,
  IDLE_CONNECTING , CONNECTED_NORMALLY , CONNECTED_HANDOVER , CONNECTED_PHY_PROBLEM ,
  CONNECTED_REESTABLISHING , NUM_STATES
}
 
typedef void(* StateTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, State oldState, State newState)
 

Public Member Functions

 NrUeRrc ()
 
 ~NrUeRrc () override
 
NrAsSapProviderGetAsSapProvider ()
 
uint16_t GetCellId () const
 
uint8_t GetDlBandwidth () const
 
uint32_t GetDlEarfcn () const
 
uint64_t GetImsi () const
 
NrUeCcmRrcSapUserGetNrCcmRrcSapUser ()
 
NrUeCmacSapUserGetNrUeCmacSapUser ()
 This function is overloaded to maintain backward compatibility.
 
NrUeCmacSapUserGetNrUeCmacSapUser (uint8_t index)
 This function is overloaded to maintain backward compatibility.
 
NrUeCphySapUserGetNrUeCphySapUser ()
 
NrUeCphySapUserGetNrUeCphySapUser (uint8_t index)
 
NrUeRrcSapProviderGetNrUeRrcSapProvider ()
 
uint16_t GetPreviousCellId () const
 Get the previous cell id.
 
uint16_t GetPrimaryDlIndex () const
 Returns the primary index.
 
uint16_t GetPrimaryUlIndex () const
 Returns the primary index.
 
uint16_t GetRnti () const
 
State GetState () const
 
uint8_t GetUlBandwidth () const
 
uint32_t GetUlEarfcn () const
 
void InitializeSap ()
 Initialize SAP.
 
void InitializeSrb0 ()
 Initialize the UE side of SRB0.
 
bool IsServingCell (uint16_t cellId) const
 
void SetAsSapUser (NrAsSapUser *s)
 
void SetImsi (uint64_t imsi)
 
void SetNrCcmRrcSapProvider (NrUeCcmRrcSapProvider *s)
 
void SetNrMacSapProvider (NrMacSapProvider *s)
 
void SetNrUeCmacSapProvider (NrUeCmacSapProvider *s)
 This function is overloaded to maintain backward compatibility.
 
void SetNrUeCmacSapProvider (NrUeCmacSapProvider *s, uint8_t index)
 This function is overloaded to maintain backward compatibility.
 
void SetNrUeCphySapProvider (NrUeCphySapProvider *s)
 
void SetNrUeCphySapProvider (NrUeCphySapProvider *s, uint8_t index)
 
void SetNrUeRrcSapUser (NrUeRrcSapUser *s)
 
void SetPrimaryDlIndex (uint16_t primaryIndex)
 Sets the index of the UE PHY/MAC that will be used as the primary UL PHY/MAC.
 
void SetPrimaryUlIndex (uint16_t primaryIndex)
 Sets the index of the UE PHY/MAC that will be used as the primary UL PHY/MAC.
 
void SetUseRlcSm (bool val)
 
void StorePreviousCellId (uint16_t cellId)
 Store the previous cell id.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 
static const std::string ToString (NrUeRrc::State s)
 

Public Attributes

uint16_t m_numberOfComponentCarriers
 

Friends

class MemberNrAsSapProvider< NrUeRrc >
 allow MemberNrAsSapProvider<NrUeRrc> class friend access
 
class MemberNrUeCcmRrcSapUser< NrUeRrc >
 allow MemberNrUeCcmRrcSapUser<NrUeRrc> class friend access
 
class MemberNrUeCphySapUser< NrUeRrc >
 allow MemberNrUeCphySapUser<NrUeRrc> class friend access
 
class MemberNrUeRrcSapProvider< NrUeRrc >
 allow MemberNrUeRrcSapProvider<NrUeRrc> class friend access
 
class NrPdcpSpecificNrPdcpSapUser< NrUeRrc >
 allow NrPdcpSpecificNrPdcpSapUser<NrUeRrc> class friend access
 
class UeMemberNrUeCmacSapUser
 allow UeMemberNrUeCmacSapUser class friend access
 
class UeRrcMemberNrGnbCmacSapUser
 allow UeRrcMemberNrGnbCmacSapUser class friend access
 

Detailed Description

Config Paths

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

Attributes

  • DataRadioBearerMap: List of UE RadioBearerInfo for Data Radio Bearers by LCID.
  • Srb0: SignalingRadioBearerInfo for SRB0
  • Srb1: SignalingRadioBearerInfo for SRB1
  • CellId: Serving cell identifier
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Flags: read
  • C-RNTI: Cell Radio Network Temporary Identifier
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Flags: read
  • T300: Timer for the RRC Connection Establishment procedure (i.e., the procedure is deemed as failed if it takes longer than this). Standard values: 100ms, 200ms, 300ms, 400ms, 600ms, 1000ms, 1500ms, 2000ms
    • Set with class: ns3::TimeValue
    • Underlying type: Time +1e+08ns:+2e+09ns
    • Initial value: +1e+08ns
    • Flags: construct write read
  • T310: Timer for detecting the Radio link failure (i.e., the radio link is deemed as failed if this timer expires). Standard values: 0ms 50ms, 100ms, 200ms, 500ms, 1000ms, 2000ms
    • Set with class: ns3::TimeValue
    • Underlying type: Time +0ns:+2e+09ns
    • Initial value: +1e+09ns
    • Flags: construct write read
  • N310: This specifies the maximum number of out-of-sync indications. Standard values: 1, 2, 3, 4, 6, 8, 10, 20
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 1:20
    • Initial value: 6
    • Flags: construct write read
  • N311: This specifies the maximum number of in-sync indications. Standard values: 1, 2, 3, 4, 5, 6, 8, 10
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 1:10
    • Initial value: 2
    • Flags: construct write read

TraceSources

Size of this type is 1472 bytes (on a 64-bit architecture).

Definition at line 63 of file nr-ue-rrc.h.

Member Typedef Documentation

◆ CellSelectionTracedCallback

typedef void(* ns3::NrUeRrc::CellSelectionTracedCallback) (uint64_t imsi, uint16_t cellId)

TracedCallback signature for imsi, cellId and rnti events.

Parameters
[in]imsi
[in]cellId

Definition at line 348 of file nr-ue-rrc.h.

◆ ImsiCidRntiCountTracedCallback

typedef void(* ns3::NrUeRrc::ImsiCidRntiCountTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint8_t count)

TracedCallback signature for imsi, cellId, rnti and counter for random access events.

Parameters
[in]imsi
[in]cellId
[in]rnti
[in]count

Definition at line 422 of file nr-ue-rrc.h.

◆ ImsiCidRntiTracedCallback

typedef void(* ns3::NrUeRrc::ImsiCidRntiTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti)

TracedCallback signature for imsi, cellId and rnti events.

Parameters
[in]imsi
[in]cellId
[in]rnti

Definition at line 357 of file nr-ue-rrc.h.

◆ MibSibHandoverTracedCallback

typedef void(* ns3::NrUeRrc::MibSibHandoverTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint16_t otherCid)

TracedCallback signature for MIBReceived, Sib1Received and HandoverStart events.

Parameters
[in]imsi
[in]cellId
[in]rnti
[in]otherCid

Definition at line 368 of file nr-ue-rrc.h.

◆ PhySyncDetectionTracedCallback

typedef void(* ns3::NrUeRrc::PhySyncDetectionTracedCallback) (uint64_t imsi, uint16_t rnti, uint16_t cellId, std::string type, uint16_t count)

TracedCallback signature for in-sync and out-of-sync detection events.

Parameters
[in]imsi
[in]rnti
[in]cellId
[in]type
[in]count

Definition at line 407 of file nr-ue-rrc.h.

◆ SCarrierConfiguredTracedCallback

typedef void(* ns3::NrUeRrc::SCarrierConfiguredTracedCallback) (Ptr< NrUeRrc >, std::list< NrRrcSap::SCellToAddMod >)

TracedCallback signature for secondary carrier configuration events.

Parameters
[in]Pointerto UE RRC
[in]Listof NrRrcSap::SCellToAddMod

Definition at line 394 of file nr-ue-rrc.h.

◆ StateTracedCallback

typedef void(* ns3::NrUeRrc::StateTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, State oldState, State newState)

TracedCallback signature for state transition events.

Parameters
[in]imsi
[in]cellId
[in]rnti
[in]oldState
[in]newState

Definition at line 382 of file nr-ue-rrc.h.

Member Enumeration Documentation

◆ State

The states of the UE RRC entity

Definition at line 85 of file nr-ue-rrc.h.

Constructor & Destructor Documentation

◆ NrUeRrc()

ns3::NrUeRrc::NrUeRrc ( )

◆ ~NrUeRrc()

ns3::NrUeRrc::~NrUeRrc ( )
override

Destructor

Definition at line 140 of file nr-ue-rrc.cc.

Member Function Documentation

◆ GetAsSapProvider()

NrAsSapProvider * ns3::NrUeRrc::GetAsSapProvider ( )
Returns
the AS SAP provider exported by this RRC

Definition at line 410 of file nr-ue-rrc.cc.

◆ GetCellId()

uint16_t ns3::NrUeRrc::GetCellId ( ) const
Returns
the CellId of the attached Gnb

Definition at line 450 of file nr-ue-rrc.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetDlBandwidth()

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

Definition at line 478 of file nr-ue-rrc.cc.

◆ GetDlEarfcn()

uint32_t ns3::NrUeRrc::GetDlEarfcn ( ) const
Returns
the downlink carrier frequency (EARFCN)

Definition at line 485 of file nr-ue-rrc.cc.

◆ GetImsi()

uint64_t ns3::NrUeRrc::GetImsi ( ) const
Returns
imsi the unique UE identifier

Definition at line 437 of file nr-ue-rrc.cc.

◆ GetNrCcmRrcSapUser()

NrUeCcmRrcSapUser * ns3::NrUeRrc::GetNrCcmRrcSapUser ( )

Get the Component Carrier Management SAP offered by this RRC

Returns
s the Component Carrier Management SAP User interface offered to the carrier component selection algorithm by this RRC

Definition at line 397 of file nr-ue-rrc.cc.

◆ GetNrUeCmacSapUser() [1/2]

NrUeCmacSapUser * ns3::NrUeRrc::GetNrUeCmacSapUser ( )

This function is overloaded to maintain backward compatibility.

Returns
s the CMAC SAP User interface offered to the MAC by this RRC

Definition at line 355 of file nr-ue-rrc.cc.

References GetPrimaryDlIndex().

+ Here is the call graph for this function:

◆ GetNrUeCmacSapUser() [2/2]

NrUeCmacSapUser * ns3::NrUeRrc::GetNrUeCmacSapUser ( uint8_t  index)

This function is overloaded to maintain backward compatibility.

Parameters
indexthe index
Returns
s the CMAC SAP User interface offered to the MAC by this RRC

Definition at line 362 of file nr-ue-rrc.cc.

◆ GetNrUeCphySapUser() [1/2]

NrUeCphySapUser * ns3::NrUeRrc::GetNrUeCphySapUser ( )
Returns
s the CPHY SAP User interface offered to the PHY by this RRC

Definition at line 327 of file nr-ue-rrc.cc.

References GetPrimaryDlIndex().

+ Here is the call graph for this function:

◆ GetNrUeCphySapUser() [2/2]

NrUeCphySapUser * ns3::NrUeRrc::GetNrUeCphySapUser ( uint8_t  index)
Parameters
indexthe index
Returns
s the CPHY SAP User interface offered to the PHY by this RRC

Definition at line 334 of file nr-ue-rrc.cc.

◆ GetNrUeRrcSapProvider()

NrUeRrcSapProvider * ns3::NrUeRrc::GetNrUeRrcSapProvider ( )
Returns
s the RRC SAP Provider interface offered to the MAC by this RRC

Definition at line 376 of file nr-ue-rrc.cc.

◆ GetPreviousCellId()

uint16_t ns3::NrUeRrc::GetPreviousCellId ( ) const

Get the previous cell id.

Returns
The cell Id of the previous cell the UE was attached to.

Definition at line 505 of file nr-ue-rrc.cc.

◆ GetPrimaryDlIndex()

uint16_t ns3::NrUeRrc::GetPrimaryDlIndex ( ) const

Returns the primary index.

Definition at line 537 of file nr-ue-rrc.cc.

Referenced by GetNrUeCmacSapUser(), GetNrUeCphySapUser(), SetNrUeCmacSapProvider(), and SetNrUeCphySapProvider().

+ Here is the caller graph for this function:

◆ GetPrimaryUlIndex()

uint16_t ns3::NrUeRrc::GetPrimaryUlIndex ( ) const

Returns the primary index.

Definition at line 525 of file nr-ue-rrc.cc.

Referenced by InitializeSrb0().

+ Here is the caller graph for this function:

◆ GetRnti()

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

Definition at line 443 of file nr-ue-rrc.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetState()

NrUeRrc::State ns3::NrUeRrc::GetState ( ) const
Returns
the current state

Definition at line 498 of file nr-ue-rrc.cc.

◆ GetTypeId()

TypeId ns3::NrUeRrc::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 168 of file nr-ue-rrc.cc.

References GetCellId(), and GetRnti().

+ Here is the call graph for this function:

◆ GetUlBandwidth()

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

Definition at line 471 of file nr-ue-rrc.cc.

◆ GetUlEarfcn()

uint32_t ns3::NrUeRrc::GetUlEarfcn ( ) const
Returns
the uplink carrier frequency (EARFCN)

Definition at line 491 of file nr-ue-rrc.cc.

◆ InitializeSap()

void ns3::NrUeRrc::InitializeSap ( )

Initialize SAP.

Definition at line 575 of file nr-ue-rrc.cc.

References m_numberOfComponentCarriers, and UeMemberNrUeCmacSapUser.

◆ InitializeSrb0()

◆ IsServingCell()

bool ns3::NrUeRrc::IsServingCell ( uint16_t  cellId) const
Parameters
cellIdcell identifier
Returns
true if cellId is the serving cell for this UE

Definition at line 457 of file nr-ue-rrc.cc.

◆ SetAsSapUser()

void ns3::NrUeRrc::SetAsSapUser ( NrAsSapUser s)

Set the AS SAP user to interact with the NAS entity

Parameters
sthe AS SAP user

Definition at line 404 of file nr-ue-rrc.cc.

◆ SetImsi()

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

Definition at line 416 of file nr-ue-rrc.cc.

References m_numberOfComponentCarriers.

◆ SetNrCcmRrcSapProvider()

void ns3::NrUeRrc::SetNrCcmRrcSapProvider ( NrUeCcmRrcSapProvider s)

set the Component Carrier Management SAP this RRC should interact with

Parameters
sthe Component Carrier Management SAP Provider to be used by this RRC

Definition at line 390 of file nr-ue-rrc.cc.

◆ SetNrMacSapProvider()

void ns3::NrUeRrc::SetNrMacSapProvider ( NrMacSapProvider 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 383 of file nr-ue-rrc.cc.

◆ SetNrUeCmacSapProvider() [1/2]

void ns3::NrUeRrc::SetNrUeCmacSapProvider ( NrUeCmacSapProvider s)

This function is overloaded to maintain backward compatibility.

set the CMAC SAP this RRC should interact with

Parameters
sthe CMAC SAP Provider to be used by this RRC

Definition at line 341 of file nr-ue-rrc.cc.

References GetPrimaryDlIndex().

+ Here is the call graph for this function:

◆ SetNrUeCmacSapProvider() [2/2]

void ns3::NrUeRrc::SetNrUeCmacSapProvider ( NrUeCmacSapProvider s,
uint8_t  index 
)

This function is overloaded to maintain backward compatibility.

set the CMAC SAP this RRC should interact with

Parameters
sthe CMAC SAP Provider to be used by this RRC
indexthe index

Definition at line 348 of file nr-ue-rrc.cc.

◆ SetNrUeCphySapProvider() [1/2]

void ns3::NrUeRrc::SetNrUeCphySapProvider ( NrUeCphySapProvider s)

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

Parameters
sthe CPHY SAP Provider

Definition at line 313 of file nr-ue-rrc.cc.

References GetPrimaryDlIndex().

+ Here is the call graph for this function:

◆ SetNrUeCphySapProvider() [2/2]

void ns3::NrUeRrc::SetNrUeCphySapProvider ( NrUeCphySapProvider s,
uint8_t  index 
)

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

Parameters
sthe CPHY SAP Provider
indexthe index

Definition at line 320 of file nr-ue-rrc.cc.

◆ SetNrUeRrcSapUser()

void ns3::NrUeRrc::SetNrUeRrcSapUser ( NrUeRrcSapUser s)

set the RRC SAP this RRC should interact with

Parameters
sthe RRC SAP User to be used by this RRC

Definition at line 369 of file nr-ue-rrc.cc.

◆ SetPrimaryDlIndex()

void ns3::NrUeRrc::SetPrimaryDlIndex ( uint16_t  primaryIndex)

Sets the index of the UE PHY/MAC that will be used as the primary UL PHY/MAC.

Parameters
primaryIndexSets the primaryIndex

Definition at line 531 of file nr-ue-rrc.cc.

◆ SetPrimaryUlIndex()

void ns3::NrUeRrc::SetPrimaryUlIndex ( uint16_t  primaryIndex)

Sets the index of the UE PHY/MAC that will be used as the primary UL PHY/MAC.

Parameters
primaryIndexSets the primaryIndex

Definition at line 519 of file nr-ue-rrc.cc.

◆ SetUseRlcSm()

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

Definition at line 512 of file nr-ue-rrc.cc.

◆ StorePreviousCellId()

void ns3::NrUeRrc::StorePreviousCellId ( uint16_t  cellId)

Store the previous cell id.

Parameters
cellIdThe cell id of the previous cell the UE was attached to

Definition at line 430 of file nr-ue-rrc.cc.

◆ ToString()

const std::string ns3::NrUeRrc::ToString ( NrUeRrc::State  s)
static
Parameters
sThe UE RRC state.
Returns
The string representation of the given state.

Definition at line 3395 of file nr-ue-rrc.cc.

Friends And Related Symbol Documentation

◆ MemberNrAsSapProvider< NrUeRrc >

friend class MemberNrAsSapProvider< NrUeRrc >
friend

allow MemberNrAsSapProvider<NrUeRrc> class friend access

Definition at line 68 of file nr-ue-rrc.h.

Referenced by NrUeRrc().

◆ MemberNrUeCcmRrcSapUser< NrUeRrc >

friend class MemberNrUeCcmRrcSapUser< NrUeRrc >
friend

allow MemberNrUeCcmRrcSapUser<NrUeRrc> class friend access

Definition at line 68 of file nr-ue-rrc.h.

Referenced by NrUeRrc().

◆ MemberNrUeCphySapUser< NrUeRrc >

friend class MemberNrUeCphySapUser< NrUeRrc >
friend

allow MemberNrUeCphySapUser<NrUeRrc> class friend access

Definition at line 68 of file nr-ue-rrc.h.

◆ MemberNrUeRrcSapProvider< NrUeRrc >

friend class MemberNrUeRrcSapProvider< NrUeRrc >
friend

allow MemberNrUeRrcSapProvider<NrUeRrc> class friend access

Definition at line 68 of file nr-ue-rrc.h.

Referenced by NrUeRrc().

◆ NrPdcpSpecificNrPdcpSapUser< NrUeRrc >

friend class NrPdcpSpecificNrPdcpSapUser< NrUeRrc >
friend

allow NrPdcpSpecificNrPdcpSapUser<NrUeRrc> class friend access

Definition at line 68 of file nr-ue-rrc.h.

Referenced by NrUeRrc().

◆ UeMemberNrUeCmacSapUser

friend class UeMemberNrUeCmacSapUser
friend

allow UeMemberNrUeCmacSapUser class friend access

Definition at line 66 of file nr-ue-rrc.h.

Referenced by NrUeRrc(), and InitializeSap().

◆ UeRrcMemberNrGnbCmacSapUser

friend class UeRrcMemberNrGnbCmacSapUser
friend

allow UeRrcMemberNrGnbCmacSapUser class friend access

Definition at line 68 of file nr-ue-rrc.h.

Member Data Documentation

◆ m_numberOfComponentCarriers

uint16_t ns3::NrUeRrc::m_numberOfComponentCarriers

The number of component carriers.

Definition at line 1365 of file nr-ue-rrc.h.

Referenced by InitializeSap(), and SetImsi().


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