Loading DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +158 −7 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ module DiameterS9_S9_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -233,7 +233,7 @@ module DiameterS9_S9_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -273,7 +273,7 @@ module DiameterS9_S9_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -415,7 +415,7 @@ module DiameterS9_S9_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -513,7 +513,7 @@ module DiameterS9_S9_TCFunctions { * @desc This is the test case function TC_PCRF_HMB_01 * @param */ function f_TC_PCRF_HMB_01() function f_TC_HPCRF_HMB_01() runs on DiameterComponent { f_preamble_VPCRF(); Loading Loading @@ -551,7 +551,7 @@ module DiameterS9_S9_TCFunctions { * @desc This is the test case function TC_PCRF_HMB_02 * @param */ function f_TC_PCRF_HMB_02() function f_TC_HPCRF_HMB_02() runs on DiameterComponent { f_preamble_VPCRF(); Loading Loading @@ -593,7 +593,7 @@ module DiameterS9_S9_TCFunctions { * @desc This is the test case function TC_PCRF_HMB_03 * @param */ function f_TC_PCRF_HMB_03() function f_TC_HPCRF_HMB_03() runs on DiameterComponent { f_preamble_VPCRF(); Loading Loading @@ -625,6 +625,157 @@ module DiameterS9_S9_TCFunctions { } // end function TC_PCRF_HMB_03 /* * @desc This is the test case function TC_PCRF_HMB_04 * @param */ function f_TC_HPCRF_HMB_04() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_subsesEnforcementInfo_Operation_MultiBBERFact_AnGw (m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E), m_multipleBBERFAction_dummy(Multiple_BBERF_Action_Code:ESTABLISHMENT_E), {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))} )} )); 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 //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HMB_04 /* * @desc This is the test case function TC_PCRF_HMB_05 * @param */ function f_TC_HPCRF_HMB_05() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_TerminationRequest_MultBBERFact_AnGw(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, m_multipleBBERFAction_dummy(Multiple_BBERF_Action_Code:ESTABLISHMENT_E), {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))} )); 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 //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HMB_05 /* * @desc This is the test case function TC_PCRF_HMB_06 * @param */ function f_TC_HPCRF_HMB_06() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_TerminationRequest_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_subsesEnforcementInfo_Operation_MultiBBERFact_AnGw (m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E), m_multipleBBERFAction_dummy(Multiple_BBERF_Action_Code:ESTABLISHMENT_E), {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))} )} )); 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 //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HMB_06 /* * @desc This is the test case function TC_HPCRF_HMB_07 * @param */ function f_TC_HPCRF_HMB_07() 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_MultBBERFact_AnGw(vc_sessionId, ?, ?, ?, ?, m_multipleBBERFAction_dummy(Multiple_BBERF_Action_Code:ESTABLISHMENT_E), {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))} )); 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_HMB_07 } // group TP_HPCRFRole_HMB Loading DiameterS9/ttcn/DiameterS9_Templates.ttcn +64 −2 Original line number Diff line number Diff line Loading @@ -943,6 +943,39 @@ module DiameterS9_Templates { } } template CCR_MSG m_CCR_TerminationRequest_MultBBERFact_AnGw(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 Multiple_BBERF_Action_AVP p_multipleBberfAction, template CCR_MSG.cCR_Body.aN_GW_Address p_anGwAddress ) modifies m_CCR_TerminationRequest := { cCR_Body := { cC_Request_Type := m_cC_Request_Type(TERMINATION_REQUEST_E), cC_Request_Number := m_cC_Request_Number(1), multiple_BBERF_Action := p_multipleBberfAction, aN_GW_Address := p_anGwAddress } } template CCR_MSG m_CCR_TerminationRequest_SubSessEnfInf(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 CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo ) modifies m_CCR_TerminationRequest := { cCR_Body := { cC_Request_Type := m_cC_Request_Type(TERMINATION_REQUEST_E), cC_Request_Number := m_cC_Request_Number(1), subsesion_Enforcement_Info := p_subsesionEnforcementInfo } } template CCR_MSG m_CCR_UpdateRequest (template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading @@ -960,7 +993,7 @@ module DiameterS9_Templates { } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf (template Session_Id_AVP p_sessionId, template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf_Qos (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 @@ -978,6 +1011,19 @@ module DiameterS9_Templates { } } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf (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 CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo ) modifies m_CCR_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type ( UPDATE_REQUEST_E ), subsesion_Enforcement_Info := p_subsesionEnforcementInfo } } template CCR_MSG m_CCR_UpdateRequest_MultBBERFact_AnGw (template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading Loading @@ -1050,6 +1096,22 @@ module DiameterS9_Templates { } } template RAR_MSG mw_RAR_sessReleaseCause_MultBBERFact_AnGw(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 Destination_Host_AVP p_destinationHost, template Multiple_BBERF_Action_AVP p_multipleBberfAction, template CCR_MSG.cCR_Body.aN_GW_Address p_anGwAddress ) modifies mw_RAR_sessReleaseCause := { rAR_Body := { multiple_BBERF_Action := p_multipleBberfAction, aN_GW_Address := p_anGwAddress } } } // end group S9modified_request_templates_receive group S9modified_answer_templates_send { Loading Loading
DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +158 −7 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ module DiameterS9_S9_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -233,7 +233,7 @@ module DiameterS9_S9_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -273,7 +273,7 @@ module DiameterS9_S9_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -415,7 +415,7 @@ module DiameterS9_S9_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf_Qos(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, Loading Loading @@ -513,7 +513,7 @@ module DiameterS9_S9_TCFunctions { * @desc This is the test case function TC_PCRF_HMB_01 * @param */ function f_TC_PCRF_HMB_01() function f_TC_HPCRF_HMB_01() runs on DiameterComponent { f_preamble_VPCRF(); Loading Loading @@ -551,7 +551,7 @@ module DiameterS9_S9_TCFunctions { * @desc This is the test case function TC_PCRF_HMB_02 * @param */ function f_TC_PCRF_HMB_02() function f_TC_HPCRF_HMB_02() runs on DiameterComponent { f_preamble_VPCRF(); Loading Loading @@ -593,7 +593,7 @@ module DiameterS9_S9_TCFunctions { * @desc This is the test case function TC_PCRF_HMB_03 * @param */ function f_TC_PCRF_HMB_03() function f_TC_HPCRF_HMB_03() runs on DiameterComponent { f_preamble_VPCRF(); Loading Loading @@ -625,6 +625,157 @@ module DiameterS9_S9_TCFunctions { } // end function TC_PCRF_HMB_03 /* * @desc This is the test case function TC_PCRF_HMB_04 * @param */ function f_TC_HPCRF_HMB_04() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_subsesEnforcementInfo_Operation_MultiBBERFact_AnGw (m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E), m_multipleBBERFAction_dummy(Multiple_BBERF_Action_Code:ESTABLISHMENT_E), {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))} )} )); 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 //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HMB_04 /* * @desc This is the test case function TC_PCRF_HMB_05 * @param */ function f_TC_HPCRF_HMB_05() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_TerminationRequest_MultBBERFact_AnGw(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, m_multipleBBERFAction_dummy(Multiple_BBERF_Action_Code:ESTABLISHMENT_E), {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))} )); 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 //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HMB_05 /* * @desc This is the test case function TC_PCRF_HMB_06 * @param */ function f_TC_HPCRF_HMB_06() runs on DiameterComponent { f_preamble_VPCRF(); f_initiate_session_VPCRF(); //TODO previous BBERF f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_TerminationRequest_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_subsesEnforcementInfo_Operation_MultiBBERFact_AnGw (m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E), m_multipleBBERFAction_dummy(Multiple_BBERF_Action_Code:ESTABLISHMENT_E), {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))} )} )); 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 //session termination f_terminate_session_VPCRF(); f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HMB_06 /* * @desc This is the test case function TC_HPCRF_HMB_07 * @param */ function f_TC_HPCRF_HMB_07() 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_MultBBERFact_AnGw(vc_sessionId, ?, ?, ?, ?, m_multipleBBERFAction_dummy(Multiple_BBERF_Action_Code:ESTABLISHMENT_E), {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))} )); 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_HMB_07 } // group TP_HPCRFRole_HMB Loading
DiameterS9/ttcn/DiameterS9_Templates.ttcn +64 −2 Original line number Diff line number Diff line Loading @@ -943,6 +943,39 @@ module DiameterS9_Templates { } } template CCR_MSG m_CCR_TerminationRequest_MultBBERFact_AnGw(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 Multiple_BBERF_Action_AVP p_multipleBberfAction, template CCR_MSG.cCR_Body.aN_GW_Address p_anGwAddress ) modifies m_CCR_TerminationRequest := { cCR_Body := { cC_Request_Type := m_cC_Request_Type(TERMINATION_REQUEST_E), cC_Request_Number := m_cC_Request_Number(1), multiple_BBERF_Action := p_multipleBberfAction, aN_GW_Address := p_anGwAddress } } template CCR_MSG m_CCR_TerminationRequest_SubSessEnfInf(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 CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo ) modifies m_CCR_TerminationRequest := { cCR_Body := { cC_Request_Type := m_cC_Request_Type(TERMINATION_REQUEST_E), cC_Request_Number := m_cC_Request_Number(1), subsesion_Enforcement_Info := p_subsesionEnforcementInfo } } template CCR_MSG m_CCR_UpdateRequest (template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading @@ -960,7 +993,7 @@ module DiameterS9_Templates { } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf (template Session_Id_AVP p_sessionId, template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf_Qos (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 @@ -978,6 +1011,19 @@ module DiameterS9_Templates { } } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf (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 CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo ) modifies m_CCR_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type ( UPDATE_REQUEST_E ), subsesion_Enforcement_Info := p_subsesionEnforcementInfo } } template CCR_MSG m_CCR_UpdateRequest_MultBBERFact_AnGw (template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading Loading @@ -1050,6 +1096,22 @@ module DiameterS9_Templates { } } template RAR_MSG mw_RAR_sessReleaseCause_MultBBERFact_AnGw(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 Destination_Host_AVP p_destinationHost, template Multiple_BBERF_Action_AVP p_multipleBberfAction, template CCR_MSG.cCR_Body.aN_GW_Address p_anGwAddress ) modifies mw_RAR_sessReleaseCause := { rAR_Body := { multiple_BBERF_Action := p_multipleBberfAction, aN_GW_Address := p_anGwAddress } } } // end group S9modified_request_templates_receive group S9modified_answer_templates_send { Loading