Commit e2d5b6f5 authored by garciay's avatar garciay
Browse files

First stable version for INT#30 meeting

parent 6f203e3d
Loading
Loading
Loading
Loading
+78 −6
Original line number Original line Diff line number Diff line
@@ -45,6 +45,7 @@ module LibGtpv2C_Configuration {
            // Activate sync default for MTC
            // Activate sync default for MTC
            activate(a_mtc_shutdown());
            activate(a_mtc_shutdown());
            
            
            vc_teid := 0;
            vc_sequenceNumber := 0;
            vc_sequenceNumber := 0;
            vc_restartCounter := 0;
            vc_restartCounter := 0;
            vc_teidGreCounter := 0;
            vc_teidGreCounter := 0;
@@ -85,6 +86,7 @@ module LibGtpv2C_Configuration {
                activate(a_s1mme_default());
                activate(a_s1mme_default());
            }
            }
            
            
            vc_teid := 0;
            vc_sequenceNumber := 0;
            vc_sequenceNumber := 0;
            vc_restartCounter := 0;
            vc_restartCounter := 0;
            vc_teidGreCounter := 0;
            vc_teidGreCounter := 0;
@@ -128,6 +130,7 @@ module LibGtpv2C_Configuration {
                activate(a_s1mmeh_default());
                activate(a_s1mmeh_default());
            }
            }
            
            
            vc_teid := 0;
            vc_sequenceNumber := 0;
            vc_sequenceNumber := 0;
            vc_restartCounter := 0;
            vc_restartCounter := 0;
            vc_teidGreCounter := 0;
            vc_teidGreCounter := 0;
