Commit 2d5ada8a authored by garciay's avatar garciay
Browse files

STF467 corrections:

- Add support of emergency registration
- Add send of 487 to complete CANCEL process
- Fixed big in f_TC_IMST2_MW_GEN_11_IMS
parent 2b6014fa
Loading
Loading
Loading
Loading
+36 −6
Original line number Diff line number Diff line
@@ -966,6 +966,7 @@ module AtsIms_Gm_TCFunctions {
			runs on ImsComponent {

				var template REGISTER_Request v_register;
                var Via 		v_via       	:= c_empty_Via;
                
				v_register :=
					valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId,
@@ -987,6 +988,7 @@ module AtsIms_Gm_TCFunctions {
				// TESTBODY
				// Awaiting INVITE
				f_awaitingINVITE(mw_INVITE_Request_Base);
				v_via := vc_via;
				f_sendResponse(m_Response_18XonINVITE_UE(c_statusLine180,
														 vc_callId, vc_cSeq,
														 vc_caller_From,
@@ -1000,6 +1002,13 @@ module AtsIms_Gm_TCFunctions {
				// done
				f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
				f_send200OK();
				
				vc_cSeq.method    := "INVITE";
				f_sendResponse(m_Response_4XXonINVITE_UE(c_statusLine487, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, v_via, omit));
//				//	await ACK
				f_awaitingACK(mw_ACK_Request_Base(vc_callId));
				
				
				// POSTAMBLE
				// send REGISTER, await 401, send REGISTER, await 200 OK
				f_RemoveRegistration(vc_cSeq);
@@ -1083,6 +1092,7 @@ module AtsIms_Gm_TCFunctions {
			runs on ImsComponent {

				var template REGISTER_Request v_register;
                var Via 		v_via       	:= c_empty_Via;

				v_register :=
					valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId,
@@ -1108,7 +1118,7 @@ module AtsIms_Gm_TCFunctions {
				//send response - 180 with PPreferred header
				f_sendResponse(m_Response_18XonINVITE_pPreferred_UE(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, 
										 m_PPreferredID(m_AddrUnion_DisplayAndSipUrl(PX_IMS_SUT_UE2_DISPLAY/*vc_userprofile.publUsername*/, m_SipUrl_currDomain(vc_userprofile)))));			
				
				v_via := vc_via;
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
                // point
                // test
@@ -1116,6 +1126,12 @@ module AtsIms_Gm_TCFunctions {
                // done
                f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
                f_send200OK();
                
				vc_cSeq.method    := "INVITE";
				f_sendResponse(m_Response_4XXonINVITE_UE(c_statusLine487, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, v_via, omit));
//				//	await ACK
				f_awaitingACK(mw_ACK_Request_Base(vc_callId));                
                
                // POSTAMBLE
                // send REGISTER, await 401, send REGISTER, await 200 OK
                f_RemoveRegistration(vc_cSeq);
@@ -1792,6 +1808,7 @@ module AtsIms_Gm_TCFunctions {
			runs on ImsComponent {

				var template REGISTER_Request v_register;
                var Via 		v_via       	:= c_empty_Via;
                
				v_register :=
					valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId,
@@ -1813,6 +1830,7 @@ module AtsIms_Gm_TCFunctions {
				// TESTBODY
				// Awaiting INVITE
				f_awaitingINVITE(mw_INVITE_Request_Base);
				v_via := vc_via;
				// Check of SessionExpires presence
				if (not (ispresent(vc_request.msgHeader.sessionExpires))) {
					setverdict(fail,"no session-expires header in INVITE request!");
@@ -1825,6 +1843,12 @@ module AtsIms_Gm_TCFunctions {
				// done
                f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
                f_send200OK();
                
				vc_cSeq.method    := "INVITE";
				f_sendResponse(m_Response_4XXonINVITE_UE(c_statusLine487, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, v_via, omit));
//				//	await ACK
				f_awaitingACK(mw_ACK_Request_Base(vc_callId));                
                
                // POSTAMBLE
                // send REGISTER, await 401, send REGISTER, await 200 OK
				f_RemoveRegistration(vc_cSeq);
@@ -6858,6 +6882,7 @@ module AtsIms_Gm_TCFunctions {
			runs on ImsComponent {

				var template REGISTER_Request v_register;
                var Via 		v_via       	:= c_empty_Via;
                
				v_register :=
					valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId,
@@ -6879,7 +6904,7 @@ module AtsIms_Gm_TCFunctions {
				// TESTBODY
				// Awaiting INVITE
				f_awaitingINVITE(mw_INVITE_Request_Base);

				v_via := vc_via;
				vc_sdp_local :=
					valueof(m_SDP_unacceptable(valueof(m_media_dynPT
													   ("0", "PCMU/8000")),
@@ -6906,6 +6931,11 @@ module AtsIms_Gm_TCFunctions {
				f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
				f_send200OK();

				vc_cSeq.method    := "INVITE";
				f_sendResponse(m_Response_4XXonINVITE_UE(c_statusLine487, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, v_via, omit));
//				//	await ACK
				f_awaitingACK(mw_ACK_Request_Base(vc_callId));
								
				// send REGISTER, await 401, send REGISTER, await 200 OK
				f_RemoveRegistration(vc_cSeq);

+2 −0
Original line number Diff line number Diff line
@@ -2883,6 +2883,8 @@ group TargetRefreshRequest {
        // postamble terminate call
        f_awaitingBYE(mw_BYE_Request_Base(vc_callId));

        f_setHeadersForwardRequestFromAS(vc_cSeq, PX_IMSR10_PROXY_MODE_FOR_AS);
        f_SendBYE(m_BYE_Request_AS( vc_requestUri2, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_route, vc_recordRoute));
        f_setHeadersForwardRequestFromAS(vc_cSeq, PX_IMSR10_PROXY_MODE_FOR_AS);
        f_SendBYE(m_BYE_Request_IMS( vc_requestUri2, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_route, vc_recordRoute));

+90 −12
Original line number Diff line number Diff line
@@ -81,6 +81,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_02(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
  			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -93,7 +95,11 @@ module AtsIms_Mw_M3_Testcases
			f_serverSync2Clients({c_prDone, c_tbDone});

			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);

            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_02
		
		/*
@@ -103,6 +109,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_03(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
  			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -116,7 +124,11 @@ module AtsIms_Mw_M3_Testcases
			f_serverSync2Clients({c_prDone, c_tbDone});

			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);

            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_03
		
		/*
@@ -126,6 +138,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_04(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -138,7 +152,11 @@ module AtsIms_Mw_M3_Testcases
			f_serverSync2Clients({c_prDone, c_tbDone});

			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);

            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_04
		
		/*
@@ -148,6 +166,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_05(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
  			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -160,7 +180,11 @@ module AtsIms_Mw_M3_Testcases
			f_serverSync2Clients({c_prDone, c_tbDone});

			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);

            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_05
		
		/*
@@ -170,6 +194,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_06(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -182,7 +208,11 @@ module AtsIms_Mw_M3_Testcases
			f_serverSync2Clients({c_prDone, c_tbDone});

			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);

            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_06
		
		/*
@@ -192,6 +222,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_07(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -204,7 +236,11 @@ module AtsIms_Mw_M3_Testcases
			f_serverSync2Clients({c_prDone, c_tbDone});

			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);

            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_07
		
		/*
@@ -214,6 +250,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_08(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
   			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -226,7 +264,11 @@ module AtsIms_Mw_M3_Testcases
			f_serverSync2Clients({c_prDone, c_tbDone});

			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);

            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_08
		
		/*
@@ -236,6 +278,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_09(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
   			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -247,6 +291,11 @@ module AtsIms_Mw_M3_Testcases
			// synchronize both PTCs on 2 sychronization points
			f_serverSync2Clients({c_prDone, c_tbDone});
			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);
            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_09
		
		/*
@@ -256,6 +305,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_10(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -267,6 +318,11 @@ module AtsIms_Mw_M3_Testcases
			// synchronize both PTCs on 2 sychronization points
			f_serverSync2Clients({c_prDone, c_tbDone});
			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);
            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_10
		
		/*
@@ -276,6 +332,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_11(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -287,6 +345,11 @@ module AtsIms_Mw_M3_Testcases
			// synchronize both PTCs on 2 sychronization points
			f_serverSync2Clients({c_prDone, c_tbDone});
			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);
            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_11
		
		/*
@@ -296,6 +359,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_12(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mw;
			f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw);
@@ -306,6 +371,11 @@ module AtsIms_Mw_M3_Testcases
			// synchronize both PTCs on 2 sychronization points
			f_serverSync2Clients({c_prDone, c_tbDone});
			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);
            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_12
		
		/*
@@ -315,6 +385,8 @@ module AtsIms_Mw_M3_Testcases
		testcase TC_IMST2_MW_REG_14(inout CSeq p_cSeq_s) 
		runs on ServerSyncComp
		system TestAdapter {
            if (PC_PCSCF_registration_with_security_association)
            {
			//Variables
			var ImsComponent v_imsComponent_ue1, v_imsComponent_mwi, v_imsComponent_mws;
			f_cf_1Mwi1Mws1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mwi, v_imsComponent_mws);
@@ -326,6 +398,11 @@ module AtsIms_Mw_M3_Testcases
			// synchronize PTCs on 2 sychronization points
			f_serverSync3Clients({c_prDone, c_tbDone});
			f_cf_1Mwi1Mws1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mwi, v_imsComponent_mws);
            }
            else			
            {
                log("The IUT/P-CSCF is NOT configured for security association within registration. Set PICS item PC_PCSCF_registration_with_security_association to TRUE before running this test!");
            }
		} // end TC_IMST2_MW_REG_14
		
	} // end group Registration
@@ -602,6 +679,7 @@ module AtsIms_Mw_M3_Testcases

			//Start
			f_IncCSeq(p_cSeq_s); v_imsComponent_mw.start(f_TC_IMST2_MW_EME_11_IMS(p_cSeq_s));
			f_serverSync1Client({c_prDone, c_tbDone});

			f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw);
		} // end TC_IMST2_MW_EME_11
+127 −35

File changed.

Preview size limit exceeded, changes collapsed.

+17 −17
Original line number Diff line number Diff line
@@ -15,32 +15,32 @@ modulepar {
    /** @desc	boolean PICS ref: A-3/5
                True, if SUT/P-CSCF requires registration with security association set-up
    */
    boolean PC_PCSCF_registration_with_security_association;
    boolean PC_PCSCF_registration_with_security_association := false;
    
	/** @desc	boolean PICS ref: A-3/12-1-1
				True, if SUT/P-CSCF requires application of periodic session refreshment on receipt of UE-originated INVITE requests
	*/
	boolean PC_PCSCF_periodic_refreshment_originating;
	boolean PC_PCSCF_periodic_refreshment_originating := true;

	/** @desc	boolean PICS ref: A-3/12-2-1
				True, if SUT/P-CSCF requires application of periodic session refreshment on receipt of UE-terminated INVITE requests
	*/
	boolean PC_PCSCF_periodic_refreshment_terminating;
	boolean PC_PCSCF_periodic_refreshment_terminating := true;

	/** @desc	boolean PICS ref: A-3/18-1-1
				True, if SUT/P-CSCF requires rejection of requests including encrypted SDP offers
	*/
	boolean PC_PCSCF_reject_encrypted_SDP_offer_in_request;
	boolean PC_PCSCF_reject_encrypted_SDP_offer_in_request := true;

	/** @desc	boolean PICS ref: A-3/18-3-1
				True, if SUT/P-CSCF requires session termination on receipt of encrypted SDP offers in 200OK responses
	*/
	boolean PC_PCSCF_session_termination_on_encrypted_SDP_offer_in_200OK_response;
	boolean PC_PCSCF_session_termination_on_encrypted_SDP_offer_in_200OK_response := true;

	/** @desc	boolean PICS ref: A-8/11-1
				True, if SUT/IBCF requires application of periodic session refreshment on receipt of INVITE requests when acting as entry point
	*/
	boolean PC_IBCF_periodic_refreshment_entry_point;
	boolean PC_IBCF_periodic_refreshment_entry_point := true;
	
	/* ****************************************************************************************************
		PICS used for branching within test cases
@@ -51,77 +51,77 @@ modulepar {
				True, if SUT/P-CSCF rejects the request with a 400 response
				False, if SUT/P-CSCF replaces the Route headers with stored values
	*/
	boolean PC_PCSCF_handle_initial_request_with_mismatching_Route_header;
	boolean PC_PCSCF_handle_initial_request_with_mismatching_Route_header := true;

	/** @desc	boolean PICS ref: A-3/10-3-1
				Handling of target refresh requests in case of failure of the verification of the URIs in the Route headers
				True, if SUT/P-CSCF rejects the request with a 400 response
				False, if SUT/P-CSCF replaces the Route headers with stored values
	*/
	boolean PC_PCSCF_handle_target_refresh_request_with_mismatching_Route_header;
	boolean PC_PCSCF_handle_target_refresh_request_with_mismatching_Route_header := true;

	/** @desc	boolean PICS ref: A-3/10-5-1
				Handling of standalone requests in case of failure of the verification of the URIs in the Route headers
				True, if SUT/P-CSCF rejects the request with a 400 response
				False, if SUT/P-CSCF replaces the Route headers with stored values
	*/
	boolean PC_PCSCF_handle_standalone_request_with_mismatching_Route_header;
	boolean PC_PCSCF_handle_standalone_request_with_mismatching_Route_header := true;

	/** @desc	boolean PICS ref: A-3/10-7-1
				Handling of subsequent (other than target refresh) requests in case of failure of the verification of the URIs in the Route headers
				True, if SUT/P-CSCF rejects the request with a 400 response
				False, if SUT/P-CSCF replaces the Route headers with stored values
	*/
	boolean PC_PCSCF_handle_subsequent_request_with_mismatching_Route_header;
	boolean PC_PCSCF_handle_subsequent_request_with_mismatching_Route_header := true;

	/** @desc	boolean PICS ref: A-3/11-2-1
				Handling of 1xx and 2xx responses to initial requests in case of failure of the verification of the Via headers
				True, if SUT/P-CSCF discards the response
				False, if SUT/P-CSCF replaces the Via headers with stored values
	*/
	boolean PC_PCSCF_handle_1xx_2xx_response_to_initial_request_with_mismatching_Via_header;
	boolean PC_PCSCF_handle_1xx_2xx_response_to_initial_request_with_mismatching_Via_header := true;

	/** @desc	boolean PICS ref: A-3/11-2-2
				Handling of 1xx and 2xx responses to initial requests in case of failure of the verification of the Route headers
				True, if SUT/P-CSCF discards the response
				False, if SUT/P-CSCF replaces the Via headers with stored values
	*/
	boolean PC_PCSCF_handle_1xx_2xx_response_to_initial_request_with_mismatching_Route_header;
	boolean PC_PCSCF_handle_1xx_2xx_response_to_initial_request_with_mismatching_Route_header := true;

	/** @desc	boolean PICS ref: A-3/11-3-1
				Handling of responses (other than 1xx and 2xx) to initial requests in case of failure of the verification of the Via headers
				True, if SUT/P-CSCF discards the response
				False, if SUT/P-CSCF replaces the Via headers with stored values
	*/
	boolean PC_PCSCF_handle_other_response_to_initial_request_with_mismatching_Via_header;
	boolean PC_PCSCF_handle_other_response_to_initial_request_with_mismatching_Via_header := true;

	/** @desc	boolean PICS ref: A-3/11-5-1
				Handling of 1xx and 2xx responses to target refresh requests in case of failure of the verification of the Via headers
				True, if SUT/P-CSCF discards the response
				False, if SUT/P-CSCF replaces the Via headers with stored values
	*/
	boolean PC_PCSCF_handle_1xx_2xx_response_to_target_refresh_request_with_mismatching_Via_header;
	boolean PC_PCSCF_handle_1xx_2xx_response_to_target_refresh_request_with_mismatching_Via_header := true;

	/** @desc	boolean PICS ref: A-3/11-6-1
				Handling of responses (other than 1xx and 2xx) to target refresh requests in case of failure of the verification of the Via headers
				True, if SUT/P-CSCF discards the response
				False, if SUT/P-CSCF replaces the Via headers with stored values
	*/
	boolean PC_PCSCF_handle_other_response_to_target_refresh_request_with_mismatching_Via_header;
	boolean PC_PCSCF_handle_other_response_to_target_refresh_request_with_mismatching_Via_header := true;

	/** @desc	boolean PICS ref: A-3/11-8-1
				Handling of all responses to requests for standalone transactions or unknown methods in case of failure of the verification of the Via headers
				True, if SUT/P-CSCF discards the response
				False, if SUT/P-CSCF replaces the Via headers with stored values
	*/
	boolean PC_PCSCF_handle_any_response_to_standalone_request_with_mismatching_Via_header;
	boolean PC_PCSCF_handle_any_response_to_standalone_request_with_mismatching_Via_header := true;

	/** @desc	boolean PICS ref: A-3/11-10-1
				Handling of all responses to subsequent requests in case of failure of the verification of the Via headers
				True, if SUT/P-CSCF discards the response
				False, if SUT/P-CSCF replaces the Via headers with stored values
	*/
	boolean PC_PCSCF_handle_any_response_to_subsequent_request_with_mismatching_Via_header;
	boolean PC_PCSCF_handle_any_response_to_subsequent_request_with_mismatching_Via_header := true;
	
}
} // end module AtsIms_PICS