Commit 5e04f796 authored by pintar's avatar pintar
Browse files

review of functions for TC_IMS_CALL_0001 and TC_IMS_CALL_0001F

parent e4b1964e
Loading
Loading
Loading
Loading
+220 −112
Original line number Diff line number Diff line
@@ -1074,13 +1074,14 @@ group checksTC_IMS_REG_0007 {
} // group


group checksTC_IMS_CALL_0001F {	    
group checksTC_IMS_CALL_0001 {	    
	    /**
		 * @desc Starts monitor component behavior 
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5097_01_gm(
	    	ImsInterfaceMonitor p_monitorCompRef
	    	ImsInterfaceMonitor p_monitorCompRef,
			boolean p_checkMessage
	    ) runs on ImsTestCoordinator {
		   	    		
           p_monitorCompRef.start(
@@ -1090,7 +1091,7 @@ group checksTC_IMS_CALL_0001F {
                {0, omit},
                "TP_IMS_5097_01",
                false,
                false
				p_checkMessage
            )
           );
           p_monitorCompRef.done;
@@ -1101,60 +1102,73 @@ group checksTC_IMS_CALL_0001F {
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5097_01_mw(
	    	ImsInterfaceMonitor p_monitorCompRef
	    	ImsInterfaceMonitor p_monitorCompRef,
			boolean p_checkMessage
	    ) runs on ImsTestCoordinator  {
	    var SipMessage v_sip; 
		var PChargingVector v_PChargingVector;
		var Route v_Route;
		var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A));
					var template PChargingVector vt_PChargingVector_termoid := mw_PChargingVector({
					{id := "term-oid", paramValue := *}, 
					*
			});
	    var template PChargingVector vt_PChargingVector_accessnetinfo := mw_PChargingVector({
					{id := "access-network-charging-info", paramValue := *}, 
					*
			});
		var template Route vt_scscfRoute := {
					fieldName := ROUTE_E,
					routeBody := {mw_routeBody(v_scscfEutAUrl), *}  
			};	
	    
	   
		   var charstring v_EUT_A_Addr := f_GetEUTScscfAddress(PX_EUT_A);
	       p_monitorCompRef.start(
        	f_imsIot_receive(
            {mw_SipRequest(mdw_TP_IMS_5097_01_mw(v_scscfEutAUrl))},
                {mw_SipRequest(mdw_TP_IMS_5097_01_mw(mw_SipUrl_Host(v_EUT_A_Addr)))},
                {},
                {0, omit},
                "TP_IMS_5097_01",
                true,
            false
				p_checkMessage
            )
       	   );
       	   p_monitorCompRef.done;
	   f_getSipMsgFromMonitor(p_monitorCompRef, v_sip);
	   v_PChargingVector := v_sip.request.msgHeader.pChargingVector;
	   v_Route := v_sip.request.msgHeader.route;
   	   // Check PChargingVector not containing term-oid, not containing access-network-charging-info
       if (match(v_PChargingVector, vt_PChargingVector_termoid)) {
			f_setIotVerdictFAIL("TP_IMS_5097_01");
       } 
       if (match(v_PChargingVector, vt_PChargingVector_accessnetinfo)) {
			f_setIotVerdictFAIL("TP_IMS_5097_01");
       } 
	   // Check Route header
	   if (match(v_Route, vt_scscfRoute)) {
			f_setIotVerdictFAIL("TP_IMS_5097_01");
	   } 
		} //function
	    
	    /**
	     * @desc Starts monitor component behavior for TP_IMS_5097_02
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5097_02_gm(
	    	ImsInterfaceMonitor p_monitorCompRef,
	    	boolean p_checkMessage
	    ) runs on ImsTestCoordinator {
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mw_INVITE_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5097_02",
                false,
                p_checkMessage
            )
           );
           p_monitorCompRef.done;
	    }
	    
	    
	    /**
		 * @desc Starts monitor component behavior for TP_IMS_5097_02
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5097_02_mw(
	    	ImsInterfaceMonitor p_monitorCompRef,
	    	boolean p_checkMessage
	    ) runs on ImsTestCoordinator {
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5097_02_mw(mw_SIP_URI_Base, mw_TEL_URI_Base))},
                {mw_SipRequest(mw_INVITE_Request_Base)},
                {0, omit},
                "TP_IMS_5097_02",
                false,
                p_checkMessage
            )
           );
           p_monitorCompRef.done;
	    }

	    /**
		 * @desc Starts monitor component behavior 
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5107_02_gm(
	    	ImsInterfaceMonitor p_monitorCompRef
	    	ImsInterfaceMonitor p_monitorCompRef,
			boolean p_checkMessage
	    ) runs on ImsTestCoordinator {
		   	    		
           p_monitorCompRef.start(
@@ -1164,7 +1178,7 @@ group checksTC_IMS_CALL_0001F {
                {0, omit},
                "TP_IMS_5107_02",
                false,
                false
				p_checkMessage
            )
           );
           p_monitorCompRef.done;
@@ -1176,33 +1190,22 @@ group checksTC_IMS_CALL_0001F {
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5107_02_mw(
	    	ImsInterfaceMonitor p_monitorCompRef
	    	ImsInterfaceMonitor p_monitorCompRef,
			boolean p_checkMessage
	    ) runs on ImsTestCoordinator  {
	    var SipMessage v_sip; 
	    var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A));
	    var Route v_Route;
	    var template Route vt_scscfRoute := {
				fieldName := ROUTE_E,
				routeBody := {mw_routeBody(v_scscfEutAUrl), *}  };
	    var charstring v_EUT_A_Addr := f_GetEUTScscfAddress(PX_EUT_A);
	    	    
        p_monitorCompRef.start(
         f_imsIot_receive(
            {mw_SipRequest(mw_ACK_Request_Base(?))},
            {mw_SipRequest(mdw_TP_IMS_5107_02_mw(?, mw_SipUrl_Host(v_EUT_A_Addr)))},
            {},
            {0, omit},
            "TP_IMS_5107_02",
            true,
            false
			p_checkMessage
         )
        );
       p_monitorCompRef.done;
	   f_getSipMsgFromMonitor(p_monitorCompRef, v_sip);
	   v_Route := v_sip.request.msgHeader.route;
		
		// Check Route header: NOT containing S-CSCF of IMS_A
	  	if (match(v_Route, vt_scscfRoute)) {
		f_setIotVerdictFAIL("TP_IMS_5107_02");
		} 
	   } //function

	    /**
@@ -1210,7 +1213,8 @@ group checksTC_IMS_CALL_0001F {
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5107_01_gm(
	    	ImsInterfaceMonitor p_monitorCompRef
	    	ImsInterfaceMonitor p_monitorCompRef,
			boolean p_checkMessage
	    ) runs on ImsTestCoordinator {
		   	    		
           p_monitorCompRef.start(
@@ -1220,7 +1224,7 @@ group checksTC_IMS_CALL_0001F {
                {0, omit},
                "TP_IMS_5107_01",
                false,
                false
				p_checkMessage
            )
           );
           p_monitorCompRef.done;
@@ -1232,51 +1236,85 @@ group checksTC_IMS_CALL_0001F {
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5107_01_mw(
	    	ImsInterfaceMonitor p_monitorCompRef
	    	ImsInterfaceMonitor p_monitorCompRef,
			boolean p_checkMessage
	    ) runs on ImsTestCoordinator  {	
	    var SipMessage v_sip; 
		var PChargingVector v_PChargingVector;	
	    var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A));
	    var Route v_Route;
	    var template Route vt_scscfRoute := {
				fieldName := ROUTE_E,
				routeBody := {mw_routeBody(v_scscfEutAUrl), *}  };
		var charstring v_EUT_A_Addr := f_GetEUTScscfAddress(PX_EUT_A);
	    
        p_monitorCompRef.start(
         f_imsIot_receive(
            {mw_SipRequest(mw_BYE_Request_Base(?))},
            {mw_SipRequest(mdw_TP_IMS_5107_01_mw(?, mw_SipUrl_Host(v_EUT_A_Addr)))},
            {},
            {0, omit},
            "TP_IMS_5107_01",
            true,
            false
			p_checkMessage
         )
        );
        p_monitorCompRef.done;
	   f_getSipMsgFromMonitor(p_monitorCompRef, v_sip);
	   v_Route := v_sip.request.msgHeader.route;
	   } //function
		
		// Check Route header: NOT containing S-CSCF of IMS_A
	  	if (match(v_Route, vt_scscfRoute)) {
		f_setIotVerdictFAIL("TP_IMS_5107_01");
    	/**
    	  * @desc Starts monitor component behavior
    	  * @param p_monitorCompRef Reference to monitor component
    	  */
	    function f_mtc_check_TP_IMS_5115_01_gm(
	    	ImsInterfaceMonitor p_monitorCompRef,
			boolean p_checkMessage 
		) runs on ImsTestCoordinator {
		   	    		
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipResponse(mw_180Ringing_Base)},
                {},
                {0, omit},
                "TP_IMS_5115_01",
                false,
				p_checkMessage
            )
           );
           p_monitorCompRef.done;
	    }
	   } //function
	    
		/**
		  * @desc Starts monitor component behavior
		  * @param p_monitorCompRef Reference to monitor component
		  */
	    function f_mtc_check_TP_IMS_5115_01_5131_01_gm(ImsInterfaceMonitor p_monitorCompRef) 
		runs on ImsTestCoordinator {
	    function f_mtc_check_TP_IMS_5115_01_mw(
			ImsInterfaceMonitor p_monitorCompRef,
			boolean p_checkMessage 
		) runs on ImsTestCoordinator {
		   	    		
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipResponse(mdw_TP_IMS_5115_01_mw)},
                {mw_SipResponse(mw_180Ringing_Base)},
                {0, omit},
                "TP_IMS_5115_01",
                true,
				p_checkMessage
            )
           );
           p_monitorCompRef.done;
	    }
		
		/**
		  * @desc Starts monitor component behavior
		  * @param p_monitorCompRef Reference to monitor component
		  */
		function f_mtc_check_TP_IMS_5115_02_gm(
        	ImsInterfaceMonitor p_monitorCompRef,
        	boolean p_checkMessage 
		) runs on ImsTestCoordinator {
    
    		p_monitorCompRef.start(
    			f_imsIot_receive(
					{mw_SipResponse(mw_200OK_Base)},
					{},
					{0, omit},
                "TP_IMS_5115_01 and TP_IMS_5131_01",
					"TP_IMS_5115_02",
					false,
                false
					p_checkMessage
    			)
    		);
			p_monitorCompRef.done;
@@ -1286,17 +1324,63 @@ group checksTC_IMS_CALL_0001F {
		  * @desc Starts monitor component behavior
		  * @param p_monitorCompRef Reference to monitor component
		  */
	    function f_mtc_check_TP_IMS_5115_01_5131_01_mw(ImsInterfaceMonitor p_monitorCompRef) 
		runs on ImsTestCoordinator {
		function f_mtc_check_TP_IMS_5115_02_mw(
        	ImsInterfaceMonitor p_monitorCompRef,
        	boolean p_checkMessage 
        ) runs on ImsTestCoordinator {

    		p_monitorCompRef.start(
    			f_imsIot_receive(
                {mw_SipResponse(mdw_TP_IMS_5115_01_5131_01_mw)},
					{mw_SipResponse(mdw_TP_IMS_5115_02_mw)},
					{mw_SipResponse(mw_200OK_Base)},
					{0, omit},
					"TP_IMS_5115_02",
					true,
					p_checkMessage
    			)
    		);
    		p_monitorCompRef.done;
		}
		
		/**
		  * @desc Starts monitor component behavior
		  * @param p_monitorCompRef Reference to monitor component
		  */
		function f_mtc_check_TP_IMS_5131_01_gm(
        	ImsInterfaceMonitor p_monitorCompRef,
        	boolean p_checkMessage 
        ) runs on ImsTestCoordinator {
		   	    		
			p_monitorCompRef.start(
				f_imsIot_receive(
					{mw_SipResponse(mw_180Ringing_Base)},
					{},
					{0, omit},
					"TP_IMS_5131_01",
					false,
					p_checkMessage
				)
			);
			p_monitorCompRef.done;
		}
	    
		/**
		  * @desc Starts monitor component behavior
		  * @param p_monitorCompRef Reference to monitor component
		  */
		function f_mtc_check_TP_IMS_5131_01_mw(
        	ImsInterfaceMonitor p_monitorCompRef,
        	boolean p_checkMessage 
        ) runs on ImsTestCoordinator {	
		   	    		
			p_monitorCompRef.start(
				f_imsIot_receive(
					{mw_SipResponse(mdw_TP_IMS_5131_01_mw)},
					{mw_SipResponse(mw_180Ringing_Base)},
					{0, omit},
                "TP_IMS_5115_01 and TP_IMS_5131_01",
					"TP_IMS_5131_01",
					true,
                false
					p_checkMessage
				)
			);
			p_monitorCompRef.done;
@@ -1306,17 +1390,19 @@ group checksTC_IMS_CALL_0001F {
		  * @desc Starts monitor component behavior
		  * @param p_monitorCompRef Reference to monitor component
		  */
		function f_mtc_check_TP_IMS_5115_02_5131_02_gm(ImsInterfaceMonitor p_monitorCompRef) 
		runs on ImsTestCoordinator {
        function f_mtc_check_TP_IMS_5131_02_gm(
        	ImsInterfaceMonitor p_monitorCompRef,
        	boolean p_checkMessage 
        ) runs on ImsTestCoordinator {
    
			p_monitorCompRef.start(
				f_imsIot_receive(
            		{mw_SipResponse(mw_200OK_Base)},
            		{},
            		{0, omit},
					"TP_IMS_5115_02 and TP_IMS_5131_02",
            		"TP_IMS_5131_02",
            		false,
					false
					p_checkMessage
				)
			);
			p_monitorCompRef.done;
@@ -1326,17 +1412,19 @@ group checksTC_IMS_CALL_0001F {
		  * @desc Starts monitor component behavior
		  * @param p_monitorCompRef Reference to monitor component
		  */
		function f_mtc_check_TP_IMS_5115_02_5131_02_mw(ImsInterfaceMonitor p_monitorCompRef) 
		runs on ImsTestCoordinator {
        function f_mtc_check_TP_IMS_5131_02_mw(
        	ImsInterfaceMonitor p_monitorCompRef,
        	boolean p_checkMessage 
        ) runs on ImsTestCoordinator {

			p_monitorCompRef.start(
				f_imsIot_receive(
					{mw_SipResponse(mdw_TP_IMS_5115_02_5131_02_mw)},
        			{mw_SipResponse(mdw_TP_IMS_5131_02_mw)},
        			{mw_SipResponse(mw_200OK_Base)},
        			{0, omit},
					"TP_IMS_5115_02 and TP_IMS_5131_02",
        			"TP_IMS_5131_02",
        			true,
					false
					p_checkMessage
				)
			);
			p_monitorCompRef.done;
@@ -1344,6 +1432,26 @@ group checksTC_IMS_CALL_0001F {
	    
} // group

group checksTC_IMS_CALL_0001F {

/*functions already used in test TC_IMS_CALL_0001
 * f_mtc_check_TP_IMS_5097_01_gm 
 * f_mtc_check_TP_IMS_5097_01_mw
 * f_mtc_check_TP_IMS_5107_01_gm 
 * f_mtc_check_TP_IMS_5107_01_mw
 * f_mtc_check_TP_IMS_5107_02_gm 
 * f_mtc_check_TP_IMS_5107_02_mw
 * f_mtc_check_TP_IMS_5115_01_gm 
 * f_mtc_check_TP_IMS_5115_01_mw
 * f_mtc_check_TP_IMS_5115_02_gm 
 * f_mtc_check_TP_IMS_5115_02_mw
 * f_mtc_check_TP_IMS_5131_01_gm 
 * f_mtc_check_TP_IMS_5131_01_mw
 * f_mtc_check_TP_IMS_5131_02_gm 
 * f_mtc_check_TP_IMS_5131_02_mw
 * 
*/
} // group

group checksTC_IMS_SS_0001 {	    
	    /**