Loading ttcn3/LibS1AP/LibS1AP_Steps.ttcn +35 −0 Original line number Diff line number Diff line Loading @@ -676,6 +676,18 @@ module LibS1AP_Steps { f_recv_S1AP_initiatingMessage(mw_UeContextReleaseComplete(p_value)) } // End of f_recv_UE_Context_Release_Complete /** * @desc Receive S1AP Message UE Context Release Command * @param p_value Receive template for UE CONTEXT RELEASE COMMAND * @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.6 UE CONTEXT RELEASE COMMAND */ function f_recv_UE_Context_Release_Command( template (present) RecordOf_ProtocolIE p_value := ? ) runs on S1APComponent { f_recv_S1AP_initiatingMessage(mw_UeContextReleaseCommand(p_value)) } // End of f_recv_UE_Context_Release_Command /** * @desc Receive S1AP Message UE Context Modification Response * @param p_value Receive template for UE CONTEXT MODIFICATION RESPONSE Loading Loading @@ -993,6 +1005,29 @@ module LibS1AP_Steps { f_send_S1AP_initiatingMessage(m_UeContextReleaseCommand(p_value)) } // End of f_send_UE_Context_Release_Command /** * @desc Send S1AP Message UE Context Release Complete * @param p_value Send template for UE CONTEXT RELEASE COMPLETE * @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.7 UE CONTEXT RELEASE COMPLETE */ function f_send_UE_Context_Release_Complete( template (value) RecordOf_ProtocolIE p_value ) runs on S1APComponent { f_send_S1AP_initiatingMessage(m_UeContextReleaseComplete(p_value)) } // End of f_send_UE_Context_Release_Command /** * @desc Send S1AP Message UE Context Release Request * @param p_value Receive template for UE CONTEXT RELEASE REQUEST * @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.5 UE CONTEXT RELEASE REQUEST */ function f_send_UE_Context_Release_Request( template (value) RecordOf_ProtocolIE p_value ) runs on S1APComponent { f_send_S1AP_initiatingMessage(m_UeContextReleaseRequest(p_value)) } // End of f_send_UE_Context_Release_Request /** * @desc Send S1AP Message UE Context Modification Request * @param p_value Send template for UE CONTEXT MODIFICATION REQUEST Loading ttcn3/LibS1AP/LibS1AP_Templates.ttcn +74 −2 Original line number Diff line number Diff line Loading @@ -161,7 +161,30 @@ module LibS1AP_Templates { } // End of template m_InitialContextSetupReqIEs /** * @desc Send template for InitiatingMessage message with InitialContextSetup payload * @desc Send template for InitiatingMessage message with UeContextReleaseRequest payload * @param p_value Expected procedure code */ template (value) InitiatingMessage m_UeContextReleaseRequest( in template (value) RecordOf_ProtocolIE p_value) := { procedureCode := id_UEContextReleaseRequest, criticality := reject, value_ := {RecordOf_ProtocolIE := valueof(p_value)} } // End of template m_UeContextReleaseRequest template (value) RecordOf_ProtocolIE m_UeContextReleaseRequestIEs( in template (value) MME_UE_S1AP_ID p_MME_value, in template (value) ENB_UE_S1AP_ID p_eNB_value, in template (value) Cause p_cause ) := { m_MME_UE_S1AP_ID(p_MME_value), m_eNB_UE_S1AP_ID(p_eNB_value), m_cause_IE(p_cause) } // End of template m_UeContextReleaseRequestIEs_MME /** * @desc Send template for InitiatingMessage message with UEContextRelease payload * @param p_value Expected procedure code */ template (value) InitiatingMessage m_UeContextReleaseCommand( Loading @@ -187,6 +210,24 @@ module LibS1AP_Templates { m_cause_IE(p_cause) } // End of template m_UeContextReleaseCommandIEs_ENB /** * @desc Send template for InitiatingMessage message with UEContextReleaseComplete payload * @param p_value Expected procedure code */ template (value) InitiatingMessage m_UeContextReleaseComplete( in template (value) RecordOf_ProtocolIE p_value) := { procedureCode := id_UEContextRelease, criticality := reject, value_ := {RecordOf_ProtocolIE := valueof(p_value)} } // End of template m_UeContextReleaseComplete template (value) RecordOf_ProtocolIE m_UeContextReleaseCompleteIEs( in template (value) MME_UE_S1AP_ID p_MME_value, in template (value) ENB_UE_S1AP_ID p_eNB_value ) := { m_MME_UE_S1AP_ID(p_MME_value), m_eNB_UE_S1AP_ID(p_eNB_value) } // End of template m_UeContextReleaseCompleteIEs /** * @desc Send template for InitiatingMessage message with m_UeContextModificationRequest payload Loading Loading @@ -781,6 +822,37 @@ module LibS1AP_Templates { mw_cause_IE(p_cause) } // End of template mw_UeContextReleaseRequestIEs /** * @desc Receive template for UeContextReleaseCommand message * @param p_procedureCode Expected procedure code. Default: ? * @param p_value Expected procedure code. Default: ? */ template (present) SuccessfulOutcome mw_UeContextReleaseCommand( template (present) RecordOf_ProtocolIE p_value := ? ) := { procedureCode := id_UEContextRelease, criticality := reject, value_ := {RecordOf_ProtocolIE := p_value} } // End of template mw_UeContextReleaseCommand template (present) RecordOf_ProtocolIE mw_UeContextReleaseCommandIEs_MME( template (present) MME_UE_S1AP_ID p_MME_value := ?, template (present) Cause p_cause := ? ) := { mw_MME_UE_S1AP_ID(p_MME_value, ignore), mw_cause_IE(p_cause) } // End of template mw_UeContextReleaseCommandIEs template (present) RecordOf_ProtocolIE mw_UeContextReleaseCommandIEs_ENB( template (present) ENB_UE_S1AP_ID p_eNB_value := ?, template (present) Cause p_cause := ? ) := { mw_eNB_UE_S1AP_ID(p_eNB_value, ignore), mw_cause_IE(p_cause) } // End of template mw_UeContextReleaseCommandIEs /** * @desc Receive template for UeContextReleaseComplete message * @param p_procedureCode Expected procedure code. Default: ? Loading ttcn3/S1AP_TCFunctions.ttcn +49 −0 Original line number Diff line number Diff line Loading @@ -3062,6 +3062,55 @@ module S1AP_TCFunctions { } // End of function f_TC_S1AP_eNB_CMP_01 /** * @desc Testcase function for TC_S1AP_mME_CMP_02 */ function f_TC_S1AP_mME_CMP_02() runs on S1APComponent { // Local variables var template(value) Cause v_cause; select(PX_VA){ case(1){v_cause := m_cause_ran(user_inactivity)} case(2){v_cause := m_cause_ran(radio_connection_with_ue_lost)} case(3){v_cause := m_cause_nas(csg_subscription_expiry)} case(4){v_cause := m_cause_ran(cs_fallback_triggered)} case(5){v_cause := m_cause_ran(redirection_towards_1xRTT)} case(6){v_cause := m_cause_ran(interrat_redirection)} case(7){v_cause := m_cause_ran(ue_not_available_for_ps_service)} case else {setverdict(fail, "undefined PIXIT value for variant")} } // Preamble f_S1AP_mme_init(); f_rABSetupRequest(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test body f_send_UE_Context_Release_Command(m_UeContextReleaseRequestIEs( vc_MME_UE_ID, vc_eNB_UE_ID, v_cause )); f_recv_InitialContext_SetupRequest((mw_UeContextReleaseCommandIEs_MME, mw_UeContextReleaseCommandIEs_ENB)); // Postamble f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_send_UE_Context_Release_Complete(m_UeContextReleaseCompleteIEs( vc_MME_UE_ID, vc_eNB_UE_ID )); f_postamble_S1AP_MME(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_S1AP_eNB_CMP_02 } // End of group Context_management_group Loading Loading
ttcn3/LibS1AP/LibS1AP_Steps.ttcn +35 −0 Original line number Diff line number Diff line Loading @@ -676,6 +676,18 @@ module LibS1AP_Steps { f_recv_S1AP_initiatingMessage(mw_UeContextReleaseComplete(p_value)) } // End of f_recv_UE_Context_Release_Complete /** * @desc Receive S1AP Message UE Context Release Command * @param p_value Receive template for UE CONTEXT RELEASE COMMAND * @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.6 UE CONTEXT RELEASE COMMAND */ function f_recv_UE_Context_Release_Command( template (present) RecordOf_ProtocolIE p_value := ? ) runs on S1APComponent { f_recv_S1AP_initiatingMessage(mw_UeContextReleaseCommand(p_value)) } // End of f_recv_UE_Context_Release_Command /** * @desc Receive S1AP Message UE Context Modification Response * @param p_value Receive template for UE CONTEXT MODIFICATION RESPONSE Loading Loading @@ -993,6 +1005,29 @@ module LibS1AP_Steps { f_send_S1AP_initiatingMessage(m_UeContextReleaseCommand(p_value)) } // End of f_send_UE_Context_Release_Command /** * @desc Send S1AP Message UE Context Release Complete * @param p_value Send template for UE CONTEXT RELEASE COMPLETE * @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.7 UE CONTEXT RELEASE COMPLETE */ function f_send_UE_Context_Release_Complete( template (value) RecordOf_ProtocolIE p_value ) runs on S1APComponent { f_send_S1AP_initiatingMessage(m_UeContextReleaseComplete(p_value)) } // End of f_send_UE_Context_Release_Command /** * @desc Send S1AP Message UE Context Release Request * @param p_value Receive template for UE CONTEXT RELEASE REQUEST * @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.5 UE CONTEXT RELEASE REQUEST */ function f_send_UE_Context_Release_Request( template (value) RecordOf_ProtocolIE p_value ) runs on S1APComponent { f_send_S1AP_initiatingMessage(m_UeContextReleaseRequest(p_value)) } // End of f_send_UE_Context_Release_Request /** * @desc Send S1AP Message UE Context Modification Request * @param p_value Send template for UE CONTEXT MODIFICATION REQUEST Loading
ttcn3/LibS1AP/LibS1AP_Templates.ttcn +74 −2 Original line number Diff line number Diff line Loading @@ -161,7 +161,30 @@ module LibS1AP_Templates { } // End of template m_InitialContextSetupReqIEs /** * @desc Send template for InitiatingMessage message with InitialContextSetup payload * @desc Send template for InitiatingMessage message with UeContextReleaseRequest payload * @param p_value Expected procedure code */ template (value) InitiatingMessage m_UeContextReleaseRequest( in template (value) RecordOf_ProtocolIE p_value) := { procedureCode := id_UEContextReleaseRequest, criticality := reject, value_ := {RecordOf_ProtocolIE := valueof(p_value)} } // End of template m_UeContextReleaseRequest template (value) RecordOf_ProtocolIE m_UeContextReleaseRequestIEs( in template (value) MME_UE_S1AP_ID p_MME_value, in template (value) ENB_UE_S1AP_ID p_eNB_value, in template (value) Cause p_cause ) := { m_MME_UE_S1AP_ID(p_MME_value), m_eNB_UE_S1AP_ID(p_eNB_value), m_cause_IE(p_cause) } // End of template m_UeContextReleaseRequestIEs_MME /** * @desc Send template for InitiatingMessage message with UEContextRelease payload * @param p_value Expected procedure code */ template (value) InitiatingMessage m_UeContextReleaseCommand( Loading @@ -187,6 +210,24 @@ module LibS1AP_Templates { m_cause_IE(p_cause) } // End of template m_UeContextReleaseCommandIEs_ENB /** * @desc Send template for InitiatingMessage message with UEContextReleaseComplete payload * @param p_value Expected procedure code */ template (value) InitiatingMessage m_UeContextReleaseComplete( in template (value) RecordOf_ProtocolIE p_value) := { procedureCode := id_UEContextRelease, criticality := reject, value_ := {RecordOf_ProtocolIE := valueof(p_value)} } // End of template m_UeContextReleaseComplete template (value) RecordOf_ProtocolIE m_UeContextReleaseCompleteIEs( in template (value) MME_UE_S1AP_ID p_MME_value, in template (value) ENB_UE_S1AP_ID p_eNB_value ) := { m_MME_UE_S1AP_ID(p_MME_value), m_eNB_UE_S1AP_ID(p_eNB_value) } // End of template m_UeContextReleaseCompleteIEs /** * @desc Send template for InitiatingMessage message with m_UeContextModificationRequest payload Loading Loading @@ -781,6 +822,37 @@ module LibS1AP_Templates { mw_cause_IE(p_cause) } // End of template mw_UeContextReleaseRequestIEs /** * @desc Receive template for UeContextReleaseCommand message * @param p_procedureCode Expected procedure code. Default: ? * @param p_value Expected procedure code. Default: ? */ template (present) SuccessfulOutcome mw_UeContextReleaseCommand( template (present) RecordOf_ProtocolIE p_value := ? ) := { procedureCode := id_UEContextRelease, criticality := reject, value_ := {RecordOf_ProtocolIE := p_value} } // End of template mw_UeContextReleaseCommand template (present) RecordOf_ProtocolIE mw_UeContextReleaseCommandIEs_MME( template (present) MME_UE_S1AP_ID p_MME_value := ?, template (present) Cause p_cause := ? ) := { mw_MME_UE_S1AP_ID(p_MME_value, ignore), mw_cause_IE(p_cause) } // End of template mw_UeContextReleaseCommandIEs template (present) RecordOf_ProtocolIE mw_UeContextReleaseCommandIEs_ENB( template (present) ENB_UE_S1AP_ID p_eNB_value := ?, template (present) Cause p_cause := ? ) := { mw_eNB_UE_S1AP_ID(p_eNB_value, ignore), mw_cause_IE(p_cause) } // End of template mw_UeContextReleaseCommandIEs /** * @desc Receive template for UeContextReleaseComplete message * @param p_procedureCode Expected procedure code. Default: ? Loading
ttcn3/S1AP_TCFunctions.ttcn +49 −0 Original line number Diff line number Diff line Loading @@ -3062,6 +3062,55 @@ module S1AP_TCFunctions { } // End of function f_TC_S1AP_eNB_CMP_01 /** * @desc Testcase function for TC_S1AP_mME_CMP_02 */ function f_TC_S1AP_mME_CMP_02() runs on S1APComponent { // Local variables var template(value) Cause v_cause; select(PX_VA){ case(1){v_cause := m_cause_ran(user_inactivity)} case(2){v_cause := m_cause_ran(radio_connection_with_ue_lost)} case(3){v_cause := m_cause_nas(csg_subscription_expiry)} case(4){v_cause := m_cause_ran(cs_fallback_triggered)} case(5){v_cause := m_cause_ran(redirection_towards_1xRTT)} case(6){v_cause := m_cause_ran(interrat_redirection)} case(7){v_cause := m_cause_ran(ue_not_available_for_ps_service)} case else {setverdict(fail, "undefined PIXIT value for variant")} } // Preamble f_S1AP_mme_init(); f_rABSetupRequest(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test body f_send_UE_Context_Release_Command(m_UeContextReleaseRequestIEs( vc_MME_UE_ID, vc_eNB_UE_ID, v_cause )); f_recv_InitialContext_SetupRequest((mw_UeContextReleaseCommandIEs_MME, mw_UeContextReleaseCommandIEs_ENB)); // Postamble f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_send_UE_Context_Release_Complete(m_UeContextReleaseCompleteIEs( vc_MME_UE_ID, vc_eNB_UE_ID )); f_postamble_S1AP_MME(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_S1AP_eNB_CMP_02 } // End of group Context_management_group Loading