Commit 7b1e2816 authored by pintar's avatar pintar
Browse files

Common funstions: preambles postambles,...

parent b3a15a04
Loading
Loading
Loading
Loading
+155 −2
Original line number Diff line number Diff line
@@ -23,20 +23,78 @@
    //DiameterS9
    import from DiameterS9_PIXITS all;
    import from DiameterS9_Templates all;
    import from DiameterS9_TestConfiguration all;

    group GlobalSteps {

        /*
        *  @desc    This is a test step that init global variables
        *  @param   
        */
        function f_DiameterS9_init()
        runs on DiameterComponent {

            //Defaults
            vc_def_catchSyncStop_diameter := activate(a_diameter_catchSyncStop());
            vc_default_diameter := activate (a_diameter_default());

            //Base LibDiameter init function if there will be any base initialisation
            f_Diameter_Init_Component();

            vc_ETS_address := PX_DIAMETER_S9_ETS_IPADDR;
            vc_ETS_port    := PX_DIAMETER_S9_ETS_PORT;
            vc_SUT_address := PX_DIAMETER_S9_SUT_IPADDR;
            vc_SUT_port    := PX_DIAMETER_S9_SUT_PORT;

            vc_sessionId := m_sessionId(PX_SessionID);

            vc_originHost := m_originHost(PX_OriginHost);
            vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS)

            vc_originHost_IUT := m_originHost(PX_DestinationHost);
            vc_originRealm_IUT := m_originRealm(PX_DestinationRealm); // realm of the originator (TS)

            vc_destinationHost := m_destinationHost(PX_DestinationHost);
            vc_destinationRealm := m_destinationRealm(PX_DestinationRealm);

            vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_S9_ETS_IPADDR));

            vc_send_hopid:=hex2int('00000100'H);
            vc_send_endid:=hex2int('01000000'H);

        } // end function f_DiameterS9_init



    } // end group GlobalSteps

    group Preambles{

        function f_preamble_VPCRF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleClient();
            }
            f_DiameterS9_init();
            f_preambleDiameterBaseClient(c_applIdS9);
        }

        function f_preamble_HPCRF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleServer();
            }
            f_DiameterS9_init();
            f_preambleDiameterBaseServer(c_applIdS9);
        }

        /*
        *  @desc    This is a test step that initiate communication with H-PCRF
        *  @param   
        */
        function f_initiate_session_HPCRF() runs on DiameterComponent
        function f_initiate_session_VPCRF() runs on DiameterComponent
        {
            f_send_CCR(m_CCR_InitialRequest(vc_sessionId,
                                            vc_originHost,
@@ -52,16 +110,111 @@

    group Postambles {

        function f_postamble_VPCRF() runs on DiameterComponent
        {

            f_postambleDiameterBase();

            if(PX_DIAM_LLP_ENABLED)
            {
                f_postambleDisconnect();
            }

        }

        function f_postamble_HPCRF() runs on DiameterComponent
        {

            f_postambleDiameterBase();

            if(PX_DIAM_LLP_ENABLED)
            {
                f_postambleDisconnect();
            }

        }

        /**
         * 
         * @desc 
         */
        function f_terminate_session_HPCRF() runs on DiameterComponent
        function f_terminate_session_VPCRF() runs on DiameterComponent
        {
            f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm));
            f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT));
        }

        function f_terminate_session_HPCRF() runs on DiameterComponent
        {
            f_send_RAR(m_RAR_SessionEnd
               (vc_sessionId, vc_originHost, vc_originRealm,
                vc_destinationRealm, vc_destinationHost,
                m_sessReleaseCause
                (UNSPECIFIED_REASON_E)));

            f_awaiting_RAA(mw_RAA_dummy);

            f_awaiting_CCR(mw_CCR_basic(?,
                                        vc_originHost,
                                        vc_originRealm,
                                        vc_destinationRealm,
                                        mw_cC_Request_Type(TERMINATION_REQUEST_E)
                                        ));

            f_send_CCA(m_CCA_basic(vc_sessionId,
                                   vc_originHost,
                                   vc_originRealm,
                                   m_cC_Request_Type(TERMINATION_REQUEST_E),
                                   m_resultCode(m_resultCode_diameterSuccess)));
        }

        function f_ConfigRun_HPCRF_PCEF(DiameterComponent p_diameterComponent_hpcrf,
                                         DiameterComponent p_diameterComponent_pcef) runs on ServerSyncComp
        {
            if (PX_Gxsupport) {
                // synchronize PTCs on 3 sychronization points
                f_serverSync2Clients({c_prDone, c_tbDone, c_poDone});
                f_cf_1S9_1Gx_hpcrfDown(p_diameterComponent_hpcrf,
                                       p_diameterComponent_pcef);
            } else {
                // synchronize single PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
                f_cf_1S9_hpcrfDown(p_diameterComponent_hpcrf);
            }
        }

        function f_ConfigRun_HPCRF_BBERF(DiameterComponent p_diameterComponent_hpcrf,
                                          DiameterComponent p_diameterComponent_bberf) runs on ServerSyncComp
        {
            if (PX_Gxxsupport) {
                // synchronize PTCs on 3 sychronization points
                f_serverSync2Clients({c_prDone, c_tbDone, c_poDone});
                f_cf_1S9_1Gxx_hpcrfDown(p_diameterComponent_hpcrf,
                                        p_diameterComponent_bberf);
            } else {
                // synchronize single PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
                f_cf_1S9_hpcrfDown(p_diameterComponent_hpcrf);
            }
        }

        function f_ConfigRun_HPCRF_2BBERF(DiameterComponent p_diameterComponent_hpcrf,
                                          DiameterComponent p_diameterComponent_bberf1,
                                          DiameterComponent p_diameterComponent_bberf2) runs on ServerSyncComp
        {
            if (PX_Gxxsupport) {
                // synchronize PTCs on 3 sychronization points
                f_serverSync3Clients({c_prDone, c_tbDone, c_poDone});
                f_cf_1S9_2Gxx_hpcrfDown(p_diameterComponent_hpcrf,
                                        p_diameterComponent_bberf1,
                                        p_diameterComponent_bberf2);
            } else {
                // synchronize single PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
                f_cf_1S9_hpcrfDown(p_diameterComponent_hpcrf);
            }
        }

    }// end group Postambles

    group AVPOperations {