Commit 17c66b16 authored by garciay's avatar garciay
Browse files

Create repository

parent 3fea152c
Loading
Loading
Loading
Loading
+112 −0
Original line number Original line Diff line number Diff line
/**
 * @author      ETSI/STF498
 * @version     $Url$
 *              $Id$
 * @dec         Test System module for INT GTPv2-C library
 */
module LibGtpv2C_TestSystem { 
    
    // LibCommon
    import from LibCommon_DataStrings all;
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_Time {modulepar all};
    import from LibCommon_Sync all;
    
    // LibGtpv2C
    import from LibGtpv2C_TypesAndValues all;
    
    group portDefinitions {
        
        /**
         * @desc Adapter control port, used to setup UDP parameters (if required)
         */
        type port AdapterControlPort message {
            out
                AcPrimitive;
            in
                AcResponse;
        } // End of AdapterControlPort
        
    } // End of group portDefinitions
    
    group interfacePorts { 
        
        /**
         * @desc GTPv2-C ports
         */
        type port Gtpv2CPort message {
            in  Gtpv2Ind; // TTCN-3 Message indication
            out Gtpv2Req; // TTCN-3 Message request
        } // End of Gtpv2CPort
        
    } // End of group interfacePorts
    
    group componentDefinitions { 
        
        /**
         * @desc GTPv2 C Test Component
         */
        type component Gtpv2CComponent extends ServerSyncComp, SelfSyncComp { 
            
            /** TestAdapter control port */
            port AdapterControlPort acPort;
            /** GTPv2-C port */
            port Gtpv2CPort gtpv2CPort;
            
            // Execution timers
            timer tc_wait := PX_TWAIT;
            timer tc_ac := PX_TAC;
            timer tc_noac := PX_TNOAC;
            
            /** Component to simulate MME role */
            var Gtpv2CComponent vc_gtpv2c_mme; 
            /** Component to simulate SGW role */
            var Gtpv2CComponent vc_gtpv2c_sgw;
            /** Component to trigger on S1-MME message */
            var Gtpv2CComponent vc_gtpv2c_s1mme;
            
            /** Sequence number counter */
            var UInt24 vc_sequenceNumber;
            /** Restart counter */
            var UInt16 vc_restartCounter;
            
        } // End of Gtpv2CComponent
        
        /**
         * @desc GTPv2 C System Adapter
         */
        type component Gtpv2CSystemAdapter { 
            
            /** TestAdapter control port */
            port AdapterControlPort acPort;
            /** GTPv2-C port */
            port Gtpv2CPort gtpv2CPort;
            
        } // End of Gtpv2CSystemAdapter
        
    } // End of group componentDefinitions 
    
    group gtpv2CPrimitives {
        
        /**
         * @desc Gtpv2-C Indication Primitive
         */
        type record Gtpv2Ind {
            Gtpv2Pdu    msgIn,
            MacAddress  macDestinationAddress
        } // End of record Gtpv2Ind 
        
        /**
         * @desc Gtpv2-C Request Primitive
         */
        type record Gtpv2Req {
            Gtpv2Pdu    msgOut,
            MacAddress  macDestinationAddress
        } // End of record Gtpv2Req 
        
    } // End of group gtpv2CPrimitives
    with {
        encode "LibGtpv2C_Interface"
    } 
    
} // End of module LibGtpv2C_TestSystem 
 No newline at end of file