Loading AtsImsIot/AtsImsIot_Behavior.ttcn +52 −0 Original line number Diff line number Diff line Loading @@ -2399,6 +2399,58 @@ group checksTC_IMS_CALL_0008 { } // group group checksTC_IMS_CALL_0014 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_03_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_CANCEL_Request_Base(?))}, {}, {0, omit}, "TP_IMS_5107_03", false, p_checkMessage ) ); p_monitorCompRef.done; } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_03_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_scscfImsAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5107_03_mw(?, v_scscfImsAUrl))}, {}, {0, omit}, "TP_IMS_5107_03", false, p_checkMessage ) ); p_monitorCompRef.done; } //function } // group group checksTC_IMS_SS_0001 { /** * @desc Starts monitor component behavior Loading AtsImsIot/AtsImsIot_Functions.ttcn +26 −2 Original line number Diff line number Diff line Loading @@ -207,6 +207,20 @@ module AtsImsIot_Functions { return v_status; } /** * @desc Trigger UE given by p_ueRef to enter CANCEL current call * @param p_userCompRef Reference to IMS UE user component * @return * true in case of successfull execution of the trigger command * otherwise false */ function f_mtc_userTriggerCancelCall(EquipmentUser p_ueRef) runs on TestCoordinator return boolean { var boolean v_status := true; // TODO return v_status; } /** * @desc Trigger UE given by p_ueRef to enter HOLD state * @param p_userCompRef Reference to IMS UE user component Loading Loading @@ -327,7 +341,17 @@ module AtsImsIot_Functions { return v_status; } /** * @desc Check that UE by p_ueRef given reports that call has been cancelled * @param p_userCompRef Reference to IMS UE user component * @return true or false */ function f_mtc_userCheckCallCancelled(EquipmentUser p_ueRef) runs on TestCoordinator return boolean { var boolean v_status := true; // TODO return v_status; } /** * @desc Start capturing and monitoring traffic on all configured interfaces Loading AtsImsIot/AtsImsIot_Templates.ttcn +18 −0 Original line number Diff line number Diff line Loading @@ -519,6 +519,24 @@ module AtsImsIot_Templates { } } /** * * @desc CANCEL Request checking TP_IMS_5107_03 on MW */ template CANCEL_Request mdw_TP_IMS_5107_03_mw (template CallId p_callId, template SipUrl p_SCSCF_SIP_URI) modifies mw_CANCEL_Request_Base := { msgHeader := { route := { fieldName := ROUTE_E, routeBody := { *, complement(mw_routeBody(p_SCSCF_SIP_URI)), * } } } } /** * * @desc INVITE Request checking TP_IMS_5108_01 on MW Loading AtsImsIot/AtsImsIot_TestCases_CALL.ttcn +1364 −1319 Original line number Diff line number Diff line Loading @@ -603,6 +603,51 @@ group Limit { }//end group Limit /** * @desc Call CANCEL by calling user * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.1 */ testcase TC_IMS_CALL_0014() 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_mw := f_cf_create_monitor(c_mw); var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_call_up(v_gmA, v_mw, v_gmB); // preamble f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); // test body f_mtc_userTriggerInitiateCall (v_ueA, v_userInfoB); //Test Sequence Step 1 f_mtc_userCheckRinging(v_ueB); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueA); //Test Sequence Step 3 f_mtc_userTriggerCancelCall (v_ueA); //Test Sequence Step 4 f_mtc_check_TP_IMS_5107_03_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5107_03_mw(v_mw, true); // Check1 f_mtc_userCheckCallCancelled(v_ueB); //Test Sequence Step 5 f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 6 // postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_roam_call_down(v_gmA, v_mw, v_gmB); } //end testcase TC_IMS_CALL_0014 /** Loading Loading
AtsImsIot/AtsImsIot_Behavior.ttcn +52 −0 Original line number Diff line number Diff line Loading @@ -2399,6 +2399,58 @@ group checksTC_IMS_CALL_0008 { } // group group checksTC_IMS_CALL_0014 { /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_03_gm( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_CANCEL_Request_Base(?))}, {}, {0, omit}, "TP_IMS_5107_03", false, p_checkMessage ) ); p_monitorCompRef.done; } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_03_mw( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { var template SipUrl v_scscfImsAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5107_03_mw(?, v_scscfImsAUrl))}, {}, {0, omit}, "TP_IMS_5107_03", false, p_checkMessage ) ); p_monitorCompRef.done; } //function } // group group checksTC_IMS_SS_0001 { /** * @desc Starts monitor component behavior Loading
AtsImsIot/AtsImsIot_Functions.ttcn +26 −2 Original line number Diff line number Diff line Loading @@ -207,6 +207,20 @@ module AtsImsIot_Functions { return v_status; } /** * @desc Trigger UE given by p_ueRef to enter CANCEL current call * @param p_userCompRef Reference to IMS UE user component * @return * true in case of successfull execution of the trigger command * otherwise false */ function f_mtc_userTriggerCancelCall(EquipmentUser p_ueRef) runs on TestCoordinator return boolean { var boolean v_status := true; // TODO return v_status; } /** * @desc Trigger UE given by p_ueRef to enter HOLD state * @param p_userCompRef Reference to IMS UE user component Loading Loading @@ -327,7 +341,17 @@ module AtsImsIot_Functions { return v_status; } /** * @desc Check that UE by p_ueRef given reports that call has been cancelled * @param p_userCompRef Reference to IMS UE user component * @return true or false */ function f_mtc_userCheckCallCancelled(EquipmentUser p_ueRef) runs on TestCoordinator return boolean { var boolean v_status := true; // TODO return v_status; } /** * @desc Start capturing and monitoring traffic on all configured interfaces Loading
AtsImsIot/AtsImsIot_Templates.ttcn +18 −0 Original line number Diff line number Diff line Loading @@ -519,6 +519,24 @@ module AtsImsIot_Templates { } } /** * * @desc CANCEL Request checking TP_IMS_5107_03 on MW */ template CANCEL_Request mdw_TP_IMS_5107_03_mw (template CallId p_callId, template SipUrl p_SCSCF_SIP_URI) modifies mw_CANCEL_Request_Base := { msgHeader := { route := { fieldName := ROUTE_E, routeBody := { *, complement(mw_routeBody(p_SCSCF_SIP_URI)), * } } } } /** * * @desc INVITE Request checking TP_IMS_5108_01 on MW Loading
AtsImsIot/AtsImsIot_TestCases_CALL.ttcn +1364 −1319 Original line number Diff line number Diff line Loading @@ -603,6 +603,51 @@ group Limit { }//end group Limit /** * @desc Call CANCEL by calling user * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.1 */ testcase TC_IMS_CALL_0014() 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_mw := f_cf_create_monitor(c_mw); var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_call_up(v_gmA, v_mw, v_gmB); // preamble f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); // test body f_mtc_userTriggerInitiateCall (v_ueA, v_userInfoB); //Test Sequence Step 1 f_mtc_userCheckRinging(v_ueB); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueA); //Test Sequence Step 3 f_mtc_userTriggerCancelCall (v_ueA); //Test Sequence Step 4 f_mtc_check_TP_IMS_5107_03_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5107_03_mw(v_mw, true); // Check1 f_mtc_userCheckCallCancelled(v_ueB); //Test Sequence Step 5 f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 6 // postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_roam_call_down(v_gmA, v_mw, v_gmB); } //end testcase TC_IMS_CALL_0014 /** Loading