From bf9786aeb87ed4783e22bf106dce390774f9a844 Mon Sep 17 00:00:00 2001 From: Manuel Requena Date: Fri, 30 Nov 2012 17:16:44 +0100 Subject: [PATCH] Add HandoverPreparationFailure primitive to X2 SAP --- src/lte/model/epc-x2-sap.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/lte/model/epc-x2-sap.h b/src/lte/model/epc-x2-sap.h index 88384925d..99deba336 100644 --- a/src/lte/model/epc-x2-sap.h +++ b/src/lte/model/epc-x2-sap.h @@ -232,6 +232,20 @@ public: Ptr rrcContext; }; + /** + * \brief Parameters of the HANDOVER PREPARATION FAILURE message. + * + * See section 9.1.1.3 for further info about the parameters + */ + struct HandoverPreparationFailureParams + { + uint16_t oldEnbUeX2apId; + uint16_t sourceCellId; + uint16_t targetCellId; + uint16_t cause; + uint16_t criticalityDiagnostics; + }; + /** * \brief Parameters of the UE CONTEXT RELEASE message. * @@ -288,6 +302,8 @@ public: virtual void SendHandoverRequestAck (HandoverRequestAckParams params) = 0; + virtual void SendHandoverPreparationFailure (HandoverPreparationFailureParams params) = 0; + virtual void SendUeContextRelease (UeContextReleaseParams params) = 0; virtual void SendLoadInformation (LoadInformationParams params) = 0; @@ -313,6 +329,8 @@ public: virtual void RecvHandoverRequestAck (HandoverRequestAckParams params) = 0; + virtual void RecvHandoverPreparationFailure (HandoverPreparationFailureParams params) = 0; + virtual void RecvUeContextRelease (UeContextReleaseParams params) = 0; virtual void RecvLoadInformation (LoadInformationParams params) = 0; @@ -336,6 +354,8 @@ public: virtual void SendHandoverRequestAck (HandoverRequestAckParams params); + virtual void SendHandoverPreparationFailure (HandoverPreparationFailureParams params); + virtual void SendUeContextRelease (UeContextReleaseParams params); virtual void SendLoadInformation (LoadInformationParams params); @@ -372,6 +392,13 @@ EpcX2SpecificEpcX2SapProvider::SendHandoverRequestAck (HandoverRequestAckPara m_x2->DoSendHandoverRequestAck (params); } +template +void +EpcX2SpecificEpcX2SapProvider::SendHandoverPreparationFailure (HandoverPreparationFailureParams params) +{ + m_x2->DoSendHandoverPreparationFailure (params); +} + template void EpcX2SpecificEpcX2SapProvider::SendUeContextRelease (UeContextReleaseParams params) @@ -409,6 +436,8 @@ public: virtual void RecvHandoverRequestAck (HandoverRequestAckParams params); + virtual void RecvHandoverPreparationFailure (HandoverPreparationFailureParams params); + virtual void RecvUeContextRelease (UeContextReleaseParams params); virtual void RecvLoadInformation (LoadInformationParams params); @@ -445,6 +474,13 @@ EpcX2SpecificEpcX2SapUser::RecvHandoverRequestAck (HandoverRequestAckParams p m_rrc->DoRecvHandoverRequestAck (params); } +template +void +EpcX2SpecificEpcX2SapUser::RecvHandoverPreparationFailure (HandoverPreparationFailureParams params) +{ + m_rrc->DoRecvHandoverPreparationFailure (params); +} + template void EpcX2SpecificEpcX2SapUser::RecvUeContextRelease (UeContextReleaseParams params)