Commit d265d77b authored by ringst's avatar ringst
Browse files

TC_IMS_REG_0004 updated

parent 2df98d7e
Loading
Loading
Loading
Loading
+27 −24
Original line number Diff line number Diff line
@@ -938,17 +938,18 @@ group checksTC_IMS_REG_0004 {
    	* @desc Starts monitor component behavior for TP_IMS_5088_01 (gm)
    	* @param p_monitorCompRef Reference to monitor component
    	*/
    	function f_mtc_check_TP_IMS_5088_01_gm(ImsInterfaceMonitor p_monitorCompRef) 
    		runs on ImsTestCoordinator {
    	function f_mtc_check_TP_IMS_5088_01_gm(
    		ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage
    	) runs on ImsTestCoordinator {
       	    		
    		p_monitorCompRef.start(
    			f_imsIot_receive(
    				{mw_SipRequest(mdw_TP_IMS_5088_01_gm)},
        			{mw_SipRequest(mw_REGISTER_Request_Base)},
        			{0, omit},
        			"TP_IMS_5088_01_gm",
        			"TP_IMS_5088_01 (gm)",
        			false,
                	false
					p_checkMessage
        		)
        	);
        	p_monitorCompRef.done;
@@ -958,20 +959,20 @@ group checksTC_IMS_REG_0004 {
    	* @desc Starts monitor component behavior for TP_IMS_5088_01 (mw)
    	* @param p_monitorCompRef Reference to monitor component
    	*/
    	function f_mtc_check_TP_IMS_5088_01_mw(ImsInterfaceMonitor p_monitorCompRef) 
    		runs on ImsTestCoordinator {
    	function f_mtc_check_TP_IMS_5088_01_mw(
    		ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage
    	) runs on ImsTestCoordinator {
    		
			var charstring v_hostname := "foo";
			f_getHostname(PX_EUT_A, "pcscf", v_hostname); // needs recheck	
			var template SipUrl v_eutAUri := mw_SipUrl_Host(f_GetEUTPcscfAddress(PX_EUT_A));
			     		
        	p_monitorCompRef.start(
    			f_imsIot_receive(
    						{mw_SipRequest(mdw_TP_IMS_5088_01_mw(?, mw_SipUrl_Host(v_hostname)))}, // TODO getHostname(PCSCF) how to hande the callid?
    						{mw_SipRequest(mw_REGISTER_Request_Base)},
					{mw_SipRequest(mdw_TP_IMS_5088_01_mw(?, v_eutAUri))}, 
					{mw_SipRequest(mw_NOTIFY_Request_Base(*))},
					{0, omit},
					"TP_IMS_5088_01_mw",
					false,
                			false
					p_checkMessage
    			)
        	);
    	}
@@ -982,8 +983,9 @@ group checksTC_IMS_REG_0004 {
    	* @desc Starts monitor component behavior for TP_IMS_5093_01 (mw)
    	* @param p_monitorCompRef Reference to monitor component
    	*/
    	function f_mtc_check_TP_IMS_5093_01_UE_mw(ImsInterfaceMonitor p_monitorCompRef) 
    		runs on ImsTestCoordinator {
    	function f_mtc_check_TP_IMS_5093_01_UE_mw(
    		ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage
    	) runs on ImsTestCoordinator {
    		
    		var charstring v_hostname := "foo";
    		var integer PX_UE_B := 1; // TODO this is just temporary, UE PIXIT needs to be determined
@@ -992,11 +994,11 @@ group checksTC_IMS_REG_0004 {
    		p_monitorCompRef.start(
    			f_imsIot_receive(
    				{mw_SipRequest(mdw_TP_IMS_5093_01_UE_mw(?, mw_SIP_URI(v_hostname)))}, // TODO getHostname(PCSCF) how to hande the callid?
    				{mw_SipRequest(mw_MESSAGE_Request_Base(?))},
    				{mw_SipRequest(mw_NOTIFY_Request_Base(?))},
    				{0, omit},
    				"TP_IMS_5093_01_mw",
    				false,
                	false
					p_checkMessage
    			)
    		);
    		p_monitorCompRef.done;
@@ -1006,11 +1008,12 @@ group checksTC_IMS_REG_0004 {
    	* @desc Starts monitor component behavior for TP_IMS_5093_01 (mw)
    	* @param p_monitorCompRef Reference to monitor component
    	*/
    	function f_mtc_check_TP_IMS_5093_01_IMS_mw(ImsInterfaceMonitor p_monitorCompRef) 
    		runs on ImsTestCoordinator {
    	function f_mtc_check_TP_IMS_5093_01_IMS_mw(
    		ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage
    	) runs on ImsTestCoordinator {
    		
    		var charstring v_hostname := "foo";
    		f_getHostname(PX_EUT_A, "pcscf", v_hostname); // needs recheck
    		//f_getHostname(PX_EUT_A, "pcscf", v_hostname); // needs recheck
    
    		p_monitorCompRef.start(
    			f_imsIot_receive(
@@ -1019,7 +1022,7 @@ group checksTC_IMS_REG_0004 {
    				{0, omit},
    				"TP_IMS_5093_01_mw",
    				false,
                	false
					p_checkMessage
    			)
    		);
    		p_monitorCompRef.done;
@@ -1059,7 +1062,7 @@ group checksTC_IMS_REG_0004 {
			runs on ImsTestCoordinator {

			var charstring v_hostname := "foo";
			f_getHostname(PX_EUT_A, "pcscf", v_hostname); // needs recheck
			//f_getHostname(PX_EUT_A, "pcscf", v_hostname); // needs recheck

			p_monitorCompRef.start(
				f_imsIot_receive(
+0 −6
Original line number Diff line number Diff line
@@ -470,12 +470,6 @@ module AtsImsIot_Functions {
 		  return c_dummyInfo;
 		} 		
 		 		
		function f_getHostname(integer p_productIdx, charstring p_entity, out charstring p_hostname) 
					return boolean {
			// TODO
			return true;		
		} 		
 		
		// TODO 
		function f_getUEHostname(integer p_ID, out charstring p_hostname) 
				return boolean {
+4 −9
Original line number Diff line number Diff line
@@ -878,22 +878,17 @@ module AtsImsIot_Templates {
	}

		template REGISTER_Request mdw_TP_IMS_5088_01_gm  modifies mw_REGISTER_Request_Base := {
			msgHeader := {
				authorization := {
            		fieldName := AUTHORIZATION_E,
            		body := ? // TODO Authorization_header containing an integrity-protected_parameter indicating no 
				}
			}
			msgHeader := {authorization := m_Authorization(mw_credentialIntegrityYes)}
		}
    	
		template NOTIFY_Request mdw_TP_IMS_5088_01_mw(template CallId p_callId, template SipUrl p_PCSCF_SIP_URI) modifies mw_NOTIFY_Request_Base := { 
			requestLine := { requestUri := p_PCSCF_SIP_URI }, // TODO check if this is the P-CSCF_SIP_URI
			requestLine := { requestUri := p_PCSCF_SIP_URI }, 
			msgHeader := { 
				event := {
					fieldName := EVENT_E, 
					eventType := pattern "*reg*", // TODO check content
					eventType := pattern "*reg*", 
					eventParams := *},
				route := ? }, // TODO route header indicating the original Route_header from SUBSCRIBE 
				route := ? }, // TODO route header indicating the original Route_header from SUBSCRIBE (SUBSCRIBE not defined in the test description) 
			messageBody := ? // TODO 
		}
    	
+26 −17
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ module AtsImsIot_TestCases_REG {
		// postamble
		f_PO_user_home_deregistration(v_ueB);
		
		//unmap/disconnet component ports
		// unmap/disconnect component ports
		f_cf_user_down(v_ueB);
		f_cf_roam_reg_down(v_gmA, v_mw);
	}
@@ -164,7 +164,7 @@ module AtsImsIot_TestCases_REG {
		// postamble
		f_PO_user_home_deregistration(v_ueB);
		
		//unmap/disconnet component ports
		// unmap/disconnect component ports
		f_cf_user_down(v_ueB);
		f_cf_roam_reg_down(v_gmA, v_mw);
	}
@@ -225,7 +225,7 @@ module AtsImsIot_TestCases_REG {
		
		f_mtc_userCheckNoRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 2 - unsuccessful registration
		
		//unmap/disconnet component ports
		// unmap/disconnect component ports
		f_cf_user_down(v_ueB);
		f_cf_roam_reg_down(v_gmA, v_mw);
	}
@@ -240,22 +240,24 @@ module AtsImsIot_TestCases_REG {
		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_anyValidUser := f_getAnyValidUser(PX_EUT_B);
		
		// map/connect component ports
		f_cf_user_up(v_ueB);
		f_cf_roam_reg_up(v_gmA, v_mw);
		
		// test body
		f_mtc_userTriggerRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
		f_mtc_userTriggerRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 1 
		
		f_mtc_check_TP_IMS_5088_01_gm(v_gmA);
		f_mtc_check_TP_IMS_5088_01_mw(v_mw);
		f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
		f_mtc_check_TP_IMS_5088_01_gm(v_gmA, false); // Check1 when (REGISTER)
		f_mtc_check_TP_IMS_5088_01_mw(v_mw, false); // Check1 then (NOTIFY)
		
		f_mtc_userCheckRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 2
		
		// postamble
		f_PO_user_home_deregistration(v_ueB);
		
		//unmap/disconnet component ports
		// unmap/disconnect component ports
		f_cf_user_down(v_ueB);
		f_cf_roam_reg_down(v_gmA, v_mw);
	}
@@ -265,27 +267,32 @@ module AtsImsIot_TestCases_REG {
	* 		e.g., when a user runs out of credit
	* @see 	ETSI TS 186 011-2 V2.3.1 cause 4.5.2.7
	*/
	// @TODO
	testcase TC_IMS_REG_0005() runs on ImsTestCoordinator system IotSystemInterface {
		// create components
		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_anyValidUser := f_getAnyValidUser(PX_EUT_B);
		
		// map/connect component ports
		f_cf_user_up(v_ueB);
		f_cf_roam_reg_up(v_gmA, v_mw);
		
		// test body
		// IMS_B is triggered manually to de-register user B
		// IMS_B is triggered manually to de-register user B // Test Sequence Step 1 manuallz
		
		f_mtc_check_TP_IMS_5093_01_UE_mw(v_mw);
		f_mtc_check_TP_IMS_5093_01_IMS_mw(v_mw);
		f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_A));
		// IMS_B receives a network_originated_deregistration_event // Check1 when manually
		
		f_mtc_check_TP_IMS_5093_01_UE_mw(v_mw, false); // check1 then - 1st NOTIFY 
		f_mtc_check_TP_IMS_5093_01_IMS_mw(v_mw, false); // check1 then - 2nd NOTIFY
		
		f_mtc_userCheckNoRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 2 - check that user is not registered anymore (de-registration)
		
		// postamble
		f_PO_user_home_deregistration(v_ueB);
		
		//unmap/disconnet component ports
		// unmap/disconnect component ports
		f_cf_user_down(v_ueB);
		f_cf_roam_reg_down(v_gmA, v_mw);
	}
@@ -293,6 +300,7 @@ module AtsImsIot_TestCases_REG {
	* @desc IMS network can initiate user re-authentication 
	* @see 	ETSI TS 186 011-2 V2.3.1 cause 4.5.2.8
	*/
	// @TODO
	testcase TC_IMS_REG_0006() runs on ImsTestCoordinator system IotSystemInterface {
		// create components
		var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
@@ -313,7 +321,7 @@ module AtsImsIot_TestCases_REG {
		// postamble
		f_PO_user_home_deregistration(v_ueB);
		
		//unmap/disconnet component ports
		// unmap/disconnect component ports
		f_cf_user_down(v_ueB);
		f_cf_roam_reg_down(v_gmA, v_mw);
	}
@@ -323,6 +331,7 @@ module AtsImsIot_TestCases_REG {
	 *     First time registration in a visited IMS network with topology hiding.
	 *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.2.9)
	 */
	// @TODO
	testcase TC_IMS_REG_0007() runs on ImsTestCoordinator system IotSystemInterface {
		// create components
		var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
@@ -347,7 +356,7 @@ module AtsImsIot_TestCases_REG {
		// postamble
		f_PO_user_home_deregistration(v_ueB);
		
		//unmap/disconnet component ports
		// unmap/disconnect component ports
		f_cf_user_down(v_ueB);
		f_cf_roam_reg_down(v_gmA, v_mw);
	}