Commit 53dfe324 authored by juvancic's avatar juvancic
Browse files

testcases, group 301, ISUP->SIP

parent b28f0e54
Loading
Loading
Loading
Loading
+146 −0
Original line number Diff line number Diff line
@@ -82,6 +82,152 @@ module SipIsup_IMS_TCFunctions {
		} // end group TP1_InterworkingFromSIPtoISUP
		group TP3_InterworkingFromISUPtoSIP {
			group TP301_Sending_INVITE {
			 
					/* 
					*  @desc	This is the test case function (IMS/SIP side) for TC_301_001
					*  @param	loc_CSeq_s - Transaction Id
					*/
					function f_IMS_TC_301_001(in CSeq p_cSeq_s) runs on ImsComponent {
					
						// PREAMBLE
						// IMS component interface initialization
						// TODO check if initialization of interface profile is needed
						f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1);
						//Variables & defaults initialization
						f_IMS_preamble_woRegistration(c_userProfile_IBCFwithHomeUE, p_cSeq_s);

						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(*,*,*,*));
						f_sendResponse(m_Response_18XonINVITE(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
						
						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));
						
						//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_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());// sync point postamble done
						f_SIP_postamble_IMS1_withoutRegistration ()
						
					}// end function f_IMS_TC_301_001
    				
    				/* 
    				*  @desc	This is the test case function (IMS/SIP side) for TC_301_002
    				*  @param	loc_CSeq_s - Transaction Id
    				*/
    				function f_IMS_TC_301_002(in CSeq p_cSeq_s) runs on ImsComponent {
						f_IMS_TC_301_001(p_cSeq_s);
    				}// end function f_IMS_TC_301_002
    				 
    				/* 
    				*  @desc	This is the test case function (IMS/SIP side) for TC_301_003
    				*  @param	loc_CSeq_s - Transaction Id
    				*/
    				function f_IMS_TC_301_003(in CSeq p_cSeq_s) runs on ImsComponent {
    					f_IMS_TC_301_001(p_cSeq_s);
    				}// end function f_IMS_TC_301_003
    				
					/* 
					*  @desc	This is the test case function (IMS/SIP side) for TC_301_004
					*  @param	loc_CSeq_s - Transaction Id
					*/
					function f_IMS_TC_301_004(in CSeq p_cSeq_s) runs on ImsComponent {
						f_IMS_TC_301_001(p_cSeq_s);
					}// end function f_IMS_TC_301_004
					
					/* 
					*  @desc	This is the test case function (IMS/SIP side) for TC_301_005
					*  @param	loc_CSeq_s - Transaction Id
					*/
					function f_IMS_TC_301_005(in CSeq p_cSeq_s) runs on ImsComponent {
						f_IMS_TC_301_001(p_cSeq_s);
					}// end function f_IMS_TC_301_005    				 
					
					/* 
					*  @desc	This is the test case function (IMS/SIP side) for TC_301_006
					*  @param	loc_CSeq_s - Transaction Id
					*/
					function f_IMS_TC_301_006(in CSeq p_cSeq_s) runs on ImsComponent {
						f_IMS_TC_301_001(p_cSeq_s);
					}// end function f_IMS_TC_301_006
					
					/* 
					*  @desc	This is the test case function (IMS/SIP side) for TC_301_007
					*  @param	loc_CSeq_s - Transaction Id
					*/
					function f_IMS_TC_301_007(in CSeq p_cSeq_s) runs on ImsComponent {
						f_IMS_TC_301_001(p_cSeq_s);
					}// end function f_IMS_TC_301_007
					
					/* 
    				*  @desc	This is the test case function (IMS/SIP side) for TC_301_008
    				*  @param	loc_CSeq_s - Transaction Id
    				*/
    				function f_IMS_TC_301_008(in CSeq p_cSeq_s) runs on ImsComponent {
    					var CSeq v_cSeq_INVITE;
    					// PREAMBLE
    					// IMS component interface initialization
    					// TODO check if initialization of interface profile is needed
    					f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1);
    					//Variables & defaults initialization
    					f_IMS_preamble_woRegistration(c_userProfile_IBCFwithHomeUE, p_cSeq_s);
    
    					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(*,*,*,*));
						v_cSeq_INVITE:=vc_cSeq;
						
    					f_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine183,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),omit));
    										
    					f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId));
    					
    					f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point
    					
    					f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId));
    					f_sendResponse(m_Response_2xxonUPDATE(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_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),omit));
    										
    					f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId));
    						
    					f_sendResponse(m_Response_2xxonINVITE(c_statusLine200,vc_callId, v_cSeq_INVITE,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));
    						
    					//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_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());// sync point postamble done
    					f_SIP_postamble_IMS1_withoutRegistration ();
    						
    				}// end function f_IMS_TC_301_008
    				
					/*
				 	 *  @desc	This is the test case function (IMS/SIP side) for TC_301_009
					 *  @param	loc_CSeq_s - Transaction Id
					*/
					function f_IMS_TC_301_009(in CSeq p_cSeq_s) runs on ImsComponent {
						f_IMS_TC_301_008(p_cSeq_s);
					}// end function f_IMS_TC_301_009
					
			} // end group TP301_SendingINVITE
		
			group TP302_Receiving_SAM {