Commit 55de24e4 authored by schmitting's avatar schmitting
Browse files

Changes after week 49/2014 validation session

parent 2b7ae361
Loading
Loading
Loading
Loading
+657 −1212

File changed.

Preview size limit exceeded, changes collapsed.

+619 −718

File changed.

Preview size limit exceeded, changes collapsed.

+80 −58
Original line number Diff line number Diff line
@@ -16,13 +16,19 @@

    // LibDiameter
    import from LibDiameter_TypesAndValues {
        type DIAMETER_MSG, PUER_MSG, ULR_MSG, CLA_MSG, AIR_MSG;
        type DIAMETER_MSG, PUER_MSG, ULR_MSG, CLA_MSG, AIR_MSG, NOR_MSG;
        const c_applIdS6a
    };
    import from LibDiameter_Types_S6a_AVPs all;

    import from LibDiameter_Templates  {
        template    
        m_originHost, m_originRealm, m_sessionId, m_destinationHost, m_destinationRealm, m_userName
    };
    import from LibDiameter_Steps {
        function 
            f_preambleDiameterBaseClient, f_preambleDiameterBaseServer
            f_preambleDiameterBaseClient, f_preambleDiameterBaseServer, f_IPV4or6_String2Address, 
            f_send_ULR, f_send_ULA, f_awaiting_ULR, f_awaiting_ULA, f_postambleDiameterBase
    };
    import from LibDiameter_Interface {
        type 
@@ -30,10 +36,7 @@
    };
    
    // DiameterS6a
    import from DiameterS6a_PIXITS {
        group 
            ipSettings, fieldValues
    }; 
    import from DiameterS6a_PIXITS all; 
    import from DiameterS6a_Templates all;


@@ -44,12 +47,28 @@
        */
        function f_DiameterS6a_init()
        runs on DiameterComponent {

            vc_ETS_address := PX_DIAMETER_S6a_ETS_IPADDR;
            vc_ETS_port    := PX_DIAMETER_S6a_ETS_PORT;
            vc_SUT_address := PX_DIAMETER_S6a_SUT_IPADDR;
            vc_SUT_port    := PX_DIAMETER_S6a_SUT_PORT;
            
            // Initialize component variables 
            vc_sessionId := m_sessionId(PX_SESSION_ID);
            vc_originHost := m_originHost(PX_ORIGIN_HOST);
            vc_originRealm := m_originRealm(PX_ORIGIN_REALM); 
            
            vc_originHost_IUT := m_originHost(PX_DESTINATION_HOST);
            vc_originRealm_IUT := m_originRealm(PX_DESTINATION_REALM); // realm of the originator (TS)
            
            vc_destinationHost := m_destinationHost(PX_DESTINATION_HOST);
            vc_destinationRealm := m_destinationRealm(PX_DESTINATION_REALM);
            
            vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_S6a_ETS_IPADDR));

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

        } // End of function f_DiameterGx_init
        
        /**
@@ -134,7 +153,7 @@
                // Activate defaults
                activate( a_mme_default( ) );
                
                f_preambleDiameterBaseServer(c_applIdS6a); // MME ats as the server
                f_preambleDiameterBaseServer(c_applIdS6a); // MME acts as the client
            } // End of function f_preamble_MME
        
        } // End of group mmeRole
@@ -142,7 +161,7 @@
        group hssRole {
            
            /**
             * @desc Preamble for HSS IUT role
             * @desc Preamble for HSS IUT role: sends CER await CEA and sends DWR and awaits DWA
             */
            function f_preamble_HSS() runs on DiameterComponent {
                // Connect client sync port
@@ -154,7 +173,7 @@
                // Activate defaults
                activate( a_hss_default( ) );
                
                f_preambleDiameterBaseClient(c_applIdS6a); // HSS acts as the client
                f_preambleDiameterBaseClient(c_applIdS6a); // HSS acts as the server
            } // End of function f_preamble_HSS
        
        } // End of group hssRole
@@ -177,6 +196,7 @@
             * @desc Postamble for MME IUT role
             */
            function f_postamble_MME() runs on DiameterComponent {
                f_postambleDiameterBase();
                // Deactivate defaults
                deactivate;
            } // End of function f_postamble_MME
@@ -189,6 +209,7 @@
             * @desc Postamble for HSS IUT role
             */
            function f_postamble_HSS() runs on DiameterComponent {
                f_postambleDiameterBase();
                // Deactivate defaults
                deactivate;
            } // End of function f_postamble_HSS
