Commit a3fad054 authored by Steffen Ludtke's avatar Steffen Ludtke
Browse files

new TCs in section 9,3

parent ab0a15e5
Loading
Loading
Loading
Loading
+78 −1
Original line number Original line Diff line number Diff line
@@ -1373,7 +1373,7 @@ module AtsSccas_TCFunctions {
							mw_contentType_appclication_sdp, 
							mw_contentType_appclication_sdp, 
							mw_sdpmessageBody)) {
							mw_sdpmessageBody)) {
						tc_ack.stop;
						tc_ack.stop;
						log("*** " & __SCOPE__ & ": PASS: response 200 was received ***");
						log("*** " & __SCOPE__ & ": PASS: UPDATE message received ***");
						f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync
						f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync
					}
					}
					[] tc_ack.timeout {
					[] tc_ack.timeout {
@@ -1390,6 +1390,83 @@ module AtsSccas_TCFunctions {
		
		
		} // End of f_TC_ISC_SCCAS_CPT_INV_05
		} // End of f_TC_ISC_SCCAS_CPT_INV_05
		
		
		function f_TC_ISC_SCCAS_CPT_INV_06(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);
				
		// initial condition: the UE entity isRegisteredTo the IMS  
		f_registrationAS(p_cSeq_s);
		
		
		// TODO: the IUT entity hasAchievedInitialINVITE // TODO: INVITE contains: g3gppDrvccAlerting
		
		// STEP: send r_180_ringing
		f_sendResponse(m_Response_Base(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via));
		
		// Expected Update
		tc_ack.start;
				alt {
					[] SIPP.receive(mw_UPDATE_Request_ContactChange(
							vc_callId, 
							mw_contact_sourceLegAtCreation, 
							mw_contentType_appclication_sdp, 
							mw_sdpmessageBody)) {
						tc_ack.stop;
						log("*** " & __SCOPE__ & ": PASS: UPDATE message was received ***");
						f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync
					}
					[] tc_ack.timeout {
						f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync 
					}
				}
		
		} // End of f_TC_ISC_SCCAS_CPT_INV_06
		
		function f_TC_ISC_SCCAS_PCT_REF_02(in CSeq p_cSeq_s)
		runs on ImsComponent {
			
			// Preambule
			f_init_userprofile(c_userProfile_UE1atSUThome);
			f_initSipUrl(c_serviceProfile_EMERGENCY);
			f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1);
					
			// initial condition: the UE entity isRegisteredTo the IMS  
			f_registrationAS(p_cSeq_s);
			
			
			// STEP: send 488 notAcceptableHere
			f_sendResponse(m_Response_Base(c_statusLine488, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via));
			
			
