Commit 1e15f051 authored by rennoch's avatar rennoch
Browse files

added tests in group 509

parent 96075a4f
Loading
Loading
Loading
Loading
+425 −10
Original line number Diff line number Diff line
@@ -10813,8 +10813,8 @@ module SipIsup_IMS_TCFunctions {
													({id:="Privacy",paramValue:="history"})};
					
					v_HIList:={
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), omit)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,1}),omit))
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), *)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,1}),*))
					};
													
					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
@@ -10829,9 +10829,6 @@ module SipIsup_IMS_TCFunctions {

					f_awaitingResponse(mw_Response_HistoryInfo(c_statusLine181,vc_callId, vc_cSeq,mw_HistoryInfo(v_HIList)));
					f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq));

					f_check_Ringing();

					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));		
@@ -10874,8 +10871,8 @@ module SipIsup_IMS_TCFunctions {
													({id:="Privacy",paramValue:="history"})};

					v_HIList:={
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), omit)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,1}),omit))
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), *)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,1}),*))
					};
					
					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
@@ -10890,8 +10887,6 @@ module SipIsup_IMS_TCFunctions {

					f_awaitingResponse(mw_Response_HistoryInfo(c_statusLine180,vc_callId, vc_cSeq, mw_HistoryInfo(v_HIList))); 

					f_check_Ringing();

					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));		
