Commit e8418893 authored by poglitsch's avatar poglitsch
Browse files

f_imsIot_receive improved

parent 4cabe2e4
Loading
Loading
Loading
Loading
+74 −126
Original line number Diff line number Diff line
@@ -13,18 +13,19 @@ module AtsImsIot_Behavior {

	import from AtsImsIot_Templates {template all;}

	import from AtsImsIot_TypesAndValues {type SipMessage, SipMessageList;}
	import from AtsImsIot_TypesAndValues {
		type SipMessage, SipMessageList, SkipType;
	}
		
	
	import from LibIms_UpperTester {type ImsUserInfo;}

	import from LibIot_TypesAndValues {type DefaultList;}
	import from LibIot_Functions {function f_setIotVerdictFAIL, f_setIotVerdictPASS;}
	import from LibIot_Functions {
		function f_setConformanceVerdict, f_setIotVerdictFAIL;
	}

	import from LibSip_SIPTypesAndValues all;
//	import from LibSip_SIPTypesAndValues {
//		type Request, Response, CallId, SipUrl;
//	}
	
	import from LibSip_Templates all;
	
@@ -42,9 +43,9 @@ module AtsImsIot_Behavior {
		 *     deactivates all added defaults again.
		 * @param p_passCriteria Expected messages which lead to pass
		 * @param p_failCriteria Expected messages which lead to fail
		 * * @param p_skip
		 *     Indicate how many messages from a specific sip template should be skipped prior to checking
		 * @param p_tpId The Test Purpose identifier
		 * @param p_skipCount
		 *     Indicate how many messages should be skipped prior to checking
		 * @param p_forwardMtc
		 *     indicate if the received Sip message should be forwarded to the
		 *     mtc
@@ -52,9 +53,8 @@ module AtsImsIot_Behavior {
        function f_imsIot_receive( 
          in template SipMessageList p_passCriteria,
          in template SipMessageList p_failCriteria,
          in template SkipType p_skip,
          in charstring p_tpId,
          in charstring p_log,
          in integer p_skipCount,
          in boolean p_forwardMtc
        ) runs on ImsInterfaceMonitor { 

@@ -62,10 +62,10 @@ module AtsImsIot_Behavior {
            var DefaultList v_defaultArray;

            v_defaultArray[0] := activate(a_default(p_tpId));
            f_activateImsSipDefaults(v_defaultArray, 1, p_failCriteria, fail, p_tpId, p_log, p_forwardMtc);
            f_activateImsSipDefaults(v_defaultArray, v_size + 1, p_passCriteria, pass, p_tpId, p_log, p_forwardMtc );
            f_activateImsSipDefaults(v_defaultArray, 1, p_failCriteria, fail, p_tpId, p_forwardMtc);
            f_activateImsSipDefaults(v_defaultArray, v_size + 1, p_passCriteria, pass, p_tpId, p_forwardMtc );

			f_gen_receive(p_tpId,  p_log, p_skipCount);
			f_gen_receive(p_tpId, p_skip);

			for (var integer i := 0; i < sizeof(v_defaultArray); i := i + 1) {
                deactivate(v_defaultArray[i]);
@@ -74,7 +74,7 @@ module AtsImsIot_Behavior {
		
		/**
         * @desc This function implements skipping of messages as well as timeout handling.
		 *       Prior to calling this function the message to be chekd for should be added
		 *       Prior to calling this function the message to be cheked for should be added
		 *       as defaults.
		 *       This function is independent of a specific interface component.
         * @param p_tpId The Test Purpose identifier
@@ -82,21 +82,25 @@ module AtsImsIot_Behavior {
         */     
        function f_gen_receive( 
          in charstring p_tpId,
          in charstring p_log, // TODO: usage? what is in this param?
          in integer p_skipCount
          in template SkipType p_skip
        ) runs on ImsInterfaceMonitor {
            
            var integer skipCount := valueof(p_skip.skipCount);
			tc_wait.start;
            
            alt {
            	// preamble (consume prior messages)
            	[p_skipCount > 0] dPort.receive {
            		p_skipCount := p_skipCount - 1;
            	[skipCount > 0 and ischosen(p_skip.skipMessage.request)] dPort.receive (p_skip.skipMessage.request) {
            		skipCount := skipCount - 1;
            		log("***f_gen_receive: Message skipped (intentionally) when checking for " & p_tpId & " at interface " & vc_interfaceName & " ****");
            		repeat;
            	}
            	[skipCount > 0 and ischosen(p_skip.skipMessage.response)] dPort.receive (p_skip.skipMessage.response) {
            		skipCount := skipCount - 1;
            		log("***f_gen_receive: Message skipped (intentionally) when checking for " & p_tpId & " at interface " & vc_interfaceName & " ****");
            		repeat;
            	}
	            [] tc_wait.timeout { //TODO use oracle
	                setverdict(fail, "***f_gen_receive: Timer tc_wait expired when waiting for incoming message in " & p_tpId & " at interface " & vc_interfaceName & " ****"); 
	            [] tc_wait.timeout {
	            	f_setConformanceVerdict(inconc, "***f_gen_receive: Timer tc_wait expired when waiting for incoming message in " & p_tpId & " at interface " & vc_interfaceName & " ****");
	            }
            }
            
@@ -119,7 +123,6 @@ module AtsImsIot_Behavior {
			in template SipMessageList p_list,
			in verdicttype p_verdict,
			in charstring p_tpId,
			in charstring p_log,
			in boolean p_forwardMtc
		) runs on ImsInterfaceMonitor {
			var integer v_size := sizeof(valueof((p_list))); 
@@ -128,11 +131,11 @@ module AtsImsIot_Behavior {
			for (var integer i := 0; i < v_size; i := i + 1) {
				if (ischosen(p_list[i].request)) {
					p_default[v_idx] := activate(
						a_receive_sipRequest(p_list[i].request,p_verdict, p_tpId, p_log, p_forwardMtc)
						a_receive_sipRequest(p_list[i].request,p_verdict, p_tpId, p_forwardMtc)
					);
				} else {
					p_default[v_idx] := activate(
						a_receive_sipResponse(p_list[i].response,p_verdict, p_tpId, p_log, p_forwardMtc)
						a_receive_sipResponse(p_list[i].response,p_verdict, p_tpId, p_forwardMtc)
					);
				}
				v_idx := v_idx + 1;
@@ -162,13 +165,11 @@ module AtsImsIot_Behavior {
			in template Request p_message,
			in verdicttype p_verdict,
			in charstring p_tpId,
			in charstring p_log, // TODO ???
			in boolean p_forwardMtc
		) runs on ImsInterfaceMonitor {
			var Request v_message;
			[] dPort.receive(p_message) -> value v_message {
				//TODO use oracle
				setverdict(p_verdict, self, "***a_receive_sipRequest: Received expected SIP request complying to " & p_tpId & " on interface " & vc_interfaceName & " ***");
				f_setConformanceVerdict(p_verdict, "***a_receive_sipRequest: Received expected SIP request complying to " & p_tpId & " on interface " & vc_interfaceName & " ***");
				if(p_forwardMtc) {
					var SipMessage v_msg;
					v_msg.request := v_message;
@@ -189,13 +190,11 @@ module AtsImsIot_Behavior {
    		in template Response p_message,
    		in verdicttype p_verdict,
    		in charstring p_tpId,
    		in charstring p_log,
    		in boolean p_forwardMtc
		) runs on ImsInterfaceMonitor {
			var Response v_message;
			[] dPort.receive(p_message) -> value v_message {
				//TODO use oracle
				setverdict(p_verdict, self, "***a_receive_sipResponse: Received expected SIP response complying to " & p_tpId & " on interface " & vc_interfaceName & " ***");
				f_setConformanceVerdict(p_verdict, "***a_receive_sipResponse: Received expected SIP request complying to " & p_tpId & " on interface " & vc_interfaceName & " ***");
				if(p_forwardMtc) {
					var SipMessage v_msg;
					v_msg.response := v_message;
@@ -224,9 +223,8 @@ group checksTC_IMS_MESS_0001{
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_4002_01(?))},//? CallId can be checked
                {mw_SipRequest(mw_MESSAGE_Request_Base(?))},
                {0, omit},
                "TP_IMS_4002_01_gm",
                "MESSAGE request",
                0,
                false
            )
           );
@@ -240,9 +238,8 @@ group checksTC_IMS_MESS_0001{
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_4002_01(?))},//? CallId can be checked
                {mw_SipRequest(mw_MESSAGE_Request_Base(?))},
                {0, omit},
                "TP_IMS_4002_01_mw",
                "MESSAGE request",
                0,
                false
            )
           );
@@ -263,9 +260,8 @@ group checksTC_IMS_REG_0001 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5011_01_gm)},
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {0, omit},
                "TP_IMS_5011_01",
                "REGISTER request",
                0,
                false
            )
           );
@@ -285,9 +281,8 @@ group checksTC_IMS_REG_0001 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5011_01_mw(v_EUT_A_Addr))},
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {0, omit},
                "TP_IMS_5011_01",
                "REGISTER request",
                0,
                true
            )
           );
@@ -309,9 +304,8 @@ group checksTC_IMS_REG_0001 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5011_02_mw(v_EUT_A_Addr))},
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {0, omit},
                "TP_IMS_5011_02",
                "REGISTER request",
                0,
                true
            )
           );
@@ -334,9 +328,8 @@ group checksTC_IMS_REG_0001 {
            f_imsIot_receive(
                {mw_SipResponse(mdw_TP_IMS_5092_01_mw(v_eutBUri))},
                {mw_SipResponse (mw_200OK_Base)},
                {0, omit},
                "TP_IMS_5092_01",
                "200OK",
                0,
                true
            )
           );
@@ -359,9 +352,8 @@ group checksTC_IMS_REG_0001 {
            f_imsIot_receive(
                {mw_SipResponse(mdw_TP_IMS_5089_01_mw)},
                {mw_SipResponse (mw_401Unauthorized_Base)},
                {0, omit},
                "TP_IMS_5089_01",
                "401 Unauthorized",
                0,
                true
            )
           );
@@ -390,9 +382,8 @@ group checksTC_IMS_REG_0001 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5044_01_mw(v_eutAUri, v_eutBUri, v_EUTB_PublicId))},
                {mw_SipRequest(mw_SUBSCRIBE_Request_Base)},
                {0, omit},
                "TP_IMS_5044_01",
                "SUBSCRIBE request",
                0,
                true
            )
           );
