|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
21 #include <ns3/fatal-error.h>
24 #include <ns3/epc-helper.h>
90 .AddTraceSource (
"StateTransition",
91 "fired upon every UE NAS state transition",
93 "ns3::EpcUeNas::StateTracedCallback")
193 NS_FATAL_ERROR (
"the necessary NAS signaling to activate a bearer after the initial context has already been setup is not implemented");
217 uint8_t bid = (uint8_t) (
id & 0x000000FF);
231 NS_LOG_WARN (
this <<
" NAS OFF, discarding packet");
virtual void SetCsgWhiteList(uint32_t csgId)=0
Set the selected Closed Subscriber Group subscription list to be used for cell selection.
void SetForwardUpCallback(Callback< void, Ptr< Packet > > cb)
set the callback used to forward data packets up the stack
a unique identifier for an interface.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
virtual void Disconnect()=0
Tell the RRC entity to release the connection.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
void SetCsgId(uint32_t csgId)
uint8_t m_bidCounter
bid counter
Every class exported by the ns3 library is enclosed in the ns3 namespace.
LteAsSapProvider * m_asSapProvider
LTE SAP provider.
void Connect()
Causes NAS to tell AS to go to ACTIVE state.
static const std::string & ToString(EpcUeNas::State s)
void DoNotifyConnectionSuccessful()
Notify successful connection.
State
Definition of NAS states as per "LTE - From theory to practice", Section 3.2.3.2 "Connection Establis...
#define NS_LOG_WARN(msg)
Use NS_LOG to output a message of level LOG_WARN.
@ OFF
The PHY layer is switched off.
virtual ~EpcUeNas()
Destructor.
std::list< BearerToBeActivated > m_bearersToBeActivatedListForReconnection
bearers to be activated list maintained and to be used for reconnecting an out-of-sync UE
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
void SetDevice(Ptr< NetDevice > dev)
State m_state
The current UE NAS state.
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
uint32_t GetCsgId() const
virtual void DoDispose(void)
Destructor implementation.
A base class which provides memory management and object aggregation.
This class implements the Access Stratum (AS) Service Access Point (SAP), i.e., the interface between...
void StartCellSelection(uint32_t dlEarfcn)
Causes NAS to tell AS to find a suitable cell and camp to it.
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
uint32_t m_csgId
Closed Subscriber Group identity.
void DoNotifyConnectionFailed()
Notify connection failed.
bool Send(Ptr< Packet > p, uint16_t protocolNumber)
Enqueue an IP packet on the proper bearer for uplink transmission.
EpsBearer bearer
EPS bearer.
void ActivateEpsBearer(EpsBearer bearer, Ptr< EpcTft > tft)
Activate an EPS bearer.
uint32_t Classify(Ptr< Packet > p, EpcTft::Direction direction, uint16_t protocolNumber)
classify an IP packet
void SwitchToState(State s)
Switch the UE RRC to the given state.
This class implements the Access Stratum (AS) Service Access Point (SAP), i.e., the interface between...
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
static const std::string g_ueNasStateName[EpcUeNas::NUM_STATES]
Map each of UE NAS states to its string representation.
Callback< void, Ptr< Packet > > m_forwardUpCallback
upward callback
virtual void ForceCampedOnEnb(uint16_t cellId, uint32_t dlEarfcn)=0
Force the RRC entity to stay camped on a certain eNodeB.
std::list< BearerToBeActivated > m_bearersToBeActivatedList
bearers to be activated list
void Delete(uint32_t id)
delete an existing TFT from the classifier
This class contains the specification of EPS Bearers.
EpcTftClassifier m_tftClassifier
tft classifier
void SetAsSapProvider(LteAsSapProvider *s)
Set the AS SAP provider to interact with the NAS entity.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
LteAsSapUser * GetAsSapUser()
virtual void SendData(Ptr< Packet > packet, uint8_t bid)=0
Send a data packet.
uint64_t m_imsi
The unique UE identifier.
Ptr< NetDevice > m_device
The UE NetDevice.
void DoActivateEpsBearer(EpsBearer bearer, Ptr< EpcTft > tft)
Activate EPS Bearer.
void Add(Ptr< EpcTft > tft, uint32_t id)
add a TFT to the Classifier
BearerToBeActivated structure.
void DoNotifyConnectionReleased()
Notify connection released.
void DoRecvData(Ptr< Packet > packet)
Receive data.
LteAsSapUser * m_asSapUser
LTE SAP user.
virtual void StartCellSelection(uint32_t dlEarfcn)=0
Initiate Idle mode cell selection procedure.
TracedCallback< State, State > m_stateTransitionCallback
The StateTransition trace source.
virtual void Connect(void)=0
Tell the RRC entity to enter Connected mode.
static TypeId GetTypeId(void)
Get the type ID.
friend class MemberLteAsSapUser< EpcUeNas >
allow MemberLteAsSapUser<EpcUeNas> class friend access
static EventId ScheduleNow(FUNC f, Ts &&... args)
Schedule an event to expire Now.
void Disconnect()
instruct the NAS to disconnect
void SetImsi(uint64_t imsi)