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

#include "introspected-doxygen.h"

+ Inheritance diagram for ns3::NrEpcUeNas:
+ Collaboration diagram for ns3::NrEpcUeNas:

Public Types

enum  State {
  OFF = 0 , ATTACHING , IDLE_REGISTERED , CONNECTING_TO_EPC ,
  ACTIVE , NUM_STATES
}
 
typedef void(* StateTracedCallback) (const State oldState, const State newState)
 

Public Member Functions

 NrEpcUeNas ()
 
 ~NrEpcUeNas () override
 
void ActivateEpsBearer (NrEpsBearer bearer, Ptr< NrEpcTft > tft)
 
void Connect ()
 Causes NAS to tell AS to go to ACTIVE state.
 
void Connect (uint16_t cellId, uint32_t dlEarfcn)
 Causes NAS to tell AS to camp to a specific cell and go to ACTIVE state.
 
void Disconnect ()
 
void DoDispose () override
 
NrAsSapUserGetAsSapUser ()
 
uint32_t GetCsgId () const
 
State GetState () const
 
bool Send (Ptr< Packet > p, uint16_t protocolNumber)
 
void SetAsSapProvider (NrAsSapProvider *s)
 
void SetCsgId (uint32_t csgId)
 
void SetDevice (Ptr< NetDevice > dev)
 
void SetForwardUpCallback (Callback< void, Ptr< Packet > > cb)
 
void SetImsi (uint64_t imsi)
 
void StartCellSelection (uint32_t dlEarfcn)
 Causes NAS to tell AS to find a suitable cell and camp to it.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 

Friends

class MemberNrAsSapUser< NrEpcUeNas >
 allow MemberNrAsSapUser<NrEpcUeNas> class friend access
 

Detailed Description

Config Paths

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

No Attributes are defined for this type.

TraceSources

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

Definition at line 23 of file nr-epc-ue-nas.h.

Member Typedef Documentation

◆ StateTracedCallback

typedef void(* ns3::NrEpcUeNas::StateTracedCallback) (const State oldState, const State newState)

TracedCallback signature for state change events.

Parameters
[in]oldStateThe old State.
[in]newStatethe new State.

Definition at line 169 of file nr-epc-ue-nas.h.

Member Enumeration Documentation

◆ State

Definition of NAS states as per "LTE - From theory to practice", Section 3.2.3.2 "Connection Establishment and Release"

Definition at line 148 of file nr-epc-ue-nas.h.

Constructor & Destructor Documentation

◆ NrEpcUeNas()

ns3::NrEpcUeNas::NrEpcUeNas ( )

Constructor

Definition at line 42 of file nr-epc-ue-nas.cc.

References MemberNrAsSapUser< NrEpcUeNas >.

◆ ~NrEpcUeNas()

ns3::NrEpcUeNas::~NrEpcUeNas ( )
override

Destructor

Definition at line 52 of file nr-epc-ue-nas.cc.

Member Function Documentation

◆ ActivateEpsBearer()

void ns3::NrEpcUeNas::ActivateEpsBearer ( NrEpsBearer  bearer,
Ptr< NrEpcTft tft 
)

Activate an EPS bearer

Parameters
bearerthe characteristics of the bearer to be created
tftthe TFT identifying the traffic that will go on this bearer

Definition at line 166 of file nr-epc-ue-nas.cc.

Referenced by ns3::NrNoBackhaulEpcHelper::DoActivateEpsBearerForUe().

+ Here is the caller graph for this function:

◆ Connect() [1/2]

void ns3::NrEpcUeNas::Connect ( )

Causes NAS to tell AS to go to ACTIVE state.

The end result is equivalent with EMM Registered + ECM Connected states.

Definition at line 137 of file nr-epc-ue-nas.cc.

References ns3::NrAsSapProvider::Connect().

+ Here is the call graph for this function:

◆ Connect() [2/2]

void ns3::NrEpcUeNas::Connect ( uint16_t  cellId,
uint32_t  dlEarfcn 
)

Causes NAS to tell AS to camp to a specific cell and go to ACTIVE state.

