src/lte/model/epc-enb-application.h
changeset 9345 8290ae6cab62
parent 9337 ae7126b266ce
child 9380 890e3ccc4bc5
child 9406 7f0f9d8f8e20
--- a/src/lte/model/epc-enb-application.h	Fri Jul 20 18:24:23 2012 +0200
+++ b/src/lte/model/epc-enb-application.h	Sun Jul 29 14:29:41 2012 +0200
@@ -48,6 +48,8 @@
 class EpcEnbApplication : public Application
 {
 
+  friend class MemberEpcEnbS1SapProvider<EpcEnbApplication>;
+
 public:
 
   // inherited from Object
@@ -85,14 +87,6 @@
    */
   EpcEnbS1SapProvider* GetS1SapProvider ();
 
-
-  /** 
-   * \see EpcEnbS1SapUser::DataRadioBearerSetupResponse
-   * 
-   * \param params 
-   */
-  void DoDataRadioBearerSetupResponse (EpcEnbS1SapProvider::DataRadioBearerSetupResponseParameters params);
-
   /** 
    * This method is triggered after the eNB received
    * a S1-AP message of type E-RAB Setup Request by the MME and will
@@ -119,6 +113,13 @@
    */
   void RecvFromS1uSocket (Ptr<Socket> socket);
 
+
+private:
+
+  // S1 SAP provider methods
+  void DoS1BearerSetupRequest (EpcEnbS1SapProvider::S1BearerSetupRequestParameters params);
+  void DoInitialUeMessage (uint64_t imsi, uint16_t rnti);
+
   /** 
    * Send a packet to the UE via the LTE radio interface of the eNB
    * 
@@ -137,8 +138,15 @@
   void SendToS1uSocket (Ptr<Packet> packet, uint32_t teid);
 
 
-private:
-
+  
+  /** 
+   * internal method used for the actual setup of the S1 Bearer
+   * 
+   * \param teid 
+   * \param rnti 
+   * \param lcid 
+   */
+  void SetupS1Bearer (uint32_t teid, uint16_t rnti, uint8_t lcid);
 
   /**
    * raw packet socket to send and receive the packets to and from the LTE radio interface
@@ -183,6 +191,12 @@
   EpcEnbS1SapUser* m_s1SapUser;
 
 
+  /**
+   * UE context info
+   * 
+   */
+  std::map<uint64_t, uint16_t> m_imsiRntiMap;
+
 };
 
 } //namespace ns3