@@ -423,9 +414,8 @@ group checksTC_IMS_REG_0001 {
            f_imsIot_receive(
                {mw_SipResponse(mw_200OK_Base), mw_SipResponse(mw_202Accepted_Base)},
                {},
                {0, omit},
                "TP_IMS_5096_01",
                "200 OK or 202 Accepted",
                0,
                true
            )
           );
@@ -460,9 +450,8 @@ group checksTC_IMS_REG_0002{
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5203_01",
                "REGISTER request",
                0,
                false
            )
           );
@@ -485,9 +474,8 @@ group checksTC_IMS_REG_0002{
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5203_01 first register",
                "REGISTER request",
                0,
                true
            )
           );
@@ -500,9 +488,8 @@ group checksTC_IMS_REG_0002{
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5203_01 second register",
                "REGISTER request",
                0,
                true
            )
           );
@@ -529,9 +516,8 @@ group checksTC_IMS_REG_0002H{
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5203_01",
                "REGISTER request",
                0,
                false
            )
           );
@@ -554,9 +540,8 @@ group checksTC_IMS_REG_0002H{
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5203_01 first register",
                "REGISTER request",
                0,
                true
            )
           );
@@ -569,9 +554,8 @@ group checksTC_IMS_REG_0002H{
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5203_01 second register",
                "REGISTER request",
                0,
                true
            )
           );
