Commit a7c9d804 authored by berge's avatar berge
Browse files

Added CALL_0016

parent 37f06014
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -2451,8 +2451,36 @@ group checksTC_IMS_CALL_0014 {

} // group

group checksTC_IMS_CALL_0016 {	
	
	/**
	  * @desc Starts monitor component behavior
	  * @param p_monitorCompRef Reference to monitor component
	  */
	function f_mtc_check_TP_IMS_5139_01_mw(
		ImsInterfaceMonitor p_monitorCompRef,
		boolean p_checkMessage
	) runs on ImsTestCoordinator  {
		var template SipUrl v_scscfImsAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A));
			
		p_monitorCompRef.start(
			f_imsIot_receive(
			{mw_SipRequest(mdw_TP_IMS_5139_01_mw(?, v_scscfImsAUrl))},
			{},
			{0, omit},
			"TP_IMS_5139_01",
			false,
			p_checkMessage
			)
		);
		p_monitorCompRef.done;
			
	} //function

} // group
group checksTC_IMS_SS_0001 {

	    
	    /**
		 * @desc Starts monitor component behavior
		 * @param p_monitorCompRef Reference to monitor component
+14 −0
Original line number Diff line number Diff line
@@ -509,6 +509,20 @@ module AtsImsIot_Functions {
     		return v_success;
 		}


		/**
			* @desc Trigger IMS Network to deregister UE given by p_ueRef
			* @param p_imsRef Reference to IMS network component 
			* @param p_ueRef Reference to IMS UE user component
			* @return true or false
			*/
		function f_mtc_imsTriggerUeDeregistration(EquipmentUser p_imsRef, EquipmentUser p_ueRef) 
			runs on TestCoordinator return boolean {
			var boolean v_status := true; 
			// TODO
			return v_status;
		}
 		
 		function f_getAnyValidUser(integer p_productIdx) return ImsUserInfo {
 		  var integer v_size := sizeof(PX_IMS_USER_DATA);
 		  const ImsUserInfo c_dummyInfo := { "dummy", "dummy", "dummy", "dummy", "dummy" };
+25 −1
Original line number Diff line number Diff line
@@ -684,6 +684,28 @@ module AtsImsIot_Templates {
	  }
	}
	
	/**
	  * 
	  * @desc BYE Request checking TP_IMS_5139_01 on MW
	  */
	template BYE_Request mdw_TP_IMS_5139_01_mw(
		template CallId p_callId,
		template SipUrl p_UE_URI // must be the IP address
	) modifies mw_BYE_Request_Base := {
		requestLine := {
			requestUri := p_UE_URI
		},
		msgHeader := {
			callId := p_callId,
			cSeq := ?,			
			fromField := ?,			
			reason := ?,
			route := ?,		
			toField := ?	
		}
	}

	  
	/**
	  * 
	  * @desc BYE Request checking TP_IMS_5301_01 on MW
@@ -706,6 +728,8 @@ module AtsImsIot_Templates {
	  }
	}

	

   /**
     * 
     * @desc INVITE Request checking TP_IMS_5310_01 on GM
+52 −0
Original line number Diff line number Diff line
@@ -650,6 +650,58 @@ group Limit {
	



	/**
	  * @desc Call failure due to de-registration of calling user during call
	  * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.3
	  */
	testcase TC_IMS_CALL_0016() 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_imsA := f_cf_create_IotEquipmentUser(c_trigger_A);
		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_user_up(v_imsA);
		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_imsTriggerUeDeregistration(v_imsA, v_ueA); //Test Sequence Step 7
		
		f_mtc_check_TP_IMS_5139_01_mw(v_mw, true); // Check 1
		
		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_user_down(v_imsA);
		f_cf_roam_call_down(v_gmA, v_mw, v_gmB);
	} //end testcase TC_IMS_CALL_0016

	
	
	/**
	 * @desc Subsequent target refresh request (INVITE)
	 * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.3.4