Commit 61e33621 authored by rennoch's avatar rennoch
Browse files

add declarations for TC_HPCRF_HMB

parent 5538753b
Loading
Loading
Loading
Loading
+158 −7
Original line number Diff line number Diff line
@@ -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,
@@ -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,
@@ -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,
@@ -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,
@@ -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();
@@ -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();
@@ -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();
@@ -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        
+64 −2
Original line number Diff line number Diff line
@@ -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,
@@ -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,
@@ -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,
@@ -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 {