Loading DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +129 −0 Original line number Diff line number Diff line Loading @@ -995,6 +995,135 @@ module DiameterS9_S9_TCFunctions { group TP_HPCRFRole_VST {//S9 visited access (session/subsession termination) /* * @desc This is the test case function TC_HPCRF_VST_01 * @param */ function f_TC_HPCRF_VST_01() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_TerminationRequestBBERFatt(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, m_qoS_Information_dummy // BBERF attributes TODO: to check more required AVPs )); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_VST_01 /* * @desc This is the test case function TC_HPCRF_VST_02 * @param */ function f_TC_HPCRF_VST_02() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_qoSRuleReport_dummy}, m_qoS_Information_dummy, // BBERF attributes TODO: to check more required AVPs {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:TERMINATION_E))} ) ); f_awaiting_CCA(mw_CCA_ResultCode_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess), {mw_SubsesDecisionInfo_resultCode(mw_subsessionId_dummy(1),mw_resultCode(mw_resultCode_diameterSuccess))}) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_VST_02 /* * @desc This is the test case function TC_HPCRF_VST_03 * @param */ function f_TC_HPCRF_VST_03() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to terminate session."); //activation of PCC rule f_awaiting_RAR(mw_RAR_sessReleaseCause(vc_sessionId, ?, ?, ?, ?)); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_VST_03 /* * @desc This is the test case function TC_HPCRF_VST_04 * @param */ function f_TC_HPCRF_VST_04() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to terminate session."); //activation of PCC rule f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_SessRelCause(mw_subsessionId_dummy(1),?)})); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_VST_04 } // group TP_HPCRFRole_VST } // group TP_HPCRFRole Loading Loading
DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +129 −0 Original line number Diff line number Diff line Loading @@ -995,6 +995,135 @@ module DiameterS9_S9_TCFunctions { group TP_HPCRFRole_VST {//S9 visited access (session/subsession termination) /* * @desc This is the test case function TC_HPCRF_VST_01 * @param */ function f_TC_HPCRF_VST_01() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_TerminationRequestBBERFatt(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, m_qoS_Information_dummy // BBERF attributes TODO: to check more required AVPs )); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_VST_01 /* * @desc This is the test case function TC_HPCRF_VST_02 * @param */ function f_TC_HPCRF_VST_02() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_qoSRuleReport_dummy}, m_qoS_Information_dummy, // BBERF attributes TODO: to check more required AVPs {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:TERMINATION_E))} ) ); f_awaiting_CCA(mw_CCA_ResultCode_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess), {mw_SubsesDecisionInfo_resultCode(mw_subsessionId_dummy(1),mw_resultCode(mw_resultCode_diameterSuccess))}) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_VST_02 /* * @desc This is the test case function TC_HPCRF_VST_03 * @param */ function f_TC_HPCRF_VST_03() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to terminate session."); //activation of PCC rule f_awaiting_RAR(mw_RAR_sessReleaseCause(vc_sessionId, ?, ?, ?, ?)); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_VST_03 /* * @desc This is the test case function TC_HPCRF_VST_04 * @param */ function f_TC_HPCRF_VST_04() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to terminate session."); //activation of PCC rule f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_SessRelCause(mw_subsessionId_dummy(1),?)})); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_VST_04 } // group TP_HPCRFRole_VST } // group TP_HPCRFRole Loading