@@ -607,9 +591,8 @@ group checksTC_IMS_REG_0003{
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5129_01",
                "REGISTER request",
                0,
                false
            )
           );
@@ -628,9 +611,8 @@ group checksTC_IMS_REG_0003{
            f_imsIot_receive(
                {mw_SipResponse(mw_403Forbidden_Base)},
                {},
                {1, mw_SipResponse(mw_403Forbidden_Base)}, // TODO check that
                "TP_IMS_5129_01",
                "403 Forbidden",
                1,
                true
            )
           );
@@ -656,9 +638,8 @@ group checksTC_IMS_REG_0003H{
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5411_01",
                "REGISTER request",
                0,
                false
            )
           );
@@ -677,9 +658,8 @@ group checksTC_IMS_REG_0003H{
            f_imsIot_receive(
                {mw_SipResponse(mw_403Forbidden_Base)},
                {},
                {1, mw_SipResponse(mw_403Forbidden_Base)},
                "TP_IMS_5411_01",
                "403 Forbidden",
                1,
                true
            )
           );
@@ -705,9 +685,8 @@ group checksTC_IMS_REG_0004 {
    			f_imsIot_receive(
    				{mw_SipRequest(mdw_TP_IMS_5088_01_gm)},
        			{mw_SipRequest(mw_REGISTER_Request_Base)},
        			{0, omit},
        			"TP_IMS_5088_01_gm",
        			"REGISTER request",
        			0,
        			false
        		)
        	);
