Commit fb39baae authored by deshpande's avatar deshpande
Browse files

Added implementations for CFNR testcases

parent 86d6738d
Loading
Loading
Loading
Loading
+708 −19
Original line number Diff line number Diff line
@@ -7764,7 +7764,7 @@ module AtsNIT_SipSip_SS_TCFunctions {
	group TP2_8_SS_CFNR {
		
	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSSCFNR01
	* @desc		This is the test case function (originating side) for TC_SS___XXSSCFNR01
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR01UE1(in CSeq p_cSeq_s) runs on ImsComponent {
@@ -7824,6 +7824,458 @@ module AtsNIT_SipSip_SS_TCFunctions {
		
		f_check_Conversation();
				
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		//SendBYE and await response
		f_terminateCall_UE(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_caller_From, 
			vc_caller_To
		);
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);

	} // end function TC_SS___XXSSCFNR01UE1

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

		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

		// Testbody
		
		f_awaitingINVITE(mw_INVITE_Request_require(
			mw_Require_not_100rel
		)); 
		
		f_sendResponse(m_Response_18XonINVITE_Require_ifpresent(
			c_statusLine180,
			vc_callId, 
			vc_cSeq,
			vc_caller_From, 
			vc_caller_To, 
			vc_via,
			vc_contact,
			mw_Require_not_100rel
		));

		f_wait(PX_SIP_Tnr); // no reply timeout
		
		f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
		f_send200OK();					

		f_awaitingMESSAGE_sendReply();

		f_check_Conversation();
						
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);

	} // end function TC_SS___XXSSCFNR01UE2

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

		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

		// Testbody
		
		f_wait(PX_SIP_Tnr); // no reply timeout
		
		f_awaitingINVITE(mw_INVITE_Request_require(
			mw_Require_not_100rel
		)); 
		
		f_sendResponse(m_Response_18XonINVITE_Require_ifpresent(
			c_statusLine180,
			vc_callId, 
			vc_cSeq,
			vc_caller_From, 
			vc_caller_To, 
			vc_via,
			vc_contact,
			mw_Require_not_100rel
		));
				
		f_sendResponse(m_Response_2xxonINVITE_UE(
			c_statusLine200,
			vc_callId, 
			vc_cSeq,
			vc_caller_From, 
			vc_caller_To, 
			vc_via,vc_contact,
			f_route(),
			valueof(m_MBody_SDP(vc_sdp_local))
		));
		
		// await ACK
		f_awaitingACK(mw_ACK_Request_Base(vc_callId));

		f_check_Conversation();
						
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		//await BYE and send 200OK
		f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	
	} // end function TC_SS___XXSSCFNR01UE3
		
	/* 
	* @desc		This is the test case function (originating side) for TC_SS___XXSSCFNR02
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR02UE1(in CSeq p_cSeq_s) runs on ImsComponent {
		f_AtsNIT_TC_SS___XXSSCFNR01UE1(p_cSeq_s);
	} // end function TC_SS___XXSSCFNR02UE1

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

		f_SubscriptionWithNotification(p_cSeq_s, 
			m_SUBSCRIBE_Request_mb_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, m_MBody_XML(m_XmlBody_CDIVN(m_CDIVN_sub))),
			mw_NOTIFY_Request_MB(vc_callId, mw_MBody_XML(mw_XmlBody_CDIVN(*)))
			);

		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

		// Testbody
		
		f_awaitingINVITE(mw_INVITE_Request_require(
			mw_Require_not_100rel
		)); 
		
		f_sendResponse(m_Response_18XonINVITE_Require_ifpresent(
			c_statusLine180,
			vc_callId, 
			vc_cSeq,
			vc_caller_From, 
			vc_caller_To, 
			vc_via,
			vc_contact,
			mw_Require_not_100rel
		));

		f_wait(PX_SIP_Tnr); // no reply timeout
		
		f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
		f_send200OK();					

		f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MB(vc_callId, mw_MBody_XML(mw_XmlBody_CDIVN(*))));

		f_check_Conversation();
						
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);

	} // end function TC_SS___XXSSCFNR02UE2

	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR02
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR02UE3(in CSeq p_cSeq_s) runs on ImsComponent {
		f_AtsNIT_TC_SS___XXSSCFNR01UE3(p_cSeq_s);	
	} // end function TC_SS___XXSSCFNR02UE3
		
	/* 
	* @desc		This is the test case function (originating side) for TC_SS___XXSSCFNR03
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR03UE1(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_wait(PX_SIP_Tnr); // no reply timeout

		//NO 181 allowed
				
		// 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_check_Conversation();
				
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		//SendBYE and await response
		f_terminateCall_UE(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_caller_From, 
			vc_caller_To
		);
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	
	} // end function TC_SS___XXSSCFNR03UE1

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

		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

		// Testbody
		
		f_awaitingINVITE(mw_INVITE_Request_require(
			mw_Require_not_100rel
		)); 
		
		f_sendResponse(m_Response_18XonINVITE_Require_ifpresent(
			c_statusLine180,
			vc_callId, 
			vc_cSeq,
			vc_caller_From, 
			vc_caller_To, 
			vc_via,
			vc_contact,
			mw_Require_not_100rel
		));

		f_wait(PX_SIP_Tnr); // no reply timeout
		
		f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
		f_send200OK();					

		f_check_Conversation();
						
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);

	} // end function TC_SS___XXSSCFNR03UE2

	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR03
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR03UE3(in CSeq p_cSeq_s) runs on ImsComponent {
		f_AtsNIT_TC_SS___XXSSCFNR01UE3(p_cSeq_s);
	} // end function TC_SS___XXSSCFNR03UE3
		
	/* 
	* @desc		This is the test case function (originating side) for TC_SS___XXSSCFNR04
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR04UE1(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_wait(PX_SIP_Tnr); // no reply timeout

		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_check_Conversation();
				
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		//SendBYE and await response
		f_terminateCall_UE(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_caller_From, 
			vc_caller_To
		);
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	
	} // end function TC_SS___XXSSCFNR04UE1

	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR04
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR04UE2(in CSeq p_cSeq_s) runs on ImsComponent {
		f_AtsNIT_TC_SS___XXSSCFNR03UE2(p_cSeq_s);
	} // end function TC_SS___XXSSCFNR04UE2

	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR04
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR04UE3(in CSeq p_cSeq_s) runs on ImsComponent {
		f_AtsNIT_TC_SS___XXSSCFNR01UE3(p_cSeq_s);
	} // end function TC_SS___XXSSCFNR04UE3
		
	/* 
	* @desc		This is the test case function (originating side) for TC_SS___XXSSCFNR05
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR05UE1(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_wait(PX_SIP_Tnr); // no reply timeout

		//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("408")}),{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_check_Conversation();
				
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
@@ -7838,22 +8290,127 @@ module AtsNIT_SipSip_SS_TCFunctions {
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	} // end function f_AtsNIT_TC_SS___XXSSCFNR01UE1
	
	} // end function TC_SS___XXSSCFNR05UE1

	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR01
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR05
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR01UE2(in CSeq p_cSeq_s) runs on ImsComponent {
		f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable
	function f_AtsNIT_TC_SS___XXSSCFNR05UE2(in CSeq p_cSeq_s) runs on ImsComponent {
		f_AtsNIT_TC_SS___XXSSCFNR03UE2(p_cSeq_s);
	} // end function TC_SS___XXSSCFNR05UE2

		// Testbody
	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR05
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR05UE3(in CSeq p_cSeq_s) runs on ImsComponent {
		f_AtsNIT_TC_SS___XXSSCFNR01UE3(p_cSeq_s);
	} // end function TC_SS___XXSSCFNR05UE3
		
	/* 
	* @desc		This is the test case function (originating side) for TC_SS___XXSSCFNR06
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR06UE1(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());

		f_awaitingINVITE(mw_INVITE_Request_require(
		// 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_wait(PX_SIP_Tnr); // no reply timeout

		vc_ignore181 := true; // allow 181
						
		// 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_check_Conversation();
				
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		//SendBYE and await response
		f_terminateCall_UE(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_caller_From, 
			vc_caller_To
		);
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	
	} // end function TC_SS___XXSSCFNR06UE1

	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR06
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR06UE2(in CSeq p_cSeq_s) runs on ImsComponent {
		f_AtsNIT_TC_SS___XXSSCFNR03UE2(p_cSeq_s);
	} // end function TC_SS___XXSSCFNR06UE2

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

		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

		// Testbody

		f_wait(PX_SIP_Tnr); // no reply timeout
		
		f_awaitingINVITE(mw_INVITE_Request_HistoryInfo(
		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)
			}))); 
		
		f_sendResponse(m_Response_18XonINVITE_Require_ifpresent(
			c_statusLine180,
			vc_callId, 
@@ -7865,36 +8422,126 @@ module AtsNIT_SipSip_SS_TCFunctions {
			mw_Require_not_100rel
		));
				
		f_sendResponse(m_Response_2xxonINVITE_UE(
			c_statusLine200,
			vc_callId, 
			vc_cSeq,
			vc_caller_From, 
			vc_caller_To, 
			vc_via,vc_contact,
			f_route(),
			valueof(m_MBody_SDP(vc_sdp_local))
		));
		
		// await ACK
		f_awaitingACK(mw_ACK_Request_Base(vc_callId));

		f_check_Conversation();
						
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		//await BYE and send 200OK
		f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);

	} // end function TC_SS___XXSSCFNR06UE3
	
	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR07
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR07UE1(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_wait(PX_SIP_Tnr); // no reply timeout
		
		f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
		f_send200OK();					
		vc_ignore181 := true; // allow optional 181
		
		f_awaitingMESSAGE_sendReply();
		f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
		
		// await 200 OK response
		f_awaitingOkResponse(vc_cSeq);
		
		vc_ignore181 := false; // disable optional 181
				
		// send ACK
		f_SendACK(m_ACK_Request_Base(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_from, 
			vc_to, 
			vc_via
		));
		
		f_check_Conversation();
				
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		//SendBYE and await response
		f_terminateCall_UE(
			vc_requestUri, 
			vc_callId, 
			vc_cSeq, 
			vc_caller_From, 
			vc_caller_To
		);
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	} // end function f_AtsNIT_TC_SS___XXSSCFNR01UE2

	} // end function TC_SS___XXSSCFNR07UE1

	/* 
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR01
	* @desc		This is the test case function (terminating side) for TC_SS___XXSSCFNR07
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSSCFNR01UE3(in CSeq p_cSeq_s) runs on ImsComponent {
		f_IMS_preamble_withRegistrationBasic(c_userProfile_UE3atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable
	function f_AtsNIT_TC_SS___XXSSCFNR07UE2(in CSeq p_cSeq_s) runs on ImsComponent {
		f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable

		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

		// Testbody
		f_wait(PX_SIP_Tnr); // no reply timeout
		
		f_awaitingINVITE(mw_INVITE_Request_require(
			mw_Require_not_100rel
		)); 
		
		f_sendResponse(m_Response_18XonINVITE_Require_ifpresent(
			c_statusLine180,
			vc_callId, 
@@ -7906,6 +8553,10 @@ module AtsNIT_SipSip_SS_TCFunctions {
			mw_Require_not_100rel
		));

		f_wait(PX_SIP_Tnr); // no reply timeout

		f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
				
		f_sendResponse(m_Response_2xxonINVITE_UE(
			c_statusLine200,
			vc_callId, 
@@ -7929,7 +8580,39 @@ module AtsNIT_SipSip_SS_TCFunctions {

		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
	} // end function f_AtsNIT_TC_SS___XXSSCFNR01UE3
			
	} // end function TC_SS___XXSSCFNR07UE2

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

		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

		// Testbody
		
		f_wait(PX_SIP_Tnr); // no reply timeout
		
		f_awaitingINVITE(mw_INVITE_Request_require(
			mw_Require_not_100rel
		));
		 
		f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
		
		f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
		f_send200OK();					
		
		f_check_Conversation();
						
		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
		// postamble
		f_IMS_postamble_withDeRegistration(vc_cSeq);
		
	} // end function TC_SS___XXSSCFNR07UE3
		
	}//end group TP2_8_SS_CFNR
	
@@ -8027,6 +8710,7 @@ module AtsNIT_SipSip_SS_TCFunctions {
			);

		// Need to de-register the user here
  		f_RemoveRegistration(p_cSeq_s);
		
		f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

@@ -8035,6 +8719,8 @@ module AtsNIT_SipSip_SS_TCFunctions {
		f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());

		//Need to register the user here
		f_Registration_IMS(p_cSeq_s, PX_SIP_REGISTER_AUTHENTICATION_ENABLED);			
		f_Subscription(p_cSeq_s, m_SUBSCRIBE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact));
		
		f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MB(vc_callId, mw_MBody_XML(mw_XmlBody_CDIVN(*))));
		
@@ -13143,6 +13829,9 @@ module AtsNIT_SipSip_SS_TCFunctions {

	}//end group TP2_12_SS_CD
	
	group TP2_13_SS_ECT {
	}//end group TP2_13_SS_ECT
		
	}//end group TP_2_SupplementaryServices

} // end AtsNIT_SipSip_SS_TCFunctions
 No newline at end of file
+120 −1

File changed.

Preview size limit exceeded, changes collapsed.

+209 −2

File changed.

Preview size limit exceeded, changes collapsed.