/** * @author STF 370 * @version $Id: $ * @desc This module provides ATS specific test case definitions. */ module AtsImsIot_TestCases_CALL { import from AtsImsIot_Behavior { function all; } import from AtsImsIot_Functions { function all; } import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;} import from LibIms_UpperTester {type ImsUserInfo;} import from LibIot_TestConfiguration { function f_cf_create_IotEquipmentUser; } import from AtsImsIot_TestConfiguration { const all; function all; } import from LibIot_TestInterface {type IotEquipmentUser;} import from AtsImsIot_TestSystem { type ImsInterfaceMonitor, ImsTestCoordinator, IotSystemInterface; } /** * @desc Default SIP URI with DNS/ENUM lookup procedure * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.1.1 */ testcase TC_IMS_CALL_0001() 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); var ImsUserInfo v_userTelInfoB := f_getTelUserId(PX_EUT_B); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // preamble f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); // test body f_mtc_userTriggerInitiateCall (v_ueA, v_userTelInfoB); //Test Sequence Step 1 // check 1 (INVITE) f_mtc_check_TP_IMS_5097_01_gm(v_gmA, true); // Check1 f_mtc_check_TP_IMS_5097_02_gm(v_gmA, true); // Check2 f_mtc_check_TP_IMS_5097_04_gm(v_gmA, false); // Check3 f_mtc_check_TP_IMS_5097_01_mw(v_mw, true); // Check1 f_mtc_check_TP_IMS_5097_02_mw(v_mw, true); // Check2 f_mtc_check_TP_IMS_5097_04_mw(v_mw, false); // Check3 // checks 6, 10 (180 Ringing) f_mtc_check_TP_IMS_5115_01_gm(v_gmB, true); // Check 6 f_mtc_check_TP_IMS_5115_03_gm(v_gmB, true); // Check 7 f_mtc_check_TP_IMS_5131_01_gm(v_gmB, false); // Check 10 f_mtc_check_TP_IMS_5115_01_mw(v_mw, true); // Check 6 f_mtc_check_TP_IMS_5115_03_mw(v_mw, true); // Check 7 f_mtc_check_TP_IMS_5131_01_mw(v_mw, false); // Check 10 f_mtc_userCheckRinging(v_ueB); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueA); //Test Sequence Step 3 f_mtc_userTriggerAnswerCall(v_ueB); //Test Sequence Step 4 // checks 8, 11 (2xx) f_mtc_check_TP_IMS_5115_02_gm(v_gmB, true); // Check 8 f_mtc_check_TP_IMS_5115_04_gm(v_gmB, true); // Check 9 f_mtc_check_TP_IMS_5131_02_gm(v_gmB, false); // Check 11 f_mtc_check_TP_IMS_5115_02_mw(v_mw, true); // Check 8 f_mtc_check_TP_IMS_5115_04_mw(v_mw, true); // Check 9 f_mtc_check_TP_IMS_5131_02_mw(v_mw, false); // Check 11 f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 5 f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 6 //check 4 (ACK) f_mtc_check_TP_IMS_5107_02_gm(v_gmA, false); // Check2 f_mtc_check_TP_IMS_5107_02_mw(v_mw, false); // Check2 f_mtc_triggerEndCall(v_ueA); //Test Sequence Step 7 // check 5 (BYE) f_mtc_check_TP_IMS_5107_01_gm(v_gmA, false); // Check3 f_mtc_check_TP_IMS_5107_01_mw(v_mw, false); // Check3 f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 8 f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 9 // 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); } //end testcase TC_IMS_CALL_0001 /** * @desc Default SIP URI * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.1.2 */ testcase TC_IMS_CALL_0001F() 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 IotEquipmentUser v_ueB2 := f_cf_create_IotEquipmentUser(c_userUE_B2); 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_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_user_up(v_ueB2); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // preamble f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); f_mtc_userTriggerRegistration(v_ueB2, v_userInfoB); //TODO check if UE_B2 should have different uri // test body f_mtc_userTriggerInitiateCall (v_ueA, v_userInfoB); //Test Sequence Step 1 // check 1 (INVITE) f_mtc_check_TP_IMS_5097_01_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5097_01_mw(v_mw, false); // Check1 // checks 4, 6 (180 Ringing) f_mtc_check_TP_IMS_5115_01_gm(v_gmB, true); // Check 4 f_mtc_check_TP_IMS_5131_01_gm(v_gmB, false); // Check 6 f_mtc_check_TP_IMS_5115_01_mw(v_mw, true); // Check4 f_mtc_check_TP_IMS_5131_01_mw(v_mw, false); // Check6 f_mtc_check_TP_IMS_5115_01_gm(v_gmB, true); // Check4 //TODO how should be checked responses from UE_B2 f_mtc_check_TP_IMS_5131_01_gm(v_gmB, false); // Check6 //TODO how should be checked responses from UE_B2 f_mtc_check_TP_IMS_5115_01_mw(v_mw, true); // Check4 from UE_B2 f_mtc_check_TP_IMS_5131_01_mw(v_mw, false); // Check6 from UE_B2 f_mtc_userCheckRinging(v_ueB); //Test Sequence Step 2 f_mtc_userCheckRinging(v_ueB2); //Test Sequence Step 3 f_mtc_userCheckPeerIsRinging(v_ueA); //Test Sequence Step 4 f_mtc_userTriggerAnswerCall(v_ueB2); //Test Sequence Step 5 // checks 5, 7 (2xx) f_mtc_check_TP_IMS_5115_02_gm(v_gmB, true); // Check 5 f_mtc_check_TP_IMS_5131_02_gm(v_gmB, false); // Check 7 f_mtc_check_TP_IMS_5115_02_mw(v_mw, true); // Check 5 f_mtc_check_TP_IMS_5131_02_mw(v_mw, false); // Check 7 f_mtc_check_TP_IMS_5115_02_gm(v_gmB, true); // Check 5 TODO how should be checked responses from UE_B2 f_mtc_check_TP_IMS_5131_02_gm(v_gmB, false); // Check 7 TODO how should be checked responses from UE_B2 f_mtc_check_TP_IMS_5115_02_mw(v_mw, true); // Check5 from UE_B2 f_mtc_check_TP_IMS_5131_02_mw(v_mw, false); // Check7 from UE_B2 f_mtc_userCheckCallNoLongerOffered(v_ueB); //Test Sequence Step 6 f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 7 f_mtc_userCheckCallEstablished(v_ueB2); //Test Sequence Step 8 //check 2 (ACK) f_mtc_check_TP_IMS_5107_02_gm(v_gmA, false); // Check2 f_mtc_check_TP_IMS_5107_02_mw(v_mw, false); // Check2 f_mtc_triggerEndCall(v_ueA); //Test Sequence Step 9 // check 3 (BYE) f_mtc_check_TP_IMS_5107_01_gm(v_gmA, false); // Check3 f_mtc_check_TP_IMS_5107_01_mw(v_mw, false); // Check3 f_mtc_userCheckCallEnded(v_ueB2 ); //Test Sequence Step 10 f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 11 // postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); f_PO_user_home_deregistration(v_ueB2); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_user_down(v_ueB2); } //end testcase TC_IMS_CALL_0001F }