20 #ifndef EPC_S1AP_SAP_H
21 #define EPC_S1AP_SAP_H
23 #include <ns3/address.h>
24 #include <ns3/epc-tft.h>
25 #include <ns3/eps-bearer.h>
26 #include <ns3/object.h>
87 std::list<ErabToBeReleasedIndication> erabToBeReleaseIndication) = 0;
109 std::list<ErabSetupItem> erabSetupList) = 0;
133 std::list<ErabSwitchedInDownlinkItem> erabToBeSwitchedInDownlinkList) = 0;
163 std::list<ErabToBeSetupItem> erabToBeSetupList) = 0;
187 std::list<ErabSwitchedInUplinkItem> erabToBeSwitchedInUplinkList) = 0;
219 uint16_t ecgi)
override;
229 std::list<ErabToBeReleasedIndication> erabToBeReleaseIndication)
override;
239 std::list<ErabSetupItem> erabSetupList)
override;
251 std::list<ErabSwitchedInDownlinkItem> erabToBeSwitchedInDownlinkList)
override;
270 m_owner->DoInitialUeMessage(mmeUeS1Id, enbUeS1Id, imsi, ecgi);
278 std::list<ErabToBeReleasedIndication> erabToBeReleaseIndication)
280 m_owner->DoErabReleaseIndication(mmeUeS1Id, enbUeS1Id, erabToBeReleaseIndication);
287 std::list<ErabSetupItem> erabSetupList)
289 m_owner->DoInitialContextSetupResponse(mmeUeS1Id, enbUeS1Id, erabSetupList);
298 std::list<ErabSwitchedInDownlinkItem> erabToBeSwitchedInDownlinkList)
300 m_owner->DoPathSwitchRequest(enbUeS1Id, mmeUeS1Id, cgi, erabToBeSwitchedInDownlinkList);
330 std::list<ErabToBeSetupItem> erabToBeSetupList)
override;
342 std::list<ErabSwitchedInUplinkItem> erabToBeSwitchedInUplinkList)
override;
358 std::list<ErabToBeSetupItem> erabToBeSetupList)
360 m_owner->DoInitialContextSetupRequest(mmeUeS1Id, enbUeS1Id, erabToBeSetupList);
369 std::list<ErabSwitchedInUplinkItem> erabToBeSwitchedInUplinkList)
371 m_owner->DoPathSwitchRequestAcknowledge(enbUeS1Id,
374 erabToBeSwitchedInUplinkList);
eNB side of the S1-AP Service Access Point (SAP), provides the eNB methods to be called when an S1-AP...
virtual void PathSwitchRequestAcknowledge(uint64_t enbUeS1Id, uint64_t mmeUeS1Id, uint16_t cgi, std::list< ErabSwitchedInUplinkItem > erabToBeSwitchedInUplinkList)=0
PATH SWITCH REQUEST ACKNOWLEDGE message, see 3GPP TS 36.413 9.1.5.9.
virtual void InitialContextSetupRequest(uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list< ErabToBeSetupItem > erabToBeSetupList)=0
Initial context setup request.
Base class that defines EPC S1-AP Service Access Point (SAP) interface.
MME side of the S1-AP Service Access Point (SAP), provides the MME methods to be called when an S1-AP...
virtual void InitialContextSetupResponse(uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list< ErabSetupItem > erabSetupList)=0
INITIAL CONTEXT SETUP RESPONSE message, see 3GPP TS 36.413 9.1.4.2.
virtual void InitialUeMessage(uint64_t mmeUeS1Id, uint16_t enbUeS1Id, uint64_t stmsi, uint16_t ecgi)=0
Initial UE message.
virtual void ErabReleaseIndication(uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list< ErabToBeReleasedIndication > erabToBeReleaseIndication)=0
As per 3GPP TS 36.413 version 9.8.0 section 8.2.3.2.2, the eNB indicates bearer release by sending an...
virtual void PathSwitchRequest(uint64_t enbUeS1Id, uint64_t mmeUeS1Id, uint16_t gci, std::list< ErabSwitchedInDownlinkItem > erabToBeSwitchedInDownlinkList)=0
PATH SWITCH REQUEST message, see 3GPP TS 36.413 9.1.5.8.
This class contains the specification of EPS Bearers.
Ipv4 addresses are stored in host order in this class.
Template for the implementation of the EpcS1apSapEnb as a member of an owner class of type C to which...
void InitialContextSetupRequest(uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list< ErabToBeSetupItem > erabToBeSetupList) override
Initial context setup request function.
MemberEpcS1apSapEnb()=delete
void PathSwitchRequestAcknowledge(uint64_t enbUeS1Id, uint64_t mmeUeS1Id, uint16_t cgi, std::list< ErabSwitchedInUplinkItem > erabToBeSwitchedInUplinkList) override
Path switch request acknowledge function.
Template for the implementation of the EpcS1apSapMme as a member of an owner class of type C to which...
void PathSwitchRequest(uint64_t enbUeS1Id, uint64_t mmeUeS1Id, uint16_t cgi, std::list< ErabSwitchedInDownlinkItem > erabToBeSwitchedInDownlinkList) override
Path switch request.
void InitialUeMessage(uint64_t mmeUeS1Id, uint16_t enbUeS1Id, uint64_t imsi, uint16_t ecgi) override
Initial UE Message function.
MemberEpcS1apSapMme()=delete
void ErabReleaseIndication(uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list< ErabToBeReleasedIndication > erabToBeReleaseIndication) override
ERAB Release Indiation function.
void InitialContextSetupResponse(uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list< ErabSetupItem > erabSetupList) override
Initial context setup response.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
E-RABs Switched in Uplink Item IE, see 3GPP TS 36.413 9.1.5.9.
Ipv4Address transportLayerAddress
transport layer address
ErabToBeSetupItem structure.
EpsBearer erabLevelQosParameters
Level QOS parameters.
Ipv4Address transportLayerAddress
transport layer address
E-RAB Setup Item IEs, see 3GPP TS 36.413 9.1.4.2.
Ipv4Address enbTransportLayerAddress
transport layer address
E-RABs Switched in Downlink Item IE, see 3GPP TS 36.413 9.1.5.8.
Ipv4Address enbTransportLayerAddress
address
E-RAB Release Indication Item IEs, 3GPP TS 36.413 version 9.8.0 section 9.1.3.7.