Commit 6e6e04a2 authored by pintar's avatar pintar
Browse files

TC CALL_0007

parent 88deed63
Loading
Loading
Loading
Loading
+72 −0
Original line number Diff line number Diff line
@@ -448,6 +448,78 @@ module AtsImsIot_TestCases_CALL {
		f_cf_int_call_down(v_config);
	} //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_gmB := f_cf_create_monitor(c_gm_B);
		var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
		var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A);
		var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B);
		//var CF_INT_CALL v_config := {v_gmA, v_mw, v_gmB};
				
		// map/connect component ports
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB);//TODO check if there should be declared new function f_cf_roam_user_up
  		f_cf_roam_call_up(v_gmA, v_mw, v_gmB);
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
		
		// test body
		f_mtc_userTriggerInitiateCall (v_ueB, v_userInfoA); //Test Sequence Step 1
		
		// checks 1,2 (INVITE from IMS_A to IMS_B)
		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_mw(v_mw, true); // Check1	
		f_mtc_check_TP_IMS_5067_01_mw(v_mw, false); // Check2
		
        //checks 7,3 (INVITE from IMS_B to IMS_A)
    	f_mtc_check_TP_IMS_5108_01_mw(v_mw, true); // Check7	
    	f_mtc_check_TP_IMS_5070_01_mw(v_mw, 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_mw(v_mw, true); // Check 5
				
		f_mtc_userCheckRinging(v_ueA); //Test Sequence Step 2
		f_mtc_userCheckPeerIsRinging(v_ueB); //Test Sequence Step 3
		f_mtc_userTriggerAnswerCall(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_mw(v_mw, true); // Check 6

		f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 5
		f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 6

		f_mtc_triggerEndCall(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_mw(v_mw, 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);
		
		//unmap/disconnet component ports
		f_cf_user_down(v_ueA);
		f_cf_user_down(v_ueB);//TODO check if there should be declared new function f_cf_roam_user_down
		f_cf_roam_call_down(v_gmA, v_mw, v_gmB);
	} //end testcase TC_IMS_CALL_0007
	
group Limit {

// group exist only in developement state to avoid conflicts when developer want to commit part of the code