@@ -728,9 +707,8 @@ group checksTC_IMS_REG_0004 {
    			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)},
    						{0, omit},
    						"TP_IMS_5088_01_mw",
    						"NOTIFY response",
    						0,
    						false
    			)
        	);
@@ -753,9 +731,8 @@ group checksTC_IMS_REG_0004 {
    			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(?))},
    				{0, omit},
    				"TP_IMS_5093_01_mw",
    				"NOTIFY request",
    				0,
    				false
    			)
    		);
@@ -776,9 +753,8 @@ group checksTC_IMS_REG_0004 {
    			f_imsIot_receive(
    				{mw_SipRequest(mdw_TP_IMS_5093_01_IMS_mw(?, mw_SIP_URI(v_hostname)))}, // TODO getHostname(PCSCF) how to hande the callid?
    				{mw_SipRequest(mw_MESSAGE_Request_Base(?))},
    				{0, omit},
    				"TP_IMS_5093_01_mw",
    				"NOTIFY request",
    				0,
    				false
    			)
    		);
@@ -802,9 +778,8 @@ group checksTC_IMS_REG_0004 {
				f_imsIot_receive(
					{mw_SipRequest(mdw_TP_IMS_5094_01_UE(?, mw_SIP_URI(v_hostname)))}, // TODO getHostname(PCSCF) how to hande the callid?
					{mw_SipRequest(mw_MESSAGE_Request_Base(?))},
					{0, omit},
					"TP_IMS_5094_01_mw",
					"NOTIFY request",
					0,
					false
				)
			);
@@ -825,9 +800,8 @@ group checksTC_IMS_REG_0004 {
				f_imsIot_receive(
					{mw_SipRequest(mdw_TP_IMS_5094_01_IMS_mw(?, mw_SIP_URI(v_hostname)))}, // TODO getHostname(PCSCF) how to hande the callid?
					{mw_SipRequest(mw_MESSAGE_Request_Base(?))},
					{0, omit},
					"TP_IMS_5094_01_mw",
					"NOTIFY request",
					0,
					false
				)
			);
@@ -849,9 +823,8 @@ group checksTC_IMS_REG_0007 {
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5034_01",
                "REGISTER request",
                0,
                false
            )
           );
@@ -872,9 +845,8 @@ group checksTC_IMS_REG_0007 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5134_01_mw(v_IBPC))},
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {0, omit},
                "TP_IMS_5134_01",
                "first REGISTER request",
                0,
                false
            )
           );
