5G-LENA nr-v3.3-81-g75c7590d
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrUeManager Class Reference

#include "nr-gnb-rrc.h"

+ Inheritance diagram for ns3::NrUeManager:
+ Collaboration diagram for ns3::NrUeManager:

Public Types

enum  State {
  INITIAL_RANDOM_ACCESS = 0 , CONNECTION_SETUP , CONNECTION_REJECTED , ATTACH_REQUEST ,
  CONNECTED_NORMALLY , CONNECTION_RECONFIGURATION , CONNECTION_REESTABLISHMENT , HANDOVER_PREPARATION ,
  HANDOVER_JOINING , HANDOVER_PATH_SWITCH , HANDOVER_LEAVING , NUM_STATES
}
 
typedef void(* StateTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const State oldState, const State newState)
 

Public Member Functions

 NrUeManager (Ptr< NrGnbRrc > rrc, uint16_t rnti, State s, uint8_t componentCarrierId)
 
NrEpcX2Sap::HandoverCancelParams BuildHoCancelMsg ()
 build handover cancel message
 
NrEpcX2Sap::HandoverPreparationFailureParams BuildHoPrepFailMsg ()
 build handover preparation failure message
 
void CancelPendingEvents ()
 
void CmacUeConfigUpdateInd (NrGnbCmacSapUser::UeConfig cmacParams)
 
void CompleteSetupUe (NrGnbRrcSapProvider::CompleteSetupUeParameters params)
 
void Configure ()
 Perform post-creation configuration steps.
 
void ConfigureMacPhy ()
 Configure MAC and PHY aspects.
 
void ConfigureSap ()
 Initialize the SAP objects.
 
void ConfigureSrb0 ()
 Initialize the gNB side of SRB0.
 
void ConfigureSrb1 ()
 Initialize the gNB side of SRB1.
 
void DoReceivePdcpSdu (NrPdcpSapUser::ReceivePdcpSduParameters params)
 
uint8_t GetComponentCarrierId () const
 
std::vector< NrEpcX2Sap::ErabToBeSetupItemGetErabList ()
 
uint64_t GetImsi () const
 
NrRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigForHandoverPreparationInfo ()
 
uint16_t GetRnti () const
 
NrRrcSap::RrcConnectionReconfiguration GetRrcConnectionReconfigurationForHandover (uint8_t componentCarrierId)
 
uint16_t GetSrsConfigurationIndex () const
 
State GetState () const
 
void InitialContextSetupRequest ()
 
void PrepareHandover (uint16_t cellId)
 
void RecordDataRadioBearersToBeStarted ()
 
void RecvHandoverCancel (NrEpcX2SapUser::HandoverCancelParams params)
 
void RecvHandoverPreparationFailure (uint16_t cellId)
 
void RecvHandoverRequestAck (NrEpcX2SapUser::HandoverRequestAckParams params)
 
void RecvIdealUeContextRemoveRequest (uint16_t rnti)
 
void RecvMeasurementReport (NrRrcSap::MeasurementReport msg)
 
void RecvRrcConnectionReconfigurationCompleted (NrRrcSap::RrcConnectionReconfigurationCompleted msg)
 
void RecvRrcConnectionReestablishmentComplete (NrRrcSap::RrcConnectionReestablishmentComplete msg)
 
void RecvRrcConnectionReestablishmentRequest (NrRrcSap::RrcConnectionReestablishmentRequest msg)
 
void RecvRrcConnectionRequest (NrRrcSap::RrcConnectionRequest msg)
 
void RecvRrcConnectionSetupCompleted (NrRrcSap::RrcConnectionSetupCompleted msg)
 
void RecvSnStatusTransfer (NrEpcX2SapUser::SnStatusTransferParams params)
 
void RecvUeContextRelease (NrEpcX2SapUser::UeContextReleaseParams params)
 
void ReleaseDataRadioBearer (uint8_t drbid)
 
void ScheduleRrcConnectionReconfiguration ()
 
void SendData (uint8_t bid, Ptr< Packet > p)
 
void SendRrcConnectionRelease ()
 This function acts as an interface to trigger the connection release towards gNB, EPC and UE.
 
void SendUeContextRelease ()
 
void SetImsi (uint64_t imsi)
 
void SetPdschConfigDedicated (NrRrcSap::PdschConfigDedicated pdschConfigDedicated)
 