@@ -238,6 +241,7 @@ module LibGtpv2C_Configuration {
            // Activate sync default for MTC
            // Activate sync default for MTC
            activate(a_mtc_shutdown());
            activate(a_mtc_shutdown());
            
            
            vc_teid := 0;
            vc_sequenceNumber := 0;
            vc_sequenceNumber := 0;
            vc_restartCounter := 0;
            vc_restartCounter := 0;
            vc_teidGreCounter := 0;
            vc_teidGreCounter := 0;
@@ -272,6 +276,7 @@ module LibGtpv2C_Configuration {
            activate(a_mtc_shutdown());
            activate(a_mtc_shutdown());
            activate(a_s5_default());
            activate(a_s5_default());
            
            
            vc_teid := 0;
            vc_sequenceNumber := 0;
            vc_sequenceNumber := 0;
            vc_restartCounter := 0;
            vc_restartCounter := 0;
            vc_teidGreCounter := 0;
            vc_teidGreCounter := 0;
@@ -310,6 +315,7 @@ module LibGtpv2C_Configuration {
            activate(a_s4_default());
            activate(a_s4_default());
            activate(a_s5_default());
            activate(a_s5_default());
            
            
            vc_teid := 0;
            vc_sequenceNumber := 0;
            vc_sequenceNumber := 0;
            vc_restartCounter := 0;
            vc_restartCounter := 0;
            vc_teidGreCounter := 0;
            vc_teidGreCounter := 0;
@@ -344,6 +350,7 @@ module LibGtpv2C_Configuration {
            activate(a_mtc_shutdown());
            activate(a_mtc_shutdown());
            activate(a_s4_default());
            activate(a_s4_default());
            
            
            vc_teid := 0;
            vc_sequenceNumber := 0;
            vc_sequenceNumber := 0;
            vc_restartCounter := 0;
            vc_restartCounter := 0;
            vc_teidGreCounter := 0;
            vc_teidGreCounter := 0;
@@ -505,6 +512,16 @@ module LibGtpv2C_Configuration {
    
    
    group helperFunctions { 
    group helperFunctions { 
        
        
        /**
         * @desc Increment and return the sequence number
         * @return The new sequence number value
         * @verdict Unchanged
         */
        function f_getNextTeid() runs on Gtpv2CComponent return UInt32 {
            vc_teid := (vc_teid + 1) mod c_uInt32Max;
            return vc_teid;
        } // End of function f_getNextTeid
        
        /**
        /**
         * @desc Increment and return the sequence number
         * @desc Increment and return the sequence number
         * @return The new sequence number value
         * @return The new sequence number value
@@ -539,10 +556,22 @@ module LibGtpv2C_Configuration {
            
            
            group headers {
            group headers {
                
                
                function f_extract_teid(in Gtpv2CPdu p_gtpv2Pdu) return Oct4 { 
                /**
                 * @desc Extract the TEID IE from extended header
                 * @param The GTPv2-C PDU
                 * @return The TEID value
                 * @verdict Unchanged
                 */
                function f_extract_teid(in Gtpv2CPdu p_gtpv2Pdu) return UInt32 { 
                    return p_gtpv2Pdu.extHeader.teid;
                    return p_gtpv2Pdu.extHeader.teid;
                } // End of function f_extract_teid
                } // End of function f_extract_teid
                
                
                /**
                 * @desc Extract the Sequence Number IE from extended header
                 * @param The GTPv2-C PDU
                 * @return The Sequence Number value
                 * @verdict Unchanged
                 */
                function f_extract_sequenceNumber(in Gtpv2CPdu p_gtpv2Pdu) return UInt24 {
                function f_extract_sequenceNumber(in Gtpv2CPdu p_gtpv2Pdu) return UInt24 {
                    return p_gtpv2Pdu.extHeader.sequenceNumber;
                    return p_gtpv2Pdu.extHeader.sequenceNumber;
                } // End of function f_extract_sequenceNumber
                } // End of function f_extract_sequenceNumber
@@ -551,15 +580,22 @@ module LibGtpv2C_Configuration {
            
            
            group ieCreateSessionRequest {
            group ieCreateSessionRequest {
                
                
                /**
                 * @desc Extract the Recovery IE from Create Session Request message
                 * @param The GTPv2-C PDU
                 * @return The Recovery value
                 * @verdict Unchanged
                 */
                function f_extract_recovery(in Gtpv2CPdu p_gtpv2Pdu) return template (omit) Recovery {
                function f_extract_recovery(in Gtpv2CPdu p_gtpv2Pdu) return template (omit) Recovery {
                    // Sanity check
    //                if (not(ispresent(p_gtpv2Pdu.payload.ieCreateSessionRequest.recovery))) { 
    //                    return omit;
    //                }
    //                
                    return p_gtpv2Pdu.payload.ieCreateSessionRequest.recovery;
                    return p_gtpv2Pdu.payload.ieCreateSessionRequest.recovery;
                } // End of function f_extract_recovery
                } // End of function f_extract_recovery
                
                
                /**
                 * @desc Extract the EPS Bearer ID IE from Create Session Request message
                 * @param The GTPv2-C PDU
                 * @return The EPS Bearer ID value
                 * @verdict Unchanged
                 */
                function f_extract_epsBearerId_from_createdBearerContext(in Gtpv2CPdu p_gtpv2Pdu) return template (omit) EpsBearerId {
                function f_extract_epsBearerId_from_createdBearerContext(in Gtpv2CPdu p_gtpv2Pdu) return template (omit) EpsBearerId {
                    return p_gtpv2Pdu.payload.ieCreateSessionRequest.bearerContextsCreated.groupedIes.createdContextWithinCreateSessionRequest.linkedEpsBearerId;
                    return p_gtpv2Pdu.payload.ieCreateSessionRequest.bearerContextsCreated.groupedIes.createdContextWithinCreateSessionRequest.linkedEpsBearerId;
                } // End of function f_extract_epsBearerId_from_createdBearerContext
                } // End of function f_extract_epsBearerId_from_createdBearerContext
@@ -568,16 +604,52 @@ module LibGtpv2C_Configuration {
            
            
            group ieCreateSessionResponse {
            group ieCreateSessionResponse {
                
                
                /**
                 * @desc Extract the Charging ID IE from Create Session Response message
                 * @param The GTPv2-C PDU
                 * @return The Charging ID value
                 * @verdict Unchanged
                 */
                function f_extract_chargingId_from_createdBearerContext(in Gtpv2CPdu p_gtpv2Pdu) return template (omit) ChargingId {
                function f_extract_chargingId_from_createdBearerContext(in Gtpv2CPdu p_gtpv2Pdu) return template (omit) ChargingId {
                    return p_gtpv2Pdu.payload.ieCreateSessionResponse.bearerContextsCreated.groupedIes.createdContextWithinCreateSessionResponse.chargingId;
                    return p_gtpv2Pdu.payload.ieCreateSessionResponse.bearerContextsCreated.groupedIes.createdContextWithinCreateSessionResponse.chargingId;
                } // End of function f_extract_chargingId_from_createdBearerContext
                } // End of function f_extract_chargingId_from_createdBearerContext
                
                
                /**
                 * @desc Extract the S5/S8-U PGW F-TEID IE from Create Session Response message
                 * @param The GTPv2-C PDU
                 * @return The S5/S8-U PGW F-TEID value
                 * @verdict Unchanged
                 */
                function f_extract_s5_S8UPgw_from_createdBearerContext(in Gtpv2CPdu p_gtpv2Pdu) return template (omit) FullyQualifiedTeid {
                function f_extract_s5_S8UPgw_from_createdBearerContext(in Gtpv2CPdu p_gtpv2Pdu) return template (omit) FullyQualifiedTeid {
                    return p_gtpv2Pdu.payload.ieCreateSessionResponse.bearerContextsCreated.groupedIes.createdContextWithinCreateSessionResponse.s5_S8UPgw;
                    return p_gtpv2Pdu.payload.ieCreateSessionResponse.bearerContextsCreated.groupedIes.createdContextWithinCreateSessionResponse.s5_S8UPgw;
                } // End of function f_extract_chargingId_from_createdBearerContext
                } // End of function f_extract_chargingId_from_createdBearerContext
                
                
            } // End of group ieCreateSessionResponse 
            } // End of group ieCreateSessionResponse 
            
            
            group ieDeleteBearerRequest {
                
                /**
                 * @desc Extract the Cause IE from Delete Bearer Request message
                 * @param The GTPv2-C PDU
                 * @return The Cause value
                 * @verdict Unchanged
                 */
                function f_get_ieDeleteBearerRequest_cause(in Gtpv2CPdu p_gtpv2Pdu) return Cause {
                    return p_gtpv2Pdu.payload.ieDeleteBearerRequest.cause;
                } // End of function f_get_ieDeleteBearerRequest_cause
                
                /**
                 * @desc Extract the EPS Bearer ID IE from Delete Bearer Request message
                 * @param The GTPv2-C PDU
                 * @return The EPS Bearer ID value
                 * @verdict Unchanged
                 */
                function f_get_ieDeleteBearerRequest_linkedEpsBearerId(in Gtpv2CPdu p_gtpv2Pdu) return EpsBearerId {
                    return p_gtpv2Pdu.payload.ieDeleteBearerRequest.linkedEpsBearerId;
                } // End of function f_get_ieDeleteBearerRequest_linkedEpsBearerId
                
            } // End of group ieDeleteBearerRequest 
            
            function f_extract_digit(Bit12 p_value, integer p_index) return Bit4 {
            function f_extract_digit(Bit12 p_value, integer p_index) return Bit4 {
                var Bit12 v_result := (p_value >> (p_index - 1) * 4) and4b '000000001111'B;
                var Bit12 v_result := (p_value >> (p_index - 1) * 4) and4b '000000001111'B;
                var Bit4 v_result4bits := int2bit(bit2int(v_result), 4);
                var Bit4 v_result4bits := int2bit(bit2int(v_result), 4);
+30 −30
Original line number Original line Diff line number Diff line
@@ -310,7 +310,7 @@ module LibGtpv2C_MME_Functions {
                                            PX_AMBR_DL
                                            PX_AMBR_DL
                                        ),
                                        ),
                                        m_protocolConfigurationOptions(
                                        m_protocolConfigurationOptions(
                                            PX_PCO_PAYLOAD // TODO To be refined
                                            PX_PCO_PAYLOAD 
                                        ),
                                        ),
                                        f_calculateInformationElementLength_bearerContext(
                                        f_calculateInformationElementLength_bearerContext(
                                            m_BearerContexts(
                                            m_BearerContexts(
@@ -632,7 +632,7 @@ module LibGtpv2C_MME_Functions {
                            ),
                            ),
                            -,
                            -,
                            mw_payload_deleteSessionRequest(
                            mw_payload_deleteSessionRequest(
                                mw_deleteSessionRequest_dummy // TODO To be refined
                                mw_deleteSessionRequest_dummy 
                            ) 
                            ) 
                        ) 
                        ) 
                    )
                    )
@@ -670,13 +670,13 @@ module LibGtpv2C_MME_Functions {
                    m_pdu(
                    m_pdu(
                        m_header_noteid(e_createSessionRequest),
                        m_header_noteid(e_createSessionRequest),
                        m_extendedHeader_teid(
                        m_extendedHeader_teid(
                            '00000011'O, // FIXME Use a PIXIT
                            f_getNextTeid(), 
                            f_getNextSequenceNumber()
                            f_getNextSequenceNumber()
                        ),
                        ),
                        m_payload_deleteBearerRequest(
                        m_payload_deleteBearerRequest(
                            m_deleteBearerRequest_dummy( // TODO To be refined
                            m_deleteBearerRequest_dummy( 
                                m_epsBearerId(PX_EBI),
                                m_epsBearerId(PX_EBI),
                                m_epsBearerId(PX_EBI) // TODO To be refined
                                m_epsBearerId(PX_EBI) 
                            )
                            )
                        )
                        )
                    )
                    )
@@ -696,7 +696,7 @@ module LibGtpv2C_MME_Functions {
                            ),
                            ),
                            -,
                            -,
                            mw_payload_deleteBearerResponse(
                            mw_payload_deleteBearerResponse(
                                mw_deleteBearerResponse_dummy // TODO To be refined
                                mw_deleteBearerResponse_dummy 
                            ) 
                            ) 
                        ) 
                        ) 
                    )
                    )
@@ -735,7 +735,7 @@ module LibGtpv2C_MME_Functions {
                    m_pdu(
                    m_pdu(
                        m_header_noteid(e_downlinkDataNotification),
                        m_header_noteid(e_downlinkDataNotification),
                        m_extendedHeader_teid(
                        m_extendedHeader_teid(
                            '00000011'O, // FIXME Use a PIXIT
                            f_getNextTeid(), 
                            f_getNextSequenceNumber()
                            f_getNextSequenceNumber()
                        ),
                        ),
                        m_payload_downlinkDataNotification(
                        m_payload_downlinkDataNotification(
@@ -799,7 +799,7 @@ module LibGtpv2C_MME_Functions {
                    m_pdu(
                    m_pdu(
                        m_header_noteid(e_downlinkDataNotification),
                        m_header_noteid(e_downlinkDataNotification),
                        m_extendedHeader_teid(
                        m_extendedHeader_teid(
                            '00000011'O, // FIXME Use a PIXIT
                            f_getNextTeid(), 
                            f_getNextSequenceNumber()
                            f_getNextSequenceNumber()
                        ),
                        ),
                        m_payload_downlinkDataNotification(
                        m_payload_downlinkDataNotification(
@@ -1004,7 +1004,7 @@ module LibGtpv2C_MME_Functions {
                    m_pdu(
                    m_pdu(
                        m_header_noteid(e_updateBearerRequest),
                        m_header_noteid(e_updateBearerRequest),
                        m_extendedHeader_teid(
                        m_extendedHeader_teid(
                            '00000011'O, // FIXME Use a PIXIT, 
                            f_getNextTeid(), 
                            f_getNextSequenceNumber()
                            f_getNextSequenceNumber()
                        ),
                        ),
                        m_payload_updateBearerRequest(
                        m_payload_updateBearerRequest(
@@ -1282,7 +1282,7 @@ module LibGtpv2C_MME_Functions {
                    m_pdu(
                    m_pdu(
                        m_header_noteid(e_stopPagingIndication),
                        m_header_noteid(e_stopPagingIndication),
                        m_extendedHeader_teid(
                        m_extendedHeader_teid(
                            '00000011'O, // FIXME Use a PIXIT, 
                            f_getNextTeid(), 
                            f_getNextSequenceNumber()
                            f_getNextSequenceNumber()
                        ),
                        ),
                        m_payload_stopPagingIndication(
                        m_payload_stopPagingIndication(
@@ -1708,14 +1708,14 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Switch on the UE to initiate a NAS-ATTACH-REQUEST event on MME");
                action("Switch on the UE to initiate a NAS-ATTACH-REQUEST event on MME");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_requestMessagesDone, e_success);
            f_selfOrClientSyncAndVerdict(c_requestMessagesDone, e_success);
            // 2. Trigger Attch Accept
            // 2. Trigger Attch Accept
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Check NAS-ATTACH-ACCEPT event sent by MME");
                action("Check NAS-ATTACH-ACCEPT event sent by MME");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
            f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
            
            
@@ -1736,7 +1736,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Switch on the UE");
                action("Switch on the UE");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1762,7 +1762,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Switch off the UE to initiate a NAS-DETACH-REQUEST event on MME");
                action("Switch off the UE to initiate a NAS-DETACH-REQUEST event on MME");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
            f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
            
            
@@ -1782,7 +1782,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Send a data packet from the EPC (Internet) to the UE");
                action("Send a data packet from the EPC (Internet) to the UE");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1805,7 +1805,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Do not accept the incoming call. This will cause the UE to not respond to the Paging message");
                action("Do not accept the incoming call. This will cause the UE to not respond to the Paging message");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1828,7 +1828,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("The UE performs an S1 handover to the cell of the second eNB");
                action("The UE performs an S1 handover to the cell of the second eNB");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1851,7 +1851,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Switch on the UE");
                action("Switch on the UE");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1874,7 +1874,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_MME_EMULATION)) {
            if (not(PICS_SUPPORT_MME_EMULATION)) {
                action("Via the OAM interface of the P-GW modify the avialiable resources or memory in the P-GW so they are not available");
                action("Via the OAM interface of the P-GW modify the avialiable resources or memory in the P-GW so they are not available");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1897,7 +1897,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Generate an indication of bearer release from eNodeB");
                action("Generate an indication of bearer release from eNodeB");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1920,7 +1920,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Generate an indication of bearer release from eNodeB indicating an invalid bearer context");
                action("Generate an indication of bearer release from eNodeB indicating an invalid bearer context");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1943,7 +1943,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Initiate S1-Based handover procedure (eNodeB #1)");
                action("Initiate S1-Based handover procedure (eNodeB #1)");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1966,7 +1966,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Initiate Initiate S1-Based handover procedure (eNodeB #2)");
                action("Initiate Initiate S1-Based handover procedure (eNodeB #2)");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -1989,7 +1989,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Trigger an UE Context Release Request");
                action("Trigger an UE Context Release Request");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -2014,7 +2014,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Check that MME is sending paging");
                action("Check that MME is sending paging");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_initDone, e_success);
            f_selfOrClientSyncAndVerdict(c_initDone, e_success);
            // 2. Send Stop Paging on S11
            // 2. Send Stop Paging on S11
@@ -2025,7 +2025,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Check that MME stops sending paging");
                action("Check that MME stops sending paging");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
            f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
            
            
@@ -2045,7 +2045,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Trigger a successful SRVCC Handover to CDMA2000 1xRTT ");
                action("Trigger a successful SRVCC Handover to CDMA2000 1xRTT ");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -2068,7 +2068,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Force the UE back to E-UTRA");
                action("Force the UE back to E-UTRA");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -2091,7 +2091,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Force a handover to the CDMA2000 HRPD network");
                action("Force a handover to the CDMA2000 HRPD network");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
@@ -2114,7 +2114,7 @@ module LibGtpv2C_MME_Functions {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
            if (not(PICS_SUPPORT_S1_MME_TRIGGERS)) {
                action("Trigger a Delete PDN Connection Set Request from the eNodeB");
                action("Trigger a Delete PDN Connection Set Request from the eNodeB");
            } else {
            } else {
                // FIXME To be developed
                // FIXME Trigger to be developed
            }
            }
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            
            
+43 −43

File changed.

Preview size limit exceeded, changes collapsed.

+8 −8
Original line number Original line Diff line number Diff line
@@ -209,7 +209,7 @@ module LibGtpv2C_Templates {
         * @param p_sequenceNumber  Sequence number
         * @param p_sequenceNumber  Sequence number
         */
         */
        template (value) ExtendedHeader m_extendedHeader_teid( 
        template (value) ExtendedHeader m_extendedHeader_teid( 
                                                              in template (value) Oct4      p_teid, 
                                                              in template (value) UInt32    p_teid, 
                                                              in template (value) UInt24    p_sequenceNumber
                                                              in template (value) UInt24    p_sequenceNumber
        ) := {
        ) := {
            teid            := p_teid, 
            teid            := p_teid, 
@@ -235,7 +235,7 @@ module LibGtpv2C_Templates {
         * @param p_sequenceNumber  Sequence number
         * @param p_sequenceNumber  Sequence number
         */
         */
        template (present) ExtendedHeader mw_extendedHeader_teid( 
        template (present) ExtendedHeader mw_extendedHeader_teid( 
                                                                 template (present) Oct4      p_teid := ?, 
                                                                 template (present) UInt32    p_teid := ?, 
                                                                 template (present) UInt24    p_sequenceNumber := ?
                                                                 template (present) UInt24    p_sequenceNumber := ?
        ) := {
        ) := {
            teid            := p_teid, 
            teid            := p_teid, 
@@ -3471,7 +3471,7 @@ module LibGtpv2C_Templates {
            
            
            /**
            /**
             * @desc GTPv2-C Basic S103PpdDataForwardingInfo receive template
             * @desc GTPv2-C Basic S103PpdDataForwardingInfo receive template
             * @param p_hsgwAddressLength  TODO
             * @param p_hsgwAddressLength  The address length
             * @param p_greKey             Generic Routing Encapsulation (GRE) key 
             * @param p_greKey             Generic Routing Encapsulation (GRE) key 
             * @param p_epsBearerId        Number of EPS Bearer IDs
             * @param p_epsBearerId        Number of EPS Bearer IDs
             * @param p_epsBearerId        EPS Bearer ID
             * @param p_epsBearerId        EPS Bearer ID
@@ -3876,7 +3876,7 @@ module LibGtpv2C_Templates {
                key         := p_key,
                key         := p_key,
                ipv4Address := p_ipv4Address,
                ipv4Address := p_ipv4Address,
                ipv6Address := omit,
                ipv6Address := omit,
                moreBytes   := omit       // FIXME To be refined
                moreBytes   := omit
            } // End of template m_fullyQualifiedTeid_ipv4_s11_mme
            } // End of template m_fullyQualifiedTeid_ipv4_s11_mme
            
            
            /**
            /**
@@ -4212,9 +4212,9 @@ module LibGtpv2C_Templates {
            
            
            /**
            /**
             * @desc GTPv2-C Basic receive template for Fully qualified PDN Connection Set Identifier IE
             * @desc GTPv2-C Basic receive template for Fully qualified PDN Connection Set Identifier IE
             * @param p_csidsNum   TODO
             * @param p_csidsNum   Number of Connection Set Identifier (CSID)
             * @param p_nodeId     TODO
             * @param p_nodeId     Node identifier
             * @param p_nodeId     TODO
             * @param p_csids      Connection Set Identifiers (CSIDs) list
             */
             */
            template (present) FullyQualifiedPdnConnectionSetIdentifier mw_fullyQualifiedPdnConnectionSetIdentifier_ipv4(
            template (present) FullyQualifiedPdnConnectionSetIdentifier mw_fullyQualifiedPdnConnectionSetIdentifier_ipv4(
                                                                                                                         template (present) Bit4           p_csidsNum := ?,
                                                                                                                         template (present) Bit4           p_csidsNum := ?,
@@ -4259,7 +4259,7 @@ module LibGtpv2C_Templates {
            /**
            /**
             * @desc GTPv2-C Basic receive template for PrivateExtension IE
             * @desc GTPv2-C Basic receive template for PrivateExtension IE
             * @param p_enterpriseID     Enterprise ID (refer to http://www.iana.org/assignments/enterprise-numbers). 
             * @param p_enterpriseID     Enterprise ID (refer to http://www.iana.org/assignments/enterprise-numbers). 
             * @param p_value_           TODO
             * @param p_value_           Proprietary value 
             */
             */
            template (present) PrivateExtension mw_privateExtension(
            template (present) PrivateExtension mw_privateExtension(
                                                                    template (present) UInt16         p_enterpriseID := ?,
                                                                    template (present) UInt16         p_enterpriseID := ?,
+2 −0
Original line number Original line Diff line number Diff line
@@ -88,6 +88,8 @@ module LibGtpv2C_TestSystem {
            /** Component to trigger on S4 message */
            /** Component to trigger on S4 message */
            var Gtpv2CComponent vc_s4;
            var Gtpv2CComponent vc_s4;
            
            
            /** TEID counter */
            var UInt32 vc_teid;
            /** Sequence number counter */
            /** Sequence number counter */
            var UInt24 vc_sequenceNumber;
            var UInt24 vc_sequenceNumber;
            /** Restart counter */
            /** Restart counter */
Loading