@@ -884,9 +856,8 @@ group checksTC_IMS_REG_0007 {
			f_imsIot_receive(
							{mw_SipRequest(mdw_TP_IMS_5134_01_mw(v_IBPC))},
							{mw_SipRequest(mw_REGISTER_Request_Base)},
							{1, mw_SipResponse(mw_Response_Base(c_statusLine401, ?, ?))}, // (ignore 401 Unauthorized)
							"TP_IMS_5134_01",
							"first REGISTER request",
							1, // (ignore 401 Unauthorized)
							true
			)
    		);
@@ -909,9 +880,8 @@ group checksTC_IMS_REG_0007 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5405_01_mw)},
                {mw_SipRequest(mw_SUBSCRIBE_Request_Base)},
                {1, mw_SipResponse(mw_Response_Base(c_statusLine200, ?, ?))}, // ignore 200 Ok 
                "TP_IMS_5405_01",
                "SUBSCRIBE request",
                1, // ignore 200 Ok 
                true
            )
           );
@@ -935,9 +905,8 @@ group checksTC_IMS_CALL_0001F {
            f_imsIot_receive(
                {mw_SipRequest(mw_INVITE_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5097_01",
                "INVITE request",
                0,
                false
            )
           );
@@ -967,9 +936,8 @@ group checksTC_IMS_CALL_0001F {
        f_imsIot_receive(
            {mw_SipRequest(mdw_TP_IMS_5097_01_mw(v_scscfEutAUrl))},
            {},
            {0, omit},
            "TP_IMS_5097_01",
            "INVITE request",
            0,
            true
        )
       );
@@ -998,9 +966,8 @@ group checksTC_IMS_CALL_0001F {
            f_imsIot_receive(
                {mw_SipRequest(mw_ACK_Request_Base(?))},
                {},
                {0, omit},
                "TP_IMS_5107_02",
                "ACK request",
                0,
                false
            )
           );
@@ -1026,9 +993,8 @@ group checksTC_IMS_CALL_0001F {
        f_imsIot_receive(
            {mw_SipRequest(mw_ACK_Request_Base(?))},
            {},
            {0, omit},
            "TP_IMS_5107_02",
            "ACK request",
            0,
            true
        )
       );
@@ -1060,9 +1026,8 @@ group checksTC_IMS_CALL_0001F {
            f_imsIot_receive(
                {mw_SipRequest(mw_BYE_Request_Base(?))},
                {},
                {0, omit},
                "TP_IMS_5107_01",
                "BYE request",
                0,
                true
            )
           );
@@ -1095,9 +1060,8 @@ group checksTC_IMS_CALL_0001F {
        f_imsIot_receive(
            {mw_SipRequest(mw_BYE_Request_Base(?))},
            {},
            {0, omit},
            "TP_IMS_5107_01",
            "BYE request",
            0,
            true
        )
       );
@@ -1131,9 +1095,8 @@ group checksTC_IMS_SS_0001 {
            f_imsIot_receive(
                {mw_SipRequest(mw_INVITE_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5310_01",
                "INVITE request",
                0,
                false
            )
           );
@@ -1151,9 +1114,8 @@ group checksTC_IMS_SS_0001 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5310_01_mw)},
                {mw_SipRequest(mw_INVITE_Request_Base)},
                {1, mw_SipRequest(mw_INVITE_Request_Base)}, // TODO skip 1 INVITE on MW 
                "TP_IMS_5310_01",
                "INVITE request",
                 1, // TODO skip 1 INVITE on MW 
                false
            )
           );
@@ -1170,9 +1132,8 @@ group checksTC_IMS_SS_0001 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5310_01_isc)},
                {},
                {0, omit},
                "TP_IMS_5310_01",
                "INVITE request",
                0,
                false
            )
           );
@@ -1190,9 +1151,8 @@ group checksTC_IMS_SS_0001 {
            f_imsIot_receive(
                {mw_SipResponse(mdw_TP_IMS_5312_01_mw)},
                {},
                {1, mw_SipResponse(mw_Response_Base(c_statusLine200, ?, ?))}, // skip 1 200 OK
                "mdw_TP_IMS_5312_01",
                "200OK",
                1, // skip 1 200 OK
                false
            )
           );
