Commit b33f8952 authored by Axel Rennoch's avatar Axel Rennoch
Browse files

template for f_TC_ISC_SCCAS_PPT_CAN_01

parent 36c254eb
Loading
Loading
Loading
Loading
+67 −0
Original line number Diff line number Diff line
@@ -1202,6 +1202,73 @@ module AtsSccas_TCFunctions {

			} // End of function f_TC_ISC_SCCAS_PPT_BYE_02

			/**
			 *  @desc    Verify that the SCC AS successfully processes an CANCEL on a early dialog.
			 *  @param   p_cSeq_s Random CSeq REGISTER number
			 */
			function f_TC_ISC_SCCAS_PPT_CAN_01(in CSeq p_cSeq_s)
			runs on ImsComponent {
				// Local variables
				var CSeq v_cSeq_s := p_cSeq_s;

				// Preambule
				f_init_userprofile(c_userProfile_UE1atSUThome);
				f_initSipUrl(c_serviceProfile_EMERGENCY);
				f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1);
				// Registration
				f_sendRegistrationAndAwait200Ok(
												v_cSeq_s,
												m_sccas_register(
																vc_requestUri, 
																vc_callId, 
																vc_cSeq, 
																vc_from, 
																vc_to, 
																vc_via_REG, 
																vc_contact, 
																m_add_Authorization_digest(
																							vc_authorization, 
																							{c_Integrity_protected_no}
																							), 
																PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation
																PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation
																"600000",
																-,
																m_contentType(c_sdpApplication), // TODO To be refined during validation
																m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation
												), 
												mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact)
												);
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

				// Registration
				f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersCANCEL(v_cSeq_s);
				f_SendCANCEL(
							 m_CANCEL_Request_Reason_IMS(
											vc_requestUri,
											vc_callId, 
											p_cSeq_s, 
											vc_from, vc_to, vc_via_REG,vc_route,
											503
											));
				tc_T1.start(8.0); tc_T1.timeout; // wait 8s
				tc_ack.start;
				alt {
					[] SIPP.receive(mw_Response_Base(c_statusLine200)) {
						tc_ack.stop;
						log("*** " & __SCOPE__ & ": PASS: 200 OK message was received ***");
						f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync
					}
					[] tc_ack.timeout {
						f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync 
					}
				}
				
				// TODO Deregistration?
				f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

			} // End of function f_TC_ISC_SCCAS_PPT_CAN_01

    } // End of group Group_10_3
     
    group Group_11_3 {