Loading DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +69 −0 Original line number Diff line number Diff line Loading @@ -2521,6 +2521,75 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_RAU_02 /* * @desc This is the test case function TC_PCEF_RAU_03 * @param */ function f_TC_PCEF_RAU_03() runs on DiameterComponent { f_preamble_PCRF(); f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), *, *, *)); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); // requesting montitoring control f_send_RAR(DiameterGx_Templates.m_RAR_EvTrigger_UMI // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Trigger for CCR not related to predefined monitoring key"); f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), *, *, *)); // trigger for usage report (removal of PCC rule) f_send_CCA(m_CCA_RuleRemove(vc_sessionId, vc_originHost, vc_originRealm, m_chrgRuleRemove_Name(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)))); // await usage-monitoring-information f_awaiting_CCR(mw_CCR_Request_EvtTrig_UMI(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_usageMonitoringInfo_Key_UsedServiceUnit(mw_usedServiceUnit(*,*)), mw_eventTrigger(USAGE_REPORT_E))); // check that uplink or downlink volune has been indicated if (not (ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[0].used_Service_Unit.cC_Input_Octets) or ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[0].used_Service_Unit.cC_Output_Octets) ) ) {setverdict(fail)}; f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCRF(); } // end function f_TC_PCEF_RAU_03 }//end group TP_PCEFRole_RAU } //end group TP_PCEFRole Loading DiameterGx/ttcn/DiameterGx_Templates.ttcn +11 −0 Original line number Diff line number Diff line Loading @@ -1658,6 +1658,17 @@ module DiameterGx_Templates { experimental_Result := p_experimentalResult } template CCA_MSG m_CCA_RuleRemove(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Charging_Rule_Remove_AVP p_chargingRuleRemove) modifies m_CCA_basic := { header := m_diameterHeaderAns_dummy(CCA_E, c_applIdGx), charging_Rule_Remove := {p_chargingRuleRemove} } } // end group Gxmodified_answer_templates_send group Gxmodified_answer_templates_receive { Loading Loading
DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +69 −0 Original line number Diff line number Diff line Loading @@ -2521,6 +2521,75 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_RAU_02 /* * @desc This is the test case function TC_PCEF_RAU_03 * @param */ function f_TC_PCEF_RAU_03() runs on DiameterComponent { f_preamble_PCRF(); f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), *, *, *)); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); // requesting montitoring control f_send_RAR(DiameterGx_Templates.m_RAR_EvTrigger_UMI // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync action("Trigger for CCR not related to predefined monitoring key"); f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), *, *, *)); // trigger for usage report (removal of PCC rule) f_send_CCA(m_CCA_RuleRemove(vc_sessionId, vc_originHost, vc_originRealm, m_chrgRuleRemove_Name(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)))); // await usage-monitoring-information f_awaiting_CCR(mw_CCR_Request_EvtTrig_UMI(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_usageMonitoringInfo_Key_UsedServiceUnit(mw_usedServiceUnit(*,*)), mw_eventTrigger(USAGE_REPORT_E))); // check that uplink or downlink volune has been indicated if (not (ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[0].used_Service_Unit.cC_Input_Octets) or ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[0].used_Service_Unit.cC_Output_Octets) ) ) {setverdict(fail)}; f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCRF(); } // end function f_TC_PCEF_RAU_03 }//end group TP_PCEFRole_RAU } //end group TP_PCEFRole Loading
DiameterGx/ttcn/DiameterGx_Templates.ttcn +11 −0 Original line number Diff line number Diff line Loading @@ -1658,6 +1658,17 @@ module DiameterGx_Templates { experimental_Result := p_experimentalResult } template CCA_MSG m_CCA_RuleRemove(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Charging_Rule_Remove_AVP p_chargingRuleRemove) modifies m_CCA_basic := { header := m_diameterHeaderAns_dummy(CCA_E, c_applIdGx), charging_Rule_Remove := {p_chargingRuleRemove} } } // end group Gxmodified_answer_templates_send group Gxmodified_answer_templates_receive { Loading