Commit 2a74f9f0 authored by pintar's avatar pintar
Browse files

MCID test cases for group N02

parent c05a8e47
Loading
Loading
Loading
Loading
+205 −0
Original line number Diff line number Diff line
@@ -1986,6 +1986,211 @@ group SuplementaryService_MCID{
		group terminating_S_CSCF{
		}// end group terminating_S_CSCF
		group terminating_AS{
			
			function f_Sip_MCID_N02_001_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				var template PAssertedID v_PAsserted;

				// set PAssertedID
				v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted));
								
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

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

				// INVITE to AS1@IMS
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, 
																	vc_route, vc_recordRoute, v_PAsserted, omit, omit, omit, m_MBody_SDP(vc_sdp_local)));
				
				f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
				
				//awaiting INFO with MIME message body
				f_awaitingINFO_sendReply(mw_INFO_Request_MB(vc_callId, mw_MBody_MIMESdpXml(*, mw_XmlBody_MCID(mw_mcid_request_mcidIndicatorTrue))));
				
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
				
				// send CANCEL and receive 200 OK
				f_cancelCall(m_CANCEL_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_route));
			
				f_awaitingResponse(mw_Response_Base(c_statusLine487, vc_callId, vc_cSeq));					
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));				
			
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_MCID_N02_001_AS1
			
			function f_Sip_MCID_N02_002_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				var template PAssertedID v_PAsserted;
				var float v_timeout := PX_Timeout_MCID_BYE;
				var float v_timeout_min := (v_timeout)*0.95;

				// set PAssertedID
				v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted));
								
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

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

				// INVITE to AS1@IMS
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, 
																	vc_route, vc_recordRoute, v_PAsserted, omit, omit, omit, m_MBody_SDP(vc_sdp_local)));
				
				f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
				
				f_sendResponse(m_Response_mbody(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, valueof(m_MBody_SDP(vc_sdp_local))));
		
				f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
				
				f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, valueof(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));

				// POSTAMBLE: await ACK, await termination
				f_awaitingACK(mw_ACK_Request_Base(vc_callId));

				f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

				//	Expect a reaction after timeout of protocol timer PX_Timeout_MCID-BYE - 5%
				f_wait(v_timeout_min);

				f_awaitingBYE(mw_BYE_Request_Base(vc_callId));

				f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via));

				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
				
				// UE1 is registerd in SUT only, but not registered in IMS1
				f_SIP_postamble_IMS1_withoutRegistration();
								
			} // end f_Sip_MCID_N02_002_AS1
			
			function f_Sip_MCID_N02_003_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				var template PAssertedID v_PAsserted;
				var float v_timeout := PX_Timeout_MCID_BYE;
				var float v_timeout_min := (v_timeout)*0.95;

				// set PAssertedID
				v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted));
								
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

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

				// INVITE to AS1@IMS
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, 
																	vc_route, vc_recordRoute, v_PAsserted, omit, omit, omit, m_MBody_SDP(vc_sdp_local)));
				
				f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
				
				f_sendResponse(m_Response_mbody(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, valueof(m_MBody_SDP(vc_sdp_local))));
		
				f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
				
				f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, valueof(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));

				// POSTAMBLE: await ACK, await termination
				f_awaitingACK(mw_ACK_Request_Base(vc_callId));

				f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

				//	Expect a reaction after timeout of protocol timer PX_Timeout_MCID-BYE - 5%
				f_wait((v_timeout_min)/3.0);
				
				//ReInvite procedure
				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));
				
				f_wait(2.0*(v_timeout_min)/3.0);

				f_awaitingBYE(mw_BYE_Request_Base(vc_callId));

				f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via));

				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
				
				// UE1 is registerd in SUT only, but not registered in IMS1
				f_SIP_postamble_IMS1_withoutRegistration();
								
			} // end f_Sip_MCID_N02_003_AS1
			
			function f_Sip_MCID_N02_004_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				var template PAssertedID v_PAsserted;

				// set PAssertedID
				v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted));
								
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

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

				// INVITE to AS1@IMS
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, 
																	vc_route, vc_recordRoute, v_PAsserted, omit, omit, omit, m_MBody_SDP(vc_sdp_local)));
								
				//awaiting INFO with MIME message body
				f_awaitingINFO_sendReply(mw_INFO_Request_MB(vc_callId, mw_MBody_MIMESdpXml(*, mw_XmlBody_MCID(mw_mcid_request_mcidIndicatorTrue))));
				
				f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
				
				f_sendResponse(m_Response_mbody(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, valueof(m_MBody_SDP(vc_sdp_local))));
								
				vc_xml_local := valueof(m_XmlBody_MCID(m_mcid_response_mcidIndicatorTrue));
				f_SendINFO(m_INFO_Request_Mime_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via,  m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local)));
				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));
				
				f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
				
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
				
				f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, valueof(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));

				// POSTAMBLE: await ACK, await termination
				f_awaitingACK(mw_ACK_Request_Base(vc_callId));

				f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

				f_awaitingBYE(mw_BYE_Request_Base(vc_callId));

				f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via));
				
				// UE1 is registerd in SUT only, but not registered in IMS1
				f_SIP_postamble_IMS1_withoutRegistration();
								
			} // end f_Sip_MCID_N02_004_AS1
			
		}// end group terminating_AS
		group destination_UE{
		}// end group destination_UE