Loading ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn +45 −0 Original line number Diff line number Diff line Loading @@ -1098,6 +1098,51 @@ module AtsImsIot_TP_behavior_GM { p_monitorCompRef.done; } // End of function f_mtc_check_TP_GM_PCSCF_BYE_02 /** * @desc Verify that the P-CSCF successfully processes a BYE (Network initiated). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * Expected behaviour * ensure that { * when { * the UE_A entity isNoLongerAvailable * } * then { * the IMS_P_CSCF_A entity sends a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the UE_A entity * } * } */ function f_mtc_check_TP_GM_PCSCF_BYE_03( in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipRequest(mw_BYE_Request_Base) }, {}, { 0, omit }, "TP_GM_PCSCF_BYE_03", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_GM_PCSCF_BYE_03 } // End of group imsBye } // End of module AtsImsIot_TP_behavior_GM No newline at end of file ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn +62 −10 Original line number Diff line number Diff line Loading @@ -1101,7 +1101,7 @@ module AtsImsIot_TP_behavior_MW_PS { * from the UE_A entity * } * then { * the IMS_P_CSCF_A entity send a BYE containing * the IMS_P_CSCF_A entity sends a BYE containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, Loading @@ -1113,7 +1113,7 @@ module AtsImsIot_TP_behavior_MW_PS { * } */ function f_mtc_check_TP_MW_PCSCF_BYE_01( ImsInterfaceMonitor p_monitorCompRef, in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { Loading Loading @@ -1153,7 +1153,7 @@ module AtsImsIot_TP_behavior_MW_PS { * from the UE_B entity * } * then { * the IMS_P_CSCF_B entity send a BYE containing * the IMS_P_CSCF_B entity sends a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, Loading @@ -1165,7 +1165,7 @@ module AtsImsIot_TP_behavior_MW_PS { * } */ function f_mtc_check_TP_MW_PCSCF_BYE_02( ImsInterfaceMonitor p_monitorCompRef, in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { Loading @@ -1182,6 +1182,58 @@ module AtsImsIot_TP_behavior_MW_PS { p_monitorCompRef.done; } // End of function f_mtc_check_TP_MW_PCSCF_BYE_02 /** * @desc Verify that the P-CSCF successfully processes a BYE (Originating Network). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * Expected behaviour * ensure that { * when { * the IMS_P_CSCF_A entity receives a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the UE_A entity * } * } */ function f_mtc_check_TP_MW_PCSCF_BYE_03( in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipRequest(mw_BYE_Request_Base) }, {}, { 0, omit }, "TP_MW_PCSCF_BYE_03", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_MW_PCSCF_BYE_03 } // End of group imsBye } // End of module AtsImsIot_TP_behavior_MW_PS ttcn/AtsImsIot/AtsImsIot_TestCases_CALL.ttcn +54 −4 Original line number Diff line number Diff line Loading @@ -293,7 +293,6 @@ module AtsImsIot_TestCases_CALL { f_mtc_userAnswerCall(v_ueB); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_ueB); // Event 1 f_mtc_userAddNewMediaStream(v_ueA); // Test body f_mtc_check_TP_GM_PCSCF_RE_INVITE_02(v_gmB); // Event 5 Loading Loading @@ -361,7 +360,6 @@ module AtsImsIot_TestCases_CALL { f_mtc_userAnswerCall(v_ueB); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_ueB); // Event 1 f_mtc_userAddNewMediaStream(v_ueA); // Test body f_mtc_userTriggerReleaseCall(v_ueA); //Test Sequence Step 4 Loading Loading @@ -419,7 +417,6 @@ module AtsImsIot_TestCases_CALL { f_mtc_userAnswerCall(v_ueB); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_ueB); // Event 1 f_mtc_userAddNewMediaStream(v_ueA); // Test body f_mtc_userTriggerReleaseCall(v_ueB); //Test Sequence Step 4 Loading Loading @@ -447,9 +444,62 @@ module AtsImsIot_TestCases_CALL { group networkInitiated { /** * @desc To perform network session release and the tear down of related dedicated bearers */ testcase TC_VxLTE_INT_REL_03() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, omit, v_ic, omit, v_gmB, omit}; // Map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_VxLteMonitor_Up(); f_cf_int_call_up(v_config); // Preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); f_mtc_userInitiateCall (v_ueB, v_userInfoA); f_mtc_userCheckRinging(v_ueA); f_mtc_userCheckPeerIsRinging(v_ueB); f_mtc_userAnswerCall(v_ueB); f_mtc_userCheckCallEstablished(v_ueB); // Event 1 f_mtc_userCheckCallEstablished(v_ueA); // Event 1 // Test body f_mtc_userLooseConnection(v_ueB); f_mtc_check_TP_GM_PCSCF_BYE_03(v_gmA); // Event 5 f_mtc_check_TP_MW_PCSCF_BYE_03(v_gmA/*FIXME: mwPS*/); // Event 3 // f_mtc_check_TP_IMS_5073_01_ic(v_ic); // Event 4 f_mtc_userCheckCallTerminated(v_ueA); // Event 14 f_mtc_userCheckCallCancelled(v_ueB); // Event 15 // Postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); f_cf_int_call_down(v_config); // Unmap/disconnet component ports f_cf_VxLteMonitor_Down(); f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } // End of testcase TC_VxLTE_INT_REL_03 } // End of group networkInitiated } // End of group TC_VxLTE_INT_REL_01 } // End of group imsSipSessionRelease Loading LibIms @ d640fce7 Compare 45bea252 to d640fce7 Original line number Diff line number Diff line Subproject commit 45bea252dd3e62acc56db4e863d9fb6a96b4ee6f Subproject commit d640fce7b8bd65dbb77c93a98f80c53a73bb2a24 Loading
ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn +45 −0 Original line number Diff line number Diff line Loading @@ -1098,6 +1098,51 @@ module AtsImsIot_TP_behavior_GM { p_monitorCompRef.done; } // End of function f_mtc_check_TP_GM_PCSCF_BYE_02 /** * @desc Verify that the P-CSCF successfully processes a BYE (Network initiated). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * Expected behaviour * ensure that { * when { * the UE_A entity isNoLongerAvailable * } * then { * the IMS_P_CSCF_A entity sends a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the UE_A entity * } * } */ function f_mtc_check_TP_GM_PCSCF_BYE_03( in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipRequest(mw_BYE_Request_Base) }, {}, { 0, omit }, "TP_GM_PCSCF_BYE_03", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_GM_PCSCF_BYE_03 } // End of group imsBye } // End of module AtsImsIot_TP_behavior_GM No newline at end of file
ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn +62 −10 Original line number Diff line number Diff line Loading @@ -1101,7 +1101,7 @@ module AtsImsIot_TP_behavior_MW_PS { * from the UE_A entity * } * then { * the IMS_P_CSCF_A entity send a BYE containing * the IMS_P_CSCF_A entity sends a BYE containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, Loading @@ -1113,7 +1113,7 @@ module AtsImsIot_TP_behavior_MW_PS { * } */ function f_mtc_check_TP_MW_PCSCF_BYE_01( ImsInterfaceMonitor p_monitorCompRef, in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { Loading Loading @@ -1153,7 +1153,7 @@ module AtsImsIot_TP_behavior_MW_PS { * from the UE_B entity * } * then { * the IMS_P_CSCF_B entity send a BYE containing * the IMS_P_CSCF_B entity sends a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, Loading @@ -1165,7 +1165,7 @@ module AtsImsIot_TP_behavior_MW_PS { * } */ function f_mtc_check_TP_MW_PCSCF_BYE_02( ImsInterfaceMonitor p_monitorCompRef, in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { Loading @@ -1182,6 +1182,58 @@ module AtsImsIot_TP_behavior_MW_PS { p_monitorCompRef.done; } // End of function f_mtc_check_TP_MW_PCSCF_BYE_02 /** * @desc Verify that the P-CSCF successfully processes a BYE (Originating Network). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * Expected behaviour * ensure that { * when { * the IMS_P_CSCF_A entity receives a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the IMS_S_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the UE_A entity * } * } */ function f_mtc_check_TP_MW_PCSCF_BYE_03( in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipRequest(mw_BYE_Request_Base) }, {}, { 0, omit }, "TP_MW_PCSCF_BYE_03", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_MW_PCSCF_BYE_03 } // End of group imsBye } // End of module AtsImsIot_TP_behavior_MW_PS
ttcn/AtsImsIot/AtsImsIot_TestCases_CALL.ttcn +54 −4 Original line number Diff line number Diff line Loading @@ -293,7 +293,6 @@ module AtsImsIot_TestCases_CALL { f_mtc_userAnswerCall(v_ueB); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_ueB); // Event 1 f_mtc_userAddNewMediaStream(v_ueA); // Test body f_mtc_check_TP_GM_PCSCF_RE_INVITE_02(v_gmB); // Event 5 Loading Loading @@ -361,7 +360,6 @@ module AtsImsIot_TestCases_CALL { f_mtc_userAnswerCall(v_ueB); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_ueB); // Event 1 f_mtc_userAddNewMediaStream(v_ueA); // Test body f_mtc_userTriggerReleaseCall(v_ueA); //Test Sequence Step 4 Loading Loading @@ -419,7 +417,6 @@ module AtsImsIot_TestCases_CALL { f_mtc_userAnswerCall(v_ueB); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_ueB); // Event 1 f_mtc_userAddNewMediaStream(v_ueA); // Test body f_mtc_userTriggerReleaseCall(v_ueB); //Test Sequence Step 4 Loading Loading @@ -447,9 +444,62 @@ module AtsImsIot_TestCases_CALL { group networkInitiated { /** * @desc To perform network session release and the tear down of related dedicated bearers */ testcase TC_VxLTE_INT_REL_03() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, omit, v_ic, omit, v_gmB, omit}; // Map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_VxLteMonitor_Up(); f_cf_int_call_up(v_config); // Preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); f_mtc_userInitiateCall (v_ueB, v_userInfoA); f_mtc_userCheckRinging(v_ueA); f_mtc_userCheckPeerIsRinging(v_ueB); f_mtc_userAnswerCall(v_ueB); f_mtc_userCheckCallEstablished(v_ueB); // Event 1 f_mtc_userCheckCallEstablished(v_ueA); // Event 1 // Test body f_mtc_userLooseConnection(v_ueB); f_mtc_check_TP_GM_PCSCF_BYE_03(v_gmA); // Event 5 f_mtc_check_TP_MW_PCSCF_BYE_03(v_gmA/*FIXME: mwPS*/); // Event 3 // f_mtc_check_TP_IMS_5073_01_ic(v_ic); // Event 4 f_mtc_userCheckCallTerminated(v_ueA); // Event 14 f_mtc_userCheckCallCancelled(v_ueB); // Event 15 // Postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); f_cf_int_call_down(v_config); // Unmap/disconnet component ports f_cf_VxLteMonitor_Down(); f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } // End of testcase TC_VxLTE_INT_REL_03 } // End of group networkInitiated } // End of group TC_VxLTE_INT_REL_01 } // End of group imsSipSessionRelease Loading
LibIms @ d640fce7 Compare 45bea252 to d640fce7 Original line number Diff line number Diff line Subproject commit 45bea252dd3e62acc56db4e863d9fb6a96b4ee6f Subproject commit d640fce7b8bd65dbb77c93a98f80c53a73bb2a24