src/lte/model/epc-s1ap-sap.h
changeset 11168 d09129217e78
parent 10425 1867d8c25aa7
child 11171 9674d2e4eeb2
--- a/src/lte/model/epc-s1ap-sap.h	Sun Jun 15 08:54:48 2014 -0700
+++ b/src/lte/model/epc-s1ap-sap.h	Thu Nov 27 16:01:05 2014 +0100
@@ -61,6 +61,24 @@
 
 
   /**
+   *  E-RAB Release Indication Item IEs, 3GPP TS 36.413 version 9.8.0 section 9.1.3.7
+   *
+   */
+  struct ErabToBeReleasedIndication
+  {
+    uint8_t erabId;
+  };
+
+  /**
+    * \brief As per 3GPP TS 23.401 Release 9 V9.5.0 Figure 5.4.4.2-1  eNB sends indication of Bearer Release to MME
+    * \param mmeUeS1Id in practice, we use the IMSI
+    * \param enbUeS1Id in practice, we use the RNTI
+    * \param erabToBeReleaseIndication, List of bearers to be deactivated
+    *
+    */
+  virtual void ErabReleaseIndication (uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list<ErabToBeReleasedIndication> erabToBeReleaseIndication ) = 0;
+
+  /**
    *  E-RAB Setup Item IEs, see 3GPP TS 36.413 9.1.4.2 
    * 
    */
@@ -174,6 +192,8 @@
 
   // inherited from EpcS1apSapMme
   virtual void InitialUeMessage (uint64_t mmeUeS1Id, uint16_t enbUeS1Id, uint64_t imsi, uint16_t ecgi);
+  virtual void ErabReleaseIndication (uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list<ErabToBeReleasedIndication> erabToBeReleaseIndication );
+
   virtual void InitialContextSetupResponse (uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list<ErabSetupItem> erabSetupList);
   virtual void PathSwitchRequest (uint64_t enbUeS1Id, uint64_t mmeUeS1Id, uint16_t cgi, std::list<ErabSwitchedInDownlinkItem> erabToBeSwitchedInDownlinkList);
 
@@ -200,6 +220,12 @@
 }
 
 template <class C>
+void MemberEpcS1apSapMme<C>::ErabReleaseIndication (uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list<ErabToBeReleasedIndication> erabToBeReleaseIndication)
+{
+  m_owner->DoErabReleaseIndication (mmeUeS1Id, enbUeS1Id, erabToBeReleaseIndication);
+}
+
+template <class C>
 void MemberEpcS1apSapMme<C>::InitialContextSetupResponse (uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list<ErabSetupItem> erabSetupList)
 {
   m_owner->DoInitialContextSetupResponse (mmeUeS1Id, enbUeS1Id, erabSetupList);