Commit 95b9dccc authored by ringst's avatar ringst
Browse files

Base for TC_IMS_0007 added

parent c0fd7a91
Loading
Loading
Loading
Loading
+62 −4
Original line number Diff line number Diff line
@@ -463,12 +463,15 @@ group checksTC_IMS_0005 {
    		
        	var CallId v_callId; // TODO what it the call id? not initialized
        		
			var charstring v_hostname;
			f_getHostname(PX_EUT_A, "pcscf", v_hostname); // needs recheck	
        		
        	p_monitorCompRef.start(
    			f_imsIot_receive(
    						{mw_SipRequest(mdw_TP_IMS_5088_01_mw(v_callId, mw_SipUrl_Host("hostname")))}, // TODO getHostname(PCSCF) how to hande the callid?
    						{mw_SipRequest(mdw_TP_IMS_5088_01_mw(v_callId, mw_SipUrl_Host(v_hostname)))}, // TODO getHostname(PCSCF) how to hande the callid?
    						{mw_SipRequest(mw_MESSAGE_Request_Base(?))},
    						"TP_IMS_5088_01_mw",
    						"200_OK response",
    						"NOTIFY response",
    						0,
    						false
    			)
@@ -528,5 +531,60 @@ group checksTC_IMS_0006{
    		p_monitorCompRef.done;
    	}
	} // end group
	group checksTC_IMS_0007{
	
		/**
		* @desc Starts monitor component behavior for TP_IMS_5094_01 (mw)
		* @param p_monitorCompRef Reference to monitor component
		*/
		function f_mtc_check_TP_IMS_5094_01_UE(InterfaceMonitor p_monitorCompRef) 
			runs on TestCoordinator {
    		
			var CallId v_callId; // TODO what it the call id? not initialized !!!
    		
			var charstring v_hostname;
			var integer PX_UE_B := 1; // TODO this is just temporary, UE PIXIT needs to be determined
			f_getUEHostname(PX_UE_B, v_hostname); // TODO needs recheck, maybe in more detail with userOrTelephoneSubscriber etc
    
			p_monitorCompRef.start(
				f_imsIot_receive(
					{mw_SipRequest(mdw_TP_IMS_5094_01_UE(v_callId, mw_SIP_URI(v_hostname)))}, // TODO getHostname(PCSCF) how to hande the callid?
					{mw_SipRequest(mw_MESSAGE_Request_Base(?))},
					"TP_IMS_5094_01_mw",
					"NOTIFY request",
					0,
					false
				)
			);
			p_monitorCompRef.done;
		}		
	
		/**
		* @desc Starts monitor component behavior for TP_IMS_5094_01 (mw)
		* @param p_monitorCompRef Reference to monitor component
		*/
		function f_mtc_check_TP_IMS_5094_01_IMS(InterfaceMonitor p_monitorCompRef) 
			runs on TestCoordinator {

			var CallId v_callId; // TODO what it the call id? not initialized !!!

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

			p_monitorCompRef.start(
				f_imsIot_receive(
					{mw_SipRequest(mdw_TP_IMS_5094_01_IMS_mw(v_callId, mw_SIP_URI(v_hostname)))}, // TODO getHostname(PCSCF) how to hande the callid?
					{mw_SipRequest(mw_MESSAGE_Request_Base(?))},
					"TP_IMS_5094_01_mw",
					"NOTIFY request",
					0,
					false
				)
			);
			p_monitorCompRef.done;
		}
    		
	} // end group
	
} // end group
}// end module
 No newline at end of file
+22 −0
Original line number Diff line number Diff line
@@ -215,6 +215,28 @@ module AtsImsIot_Templates {
        	messageBody := ? // TODO 
        }  
    	
		template NOTIFY_Request mdw_TP_IMS_5094_01_UE(CallId p_callId, template SipUrl p_UE_SIP_URI) modifies mw_NOTIFY_Request_Base := { 
			requestLine := { requestUri := p_UE_SIP_URI }, // TODO check if this is the UE_SIP_URI
			msgHeader := { 
				event := {
					fieldName := EVENT_E, 
					eventType := pattern "*reg_event*", // TODO check content
					eventParams := *},
				route := ? }, // TODO route header indicating the original Route_header from SUBSCRIBE 
			messageBody := ? // TODO 
		} 
            
		template NOTIFY_Request mdw_TP_IMS_5094_01_IMS_mw(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
			msgHeader := { 
				event := {
					fieldName := EVENT_E, 
					eventType := pattern "*reg_event*", // TODO check content
					eventParams := *},
				route := ? }, // TODO route header indicating the original Route_header from SUBSCRIBE 
			messageBody := ? // TODO 
		}

  	}//end group
	group HeaderTemplates {

+31 −0
Original line number Diff line number Diff line
@@ -235,6 +235,37 @@ module AtsImsIot_TestCases {
		f_cf_monitor_down(v_mw);
	}
	
	/**
	* @desc IMS network can initiate user re-authentication 
	* @see 	TD_IMS_0007 in ETSI TS 186 011-2 V2.3.1 cause 4.5.2.8
	*/
	testcase TC_IMS_0007() runs on TestCoordinator system SystemInterface {
		// create components
		var EutTrigger v_ueB := f_cf_create_trigger(c_trigger_B);
		var InterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
		var InterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
		
		// map/connect component ports
		f_cf_trigger_up(v_ueB);
		f_cf_monitor_up(v_gmA);
		f_cf_monitor_up(v_mw);
		
		// test body
		
		f_mtc_check_TP_IMS_5094_01_UE(v_mw);
		f_mtc_check_TP_IMS_5094_01_UE(v_gmA); 
		f_mtc_check_TP_IMS_5094_01_IMS(v_mw);
		f_mtc_userCheckRegistration(v_ueB, PX_EUT_A);
		
		// postamble
		f_PO_user_home_deregistration(v_ueB);
		
		//unmap/disconnet component ports
		f_cf_trigger_down(v_ueB);
		f_cf_monitor_down(v_gmA);
		f_cf_monitor_down(v_mw);
	}
	
	/**
	 * @desc IMS network supports properly application services based on 
	 * 		the example of the CFU supplementary service