Commit 509b3d2a authored by poglitsch's avatar poglitsch
Browse files

CALL_0017 added

parent d265d77b
Loading
Loading
Loading
Loading
+118 −0
Original line number Diff line number Diff line
@@ -2696,5 +2696,123 @@ group checksTC_IMS_SS_0007 {
	    }
	}
	
	group callChecks {
		
		
	    /**
	     * @desc Starts monitor component behavior for TP_IMS_5106_01
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5106_01_gm(
	    	ImsInterfaceMonitor p_monitorCompRef,
	    	integer p_skipCount
	    ) runs on ImsTestCoordinator {
	    	var template SkipType v_skip := {0, omit};
	    	
	    	if(p_skipCount > 0) {
	    		v_skip := {1, mw_SipRequest(mw_INVITE_Request_Base)};
	    	}
	       p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mw_INVITE_Request_Base)},
                {},
                v_skip,
                "TP_IMS_5106_01",
                false,
                false
            )
           );
           p_monitorCompRef.done;
	    }
	    
	   
	    /**
	     * @desc Starts monitor component behavior for TP_IMS_5106_01
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5106_01_mw(
	    	ImsInterfaceMonitor p_monitorCompRef,
	    	integer p_skipCount
	    ) runs on ImsTestCoordinator {
	        var template SipUrl v_SCSCF_A_Uri := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A));
	    	var template SkipType v_skip := {0, omit};
	    	
	    	if(p_skipCount > 0) {
	    		v_skip := {1, mw_SipRequest(mw_INVITE_Request_Base)};
	    	}
	    	
	    		
	       p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5106_01_mw(v_SCSCF_A_Uri))},
                {mw_SipRequest(mw_INVITE_Request_Base)},
                v_skip,
                "TP_IMS_5106_01",
                false,
                false
            )
           );
           p_monitorCompRef.done;
	    }
	    
	    
	    
	    /**
	     * @desc Starts monitor component behavior for TP_IMS_5121_02
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5121_02_gm(
	    	ImsInterfaceMonitor p_monitorCompRef,
	    	integer p_skipCount
	    ) runs on ImsTestCoordinator {
	    	var template SkipType v_skip := {0, omit};
	    	
	    	if(p_skipCount > 0) {
	    		v_skip := {1, mw_SipResponse(mdw_2XX_Base)};
	    	}
	       p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipResponse(mdw_2XX_Base)},
                {},
                v_skip,
                "TP_IMS_5121_02",
                false,
                false
            )
           );
           p_monitorCompRef.done;
	    }
	    
	   
	    /**
	     * @desc Starts monitor component behavior for TP_IMS_5121_02
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5121_02_mw(
	    	ImsInterfaceMonitor p_monitorCompRef,
	    	integer p_skipCount
	    ) runs on ImsTestCoordinator {
	        var template SipUrl v_SCSCF_A_Uri := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A));
	    	var template SkipType v_skip := {0, omit};
	    	
	    	if(p_skipCount > 0) {
	    		v_skip := {1, mw_SipResponse(mdw_2XX_Base)};
	    	}
	    	
	    		
	       p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipResponse(mw_TP_IMS_5121_02_mw)},
                {mw_SipResponse(mdw_2XX_Base)},
                v_skip,
                "TP_IMS_5121_02",
                false,
                false
            )
           );
           p_monitorCompRef.done;
	    }
	}
	
} // end group
}// end module
 No newline at end of file
+42 −0
Original line number Diff line number Diff line
@@ -734,6 +734,18 @@ module AtsImsIot_Templates {
       	}
    }
    
    template Response mw_TP_IMS_5121_02_mw modifies mdw_2XX_Base := {
	    msgHeader := {
	        pChargingVector := {
	           fieldName := P_CHARGING_VECTOR_E,
	           chargeParams := {
                    complement({id := "access-network-charging-info", paramValue := ?}),
		            *
	           }
	        }
	    }   
    }
    
    template Response mw_TP_IMS_5117_02_mw modifies mdw_2XX_Base := {
	    msgHeader := {
	        pChargingVector := {
@@ -936,6 +948,36 @@ module AtsImsIot_Templates {
			messageBody := ? // TODO 
		}
		
		
	/**
	  * @desc INVITE Request checking TP_IMS_5106_01
	  */
	template INVITE_Request mdw_TP_IMS_5106_01_mw(
		template SipUrl p_SCSCF_URI
	) modifies mw_INVITE_Request_Base := {
	  msgHeader := {        
		route := {
    		fieldName := ROUTE_E,
    		routeBody := {
    			complement(mw_routeBody(p_SCSCF_URI)),
    			*
    		}
		},
      	recordRoute := {
    		fieldName := RECORD_ROUTE_E,
    		routeBody := {
    			mw_routeBody(p_SCSCF_URI), 
    			*
    		}       		
      	},
      	pAccessNetworkInfo := omit,
        pChargingVector :=  mw_PChargingVector({
            {id := "icid-value", paramValue := *}, 
            *
        })
	  }
	}

  	}//end group
	group HeaderTemplates {
		
+92 −0
Original line number Diff line number Diff line
@@ -448,4 +448,96 @@ module AtsImsIot_TestCases_CALL {
		f_cf_int_call_down(v_config);
	} //end testcase TC_IMS_CALL_0006
	
	
	
	/**
	 * @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_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);
		
		// vaiables
		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_mw, omit};
				
		// map/connect component ports
		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_userTriggerInitiateCall (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_userTriggerAnswerCall(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_mw(v_mw,1);
		
		// Test Sequence 8 --------------------->
		f_mtc_userCheckUserOnHold(v_ueB);
		
		// check 2
		f_mtc_check_TP_IMS_5121_02_gm(v_gmA,1);
		f_mtc_check_TP_IMS_5121_02_mw(v_mw,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_mw(v_mw,0);
		
		// Test Sequence 11 -------------------->
		f_mtc_userCheckCallResumed(v_ueB);
		
		// check 2
		f_mtc_check_TP_IMS_5121_02_gm(v_gmA,1);
		f_mtc_check_TP_IMS_5121_02_mw(v_mw,1);
		
		// Test Sequence 12 -------------------->
		f_mtc_userCheckCallResumed(v_ueA);
		// Test Sequence 13 -------------------->
		f_mtc_triggerEndCall(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);
		
		//unmap/disconnet component ports
		f_cf_user_down(v_ueA);
		f_cf_user_down(v_ueB);
		f_cf_int_call_down(v_config);
	} 
	
}
 No newline at end of file