//				template CallId p_callId := ?,
//					template(value) SipUrl p_requestUri,
//					template(value) SipUrl p_referredBy,
//					template(value) MessageBody p_messageBody	
			// Ecpecation: REFER message
			tc_ack.start;
				alt {
					[] SIPP.receive(mw_REFER_Request_stl(
							vc_callId, 
							?, 
							?, 
							mw_sdpmessageBody)) {
						tc_ack.stop;
						log("*** " & __SCOPE__ & ": PASS: REFER message was received ***");
						f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync
					}
					[] tc_ack.timeout {
						f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync 
					}
				}
			
		} // End of f_TC_ISC_SCCAS_PCT_REF_02
        
    } // End of group Group_9_3
    } // End of group Group_9_3
     
     
    group Group_10_3 {
    group Group_10_3 {
+48 −0
Original line number Original line Diff line number Diff line
@@ -490,6 +490,54 @@ module AtsSccas_Templates
            
            
                group request_receive_Steffen {
                group request_receive_Steffen {
                
                
   
				template(present) REFER_Request mw_REFER_Request_stl(
					template CallId p_callId := ?,
					template SipUrl p_requestUri,
					template SipUrl p_referredBy,
					template(present) SDP_Message p_sdpMessageBody			
				) modifies mw_REFER_Request_Base := {
					requestLine := {requestUri := p_requestUri},
					msgHeader := {
						referredBy := {
							fieldName := REFERRED_BY_E,
							nameAddr := mw_NameAddr(*, p_referredBy),  // STF471
																	   // {displayName
																	   // :=
																	   // *,
																	   // addrSpec
																	   // :=
																	   // p_referredBy},
							referredbyIdParams := *
						},
						pAssertedID := ?,
						referSub := 
							{
								referSubValue := false
							},
						contentType := 
							{
								mTypeSubtype := "application/sdp"
							},
						referTo := ?,
						require := 
							{
								fieldName := REQUIRE_E, optionsTags := {"tdilog"}
								
							}
					}, 
					messageBody := {
						sdpMessageBody := p_sdpMessageBody
					}
				}
				
				template LibSip_SIPTypesAndValues.Require test := {
					fieldName := REQUIRE_E, optionsTags := {"tdilog"}
				}

				
                
                
			     template LibSip_SIPTypesAndValues.ContentType mw_contentType_appclication_sdp := {
			     template LibSip_SIPTypesAndValues.ContentType mw_contentType_appclication_sdp := {
					 fieldName := CONTENT_TYPE_E, 
					 fieldName := CONTENT_TYPE_E, 
					 mTypeSubtype := "appclication/sdp", 
					 mTypeSubtype := "appclication/sdp", 
+57 −2
Original line number Original line Diff line number Diff line
@@ -570,11 +570,39 @@ module AtsSccas_Testcases
			
			
		} // End of TP_ISC_SCCAS_PCT_REF_01
		} // End of TP_ISC_SCCAS_PCT_REF_01
		
		
		
		/*
		 * @desc Verify that the SCC AS terminates the call over CS after receiving a SIP 488
		 * @param p_cSeq_s Transaction Id
		 */	
		testcase TP_ISC_SCCAS_PCT_REF_02(inout CSeq p_cSeq_s)
		testcase TP_ISC_SCCAS_PCT_REF_02(inout CSeq p_cSeq_s)
		runs on ServerSyncComp
		runs on ServerSyncComp
		system TestAdapter {
		system TestAdapter {
		
		
		// TODO
		var ImsComponent v_imsComponent_ueims;
				   
			// Test control
			if (not PICS_SCCAS_GM) {
				log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***");
				stop;
			}
			
			
			// Test component configuration
			f_cf_1IscUp(v_imsComponent_ueims);
			
			// TODO: SIP INVITE was sent with:
			// 		creating the session in the terminating alerting phase without an SDP MIME body
			// SCC AS supports PS to CS dual radio access
			
				
			f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_PCT_REF_02(p_cSeq_s));
					
			
			// synchronize PTC on 3 sychronization points
			f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

			f_cf_1IscDown(v_imsComponent_ueims);
			
			
		} // End of TP_ISC_SCCAS_PCT_REF_02
		} // End of TP_ISC_SCCAS_PCT_REF_02
		
		
@@ -648,11 +676,38 @@ module AtsSccas_Testcases
			
			
		} // End of TP_ISC_SCCAS_CPT_INV_05
		} // End of TP_ISC_SCCAS_CPT_INV_05
		
		
	
		/*
		 * @desc Verify that SCC AS correctly recognizes and initiated for CS to PS dual radio access transfer for a call in the alerting phase on the terminating side 
		 * @param p_cSeq_s Transaction Id
		 */	
		testcase TP_ISC_SCCAS_CPT_INV_06(inout CSeq p_cSeq_s)
		testcase TP_ISC_SCCAS_CPT_INV_06(inout CSeq p_cSeq_s)
		runs on ServerSyncComp
		runs on ServerSyncComp
		system TestAdapter {
		system TestAdapter {
		
		
		// TODO
		var ImsComponent v_imsComponent_ueims;
				   
			// Test control
			if (not PICS_SCCAS_GM) {
				log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***");
				stop;
			}
			
			
			// Test component configuration
			f_cf_1IscUp(v_imsComponent_ueims);
			
			// TODO: SCC AS supports the MSC Server g.3gpp.drvcc-alerting feature 
			
				
			f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_INV_06(p_cSeq_s));
			
			
			
			// synchronize PTC on 3 sychronization points
			f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

			f_cf_1IscDown(v_imsComponent_ueims);
			
			
		} // End of TP_ISC_SCCAS_CPT_INV_06
		} // End of TP_ISC_SCCAS_CPT_INV_06