Commit f7f75926 authored by poglitsch's avatar poglitsch
Browse files

test cases splitted into different modules

parent c50d7a29
Loading
Loading
Loading
Loading
+90 −0
Original line number Diff line number Diff line
/**
 *	@author 	STF 370
 *  @version    $Id: $
 *	@desc		This module provides ATS specific test case definitions.
 */
module AtsImsIot_CALL_TestCases {
	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
	 * @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 ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
		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_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_userInfoB);
		f_mtc_check_TP_IMS_5097_01_gm(v_gmA); // Check1		
		f_mtc_check_TP_IMS_5097_01_mw(v_mw); // Check1 

		f_mtc_userCheckRinging(v_ueB);
		f_mtc_userCheckPeerIsRinging(v_ueA);
		f_mtc_userTriggerAnswerCall(v_ueB);
		f_mtc_userCheckCallEstablished(v_ueA);
		f_mtc_userCheckCallEstablished(v_ueB);


		f_mtc_check_TP_IMS_5107_02_gm(v_mw); // Check2 
		f_mtc_check_TP_IMS_5107_02_mw(v_mw); // Check2 


		// TODO checks 3 to 7		
		f_mtc_triggerEndCall(v_ueA);
		f_mtc_userCheckCallEnded(v_ueB );
		f_mtc_userCheckCallEnded(v_ueA);
		
		
		// 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);
	}
	
}
 No newline at end of file
+75 −0
Original line number Diff line number Diff line
/**
 *	@author 	STF 370
 *  @version    $Id: $
 *	@desc		This module provides ATS specific test case definitions.
 */
module AtsImsIot_MESS_TestCases {
	
	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
	 *     IMS network shall support SIP messages greater than 1500 bytes.
	 *     (in ETSI TS 186 011-2 V2.3.1 cause 4.5.1.1)
	 */
	testcase TC_IMS_MESS_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_mw := f_cf_create_monitor(c_mw);
		
		// 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_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A));
		f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B));
		
		// test body
		f_mtc_userSendMessage(v_ueA, "body>1300Bytes"); // TODO add body here
		f_mtc_check_TP_IMS_4002_01_gm(v_gmA);
		f_mtc_check_TP_IMS_4002_01_mw(v_mw);
		f_mtc_userCheckMessageReceipt(v_ueB);
		
		// postabmle
		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_monitor_down(v_gmA);
		f_cf_monitor_down(v_mw);
	}
	
}
 No newline at end of file
+354 −0
Original line number Diff line number Diff line
@@ -3,96 +3,38 @@
 *  @version    $Id: $
 *	@desc		This module provides ATS specific test case definitions.
 */
module AtsImsIot_TestCases {
module AtsImsIot_REG_TestCases {
	
	import from LibIot_TestInterface {type IotEquipmentUser;}
	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 {
		function
			f_cf_create_monitor,
			f_cf_monitor_down,
			f_cf_monitor_up,
			f_cf_user_down,
			f_cf_user_up;
        const all;
        function all;
    }

	import from LibIot_TestInterface {type IotEquipmentUser;}

	import from AtsImsIot_TestSystem {
        type ImsInterfaceMonitor, ImsTestCoordinator, IotSystemInterface;
    }
    
	import from LibIms_UpperTester {type ImsUserInfo;}

	import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;}

	import from AtsImsIot_Functions {function all;}
	
	import from AtsImsIot_Behavior all;
    import from LibSip_SIPTypesAndValues all;
    
	import from LibIot_TypesAndValues {const all;}
	

	group constantDefinitions {
	 	//* interface monitor name Gm A
		const charstring c_gm_A := "Gm A";
		//* interface monitor name Gm B
		const charstring c_gm_B := "Gm B";
		//* interface monitor name Mw
		const charstring c_mw := "Mw";
		//* interface monitor name Isc A
		const charstring c_isc_A := "Isc A";
		//* interface monitor name Isc B
		const charstring c_isc_B := "Isc B";
		//* eut trigger name User A
		const charstring c_userUE_A := "User A";
		//* eut trigger name User B
		const charstring c_userUE_B := "User B";
		const charstring c_userUE_B2 := "User B2";
	}
	
