Commit 1b2b93ce authored by pintar's avatar pintar
Browse files

additional checking

parent 9d0310c9
Loading
Loading
Loading
Loading
+166 −31
Original line number Diff line number Diff line
@@ -2417,6 +2417,14 @@ module SipIsup_IMS_TCFunctions {
				*/
				function f_IMS_TC_105_008(in CSeq p_cSeq_s) runs on ImsComponent {
					
					// From ETSI TS 186 009-2 TP105008 - array used to parameterize the SIP test case variant
					var template ProgressIndicatorType v_pit[4];
					// dummy value for index 0 (unused)
					v_pit[0] := omit;
					v_pit[1] := mw_ProgressIndicatorType(?,{bit2str(c_PI_1)});
					v_pit[2] := mw_ProgressIndicatorType(?,{bit2str(c_PI_2)});
					v_pit[3] := mw_ProgressIndicatorType(?,{bit2str(c_PI_7)});
													
					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable
		
@@ -2431,7 +2439,7 @@ module SipIsup_IMS_TCFunctions {
					
					//Check message body : PSTN XML progress indicator
					if (not (match(vc_pstnTransit_remote.ProgressIndicator[0],
								mw_ProgressIndicatorType(?,{bit2str(PX_ProgressIndicator)}))))
								v_pit[PX_TC_VA])))
					{
						setverdict (fail);
						log("FAIL: unexpected progress indicator"); 
@@ -2460,6 +2468,18 @@ module SipIsup_IMS_TCFunctions {
				*/
				function f_IMS_TC_105_009(in CSeq p_cSeq_s) runs on ImsComponent {

					// From ETSI TS 186 009-2 TP105007 - array used to parameterize the SIP test case variant
					var template ProgressIndicatorType v_pitA[4], v_pitB[4];
					// dummy value for index 0 (unused)
					v_pitA[0] := omit;
					v_pitB[0] := omit;
					v_pitA[1] := mw_ProgressIndicatorType(?,{bit2str(c_PI_8)});
					v_pitB[1] := mw_ProgressIndicatorType(?,{bit2str(c_PI_7)});
					v_pitA[2] := mw_ProgressIndicatorType(?,{bit2str(c_PI_8)});
					v_pitB[2] := mw_ProgressIndicatorType(?,{bit2str(c_PI_2)});
					v_pitA[3] := mw_ProgressIndicatorType(?,{bit2str(c_PI_8)});
					v_pitB[3] := mw_ProgressIndicatorType(?,{bit2str(c_PI_1)});

					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
					f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable
		
@@ -2480,11 +2500,19 @@ module SipIsup_IMS_TCFunctions {
					}	
					
					// Check message body : PSTN XML progress indicator 
					if (not (match(vc_pstnTransit_remote.ProgressIndicator[0],
								mw_ProgressIndicatorType(?,{bit2str(PX_ProgressIndicator)}))))
					if (not (match(vc_pstnTransit_remote.ProgressIndicator,
									{	v_pitA[PX_TC_VA],
								v_pitB[PX_TC_VA]}						 
									) or							 
									match(vc_pstnTransit_remote.ProgressIndicator,
									{ v_pitB[PX_TC_VA],
								v_pitA[PX_TC_VA]}						 
									)   
							)	 
						)						
					{
						setverdict (fail);
						log("FAIL: unexpected progress indicator"); 
						log("FAIL: unexpected progress indicators"); 
					}
						
					f_check_Ringing();
@@ -2508,6 +2536,25 @@ module SipIsup_IMS_TCFunctions {
				*/
				function f_IMS_TC_105_010(in CSeq p_cSeq_s) runs on ImsComponent {

					// From ETSI TS 186 009-2 TP105010 - array used to parameterize the SIP test case variant
					var Bit5 v_BC[7], v_BC2[7];
			
					v_BC[0] := '00000'B;// dummy value for index 0 (unused)
					v_BC2[0] := '00000'B;// dummy value for index 0 (unused)
					v_BC[1] := c_BCAP_Speech;// Speech
					v_BC2[1] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[2] := c_BCAP_3_1kHZ_Audio;// 3.1KHz audio
					v_BC2[2] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[3] := c_BCAP_3_1kHZ_Audio;// 3.1KHz audio
					v_BC2[3] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[4] := c_BCAP_Speech;// Speech
					v_BC2[4] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[5] := c_BCAP_Speech;// Speech
					v_BC2[5] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[6] := c_BCAP_3_1kHZ_Audio;// 3.1KHz audio
					v_BC2[6] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements


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

@@ -2515,11 +2562,19 @@ module SipIsup_IMS_TCFunctions {
					// Testbody
			
					// 	INVITE UE1
					vc_pstnTransit_local := valueof(m_PSTN_transit(m_BearerCapabilityType(v_BC[PX_TC_VA]),m_BearerCapabilityType(v_BC2[PX_TC_VA]), omit, omit, omit, omit, omit));
					// tODO: check regarding Content-Type
					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)));
					// TODO set XML BC in INVITE
					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_PSTN(vc_pstnTransit_local)));
			
					f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq));
					//	TODO: check XML BC in 180 response
					
					//Check message body : PSTN XML bearer capability (transfer capability)
					if ( not match(vc_pstnTransit_remote.BearerInfomationElement[0],mw_BearerCapabilityType({?,bit2str(v_BC[PX_TC_VA])},?)))
					{
						setverdict (fail);
						log("FAIL: unexpected Bearer Capability"); 
					}
	
					f_check_Ringing();
					