@@ -197,62 +218,63 @@
        
    } // End of group Postambles
    
    group AVPOperations {
    }// End of group AVPOperations
    group Initiation_session {

    group CheckFunctions {
    } // End of group CheckFunctions
    
    group SendMessage {
            
        /**
         * @desc Function used to trigger a UL-Request message
         * @param p_ulrMSG
         * @verdict Unchanged
         * @desc Preamble await ULR and send ULA for HSS IUT role
         */
        function f_triggerUlrMessage ( template (value) ULR_MSG p_ulrMSG ) 
        runs on DiameterComponent {
            DIAMP.send(
                DIAMETER_MSG : { uLR_MSG := p_ulrMSG } 
        function f_init_awaitULR_sendULA() runs on DiameterComponent {
                
            f_awaiting_ULR(mdw_ULR(?,mw_S6a_ULR_Body_dummy));
                
            f_send_ULA(
                 md_ULA( 
                    vc_sessionId,                                   // containing a Session-ID AVP
                    md_ulaBodyAvps(
                        vc_originHost,                              // containing an Origin-Host AVP
                        vc_originRealm,                             // containing an Origin-Realm AVP
                        md_auth_Session_State_noStateMaintained     // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                    ) // End of md_ulaBodyAvps
                ) // End of md_ULA
            );
        } // End of function f_triggerUlrMessage
                
        /**
         * @desc Function used to trigger a PU-Request message
         * @param p_purMSG
         * @verdict Unchanged
         */
        function f_triggerPuerMessage ( template (value) PUER_MSG p_purMSG ) 
        runs on DiameterComponent {
            DIAMP.send(
                DIAMETER_MSG : { pUER_MSG := p_purMSG } 
            );
        } // End of function f_triggerPuerMessage
        }// End of function f_init_sendULR_awaitULA
            
        /**
         * @desc Function used to trigger a CL-Request message
         * @param p_claMSG
         * @verdict Unchanged
         * @desc Preamble send ULR and await ULA for HSS IUT role
         */
        function f_triggerClaMessage ( template (value) CLA_MSG p_claMSG ) 
        runs on DiameterComponent {
            DIAMP.send(
                DIAMETER_MSG : { cLA_MSG := p_claMSG } 
        function f_init_sendULR_awaitULA() runs on DiameterComponent {
            
            f_send_ULR(
                md_ULR( 
                    vc_sessionId,                                   // containing a Session-ID AVP
                    md_ulrBodyAvps(
                        md_auth_Session_State_noStateMaintained,    // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                        vc_originHost,                              // containing an Origin-Host AVP
                        vc_originRealm,                             // containing an Origin-Realm AVP
                        vc_destinationRealm,                        // containing a Destination-Realm AVP
                        m_userName(PX_USR_NAME),                  // containing a User-Name AVP
                        m_rAT_Type(PX_RAT_TYPE),                    // containing a RAT-Type AVP
                        md_ulr_Flags_AVP(PX_ULR_FLAGS_S6a_IND_SET), // containing a ULR-Flags AVP with S6a-indicator bit set
                        m_visitedPLMNId_dummy                       // containing a Visited-PLMN-ID AVP
                    ) // End of md_ulrBodyAvps
                ) // End of md_ULR
            );
        } // End of function f_triggerClaMessage
            
        /**
         * @desc Function used to trigger a AI-Request message
         * @param p_airMSG
         * @verdict Unchanged
         */
        function f_triggerAirMessage ( template (value) AIR_MSG p_airMSG ) 
        runs on DiameterComponent {
            DIAMP.send(
                DIAMETER_MSG : { aIR_MSG := p_airMSG } 
            );
        } // End of function f_triggerAirMessage
            f_awaiting_ULA(mdw_ULA(?,mw_S6a_ULA_Body_dummy));
            
        }// End of function f_init_sendULR_awaitULA
        
        
    }//end group Initiation_session

    group AVPOperations {
    }// End of group AVPOperations

    group CheckFunctions {
    } // End of group CheckFunctions
    

    } // End of group SendMessage

} // End of  module DiameterS6a_Steps
 No newline at end of file
+252 −135

File changed.

Preview size limit exceeded, changes collapsed.

+263 −60

File changed.

Preview size limit exceeded, changes collapsed.

Loading