Loading ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +78 −1 Original line number Original line Diff line number Diff line Loading @@ -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 { Loading @@ -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 { Loading ttcn/AtsSccas/AtsSccas_Templates.ttcn +48 −0 Original line number Original line Diff line number Diff line Loading @@ -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", Loading ttcn/AtsSccas/AtsSccas_Testcases.ttcn +57 −2 Original line number Original line Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading Loading
ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +78 −1 Original line number Original line Diff line number Diff line Loading @@ -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 { Loading @@ -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 { Loading
ttcn/AtsSccas/AtsSccas_Templates.ttcn +48 −0 Original line number Original line Diff line number Diff line Loading @@ -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", Loading
ttcn/AtsSccas/AtsSccas_Testcases.ttcn +57 −2 Original line number Original line Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading