/** * @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; } import from AtsImsIot_TestSystem {type CF_INT_CALL;} /** * @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_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 ImsUserInfo v_userTelInfoB := f_getTelUserId(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (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_ic(v_ic, true); // Check1 f_mtc_check_TP_IMS_5097_02_ic(v_ic, true); // Check2 f_mtc_check_TP_IMS_5097_04_ic(v_ic, 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_ic(v_ic, true); // Check 6 f_mtc_check_TP_IMS_5115_03_ic(v_ic, true); // Check 7 f_mtc_check_TP_IMS_5131_01_ic(v_ic, false); // Check 10 f_mtc_userCheckRinging(v_ueB); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueA); //Test Sequence Step 3 f_mtc_userAnswerCall(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_ic(v_ic, true); // Check 8 f_mtc_check_TP_IMS_5115_04_ic(v_ic, true); // Check 9 f_mtc_check_TP_IMS_5131_02_ic(v_ic, 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_ic(v_ic, false); // Check2 f_mtc_EndCall(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_ic(v_ic, 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); f_cf_int_call_down(v_config); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } //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_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_user_up(v_ueB2); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); f_mtc_userRegistration(v_ueB2, v_userInfoB); // test body f_mtc_userInitiateCall (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_ic(v_ic, 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_ic(v_ic, true); // Check4 f_mtc_check_TP_IMS_5131_01_ic(v_ic, false); // Check6 f_mtc_check_TP_IMS_5115_01_gm(v_gmB, true); // Check4 f_mtc_check_TP_IMS_5131_01_gm(v_gmB, false); // Check6 f_mtc_check_TP_IMS_5115_01_ic(v_ic, true); // Check4 from UE_B2 f_mtc_check_TP_IMS_5131_01_ic(v_ic, 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_userAnswerCall(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_ic(v_ic, true); // Check 5 f_mtc_check_TP_IMS_5131_02_ic(v_ic, false); // Check 7 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_ic(v_ic, true); // Check5 from UE_B2 f_mtc_check_TP_IMS_5131_02_ic(v_ic, 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_ic(v_ic, false); // Check2 f_mtc_EndCall(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_ic(v_ic, 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); f_cf_int_call_down(v_config); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_user_down(v_ueB2); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0001F /** * @desc Default Tel URI * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.1.3 */ testcase TC_IMS_CALL_0002() 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_getTelUserId(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getTelUserId(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (v_ueA, v_userInfoB); //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, false); // Check2 f_mtc_check_TP_IMS_5097_01_ic(v_ic, true); // Check1 f_mtc_check_TP_IMS_5097_02_ic(v_ic, false); // Check2 // checks 6, 10 (180 Ringing) f_mtc_check_TP_IMS_5115_01_gm(v_gmB, true); // Check 5 f_mtc_check_TP_IMS_5115_03_gm(v_gmB, true); // Check 6 f_mtc_check_TP_IMS_5131_01_gm(v_gmB, false); // Check 9 f_mtc_check_TP_IMS_5115_01_ic(v_ic, true); // Check 5 f_mtc_check_TP_IMS_5115_03_ic(v_ic, true); // Check 6 f_mtc_check_TP_IMS_5131_01_ic(v_ic, false); // Check 9 f_mtc_userCheckRinging(v_ueB); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueA); //Test Sequence Step 3 f_mtc_userAnswerCall(v_ueB); //Test Sequence Step 4 // checks 8, 11 (2xx) f_mtc_check_TP_IMS_5115_02_gm(v_gmB, true); // Check 7 f_mtc_check_TP_IMS_5115_04_gm(v_gmB, true); // Check 8 f_mtc_check_TP_IMS_5131_02_gm(v_gmB, false); // Check 10 f_mtc_check_TP_IMS_5115_02_ic(v_ic, true); // Check 7 f_mtc_check_TP_IMS_5115_04_ic(v_ic, true); // Check 8 f_mtc_check_TP_IMS_5131_02_ic(v_ic, false); // Check 10 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); // Check3 f_mtc_check_TP_IMS_5107_02_ic(v_ic, false); // Check3 f_mtc_EndCall(v_ueA); //Test Sequence Step 7 // check 5 (BYE) f_mtc_check_TP_IMS_5107_01_gm(v_gmA, false); // Check4 f_mtc_check_TP_IMS_5107_01_ic(v_ic, false); // Check4 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); f_cf_int_call_down(v_config); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0002 /** * @desc Rejection of call from barred user * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.1.4 */ testcase TC_IMS_CALL_0003() 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_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, v_ic, omit}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (v_ueA, v_userInfoB); //Test Sequence Step 1 //check 1 (INVITE) f_mtc_check_TP_IMS_5108_05_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5108_05_ic(v_ic, false); // Check1 f_mtc_userCheckCallCannotBeEstablished(v_ueA); //Test Sequence Step 2 // 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_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0003 /** * @desc Rejection of call to non existing user * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.1.5 */ testcase TC_IMS_CALL_0004() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, v_ic, omit}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); // test body v_userInfoB.privateId := ("non_existing_user"); f_mtc_userInitiateCall (v_ueA, v_userInfoB); //Test Sequence Step 1 // //check 1 (INVITE) f_mtc_check_TP_IMS_5132_01_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5132_01_ic(v_ic, false); // Check1 f_mtc_userCheckCallCannotBeEstablished(v_ueA); //Test Sequence Step 2 // postamble f_PO_user_home_deregistration(v_ueA); f_cf_int_call_down(v_config); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0004 /** * @desc Rejection of call to unavailable user * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.1.6 */ testcase TC_IMS_CALL_0005() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, v_ic, omit}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); // test body v_userInfoB.privateId := ("unavailable"); f_mtc_userInitiateCall (v_ueA, v_userInfoB); //Test Sequence Step 1 // //check 1 (INVITE) f_mtc_check_TP_IMS_5133_01_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5133_01_ic(v_ic, false); // Check1 f_mtc_userCheckCallCannotBeEstablished(v_ueA); //Test Sequence Step 2 // postamble f_PO_user_home_deregistration(v_ueA); f_cf_int_call_down(v_config); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0005 /** * @desc Initial request to non-registered user with terminating unregistered filter criterion * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.1.7 */ testcase TC_IMS_CALL_0006() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, v_ic, omit}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); // test body v_userInfoB.privateId := ("userNOAS_in_IMSB"); f_mtc_userInitiateCall (v_ueA, v_userInfoB); //Test Sequence Step 1 // //check 1 (INVITE) f_mtc_check_TP_IMS_5109_01_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5109_01_ic(v_ic, false); // Check1 f_mtc_userCheckCallCannotBeEstablished(v_ueA); //Test Sequence Step 2 // postamble f_PO_user_home_deregistration(v_ueA); f_cf_int_call_down(v_config); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0006 /** * @desc Normal call (roaming) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.2.1 */ testcase TC_IMS_CALL_0007() 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_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); //var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_call_up(v_gmA, v_ic); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (v_ueB, v_userInfoA); //Test Sequence Step 1 // checks 1,2 gm f_mtc_check_TP_IMS_5046_01_gm(v_gmA, true); // Check1 f_mtc_check_TP_IMS_5067_01_gm(v_gmA, false); // Check2 //checks 1,2 (INVITE from IMS_A to IMS_B) f_mtc_check_TP_IMS_5046_01_ic(v_ic, true); // Check1 f_mtc_check_TP_IMS_5067_01_ic(v_ic, false); // Check2 //checks 7,3 (INVITE from IMS_B to IMS_A and 100 Trying from IMS_A to IMS_B) f_mtc_check_TP_IMS_5108_01_ic(v_ic, true); // Check7 f_mtc_check_TP_IMS_5070_01_ic(v_ic, false); // Check3 // checks 5 (180 Ringing) f_mtc_check_TP_IMS_5055_01_gm(v_gmA, true); // Check 5 f_mtc_check_TP_IMS_5055_01_ic(v_ic, true); // Check 5 f_mtc_userCheckRinging(v_ueA); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueB); //Test Sequence Step 3 f_mtc_userAnswerCall(v_ueA); //Test Sequence Step 4 // checks 6 (2xx) f_mtc_check_TP_IMS_5055_02_gm(v_gmA, true); // Check 6 f_mtc_check_TP_IMS_5055_02_ic(v_ic, true); // Check 6 f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 5 f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 6 f_mtc_EndCall(v_ueA); //Test Sequence Step 7 // check 4 (BYE) //f_mtc_check_TP_IMS_5301_01_gm(v_gmA, false); // Check4 //f_mtc_check_TP_IMS_5301_01_ic(v_ic, false); // Check4 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); f_cf_roam_call_down(v_gmA, v_ic); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0007 /** * @desc Normal call with hold/resume * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.2.2 */ testcase TC_IMS_CALL_0008() 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_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); // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_call_up(v_gmA, v_ic); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (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_userAnswerCall(v_ueB); //Test Sequence Step 4 f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 5 f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 6 f_mtc_userTriggerHold(v_ueA); //Test Sequence Step 7 // checks 3 and 1 (INVITE and 100 Trying) f_mtc_check_TP_IMS_5120_01_gm(v_gmA, false, 1); // Check3 f_mtc_check_TP_IMS_5081_01_ic(v_ic, true); // Check1 f_mtc_check_TP_IMS_5120_01_ic(v_ic, false, 2); // Check3 //checks 2 (200 OK) f_mtc_check_TP_IMS_5082_01_gm(v_gmA, false, 1); // Check2 f_mtc_check_TP_IMS_5082_01_ic(v_ic, false, 2); // Check2 f_mtc_userCheckUserOnHold(v_ueB); //Test Sequence Step 8 f_mtc_userCheckUserOnHold(v_ueA); //Test Sequence Step 9 f_mtc_userTriggerResume(v_ueA); //Test Sequence Step 10 // checks 3 and 1 (INVITE and 100 Trying) f_mtc_check_TP_IMS_5120_01_gm(v_gmA, false, 0); // Check3 f_mtc_check_TP_IMS_5120_01_ic(v_ic, true, 0); // Check3 f_mtc_check_TP_IMS_5081_01_ic(v_ic, false); // Check1 //checks 2 (200 OK) f_mtc_check_TP_IMS_5082_01_gm(v_gmA, false, 0); // Check2 f_mtc_check_TP_IMS_5082_01_ic(v_ic, false, 0); // Check2 f_mtc_userCheckCallResumed(v_ueB); //Test Sequence Step 11 f_mtc_userCheckCallResumed(v_ueA); //Test Sequence Step 12 f_mtc_EndCall(v_ueA); //Test Sequence Step 13 f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 14 f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 15 // postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); f_cf_roam_call_down(v_gmA, v_ic); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0008 /** * @desc Subsequent request(other than target refresh) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.2.3 */ testcase TC_IMS_CALL_0009() 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_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_call_up(v_gmA, v_ic); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (v_ueB, v_userInfoA); //Test Sequence Step 1 f_mtc_userCheckRinging(v_ueA); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueB); //Test Sequence Step 3 f_mtc_userAnswerCall(v_ueA); //Test Sequence Step 4 f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 5 f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 6 f_mtc_EndCall(v_ueB); //Test Sequence Step 7 // check 1 (BYE) f_mtc_check_TP_IMS_5052_01_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5052_01_ic(v_ic, false); // Check1 f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 8 f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 9 // postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); f_cf_roam_call_down(v_gmA, v_ic); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0009 /** * @desc Subsequent target refresh request(INVITE) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.2.4 */ testcase TC_IMS_CALL_0010() 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_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_call_up(v_gmA, v_ic); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (v_ueB, v_userInfoA); //Test Sequence Step 1 f_mtc_userCheckRinging(v_ueA); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueB); //Test Sequence Step 3 f_mtc_userAnswerCall(v_ueA); //Test Sequence Step 4 f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 5 f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 6 f_mtc_userTriggerHold(v_ueB); //Test Sequence Step 7 // checks 1 and 2 (INVITE) f_mtc_check_TP_IMS_5048_01_gm(v_gmA, false, 1); // Check1 f_mtc_check_TP_IMS_5048_01_ic(v_ic, true, 2); // Check1 f_mtc_check_TP_IMS_5080_01_ic(v_ic, false); // Check2 f_mtc_userCheckUserOnHold(v_ueA); //Test Sequence Step 8 f_mtc_userCheckUserOnHold(v_ueB); //Test Sequence Step 9 f_mtc_userTriggerResume(v_ueB); //Test Sequence Step 10 // checks 1 and 2 (INVITE) f_mtc_check_TP_IMS_5048_01_gm(v_gmA, false, 0); // Check1 f_mtc_check_TP_IMS_5048_01_ic(v_ic, true, 1); // Check1 f_mtc_check_TP_IMS_5080_01_ic(v_ic, false); // Check2 f_mtc_userCheckCallResumed(v_ueA); //Test Sequence Step 11 f_mtc_userCheckCallResumed(v_ueB); //Test Sequence Step 12 f_mtc_EndCall(v_ueA); //Test Sequence Step 13 f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 14 f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 15 // postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); f_cf_roam_call_down(v_gmA, v_ic); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0010 /** * @desc Call CANCEL due to loss of connectivity of calling user during call establishment * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.2.7 */ testcase TC_IMS_CALL_0013() 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_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_call_up(v_gmA, v_ic); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (v_ueB, v_userInfoA); //Test Sequence Step 1 f_mtc_userCheckRinging(v_ueA); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueB); //Test Sequence Step 3 f_cf_user_down(v_ueB);// //Test Sequence Step 4 --- UEB loses conectivity f_mtc_check_TP_IMS_5072_02_gm(v_gmA, false); // Check1 f_mtc_userCheckCallCancelled(v_ueA); //Test Sequence Step 5 // postamble f_PO_user_home_deregistration(v_ueA); f_cf_roam_call_down(v_gmA, v_ic); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0013 /** * @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_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); // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_call_up(v_gmA, v_ic); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (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_ic(v_ic, false); // 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); f_cf_roam_call_down(v_gmA, v_ic); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0014 /** * @desc Call failure due to de-registration of calling user during call * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.3 */ testcase TC_IMS_CALL_0016() 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_imsA := f_cf_create_IotEquipmentUser("IMS A"); 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, v_ic, omit}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_user_up(v_imsA); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (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_userAnswerCall(v_ueB); //Test Sequence Step 4 f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 5 f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 6 f_mtc_imsTriggerUeDeregistration(v_imsA, v_ueA); //Test Sequence Step 7 f_mtc_check_TP_IMS_5139_01_ic(v_ic, false); // Check 1 f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 8 // 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_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_user_down(v_imsA); f_cf_adapter_down(); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0016 /** * @desc Subsequent target refresh request (INVITE) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.4 */ testcase TC_IMS_CALL_0017() runs on ImsTestCoordinator system IotSystemInterface { // create components var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // variables var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // configuration f_cf_int_call_up(v_config); // preamble f_PR_user_home_registration(v_ueA,v_userInfoA); f_PR_user_home_registration(v_ueB,v_userInfoB); // test body // Test Sequence 1 ---------------------> f_mtc_userInitiateCall (v_ueA, v_userInfoB); // Test Sequence 2 ---------------------> f_mtc_userCheckRinging(v_ueB); // Test Sequence 3 ---------------------> f_mtc_userCheckPeerIsRinging(v_ueA); // Test Sequence 4 ---------------------> f_mtc_userAnswerCall(v_ueB); // Test Sequence 5 ---------------------> f_mtc_userCheckCallEstablished(v_ueA); // Test Sequence 6 ---------------------> f_mtc_userCheckCallEstablished(v_ueB); // Test Sequence 7 ---------------------> f_mtc_userTriggerHold(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_01_gm(v_gmA,1); f_mtc_check_TP_IMS_5106_01_ic(v_ic,1); // Test Sequence 8 ---------------------> f_mtc_userCheckUserOnHold(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,1); f_mtc_check_TP_IMS_5121_02_ic(v_ic,1); // Test Sequence 9 ---------------------> f_mtc_userCheckUserOnHold(v_ueA); // Test Sequence 10 --------------------> f_mtc_userTriggerResume(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_01_gm(v_gmA,0); f_mtc_check_TP_IMS_5106_01_ic(v_ic,0); // Test Sequence 11 --------------------> f_mtc_userCheckCallResumed(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 12 --------------------> f_mtc_userCheckCallResumed(v_ueA); // Test Sequence 13 --------------------> f_mtc_EndCall(v_ueA); // Test Sequence 14 --------------------> f_mtc_userCheckCallEnded(v_ueB ); // Test Sequence 15 --------------------> f_mtc_userCheckCallEnded(v_ueA); // 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_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } /** * @desc Subsequent target refresh request (UPDATE) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.5 */ testcase TC_IMS_CALL_0018() runs on ImsTestCoordinator system IotSystemInterface { // create components var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // variables var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // configuration f_cf_int_call_up(v_config); // preamble f_PR_user_home_registration(v_ueA,v_userInfoA); f_PR_user_home_registration(v_ueB,v_userInfoB); // test body // Test Sequence 1 ---------------------> f_mtc_userInitiateCall (v_ueA, v_userInfoB); // Test Sequence 2 ---------------------> f_mtc_userCheckRinging(v_ueB); // Test Sequence 3 ---------------------> f_mtc_userCheckPeerIsRinging(v_ueA); // Test Sequence 4 ---------------------> f_mtc_userAnswerCall(v_ueB); // Test Sequence 5 ---------------------> f_mtc_userCheckCallEstablished(v_ueA); // Test Sequence 6 ---------------------> f_mtc_userCheckCallEstablished(v_ueB); // Test Sequence 7 ---------------------> f_mtc_userTriggerHold(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_02_gm(v_gmA); f_mtc_check_TP_IMS_5106_02_ic(v_ic); // Test Sequence 8 ---------------------> f_mtc_userCheckUserOnHold(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,1); f_mtc_check_TP_IMS_5121_02_ic(v_ic,1); // Test Sequence 9 ---------------------> f_mtc_userCheckUserOnHold(v_ueA); // Test Sequence 10 --------------------> f_mtc_userTriggerResume(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_02_gm(v_gmA); f_mtc_check_TP_IMS_5106_02_ic(v_ic); // Test Sequence 11 --------------------> f_mtc_userCheckCallResumed(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 12 --------------------> f_mtc_userCheckCallResumed(v_ueA); // Test Sequence 13 --------------------> f_mtc_EndCall(v_ueA); // Test Sequence 14 --------------------> f_mtc_userCheckCallEnded(v_ueB ); // Test Sequence 15 --------------------> f_mtc_userCheckCallEnded(v_ueA); // 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_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } /** * @desc Addition of media streams (reINVITE) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.6 */ testcase TC_IMS_CALL_0019() runs on ImsTestCoordinator system IotSystemInterface { // create components var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // variables var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // configuration f_cf_int_call_up(v_config); // preamble f_PR_user_home_registration(v_ueA,v_userInfoA); f_PR_user_home_registration(v_ueB,v_userInfoB); // test body // Test Sequence 1 ---------------------> f_mtc_userInitiateCall (v_ueA, v_userInfoB); // Test Sequence 2 ---------------------> f_mtc_userCheckRinging(v_ueB); // Test Sequence 3 ---------------------> f_mtc_userCheckPeerIsRinging(v_ueA); // Test Sequence 4 ---------------------> f_mtc_userAnswerCall(v_ueB); // Test Sequence 5 ---------------------> f_mtc_userCheckCallEstablished(v_ueA); // Test Sequence 6 ---------------------> f_mtc_userCheckCallEstablished(v_ueB); // Test Sequence 7 ---------------------> f_mtc_userAddNewMediaStream(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_01_gm(v_gmA,1); f_mtc_check_TP_IMS_5106_01_ic(v_ic,1); // Test Sequence 8 ---------------------> // optional // Test Sequence 9 ---------------------> // optional // Test Sequence 10 --------------------> f_mtc_userCheckNewMediaStream(v_ueB); // Test Sequence 11 --------------------> f_mtc_userCheckNewMediaStream(v_ueA); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,1); f_mtc_check_TP_IMS_5121_02_ic(v_ic,1); // Test Sequence 12 --------------------> f_mtc_EndCall(v_ueA); // Test Sequence 13 --------------------> f_mtc_userCheckCallEnded(v_ueB ); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 14 --------------------> f_mtc_userCheckCallEnded(v_ueA ); // 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_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } /** * @desc Addition of media streams (reINVITE) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.7 */ testcase TC_IMS_CALL_0020() runs on ImsTestCoordinator system IotSystemInterface { // create components var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_A); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // variables var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // configuration f_cf_int_call_up(v_config); // preamble f_PR_user_home_registration(v_ueA,v_userInfoA); f_PR_user_home_registration(v_ueB,v_userInfoB); // test body // Test Sequence 1 ---------------------> f_mtc_userInitiateCall (v_ueA, v_userInfoB); // Test Sequence 2 ---------------------> f_mtc_userCheckRinging(v_ueB); // Test Sequence 3 ---------------------> f_mtc_userCheckPeerIsRinging(v_ueA); // Test Sequence 4 ---------------------> f_mtc_userAnswerCall(v_ueB); // Test Sequence 5 ---------------------> f_mtc_userCheckCallEstablished(v_ueA); // Test Sequence 6 ---------------------> f_mtc_userCheckCallEstablished(v_ueB); // Test Sequence 7 ---------------------> f_mtc_userAddNewMediaStream(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_01_gm(v_gmA,1); f_mtc_check_TP_IMS_5106_01_ic(v_ic,1); // Test Sequence 8 ---------------------> // optional // Test Sequence 9 ---------------------> // optional // Test Sequence 10 --------------------> f_mtc_userCheckNewMediaStream(v_ueB); // Test Sequence 11 --------------------> f_mtc_userCheckNewMediaStream(v_ueA); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,1); f_mtc_check_TP_IMS_5121_02_ic(v_ic,1); // Test Sequence 12 --------------------> f_mtc_userModifiyMediaStream(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_01_gm(v_gmA,0); f_mtc_check_TP_IMS_5106_01_ic(v_ic,0); // Test Sequence 13 --------------------> // optional // Test Sequence 14 --------------------> // optional // Test Sequence 15 --------------------> f_mtc_userCheckNewMediaStream(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 16 --------------------> f_mtc_userCheckNewMediaStream(v_ueA); // Test Sequence 17 --------------------> f_mtc_EndCall(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 18 --------------------> f_mtc_userCheckCallEnded(v_ueA ); // Test Sequence 19 --------------------> f_mtc_userCheckCallEnded(v_ueB ); // 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_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } /** * @desc Hold/resume media streams (reINVITE) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.8 */ testcase TC_IMS_CALL_0021() runs on ImsTestCoordinator system IotSystemInterface { // create components var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_A); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // variables var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // configuration f_cf_int_call_up(v_config); // preamble f_PR_user_home_registration(v_ueA,v_userInfoA); f_PR_user_home_registration(v_ueB,v_userInfoB); // test body // Test Sequence 1 ---------------------> f_mtc_userInitiateCall (v_ueA, v_userInfoB); // Test Sequence 2 ---------------------> f_mtc_userCheckRinging(v_ueB); // Test Sequence 3 ---------------------> f_mtc_userCheckPeerIsRinging(v_ueA); // Test Sequence 4 ---------------------> f_mtc_userAnswerCall(v_ueB); // Test Sequence 5 ---------------------> f_mtc_userCheckCallEstablished(v_ueA); // Test Sequence 6 ---------------------> f_mtc_userCheckCallEstablished(v_ueB); // Test Sequence 7 ---------------------> f_mtc_userAddNewMediaStream(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_01_gm(v_gmA,1); f_mtc_check_TP_IMS_5106_01_ic(v_ic,1); // Test Sequence 8 ---------------------> // optional // Test Sequence 9 ---------------------> // optional // Test Sequence 10 --------------------> f_mtc_userCheckNewMediaStream(v_ueB); // Test Sequence 11 --------------------> f_mtc_userCheckNewMediaStream(v_ueA); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,1); f_mtc_check_TP_IMS_5121_02_ic(v_ic,1); // Test Sequence 12 --------------------> f_mtc_userTriggerHold(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_01_gm(v_gmA,0); f_mtc_check_TP_IMS_5106_01_ic(v_ic,0); // Test Sequence 13 --------------------> f_mtc_userCheckUserOnHold(v_ueA); // Test Sequence 14 --------------------> f_mtc_userCheckUserOnHold(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 15 --------------------> f_mtc_userTriggerResume(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_01_gm(v_gmA,0); f_mtc_check_TP_IMS_5106_01_ic(v_ic,0); // Test Sequence 16 --------------------> f_mtc_userCheckCallResumed(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 17 --------------------> f_mtc_userCheckCallResumed(v_ueA); // Test Sequence 18 --------------------> f_mtc_userRemoveMediaStream(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_01_gm(v_gmA,0); f_mtc_check_TP_IMS_5106_01_ic(v_ic,0); // Test Sequence 19 --------------------> f_mtc_userCheckRemoveMediaStream(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 20 --------------------> // optional // Test Sequence 21 --------------------> f_mtc_EndCall(v_ueB); // Test Sequence 22 --------------------> f_mtc_userCheckCallEnded(v_ueA ); // Test Sequence 23 --------------------> f_mtc_userCheckCallEnded(v_ueB ); // 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_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } /** * @desc Hold/resume media streams (UPDATE) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.9 */ testcase TC_IMS_CALL_0022() runs on ImsTestCoordinator system IotSystemInterface { // create components var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_A); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // variables var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // configuration f_cf_int_call_up(v_config); // preamble f_PR_user_home_registration(v_ueA,v_userInfoA); f_PR_user_home_registration(v_ueB,v_userInfoB); // test body // Test Sequence 1 ---------------------> f_mtc_userInitiateCall (v_ueA, v_userInfoB); // Test Sequence 2 ---------------------> f_mtc_userCheckRinging(v_ueB); // Test Sequence 3 ---------------------> f_mtc_userCheckPeerIsRinging(v_ueA); // Test Sequence 4 ---------------------> f_mtc_userAnswerCall(v_ueB); // Test Sequence 5 ---------------------> f_mtc_userCheckCallEstablished(v_ueA); // Test Sequence 6 ---------------------> f_mtc_userCheckCallEstablished(v_ueB); // Test Sequence 7 ---------------------> f_mtc_userAddNewMediaStream(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_02_gm(v_gmA); f_mtc_check_TP_IMS_5106_02_ic(v_ic); // Test Sequence 8 ---------------------> // optional // Test Sequence 9 ---------------------> // optional // Test Sequence 10 --------------------> f_mtc_userCheckNewMediaStream(v_ueB); // Test Sequence 11 --------------------> f_mtc_userCheckNewMediaStream(v_ueA); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,1); f_mtc_check_TP_IMS_5121_02_ic(v_ic,1); // Test Sequence 12 --------------------> f_mtc_userTriggerHold(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_02_gm(v_gmA); f_mtc_check_TP_IMS_5106_02_ic(v_ic); // Test Sequence 13 --------------------> f_mtc_userCheckUserOnHold(v_ueA); // Test Sequence 14 --------------------> f_mtc_userCheckUserOnHold(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 15 --------------------> f_mtc_userTriggerResume(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_02_gm(v_gmA); f_mtc_check_TP_IMS_5106_02_ic(v_ic); // Test Sequence 16 --------------------> f_mtc_userCheckCallResumed(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 17 --------------------> f_mtc_userCheckCallResumed(v_ueA); // Test Sequence 18 --------------------> f_mtc_userRemoveMediaStream(v_ueA); // check 1 f_mtc_check_TP_IMS_5106_02_gm(v_gmA); f_mtc_check_TP_IMS_5106_02_ic(v_ic); // Test Sequence 19 --------------------> f_mtc_userCheckRemoveMediaStream(v_ueB); // check 2 f_mtc_check_TP_IMS_5121_02_gm(v_gmB,0); f_mtc_check_TP_IMS_5121_02_ic(v_ic,0); // Test Sequence 20 --------------------> // optional // Test Sequence 21 --------------------> f_mtc_EndCall(v_ueB); // Test Sequence 22 --------------------> f_mtc_userCheckCallEnded(v_ueA ); // Test Sequence 23 --------------------> f_mtc_userCheckCallEnded(v_ueB ); // 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_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } /** * @desc Subsequent target refresh request (INVITE) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.4 */ testcase TC_IMS_CALL_0023() runs on ImsTestCoordinator system IotSystemInterface { // create components var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); // variables var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var CF_INT_CALL v_config := {v_gmA, v_ic, omit}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // configuration f_cf_int_call_up(v_config); // preamble f_PR_user_home_registration(v_ueA,v_userInfoA); f_PR_user_home_registration(v_ueB,v_userInfoB); // test body // Test Sequence 1 ---------------------> f_mtc_userInitiateCall (v_ueA, v_userInfoB); // Test Sequence 2 ---------------------> f_mtc_userCheckRinging(v_ueB); // Test Sequence 3 ---------------------> f_mtc_userCheckPeerIsRinging(v_ueA); // Test Sequence 4 ---------------------> f_mtc_userAnswerCall(v_ueB); // Test Sequence 5 ---------------------> f_mtc_userCheckCallEstablished(v_ueA); // Test Sequence 6 ---------------------> f_mtc_userCheckCallEstablished(v_ueB); // Test Sequence 7 ---------------------> f_mtc_userLooseConnection(v_ueB); // check 1 f_mtc_check_TP_IMS_5074_01_ic(v_ic); // Test Sequence 8 ---------------------> f_mtc_userCheckCallEnded(v_ueA); // 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_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); f_cf_adapter_down(); } /** * @desc Normal call - TH(Topology hiding) * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.5.1 */ testcase TC_IMS_CALL_0024() 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_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (v_ueA, v_userInfoB); //Test Sequence Step 1 //check 1,2,3,6 (INVITE and 100Trying) f_mtc_check_TP_IMS_5135_01_gm(v_gmA, true); // Check1 - INVITE f_mtc_check_TP_IMS_5404_01_gm(v_gmA, false); // Check3 - INVITE f_mtc_check_TP_IMS_5135_01_ic(v_ic, true); // Check1 - INVITE f_mtc_check_TP_IMS_5137_01_ic(v_ic, true); // Check2 - INVITE f_mtc_check_TP_IMS_5404_01_ic(v_ic, true); // Check3 - INVITE f_mtc_check_TP_IMS_5414_01_ic(v_ic, false); // Check6 - INVITE and 100Trying //check 7 (180 Ringing) f_mtc_check_TP_IMS_5137_02_gm(v_gmB, false); // Check 7 f_mtc_check_TP_IMS_5137_02_ic(v_ic, false); // Check 7 f_mtc_userCheckRinging(v_ueB); //Test Sequence Step 2 f_mtc_userCheckPeerIsRinging(v_ueA); //Test Sequence Step 3 f_mtc_userAnswerCall(v_ueB); //Test Sequence Step 4 //check 8 (2xx) f_mtc_check_TP_IMS_5137_03_gm(v_gmB, false); // Check 8 f_mtc_check_TP_IMS_5137_03_ic(v_ic, false); // Check 8 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_5408_01_gm(v_gmA, false); // Check4 f_mtc_check_TP_IMS_5408_01_ic(v_ic, false); // Check4 f_mtc_EndCall(v_ueA); //Test Sequence Step 7 // check 5 (BYE) f_mtc_check_TP_IMS_5408_03_gm(v_gmA, false); // Check4 f_mtc_check_TP_IMS_5408_03_ic(v_ic, false); // Check4 //check 8 (2xx) f_mtc_check_TP_IMS_5137_03_gm(v_gmB, false); // Check 8 f_mtc_check_TP_IMS_5137_03_ic(v_ic, false); // Check 8 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); f_cf_int_call_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0024 /** * @desc CANCEL call by calling user * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.5.2 */ testcase TC_IMS_CALL_0025() 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, v_ic, v_gmB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_int_call_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (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_5408_02_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5408_02_ic(v_ic, false); // Check1 f_mtc_userCheckCallCancelled(v_ueB); //Test Sequence Step 5 f_mtc_userCheckCallTerminated(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_int_call_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_CALL_0025 /** * @desc Normal call with hold/resume - roaming * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.5.3 */ testcase TC_IMS_CALL_0026() 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_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); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_call_up(v_gmA, v_ic); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_userInitiateCall (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_userAnswerCall(v_ueB); //Test Sequence Step 4 f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 5 f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 6 f_mtc_userTriggerHold(v_ueA); //Test Sequence Step 7 // check 1 (INVITE) f_mtc_check_TP_IMS_5408_04_gm(v_gmA, false,1); // Check1 f_mtc_check_TP_IMS_5408_04_ic(v_ic, false,2); // Check1 f_mtc_userCheckUserOnHold(v_ueB); //Test Sequence Step 8 f_mtc_userCheckUserOnHold(v_ueA); //Test Sequence Step 9 f_mtc_userTriggerResume(v_ueA); //Test Sequence Step 10 // check 1 (INVITE) f_mtc_check_TP_IMS_5408_04_gm(v_gmA, false,0); // Check1 f_mtc_check_TP_IMS_5408_04_ic(v_ic, false,1); // Check1 f_mtc_userCheckCallResumed(v_ueB); //Test Sequence Step 11 f_mtc_userCheckCallResumed(v_ueA); //Test Sequence Step 12 f_mtc_EndCall(v_ueA); //Test Sequence Step 13 f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 14 f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 15 // 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_ic); } //end testcase TC_IMS_CALL_0026 }