Commit 8c2953a0 authored by pintar's avatar pintar
Browse files

TC CALL_0008

parent 2dfad4b7
Loading
Loading
Loading
Loading
+85 −9
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ module AtsImsIot_TestCases_CALL {
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
		f_mtc_userTriggerRegistration(v_ueB2, v_userInfoB); //TODO check if UE_B2 should have different uri
		f_mtc_userTriggerRegistration(v_ueB2, v_userInfoB); 
		
		
		// test body
@@ -157,8 +157,8 @@ module AtsImsIot_TestCases_CALL {
		f_mtc_check_TP_IMS_5131_01_gm(v_gmB, false); // Check 6
		f_mtc_check_TP_IMS_5115_01_mw(v_mw, true); // Check4
		f_mtc_check_TP_IMS_5131_01_mw(v_mw, false); // Check6
		f_mtc_check_TP_IMS_5115_01_gm(v_gmB, true); // Check4 //TODO how should be checked responses from UE_B2 
		f_mtc_check_TP_IMS_5131_01_gm(v_gmB, false); // Check6 //TODO how should be checked responses from UE_B2  
		f_mtc_check_TP_IMS_5115_01_gm(v_gmB, true); // Check4  
		f_mtc_check_TP_IMS_5131_01_gm(v_gmB, false); // Check6   
		f_mtc_check_TP_IMS_5115_01_mw(v_mw, true); // Check4 from UE_B2	
		f_mtc_check_TP_IMS_5131_01_mw(v_mw, false); // Check6 from UE_B2
				
@@ -172,8 +172,8 @@ module AtsImsIot_TestCases_CALL {
		f_mtc_check_TP_IMS_5131_02_gm(v_gmB, false); // Check 7 
		f_mtc_check_TP_IMS_5115_02_mw(v_mw, true); // Check 5 
		f_mtc_check_TP_IMS_5131_02_mw(v_mw, false); // Check 7 
		f_mtc_check_TP_IMS_5115_02_gm(v_gmB, true); // Check 5 TODO how should be checked responses from UE_B2
		f_mtc_check_TP_IMS_5131_02_gm(v_gmB, false); // Check 7 TODO how should be checked responses from UE_B2
		f_mtc_check_TP_IMS_5115_02_gm(v_gmB, true); // Check 5 
		f_mtc_check_TP_IMS_5131_02_gm(v_gmB, false); // Check 7 
		f_mtc_check_TP_IMS_5115_02_mw(v_mw, true); // Check5 from UE_B2
		f_mtc_check_TP_IMS_5131_02_mw(v_mw, false); // Check7 from UE_B2
		
@@ -466,7 +466,7 @@ module AtsImsIot_TestCases_CALL {
				
		// 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_user_up(v_ueB);
  		f_cf_roam_call_up(v_gmA, v_mw, v_gmB);
		
		// preamble
@@ -476,13 +476,14 @@ module AtsImsIot_TestCases_CALL {
		// test body
		f_mtc_userTriggerInitiateCall (v_ueB, v_userInfoA); //Test Sequence Step 1
		
		// checks 1,2 (INVITE from IMS_A to IMS_B)
		// checks 1,2 gm
		f_mtc_check_TP_IMS_5046_01_gm(v_gmB, true); // Check1
		f_mtc_check_TP_IMS_5067_01_gm(v_gmB, false); // Check2
		//checks 1,2 (INVITE from IMS_A to IMS_B)
		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)
        //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_mw(v_mw, true); // Check7	
    	f_mtc_check_TP_IMS_5070_01_mw(v_mw, false); // Check3

@@ -516,10 +517,85 @@ module AtsImsIot_TestCases_CALL {
		
		//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_user_down(v_ueB);
		f_cf_roam_call_down(v_gmA, v_mw, v_gmB);
	} //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_gmB := f_cf_create_monitor(c_gm_B);
		var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
		var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A);
		var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B);
				
		// map/connect component ports
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB);
		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_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_userTriggerAnswerCall(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_5120_01_mw(v_mw, true, 2); // Check3	
		f_mtc_check_TP_IMS_5081_01_mw(v_mw, false); // Check1
		
		//checks 2 (200 OK)
		f_mtc_check_TP_IMS_5082_01_gm(v_gmB, false, 1); // Check2
		f_mtc_check_TP_IMS_5082_01_mw(v_mw, 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_mw(v_mw, true, 0); // Check3	
		f_mtc_check_TP_IMS_5081_01_mw(v_mw, false); // Check1
		
		//checks 2 (200 OK)
		f_mtc_check_TP_IMS_5082_01_gm(v_gmB, false, 0); // Check2
		f_mtc_check_TP_IMS_5082_01_mw(v_mw, false, 0); // Check2
		
		f_mtc_userCheckCallResumed(v_ueB);  //Test Sequence Step 11
		f_mtc_userCheckCallResumed(v_ueA);  //Test Sequence Step 12

		f_mtc_triggerEndCall(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_mw, v_gmB);
	} //end testcase TC_IMS_CALL_0008
	
group Limit {

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