src/lte/model/epc-s11-sap.h
changeset 11168 d09129217e78
parent 10425 1867d8c25aa7
equal deleted inserted replaced
10813:da0eb48df23f 11168:d09129217e78
   101    * 
   101    * 
   102    * \param msg the message
   102    * \param msg the message
   103    */
   103    */
   104   virtual void CreateSessionResponse (CreateSessionResponseMessage msg) = 0;
   104   virtual void CreateSessionResponse (CreateSessionResponseMessage msg) = 0;
   105 
   105 
       
   106   struct BearerContextRemoved
       
   107   {
       
   108     uint8_t epsBearerId;
       
   109   };
       
   110 
       
   111   /**
       
   112    * Delete Bearer Request message, see 3GPP TS 29.274 Release 9 V9.3.0 section 7.2.9.2
       
   113    */
       
   114   struct DeleteBearerRequestMessage : public GtpcMessage
       
   115   {
       
   116     std::list<BearerContextRemoved> bearerContextsRemoved;
       
   117   };
       
   118 
       
   119   /**
       
   120     * \brief As per 3GPP TS 29.274 Release 9 V9.3.0, a Delete Bearer Request message shall be sent on the S11 interface by PGW to SGW and from SGW to MME
       
   121     * \param msg the message
       
   122     */
       
   123   virtual void DeleteBearerRequest (DeleteBearerRequestMessage msg) = 0;
       
   124 
       
   125 
       
   126 
   106 
   127 
   107   /**     
   128   /**     
   108    * Modify Bearer Response message, see 3GPP TS 29.274 7.2.7
   129    * Modify Bearer Response message, see 3GPP TS 29.274 7.2.7
   109    */
   130    */
   110   struct ModifyBearerResponseMessage : public GtpcMessage
   131   struct ModifyBearerResponseMessage : public GtpcMessage
   160    * 
   181    * 
   161    * \param msg the message
   182    * \param msg the message
   162    */
   183    */
   163   virtual void CreateSessionRequest (CreateSessionRequestMessage msg) = 0;
   184   virtual void CreateSessionRequest (CreateSessionRequestMessage msg) = 0;
   164 
   185 
       
   186   struct BearerContextToBeRemoved
       
   187   {
       
   188     uint8_t epsBearerId;
       
   189   };
       
   190 
       
   191   /**
       
   192    * Delete Bearer Command message, see 3GPP TS 29.274 Release 9 V9.3.0 section 7.2.17.1
       
   193    */
       
   194   struct DeleteBearerCommandMessage : public GtpcMessage
       
   195   {
       
   196     std::list<BearerContextToBeRemoved> bearerContextsToBeRemoved;
       
   197   };
       
   198 
       
   199   /**
       
   200     * \brief As per 3GPP TS 29.274 Release 9 V9.3.0, a Delete Bearer Command message shall be sent on the S11 interface by the MME to the SGW
       
   201     */
       
   202   virtual void DeleteBearerCommand (DeleteBearerCommandMessage msg) = 0;
       
   203 
       
   204 
       
   205   struct BearerContextRemovedSgwPgw
       
   206   {
       
   207     uint8_t epsBearerId;
       
   208   };
       
   209 
       
   210   /**
       
   211    * Delete Bearer Response message, see 3GPP TS 29.274 Release 9 V9.3.0 section 7.2.10.2
       
   212    */
       
   213   struct DeleteBearerResponseMessage : public GtpcMessage
       
   214   {
       
   215     std::list<BearerContextRemovedSgwPgw> bearerContextsRemoved;
       
   216   };
       
   217 
       
   218   /**
       
   219     * \brief As per 3GPP TS 29.274 Release 9 V9.3.0, a Delete Bearer Command message shall be sent on the S11 interface by the MME to the SGW
       
   220     * \param msg the message
       
   221     */
       
   222   virtual void DeleteBearerResponse (DeleteBearerResponseMessage msg) = 0;
   165 
   223 
   166   /**     
   224   /**     
   167    * Modify Bearer Request message, see 3GPP TS 29.274 7.2.7
   225    * Modify Bearer Request message, see 3GPP TS 29.274 7.2.7
   168    */
   226    */
   169   struct ModifyBearerRequestMessage : public GtpcMessage
   227   struct ModifyBearerRequestMessage : public GtpcMessage
   198   MemberEpcS11SapMme (C* owner);
   256   MemberEpcS11SapMme (C* owner);
   199 
   257 
   200   // inherited from EpcS11SapMme
   258   // inherited from EpcS11SapMme
   201   virtual void CreateSessionResponse (CreateSessionResponseMessage msg);
   259   virtual void CreateSessionResponse (CreateSessionResponseMessage msg);
   202   virtual void ModifyBearerResponse (ModifyBearerResponseMessage msg);
   260   virtual void ModifyBearerResponse (ModifyBearerResponseMessage msg);
       
   261   virtual void DeleteBearerRequest (DeleteBearerRequestMessage msg);
   203 
   262 
   204 private:
   263 private:
   205   MemberEpcS11SapMme ();
   264   MemberEpcS11SapMme ();
   206   C* m_owner;
   265   C* m_owner;
   207 };
   266 };
   219 
   278 
   220 template <class C>
   279 template <class C>
   221 void MemberEpcS11SapMme<C>::CreateSessionResponse (CreateSessionResponseMessage msg)
   280 void MemberEpcS11SapMme<C>::CreateSessionResponse (CreateSessionResponseMessage msg)
   222 {
   281 {
   223   m_owner->DoCreateSessionResponse (msg);
   282   m_owner->DoCreateSessionResponse (msg);
       
   283 }
       
   284 
       
   285 template <class C>
       
   286 void MemberEpcS11SapMme<C>::DeleteBearerRequest (DeleteBearerRequestMessage msg)
       
   287 {
       
   288   m_owner->DoDeleteBearerRequest (msg);
   224 }
   289 }
   225 
   290 
   226 template <class C>
   291 template <class C>
   227 void MemberEpcS11SapMme<C>::ModifyBearerResponse (ModifyBearerResponseMessage msg)
   292 void MemberEpcS11SapMme<C>::ModifyBearerResponse (ModifyBearerResponseMessage msg)
   228 {
   293 {
   245   MemberEpcS11SapSgw (C* owner);
   310   MemberEpcS11SapSgw (C* owner);
   246 
   311 
   247   // inherited from EpcS11SapSgw
   312   // inherited from EpcS11SapSgw
   248   virtual void CreateSessionRequest (CreateSessionRequestMessage msg);
   313   virtual void CreateSessionRequest (CreateSessionRequestMessage msg);
   249   virtual void ModifyBearerRequest (ModifyBearerRequestMessage msg);
   314   virtual void ModifyBearerRequest (ModifyBearerRequestMessage msg);
       
   315   virtual void DeleteBearerCommand (DeleteBearerCommandMessage msg);
       
   316   virtual void DeleteBearerResponse (DeleteBearerResponseMessage msg);
   250 
   317 
   251 private:
   318 private:
   252   MemberEpcS11SapSgw ();
   319   MemberEpcS11SapSgw ();
   253   C* m_owner;
   320   C* m_owner;
   254 };
   321 };
   274 void MemberEpcS11SapSgw<C>::ModifyBearerRequest (ModifyBearerRequestMessage msg)
   341 void MemberEpcS11SapSgw<C>::ModifyBearerRequest (ModifyBearerRequestMessage msg)
   275 {
   342 {
   276   m_owner->DoModifyBearerRequest (msg);
   343   m_owner->DoModifyBearerRequest (msg);
   277 }
   344 }
   278 
   345 
   279 
   346 template <class C>
   280 
   347 void MemberEpcS11SapSgw<C>::DeleteBearerCommand (DeleteBearerCommandMessage msg)
   281 
   348 {
   282 
   349   m_owner->DoDeleteBearerCommand (msg);
       
   350 }
       
   351 
       
   352 template <class C>
       
   353 void MemberEpcS11SapSgw<C>::DeleteBearerResponse (DeleteBearerResponseMessage msg)
       
   354 {
       
   355   m_owner->DoDeleteBearerResponse (msg);
       
   356 }
   283 
   357 
   284 
   358 
   285 
   359 
   286 
   360 
   287 } //namespace ns3
   361 } //namespace ns3