void SetSource (uint16_t sourceCellId, uint16_t sourceX2apId)
 
void SetSrsConfigurationIndex (uint16_t srsConfIndex)
 
void SetupDataRadioBearer (NrEpsBearer bearer, uint8_t bearerId, uint32_t gtpTeid, Ipv4Address transportLayerAddress)
 
void StartDataRadioBearers ()
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 

Protected Member Functions

void DoDispose () override
 

Friends

class NrPdcpSpecificNrPdcpSapUser< NrUeManager >
 allow NrPdcpSpecificNrPdcpSapUser<NrUeManager> class friend access
 

Detailed Description

Manages all the radio bearer information possessed by the gNB RRC for a single UE.

Config Paths

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

Attributes

  • DataRadioBearerMap: List of UE DataRadioBearerInfo by DRBID.
  • Srb0: SignalingRadioBearerInfo for SRB0
  • Srb1: SignalingRadioBearerInfo for SRB1
  • C-RNTI: Cell Radio Network Temporary Identifier
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Flags: read

TraceSources

  • StateTransition: fired upon every UE state transition seen by the NrUeManager at the gNB RRC
    Callback signature: ns3::NrUeManager::StateTracedCallback
  • DrbCreated: trace fired after DRB is created
    Callback signature: ns3::NrUeManager::ImsiCidRntiLcIdTracedCallback

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

Definition at line 54 of file nr-gnb-rrc.h.

Member Typedef Documentation

◆ StateTracedCallback

