21 #include <ns3/fatal-error.h>
24 #include <ns3/epc-helper.h>
84 .AddConstructor<EpcUeNas> ()
85 .AddTraceSource (
"StateTransition",
86 "fired upon every UE NAS state transition",
152 NS_FATAL_ERROR (
"the necessary NAS signaling to activate a bearer after the initial context has already been setup is not implemented");
175 uint8_t bid = (uint8_t) (
id & 0x000000FF);
189 NS_LOG_WARN (
this <<
" NAS OFF, discarding packet");
206 NS_FATAL_ERROR (
"connection failed, it should not happen with the current model");
void SwitchToState(State s)
void ActivateEpsBearer(EpsBearer bearer, Ptr< EpcTft > tft)
Callback< void, Ptr< Packet > > m_forwardUpCallback
smart pointer class similar to boost::intrusive_ptr
#define NS_LOG_FUNCTION(parameters)
LteAsSapProvider * m_asSapProvider
NS_LOG_COMPONENT_DEFINE("EpcUeNas")
void Add(Ptr< EpcTft > tft, uint32_t id)
#define NS_ASSERT(condition)
void DoNotifyConnectionSuccessful()
Ptr< NetDevice > m_device
uint32_t Classify(Ptr< Packet > p, EpcTft::Direction direction)
void DoNotifyConnectionReleased()
virtual void SendData(Ptr< Packet > packet, uint8_t bid)=0
#define NS_FATAL_ERROR(msg)
fatal error handling
LteAsSapUser * GetAsSapUser()
void SetDevice(Ptr< NetDevice > dev)
virtual void ForceCampedOnEnb(uint16_t cellId, uint16_t earfcn)=0
NS_OBJECT_ENSURE_REGISTERED(AntennaModel)
void Connect(uint16_t cellId, uint16_t earfcn)
EpcTftClassifier m_tftClassifier
const char * g_ueNasStateName[EpcUeNas::NUM_STATES]
TracedCallback< State, State > m_stateTransitionCallback
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
void DoNotifyConnectionFailed()
bool Send(Ptr< Packet > p)
#define NS_ASSERT_MSG(condition, message)
void SetForwardUpCallback(Callback< void, Ptr< Packet > > cb)
LteAsSapUser * m_asSapUser
std::string ToString(EpcUeNas::State s)
void DoActivateEpsBearer(EpsBearer bearer, Ptr< EpcTft > tft)
virtual void Disconnect()=0
void SetAsSapProvider(LteAsSapProvider *s)
static TypeId GetTypeId(void)
virtual void Connect(void)=0
a base class which provides memory management and object aggregation
void SetImsi(uint64_t imsi)
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
void DoRecvData(Ptr< Packet > packet)
std::list< BearerToBeActivated > m_bearersToBeActivatedList
virtual void DoDispose(void)