	/**
	 * @desc
	 *     IMS network shall support SIP messages greater than 1500 bytes.
	 *     (in ETSI TS 186 011-2 V2.3.1 cause 4.5.1.1)
	 */
	testcase TC_IMS_MESS_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_mw := f_cf_create_monitor(c_mw);
		
		// 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_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A));
		f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B));
		
		// test body
		f_mtc_userSendMessage(v_ueA, "body>1300Bytes"); // TODO add body here
		f_mtc_check_TP_IMS_4002_01_gm(v_gmA);
		f_mtc_check_TP_IMS_4002_01_mw(v_mw);
		f_mtc_userCheckMessageReceipt(v_ueB);
		
		// postabmle
		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_monitor_down(v_gmA);
		f_cf_monitor_down(v_mw);
	}
    
	/**
	 * @desc
@@ -409,257 +351,4 @@ module AtsImsIot_TestCases {
		f_cf_monitor_down(v_gmA);
		f_cf_monitor_down(v_mw);
	}


	/**
	 * @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 ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
		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_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_userInfoB);
		f_mtc_check_TP_IMS_5097_01_gm(v_gmA); // Check1		
		f_mtc_check_TP_IMS_5097_01_mw(v_mw); // Check1 

		f_mtc_userCheckRinging(v_ueB);
		f_mtc_userCheckPeerIsRinging(v_ueA);
		f_mtc_userTriggerAnswerCall(v_ueB);
		f_mtc_userCheckCallEstablished(v_ueA);
		f_mtc_userCheckCallEstablished(v_ueB);


		f_mtc_check_TP_IMS_5107_02_gm(v_mw); // Check2 
		f_mtc_check_TP_IMS_5107_02_mw(v_mw); // Check2 


		// TODO checks 3 to 7		
		f_mtc_triggerEndCall(v_ueA);
		f_mtc_userCheckCallEnded(v_ueB );
		f_mtc_userCheckCallEnded(v_ueA);
		
		
		// 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);
	}



	/**
	 * @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_mw := f_cf_create_monitor(c_mw);
		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); 
				
		// 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);
		f_cf_monitor_up(v_iscB); //
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
				
		// test body
	    f_mtc_StartAllTrafficCapture();		
		f_mtc_userTriggerInitiateCall (v_ueA, v_userInfoB);

		f_mtc_userCheckRinging(v_ueB);
		f_mtc_userCheckPeerIsRinging(v_ueA);
		f_mtc_userTriggerAnswerCall(v_ueB);
		f_mtc_userCheckCallEstablished(v_ueA);
		f_mtc_userCheckCallEstablished(v_ueB);

		f_mtc_userTriggerHold(v_ueB);
		// TODO Check1 has been removed from test description on 31.07.2009
		f_mtc_check_TP_IMS_5310_01_mw(v_mw); // Check1 
		f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check1 
		
		f_mtc_userCheckUserOnHold(v_ueA);
		f_mtc_userCheckUserOnHold(v_ueB);
		f_mtc_userTriggerResume(v_ueB);
		f_mtc_userCheckCallResumed(v_ueA);

		// TODO Check2 has been removed from test description on 31.07.2009

		f_mtc_check_TP_IMS_5312_01_mw(v_mw); // Check2 
		f_mtc_check_TP_IMS_5312_01_isc(v_iscB); // Check2 

		f_mtc_userCheckCallResumed(v_ueB);
		f_mtc_triggerEndCall(v_ueA);
		f_mtc_userCheckCallEnded(v_ueB );
		f_mtc_userCheckCallEnded(v_ueA);

		// 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);
	}

	/**
	 * @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_mw := f_cf_create_monitor(c_mw);
		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); 
				
		// 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);
		f_cf_monitor_up(v_iscB); 
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
				
		// test body
	    f_mtc_StartAllTrafficCapture();		
		f_mtc_userTriggerInitiateCall (v_ueA, v_userInfoB);

		f_mtc_userCheckRinging(v_ueB);
		f_mtc_userCheckPeerIsRinging(v_ueA);
		f_mtc_userTriggerAnswerCall(v_ueB);
		f_mtc_userCheckCallEstablished(v_ueA);
		f_mtc_userCheckCallEstablished(v_ueB);

		f_mtc_userTriggerHold(v_ueB);

		f_mtc_check_TP_IMS_5310_01_mw(v_mw); // Check1 
		f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check1 
		
		f_mtc_userCheckUserOnHold(v_ueA);
		f_mtc_userCheckUserOnHold(v_ueB);
		f_mtc_userTriggerResume(v_ueB);
		f_mtc_userCheckCallResumed(v_ueA);

		// TODO Check2 and Check3 have been removed from test description on 31.07.2009

		f_mtc_userCheckCallResumed(v_ueB);
		f_mtc_triggerEndCall(v_ueA);
		f_mtc_userCheckCallEnded(v_ueB );
		f_mtc_userCheckCallEnded(v_ueA);

		// 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);
	}


	
	/**
	 * @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_mw := f_cf_create_monitor(c_mw);
		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 ?
		
		// map/connect component ports
		// f_cf_user_up(v_ueB);
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB2);
		f_cf_monitor_up(v_gmA);
		f_cf_monitor_up(v_mw);
		f_cf_monitor_up(v_iscB);
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		// f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
		f_mtc_userTriggerRegistration(v_ueB2, v_userInfoB2); 
		
		// test body
		f_mtc_userTriggerInitiateCall (v_ueA, v_userInfoB);

        // TODO Check1 removed from the test description on 31.07.2009
		f_mtc_check_TP_IMS_5046_01_mw(v_mw); // Check1 
		f_mtc_check_TP_IMS_5046_01_mw (v_iscB); // Check1 

        // TODO Check4 removed from the test description on 31.07.2009        
		f_mtc_check_TP_IMS_5110_01_isc(v_iscB); // Check4 
		f_mtc_check_TP_IMS_5110_01_mw(v_mw); // Check4 

		f_mtc_check_TP_IMS_5097_09_isc(v_iscB); // Check5 
		
		// TODO checks 6, 7

		
		f_mtc_userCheckRinging(v_ueB);
		f_mtc_userCheckPeerIsRinging(v_ueA);
		f_mtc_userTriggerAnswerCall(v_ueB2);
		f_mtc_userCheckCallEstablished(v_ueA);
		f_mtc_userCheckCallEstablished(v_ueB2);

		
		
		f_mtc_triggerEndCall(v_ueA);
		f_mtc_userCheckCallEnded(v_ueB );
		f_mtc_userCheckCallEnded(v_ueA);
		
		
		// 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_ueB2);
	}
}
 No newline at end of file
+232 −0
Original line number Diff line number Diff line
/**
 *	@author 	STF 370
 *  @version    $Id: $
 *	@desc		This module provides ATS specific test case definitions.
 */