typedef void(* ns3::NrUeManager::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.

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

Definition at line 437 of file nr-gnb-rrc.h.

Member Enumeration Documentation

◆ State

The state of the NrUeManager at the gNB RRC

Definition at line 64 of file nr-gnb-rrc.h.

Constructor & Destructor Documentation

◆ NrUeManager() [1/2]

ns3::NrUeManager::NrUeManager ( )

Definition at line 131 of file nr-gnb-rrc.cc.

◆ NrUeManager() [2/2]

ns3::NrUeManager::NrUeManager ( Ptr< NrGnbRrc rrc,
uint16_t  rnti,
State  s,
uint8_t  componentCarrierId 
)

NrUeManager constructor

Parameters
rrcpointer to the NrGnbRrc holding this NrUeManager
rntiRNTI of the UE
sinitial state of the NrUeManager
componentCarrierIdprimary component carrier ID

Definition at line 136 of file nr-gnb-rrc.cc.

◆ ~NrUeManager()

ns3::NrUeManager::~NrUeManager ( )
override

Definition at line 329 of file nr-gnb-rrc.cc.

Member Function Documentation

◆ BuildHoCancelMsg()

◆ BuildHoPrepFailMsg()

◆ CancelPendingEvents()

void ns3::NrUeManager::CancelPendingEvents ( )

Cancel all timers which are running for the UE

Definition at line 1503 of file nr-gnb-rrc.cc.

◆ CmacUeConfigUpdateInd()

void ns3::NrUeManager::CmacUeConfigUpdateInd ( NrGnbCmacSapUser::UeConfig  cmacParams)

CMAC UE config update indication function

Parameters
cmacParamsthe UE config parameters

Definition at line 1408 of file nr-gnb-rrc.cc.

References ns3::NrRrcSap::PhysicalConfigDedicated::antennaInfo, ns3::NrGnbCmacSapUser::UeConfig::m_transmissionMode, ScheduleRrcConnectionReconfiguration(), and ns3::NrRrcSap::AntennaInfoDedicated::transmissionMode.

+ Here is the call graph for this function:

◆ CompleteSetupUe()

void ns3::NrUeManager::CompleteSetupUe ( NrGnbRrcSapProvider::CompleteSetupUeParameters  params)

◆ Configure()

void ns3::NrUeManager::Configure ( )

Perform post-creation configuration steps.

This method is called after the NrUeManager is created and added to the NrGnbRrc's UE map. This method configures the gNB side of the SRB0 and SRB1, the SAP objects, and propagates some information to the MAC and PHY layers.

Definition at line 155 of file nr-gnb-rrc.cc.

References ConfigureMacPhy(), ConfigureSap(), ConfigureSrb0(), and ConfigureSrb1().

+ Here is the call graph for this function:

◆ ConfigureMacPhy()

void ns3::NrUeManager::ConfigureMacPhy ( )

Configure MAC and PHY aspects.

Generate UeUpdateConfigurationReq() towards the MAC, with RNTI and transmission mode. Generate SetSrsConfigurationIndex() towards the PHY. Schedule this NrUeManager instance to be deleted if the UE does not give any sign of life by the RRC connection request timeout duration.

Definition at line 284 of file nr-gnb-rrc.cc.

References ns3::NrRrcSap::PhysicalConfigDedicated::antennaInfo, ns3::NrGnbRrc::ConnectionRequestTimeout(), ns3::NrGnbRrc::HandoverJoiningTimeout(), ns3::NrGnbCmacSapProvider::UeConfig::m_rnti, ns3::NrGnbCmacSapProvider::UeConfig::m_transmissionMode, ns3::NrRrcSap::PhysicalConfigDedicated::soundingRsUlConfigDedicated, ns3::NrRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex, and ns3::NrRrcSap::AntennaInfoDedicated::transmissionMode.

Referenced by Configure().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConfigureSap()

◆ ConfigureSrb0()

◆ ConfigureSrb1()

◆ DoDispose()

void ns3::NrUeManager::DoDispose ( )
overrideprotected

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

◆ DoReceivePdcpSdu()

void ns3::NrUeManager::DoReceivePdcpSdu ( NrPdcpSapUser::ReceivePdcpSduParameters  params)

Receive PDCP SDU function

Parameters
paramsthe receive PDCP SDU parameters

Definition at line 1424 of file nr-gnb-rrc.cc.

References ns3::NrPdcpSapUser::ReceivePdcpSduParameters::lcid, ns3::NrPdcpSapUser::ReceivePdcpSduParameters::pdcpSdu, ns3::NrPdcpSapUser::ReceivePdcpSduParameters::rnti, ns3::NrEpsBearerTag::SetBid(), and ns3::NrEpsBearerTag::SetRnti().

+ Here is the call graph for this function:

◆ GetComponentCarrierId()

uint8_t ns3::NrUeManager::GetComponentCarrierId ( ) const
Returns
the primary component carrier ID

Definition at line 1451 of file nr-gnb-rrc.cc.

◆ GetErabList()

std::vector< NrEpcX2Sap::ErabToBeSetupItem > ns3::NrUeManager::GetErabList ( )
Returns
a list of ERAB-to-be-setup items to be put in a X2 HO REQ message

Definition at line 1008 of file nr-gnb-rrc.cc.

References ns3::NrEpcX2Sap::ErabToBeSetupItem::dlForwarding, ns3::NrEpcX2Sap::ErabToBeSetupItem::erabId, ns3::NrEpcX2Sap::ErabToBeSetupItem::erabLevelQosParameters, ns3::NrEpcX2Sap::ErabToBeSetupItem::gtpTeid, and ns3::NrEpcX2Sap::ErabToBeSetupItem::transportLayerAddress.

Referenced by PrepareHandover().

+ Here is the caller graph for this function:

◆ GetImsi()

uint64_t ns3::NrUeManager::GetImsi ( ) const
Returns
the IMSI, i.e., a globally unique UE identifier

Definition at line 1445 of file nr-gnb-rrc.cc.

Referenced by ns3::NrStatsCalculator::FindImsiFromGnbRlcPath(), and RecvIdealUeContextRemoveRequest().

+ Here is the caller graph for this function:

◆ GetRadioResourceConfigForHandoverPreparationInfo()

NrRrcSap::RadioResourceConfigDedicated ns3::NrUeManager::GetRadioResourceConfigForHandoverPreparationInfo ( )
Returns
the HandoverPreparationInfo sent by the source gNB to the target gNB in the X2-based handover procedure

Definition at line 884 of file nr-gnb-rrc.cc.

Referenced by PrepareHandover().

+ Here is the caller graph for this function:

◆ GetRnti()

uint16_t ns3::NrUeManager::GetRnti ( ) const
Returns
the RNTI, i.e., an UE identifier that is unique within the cell

Definition at line 1439 of file nr-gnb-rrc.cc.

◆ GetRrcConnectionReconfigurationForHandover()

◆ GetSrsConfigurationIndex()

uint16_t ns3::NrUeManager::GetSrsConfigurationIndex ( ) const

◆ GetState()

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

Definition at line 1485 of file nr-gnb-rrc.cc.

◆ GetTypeId()

TypeId ns3::NrUeManager::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 345 of file nr-gnb-rrc.cc.

◆ InitialContextSetupRequest()

void ns3::NrUeManager::InitialContextSetupRequest ( )

Process Initial context setup request message from the MME. It triggers RRC connection reconfiguration.

Definition at line 398 of file nr-gnb-rrc.cc.

◆ PrepareHandover()

void ns3::NrUeManager::PrepareHandover ( uint16_t  cellId)

Start the handover preparation and send the handover request

Parameters
cellIdid of the target cell

Definition at line 674 of file nr-gnb-rrc.cc.

References ns3::NrRrcSap::HandoverPreparationInfo::asConfig, ns3::NrEpcX2Sap::HandoverRequestParams::bearers, ns3::NrEpcX2Sap::HandoverRequestParams::cause, ns3::NrRrcSap::SystemInformationBlockType1::cellAccessRelatedInfo, ns3::NrRrcSap::CellAccessRelatedInfo::cellIdentity, ns3::NrGnbCmacSapProvider::RachConfig::connEstFailCount, ns3::NrRrcSap::TxFailParam::connEstFailCount, ns3::NrRrcSap::CellAccessRelatedInfo::csgIdentity, ns3::NrRrcSap::CellAccessRelatedInfo::csgIndication, ns3::NrRrcSap::MasterInformationBlock::dlBandwidth, ns3::NrRrcSap::SystemInformationBlockType2::freqInfo, GetErabList(), GetRadioResourceConfigForHandoverPreparationInfo(), GetRrcConnectionReconfigurationForHandover(), ns3::NrGnbRrc::HandoverLeavingTimeout(), ns3::NrRrcSap::MobilityControlInfo::haveRachConfigDedicated, ns3::NrEpcX2Sap::HandoverRequestParams::mmeUeS1apId, ns3::NrRrcSap::RrcConnectionReconfiguration::mobilityControlInfo, ns3::NrRrcSap::MobilityControlInfo::newUeIdentity, ns3::NrGnbCmacSapProvider::RachConfig::numberOfRaPreambles, ns3::NrRrcSap::PreambleInfo::numberOfRaPreambles, ns3::NrEpcX2Sap::HandoverRequestParams::oldGnbUeX2apId, ns3::NrRrcSap::PlmnIdentityInfo::plmnIdentity, ns3::NrRrcSap::CellAccessRelatedInfo::plmnIdentityInfo, ns3::NrRrcSap::RachConfigCommon::preambleInfo, ns3::NrGnbCmacSapProvider::RachConfig::preambleTransMax, ns3::NrRrcSap::RaSupervisionInfo::preambleTransMax, ns3::NrRrcSap::RadioResourceConfigCommon::rachConfigCommon, ns3::NrRrcSap::RadioResourceConfigCommonSib::rachConfigCommon, ns3::NrRrcSap::MobilityControlInfo::rachConfigDedicated, ns3::NrRrcSap::MobilityControlInfo::radioResourceConfigCommon, ns3::NrRrcSap::SystemInformationBlockType2::radioResourceConfigCommon, ns3::NrGnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPrachMaskIndex, ns3::NrRrcSap::RachConfigDedicated::raPrachMaskIndex, ns3::NrGnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPreambleId, ns3::NrRrcSap::RachConfigDedicated::raPreambleIndex, ns3::NrGnbCmacSapProvider::RachConfig::raResponseWindowSize, ns3::NrRrcSap::RaSupervisionInfo::raResponseWindowSize, ns3::NrRrcSap::RachConfigCommon::raSupervisionInfo, ns3::NrEpcX2Sap::HandoverRequestParams::rrcContext, ns3::NrEpcX2Sap::HandoverRequestParams::sourceCellId, ns3::NrRrcSap::AsConfig::sourceDlCarrierFreq, ns3::NrRrcSap::AsConfig::sourceMasterInformationBlock, ns3::NrRrcSap::AsConfig::sourceMeasConfig, ns3::NrRrcSap::AsConfig::sourceRadioResourceConfig, ns3::NrRrcSap::AsConfig::sourceSystemInformationBlockType1, ns3::NrRrcSap::AsConfig::sourceSystemInformationBlockType2, ns3::NrRrcSap::AsConfig::sourceUeIdentity, ns3::NrRrcSap::MasterInformationBlock::systemFrameNumber, ns3::NrEpcX2Sap::HandoverRequestParams::targetCellId, ns3::NrRrcSap::MobilityControlInfo::targetPhysCellId, ns3::NrRrcSap::RachConfigCommon::txFailParam, ns3::NrEpcX2Sap::HandoverRequestParams::ueAggregateMaxBitRateDownlink, ns3::NrEpcX2Sap::HandoverRequestParams::ueAggregateMaxBitRateUplink, ns3::NrRrcSap::FreqInfo::ulBandwidth, ns3::NrRrcSap::FreqInfo::ulCarrierFreq, and ns3::NrGnbCmacSapProvider::AllocateNcRaPreambleReturnValue::valid.

+ Here is the call graph for this function:

◆ RecordDataRadioBearersToBeStarted()

void ns3::NrUeManager::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 541 of file nr-gnb-rrc.cc.

Referenced by RecvRrcConnectionRequest(), and ScheduleRrcConnectionReconfiguration().

+ Here is the caller graph for this function:

◆ RecvHandoverCancel()

void ns3::NrUeManager::RecvHandoverCancel ( NrEpcX2SapUser::HandoverCancelParams  params)

Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message

Parameters
paramsthe SN STATUS

Definition at line 1110 of file nr-gnb-rrc.cc.

◆ RecvHandoverPreparationFailure()

void ns3::NrUeManager::RecvHandoverPreparationFailure ( uint16_t  cellId)

Take the necessary actions in response to the reception of an X2 HO preparation failure message

Parameters
cellIdid of the target cell

Definition at line 1060 of file nr-gnb-rrc.cc.

References SendRrcConnectionRelease().

+ Here is the call graph for this function:

◆ RecvHandoverRequestAck()

void ns3::NrUeManager::RecvHandoverRequestAck ( NrEpcX2SapUser::HandoverRequestAckParams  params)

take the necessary actions in response to the reception of an X2 HANDOVER REQUEST ACK message

Parameters
params

Definition at line 814 of file nr-gnb-rrc.cc.

References ns3::NrEpcX2Sap::HandoverRequestAckParams::admittedBearers, ns3::NrEpcX2Sap::ErabsSubjectToStatusTransferItem::dlPdcpSn, ns3::NrEpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, ns3::NrGnbRrc::HandoverLeavingTimeout(), ns3::NrRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, ns3::NrRrcSap::RrcConnectionReconfiguration::haveNonCriticalExtension, ns3::NrRrcSap::RrcConnectionReconfiguration::mobilityControlInfo, ns3::NrEpcX2Sap::HandoverRequestAckParams::newGnbUeX2apId, ns3::NrEpcX2Sap::SnStatusTransferParams::newGnbUeX2apId, ns3::NrRrcSap::RrcConnectionReconfiguration::nonCriticalExtension, ns3::NrEpcX2Sap::HandoverRequestAckParams::notAdmittedBearers, ns3::NrEpcX2Sap::HandoverRequestAckParams::oldGnbUeX2apId, ns3::NrEpcX2Sap::SnStatusTransferParams::oldGnbUeX2apId, ns3::NrEpcX2Sap::HandoverRequestAckParams::rrcContext, ns3::NrPdcp::Status::rxSn, ns3::NrRrcSap::NonCriticalExtensionConfiguration::sCellToAddModList, ns3::NrEpcX2Sap::HandoverRequestAckParams::sourceCellId, ns3::NrEpcX2Sap::SnStatusTransferParams::sourceCellId, ns3::NrEpcX2Sap::HandoverRequestAckParams::targetCellId, ns3::NrEpcX2Sap::SnStatusTransferParams::targetCellId, ns3::NrRrcSap::MobilityControlInfo::targetPhysCellId, ns3::NrPdcp::Status::txSn, and ns3::NrEpcX2Sap::ErabsSubjectToStatusTransferItem::ulPdcpSn.

+ Here is the call graph for this function:

◆ RecvIdealUeContextRemoveRequest()

void ns3::NrUeManager::RecvIdealUeContextRemoveRequest ( uint16_t  rnti)

Implement the NrGnbRrcSapProvider::RecvIdealUeContextRemoveRequest interface.

Parameters
rntithe C-RNTI identifying the user

Definition at line 622 of file nr-gnb-rrc.cc.

References GetImsi().

+ Here is the call graph for this function:

◆ RecvMeasurementReport()

◆ RecvRrcConnectionReconfigurationCompleted()

◆ RecvRrcConnectionReestablishmentComplete()

void ns3::NrUeManager::RecvRrcConnectionReestablishmentComplete ( NrRrcSap::RrcConnectionReestablishmentComplete  msg)

Implement the NrGnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete interface.

Parameters
msgthe RRC connection reestablsihment complete message

Definition at line 1340 of file nr-gnb-rrc.cc.

◆ RecvRrcConnectionReestablishmentRequest()

void ns3::NrUeManager::RecvRrcConnectionReestablishmentRequest ( NrRrcSap::RrcConnectionReestablishmentRequest  msg)

◆ RecvRrcConnectionRequest()

◆ RecvRrcConnectionSetupCompleted()

void ns3::NrUeManager::RecvRrcConnectionSetupCompleted ( NrRrcSap::RrcConnectionSetupCompleted  msg)

Implement the NrGnbRrcSapProvider::RecvRrcConnectionSetupCompleted interface.

Parameters
msgRRC connection setup completed message

Definition at line 1197 of file nr-gnb-rrc.cc.

◆ RecvSnStatusTransfer()

void ns3::NrUeManager::RecvSnStatusTransfer ( NrEpcX2SapUser::SnStatusTransferParams  params)

Take the necessary actions in response to the reception of an X2 SN STATUS TRANSFER message

Parameters
paramsthe SN STATUS

Definition at line 1084 of file nr-gnb-rrc.cc.

References ns3::NrEpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, ns3::NrPdcp::Status::rxSn, and ns3::NrPdcp::Status::txSn.

◆ RecvUeContextRelease()

void ns3::NrUeManager::RecvUeContextRelease ( NrEpcX2SapUser::UeContextReleaseParams  params)

Take the necessary actions in response to the reception of an X2 UE CONTEXT RELEASE message

Parameters
paramsthe SN STATUS

Definition at line 1102 of file nr-gnb-rrc.cc.

◆ ReleaseDataRadioBearer()

void ns3::NrUeManager::ReleaseDataRadioBearer ( uint8_t  drbid)

◆ ScheduleRrcConnectionReconfiguration()

void ns3::NrUeManager::ScheduleRrcConnectionReconfiguration ( )

schedule an RRC Connection Reconfiguration procedure with the UE

Definition at line 641 of file nr-gnb-rrc.cc.

References RecordDataRadioBearersToBeStarted().

Referenced by CmacUeConfigUpdateInd(), SetPdschConfigDedicated(), SetSrsConfigurationIndex(), and SetupDataRadioBearer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendData()

void ns3::NrUeManager::SendData ( uint8_t  bid,
Ptr< Packet >  p 
)

Send a data packet over the appropriate Data Radio Bearer. If state is HANDOVER_JOINING (i.e. target gNB has received the Handover Request), the packet is buffered. If state is HANDOVER_LEAVING (i.e. source gNB has received the RRC Connection Reconfiguration, the packet is sent through the X2 interface.

Parameters
bidthe corresponding EPS Bearer ID
pthe packet

Definition at line 962 of file nr-gnb-rrc.cc.

References ns3::NrEpcX2Sap::UeDataParams::gtpTeid, ns3::NrEpcX2Sap::UeDataParams::sourceCellId, ns3::NrEpcX2Sap::UeDataParams::targetCellId, and ns3::NrEpcX2Sap::UeDataParams::ueData.

◆ SendRrcConnectionRelease()

void ns3::NrUeManager::SendRrcConnectionRelease ( )

This function acts as an interface to trigger the connection release towards gNB, EPC and UE.

Bearer de-activation indication towards epc-gnb application and removal of UE context at the eNodeB

Definition at line 1118 of file nr-gnb-rrc.cc.

References ns3::NrRrcSap::RrcConnectionRelease::rrcTransactionIdentifier.

Referenced by RecvHandoverPreparationFailure().

+ Here is the caller graph for this function:

◆ SendUeContextRelease()

void ns3::NrUeManager::SendUeContextRelease ( )

send the UE CONTEXT RELEASE X2 message to the source gNB, thus successfully terminating an X2 handover procedure

Definition at line 1026 of file nr-gnb-rrc.cc.

References ns3::NrEpcX2Sap::UeContextReleaseParams::newGnbUeX2apId, ns3::NrEpcX2Sap::UeContextReleaseParams::oldGnbUeX2apId, ns3::NrEpcX2Sap::UeContextReleaseParams::sourceCellId, and ns3::NrEpcX2Sap::UeContextReleaseParams::targetCellId.

◆ SetImsi()

void ns3::NrUeManager::SetImsi ( uint64_t  imsi)

Set the IMSI

Parameters
imsithe IMSI

Definition at line 392 of file nr-gnb-rrc.cc.

◆ SetPdschConfigDedicated()

void ns3::NrUeManager::SetPdschConfigDedicated ( NrRrcSap::PdschConfigDedicated  pdschConfigDedicated)

Configure PdschConfigDedicated (i.e. P_A value) for UE and start RrcConnectionReconfiguration to inform UE about new PdschConfigDedicated

Parameters
pdschConfigDedicatednew pdschConfigDedicated (i.e. P_A value) to be set

Definition at line 1491 of file nr-gnb-rrc.cc.

References ns3::NrRrcSap::PhysicalConfigDedicated::pdschConfigDedicated, and ScheduleRrcConnectionReconfiguration().

+ Here is the call graph for this function:

◆ SetSource()

void ns3::NrUeManager::SetSource ( uint16_t  sourceCellId,
uint16_t  sourceX2apId 
)

Set the identifiers of the source gNB for the case where a UE joins the current gNB as part of a handover procedure

Parameters
sourceCellId
sourceX2apId

Definition at line 385 of file nr-gnb-rrc.cc.

◆ SetSrsConfigurationIndex()

void ns3::NrUeManager::SetSrsConfigurationIndex ( uint16_t  srsConfIndex)

Set the SRS configuration index and do the necessary reconfiguration

Parameters
srsConfIndex

Definition at line 1463 of file nr-gnb-rrc.cc.

References ScheduleRrcConnectionReconfiguration(), ns3::NrRrcSap::PhysicalConfigDedicated::soundingRsUlConfigDedicated, and ns3::NrRrcSap::SoundingRsUlConfigDedicated::srsConfigIndex.

+ Here is the call graph for this function:

◆ SetupDataRadioBearer()

void ns3::NrUeManager::SetupDataRadioBearer ( NrEpsBearer  bearer,
uint8_t  bearerId,
uint32_t  gtpTeid,
Ipv4Address  transportLayerAddress 
)

Setup a new data radio bearer, including both the configuration within the gNB and the necessary RRC signaling with the UE

Parameters
bearerthe QoS characteristics of the bearer
bearerIdthe EPS bearer identifier
gtpTeidS1-bearer GTP tunnel endpoint identifier, see 36.423 9.2.1
transportLayerAddressIP Address of the SGW, see 36.423 9.2.1

Definition at line 413 of file nr-gnb-rrc.cc.

References ns3::NrEpsBearer::gbrQosInfo, ns3::NrGbrQosInformation::gbrUl, ns3::NrEpsBearer::GetPacketDelayBudgetMs(), ns3::NrEpsBearer::GetResourceType(), ns3::NrRlcAm::GetTypeId(), ns3::NrRlcSm::GetTypeId(), ScheduleRrcConnectionReconfiguration(), and ns3::NrRlc::SetNrMacSapProvider().

+ Here is the call graph for this function:

◆ StartDataRadioBearers()

void ns3::NrUeManager::StartDataRadioBearers ( )

Start the data radio bearers that have been previously recorded to be started using RecordDataRadioBearersToBeStarted()

Definition at line 551 of file nr-gnb-rrc.cc.

Referenced by RecvRrcConnectionReconfigurationCompleted().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ NrPdcpSpecificNrPdcpSapUser< NrUeManager >

friend class NrPdcpSpecificNrPdcpSapUser< NrUeManager >
friend

allow NrPdcpSpecificNrPdcpSapUser<NrUeManager> class friend access

Definition at line 1 of file nr-gnb-rrc.h.

Referenced by ConfigureSap().


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