Loading DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +170 −0 Original line number Diff line number Diff line Loading @@ -790,6 +790,8 @@ module DiameterS9_S9_TCFunctions { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR(vc_sessionId, Loading Loading @@ -821,6 +823,174 @@ module DiameterS9_S9_TCFunctions { group TP_HPCRFRole_VPQ {//S9 visited access (Provision of QoS and PCC rules) /* * @desc This is the test case function TC_H_PCRF_VPQ_01 * @param */ function f_TC_H_PCRF_VPQ_01() runs on DiameterComponent { f_preamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address))); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, *, ?)); 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_H_PCRF_VPQ_01 /* * @desc This is the test case function TC_H_PCRF_VPQ_02 * @param */ function f_TC_H_PCRF_VPQ_02() runs on DiameterComponent { f_preamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address))); f_awaiting_CCA(mw_CCA_ResultCode_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, *, {mw_SubsesDecisionInfo_chargingRuleInstall(mw_subsessionId_dummy(1),?)}) ); 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_H_PCRF_VPQ_02 /* * @desc This is the test case function TC_H_PCRF_VPQ_03 * @param */ function f_TC_H_PCRF_VPQ_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 provide a QoS rule."); //activation of PCC rule f_awaiting_RAR(mw_RAR_QosRuleInst(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 f_TC_H_PCRF_VPQ_03 /* * @desc This is the test case function TC_HPCRF_VPQ_04 * @param */ function f_TC_H_PCRF_VPQ_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 provide a subsession decision info."); //activation of PCC rule f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_chargingRuleInstall(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_VPQ_04 /* * @desc This is the test case function TC_HPCRF_VPQ_05 * @param */ function f_TC_H_PCRF_VPQ_05() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to provide a subsession decision info."); //activation of PCC rule f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_chargingRuleInstall(mw_subsessionId_dummy(1),?)})); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_chargingRuleRemove(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_VPQ_05 } // group TP_HPCRFRole_VPQ group TP_HPCRFRole_VST {//S9 visited access (session/subsession termination) Loading DiameterS9/ttcn/DiameterS9_Templates.ttcn +13 −0 Original line number Diff line number Diff line Loading @@ -780,6 +780,19 @@ module DiameterS9_Templates { qoS_Rule_Install := p_qosRuleInstall } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_chargingRuleInstall ( template (present) Subsession_Id_AVP p_subsessionId, template Subses_Decision_Info_AVP.charging_Rule_Install p_chargingRuleInstall) modifies mw_SubsesDecisionInfo_dummy := { charging_Rule_Install := p_chargingRuleInstall } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_chargingRuleRemove ( template (present) Subsession_Id_AVP p_subsessionId, template Subses_Decision_Info_AVP.charging_Rule_Remove p_chargingRuleRemove) modifies mw_SubsesDecisionInfo_dummy := { charging_Rule_Remove := p_chargingRuleRemove } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_resultCode ( template (present) Subsession_Id_AVP p_subsessionId, template Result_Code_AVP p_resultCode) Loading Loading
DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +170 −0 Original line number Diff line number Diff line Loading @@ -790,6 +790,8 @@ module DiameterS9_S9_TCFunctions { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_EvTri_ChargRR(vc_sessionId, Loading Loading @@ -821,6 +823,174 @@ module DiameterS9_S9_TCFunctions { group TP_HPCRFRole_VPQ {//S9 visited access (Provision of QoS and PCC rules) /* * @desc This is the test case function TC_H_PCRF_VPQ_01 * @param */ function f_TC_H_PCRF_VPQ_01() runs on DiameterComponent { f_preamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address))); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, *, ?)); 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_H_PCRF_VPQ_01 /* * @desc This is the test case function TC_H_PCRF_VPQ_02 * @param */ function f_TC_H_PCRF_VPQ_02() runs on DiameterComponent { f_preamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address))); f_awaiting_CCA(mw_CCA_ResultCode_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, *, {mw_SubsesDecisionInfo_chargingRuleInstall(mw_subsessionId_dummy(1),?)}) ); 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_H_PCRF_VPQ_02 /* * @desc This is the test case function TC_H_PCRF_VPQ_03 * @param */ function f_TC_H_PCRF_VPQ_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 provide a QoS rule."); //activation of PCC rule f_awaiting_RAR(mw_RAR_QosRuleInst(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 f_TC_H_PCRF_VPQ_03 /* * @desc This is the test case function TC_HPCRF_VPQ_04 * @param */ function f_TC_H_PCRF_VPQ_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 provide a subsession decision info."); //activation of PCC rule f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_chargingRuleInstall(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_VPQ_04 /* * @desc This is the test case function TC_HPCRF_VPQ_05 * @param */ function f_TC_H_PCRF_VPQ_05() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Please trigger PCRF for RAR to provide a subsession decision info."); //activation of PCC rule f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_chargingRuleInstall(mw_subsessionId_dummy(1),?)})); f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess))); f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?, {mw_SubsesDecisionInfo_chargingRuleRemove(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_VPQ_05 } // group TP_HPCRFRole_VPQ group TP_HPCRFRole_VST {//S9 visited access (session/subsession termination) Loading
DiameterS9/ttcn/DiameterS9_Templates.ttcn +13 −0 Original line number Diff line number Diff line Loading @@ -780,6 +780,19 @@ module DiameterS9_Templates { qoS_Rule_Install := p_qosRuleInstall } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_chargingRuleInstall ( template (present) Subsession_Id_AVP p_subsessionId, template Subses_Decision_Info_AVP.charging_Rule_Install p_chargingRuleInstall) modifies mw_SubsesDecisionInfo_dummy := { charging_Rule_Install := p_chargingRuleInstall } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_chargingRuleRemove ( template (present) Subsession_Id_AVP p_subsessionId, template Subses_Decision_Info_AVP.charging_Rule_Remove p_chargingRuleRemove) modifies mw_SubsesDecisionInfo_dummy := { charging_Rule_Remove := p_chargingRuleRemove } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_resultCode ( template (present) Subsession_Id_AVP p_subsessionId, template Result_Code_AVP p_resultCode) Loading