Commit 72ce8cd9 authored by poglitsch's avatar poglitsch
Browse files

TC_SS___XX__02 added

parent 5ed1c316
Loading
Loading
Loading
Loading
+230 −2
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ module AtsNIT_SipSip_BC_TCFunctions {
            		
            		// await 180 response without 
            		// 100rel in require header field
            		f_awaitingResponse(mw_Response_Require(
            		f_awaitingResponse(mw_Response_Require_ifpresent(
            			c_statusLine180,
            			vc_callId, 
            			vc_cSeq,
@@ -118,7 +118,7 @@ module AtsNIT_SipSip_BC_TCFunctions {
            		f_awaitingINVITE(mw_INVITE_Request_require(
            			mw_Require_not_100rel
            		)); 
					f_sendResponse(m_Response_18XonINVITE_require(
					f_sendResponse(m_Response_18XonINVITE_Require_ifpresent(
						c_statusLine180,
						vc_callId, 
						vc_cSeq,
@@ -162,6 +162,234 @@ module AtsNIT_SipSip_BC_TCFunctions {
					f_IMS_postamble_withDeRegistration(vc_cSeq);
				} // end function f_AtsNIT_TC_SS___XX__01UE2
				
				
				/* 
				* @desc		This is the test case function (originating side) for AtsNIT_TC_SS___XX__02
				* @param	p_CSeq_s Transaction Id
				*/
				function f_AtsNIT_TC_SS___XX__02UE1(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

					// Testbody
					
					// prepare and send INVITE UE2@SUT
            		LibIms_Steps.f_setHeadersINVITE(
            			vc_cSeq, 
            			c_userProfile_UE2atSUThome
            		);
            		
            		f_SendINVITE(m_INVITE_Request_UE(
            			vc_requestUri, 
            			vc_callId, 
            			vc_cSeq, 
            			vc_from, 
            			vc_to, 
            			vc_via, 
            			vc_contact, 
            			omit, 
            			vc_route, 
            			m_Supported_100rel_prec, 
            			m_MBody_SDP(vc_sdp_local)
            		));
            		
            		// await 184 response with 
            		// 100rel in require header field
            		// and a=curr and a=des lines present in sdp
            		f_awaitingResponse(mw_Response_messageBody(
            			c_statusLine183,
            			vc_callId, 
            			vc_cSeq,
            			mw_require_100rel,
            			mw_MBody_SDP(
            				mw_SDP_atribute_list(
            					superset(mw_attribute_curr, mw_attribute_des)
            				)
            			)
            		));
            		
            		// await 200 OK response
            		f_awaitingOkResponse(vc_cSeq);
            		
            		// send PRACK
            		f_SendPRACK(m_PRACK_Request_Base(
            			vc_requestUri, 
            			vc_callId, 
            			vc_cSeq, 
            			vc_from, 
            			vc_to, 
            			vc_via,
            			vc_rAck
            		));
            		
            		// await 200 OK response
            		f_awaitingOkResponse(vc_cSeq);
            		
            		f_SendUPDATE(m_UPDATE_Request_Base(
            		    vc_requestUri, 
            			vc_callId, 
            			vc_cSeq, 
            			vc_from, 
            			vc_to, 
            			vc_via, 
            			vc_contact, 
            			m_MBody_SDP(vc_sdp_local)
            		));
            		
            		f_awaitingUPDATE_sendReply(mw_UPDATE_Request_SDP(
            			vc_callId,
            			mw_MBody_SDP(
            				mw_SDP_atribute_list(
            					superset(mw_attribute_curr, mw_attribute_des)
            				)
            			)	
            		));
            		
            		// await 180 response without 
            		// 100rel in require header field
            		f_awaitingResponse(mw_Response_Require_ifpresent(
            			c_statusLine180,
            			vc_callId, 
            			vc_cSeq,
            			mw_Require_not_100rel
            		));
            		
					// send PRACK
            		f_SendPRACK(m_PRACK_Request_Base(
            			vc_requestUri, 
            			vc_callId, 
            			vc_cSeq, 
            			vc_from, 
            			vc_to, 
            			vc_via,
            			vc_rAck
            		));
            		
            		// await 200 OK PRACK response
            		f_awaitingOkResponse(vc_cSeq);
            		
            		// await 200 OK INVITE response
            		f_awaitingOkResponse(vc_cSeq);
            		
            		// send ACK
            		f_SendACK(m_ACK_Request_Base(
            			vc_requestUri, 
            			vc_callId, 
            			vc_cSeq, 
            			vc_from, 
            			vc_to, 
            			vc_via
            		));
            		
            		// check media
            		f_check_Conversation();
            		
            		//await BYE and send 200OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
            		
					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
					
					// postamble
					f_IMS_postamble_withDeRegistration(vc_cSeq);
				} // end function f_AtsNIT_TC_SS___XX__01UE1

				/* 
				* @desc		This is the test case function (terminating side) for AtsNIT_TC_SS___XX__02
				* @param	p_CSeq_s Transaction Id
				*/
				function f_AtsNIT_TC_SS___XX__02UE2(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());

					// Testbody
					
            		f_awaitingINVITE(mw_INVITE_Request_require(
            			mw_require_100rel
            		)); 
            		
            		// send 183 response
					f_sendResponse(m_Response_18XonINVITE_require_sdp_UE(
						c_statusLine183,
						vc_callId, 
						vc_cSeq,
						vc_caller_From, 
						vc_caller_To, 
						vc_via,
						vc_contact,
						mw_require_100rel,
						m_MBody_SDP(vc_sdp_local)
					));
					
					// await PRACK
					f_awaitingPRACK_sendReply(
						mw_PRACK_Request_Base(vc_callId)
					);
					
					// await UPDATE
					f_awaitingUPDATE_sendReply(mw_UPDATE_Request_SDP(
            			vc_callId,
            			mw_MBody_SDP(
            				mw_SDP_atribute_list(
            					superset(mw_attribute_curr, mw_attribute_des)
            				)
            			)	
            		));
					
					// send UPDATE
					f_SendUPDATE(m_UPDATE_Request_Base(
            		    vc_requestUri, 
            			vc_callId, 
            			vc_cSeq, 
            			vc_from, 
            			vc_to, 
            			vc_via, 
            			vc_contact, 
            			m_MBody_SDP(vc_sdp_local)
            		));
            		
            		// await 200 OK UPDATE response
            		f_awaitingOkResponse(vc_cSeq);
            		
            		// send 180 response
            		f_sendResponse(m_Response_18XonINVITE_UE(
						c_statusLine180,
						vc_callId, 
						vc_cSeq,
						vc_caller_From, 
						vc_caller_To, 
						vc_via,
						vc_contact
					));
					
					// await Prack
					f_awaitingPRACK_sendReply(
						mw_PRACK_Request_Base(vc_callId)
					);
					
					// send 200 OK Invite
					f_send200OK(); // TODO must be checked
            		
            		// await ACK
					f_awaitingACK(mw_ACK_Request_Base(vc_callId));
            		
            		// check media
            		f_check_Conversation();
            		
            		//SendBYE and await response
					f_terminateCall_UE(
						vc_requestUri, 
						vc_callId, 
						vc_cSeq, 
						vc_caller_From, 
						vc_caller_To
					);
            		
					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
					
					// postamble
					f_IMS_postamble_withDeRegistration(vc_cSeq);
				} // end function f_AtsNIT_TC_SS___XX__01UE2
				
		} // end group TP1_1_1_BC_Normal_Call_Esthablishment
		
		group TP1_1_2_BC_CodecNegotiation {