21 #include <ns3/fatal-error.h> 
   24 #include <ns3/epc-helper.h> 
   86     .AddConstructor<EpcUeNas> ()
 
   87     .AddTraceSource (
"StateTransition",
 
   88                      "fired upon every UE NAS state transition",
 
  189       NS_FATAL_ERROR (
"the necessary NAS signaling to activate a bearer after the initial context has already been setup is not implemented");
 
  212         uint8_t bid = (uint8_t) (
id & 0x000000FF);
 
  226       NS_LOG_WARN (
this << 
" NAS OFF, discarding packet");
 
void SwitchToState(State s)
void ActivateEpsBearer(EpsBearer bearer, Ptr< EpcTft > tft)
Activate an EPS bearer. 
Callback< void, Ptr< Packet > > m_forwardUpCallback
smart pointer class similar to boost::intrusive_ptr 
#define NS_LOG_FUNCTION(parameters)
LteAsSapProvider * m_asSapProvider
virtual void StartCellSelection(uint16_t dlEarfcn)=0
Initiate Idle mode cell selection procedure. 
NS_LOG_COMPONENT_DEFINE("EpcUeNas")
void Add(Ptr< EpcTft > tft, uint32_t id)
add a TFT to the Classifier 
virtual void ForceCampedOnEnb(uint16_t cellId, uint16_t dlEarfcn)=0
Force the RRC entity to stay camped on a certain eNodeB. 
#define NS_ASSERT(condition)
void DoNotifyConnectionSuccessful()
NS_OBJECT_ENSURE_REGISTERED(NullMessageSimulatorImpl)
void StartCellSelection(uint16_t dlEarfcn)
Causes NAS to tell AS to find a suitable cell and camp to it. 
This class implements the Access Stratum (AS) Service Access Point (SAP), i.e., the interface between...
Ptr< NetDevice > m_device
uint32_t Classify(Ptr< Packet > p, EpcTft::Direction direction)
classify an IP packet 
void DoNotifyConnectionReleased()
virtual void SendData(Ptr< Packet > packet, uint8_t bid)=0
Send a data packet. 
#define NS_FATAL_ERROR(msg)
fatal error handling 
This class contains the specification of EPS Bearers. 
LteAsSapUser * GetAsSapUser()
void SetCsgId(uint32_t csgId)
void SetDevice(Ptr< NetDevice > dev)
Template for the implementation of the LteAsSapUser as a member of an owner class of type C to which ...
EpcTftClassifier m_tftClassifier
const char * g_ueNasStateName[EpcUeNas::NUM_STATES]
TracedCallback< State, State > m_stateTransitionCallback
uint32_t GetCsgId() const 
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
void DoNotifyConnectionFailed()
This class implements the Access Stratum (AS) Service Access Point (SAP), i.e., the interface between...
bool Send(Ptr< Packet > p)
Enqueue an IP packet on the proper bearer for uplink transmission. 
void Disconnect()
instruct the NAS to disconnect 
#define NS_ASSERT_MSG(condition, message)
virtual ~EpcUeNas()
Destructor. 
void SetForwardUpCallback(Callback< void, Ptr< Packet > > cb)
set the callback used to forward data packets up the stack 
LteAsSapUser * m_asSapUser
std::string ToString(EpcUeNas::State s)
void DoActivateEpsBearer(EpsBearer bearer, Ptr< EpcTft > tft)
State
Definition of NAS states as per "LTE - From theory to practice", Section 3.2.3.2 "Connection Establis...
virtual void Disconnect()=0
Tell the RRC entity to release the connection. 
void SetAsSapProvider(LteAsSapProvider *s)
Set the AS SAP provider to interact with the NAS entity. 
static TypeId GetTypeId(void)
virtual void Connect(void)=0
Tell the RRC entity to enter Connected mode. 
void Connect()
Causes NAS to tell AS to go to ACTIVE state. 
a base class which provides memory management and object aggregation 
void SetImsi(uint64_t imsi)
virtual void SetCsgWhiteList(uint32_t csgId)=0
Set the selected Closed Subscriber Group subscription list to be used for cell selection. 
a unique identifier for an interface. 
TypeId SetParent(TypeId tid)
void DoRecvData(Ptr< Packet > packet)
std::list< BearerToBeActivated > m_bearersToBeActivatedList
virtual void DoDispose(void)
This method is called by Object::Dispose or by the object's destructor, whichever comes first...