author | Gaurav Sathe <gaurav.sathe@tcs.com> |
Thu, 27 Nov 2014 16:01:05 +0100 | |
changeset 11168 | d09129217e78 |
parent 10425 | 1867d8c25aa7 |
permissions | -rw-r--r-- |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
1 |
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
2 |
/* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
3 |
* Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
4 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or modify |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
8 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
9 |
* This program is distributed in the hope that it will be useful, |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
12 |
* GNU General Public License for more details. |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
13 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
14 |
* You should have received a copy of the GNU General Public License |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
15 |
* along with this program; if not, write to the Free Software |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
17 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
18 |
* Author: Nicola Baldo <nbaldo@cttc.cat> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
19 |
*/ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
20 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
21 |
#ifndef EPC_S11_SAP_H |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
22 |
#define EPC_S11_SAP_H |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
23 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
24 |
#include <ns3/address.h> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
25 |
#include <ns3/ptr.h> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
26 |
#include <ns3/object.h> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
27 |
#include <ns3/eps-bearer.h> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
28 |
#include <ns3/epc-tft.h> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
29 |
#include <list> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
30 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
31 |
namespace ns3 { |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
32 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
33 |
class EpcS11Sap |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
34 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
35 |
public: |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
36 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
37 |
virtual ~EpcS11Sap (); |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
38 |
|
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
39 |
struct GtpcMessage |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
40 |
{ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
41 |
uint32_t teid; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
42 |
}; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
43 |
|
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
44 |
/** |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
45 |
* Fully-qualified TEID, see 3GPP TS 29.274 section 8.22 |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
46 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
47 |
*/ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
48 |
struct Fteid |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
49 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
50 |
uint32_t teid; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
51 |
Ipv4Address address; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
52 |
}; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
53 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
54 |
/** |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
55 |
* TS 29.274 8.21 User Location Information (ULI) |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
56 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
57 |
*/ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
58 |
struct Uli |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
59 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
60 |
uint16_t gci; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
61 |
}; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
62 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
63 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
64 |
}; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
65 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
66 |
/** |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
67 |
* \ingroup lte |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
68 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
69 |
* MME side of the S11 Service Access Point (SAP), provides the MME |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
70 |
* methods to be called when an S11 message is received by the MME. |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
71 |
*/ |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
72 |
class EpcS11SapMme : public EpcS11Sap |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
73 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
74 |
public: |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
75 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
76 |
/** |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
77 |
* 3GPP TS 29.274 version 8.3.1 Release 8 section 8.28 |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
78 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
79 |
*/ |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
80 |
struct BearerContextCreated |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
81 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
82 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
83 |
EpcS11Sap::Fteid sgwFteid; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
84 |
uint8_t epsBearerId; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
85 |
EpsBearer bearerLevelQos; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
86 |
Ptr<EpcTft> tft; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
87 |
}; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
88 |
|
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
89 |
|
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
90 |
/** |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
91 |
* Create Session Response message, see 3GPP TS 29.274 7.2.2 |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
92 |
*/ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
93 |
struct CreateSessionResponseMessage : public GtpcMessage |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
94 |
{ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
95 |
std::list<BearerContextCreated> bearerContextsCreated; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
96 |
}; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
97 |
|
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
98 |
|
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
99 |
/** |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
100 |
* send a Create Session Response message |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
101 |
* |
10425
1867d8c25aa7
doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents:
9439
diff
changeset
|
102 |
* \param msg the message |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
103 |
*/ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
104 |
virtual void CreateSessionResponse (CreateSessionResponseMessage msg) = 0; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
105 |
|
11168
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
106 |
struct BearerContextRemoved |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
107 |
{ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
108 |
uint8_t epsBearerId; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
109 |
}; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
110 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
111 |
/** |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
112 |
* Delete Bearer Request message, see 3GPP TS 29.274 Release 9 V9.3.0 section 7.2.9.2 |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
113 |
*/ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
114 |
struct DeleteBearerRequestMessage : public GtpcMessage |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
115 |
{ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
116 |
std::list<BearerContextRemoved> bearerContextsRemoved; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
117 |
}; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
118 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
119 |
/** |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
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 |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
121 |
* \param msg the message |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
122 |
*/ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
123 |
virtual void DeleteBearerRequest (DeleteBearerRequestMessage msg) = 0; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
124 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
125 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
126 |
|
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
127 |
|
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
128 |
/** |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
129 |
* Modify Bearer Response message, see 3GPP TS 29.274 7.2.7 |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
130 |
*/ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
131 |
struct ModifyBearerResponseMessage : public GtpcMessage |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
132 |
{ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
133 |
enum Cause { |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
134 |
REQUEST_ACCEPTED = 0, |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
135 |
REQUEST_ACCEPTED_PARTIALLY, |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
136 |
REQUEST_REJECTED, |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
137 |
CONTEXT_NOT_FOUND |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
138 |
} cause; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
139 |
}; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
140 |
|
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
141 |
/** |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
142 |
* send a Modify Bearer Response message |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
143 |
* |
10425
1867d8c25aa7
doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents:
9439
diff
changeset
|
144 |
* \param msg the message |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
145 |
*/ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
146 |
virtual void ModifyBearerResponse (ModifyBearerResponseMessage msg) = 0; |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
147 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
148 |
}; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
149 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
150 |
/** |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
151 |
* \ingroup lte |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
152 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
153 |
* SGW side of the S11 Service Access Point (SAP), provides the SGW |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
154 |
* methods to be called when an S11 message is received by the SGW. |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
155 |
*/ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
156 |
class EpcS11SapSgw : public EpcS11Sap |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
157 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
158 |
public: |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
159 |
|
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
160 |
struct BearerContextToBeCreated |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
161 |
{ |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
162 |
EpcS11Sap::Fteid sgwFteid; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
163 |
uint8_t epsBearerId; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
164 |
EpsBearer bearerLevelQos; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
165 |
Ptr<EpcTft> tft; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
166 |
}; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
167 |
|
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
168 |
|
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
169 |
/** |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
170 |
* Create Session Request message, see 3GPP TS 29.274 7.2.1 |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
171 |
*/ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
172 |
struct CreateSessionRequestMessage : public GtpcMessage |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
173 |
{ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
174 |
uint64_t imsi; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
175 |
Uli uli; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
176 |
std::list<BearerContextToBeCreated> bearerContextsToBeCreated; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
177 |
}; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
178 |
|
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
179 |
/** |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
180 |
* send a Create Session Request message |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
181 |
* |
10425
1867d8c25aa7
doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents:
9439
diff
changeset
|
182 |
* \param msg the message |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
183 |
*/ |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
184 |
virtual void CreateSessionRequest (CreateSessionRequestMessage msg) = 0; |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
185 |
|
11168
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
186 |
struct BearerContextToBeRemoved |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
187 |
{ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
188 |
uint8_t epsBearerId; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
189 |
}; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
190 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
191 |
/** |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
192 |
* Delete Bearer Command message, see 3GPP TS 29.274 Release 9 V9.3.0 section 7.2.17.1 |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
193 |
*/ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
194 |
struct DeleteBearerCommandMessage : public GtpcMessage |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
195 |
{ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
196 |
std::list<BearerContextToBeRemoved> bearerContextsToBeRemoved; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
197 |
}; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
198 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
199 |
/** |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
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 |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
201 |
*/ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
202 |
virtual void DeleteBearerCommand (DeleteBearerCommandMessage msg) = 0; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
203 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
204 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
205 |
struct BearerContextRemovedSgwPgw |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
206 |
{ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
207 |
uint8_t epsBearerId; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
208 |
}; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
209 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
210 |
/** |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
211 |
* Delete Bearer Response message, see 3GPP TS 29.274 Release 9 V9.3.0 section 7.2.10.2 |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
212 |
*/ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
213 |
struct DeleteBearerResponseMessage : public GtpcMessage |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
214 |
{ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
215 |
std::list<BearerContextRemovedSgwPgw> bearerContextsRemoved; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
216 |
}; |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
217 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
218 |
/** |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
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 |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
220 |
* \param msg the message |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
221 |
*/ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
222 |
virtual void DeleteBearerResponse (DeleteBearerResponseMessage msg) = 0; |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
223 |
|
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
224 |
/** |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
225 |
* Modify Bearer Request message, see 3GPP TS 29.274 7.2.7 |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
226 |
*/ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
227 |
struct ModifyBearerRequestMessage : public GtpcMessage |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
228 |
{ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
229 |
Uli uli; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
230 |
}; |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
231 |
|
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
232 |
/** |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
233 |
* send a Modify Bearer Request message |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
234 |
* |
10425
1867d8c25aa7
doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents:
9439
diff
changeset
|
235 |
* \param msg the message |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
236 |
*/ |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
237 |
virtual void ModifyBearerRequest (ModifyBearerRequestMessage msg) = 0; |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
238 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
239 |
}; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
240 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
241 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
242 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
243 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
244 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
245 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
246 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
247 |
/** |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
248 |
* Template for the implementation of the EpcS11SapMme as a member |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
249 |
* of an owner class of type C to which all methods are forwarded |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
250 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
251 |
*/ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
252 |
template <class C> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
253 |
class MemberEpcS11SapMme : public EpcS11SapMme |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
254 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
255 |
public: |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
256 |
MemberEpcS11SapMme (C* owner); |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
257 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
258 |
// inherited from EpcS11SapMme |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
259 |
virtual void CreateSessionResponse (CreateSessionResponseMessage msg); |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
260 |
virtual void ModifyBearerResponse (ModifyBearerResponseMessage msg); |
11168
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
261 |
virtual void DeleteBearerRequest (DeleteBearerRequestMessage msg); |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
262 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
263 |
private: |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
264 |
MemberEpcS11SapMme (); |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
265 |
C* m_owner; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
266 |
}; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
267 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
268 |
template <class C> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
269 |
MemberEpcS11SapMme<C>::MemberEpcS11SapMme (C* owner) |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
270 |
: m_owner (owner) |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
271 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
272 |
} |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
273 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
274 |
template <class C> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
275 |
MemberEpcS11SapMme<C>::MemberEpcS11SapMme () |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
276 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
277 |
} |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
278 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
279 |
template <class C> |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
280 |
void MemberEpcS11SapMme<C>::CreateSessionResponse (CreateSessionResponseMessage msg) |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
281 |
{ |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
282 |
m_owner->DoCreateSessionResponse (msg); |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
283 |
} |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
284 |
|
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
285 |
template <class C> |
11168
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
286 |
void MemberEpcS11SapMme<C>::DeleteBearerRequest (DeleteBearerRequestMessage msg) |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
287 |
{ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
288 |
m_owner->DoDeleteBearerRequest (msg); |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
289 |
} |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
290 |
|
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
291 |
template <class C> |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
292 |
void MemberEpcS11SapMme<C>::ModifyBearerResponse (ModifyBearerResponseMessage msg) |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
293 |
{ |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
294 |
m_owner->DoModifyBearerResponse (msg); |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
295 |
} |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
296 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
297 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
298 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
299 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
300 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
301 |
/** |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
302 |
* Template for the implementation of the EpcS11SapSgw as a member |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
303 |
* of an owner class of type C to which all methods are forwarded |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
304 |
* |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
305 |
*/ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
306 |
template <class C> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
307 |
class MemberEpcS11SapSgw : public EpcS11SapSgw |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
308 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
309 |
public: |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
310 |
MemberEpcS11SapSgw (C* owner); |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
311 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
312 |
// inherited from EpcS11SapSgw |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
313 |
virtual void CreateSessionRequest (CreateSessionRequestMessage msg); |
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
314 |
virtual void ModifyBearerRequest (ModifyBearerRequestMessage msg); |
11168
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
315 |
virtual void DeleteBearerCommand (DeleteBearerCommandMessage msg); |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
316 |
virtual void DeleteBearerResponse (DeleteBearerResponseMessage msg); |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
317 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
318 |
private: |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
319 |
MemberEpcS11SapSgw (); |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
320 |
C* m_owner; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
321 |
}; |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
322 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
323 |
template <class C> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
324 |
MemberEpcS11SapSgw<C>::MemberEpcS11SapSgw (C* owner) |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
325 |
: m_owner (owner) |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
326 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
327 |
} |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
328 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
329 |
template <class C> |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
330 |
MemberEpcS11SapSgw<C>::MemberEpcS11SapSgw () |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
331 |
{ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
332 |
} |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
333 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
334 |
template <class C> |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
335 |
void MemberEpcS11SapSgw<C>::CreateSessionRequest (CreateSessionRequestMessage msg) |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
336 |
{ |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
337 |
m_owner->DoCreateSessionRequest (msg); |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
338 |
} |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
339 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
340 |
template <class C> |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
341 |
void MemberEpcS11SapSgw<C>::ModifyBearerRequest (ModifyBearerRequestMessage msg) |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
342 |
{ |
9439
5107601b7a75
added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents:
9430
diff
changeset
|
343 |
m_owner->DoModifyBearerRequest (msg); |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
344 |
} |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
345 |
|
11168
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
346 |
template <class C> |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
347 |
void MemberEpcS11SapSgw<C>::DeleteBearerCommand (DeleteBearerCommandMessage msg) |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
348 |
{ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
349 |
m_owner->DoDeleteBearerCommand (msg); |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
350 |
} |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
351 |
|
11168
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
352 |
template <class C> |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
353 |
void MemberEpcS11SapSgw<C>::DeleteBearerResponse (DeleteBearerResponseMessage msg) |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
354 |
{ |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
355 |
m_owner->DoDeleteBearerResponse (msg); |
d09129217e78
added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents:
10425
diff
changeset
|
356 |
} |
9430
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
357 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
358 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
359 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
360 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
361 |
} //namespace ns3 |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
362 |
|
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
363 |
#endif /* EPC_S11_SAP_H */ |
e8b87593ee5b
added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents:
diff
changeset
|
364 |