@@ -1209,20 +1169,13 @@ group checksTC_IMS_SS_0001 {
            f_imsIot_receive(
                {mw_SipResponse(mdw_TP_IMS_5312_01_isc)},
                {},
                {0, omit},
                "TP_IMS_5312_01",
                "200OK",
                0,
                false
            )
           );
           p_monitorCompRef.done;
	    }






} // group


@@ -1239,9 +1192,8 @@ group checksTC_IMS_SS_0007 {
            f_imsIot_receive(
                {mw_SipRequest(mw_INVITE_Request_Base)},
                {},
                {0, omit},
                "TP_IMS_5046_01",
                "INVITE request",
                0,
                false
            )
           );
@@ -1269,9 +1221,8 @@ group checksTC_IMS_SS_0007 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5046_01_mw(v_pcscfEutAUrl))},
                {},
                {0, omit},
                "TP_IMS_5046_01",
                "INVITE request",
                0,
                true
            )
           );
@@ -1302,9 +1253,8 @@ group checksTC_IMS_SS_0007 {
            f_imsIot_receive(
                {mw_SipResponse(mw_200OK_Base)},
                {},
                {0, omit}, // TODO skip parameter
                "TP_IMS_5110_01",
                "200 OK",
                0, // TODO skip parameter
                false
            )
           );
@@ -1321,9 +1271,8 @@ group checksTC_IMS_SS_0007 {
            f_imsIot_receive(
                {mw_SipResponse(mw_200OK_Base)},
                {},
                {0, omit},// TODO skip parameter
                "TP_IMS_5110_01",
                "200 OK",
                0, // TODO skip parameter
                false
            )
           );
@@ -1342,9 +1291,8 @@ group checksTC_IMS_SS_0007 {
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5097_09_isc(v_EutB_ASUrl))},
                {},
                {0, omit},
                "TP_IMS_5097_09",
                "INVITE request",
                0,
                true
            )
           );
+45 −0
Original line number Diff line number Diff line
@@ -224,6 +224,51 @@ module AtsImsIot_TestConfiguration {
    		)));
    		p_Mw.done;
    	}
    	
    	function f_cf_int_call(
    		inout ImsInterfaceMonitor p_GmA, 
    		inout ImsInterfaceMonitor p_Mw,
    		inout template ImsInterfaceMonitor p_GmB,
    		in boolean p_useGmB 
    	) runs on ImsTestCoordinator {
    		p_GmA := f_cf_create_monitor(c_gm_A);
    		p_Mw := f_cf_create_monitor(c_mw);
    		if(p_useGmB) {
    			p_GmB := f_cf_create_monitor(c_gm_B);
    			f_cf_monitor_up(p_GmB);
    		}
    		
    		f_cf_monitor_up(p_GmA);
    		f_cf_monitor_up(p_Mw);
    		
    		
    		// TODO UE IP address and port is missing
    		p_GmA.start(f_cf_setFilter(
    			valueof (m_SetFilterReq(
    				e_sip,
    				{f_getInterfaceInfo("Gm", PX_PRODUCTS[PX_EUT_A])}
    			)
    		)));
    		p_GmA.done;
    		
    		p_Mw.start(f_cf_setFilter(
    			valueof(m_SetFilterReq(
    				e_sip, 
    				f_getInterfaceInfoList("Mw", PX_EUT_A, PX_EUT_B)
    			)
    		)));
    		p_Mw.done;
    		
    		if(p_useGmB) {
        		p_GmB.start(f_cf_setFilter(
        			valueof (m_SetFilterReq(
        				e_sip, 
        				{f_getInterfaceInfo("Gm", PX_PRODUCTS[PX_EUT_B])}
        			)
        		)));
        		p_GmB.done;
    		}
    	}
	}
	
	function f_getInterfaceInfoList(
+6 −1
Original line number Diff line number Diff line
@@ -23,6 +23,11 @@ module AtsImsIot_TypesAndValues {
		* @desc SIP Message List Type
		*/
		type record of SipMessage SipMessageList;
		
		type record SkipType {
			integer skipCount,
			SipMessage skipMessage
		} 
	}
	
}//end module