diff --git a/ttcn3/LibS1AP/LibS1AP_Steps.ttcn b/ttcn3/LibS1AP/LibS1AP_Steps.ttcn index 5840c26..875234b 100644 --- a/ttcn3/LibS1AP/LibS1AP_Steps.ttcn +++ b/ttcn3/LibS1AP/LibS1AP_Steps.ttcn @@ -862,6 +862,17 @@ module LibS1AP_Steps { f_recv_S1AP_initiatingMessage(mw_UeContextResumeResponse(p_value)) } // End of f_recv_Ue_Context_Resume_Response + /** + * @desc Receive S1AP Message UE Context Resume Failure + * @param p_value Receive template for UE CONTEXT Resume Failure + * @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.19 UE CONTEXT Resume Faiure + */ + function f_recv_Ue_Context_Resume_Failure( + template (present) RecordOf_ProtocolIE p_value := ? + ) runs on S1APComponent { + f_recv_S1AP_initiatingMessage(mw_UeContextResumeFailure(p_value)) + } // End of f_recv_Ue_Context_Resume_Failure + /** * @desc Receive S1AP Message UE RADIO_CAPABILITY_MATCH_RESPONSE * @param p_value Receive template for UE_RADIO_CAPABILITY_MATCH_RESPONSE diff --git a/ttcn3/LibS1AP/LibS1AP_Templates.ttcn b/ttcn3/LibS1AP/LibS1AP_Templates.ttcn index 455bc7a..a7cfad6 100644 --- a/ttcn3/LibS1AP/LibS1AP_Templates.ttcn +++ b/ttcn3/LibS1AP/LibS1AP_Templates.ttcn @@ -1538,6 +1538,29 @@ module LibS1AP_Templates { mw_eNB_UE_S1AP_ID(p_eNB_value, ignore) } // End of template mw_UeContextResumeResponseIEs + /** + * @desc Receive template for mw_UeContextResumeFailure message + * @param p_procedureCode Expected procedure code. Default: ? + * @param p_value Expected procedure code. Default: ? + */ + template (present) SuccessfulOutcome mw_UeContextResumeFailure( + template (present) RecordOf_ProtocolIE p_value := ? + ) := { + procedureCode := id_UEContextResume, + criticality := reject, + value_ := {RecordOf_ProtocolIE := p_value} + } // End of template mw_UeContextResumeFailure + + template (present) RecordOf_ProtocolIE mw_UeContextResumeFailureIEs( + template (present) MME_UE_S1AP_ID p_MME_value := ?, + template (present) ENB_UE_S1AP_ID p_eNB_value := ?, + template (present) Cause p_cause := ? + ) := { + mw_MME_UE_S1AP_ID(p_MME_value, ignore), + mw_eNB_UE_S1AP_ID(p_eNB_value, ignore), + mw_cause_IE(p_cause) + } // End of template mw_UeContextResumeFailureIEs + /** * @desc Receive template for mw_UeRadioCapabilityMatchResponse message diff --git a/ttcn3/S1AP_TCFunctions.ttcn b/ttcn3/S1AP_TCFunctions.ttcn index cf7e47c..305f852 100644 --- a/ttcn3/S1AP_TCFunctions.ttcn +++ b/ttcn3/S1AP_TCFunctions.ttcn @@ -4551,6 +4551,40 @@ module S1AP_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_S1AP_eNB_CMP_09 + + + /** + * @desc Testcase function for TC_S1AP_mME_CMP_10 + */ + function f_TC_S1AP_mME_CMP_10() runs on S1APComponent { + // Local variables + var template(value) Cause v_cause; + + // Preamble + f_S1AP_mme_init(); + + f_rABSetupRequest(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Test body + + f_send_UE_Context_Resume_Request(m_UeContextResumeRequestIEs( + vc_MME_UE_ID, + vc_eNB_UE_ID + )); + + f_recv_Ue_Context_Resume_Failure(mw_UeContextResumeFailureIEs); + + // Postamble + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + + f_postamble_S1AP_MME(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_S1AP_eNB_CMP_10 } // End of group Context_management_group