@@ -2542,6 +2597,25 @@ module SipIsup_IMS_TCFunctions {
				*/
				function f_IMS_TC_105_011(in CSeq p_cSeq_s) runs on ImsComponent {

					// From ETSI TS 186 009-2 TP105011 - array used to parameterize the SIP test case variant
					var Bit5 v_BC[7], v_BC2[7];
			
					v_BC[0] := '00000'B;// dummy value for index 0 (unused)
					v_BC2[0] := '00000'B;// dummy value for index 0 (unused)
					v_BC[1] := c_BCAP_Speech;// Speech
					v_BC2[1] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[2] := c_BCAP_3_1kHZ_Audio;// 3.1KHz audio
					v_BC2[2] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[3] := c_BCAP_3_1kHZ_Audio;// 3.1KHz audio
					v_BC2[3] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[4] := c_BCAP_Speech;// Speech
					v_BC2[4] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[5] := c_BCAP_Speech;// Speech
					v_BC2[5] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements
					v_BC[6] := c_BCAP_3_1kHZ_Audio;// 3.1KHz audio
					v_BC2[6] := c_BCAP_UDI_TA;// Unrestricted digital information with tones/announcements


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

@@ -2549,11 +2623,19 @@ module SipIsup_IMS_TCFunctions {
					// Testbody
			
					// 	INVITE UE1
					vc_pstnTransit_local := valueof(m_PSTN_transit(m_BearerCapabilityType(v_BC[PX_TC_VA]),m_BearerCapabilityType(v_BC2[PX_TC_VA]), omit, omit, omit, omit, omit));
					// tODO: check regarding Content-Type
					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)));
					// TODO set XML BC in INVITE
					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_PSTN(vc_pstnTransit_local)));
			
					f_awaitingResponse(mw_Response_Base(c_statusLine183,vc_callId, vc_cSeq));
					//	TODO: check XML BC in 183 response
					
					//Check message body : PSTN XML bearer capability (transfer capability)
					if ( not match(vc_pstnTransit_remote.BearerInfomationElement[0],mw_BearerCapabilityType({?,bit2str(v_BC[PX_TC_VA])},?)))
					{
						setverdict (fail);
						log("FAIL: unexpected Bearer Capability"); 
					}
	
					f_check_Ringing();
					
@@ -2583,11 +2665,34 @@ module SipIsup_IMS_TCFunctions {
    				// Testbody
    	
    				// 	INVITE UE1
    				vc_pstnTransit_local := valueof(m_PSTN_transit( m_BearerCapabilityType(PX_BearerCapabilityInformationTransferCapability),
    																omit,
    																m_HighLayerCompatibilityType(PX_HighLayerCharacteristicsIdentification),
    																m_HighLayerCompatibilityType(PX_HighLayerCharacteristicsIdentification2), 
    																omit, 
    																omit, 
    																omit));
    				// tODO: check regarding Content-Type
    				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)));
					// TODO set XML HLC in INVITE
    				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_PSTN(vc_pstnTransit_local)));
    	
					f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq));
					//	TODO: check XML HLC and Progress indicator in 180 response
					
					//	Check message body : PSTN XML progress indicator
					if (not (match(vc_pstnTransit_remote.ProgressIndicator[0],
								mw_ProgressIndicatorType(?,{bit2str(c_PI_5)}))))
					{
						setverdict (fail);
						log("FAIL: unexpected progress indicator"); 
					}
	
					//Check message body : PSTN XML HLC
					if (not (match(vc_pstnTransit_remote.HighLayerCompatibility[0],
							mw_HighLayerCompatibilityType(?,{bit2str(PX_HighLayerCharacteristicsIdentification2)}))))
					{
						setverdict (fail);
						log("FAIL: unexpected HLC value"); 
					}
	
					f_check_Ringing();
					
@@ -2617,11 +2722,34 @@ module SipIsup_IMS_TCFunctions {
					// Testbody
					
					// 	INVITE UE1
					vc_pstnTransit_local := valueof(m_PSTN_transit( m_BearerCapabilityType(PX_BearerCapabilityInformationTransferCapability),
																	omit,
																	m_HighLayerCompatibilityType(PX_HighLayerCharacteristicsIdentification),
																	m_HighLayerCompatibilityType(PX_HighLayerCharacteristicsIdentification2), 
																	omit, 
																	omit, 
																	omit));
					// tODO: check regarding Content-Type
					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)));
					// TODO set XML HLC in INVITE
					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_PSTN(vc_pstnTransit_local)));
					
					f_awaitingResponse(mw_Response_Base(c_statusLine183,vc_callId, vc_cSeq));
					//	TODO: check XML HLC and Progress indicator in 183 response
					
					//	Check message body : PSTN XML progress indicator
					if (not (match(vc_pstnTransit_remote.ProgressIndicator[0],
								mw_ProgressIndicatorType(?,{bit2str(c_PI_5)}))))
					{
						setverdict (fail);
						log("FAIL: unexpected progress indicator"); 
					}
	
					//Check message body : PSTN XML HLC
					if (not (match(vc_pstnTransit_remote.HighLayerCompatibility[0],
							mw_HighLayerCompatibilityType(?,{bit2str(PX_HighLayerCharacteristicsIdentification2)}))))
					{
						setverdict (fail);
						log("FAIL: unexpected HLC value"); 
					}
					
					f_check_Ringing();
					
@@ -2655,7 +2783,14 @@ module SipIsup_IMS_TCFunctions {
					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_statusLine183,vc_callId, vc_cSeq));
					//	TODO: check XML Progress indicator in 183 response
					
					//	Check message body : PSTN XML progress indicator
					if (not (match(vc_pstnTransit_remote.ProgressIndicator[0],
								mw_ProgressIndicatorType(?,{bit2str(c_PI_7)}))))
					{
						setverdict (fail);
						log("FAIL: unexpected progress indicator"); 
					}
	
					f_check_Ringing();