Commit f1c6e133 authored by garciay's avatar garciay
Browse files

STF519: Week #12, Finalise Paging group

parent e18f703b
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -202,5 +202,20 @@ module LibS1AP_Pixits {
     */
    modulepar Bit27 PX_CGS_ID := '000000000000000000000000000'B;
    
    /** @desc The UE Identity Index value IE is used by the eNB to calculate the Paging Frame TS 36.304.
     * @see ETSI TS 136 413 Clause 9.2.3.10 UE Identity Index value
     */
    modulepar UEIdentityIndexValue PX_UE_IDENTITY_INDEX_VALUE := '0000000000'B;
    
    /** @desc The International Mobile Subscriber Identity, which is commonly used to identify the UE in the CN.
     * @see ETSI TS 136 413 Clause 9.2.3.11 IMSI
     */
    modulepar IMSI PX_IMSI := '000000'O;
    
    /** @desc Indicates whether Paging is originated from the CS or PS domain.
     * @see ETSI TS 136 413 Clause 9.2.3.22 CN Domain
     */
    modulepar CNDomain PX_CNDOMAIN := ps;
    
} // End of module LibS1AP_Pixits
+169 −153
Original line number Diff line number Diff line
@@ -289,6 +289,16 @@ module LibS1AP_Steps {
            f_recv_S1AP_successfulOutcome(mw_mME_Configuration_Update_Failure(p_value))
        } // End of f_recv_MME_Configuration_Update_Failure
        
        /**
         * @desc Receive S1AP Message PAGING
         * @param p value Receive template for PAGING IEs
         */
        function f_recv_Paging(
                               template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_paging(p_value))
        } // End of f_recv_Paging
        
        /**
         * @desc Receive S1AP Message DOWNLINK NAS TRANSPORT
         * @param p value Receive template for DOWNLINK NAS TRANSPORT IEs
@@ -1130,6 +1140,12 @@ module LibS1AP_Steps {
        
        group mmeRole {
            
            /**
             * @desc Trigger a PAGING event
             * @return true on success, false otherwise
             */
            external function fx_MME_Paging_procedure() return boolean;
            
            /**
             * @desc Trigger a DOWNLINK NAS TRANSPORT event
             * @return true on success, false otherwise
+126 −19
Original line number Diff line number Diff line
@@ -97,7 +97,6 @@ module LibS1AP_Templates {
                        m_E_RABToBeSetupList(p_RecordOf_E_RABToBeSetupItem_value)
                    } // End of template m_E_RABSetupReqIEs
                    
                    
                }// End of group ERABSetup

				group ERABModify {
@@ -1336,7 +1335,45 @@ module LibS1AP_Templates {
                } // End of group Error_Indication_receive
                
                /**
                 * @desc Receive messages for Management procedures
                 * @desc Receive messages for Paging
                 */
                group Paging_group {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with PAGING payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_paging(
                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_Paging,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_paging
                    
                    /**
                     * @desc Receive template for PAGING message
                     * @param p_uEIdentityIndexValue    The expected UE Identity Index value value. Default: ?
                     * @param p_uEPagingID              The expected UEPagingID value. Default: ?
                     * @param p_cNDomain                The expected CNDomain value. Default: ?
                     * @param p_tAI                     The expected TAI list value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_pagingIEs(
                                                                        template (present) UEIdentityIndexValue p_uEIdentityIndexValue := ?,
                                                                        template (present) UEPagingID p_uEPagingID := ?,
                                                                        template (present) CNDomain p_cNDomain := ?,
                                                                        template (present) TAIList p_tAIs := ?
                    ) := {
                        mw_uEIdentityIndexValue_IE(p_uEIdentityIndexValue),
                        mw_uEPagingID_IE(p_uEPagingID),
                        mw_cNDomain_IE(p_cNDomain),
                        mw_tAIs_IE(p_tAIs)
                    } // End of template mw_pagingIEs
                    
                } // End of group Paging_group
                
                /**
                 * @desc Receive messages for NAS transport
                 */
                group NAS_transport_group {
                    
@@ -2889,6 +2926,42 @@ module LibS1AP_Templates {
                value_ := { UE_associatedLogicalS1_ConnectionItem := p_value }
            } // End of template mw_uE_associatedLogicalS1_ConnectionItemResAck_IE
            
            /**
             * @desc Receive template for UEIdentityIndexValue protocol IE 
             * @param p_value The expected UE Identity Index value IE is used by the eNB to calculate the Paging Frame TS 36.304. Default: ?
             */
            template (present) ProtocolIE mw_uEIdentityIndexValue_IE(
                                                                     template (present) UEIdentityIndexValue p_value := ?
            ) := {
                id := S1AP_Constants.id_UEIdentityIndexValue,
                criticality := ignore,
                value_ := { UEIdentityIndexValue := p_value }
            } // End of template mw_uEIdentityIndexValue_IE
            
            /**
             * @desc Receive template for UEPagingID protocol IE 
             * @param p_value The expected Identity with which the UE is paged. Default: ?
             */
            template (present) ProtocolIE mw_uEPagingID_IE(
                                                           template (present) UEPagingID p_value := ?
            ) := {
                id := S1AP_Constants.id_UEPagingID,
                criticality := ignore,
                value_ := { UEPagingID := p_value }
            } // End of template mw_uEPagingID_IE
            
            /**
             * @desc Receive template for CNDomain protocol IE 
             * @param p_value The expected CN Domain. Default: ?
             */
            template (present) ProtocolIE mw_cNDomain_IE(
                                                         template (present) CNDomain p_value := ?
            ) := {
                id := S1AP_Constants.id_CNDomain,
                criticality := ignore,
                value_ := { CNDomain := p_value }
            } // End of template mw_cNDomain_IE
            
            /**
             * @desc Receive template for GUMMEIList protocol IE 
             * @param p_gUMMEIList The GUMMEIList value. Default: ?
@@ -2901,6 +2974,18 @@ module LibS1AP_Templates {
                value_ := { GUMMEIList := p_gUMMEIList }
            } // End of template mw_gUMMEIList_IE
            
            /**
             * @desc Receive template for TAI protocol IE 
             * @param p_tAI The TAI value. Default: ?
             */
            template (present) ProtocolIE mw_tAIs_IE(
                                                     template (present) TAIList p_tAIs := ?
            ) := {
                id := S1AP_Constants.id_TAIList,
                criticality := ignore,
                value_ := { TAIList := p_tAIs }
            } // End of template mw_tAs_IE
            
            /**
             * @desc Receive template for TAI protocol IE 
             * @param p_tAI The TAI value. Default: ?
@@ -3711,6 +3796,28 @@ module LibS1AP_Templates {
                    iE_Extensions   := *
                } // End of template mw_uE_associatedLogicalS1_ConnectionItem
                
                /**
                 * @desc Receive template for UEPagingID protocol IE
                 * @param p_s_tMSI   The Temporary Mobile Subscriber Identity. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.6 S-TMSI
                 */
                template (present) UEPagingID mw_uEPagingID_s_tMSI(
                                                                   template (present) S_TMSI p_s_tMSI := ?
                ) := {
                    s_TMSI := p_s_tMSI
                } // End of template mw_uEPagingID_s_tMSI
                
                /**
                 * @desc Receive template for UEPagingID protocol IE
                 * @param p_s_tMSI   The International Mobile Subscriber Identity. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.11 IMSI
                 */
                template (present) UEPagingID mw_uEPagingID_iMSI(
                                                                 template (present) IMSI p_iMSI := ?
                ) := {
                    iMSI := p_iMSI
                } // End of template mw_uEPagingID_iMSI
                
                /**
                 * @desc Send template for GUMMEI protocol IE
                 * @param p_pLMNidentity  The expected PLMNidentity value.
+143 −106
Original line number Diff line number Diff line
@@ -1390,6 +1390,8 @@ module S1AP_TCFunctions {
         */
        group Paging_group {
            
            // void
            
        } // End of group Paging_group
        
        /**
@@ -2639,8 +2641,8 @@ module S1AP_TCFunctions {
        } // End of group LPPa_transport_group 
        
        /**
         * @desc NAS transport group
         * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.18  Unknown, Unforseen and Errorneous Protocol Data group
         * @desc Unknown, Unforseen and Erroneous Protocol Data
         * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18  Unknown, Unforseen and Erroneous Protocol Data
         */
        group Unknown_unforseen_errorneous_group {
            
@@ -2699,19 +2701,54 @@ module S1AP_TCFunctions {
         */
        group Handover_signalling_group {
            
            
        } // End of group Handover_signalling_group
        


        /**
         * @desc Paging group
         * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.5  Paging group
         * @see ETSI TS 103 497-2 Clause 5.2.2.2.5  Paging group
         */
        group Paging_group {
        group Pagin_group {
            
            /**
             * @desc Testcase function for TC_S1AP_MME_PAG_01
             */
            function f_TC_S1AP_MME_PAG_01() runs on S1APComponent { 
                // Local variables
                
        } // End of group Paging_group
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                f_rABSetupRequest();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // 1. to indicate a Paging procedure
                if (fx_MME_Paging_procedure() == false) {
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_error); 
                } else {
                    // 2. sends a PAGING
                    f_recv_Paging(
                        mw_pagingIEs(
                            PX_UE_IDENTITY_INDEX_VALUE,
                            mw_uEPagingID_iMSI(
                                PX_IMSI
                            ),
                            PX_CNDOMAIN,
                            - // TODO To be refined
                    ));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                }
                
                // Postamble
                f_rABSetupRelease();
                f_postamble_S1AP_MME();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_PAG_01
            
        } // End of group Pagin_group
        
        /**
         * @desc NAS transport group
@@ -3726,8 +3763,8 @@ module S1AP_TCFunctions {
        } // End of group LPPa_transport_group 
        
        /**
         * @desc NAS transport group
         * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18  Unknown, Unforseen and Errorneous Protocol Data group
         * @desc Unknown, Unforseen and Erroneous Protocol Data
         * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18  Unknown, Unforseen and Erroneous Protocol Data
         */
        group Unknown_unforseen_errorneous_group {
            
+127 −78

File changed.

Preview size limit exceeded, changes collapsed.

Loading