Parameters
cellIdthe id of the gNB to camp on
dlEarfcnthe DL frequency of the gNB

The end result is equivalent with EMM Registered + ECM Connected states. Since RRC Idle Mode cell selection is not supported yet, we force the UE RRC to be camped on a specific gNB.

Definition at line 146 of file nr-epc-ue-nas.cc.

References ns3::NrAsSapProvider::Connect(), and ns3::NrAsSapProvider::ForceCampedOnGnb().

+ Here is the call graph for this function:

◆ Disconnect()

void ns3::NrEpcUeNas::Disconnect ( )

instruct the NAS to disconnect

Definition at line 158 of file nr-epc-ue-nas.cc.

References ns3::NrAsSapProvider::Disconnect().

+ Here is the call graph for this function:

◆ DoDispose()

void ns3::NrEpcUeNas::DoDispose ( )
override

Definition at line 58 of file nr-epc-ue-nas.cc.

◆ GetAsSapUser()

NrAsSapUser * ns3::NrEpcUeNas::GetAsSapUser ( )
Returns
the AS SAP user exported by this RRC

Definition at line 116 of file nr-epc-ue-nas.cc.

◆ GetCsgId()

uint32_t ns3::NrEpcUeNas::GetCsgId ( ) const
Returns
csgId Closed Subscriber Group identity

Definition at line 102 of file nr-epc-ue-nas.cc.

◆ GetState()

NrEpcUeNas::State ns3::NrEpcUeNas::GetState ( ) const
Returns
The current state

Definition at line 265 of file nr-epc-ue-nas.cc.

◆ GetTypeId()

TypeId ns3::NrEpcUeNas::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 65 of file nr-epc-ue-nas.cc.

◆ Send()

bool ns3::NrEpcUeNas::Send ( Ptr< Packet >  p,
uint16_t  protocolNumber 
)

Enqueue an IP packet on the proper bearer for uplink transmission

Parameters
pthe packet
protocolNumberthe protocol number of the packet
Returns
true if successful, false if an error occurred

Definition at line 187 of file nr-epc-ue-nas.cc.

References ns3::NrEpcTftClassifier::Classify(), and ns3::NrAsSapProvider::SendData().

+ Here is the call graph for this function:

◆ SetAsSapProvider()

void ns3::NrEpcUeNas::SetAsSapProvider ( NrAsSapProvider s)

Set the AS SAP provider to interact with the NAS entity

Parameters
sthe AS SAP provider

Definition at line 109 of file nr-epc-ue-nas.cc.

◆ SetCsgId()

void ns3::NrEpcUeNas::SetCsgId ( uint32_t  csgId)
Parameters
csgIdClosed Subscriber Group identity

Definition at line 94 of file nr-epc-ue-nas.cc.

References ns3::NrAsSapProvider::SetCsgWhiteList().

+ Here is the call graph for this function:

◆ SetDevice()

void ns3::NrEpcUeNas::SetDevice ( Ptr< NetDevice >  dev)
Parameters
devthe UE NetDevice

Definition at line 80 of file nr-epc-ue-nas.cc.

◆ SetForwardUpCallback()

void ns3::NrEpcUeNas::SetForwardUpCallback ( Callback< void, Ptr< Packet > >  cb)

set the callback used to forward data packets up the stack

Parameters
cbthe callback

Definition at line 123 of file nr-epc-ue-nas.cc.

◆ SetImsi()

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

Definition at line 87 of file nr-epc-ue-nas.cc.

◆ StartCellSelection()

void ns3::NrEpcUeNas::StartCellSelection ( uint32_t  dlEarfcn)

Causes NAS to tell AS to find a suitable cell and camp to it.

Parameters
dlEarfcnthe DL frequency of the gNB

Definition at line 130 of file nr-epc-ue-nas.cc.

References ns3::NrAsSapProvider::StartCellSelection().

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ MemberNrAsSapUser< NrEpcUeNas >

friend class MemberNrAsSapUser< NrEpcUeNas >
friend

allow MemberNrAsSapUser<NrEpcUeNas> class friend access

Definition at line 1 of file nr-epc-ue-nas.h.

Referenced by NrEpcUeNas().


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