Loading DiameterRfRo/ttcn/DiameterRfRo_SIP_TCFunctions.ttcn +237 −25 Original line number Diff line number Diff line Loading @@ -39,11 +39,11 @@ module DiameterRfRo_SIP_TCFunctions { group TP_RF_CTF_TC { /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V01 * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA1 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1 * @param p_cSeq_s */ function f_TC_CTF_TC_UE_01_V01(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_UE_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; Loading @@ -65,15 +65,16 @@ module DiameterRfRo_SIP_TCFunctions { // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_01_V01 } // end function f_TC_CTF_TC_UE_01_VA1 /** * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V01 * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA1 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS * @param p_cSeq_s */ function f_TC_CTF_TC_CSCF_01_V01(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_CSCF_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_woRegistration(p_cSeq_s);//TODO - delete when test is validated - //used to be profile c_userProfile_ICSCFwithHomeUE, //TODO - delete when test is validated - //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF); Loading @@ -87,15 +88,16 @@ module DiameterRfRo_SIP_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //Postamble f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_01_V01 } // end function f_TC_CTF_TC_CSCF_01_VA1 /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V02 * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA2 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1 * @param p_cSeq_s */ function f_TC_CTF_TC_UE_01_V02(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_UE_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; Loading Loading @@ -129,15 +131,16 @@ module DiameterRfRo_SIP_TCFunctions { // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_01_V02 } // end function f_TC_CTF_TC_UE_01_VA2 /** * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V02 * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA2 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS * @param p_cSeq_s */ function f_TC_CTF_TC_CSCF_01_V02(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_CSCF_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_woRegistration(p_cSeq_s);//TODO - delete when test is validated - //used to be profile c_userProfile_ICSCFwithHomeUE, //TODO - delete when test is validated - //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF); Loading @@ -150,15 +153,16 @@ module DiameterRfRo_SIP_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //Postamble f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_01_V02 } // end function f_TC_CTF_TC_CSCF_01_VA2 /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V03 * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA3 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1 * @param p_cSeq_s */ function f_TC_CTF_TC_UE_01_V03(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_UE_01_VA3(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; Loading Loading @@ -195,24 +199,25 @@ module DiameterRfRo_SIP_TCFunctions { // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_01_V03 } // end function f_TC_CTF_TC_UE_01_VA3 /** * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V03 * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA3 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS * @param p_cSeq_s */ function f_TC_CTF_TC_CSCF_01_V03(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CTF_TC_CSCF_01_V02(p_cSeq_s); } // end function f_TC_CTF_TC_CSCF_01_V03 function f_TC_CTF_TC_CSCF_01_VA3(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CTF_TC_CSCF_01_VA2(p_cSeq_s); } // end function f_TC_CTF_TC_CSCF_01_VA3 /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V04 * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA4 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_SUB_03_UE1 * @param p_cSeq_s */ function f_TC_CTF_TC_UE_01_V04(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_UE_01_VA4(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; Loading Loading @@ -241,15 +246,16 @@ module DiameterRfRo_SIP_TCFunctions { // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_01_V04 } // end function f_TC_CTF_TC_UE_01_VA4 /** * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V04 * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA4 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_SUB_03_IMS * @param p_cSeq_s */ function f_TC_CTF_TC_CSCF_01_V04(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_CSCF_01_VA4(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_woRegistration( p_cSeq_s);//c_userProfile_ICSCFwithHomeUE, //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF); Loading @@ -264,8 +270,9 @@ module DiameterRfRo_SIP_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_01_V04 } // end function f_TC_CTF_TC_CSCF_01_VA4 /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_02 Loading Loading @@ -304,6 +311,7 @@ module DiameterRfRo_SIP_TCFunctions { // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_02 Loading Loading @@ -338,6 +346,7 @@ module DiameterRfRo_SIP_TCFunctions { //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_02 Loading Loading @@ -377,6 +386,7 @@ module DiameterRfRo_SIP_TCFunctions { // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_03 Loading Loading @@ -411,6 +421,7 @@ module DiameterRfRo_SIP_TCFunctions { //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_03 Loading Loading @@ -458,6 +469,7 @@ module DiameterRfRo_SIP_TCFunctions { f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_04 Loading Loading @@ -494,6 +506,7 @@ module DiameterRfRo_SIP_TCFunctions { //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_04 Loading Loading @@ -535,6 +548,7 @@ module DiameterRfRo_SIP_TCFunctions { // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_05 Loading Loading @@ -568,6 +582,7 @@ module DiameterRfRo_SIP_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_05 Loading Loading @@ -696,6 +711,203 @@ module DiameterRfRo_SIP_TCFunctions { // 5.2.3.2.3 Type of Charging group TP_RO_CTF_TC { /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE_01_VA1 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE1 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_UE_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact,vc_authorization)); // Variables & defaults initialization f_IMS_preamble_woRegistration(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 // Preamble f_Registration(p_cSeq_s, v_register, PX_SIP_REGISTER_AUTHENTICATION_ENABLED); // deregistration in case of successful registration vc_DeregDone := false; f_setHeaders_SUBSCRIBE(p_cSeq_s); f_Subscription(p_cSeq_s, m_SUBSCRIBE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, vc_route_REG)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //POSTAMBLE: dereg f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_RemoveRegistration(vc_cSeq); // de-register in SUT f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_RO_CTF_TC_UE_01_VA1 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE2_01_VA1 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE2 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_UE2_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { log("No action on UE2."); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //POSTAMBLE: dereg f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_RO_CTF_TC_UE2_01_VA1 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_AS_01_VA1 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_AS1 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_AS_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { var PChargingVector v_pCharging; // IMS1UE1 contact is in home network (TS) f_IMS_preamble_AS( p_cSeq_s); // configuration of local user IMS1UE1 //c_userProfile_AS1, c_interfaceProfile_IMS_SUT_SCSCF, f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); //Registration of first user sent to AS f_awaitingREGISTER_sendReply(mw_REGISTER_Request_Base, true); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE: deregistration for UE1 on AS f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_IMS_postamble_AS_withDeRegistration(true); } // end function f_TC_RO_CTF_TC_AS_01_VA1 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE_01_VA2 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE1 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_UE_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact,vc_authorization)); // Request-Uri refers to home network (SUT) // UE1 registers its public sip-url in home network (SUT) // UE contact is in home network (SUT) // UE authorizaton data is in home network (SUT) f_IMS_preamble_withRegistration(p_cSeq_s,v_register); // LibSip //c_userProfile_UE1atSUThome, c_interfaceProfile_IMS_SUT_PCSCF1, f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // MESSAGE UE1@IMS1 LibIms_Steps.f_setHeadersMESSAGE(p_cSeq_s, vc_requestUri);//c_userProfile_UE2atSUThome f_SendMESSAGE(m_MESSAGE_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_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //POSTAMBLE: dereg f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_RemoveRegistration(vc_cSeq); // de-register in SUT f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_RO_CTF_TC_UE_01_VA2 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE2_01_VA2 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE2 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_UE2_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization)); // Request-Uri refers to home network (SUT) // UE1 registers its public sip-url in home network (SUT) // UE contact is in home network (SUT) // UE authorizaton data is in home network (SUT) f_IMS_preamble_withRegistration(p_cSeq_s, v_register); // LibSip //c_userProfile_UE2atSUThome, c_interfaceProfile_IMS_SUT_PCSCF2, f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // Testbody f_awaitingMESSAGE_sendReply(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //POSTAMBLE: dereg f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_RemoveRegistration(vc_cSeq); // de-register in SUT f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_RO_CTF_TC_UE2_01_VA2 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_AS_01_VA2 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_AS1 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_AS_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { var PChargingVector v_pCharging; // IMS1UE1 contact is in home network (TS) f_IMS_preamble_AS( p_cSeq_s); // configuration of local user IMS1UE1 //c_userProfile_AS1, c_interfaceProfile_IMS_SUT_SCSCF, //Registration of first user sent to AS f_awaitingREGISTER_sendReply(mw_REGISTER_Request_Base, true); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_awaitingMESSAGE(mw_MESSAGE_Request_Base); if(vc_request.requestLine.method == MESSAGE_E){ v_pCharging := vc_request.msgHeader.pChargingVector; f_setHeadersForwardRequestFromAS(vc_cSeq, true); f_SendMESSAGE(m_MESSAGE_Request_PCharging_IMS(vc_requestUri2, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, omit, vc_route, omit, v_pCharging)); // check 200 f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_setHeadersForwardResponseFromAS(); f_sendResponse(m_Response_2xxonMESSAGE_PCharging_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, v_pCharging)); } f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE: deregistration for UE1 on AS f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_IMS_postamble_AS_withDeRegistration(true); } // end function f_TC_RO_CTF_TC_AS_01_VA4 } // End of group TP_RO_CTF_TC // 5.2.3.2.4 Error Casses group TP_RO_CTF_EC { Loading DiameterRfRo/ttcn/DiameterRfRo_TestCases.ttcn +40 −47 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
DiameterRfRo/ttcn/DiameterRfRo_SIP_TCFunctions.ttcn +237 −25 Original line number Diff line number Diff line Loading @@ -39,11 +39,11 @@ module DiameterRfRo_SIP_TCFunctions { group TP_RF_CTF_TC { /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V01 * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA1 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1 * @param p_cSeq_s */ function f_TC_CTF_TC_UE_01_V01(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_UE_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; Loading @@ -65,15 +65,16 @@ module DiameterRfRo_SIP_TCFunctions { // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_01_V01 } // end function f_TC_CTF_TC_UE_01_VA1 /** * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V01 * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA1 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS * @param p_cSeq_s */ function f_TC_CTF_TC_CSCF_01_V01(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_CSCF_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_woRegistration(p_cSeq_s);//TODO - delete when test is validated - //used to be profile c_userProfile_ICSCFwithHomeUE, //TODO - delete when test is validated - //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF); Loading @@ -87,15 +88,16 @@ module DiameterRfRo_SIP_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //Postamble f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_01_V01 } // end function f_TC_CTF_TC_CSCF_01_VA1 /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V02 * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA2 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1 * @param p_cSeq_s */ function f_TC_CTF_TC_UE_01_V02(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_UE_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; Loading Loading @@ -129,15 +131,16 @@ module DiameterRfRo_SIP_TCFunctions { // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_01_V02 } // end function f_TC_CTF_TC_UE_01_VA2 /** * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V02 * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA2 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS * @param p_cSeq_s */ function f_TC_CTF_TC_CSCF_01_V02(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_CSCF_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_woRegistration(p_cSeq_s);//TODO - delete when test is validated - //used to be profile c_userProfile_ICSCFwithHomeUE, //TODO - delete when test is validated - //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF); Loading @@ -150,15 +153,16 @@ module DiameterRfRo_SIP_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //Postamble f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_01_V02 } // end function f_TC_CTF_TC_CSCF_01_VA2 /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V03 * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA3 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1 * @param p_cSeq_s */ function f_TC_CTF_TC_UE_01_V03(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_UE_01_VA3(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; Loading Loading @@ -195,24 +199,25 @@ module DiameterRfRo_SIP_TCFunctions { // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_01_V03 } // end function f_TC_CTF_TC_UE_01_VA3 /** * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V03 * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA3 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS * @param p_cSeq_s */ function f_TC_CTF_TC_CSCF_01_V03(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CTF_TC_CSCF_01_V02(p_cSeq_s); } // end function f_TC_CTF_TC_CSCF_01_V03 function f_TC_CTF_TC_CSCF_01_VA3(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CTF_TC_CSCF_01_VA2(p_cSeq_s); } // end function f_TC_CTF_TC_CSCF_01_VA3 /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V04 * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA4 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_SUB_03_UE1 * @param p_cSeq_s */ function f_TC_CTF_TC_UE_01_V04(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_UE_01_VA4(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; Loading Loading @@ -241,15 +246,16 @@ module DiameterRfRo_SIP_TCFunctions { // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_01_V04 } // end function f_TC_CTF_TC_UE_01_VA4 /** * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V04 * @desc This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA4 * Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_SUB_03_IMS * @param p_cSeq_s */ function f_TC_CTF_TC_CSCF_01_V04(in CSeq p_cSeq_s) runs on ImsComponent { function f_TC_CTF_TC_CSCF_01_VA4(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_woRegistration( p_cSeq_s);//c_userProfile_ICSCFwithHomeUE, //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF); Loading @@ -264,8 +270,9 @@ module DiameterRfRo_SIP_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_01_V04 } // end function f_TC_CTF_TC_CSCF_01_VA4 /** * @desc This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_02 Loading Loading @@ -304,6 +311,7 @@ module DiameterRfRo_SIP_TCFunctions { // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_02 Loading Loading @@ -338,6 +346,7 @@ module DiameterRfRo_SIP_TCFunctions { //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_02 Loading Loading @@ -377,6 +386,7 @@ module DiameterRfRo_SIP_TCFunctions { // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_03 Loading Loading @@ -411,6 +421,7 @@ module DiameterRfRo_SIP_TCFunctions { //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_03 Loading Loading @@ -458,6 +469,7 @@ module DiameterRfRo_SIP_TCFunctions { f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_04 Loading Loading @@ -494,6 +506,7 @@ module DiameterRfRo_SIP_TCFunctions { //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_04 Loading Loading @@ -535,6 +548,7 @@ module DiameterRfRo_SIP_TCFunctions { // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_UE_05 Loading Loading @@ -568,6 +582,7 @@ module DiameterRfRo_SIP_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_CTF_TC_CSCF_05 Loading Loading @@ -696,6 +711,203 @@ module DiameterRfRo_SIP_TCFunctions { // 5.2.3.2.3 Type of Charging group TP_RO_CTF_TC { /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE_01_VA1 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE1 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_UE_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact,vc_authorization)); // Variables & defaults initialization f_IMS_preamble_woRegistration(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 // Preamble f_Registration(p_cSeq_s, v_register, PX_SIP_REGISTER_AUTHENTICATION_ENABLED); // deregistration in case of successful registration vc_DeregDone := false; f_setHeaders_SUBSCRIBE(p_cSeq_s); f_Subscription(p_cSeq_s, m_SUBSCRIBE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, vc_route_REG)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //POSTAMBLE: dereg f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_RemoveRegistration(vc_cSeq); // de-register in SUT f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_RO_CTF_TC_UE_01_VA1 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE2_01_VA1 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE2 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_UE2_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { log("No action on UE2."); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //POSTAMBLE: dereg f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function f_TC_RO_CTF_TC_UE2_01_VA1 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_AS_01_VA1 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_AS1 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_AS_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent { var PChargingVector v_pCharging; // IMS1UE1 contact is in home network (TS) f_IMS_preamble_AS( p_cSeq_s); // configuration of local user IMS1UE1 //c_userProfile_AS1, c_interfaceProfile_IMS_SUT_SCSCF, f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); //Registration of first user sent to AS f_awaitingREGISTER_sendReply(mw_REGISTER_Request_Base, true); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE: deregistration for UE1 on AS f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_IMS_postamble_AS_withDeRegistration(true); } // end function f_TC_RO_CTF_TC_AS_01_VA1 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE_01_VA2 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE1 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_UE_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact,vc_authorization)); // Request-Uri refers to home network (SUT) // UE1 registers its public sip-url in home network (SUT) // UE contact is in home network (SUT) // UE authorizaton data is in home network (SUT) f_IMS_preamble_withRegistration(p_cSeq_s,v_register); // LibSip //c_userProfile_UE1atSUThome, c_interfaceProfile_IMS_SUT_PCSCF1, f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // MESSAGE UE1@IMS1 LibIms_Steps.f_setHeadersMESSAGE(p_cSeq_s, vc_requestUri);//c_userProfile_UE2atSUThome f_SendMESSAGE(m_MESSAGE_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_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //POSTAMBLE: dereg f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_RemoveRegistration(vc_cSeq); // de-register in SUT f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_RO_CTF_TC_UE_01_VA2 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE2_01_VA2 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE2 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_UE2_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization)); // Request-Uri refers to home network (SUT) // UE1 registers its public sip-url in home network (SUT) // UE contact is in home network (SUT) // UE authorizaton data is in home network (SUT) f_IMS_preamble_withRegistration(p_cSeq_s, v_register); // LibSip //c_userProfile_UE2atSUThome, c_interfaceProfile_IMS_SUT_PCSCF2, f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // Testbody f_awaitingMESSAGE_sendReply(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //POSTAMBLE: dereg f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_RemoveRegistration(vc_cSeq); // de-register in SUT f_SIP_postamble_UE_withoutRegistration(); } // end function f_TC_RO_CTF_TC_UE2_01_VA2 /** * @desc This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_AS_01_VA2 * Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_AS1 * @param p_cSeq_s */ function f_TC_RO_CTF_TC_AS_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent { var PChargingVector v_pCharging; // IMS1UE1 contact is in home network (TS) f_IMS_preamble_AS( p_cSeq_s); // configuration of local user IMS1UE1 //c_userProfile_AS1, c_interfaceProfile_IMS_SUT_SCSCF, //Registration of first user sent to AS f_awaitingREGISTER_sendReply(mw_REGISTER_Request_Base, true); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_awaitingMESSAGE(mw_MESSAGE_Request_Base); if(vc_request.requestLine.method == MESSAGE_E){ v_pCharging := vc_request.msgHeader.pChargingVector; f_setHeadersForwardRequestFromAS(vc_cSeq, true); f_SendMESSAGE(m_MESSAGE_Request_PCharging_IMS(vc_requestUri2, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, omit, vc_route, omit, v_pCharging)); // check 200 f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_setHeadersForwardResponseFromAS(); f_sendResponse(m_Response_2xxonMESSAGE_PCharging_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, v_pCharging)); } f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE: deregistration for UE1 on AS f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_IMS_postamble_AS_withDeRegistration(true); } // end function f_TC_RO_CTF_TC_AS_01_VA4 } // End of group TP_RO_CTF_TC // 5.2.3.2.4 Error Casses group TP_RO_CTF_EC { Loading
DiameterRfRo/ttcn/DiameterRfRo_TestCases.ttcn +40 −47 File changed.Preview size limit exceeded, changes collapsed. Show changes