Commit 25eedbf2 authored by juvancic's avatar juvancic
Browse files

No commit message

No commit message
parent bcc441bc
Loading
Loading
Loading
Loading
+127 −0
Original line number Diff line number Diff line
@@ -8070,6 +8070,133 @@ module SipIsup_IMS_TCFunctions {
			} // end group TP307_ReceiptREL
		
			group TP308_Sending_REL {
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_308_001
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_308_001(in CSeq p_cSeq_s) runs on ImsComponent {

					// PREAMBLE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable

					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done
					// TESTBODY

					//Awaiting INVITE	
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					f_sendResponse(m_Response_18XonINVITE(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
					f_check_Ringing();
					f_sendResponse(m_Response_2xxonINVITE(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))));
					f_awaitingACK(mw_ACK_Request_Base(vc_callId));
					f_check_Conversation();
					//send BYE and wait 200 OK
					f_SendBYE(m_BYE_Request_Reason_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_route, 16));
					f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done

					// POSTAMBLE
					f_SIP_postamble_IMS1_withoutRegistration ()
 
				}// end function f_IMS_TC_308_001
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_308_002
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_308_002(in CSeq p_cSeq_s) runs on ImsComponent {

					// PREAMBLE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable

					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done
					// TESTBODY

					//Awaiting INVITE	
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					f_sendResponse(m_Response_18XonINVITE(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
					f_check_Ringing();
					f_sendResponse(m_Response_2xxonINVITE(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))));
					f_awaitingACK(mw_ACK_Request_Base(vc_callId));
					f_check_Conversation();
					//send BYE and wait 200 OK
					f_SendBYE(m_BYE_Request_Reason_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_route, PX_CauseValue));
					f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done

					// POSTAMBLE
					f_SIP_postamble_IMS1_withoutRegistration ()
 
				}// end function f_IMS_TC_308_002
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_308_003
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_308_003(in CSeq p_cSeq_s) runs on ImsComponent {

					// expected status and cause values according to the testcase variant
					// From ETSI TS 186 009-2 TP308003 - Table 13
					var StatusLine v_statusLine[37]; 
					// dummy value for index 0 (unused)
					v_statusLine[0] := c_statusLine100;//not used
					v_statusLine[1] := c_statusLine400;
					v_statusLine[2] := c_statusLine401;
					v_statusLine[3] := c_statusLine402;
					v_statusLine[4] := c_statusLine403;
					v_statusLine[5] := c_statusLine405;
					v_statusLine[6] := c_statusLine406;
					v_statusLine[7] := c_statusLine407;
					v_statusLine[8] := c_statusLine408;
					v_statusLine[9] := c_statusLine410;
					v_statusLine[10] := c_statusLine413;
					v_statusLine[11] := c_statusLine414;
					v_statusLine[12] := c_statusLine415;
					v_statusLine[13] := c_statusLine416;
					v_statusLine[14] := c_statusLine420;
					v_statusLine[15] := c_statusLine421;
					v_statusLine[16] := c_statusLine423;
					v_statusLine[17] := c_statusLine480;
					v_statusLine[18] := c_statusLine481;
					v_statusLine[19] := c_statusLine482;
					v_statusLine[20] := c_statusLine483;
					v_statusLine[21] := c_statusLine485;
					v_statusLine[22] := c_statusLine486;
					v_statusLine[23] := c_statusLine488;
					v_statusLine[24] := c_statusLine493;
					v_statusLine[25] := c_statusLine500;
					v_statusLine[26] := c_statusLine501;
					v_statusLine[27] := c_statusLine502;
					v_statusLine[28] := c_statusLine503;
					v_statusLine[29] := c_statusLine504;
					v_statusLine[30] := c_statusLine505;
					v_statusLine[31] := c_statusLine513;
					v_statusLine[32] := c_statusLine580;
					v_statusLine[33] := c_statusLine600;
					v_statusLine[34] := c_statusLine603;
					v_statusLine[35] := c_statusLine604;
					v_statusLine[36] := c_statusLine606;

					// PREAMBLE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable

					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done
					// TESTBODY

					//Awaiting INVITE	
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					f_sendResponse(m_Response_4XXonINVITE(v_statusLine[PX_TC_VA],vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
					f_awaitingACK(mw_ACK_Request_Base(vc_callId));
					
					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done

					// POSTAMBLE
					f_SIP_postamble_IMS1_withoutRegistration ()
 
				}// end function f_IMS_TC_308_003
				
			} // end group TP308_Sending_REL
	
			group TP309_AutonomousRelease {