module AtsImsIot_SS_TestCases {
	
	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 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_mw := f_cf_create_monitor(c_mw);
		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); 
				
		// 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);
		f_cf_monitor_up(v_iscB); //
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
				
		// test body
	    f_mtc_StartAllTrafficCapture();		
		f_mtc_userTriggerInitiateCall (v_ueA, v_userInfoB);

		f_mtc_userCheckRinging(v_ueB);
		f_mtc_userCheckPeerIsRinging(v_ueA);
		f_mtc_userTriggerAnswerCall(v_ueB);
		f_mtc_userCheckCallEstablished(v_ueA);
		f_mtc_userCheckCallEstablished(v_ueB);

		f_mtc_userTriggerHold(v_ueB);
		// TODO Check1 has been removed from test description on 31.07.2009
		f_mtc_check_TP_IMS_5310_01_mw(v_mw); // Check1 
		f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check1 
		
		f_mtc_userCheckUserOnHold(v_ueA);
		f_mtc_userCheckUserOnHold(v_ueB);
		f_mtc_userTriggerResume(v_ueB);
		f_mtc_userCheckCallResumed(v_ueA);

		// TODO Check2 has been removed from test description on 31.07.2009

		f_mtc_check_TP_IMS_5312_01_mw(v_mw); // Check2 
		f_mtc_check_TP_IMS_5312_01_isc(v_iscB); // Check2 

		f_mtc_userCheckCallResumed(v_ueB);
		f_mtc_triggerEndCall(v_ueA);
		f_mtc_userCheckCallEnded(v_ueB );
		f_mtc_userCheckCallEnded(v_ueA);

		// 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);
	}

	/**
	 * @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_mw := f_cf_create_monitor(c_mw);
		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); 
				
		// 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);
		f_cf_monitor_up(v_iscB); 
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
				
		// test body
	    f_mtc_StartAllTrafficCapture();		
		f_mtc_userTriggerInitiateCall (v_ueA, v_userInfoB);

		f_mtc_userCheckRinging(v_ueB);
		f_mtc_userCheckPeerIsRinging(v_ueA);
		f_mtc_userTriggerAnswerCall(v_ueB);
		f_mtc_userCheckCallEstablished(v_ueA);
		f_mtc_userCheckCallEstablished(v_ueB);

		f_mtc_userTriggerHold(v_ueB);

		f_mtc_check_TP_IMS_5310_01_mw(v_mw); // Check1 
		f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check1 
		
		f_mtc_userCheckUserOnHold(v_ueA);
		f_mtc_userCheckUserOnHold(v_ueB);
		f_mtc_userTriggerResume(v_ueB);
		f_mtc_userCheckCallResumed(v_ueA);

		// TODO Check2 and Check3 have been removed from test description on 31.07.2009

		f_mtc_userCheckCallResumed(v_ueB);
		f_mtc_triggerEndCall(v_ueA);
		f_mtc_userCheckCallEnded(v_ueB );
		f_mtc_userCheckCallEnded(v_ueA);

		// 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);
	}


	
	/**
	 * @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_mw := f_cf_create_monitor(c_mw);
		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 ?
		
		// map/connect component ports
		// f_cf_user_up(v_ueB);
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB2);
		f_cf_monitor_up(v_gmA);
		f_cf_monitor_up(v_mw);
		f_cf_monitor_up(v_iscB);
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		// f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
		f_mtc_userTriggerRegistration(v_ueB2, v_userInfoB2); 
		
		// test body
		f_mtc_userTriggerInitiateCall (v_ueA, v_userInfoB);

        // TODO Check1 removed from the test description on 31.07.2009
		f_mtc_check_TP_IMS_5046_01_mw(v_mw); // Check1 
		f_mtc_check_TP_IMS_5046_01_mw (v_iscB); // Check1 

        // TODO Check4 removed from the test description on 31.07.2009        
		f_mtc_check_TP_IMS_5110_01_isc(v_iscB); // Check4 
		f_mtc_check_TP_IMS_5110_01_mw(v_mw); // Check4 

		f_mtc_check_TP_IMS_5097_09_isc(v_iscB); // Check5 
		
		// TODO checks 6, 7

		
		f_mtc_userCheckRinging(v_ueB);
		f_mtc_userCheckPeerIsRinging(v_ueA);
		f_mtc_userTriggerAnswerCall(v_ueB2);
		f_mtc_userCheckCallEstablished(v_ueA);
		f_mtc_userCheckCallEstablished(v_ueB2);

		
		
		f_mtc_triggerEndCall(v_ueA);
		f_mtc_userCheckCallEnded(v_ueB );
		f_mtc_userCheckCallEnded(v_ueA);
		
		
		// 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_ueB2);
	}
	
	
	
}
 No newline at end of file
+5 −1
Original line number Diff line number Diff line
@@ -56,9 +56,13 @@ module AtsImsIot_TestConfiguration {
		const charstring c_trigger_A := "User A";
		//* eut trigger name User B
		const charstring c_trigger_B := "User B";
		//* eut trigger name User A
		const charstring c_userUE_A := "User A";
		//* eut trigger name User B
		const charstring c_userUE_B := "User B";
		const charstring c_userUE_B2 := "User B2";
	}
	
	
	group mappingFunctions {
	
    	/**
Loading