Commit fa4df14b authored by pintar's avatar pintar
Browse files

group 108 finished

parent e48e4375
Loading
Loading
Loading
Loading
+294 −2
Original line number Diff line number Diff line
@@ -3681,13 +3681,94 @@ module SipIsup_IMS_TCFunctions {
			
			group TP108_Receipt_REL {

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

					// expected status and cause values according to the testcase variant
					// From ETSI TS 186 009-2 TP108001 - array used to parameterize the SIP test case variant
					var integer v_CauseVal[39];	var StatusLine c_statusLine[39]; 
					// dummy value for index 0 (unused)
					v_CauseVal[0] := 0;			c_statusLine[0] := c_statusLine404;//not used
					// Cause Value No. 1 (unallocated (unassigned) number)
					v_CauseVal[1] := 1;			c_statusLine[1] := c_statusLine404;
					// Cause Value No. 2 (no route to network)
					v_CauseVal[2] := 2;			c_statusLine[2] := c_statusLine500;
					// Cause Value No. 3 (no route to destination)
					v_CauseVal[3] := 3;			c_statusLine[3] := c_statusLine500;
					// Cause Value No. 4 (Send special information tone)
					v_CauseVal[4] := 4;			c_statusLine[4] := c_statusLine500;
					// Cause Value No. 5 (Misdialed trunk prefix)
					v_CauseVal[5] := 5;			c_statusLine[5] := c_statusLine404;
					// Cause Value No. 8 (Preemption)
					v_CauseVal[6] := 8;			c_statusLine[6] := c_statusLine500;
					// Cause Value No. 9 (Preemption-circuit reserved for reuse)
					v_CauseVal[7] := 9;			c_statusLine[7] := c_statusLine500;
					// Cause Value No. 17 (user busy)
					v_CauseVal[8] := 17;		c_statusLine[8] := c_statusLine486;
					// Cause Value No. 18 (no user responding)
					v_CauseVal[9] := 18;		c_statusLine[9] := c_statusLine480;
					// Cause Value No. 19 (no answer from the user)
					v_CauseVal[10] := 19;		c_statusLine[10] := c_statusLine480;
					// Cause Value No. 20 (subscriber absent)
					v_CauseVal[11] := 20;		c_statusLine[11] := c_statusLine480;
					// Cause Value No. 21 (all rejected)
					v_CauseVal[12] := 21;		c_statusLine[12] := c_statusLine480;
					// Cause Value No. 22 (number changed)
					v_CauseVal[13] := 22;		c_statusLine[13] := c_statusLine410;
					// Cause Value No. 25 (Exchange routing error)
					v_CauseVal[14] := 25;		c_statusLine[14] := c_statusLine480;
					// Cause Value No. 27 (destination out of order)
					v_CauseVal[15] := 27;		c_statusLine[15] := c_statusLine502;
					// Cause Value No. 28 (invalid number format (address incomplete)
					v_CauseVal[16] := 28;		c_statusLine[16] := c_statusLine484;
					// Cause Value No. 29 (facility rejected)
					v_CauseVal[17] := 29;		c_statusLine[17] := c_statusLine500;
					// Cause Value No. 31 (normal unspecified) (Class default)
					v_CauseVal[18] := 31;		c_statusLine[18] := c_statusLine480;
					// Cause Value in the Class 010 (No circuit/channel available, Cause Value No. 34)
					v_CauseVal[19] := 34;		c_statusLine[19] := c_statusLine486;
					// Cause Value in the Class 010 (resource unavailable, Cause Value No. 38-47) (47 is class default)
					v_CauseVal[20] := 47;		c_statusLine[20] := c_statusLine500;
					// Cause Value No. 50 (requested facility not subscribed)
					v_CauseVal[21] := 50;		c_statusLine[21] := c_statusLine500;
					// Cause Value No. 55 (incoming calls barred within CUG)
					v_CauseVal[22] := 55;		c_statusLine[22] := c_statusLine500;
					// Cause Value No. 57 (bearer capability not authorized)
					v_CauseVal[23] := 57;		c_statusLine[23] := c_statusLine500;
					// Cause Value No. 58 (bearer capability not presently)
					v_CauseVal[24] := 58;		c_statusLine[24] := c_statusLine500;
					// Cause Value No. 63 (service option not available, unspecified) (Class default)
					v_CauseVal[25] := 63;		c_statusLine[25] := c_statusLine500;
					// Cause Value in the Class 100 (service or option not implemented Cause Value No. 65 - 79) (79 is class default)
					v_CauseVal[26] := 79;		c_statusLine[26] := c_statusLine500;
					// Cause Value No. 87 (user not member of CUG)
					v_CauseVal[27] := 87;		c_statusLine[27] := c_statusLine500;
					// Cause Value No. 88 (incompatible destination)
					v_CauseVal[28] := 88;		c_statusLine[28] := c_statusLine500;
					// Cause Value No. 90 (Non-existent CUG)
					v_CauseVal[29] := 90;		c_statusLine[29] := c_statusLine500;
					// Cause Value No. 91 (invalid transit network selection)
					v_CauseVal[30] := 91;		c_statusLine[30] := c_statusLine404;
					// Cause Value No. 95 (invalid message) (Class default)
					v_CauseVal[31] := 95;		c_statusLine[31] := c_statusLine500;
					// Cause Value No. 97 (Message type non-existent or not implemented)
					v_CauseVal[32] := 97;		c_statusLine[32] := c_statusLine500;
					// Cause Value No. 99 (information element/parameter non-existent or not implemented)
					v_CauseVal[33] := 99;		c_statusLine[33] := c_statusLine500;
					// Cause Value No. 102 (recovery on timer expiry)
					v_CauseVal[34] := 102;		c_statusLine[34] := c_statusLine480;
					// Cause Value No. 103 (Parameter non-existent or not implemented, pass on)
					v_CauseVal[35] := 103;		c_statusLine[35] := c_statusLine500;
					// Cause Value No. 110 (Message with unrecognized Parameter, discarded)
					v_CauseVal[36] := 110;		c_statusLine[36] := c_statusLine500;
					// Cause Value No. 111 (protocol error, unspecified) (Class default)
					v_CauseVal[37] := 111;		c_statusLine[37] := c_statusLine500;
					// Cause Value No. 127 (interworking unspecified) (Class default)
					v_CauseVal[38] := 127;		c_statusLine[38] := c_statusLine480;

					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable
		
@@ -3698,13 +3779,224 @@ module SipIsup_IMS_TCFunctions {
					LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_ISUP);
					f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_Require_prec, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));
					
					f_awaitingResponse(mw_Response_Reason(c_statusLine404, vc_callId, vc_cSeq, 1));					
					f_awaitingResponse(mw_Response_Reason(c_statusLine[PX_TC_VA], vc_callId, vc_cSeq, v_CauseVal[PX_TC_VA]));					
					f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));		
					
					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
					
					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_108_001

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

					// expected status and cause values according to the testcase variant
					// From ETSI TS 186 009-2 TP108002 - array used to parameterize the SIP test case variant
					var integer v_CauseVal[12];	var StatusLine c_statusLine[12]; 
					// dummy value for index 0 (unused)
					v_CauseVal[0] := 0;			c_statusLine[0] := c_statusLine404;//not used
					// Cause Value No. 17 (user busy)
					v_CauseVal[1] := 17;		c_statusLine[1] := c_statusLine486;
					// Cause Value No. 18 (no user responding)
					v_CauseVal[2] := 18;		c_statusLine[2] := c_statusLine480;
					// Cause Value No. 21 (all rejected)
					v_CauseVal[3] := 21;		c_statusLine[3] := c_statusLine480;
					// Cause Value No. 22 (number changed)
					v_CauseVal[4] := 22;		c_statusLine[4] := c_statusLine410;
					// Cause Value No. 27 (destination out of order)
					v_CauseVal[5] := 27;		c_statusLine[5] := c_statusLine502;
					// Cause Value No. 28 (invalid number format (address incomplete)
					v_CauseVal[6] := 28;		c_statusLine[6] := c_statusLine484;
					// Cause Value No. 31 (normal unspecified) (Class default)
					v_CauseVal[7] := 31;		c_statusLine[7] := c_statusLine480;
					// Cause Value in the Class 010 (resource unavailable, Cause Value No. 38-47) (47 is class default)
					v_CauseVal[8] := 47;		c_statusLine[8] := c_statusLine500;
					// Cause Value No. 63 (service option not available, unspecified) (Class default)
					v_CauseVal[9] := 63;		c_statusLine[9] := c_statusLine500;
					// Cause Value No. 88 (incompatible destination)
					v_CauseVal[10] := 88;		c_statusLine[10] := c_statusLine500;
					// Cause Value No. 101 (protocol error unspecified)
					v_CauseVal[11] := 101;		c_statusLine[11] := c_statusLine500;

					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP);
					f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_Require_prec, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));

					f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());//Synchronisation point 1
					
					f_awaitingResponse(mw_Response_Reason(c_statusLine[PX_TC_VA], vc_callId, vc_cSeq, v_CauseVal[PX_TC_VA]));					
					f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));		
					
					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
					
					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_108_002

				/* 
				* @desc		This is the test case function (SIP side) for TC_108_003
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_108_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 TP108003 and 108004 - array used to parameterize the SIP test case variant
					var integer v_CauseVal[12];	var StatusLine c_statusLine[12]; 
					// dummy value for index 0 (unused)
					v_CauseVal[0] := 0;			c_statusLine[0] := c_statusLine404;//not used
					// Cause Value No. 17 (user busy)
					v_CauseVal[1] := 17;		c_statusLine[1] := c_statusLine486;
					// Cause Value No. 18 (no user responding)
					v_CauseVal[2] := 18;		c_statusLine[2] := c_statusLine480;
					// Cause Value No. 21 (all rejected)
					v_CauseVal[3] := 21;		c_statusLine[3] := c_statusLine480;
					// Cause Value No. 22 (number changed)
					v_CauseVal[4] := 22;		c_statusLine[4] := c_statusLine410;
					// Cause Value No. 27 (destination out of order)
					v_CauseVal[5] := 27;		c_statusLine[5] := c_statusLine502;
					// Cause Value No. 28 (invalid number format (address incomplete)
					v_CauseVal[6] := 28;		c_statusLine[6] := c_statusLine484;
					// Cause Value No. 31 (normal unspecified) (Class default)
					v_CauseVal[7] := 31;		c_statusLine[7] := c_statusLine480;
					// Cause Value in the Class 010 (resource unavailable, Cause Value No. 38-47) (47 is class default)
					v_CauseVal[8] := 47;		c_statusLine[8] := c_statusLine500;
					// Cause Value No. 63 (service option not available, unspecified) (Class default)
					v_CauseVal[9] := 63;		c_statusLine[9] := c_statusLine500;
					// Cause Value No. 88 (incompatible destination)
					v_CauseVal[10] := 88;		c_statusLine[10] := c_statusLine500;
					// Cause Value No. 101 (protocol error unspecified)
					v_CauseVal[11] := 101;		c_statusLine[11] := c_statusLine500;

					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP);
					f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_Require_prec, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));
					
					f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
					
					f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());//Synchronisation point 1
					
					f_awaitingResponse(mw_Response_Reason(c_statusLine[PX_TC_VA], vc_callId, vc_cSeq, v_CauseVal[PX_TC_VA]));					
					f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));		
					
					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
					
					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_108_003

				/* 
				* @desc		This is the test case function (SIP side) for TC_108_004
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_108_004(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_TC_108_003(p_cSeq_s)
				} // end function f_IMS_TC_108_004
				
				/* 
				* @desc		This is the test case function (SIP side) for TC_108_005
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_108_005(in CSeq p_cSeq_s) runs on ImsComponent {

					// expected status and cause values according to the testcase variant
					// From ETSI TS 186 009-2 TP108005 - array used to parameterize the SIP test case variant
					var integer v_CauseVal[6]; 
					// dummy value for index 0 (unused)
					v_CauseVal[0] := 0;
					// Cause Value No. 16 
					v_CauseVal[1] := 16;
					// Cause Value No. 31 (normal unspecified)
					v_CauseVal[2] := 31;
					// Cause Value No. 38 (Network out of order)
					v_CauseVal[3] := 38;
					// Cause Value No. 41 (Temporary failure)
					v_CauseVal[4] := 41;
					// Cause Value No. 111 (protocol error, unspecified)
					v_CauseVal[5] := 111;
					
					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP);
					f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_Require_prec, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));
					
					f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq));
					
					f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq));					
					f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));		
					
					f_check_Conversation();
					
					//Await BYE and send response
					f_awaitingBYE_sendReply(mw_BYE_Request_Reason(vc_callId, v_CauseVal[PX_TC_VA]));
					
					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
					
					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_108_005
				
				/* 
				* @desc		This is the test case function (SIP side) for TC_108_006
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_108_006(in CSeq p_cSeq_s) runs on ImsComponent {

					// expected status and cause values according to the testcase variant
					// From ETSI TS 186 009-2 TP108006 - array used to parameterize the SIP test case variant
					var integer v_CauseVal[6]; 
					// dummy value for index 0 (unused)
					v_CauseVal[0] := 0;
					// Cause Value No. 16 
					v_CauseVal[1] := 16;
					// Cause Value No. 31 (normal unspecified)
					v_CauseVal[2] := 31;
					// Cause Value No. 38 (Network out of order)
					v_CauseVal[3] := 38;
					// Cause Value No. 41 (Temporary failure)
					v_CauseVal[4] := 41;
					// Cause Value No. 111 (protocol error, unspecified)
					v_CauseVal[5] := 111;
					
					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP);
					f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_Require_prec, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));
					
					f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq));					
					f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));		
					
					f_check_Conversation();
					
					//Await BYE and send response
					f_awaitingBYE_sendReply(mw_BYE_Request_Reason(vc_callId, v_CauseVal[PX_TC_VA]));
					
					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
					
					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_108_006
				
			} // end group TP108_ReceiptREL
			
			group TP1081_AutonomousRelease {