@@ -10913,6 +10908,426 @@ module SipIsup_IMS_TCFunctions {
					f_IMS_TC_509_006(p_cSeq_s);
				} // end function f_IMS_TC_509_007

				/* 
				* @desc		This is the test case function (SIP side) for TC_509_008
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_008(in CSeq p_cSeq_s) runs on ImsComponent {
					
					//expected status and cause values according to the testcase variant
					// From ETSI TS 186 009-2 TP509005-TP509008 - array used to parameterize the SIP test case variant
					var integer v_CauseVal[8]; 
					var NameAddr UserA,UserB;
					var template HistoryInfo_List v_HIList;
					
					// dummy value for index 0 (unused)
					v_CauseVal[0] := 0;
					v_CauseVal[1] := 404;
					v_CauseVal[2] := 302;
					v_CauseVal[3] := 486;
					v_CauseVal[4] := 408;
					v_CauseVal[5] := 487;
					v_CauseVal[6] := 480;
					v_CauseVal[7] := 503;
					
					if ((PX_TC_VA<1)and(PX_TC_VA>7)){log("PIXIT PX_TC_VA is not inside allowed range (1-7)!");}
					
					UserA := PX_SIP_NameAddr_From;
					UserB := PX_SIP_NameAddr_UserB;
					UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(v_CauseVal[PX_TC_VA])}),
													({id:="Privacy",paramValue:="history"})};
					
					v_HIList:={
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), *)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,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

					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, omit, 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_HistoryInfo(c_statusLine181,vc_callId, vc_cSeq,mw_HistoryInfo(v_HIList)));
					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 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_509_008

				/* 
				* @desc		This is the test case function (SIP side) for TC_509_009
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_009(in CSeq p_cSeq_s) runs on ImsComponent {
					
					var NameAddr UserA,UserB;
					var template HistoryInfo_List v_HIList;
					
					if ((PX_TC_VA<1)and(PX_TC_VA>2)){log("PIXIT PX_TC_VA is not inside allowed range (1-2)!");}
					
					UserA := PX_SIP_NameAddr_From;
					UserB := PX_SIP_NameAddr_UserB;
					
					if (PX_TC_VA==1){
						UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(302)})//,
														/*({id:="Privacy",paramValue:="none"})*/};
					}
					else{
						UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(302)}),
														({id:="Privacy",paramValue:="history"})};
					}									
					
					v_HIList:={
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), *)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,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

					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, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));

					f_awaitingResponse(mw_Response_HistoryInfo(c_statusLine181,vc_callId, vc_cSeq,mw_HistoryInfo(v_HIList)));
					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 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_509_009
				
				/* 
				* @desc		This is the test case function (SIP side) for TC_509_010
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_010(in CSeq p_cSeq_s) runs on ImsComponent {
					
					var NameAddr UserA,UserB;
					var template HistoryInfo_List v_HIList;
					
					if ((PX_TC_VA<1)and(PX_TC_VA>2)){log("PIXIT PX_TC_VA is not inside allowed range (1-2)!");}
					
					UserA := PX_SIP_NameAddr_From;
					UserB := PX_SIP_NameAddr_UserB;
					
					if (PX_TC_VA==1){
						UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(302)})//,
														/*({id:="Privacy",paramValue:="none"})*/};
					}
					else{
						UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(302)}),
														({id:="Privacy",paramValue:="history"})};
					}									
					
					v_HIList:={
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), *)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,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

					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, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));

					f_awaitingResponse(mw_Response_HistoryInfo(c_statusLine180,vc_callId, vc_cSeq,mw_HistoryInfo(v_HIList)));
					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 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_509_010				

				/* 
				* @desc		This is the test case function (SIP side) for TC_509_011
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_011(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_TC_509_010(p_cSeq_s);
				} // end function f_IMS_TC_509_011
				
				/* 
				* @desc		This is the test case function (SIP side) for TC_509_012
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_012(in CSeq p_cSeq_s) runs on ImsComponent {
					
					var NameAddr UserA,UserB;
					var template HistoryInfo_List v_HIList;
					
					if ((PX_TC_VA<1)and(PX_TC_VA>3)){log("PIXIT PX_TC_VA is not inside allowed range (1-3)!");}
					
					UserA := PX_SIP_NameAddr_From;
					UserB := PX_SIP_NameAddr_UserB;
					
					if (PX_TC_VA==1 or PX_TC_VA==3){
						UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(302)})//,
														/*({id:="Privacy",paramValue:="none"})*/};
					}
					else{
						UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(302)}),
														({id:="Privacy",paramValue:="history"})};
					}									
					
					v_HIList:={
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), *)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,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

					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, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));

					f_awaitingResponse(mw_Response_HistoryInfo(c_statusLine180,vc_callId, vc_cSeq,mw_HistoryInfo(v_HIList)));
					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 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_509_012				

				/* 
				* @desc		This is the test case function (SIP side) for TC_509_013
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_013(in CSeq p_cSeq_s) runs on ImsComponent {
					
					var NameAddr UserA,UserB;
					var template HistoryInfo_List v_HIList;
					
					if ((PX_TC_VA<1)and(PX_TC_VA>3)){log("PIXIT PX_TC_VA is not inside allowed range (1-3)!");}
					
					UserA := PX_SIP_NameAddr_From;
					UserB := PX_SIP_NameAddr_UserB;
					
					if (PX_TC_VA==1 or PX_TC_VA==3){
						UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(302)})//,
														/*({id:="Privacy",paramValue:="none"})*/};
					}
					else{
						UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(302)}),
														({id:="Privacy",paramValue:="history"})};
					}									
					
					v_HIList:={
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), *)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,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

					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, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));

					//f_awaitingResponse(mw_Response_Base(c_statusLine181,vc_callId, vc_cSeq));
					f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq));
					f_awaitingResponse(mw_Response_HistoryInfo(c_statusLine200,vc_callId, vc_cSeq,mw_HistoryInfo(v_HIList))); 

					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 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_509_013
				
				/* 
				* @desc		This is the test case function (SIP side) for TC_509_014
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_014(in CSeq p_cSeq_s) runs on ImsComponent {
					
					//expected status and cause values according to the testcase variant
					// From ETSI TS 186 009-2 TP509014-TP509024 - array used to parameterize the SIP test case variant
					var integer v_CauseVal[8]; 
					var NameAddr UserA,UserB;
					var template HistoryInfo_List v_HIList;
					
					// dummy value for index 0 (unused)
					v_CauseVal[0] := 0;
					v_CauseVal[1] := 404;
					v_CauseVal[2] := 302;
					v_CauseVal[3] := 486;
					v_CauseVal[4] := 408;
					v_CauseVal[5] := 487;
					v_CauseVal[6] := 480;
					v_CauseVal[7] := 503;
					
					if ((PX_TC_VA<1)and(PX_TC_VA>7)){log("PIXIT PX_TC_VA is not inside allowed range (1-7)!");}
					
					UserA := PX_SIP_NameAddr_From;
					UserB := PX_SIP_NameAddr_UserB;
					UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(v_CauseVal[PX_TC_VA])})};
					
					v_HIList:={
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), *)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,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

					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
					// Testbody

					// 	INVITE UE1
					LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_ISUP);
					f_SendINVITE(m_INVITE_Request_HistoryInfo_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local),mw_HistoryInfo(v_HIList)));

					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 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_509_014
				
				/* 
				* @desc		This is the test case function (SIP side) for TC_509_015
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_015(in CSeq p_cSeq_s) runs on ImsComponent {
					if (match(PX_SIP_NameAddr_From.addrSpec.userInfo.userOrTelephoneSubscriber,m_international_number_format)){
						f_IMS_TC_509_014(p_cSeq_s);
					}
					else{
						log("PIXIT PX_SIP_NameAddr_From is not in international format!");
					}
				} // end function f_IMS_TC_509_015
				
				/* 
				* @desc		This is the test case function (SIP side) for TC_509_016
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_016(in CSeq p_cSeq_s) runs on ImsComponent {
					
					//expected status and cause values according to the testcase variant
					// From ETSI TS 186 009-2 TP509014-TP509024 - array used to parameterize the SIP test case variant
					var integer v_CauseVal[8]; 
					var NameAddr UserA,UserB;
					var template HistoryInfo_List v_HIList;
					
					// dummy value for index 0 (unused)
					v_CauseVal[0] := 0;
					v_CauseVal[1] := 404;
					v_CauseVal[2] := 302;
					v_CauseVal[3] := 486;
					v_CauseVal[4] := 408;
					v_CauseVal[5] := 487;
					v_CauseVal[6] := 480;
					v_CauseVal[7] := 503;
					
					if ((PX_TC_VA<1)and(PX_TC_VA>7)){log("PIXIT PX_TC_VA is not inside allowed range (1-7)!");}
					
					UserA := PX_SIP_NameAddr_From;
					UserB := PX_SIP_NameAddr_UserB;
					UserA.addrSpec.urlParameters:={({id:="Privacy",paramValue:="history"})};
					UserB.addrSpec.urlParameters:={({id:="cause",paramValue:=int2str(v_CauseVal[PX_TC_VA])})};
					
					v_HIList:={
						(mw_HistoryInfoEntry(UserA.addrSpec, ({1}), *)),
						(mw_HistoryInfoEntry(UserB.addrSpec, ({1,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

					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
					// Testbody

					// 	INVITE UE1
					LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_ISUP);
					f_SendINVITE(m_INVITE_Request_HistoryInfo_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local),mw_HistoryInfo(v_HIList)));

					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 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

					f_SIP_postamble_IMS1_withoutRegistration();
				} // end function f_IMS_TC_509_016
				
				/* 
				* @desc		This is the test case function (SIP side) for TC_509_017
				* @param	p_CSeq_s Transaction Id
				*/
				function f_IMS_TC_509_017(in CSeq p_cSeq_s) runs on ImsComponent {
						f_IMS_TC_509_014(p_cSeq_s);					
				} // end function f_IMS_TC_509_017											
				
			} // end group TP509_CDIV
		
			group TP510_CW {