16#include <ns3/object.h>
17#include <ns3/traced-callback.h>
Base helper class to handle the creation of the EPC entities.
classifies IP packets according to Traffic Flow Templates (TFTs)
void SwitchToState(State s)
Switch the UE RRC to the given state.
uint64_t m_imsi
The unique UE identifier.
State m_state
The current UE NAS state.
~EpcUeNas() override
Destructor.
void DoNotifyConnectionSuccessful()
Notify successful connection.
Callback< void, Ptr< Packet > > m_forwardUpCallback
upward callback
LteAsSapUser * m_asSapUser
LTE SAP user.
void SetDevice(Ptr< NetDevice > dev)
uint8_t m_bidCounter
bid counter
std::list< BearerToBeActivated > m_bearersToBeActivatedListForReconnection
bearers to be activated list maintained and to be used for reconnecting an out-of-sync UE
TracedCallback< State, State > m_stateTransitionCallback
The StateTransition trace source.
void StartCellSelection(uint32_t dlEarfcn)
Causes NAS to tell AS to find a suitable cell and camp to it.
uint32_t m_csgId
Closed Subscriber Group identity.
LteAsSapUser * GetAsSapUser()
void DoActivateEpsBearer(EpsBearer bearer, Ptr< EpcTft > tft)
Activate EPS Bearer.
State
Definition of NAS states as per "LTE - From theory to practice", Section 3.2.3.2 "Connection Establis...
void DoNotifyConnectionFailed()
Notify connection failed.
LteAsSapProvider * m_asSapProvider
LTE SAP provider.
static TypeId GetTypeId()
Get the type ID.
void Disconnect()
instruct the NAS to disconnect
EpcTftClassifier m_tftClassifier
tft classifier
void DoDispose() override
Destructor implementation.
void DoNotifyConnectionReleased()
Notify connection released.
void Connect()
Causes NAS to tell AS to go to ACTIVE state.
void SetImsi(uint64_t imsi)
Ptr< NetDevice > m_device
The UE NetDevice.
void SetAsSapProvider(LteAsSapProvider *s)
Set the AS SAP provider to interact with the NAS entity.
void SetCsgId(uint32_t csgId)
void ActivateEpsBearer(EpsBearer bearer, Ptr< EpcTft > tft)
Activate an EPS bearer.
void(* StateTracedCallback)(const State oldState, const State newState)
TracedCallback signature for state change events.
void SetForwardUpCallback(Callback< void, Ptr< Packet > > cb)
set the callback used to forward data packets up the stack
std::list< BearerToBeActivated > m_bearersToBeActivatedList
bearers to be activated list
void DoRecvData(Ptr< Packet > packet)
Receive data.
bool Send(Ptr< Packet > p, uint16_t protocolNumber)
Enqueue an IP packet on the proper bearer for uplink transmission.
uint32_t GetCsgId() const
This class contains the specification of EPS Bearers.
This class implements the Access Stratum (AS) Service Access Point (SAP), i.e., the interface between...
This class implements the Access Stratum (AS) Service Access Point (SAP), i.e., the interface between...
Template for the implementation of the LteAsSapUser as a member of an owner class of type C to which ...
Network layer to device interface.
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
Forward calls to a chain of Callback.
a unique identifier for an interface.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
BearerToBeActivated structure.
EpsBearer bearer
EPS bearer.