Loading DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +83 −2 Original line number Diff line number Diff line Loading @@ -1046,7 +1046,7 @@ module DiameterGx_Gx_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_InitialRequest(vc_sessionId, f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -1076,7 +1076,7 @@ module DiameterGx_Gx_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_InitialRequest(vc_sessionId, f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading @@ -1098,8 +1098,89 @@ module DiameterGx_Gx_TCFunctions { }//end group TP_PCEFRole_IPS group TP_PCEFRole_MSI { //Modification of Session Information /* * @desc This is the test case function TC_PCEF_MSI_01 * @param */ function f_TC_PCEF_MSI_01() 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)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_Request_ChrgRuleRep_EvtTrig(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_chargRuleReport_Status, mw_eventTrigger(IP_CAN_CHANGE_E), *)); 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_MSI_01 /* * @desc This is the test case function TC_PCEF_MSI_02 * @param */ function f_TC_PCEF_MSI_02() 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)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_Request_ChrgRuleRep_EvtTrig(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_chargRuleReport_Status, mw_eventTrigger(IP_CAN_CHANGE_E), mw_routing_Rule_Installs)); 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_MSI_02 }//end group TP_PCEFRole_MSI group TP_PCEFRole_INV { //Invalid Behaviour }//end group TP_PCEFRole_INV group TP_PCEFRole_ST { //Session Termination Loading DiameterGx/ttcn/DiameterGx_Templates.ttcn +42 −3 Original line number Diff line number Diff line Loading @@ -181,6 +181,18 @@ module DiameterGx_Templates { aVP_Type := * } template Charging_Rule_Report_AVP mw_chargRuleReport_dummy := { aVP_Header := mw_aVP_Header(c_vendIdCharging_Rule_Report_AVP),//<AVP header: 1011 ....> charging_Rule_Name := *, charging_Rule_Base_Name := *, bearer_Identifier := *, pCC_Rule_Status := *, rule_Failure_Code := *, final_Unit_Indication := *, aVP_Type := * } } //end group DummyAVPHeaders Loading Loading @@ -575,11 +587,18 @@ module DiameterGx_Templates { template Routing_Rule_Install_AVP mw_routing_Rule_Install := { aVP_Header := mw_aVP_Header_any, aVP_Header := mw_aVP_Header(c_vendIdRouting_Rule_Install_AVP), routing_Rule_Definition := {mw_routing_Rule_Definition}, aVP_Type := * } template Routing_Rule_Install_AVP mw_routing_Rule_Installs := { aVP_Header := mw_aVP_Header(c_vendIdRouting_Rule_Install_AVP), routing_Rule_Definition := {mw_routing_Rule_Definition,*}, aVP_Type := * } template Routing_Rule_Definition_AVP mw_routing_Rule_Definition := { aVP_Header := mw_aVP_Header_any, Loading Loading @@ -760,6 +779,11 @@ module DiameterGx_Templates { aVP_Data := p_avpData }; template Charging_Rule_Report_AVP mw_chargRuleReport_Status modifies mw_chargRuleReport_dummy := { pCC_Rule_Status := ? } }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates Loading Loading @@ -1038,7 +1062,7 @@ module DiameterGx_Templates { group Gxmodified_request_templates_receive { template CCR_MSG mw_CCR_InitialRequest(template Session_Id_AVP p_sessionId, template CCR_MSG mw_CCR_Request(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, Loading @@ -1055,6 +1079,21 @@ module DiameterGx_Templates { routing_Rule_Install := p_routing_Rule_Install } template CCR_MSG mw_CCR_Request_ChrgRuleRep_EvtTrig(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template CC_Request_Type_AVP p_cCRequestType, template Charging_Rule_Report_AVP p_chargingRuleReport, template Event_Trigger_AVP p_eventTrigger, template Routing_Rule_Install_AVP p_routing_Rule_Install ) modifies mw_CCR_basic := { subscription_Id := {mw_subscription_Id(mw_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE),mw_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA))}, charging_Rule_Report := superset(p_chargingRuleReport), event_Trigger := superset(p_eventTrigger), routing_Rule_Install := p_routing_Rule_Install } template RAR_MSG mw_RAR_sessReleaseCause(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading DiameterGx/ttcn/DiameterGx_TestCases.ttcn +43 −0 Original line number Diff line number Diff line Loading @@ -803,6 +803,49 @@ module DiameterGx_TestCases }//end group TP_PCEFRole_IPS group TP_PCEFRole_MSI { //Modification of Session Information /* * @desc TC_PCEF_MSI_01 * @param p_cSeq_s Transaction Id */ testcase TC_PCEF_MSI_01() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcrf; f_cf_1GxRUp(v_diameterComponent_pcrf); //Start v_diameterComponent_pcrf.start(f_TC_PCEF_MSI_01()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxRDown(v_diameterComponent_pcrf); } // end TC_PCEF_MSI_01 /* * @desc TC_PCEF_MSI_02 * @param p_cSeq_s Transaction Id */ testcase TC_PCEF_MSI_02() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcrf; f_cf_1GxRUp(v_diameterComponent_pcrf); //Start v_diameterComponent_pcrf.start(f_TC_PCEF_MSI_02()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxRDown(v_diameterComponent_pcrf); } // end TC_PCEF_MSI_02 }//end group TP_PCEFRole_MSI group TP_PCEFRole_INV { //Invalid Behaviour Loading Loading
DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +83 −2 Original line number Diff line number Diff line Loading @@ -1046,7 +1046,7 @@ module DiameterGx_Gx_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_InitialRequest(vc_sessionId, f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -1076,7 +1076,7 @@ module DiameterGx_Gx_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_InitialRequest(vc_sessionId, f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading @@ -1098,8 +1098,89 @@ module DiameterGx_Gx_TCFunctions { }//end group TP_PCEFRole_IPS group TP_PCEFRole_MSI { //Modification of Session Information /* * @desc This is the test case function TC_PCEF_MSI_01 * @param */ function f_TC_PCEF_MSI_01() 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)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_Request_ChrgRuleRep_EvtTrig(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_chargRuleReport_Status, mw_eventTrigger(IP_CAN_CHANGE_E), *)); 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_MSI_01 /* * @desc This is the test case function TC_PCEF_MSI_02 * @param */ function f_TC_PCEF_MSI_02() 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)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_Request_ChrgRuleRep_EvtTrig(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_chargRuleReport_Status, mw_eventTrigger(IP_CAN_CHANGE_E), mw_routing_Rule_Installs)); 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_MSI_02 }//end group TP_PCEFRole_MSI group TP_PCEFRole_INV { //Invalid Behaviour }//end group TP_PCEFRole_INV group TP_PCEFRole_ST { //Session Termination Loading
DiameterGx/ttcn/DiameterGx_Templates.ttcn +42 −3 Original line number Diff line number Diff line Loading @@ -181,6 +181,18 @@ module DiameterGx_Templates { aVP_Type := * } template Charging_Rule_Report_AVP mw_chargRuleReport_dummy := { aVP_Header := mw_aVP_Header(c_vendIdCharging_Rule_Report_AVP),//<AVP header: 1011 ....> charging_Rule_Name := *, charging_Rule_Base_Name := *, bearer_Identifier := *, pCC_Rule_Status := *, rule_Failure_Code := *, final_Unit_Indication := *, aVP_Type := * } } //end group DummyAVPHeaders Loading Loading @@ -575,11 +587,18 @@ module DiameterGx_Templates { template Routing_Rule_Install_AVP mw_routing_Rule_Install := { aVP_Header := mw_aVP_Header_any, aVP_Header := mw_aVP_Header(c_vendIdRouting_Rule_Install_AVP), routing_Rule_Definition := {mw_routing_Rule_Definition}, aVP_Type := * } template Routing_Rule_Install_AVP mw_routing_Rule_Installs := { aVP_Header := mw_aVP_Header(c_vendIdRouting_Rule_Install_AVP), routing_Rule_Definition := {mw_routing_Rule_Definition,*}, aVP_Type := * } template Routing_Rule_Definition_AVP mw_routing_Rule_Definition := { aVP_Header := mw_aVP_Header_any, Loading Loading @@ -760,6 +779,11 @@ module DiameterGx_Templates { aVP_Data := p_avpData }; template Charging_Rule_Report_AVP mw_chargRuleReport_Status modifies mw_chargRuleReport_dummy := { pCC_Rule_Status := ? } }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates Loading Loading @@ -1038,7 +1062,7 @@ module DiameterGx_Templates { group Gxmodified_request_templates_receive { template CCR_MSG mw_CCR_InitialRequest(template Session_Id_AVP p_sessionId, template CCR_MSG mw_CCR_Request(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, Loading @@ -1055,6 +1079,21 @@ module DiameterGx_Templates { routing_Rule_Install := p_routing_Rule_Install } template CCR_MSG mw_CCR_Request_ChrgRuleRep_EvtTrig(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template CC_Request_Type_AVP p_cCRequestType, template Charging_Rule_Report_AVP p_chargingRuleReport, template Event_Trigger_AVP p_eventTrigger, template Routing_Rule_Install_AVP p_routing_Rule_Install ) modifies mw_CCR_basic := { subscription_Id := {mw_subscription_Id(mw_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE),mw_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA))}, charging_Rule_Report := superset(p_chargingRuleReport), event_Trigger := superset(p_eventTrigger), routing_Rule_Install := p_routing_Rule_Install } template RAR_MSG mw_RAR_sessReleaseCause(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading
DiameterGx/ttcn/DiameterGx_TestCases.ttcn +43 −0 Original line number Diff line number Diff line Loading @@ -803,6 +803,49 @@ module DiameterGx_TestCases }//end group TP_PCEFRole_IPS group TP_PCEFRole_MSI { //Modification of Session Information /* * @desc TC_PCEF_MSI_01 * @param p_cSeq_s Transaction Id */ testcase TC_PCEF_MSI_01() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcrf; f_cf_1GxRUp(v_diameterComponent_pcrf); //Start v_diameterComponent_pcrf.start(f_TC_PCEF_MSI_01()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxRDown(v_diameterComponent_pcrf); } // end TC_PCEF_MSI_01 /* * @desc TC_PCEF_MSI_02 * @param p_cSeq_s Transaction Id */ testcase TC_PCEF_MSI_02() runs on ServerSyncComp system TestAdapter { //Variables var DiameterComponent v_diameterComponent_pcrf; f_cf_1GxRUp(v_diameterComponent_pcrf); //Start v_diameterComponent_pcrf.start(f_TC_PCEF_MSI_02()); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1GxRDown(v_diameterComponent_pcrf); } // end TC_PCEF_MSI_02 }//end group TP_PCEFRole_MSI group TP_PCEFRole_INV { //Invalid Behaviour Loading