/** * @author STF 370 * @version $Id: $ * @desc This module provides ATS specific test case definitions. */ module AtsImsIot_TestCases_SS { 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, CF_INT_AS, CF_ROAM_AS; } /** * @desc Supplementary Service HOLD with AS * @see TS 186 011-2 V2.3.1 cause 4.5.5.1 */ testcase TC_IMS_SS_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 ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getHoldUser(PX_EUT_B); var CF_INT_AS v_config := {v_gmA, v_ic, v_gmB, omit, v_iscB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_int_as_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); 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_ueB);//Test Sequence Step 7 //check 1 - INVITE(hold) f_mtc_check_TP_IMS_5310_01_gm(v_gmB, 0); // Check1 f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check1 f_mtc_userCheckUserOnHold(v_ueA);//Test Sequence Step 8 //check 2 - 200 OK f_mtc_check_TP_IMS_5312_01_ic(v_ic, 1); // Check2 f_mtc_check_TP_IMS_5312_01_isc(v_iscB); // Check2 f_mtc_userCheckUserOnHold(v_ueB);//Test Sequence Step 9 f_mtc_userTriggerResume(v_ueB);//Test Sequence Step 10 //check 3 - INVITE(resume) f_mtc_check_TP_IMS_5310_01_gm(v_gmB, 0); // Check3 f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check3 f_mtc_userCheckCallResumed(v_ueA);//Test Sequence Step 11 //check 4 - 200 OK f_mtc_check_TP_IMS_5312_01_ic(v_ic, 0); // Check4 f_mtc_check_TP_IMS_5312_01_isc(v_iscB); // Check4 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); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_int_as_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_SS_0001 /** * @desc Supplementary Service HOLD with AS in roaming * @see TS 186 011-2 V2.3.1 cause 4.5.5.2 */ testcase TC_IMS_SS_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 ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getHoldUser(PX_EUT_B); var CF_ROAM_AS v_config := {v_gmA, v_ic, v_gmB, omit, v_iscB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_as_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); 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_ueB);//Test Sequence Step 7 //check 1 - INVITE(hold) f_mtc_check_TP_IMS_5310_01_gm(v_gmB, 1); // Check1 - skip one INVITE when call is established f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check1 f_mtc_userCheckUserOnHold(v_ueA);//Test Sequence Step 8 //check 2 - 200 OK f_mtc_check_TP_IMS_5312_01_ic(v_ic, 2); // Check2 - skip two 200OK when call is established - because roaming f_mtc_check_TP_IMS_5312_01_isc(v_iscB); // Check2 f_mtc_userCheckUserOnHold(v_ueB);//Test Sequence Step 9 f_mtc_userTriggerResume(v_ueB);//Test Sequence Step 10 //check 3 - INVITE(resume) f_mtc_check_TP_IMS_5310_01_gm(v_gmB, 0); // Check3 f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check3 f_mtc_userCheckCallResumed(v_ueA);//Test Sequence Step 11 //check 4 - 200 OK f_mtc_check_TP_IMS_5312_01_ic(v_ic, 1); // Check4 f_mtc_check_TP_IMS_5312_01_isc(v_iscB); // Check4 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); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_roam_as_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_SS_0002 /** * @desc Supplementary Service OIP with AS * @see TS 186 011-2 V2.3.1 cause 4.5.5.3 */ testcase TC_IMS_SS_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_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getOIPUser(PX_EUT_B); var CF_INT_AS v_config := {v_gmA, v_ic, v_gmB, omit, v_iscB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_int_as_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userInitiateCall (v_ueA, v_userInfoB);//Test Sequence Step 1 //check 1,2 - INVITE f_mtc_check_TP_IMS_5097_02_gm(v_gmA, false);// Check1 f_mtc_check_TP_IMS_5097_02_ic(v_ic, true);// Check1 f_mtc_check_TP_IMS_5108_03_ic(v_ic, false);// Check2 f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false);// Check2 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 3 - 200 OK f_mtc_check_TP_IMS_5115_08_isc(v_iscB, false);// Check3 f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 0);// Check3 f_mtc_userCheckCallEstablished(v_ueA);//Test Sequence Step 5 f_mtc_userCheckCallEstablished(v_ueB);//Test Sequence Step 6 f_mtc_EndCall(v_ueA);//Test Sequence Step 7 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_as_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_SS_0003 /** * @desc Supplementary Service OIP with AS in roaming * @see TS 186 011-2 V2.3.1 cause 4.5.5.4 */ testcase TC_IMS_SS_0004() 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 ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getOIPUser(PX_EUT_B); var CF_ROAM_AS v_config := {v_gmA, v_ic, v_gmB, omit, v_iscB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_as_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userInitiateCall (v_ueA, v_userInfoB);//Test Sequence Step 1 //checks 1,2 - INVITE f_mtc_check_TP_IMS_5097_02_gm(v_gmA, false);// Check1 f_mtc_check_TP_IMS_5097_02_ic(v_ic, true);// Check1 f_mtc_check_TP_IMS_5108_03_ic(v_ic, false);// Check2 f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false);// Check2 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 3 - 200 OK f_mtc_check_TP_IMS_5115_08_isc(v_iscB, false);// Check3 f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 1);// Check3 //skip 200OK IMSA->IMSB f_mtc_userCheckCallEstablished(v_ueA);//Test Sequence Step 5 f_mtc_userCheckCallEstablished(v_ueB);//Test Sequence Step 6 f_mtc_EndCall(v_ueA);//Test Sequence Step 7 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_roam_as_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_SS_0004 /** * @desc Supplementary Service OIR and ACR with AS * @see TS 186 011-2 V2.3.1 cause 4.5.5.5 */ testcase TC_IMS_SS_0005() 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 ImsInterfaceMonitor v_iscA := f_cf_create_monitor(c_isc_A); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getOIRUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getACRUser(PX_EUT_B); var CF_INT_AS v_config := {v_gmA, v_ic, v_gmB, v_iscA, v_iscB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_int_as_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userInitiateCall (v_ueA, v_userInfoB);//Test Sequence Step 1 //check 1 - INVITE f_mtc_check_TP_IMS_5108_03_ic(v_ic, false);// Check1 f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false);// Check1 //check 2 - 433 Anonymity Disallowe f_mtc_check_TP_IMS_5313_01_ic(v_ic, false);// Check2 f_mtc_check_TP_IMS_5313_01_isc(v_iscA, false);// Check2 f_mtc_userCheckCallRejectedACR(v_ueA);//Test Sequence Step 2 // 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_as_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_SS_0005 /** * @desc Supplementary Service OIR and ACR with AS in roaming * @see TS 186 011-2 V2.3.1 cause 4.5.5.6 */ testcase TC_IMS_SS_0006() 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 ImsInterfaceMonitor v_iscA := f_cf_create_monitor(c_isc_A); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getACRUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getOIRUser(PX_EUT_B); var CF_ROAM_AS v_config := {v_gmA, v_ic, v_gmB, v_iscA, v_iscB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_as_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userInitiateCall (v_ueB, v_userInfoA);//Test Sequence Step 1 //checks 1,2,3 - INVITE f_mtc_check_TP_IMS_5046_01_gm(v_gmB, true);// Check1 f_mtc_check_TP_IMS_5067_01_gm(v_gmB, false);// Check2 f_mtc_check_TP_IMS_5046_01_ic(v_ic, true);// Check1 f_mtc_check_TP_IMS_5067_01_ic(v_ic, true);// Check2 f_mtc_check_TP_IMS_5097_09_ic(v_ic, false);// Check3 f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false);// Check3 f_mtc_userCheckCallRejectedACR(v_ueB);//Test Sequence Step 2 // 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_as_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_SS_0006 /** * @desc Supplementary Service CFU with AS * @see TS 186 011-2 V2.3.1 cause 4.5.5.7 */ testcase TC_IMS_SS_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 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 ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var ImsUserInfo v_userInfoB2 := f_getAnyValidUser(PX_EUT_B);//// TODO f_getAnyValidUser2 ? var CF_INT_AS v_config := {v_gmA, v_ic, v_gmB, omit, v_iscB}; // map/connect component ports // f_cf_user_up(v_ueB); 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_as_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); f_mtc_userRegistration(v_ueB2, v_userInfoB2); // test body f_mtc_userInitiateCall (v_ueA, v_userInfoB);//Test Sequence Step 1 // checks 1,2 - INVITE f_mtc_check_TP_IMS_5097_01_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5097_01_ic(v_ic, true); // Check1 f_mtc_check_TP_IMS_5108_03_ic(v_ic, false); // Check2 f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false); // Check2 //f_mtc_userCheckRinging(v_ueB2); //possible Test Sequence Step //f_mtc_userCheckPeerIsRinging(v_ueA); //possible Test Sequence Step f_mtc_userAnswerCall(v_ueB2);//Test Sequence Step 3 //check 3 - 200 OK f_mtc_check_TP_IMS_5115_08_isc(v_iscB, false);// Check3 f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 0);// Check3 f_mtc_userCheckCallEstablished(v_ueA);//Test Sequence Step 4 f_mtc_userCheckCallEstablished(v_ueB2);//Test Sequence Step 5 f_mtc_EndCall(v_ueA);//Test Sequence Step 6 f_mtc_userCheckCallEnded(v_ueB2);//Test Sequence Step 7 f_mtc_userCheckCallEnded(v_ueA);//Test Sequence Step 8 // 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); f_cf_int_as_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_SS_0007 /** * @desc Supplementary Service CFU with AS in roaming * @see TS 186 011-2 V2.3.1 cause 4.5.5.8 */ testcase TC_IMS_SS_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 IotEquipmentUser v_ueA2 := f_cf_create_IotEquipmentUser(c_userUE_A2); 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 ImsInterfaceMonitor v_iscA := f_cf_create_monitor(c_isc_A); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var ImsUserInfo v_userInfoA2 := f_getAnyValidUser(PX_EUT_A);//// TODO f_getAnyValidUser2 ? var CF_ROAM_AS v_config := {v_gmA, v_ic, v_gmB, v_iscA, omit}; // map/connect component ports // f_cf_user_up(v_ueB); f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_user_up(v_ueA2); f_cf_roam_as_up(v_config); // preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_ueB, v_userInfoB); f_mtc_userRegistration(v_ueA2, v_userInfoA2); // test body f_mtc_userInitiateCall (v_ueB, v_userInfoA);//Test Sequence Step 1 // checks 1,2,3 - INVITE f_mtc_check_TP_IMS_5046_01_gm(v_gmB, true); // Check1 f_mtc_check_TP_IMS_5067_01_gm(v_gmB, false); // Check2 f_mtc_check_TP_IMS_5046_01_ic(v_ic, true); // Check1 f_mtc_check_TP_IMS_5067_01_ic(v_ic, true); // Check2 f_mtc_check_TP_IMS_5070_01_ic(v_ic, false); // Check3 //f_mtc_userCheckRinging(v_ueA2); //possible Test Sequence Step //f_mtc_userCheckPeerIsRinging(v_ueA); //possible Test Sequence Step f_mtc_userAnswerCall(v_ueA2);//Test Sequence Step 3 //check 4 - 200 OK f_mtc_check_TP_IMS_5110_01_isc(v_iscA); // Check4 f_mtc_check_TP_IMS_5110_01_ic(v_ic); // Check4 f_mtc_userCheckCallEstablished(v_ueB);//Test Sequence Step 4 f_mtc_userCheckCallEstablished(v_ueA2);//Test Sequence Step 5 f_mtc_EndCall(v_ueB);//Test Sequence Step 6 f_mtc_userCheckCallEnded(v_ueA2);//Test Sequence Step 7 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_PO_user_home_deregistration(v_ueA2); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_user_down(v_ueA2); f_cf_roam_as_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_SS_0008 /** * @desc Supplementary Service OIP and OIR with AS * @see TS 186 011-2 V2.3.1 cause 4.5.5.9 */ testcase TC_IMS_SS_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_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_iscA := f_cf_create_monitor(c_isc_A); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getOIRUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getOIPUser(PX_EUT_B); var CF_INT_AS v_config := {v_gmA, v_ic, v_gmB, v_iscA, v_iscB}; // map/connect component ports // f_cf_user_up(v_ueB); f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_int_as_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 // checks 1,2 - INVITE f_mtc_check_TP_IMS_5097_01_gm(v_gmA, false); // Check1 f_mtc_check_TP_IMS_5097_01_ic(v_ic, true); // Check1 f_mtc_check_TP_IMS_5108_03_ic(v_ic, false); // Check2 f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false); // Check2 f_mtc_userCheckRinging(v_ueB); //possible Test Sequence Step f_mtc_userCheckPeerIsRinging(v_ueA); //possible Test Sequence Step f_mtc_userAnswerCall(v_ueB);//Test Sequence Step 3 f_mtc_userCheckCallEstablished(v_ueA);//Test Sequence Step 4 f_mtc_userCheckCallEstablished(v_ueB);//Test Sequence Step 5 f_mtc_EndCall(v_ueB);//Test Sequence Step 6 f_mtc_userCheckCallEnded(v_ueA);//Test Sequence Step 7 f_mtc_userCheckCallEnded(v_ueB);//Test Sequence Step 8 // 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_as_down(v_config); f_cf_adapter_down(); } //end testcase TC_IMS_SS_0009 /** * @desc Supplementary Service OIP and OIR with AS in roaming * @see TS 186 011-2 V2.3.1 cause 4.5.5.10 */ testcase TC_IMS_SS_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_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_iscA := f_cf_create_monitor(c_isc_A); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getOIRUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getOIPUser(PX_EUT_B); var CF_ROAM_AS v_config := {v_gmA, v_ic, v_gmB, v_iscA, v_iscB}; // map/connect component ports // f_cf_user_up(v_ueB); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_roam_as_up(v_config); // 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,5 - INVITE f_mtc_check_TP_IMS_5046_01_gm(v_gmB, true);// Check1 f_mtc_check_TP_IMS_5067_01_gm(v_gmB, false);// Check5 f_mtc_check_TP_IMS_5046_01_ic(v_ic, true);// Check1 f_mtc_check_TP_IMS_5067_01_ic(v_ic, true);// Check5 f_mtc_check_TP_IMS_5097_09_ic(v_ic, false);// Check2 f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false);// Check2 //check 3 -180 Ringing f_mtc_check_TP_IMS_5308_01_gm(v_gmA, false);// Check3 f_mtc_check_TP_IMS_5308_01_isc(v_iscA, false);// Check3 f_mtc_userCheckRinging(v_ueB); //possible Test Sequence Step f_mtc_userCheckPeerIsRinging(v_ueA); //possible Test Sequence Step f_mtc_userAnswerCall(v_ueA);//Test Sequence Step 3 //check 4 -200 OK f_mtc_check_TP_IMS_5308_02_gm(v_gmA, false);// Check4 f_mtc_check_TP_IMS_5308_02_isc(v_iscA, false);// Check4 f_mtc_userCheckCallEstablished(v_ueB);//Test Sequence Step 4 f_mtc_userCheckCallEstablished(v_ueA);//Test Sequence Step 5 f_mtc_EndCall(v_ueB);//Test Sequence Step 6 f_mtc_userCheckCallEnded(v_ueA);//Test Sequence Step 7 f_mtc_userCheckCallEnded(v_ueB);//Test Sequence Step 8 // 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_as_down(v_config); } //end testcase TC_IMS_SS_0010 }