Loading DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +86 −10 Original line number Diff line number Diff line Loading @@ -2370,7 +2370,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); Loading Loading @@ -2423,7 +2423,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); Loading Loading @@ -2482,7 +2482,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync Loading Loading @@ -2545,7 +2545,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync Loading Loading @@ -2613,7 +2613,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync Loading Loading @@ -2665,12 +2665,18 @@ module DiameterGx_Gx_TCFunctions { f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); // requesting montitoring control // requesting montitoring control for two keys 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))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 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(m_monitoringKey(PX_MONITORING_KEY2), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync Loading @@ -2688,10 +2694,11 @@ module DiameterGx_Gx_TCFunctions { vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_usageMonitoringInfo_Key_UsedServiceUnit(mw_usedServiceUnit(*,*)), {mw_usageMonitoringInfo_Key_UsedServiceUnit(mw_usedServiceUnit(*,*)), mw_usageMonitoringInfo_Key2_UsedServiceUnit(mw_usedServiceUnit(*,*))}, mw_eventTrigger(USAGE_REPORT_E))); // check that uplink or downlink volune has been indicated // check that uplink or downlink volune has been indicated for predefined key 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) Loading @@ -2699,6 +2706,14 @@ module DiameterGx_Gx_TCFunctions { ) {setverdict(fail)}; // check that uplink or downlink volune has been indicated for 2nd predefined key if (not (ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[1].used_Service_Unit.cC_Input_Octets) or ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[1].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)); Loading @@ -2709,6 +2724,67 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_RAU_05 /* * @desc This is the test case function TC_PCEF_RAU_06 * @param */ function f_TC_PCEF_RAU_06() 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 for one key 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(m_monitoringKey(PX_MONITORING_KEY2), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // trigger for usage report (explicit request) f_send_RAR(DiameterGx_Templates.m_RAR_UMI // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_usageMonitoringInformationRequestReport(m_usageMonitoringReport(USAGE_MONITORING_REPORT_REQUIRED_E)))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 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_06 }//end group TP_PCEFRole_RAU Loading DiameterGx/ttcn/DiameterGx_PIXITS.ttcn +7 −0 Original line number Diff line number Diff line Loading @@ -293,6 +293,13 @@ module DiameterGx_PIXITS modulepar octetstring PX_MONITORING_KEY := '01020304050607'O; /** @desc octectstring, PIXIT item A.1/ * avp_Data within MONITORING_KEY_AVP is of octectstring type * (parameter is part of RAR/CCR message) */ modulepar octetstring PX_MONITORING_KEY2 := '01020304050677'O; /** @desc octectstring, PIXIT item A.1/ * avp_Data within Revalidation_Time_AVP is of UInt64 type * (parameter is part of RAR message) Loading DiameterGx/ttcn/DiameterGx_Templates.ttcn +16 −2 Original line number Diff line number Diff line Loading @@ -1025,6 +1025,14 @@ module DiameterGx_Templates { used_Service_Unit := p_usedServiceUnit } template Usage_Monitoring_Information_AVP mw_usageMonitoringInfo_Key2_UsedServiceUnit (template Used_Service_Unit_AVP p_usedServiceUnit) modifies mw_usageMonitoringInfo_dummy := { aVP_Header := mw_aVP_Header_any, monitoring_Key := mw_monitoringKey_predefined2, used_Service_Unit := p_usedServiceUnit } template Monitoring_Key_AVP mw_monitoringKey_any := { aVP_Header := mw_aVP_Header_any, Loading @@ -1037,6 +1045,12 @@ module DiameterGx_Templates { aVP_Data := PX_MONITORING_KEY } template Monitoring_Key_AVP mw_monitoringKey_predefined2 := { aVP_Header := mw_aVP_Header_any, aVP_Data := PX_MONITORING_KEY2 } template Event_Trigger_AVP mw_eventTrigger(template Event_Trigger p_aVP_Data) := { aVP_Header := mw_aVP_Header_any, Loading Loading
DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +86 −10 Original line number Diff line number Diff line Loading @@ -2370,7 +2370,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); Loading Loading @@ -2423,7 +2423,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); Loading Loading @@ -2482,7 +2482,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync Loading Loading @@ -2545,7 +2545,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync Loading Loading @@ -2613,7 +2613,7 @@ module DiameterGx_Gx_TCFunctions { (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(USAGE_REPORT_E), m_usageMonitoringInformation(omit, omit))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync Loading Loading @@ -2665,12 +2665,18 @@ module DiameterGx_Gx_TCFunctions { f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); // requesting montitoring control // requesting montitoring control for two keys 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))); m_usageMonitoringInformation(m_monitoringKey(PX_MONITORING_KEY), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 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(m_monitoringKey(PX_MONITORING_KEY2), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync Loading @@ -2688,10 +2694,11 @@ module DiameterGx_Gx_TCFunctions { vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_usageMonitoringInfo_Key_UsedServiceUnit(mw_usedServiceUnit(*,*)), {mw_usageMonitoringInfo_Key_UsedServiceUnit(mw_usedServiceUnit(*,*)), mw_usageMonitoringInfo_Key2_UsedServiceUnit(mw_usedServiceUnit(*,*))}, mw_eventTrigger(USAGE_REPORT_E))); // check that uplink or downlink volune has been indicated // check that uplink or downlink volune has been indicated for predefined key 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) Loading @@ -2699,6 +2706,14 @@ module DiameterGx_Gx_TCFunctions { ) {setverdict(fail)}; // check that uplink or downlink volune has been indicated for 2nd predefined key if (not (ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[1].used_Service_Unit.cC_Input_Octets) or ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[1].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)); Loading @@ -2709,6 +2724,67 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_RAU_05 /* * @desc This is the test case function TC_PCEF_RAU_06 * @param */ function f_TC_PCEF_RAU_06() 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 for one key 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(m_monitoringKey(PX_MONITORING_KEY2), omit))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // trigger for usage report (explicit request) f_send_RAR(DiameterGx_Templates.m_RAR_UMI // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_usageMonitoringInformationRequestReport(m_usageMonitoringReport(USAGE_MONITORING_REPORT_REQUIRED_E)))); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 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_06 }//end group TP_PCEFRole_RAU Loading
DiameterGx/ttcn/DiameterGx_PIXITS.ttcn +7 −0 Original line number Diff line number Diff line Loading @@ -293,6 +293,13 @@ module DiameterGx_PIXITS modulepar octetstring PX_MONITORING_KEY := '01020304050607'O; /** @desc octectstring, PIXIT item A.1/ * avp_Data within MONITORING_KEY_AVP is of octectstring type * (parameter is part of RAR/CCR message) */ modulepar octetstring PX_MONITORING_KEY2 := '01020304050677'O; /** @desc octectstring, PIXIT item A.1/ * avp_Data within Revalidation_Time_AVP is of UInt64 type * (parameter is part of RAR message) Loading
DiameterGx/ttcn/DiameterGx_Templates.ttcn +16 −2 Original line number Diff line number Diff line Loading @@ -1025,6 +1025,14 @@ module DiameterGx_Templates { used_Service_Unit := p_usedServiceUnit } template Usage_Monitoring_Information_AVP mw_usageMonitoringInfo_Key2_UsedServiceUnit (template Used_Service_Unit_AVP p_usedServiceUnit) modifies mw_usageMonitoringInfo_dummy := { aVP_Header := mw_aVP_Header_any, monitoring_Key := mw_monitoringKey_predefined2, used_Service_Unit := p_usedServiceUnit } template Monitoring_Key_AVP mw_monitoringKey_any := { aVP_Header := mw_aVP_Header_any, Loading @@ -1037,6 +1045,12 @@ module DiameterGx_Templates { aVP_Data := PX_MONITORING_KEY } template Monitoring_Key_AVP mw_monitoringKey_predefined2 := { aVP_Header := mw_aVP_Header_any, aVP_Data := PX_MONITORING_KEY2 } template Event_Trigger_AVP mw_eventTrigger(template Event_Trigger p_aVP_Data) := { aVP_Header := mw_aVP_Header_any, Loading