Commit 61169def authored by rennoch's avatar rennoch
Browse files

new f_IMS_TC_602_002 and related function for shortcut

parent 5effb903
Loading
Loading
Loading
Loading
+42 −21
Original line number Diff line number Diff line
@@ -10394,24 +10394,14 @@ module SipIsup_IMS_TCFunctions {

					//Awaiting reINVITE, reply 200
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					// check SDP a=sendonly
					if (not (ispresent(vc_request.messageBody) and f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendonly))) 
						{setverdict(fail);};
					// response to Invite
     				f_SIP_modMediaDirection(1, m_attribute_recvonly); // handling of attribute in media description
					f_SIP_modSessionDirection(m_attribute_recvonly); // handling of attribute in session
					f_SIP_checksetSDPreqDirection(mw_attribute_sendonly,m_attribute_recvonly); // handling of attribute in media description
					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_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1	
					
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					// check SDP a=sendrecv
					if (not (ispresent(vc_request.messageBody) and f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendrecv))) 
						{setverdict(fail);};
					// response to Invite
					f_SIP_modMediaDirection(1, m_attribute_sendrecv); // handling of attribute in media description
					f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session
					f_SIP_checksetSDPreqDirection(mw_attribute_sendrecv,m_attribute_sendrecv); // handling of attribute in media description
					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));					
					
@@ -10420,21 +10410,16 @@ module SipIsup_IMS_TCFunctions {
					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, m_Supported_prec, 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));		
					// check SDP a=recvonly
					if (not (ispresent(vc_request.messageBody) and f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_recvonly))) 
						{setverdict(fail);};						
					f_SIP_checkSDPrespDirection(mw_attribute_recvonly);
					
					f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2	
										
					
					f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session
					LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq);
					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, m_Supported_prec, 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));		
					// check SDP a=recvonly
					if (not (ispresent(vc_request.messageBody) and f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendrecv))) 
						{setverdict(fail);};								
					f_SIP_checkSDPrespDirection(mw_attribute_sendrecv);
					

					//await BYE and send 200 OK
@@ -10447,6 +10432,42 @@ module SipIsup_IMS_TCFunctions {
					
				}// end function f_IMS_TC_602_001
 
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_602_002
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_602_002(in CSeq p_cSeq_s) runs on ImsComponent {
				
					// PREAMBLE
					// IMS component interface initialization
					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 UPDATE, reply 200
					f_awaitingUPDATE(mw_NOTIFY_Request_Base(vc_callId));
					f_SIP_checksetSDPreqDirection(mw_attribute_sendonly,m_attribute_recvonly); // handling of attribute in media description
					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_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1	

					//Awaiting UPDATE, reply 200
					f_awaitingUPDATE(mw_NOTIFY_Request_Base(vc_callId));
					f_SIP_checksetSDPreqDirection(mw_attribute_sendrecv,m_attribute_sendrecv); // handling of attribute in media description
					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
					f_SIP_postamble_IMS1_withoutRegistration ()
					
				}// end function f_IMS_TC_602_002
 			 
			} // end group TP602_HOLD