Commit 2083cc9e authored by rennoch's avatar rennoch
Browse files

cfu04+05

parent 445432de
Loading
Loading
Loading
Loading
+176 −0
Original line number Diff line number Diff line
@@ -6873,6 +6873,182 @@ module AtsNIT_SipSip_SS_TCFunctions {
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	} // end function f_AtsNIT_TC_SS___XXSSCFU03UE3

	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSSCFU04
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFU04UE1(in CSeq p_cSeq_s) runs on ImsComponent {
		f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable

		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

		// Testbody
		
		// prepare and send INVITE UE2@SUT
		LibIms_Steps.f_setHeadersINVITE(
			vc_cSeq, 
			c_userProfile_UE2atSUThome
		);
		
		f_SendINVITE(m_INVITE_Request_UE(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_from, 
			vc_to, 
			vc_via, 
			vc_contact, 
			omit, 
			vc_route, 
			omit, 
			m_MBody_SDP(vc_sdp_local)
		));
		
		// await 180 response without 
		// 100rel in require header field
		f_awaitingResponse(mw_Response_Require_ifpresent(
			c_statusLine180,
			vc_callId, 
			vc_cSeq,
			mw_Require_not_100rel
		));

		f_awaitingResponse(mw_Response_PAsserted_Privacy_History(c_statusLine181,vc_callId, vc_cSeq, omit, mw_Privacy_id, omit));
				
		// await 200 OK response
		f_awaitingOkResponse(vc_cSeq);
		
		// send ACK
		f_SendACK(m_ACK_Request_Base(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_from, 
			vc_to, 
			vc_via
		));
				
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		//await BYE and send 200OK
		f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
		
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	} // end function f_AtsNIT_TC_SS___XXSSCFU04UE1
	
	
	
	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFU04
	* @param	p_CSeq_s Transaction Id
	*/

	// UE2 does not take part in the test	

	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFU04
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFU04UE3(in CSeq p_cSeq_s) runs on ImsComponent {
		
		f_AtsNIT_TC_SS___XXSSCFU03UE3(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSSCFU04UE3


	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSSCFU05
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFU05UE1(in CSeq p_cSeq_s) runs on ImsComponent {
		f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable

		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

		// Testbody
		
		// prepare and send INVITE UE2@SUT
		LibIms_Steps.f_setHeadersINVITE(
			vc_cSeq, 
			c_userProfile_UE2atSUThome
		);
		
		f_SendINVITE(m_INVITE_Request_UE(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_from, 
			vc_to, 
			vc_via, 
			vc_contact, 
			omit, 
			vc_route, 
			omit, 
			m_MBody_SDP(vc_sdp_local)
		));
		
		// await 180 response without 
		// 100rel in require header field
		f_awaitingResponse(mw_Response_Require_ifpresent(
			c_statusLine180,
			vc_callId, 
			vc_cSeq,
			mw_Require_not_100rel
		));

		//TODO: verify that cause is associated to user B
		f_awaitingResponse(mw_Response_PAsserted_Privacy_History(c_statusLine181,vc_callId, vc_cSeq, mw_PAssertedID(mw_PAssertedIDValue(mw_SipUrl_Number(PX_IMS_SUT_UE2_PUBLIC_USER))), *, 
			mw_HistoryInfo(
				{mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,{m_Cause("302")}),{1},omit), // Note: cause is part of hi-targeted-to-uri
				 mw_HistoryInfoEntry(mw_SipUrl_Number(PX_IMS_SUT_UE3_PUBLIC_USER),{1,1},omit)
				})));
				
		// await 200 OK response
		f_awaitingOkResponse(vc_cSeq);
		
		// send ACK
		f_SendACK(m_ACK_Request_Base(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_from, 
			vc_to, 
			vc_via
		));
				
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		//await BYE and send 200OK
		f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
		
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	} // end function f_AtsNIT_TC_SS___XXSSCFU05UE1
	
	
	
	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFU05
	* @param	p_CSeq_s Transaction Id
	*/

	// UE2 does not take part in the test	

	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFU05
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFU05UE3(in CSeq p_cSeq_s) runs on ImsComponent {
		
		f_AtsNIT_TC_SS___XXSSCFU03UE3(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSSCFU05UE3

	}//end group TP2_6_SS_CFU

	group TP2_7_SS_CFB {