Commit eff4b532 authored by rennoch's avatar rennoch
Browse files

f_IMS_TC_301_027-029

parent 4cdd2246
Loading
Loading
Loading
Loading
+99 −0
Original line number Diff line number Diff line
@@ -2972,6 +2972,105 @@ module SipIsup_IMS_TCFunctions {
	
				}// end function f_IMS_TC_301_026				
				
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_301_027
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_301_027(in CSeq p_cSeq_s) runs on ImsComponent {

					f_IMS_TC_301_026(p_cSeq_s);
						
				}// end function f_IMS_TC_301_027
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_301_028
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_301_028(in CSeq p_cSeq_s) runs on ImsComponent {

					// PREAMBLE
					// IMS component interface initialization
					//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());// sync point preamble done
					// TESTBODY

					//Awaiting INVITE	
					//f_awaitingINVITE(mw_INVITE_Request_Base); 
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					//Check message body : PSTN XML progress indicator #6(originating access ISDN)
					if (not (match(vc_pstnTransit_remote.ProgressIndicator[0],
								mw_ProgressIndicatorType(?,{bit2str('0000110'B)}))))
						{log("unexpected progress indicator"); setverdict (fail);}
					
					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();
					//await BYE and send 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

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

					// POSTAMBLE
					// send REGISTER, await 401, send REGISTER, await 200 OK 
					//f_RemoveRegistration(vc_cSeq);

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

//					var template Record_of_ProgressIndicatorType v_ProgressIndicatorTypeList1;
					
					// PREAMBLE
					// IMS component interface initialization
					//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());// sync point preamble done
					// TESTBODY

					//Awaiting INVITE	
					//f_awaitingINVITE(mw_INVITE_Request_Base); 
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					//Check message body : PSTN XML progress indicator #6(originating access ISDN)
					if (not (match(vc_pstnTransit_remote.ProgressIndicator,
								{mw_ProgressIndicatorType(?,{bit2str('0000110'B)}),
								 mw_ProgressIndicatorType(?,{bit2str(PX_ProgressIndicator)})}						 
							 ) or							 
							match(vc_pstnTransit_remote.ProgressIndicator,
									{mw_ProgressIndicatorType(?,{bit2str(PX_ProgressIndicator)}),
									 mw_ProgressIndicatorType(?,{bit2str('0000110'B)})}						 
						)   )	 )
						{log("unexpected progress indicator"); setverdict (fail);}
					
					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();
					//await BYE and send 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

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

					// POSTAMBLE
					// send REGISTER, await 401, send REGISTER, await 200 OK 
					//f_RemoveRegistration(vc_cSeq);

					f_SIP_postamble_IMS1_withoutRegistration ()
	
				}// end function f_IMS_TC_301_029

			} // end group TP301_SendingINVITE
		
			group TP302_Receiving_SAM {