Commit b1d35002 authored by rennoch's avatar rennoch
Browse files

OIP group

parent 72ce8cd9
Loading
Loading
Loading
Loading
+318 −4
Original line number Diff line number Diff line
@@ -169,14 +169,328 @@ module AtsNIT_SipSip_SS_TCFunctions {
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP02UE2(in CSeq p_cSeq_s) runs on ImsComponent {

  		f_AtsNIT_TC_SS___XXSS_OIP01UE2(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSS_OIP02UE2

	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSS_OIP03UE1
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP03UE1(in CSeq p_cSeq_s) runs on ImsComponent {
		
		f_AtsNIT_TC_SS___XXSS_OIP02UE1(p_cSeq_s);
		
	} // end function f_AtsNIT_TC_SS___XXSS_OIP03UE1

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

  		f_AtsNIT_TC_SS___XXSS_OIP01UE2(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSS_OIP03UE2

	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSS_OIP04UE1
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP04UE1(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

		// 	INVITE UE1
		LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
		f_SendINVITE(
		m_INVITE_Request_PPreferred_Privacy_UE(
				vc_requestUri, 
				vc_callId, 
				vc_cSeq, 
				vc_from, 
				vc_to, 
				vc_via, 
				vc_contact, 
				omit, 
				vc_route,
				omit, //Supported
				m_MBody_SDP(vc_sdp_local),
				m_PPreferredID(m_AddrUnion_DisplayAndSipUrl("unregistered", 
							   m_SipUrl_Anonymous)), // PPreferred header that does NOT match registered public identities
				omit // privacy
			)
		);
		
		f_awaitingResponse(?);

		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

		// POSTAMBLE
		
		// send CANCEL and receive 200 OK
		f_cancelCall(m_CANCEL_Request_Reason_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_route, PX_SIP_BYE_CAUSE));
					
		f_awaitingResponse(mw_Response_Base(c_statusLine487, vc_callId, vc_cSeq));					
		f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
		
		// send REGISTER, await 401, send REGISTER, await 200 OK	
		f_RemoveRegistration(vc_cSeq); // deregistration in SUT
		
		f_SIP_postamble_IMS1_withoutRegistration();
	} // end function f_AtsNIT_TC_SS___XXSS_OIP04UE1

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

  		f_AtsNIT_TC_SS___XXSS_OIP01UE2(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSS_OIP04UE2
	 
	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSS_OIP05UE1
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP05UE1(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

		// 	INVITE UE1
		LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
		f_SendINVITE(
		m_INVITE_Request_PPreferred_Privacy_UE(
				vc_requestUri, 
				vc_callId, 
				vc_cSeq, 
				vc_from, 
				vc_to, 
				vc_via, 
				vc_contact, 
				omit, 
				vc_route,
				omit, //Supported
				m_MBody_SDP(vc_sdp_local),
				m_PPreferredID(m_AddrUnion_DisplayAndSipUrl("unregistered", 
							   m_SipUrl_Anonymous)), // PPreferred header that does NOT match registered public identities
				m_Privacy(c_privacy_none) // privacy
			)
		);
		
		f_awaitingResponse(?);

		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

		// POSTAMBLE
		
		// send CANCEL and receive 200 OK
		f_cancelCall(m_CANCEL_Request_Reason_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_route, PX_SIP_BYE_CAUSE));
					
		f_awaitingResponse(mw_Response_Base(c_statusLine487, vc_callId, vc_cSeq));					
		f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
		
		// send REGISTER, await 401, send REGISTER, await 200 OK	
		f_RemoveRegistration(vc_cSeq); // deregistration in SUT
		
		f_SIP_postamble_IMS1_withoutRegistration();
	} // end function f_AtsNIT_TC_SS___XXSS_OIP05UE1

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

  		f_AtsNIT_TC_SS___XXSS_OIP01UE2(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSS_OIP05UE2

	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSS_OIP06UE1
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP06UE1(in CSeq p_cSeq_s) runs on ImsComponent {
		
		f_AtsNIT_TC_SS___XXSS_OIP05UE1(p_cSeq_s);
		
	} // end function f_AtsNIT_TC_SS___XXSS_OIP06UE1

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

				f_AtsNIT_TC_SS___XXSS_OIP01UE2(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSS_OIP06UE2

	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSS_OIP07UE1
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP07UE1(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

		// 	INVITE UE1
		LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
		f_SendINVITE(
		m_INVITE_Request_PPreferred_Privacy_UE(
				vc_requestUri, 
				vc_callId, 
				vc_cSeq, 
				vc_from, 
				vc_to, 
				vc_via, 
				vc_contact, 
				omit, 
				vc_route,
				omit, //Supported
				m_MBody_SDP(vc_sdp_local),
				m_PPreferredID(m_AddrUnion_DisplayAndSipUrl(vc_userprofile.publUsername, m_SipUrl_currDomain(vc_userprofile))),
				omit // privacy
			)
		);
		
		f_awaitingResponse(?);

		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

		// POSTAMBLE
		
		// send CANCEL and receive 200 OK
		f_cancelCall(m_CANCEL_Request_Reason_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_route, PX_SIP_BYE_CAUSE));
					
		f_awaitingResponse(mw_Response_Base(c_statusLine487, vc_callId, vc_cSeq));					
		f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
		
		// send REGISTER, await 401, send REGISTER, await 200 OK	
		f_RemoveRegistration(vc_cSeq); // deregistration in SUT
		
		f_SIP_postamble_IMS1_withoutRegistration();
	} // end function f_AtsNIT_TC_SS___XXSS_OIP07UE1

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

  		f_AtsNIT_TC_SS___XXSS_OIP01UE2(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSS_OIP07UE2

	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSS_OIP08UE1
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP08UE1(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

		// 	INVITE UE1
		LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
		f_SendINVITE(
		m_INVITE_Request_PPreferred_Privacy_UE(
				vc_requestUri, 
				vc_callId, 
				vc_cSeq, 
				vc_from, 
				vc_to, 
				vc_via, 
				vc_contact, 
				omit, 
				vc_route,
				omit, //Supported
				m_MBody_SDP(vc_sdp_local),
				m_PPreferredID(m_AddrUnion_DisplayAndSipUrl(vc_userprofile.publUsername, m_SipUrl_currDomain(vc_userprofile))),
				m_Privacy(c_privacy_none) // privacy
			)
		);
		
		f_awaitingResponse(?);

		f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

		// POSTAMBLE
		
		// send CANCEL and receive 200 OK
		f_cancelCall(m_CANCEL_Request_Reason_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_route, PX_SIP_BYE_CAUSE));
					
		f_awaitingResponse(mw_Response_Base(c_statusLine487, vc_callId, vc_cSeq));					
		f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
		
		// send REGISTER, await 401, send REGISTER, await 200 OK	
		f_RemoveRegistration(vc_cSeq); // deregistration in SUT
		
		f_SIP_postamble_IMS1_withoutRegistration();
	} // end function f_AtsNIT_TC_SS___XXSS_OIP07UE1

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

  		f_AtsNIT_TC_SS___XXSS_OIP01UE2(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSS_OIP08UE2

	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSS_OIP09UE1
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP09UE1(in CSeq p_cSeq_s) runs on ImsComponent {
		
		f_AtsNIT_TC_SS___XXSS_OIP08UE1(p_cSeq_s);
		
	} // end function f_AtsNIT_TC_SS___XXSS_OIP09UE1

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

				f_AtsNIT_TC_SS___XXSS_OIP01UE2(p_cSeq_s);

	} // end function f_AtsNIT_TC_SS___XXSS_OIP09UE2

	/* 
	* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XXSS_OIP10UE1
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP10UE1(in CSeq p_cSeq_s) runs on ImsComponent {
		
		f_AtsNIT_TC_SS___XXSS_OIP01UE1(p_cSeq_s);
		
	} // end function f_AtsNIT_TC_SS___XXSS_OIP10UE1

	/* 
	* @desc		This is the test case function (terminating side) for AtsNIT_TC_SS___XXSS_OIP10UE2
	* @param	p_CSeq_s Transaction Id
	*/
	function f_AtsNIT_TC_SS___XXSS_OIP10UE2(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
		
		//Awaiting INVITE	
		f_awaitingINVITE(mw_INVITE_Request_PassertedPrivacy(?,mw_PAssertedID(mw_PAssertedIDValue(mw_SipUrl_Number(PX_IMS_SUT_UE1_PUBLIC_USER))),*
						));
		f_awaitingINVITE(mw_INVITE_Request_PassertedPrivacy(?,omit,omit));
		f_sendResponse(m_Response_18XonINVITE(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));

		f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
@@ -188,8 +502,8 @@ module AtsNIT_SipSip_SS_TCFunctions {
		f_RemoveRegistration(vc_cSeq); // deregistration in SUT

		f_SIP_postamble_IMS1_withoutRegistration();
	} // end function f_AtsNIT_TC_SS___XXSS_OIP02UE2

	} // end function f_AtsNIT_TC_SS___XXSS_OIP10UE2

	}//end group TP2_1_SS_OIP_OIR

+29 −0
Original line number Diff line number Diff line
@@ -98,6 +98,35 @@ module AtsNIT_SipSip_Testcases {
group TP_2_SupplementaryServices {
	
group TP2_1_SS_OIP_OIR {

    	/*
    	 * @desc TC_SS___XXSS_OIP01
    	 * @param p_CSeq_s Transaction Id
    	 */
    	testcase TC_SS___XXSS_OIP01(inout CSeq p_CSeq_s) 
    	runs on ServerSyncComp
    	system TestAdapter {
    
 			//selection criteria
			action("The originating user subscribes to OIR 'temporary mode' default 'not restricted'. The terminating user subscribes to OIP.");

    		//Variables
    		var ImsComponent v_imsComponent1;
      		var ImsComponent v_imsComponent2;
    		f_cf_2imsUp(v_imsComponent1, v_imsComponent2);
    		f_IncCSeq(p_CSeq_s); 
 
    		//Start
    		v_imsComponent1.start(f_AtsNIT_TC_SS___XXSS_OIP01UE1(p_CSeq_s));
    		v_imsComponent2.start(f_AtsNIT_TC_SS___XXSS_OIP01UE2(p_CSeq_s));
    		
    		// synchronize both PTCs on following sychronization points
    		f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
            
    		f_cf_2imsDown(v_imsComponent1, v_imsComponent2);
    	} // end TC_SS___XXSS_OIP01
 
 
}//end group TP2_1_SS_OIP_OIR

group TP2_2_SS_TIP_TIR {