Commit fafcbe37 authored by ulrichst's avatar ulrichst
Browse files

completion of f_TC_S1AP_eNB_RAB_20 and f_TC_S1AP_eNB_RAB_21

parent ce67cfc0
Loading
Loading
Loading
Loading
+32 −12
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ module LibS1AP_Steps {
        function f_recv_E_RABReleaseResponse(
                                           template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
             f_recv_S1AP_successfulOutcome(mw_E_RABReleaseResponse(p_value))
            f_recv_S1AP_successfulOutcome(mw_E_RABReleaseResponseIE(p_value))
        } // End of f_recv_E_RABReleaseResponse
        
        /**
@@ -154,6 +154,19 @@ module LibS1AP_Steps {
             f_recv_S1AP_successfulOutcome(mw_E_RABModifiedResponse(p_value))
        } // End of f_recv_E_RABModifiedResponse
         
        function f_recv_E_RABReleaseIndication( 
            template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_E_RABReleaseIndication_IE(p_value))
        }
        
        function f_recv_E_RABModificationIndication( 
            template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_E_RABModificationIndication_IE(p_value))
        }
                 
        
        /**
          * @desc Receive S1AP Message E_RABModifiedRequest
          * @param p_value Receive template for E_RABModifiedRequest IEs
@@ -1721,8 +1734,15 @@ module LibS1AP_Steps {
                                                                  in boolean p_associated_signalling_mode
            ) return boolean;
            
            /**
             * @desc Trigger a E-RAB Release procedure
             * @param TODO
             * @return true on success, false otherwise
             */
			external function fx_eNB_erab_Release_indication_procedure( in boolean p_param) return boolean;
            
            external function fx_eNB_erab_modification_indication_procedure ( in boolean p_param) return boolean;
            
        } // End of group mmeRole
        
    } // End of group externalFunctions
+159 −93
Original line number Diff line number Diff line
@@ -240,17 +240,6 @@ module LibS1AP_Templates {
                
                    group ERABSetup{
                    
                        /**
                         * @desc Send template for InitiatingMessage message with E-RABSetup payload
                         * @param p_value           The protocol information elements.
                         */
                        template (value) InitiatingMessage m_E_RABSetupRequest(
                                                                               in template (value) RecordOf_ProtocolIE p_value) := {
                            procedureCode := id_E_RABSetup,
                            criticality := reject,
                            value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                        } // End of template m_E_RABSetupRequest
    
                        template (value) RecordOf_ProtocolIE m_E_RABSetupReqIEs(
                                                                                in template (value) MME_UE_S1AP_ID p_MME_value,
                                                                                in template (value) ENB_UE_S1AP_ID p_eNB_value,
@@ -289,17 +278,6 @@ module LibS1AP_Templates {
                            m_E_RABToBeSetupList(p_RecordOf_E_RABToBeSetupItem_value)
                        } // End of template m_E_RABSetupReqIEs
    
                        /**
                         * @desc Send template for InitiatingMessage message with E-RABSetup response payload
                         * @param p_value           The procedure code value
                         */
                        template (value) InitiatingMessage m_E_RABSetupResponse(
                                                                               in template (value) RecordOf_ProtocolIE p_value) := {
                            procedureCode := id_E_RABSetup,
                            criticality := reject,
                            value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                        } // End of template m_E_RABSetupResponse
    
                        template (value) RecordOf_ProtocolIE m_E_RABSetupResIEs(
                                                                                in template (value) MME_UE_S1AP_ID p_MME_value,
                                                                                in template (value) ENB_UE_S1AP_ID p_eNB_value,
@@ -315,16 +293,7 @@ module LibS1AP_Templates {

                    group ERABModifyRequest { 
                        
                       /**
                         * @desc Send template for InitiatingMessage message with E-RABModify payload
                         * @param p_value           The protocol information elements.
                         */
                        template (value) InitiatingMessage m_E_RABModifiedRequest(
                                                                               in template (value) RecordOf_ProtocolIE p_value) := {
                            procedureCode := id_E_RABModify,
                            criticality := reject,
                            value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                        } // End of template m_E_RABModifiedRequest        


                        template (value) RecordOf_ProtocolIE m_E_RABModifiedReqIEs(
                                    in template (value) MME_UE_S1AP_ID p_MME_value,
@@ -339,18 +308,6 @@ module LibS1AP_Templates {
                    } // End of group ERABModifyRequest
                    
                    group ERABModifyInd {
                        
                       /**
                         * @desc Send template for InitiatingMessage message with E-RABModifyInd payload
                         * @param p_value           The procedure code value
                         */
                        template (value) InitiatingMessage m_E_RABModifiedInd(
                                                                              in template (value) RecordOf_ProtocolIE p_value) := {
                            procedureCode := id_E_RABModificationIndication,
                            criticality := reject,
                            value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                        } // End of template m_E_RABModifiedInd
                        
                        template (value) RecordOf_ProtocolIE m_E_RABModifiedIndIEs(
                                                                                   in template (value) MME_UE_S1AP_ID p_MME_value,
                                                                                   in template (value) ENB_UE_S1AP_ID p_eNB_value,
@@ -389,17 +346,6 @@ module LibS1AP_Templates {
                    
                    group ERABRelease {

                       /**
                         * @desc Send template for InitiatingMessage message with E-RABRelease payload
                         * @param p_value           The protocol information elements.
                         */
                        template (value) InitiatingMessage m_E_RABReleaseRequest(
                                                                               in template (value) RecordOf_ProtocolIE p_value) := {
                            procedureCode := id_E_RABRelease,
                            criticality := reject,
                            value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                        } // End of template m_E_RABRleaseRequest        

                        template (value) RecordOf_ProtocolIE m_E_RABReleaseReqIEs(
                                    in template (value) MME_UE_S1AP_ID p_MME_value,
                                    in template (value) ENB_UE_S1AP_ID p_eNB_value,
@@ -1279,19 +1225,6 @@ module LibS1AP_Templates {
                
                group ERAB_management_group {
                    group ERABModify{
    
                        /**
                         * @desc Receive template for SuccessfulOutcome/R-RAB_Setup message
                         * @param p_value   The expected protocol information elements. Default: ?
                         */
                        template (present) SuccessfulOutcome mw_E_RABReleaseResponse(
                                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                        ) := {
                            procedureCode := id_E_RABRelease,
                            criticality := reject,
                            value_ := {RecordOf_ProtocolIE := p_value}
                        } // End of template mw_E_RABResponse
                        
                        /**
                         * @desc Receive template for SuccessfulOutcome/R-RAB_Modify request message
                         * @param p_value   The expected protocol information elements. Default: ?
@@ -1314,18 +1247,28 @@ module LibS1AP_Templates {
                            mw_E_RABToBeModifiedList(p_RecordOf_E_RABToBeModifyItem_value)
                        } // End of template mw_E_RABSetupReqIEs
                        
                        /**
                         * @desc Receive template for SuccessfulOutcome/R-RAB_Setup message
                         * @param p_procedureCode   Expected procedure code. Default: ?
                         * @param p_value           Expected procedure code. Default: ?
                         */
                        template (present) SuccessfulOutcome mw_E_RABModifiedResponse(
                                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                        template (present) RecordOf_ProtocolIE mw_E_RABModificationIndicationIEs(
                           template (present) MME_UE_S1AP_ID p_MME_value := ?,
                           template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                           template RecordOf_E_RABToBeModifiedItemBearerModInd p_RecordOf_E_RABModifyItem_value := omit
                        ) := { 
                            procedureCode := id_E_RABModify,
                            criticality := reject,
                            value_ := {RecordOf_ProtocolIE := p_value}
                        } // End of template mw_E_RABResponse
                            mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                            mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                            mw_E_RABModifiedListModIndIE(p_RecordOf_E_RABModifyItem_value)
                        }                    
                        
                          

                        template (present) E_RABToBeModifiedItemBearerModInd mw_E_RABToBeModifiedItemBearerModInd(
                             in E_RAB_ID p_e_RAB_ID := 0,
                             in template (value) TransportLayerAddress p_transportLayerAddress := '0'B,
                             in template (value) GTP_TEID p_dL_GTP_TEID := '00000000'O
                        ) := {
                            e_RAB_ID := p_e_RAB_ID,
                            transportLayerAddress := p_transportLayerAddress,
                            dL_GTP_TEID := p_dL_GTP_TEID
                        } 
                        
                                                
                        template (present) RecordOf_ProtocolIE mw_E_RABModifiedResIEs(
                                                                                   template (present) MME_UE_S1AP_ID p_MME_value := ?,
@@ -1375,20 +1318,6 @@ module LibS1AP_Templates {
                            mw_E_RABToBeSetupList(p_RecordOf_E_RABToBeSetupItem_value)
                        } // End of template mw_E_RABSetupReqIEs
                        
                        
                        /**
                         * @desc Receive template for SuccessfulOutcome/R-RAB_Setup message
                         * @param p_procedureCode   Expected procedure code. Default: ?
                         * @param p_value           Expected procedure code. Default: ?
                         */
                        template (present) SuccessfulOutcome mw_E_RABSetupResponse(
                                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                        ) := {
                            procedureCode := id_E_RABSetup,
                            criticality := reject,
                            value_ := {RecordOf_ProtocolIE := p_value}
                        } // End of template mw_E_RABSetupResponse
                        
                        template (present) RecordOf_ProtocolIE mw_E_RABSetupResIEs(
                                                                                   template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                   template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
@@ -1438,6 +1367,18 @@ module LibS1AP_Templates {
                              
                         } // End of template mw_UserLocationInformation
                                                
                        template (present) RecordOf_ProtocolIE mw_E_RABReleaseIndicationIEs(
                             template (present) MME_UE_S1AP_ID p_MME_value := ?,
                             template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                             template (present) RecordOf_E_RABItem p_RecordOf_E_RABItem_value := ?,
                             template (present) UserLocationInformation p_UserLocationInformation := ?
                        ) := {
                              mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                              mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                              mw_E_RABReleaseList(p_RecordOf_E_RABItem_value),
                              mw_UserLocationInformation_IE(p_UserLocationInformation)
                        }
                    
                         /**
                          * @desc Receive template for UserLocationInformation message
                          * @param p_tAI                 The expected TAI value. Default: ?
@@ -1462,6 +1403,7 @@ module LibS1AP_Templates {
                            value_ := {RecordOf_ProtocolIE := p_value}
                        } // End of template mw_E_RABReleaseCommand


                        template (present) RecordOf_ProtocolIE mw_E_RABReleaseCmdIEs(
                                                                                   template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                   template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
@@ -1472,6 +1414,7 @@ module LibS1AP_Templates {
                            mw_E_RABReleaseList(p_RecordOf_E_RABReleaseListItem_value)
                        } // End of template mw_E_RABReleaseCmdIEs


                        /**
                        * @desc Receive template for InitiatingMessage message with Modification confirm payload
                        * @param p_value           The list of Protocol IE values
@@ -1493,6 +1436,7 @@ module LibS1AP_Templates {
                            mw_E_RABModifyList(p_RecordOf_E_RABModifyListItem_value)
                        } // End of template mw_E_RABModificationConfirmIEs


                    }
                
                }
@@ -4040,6 +3984,65 @@ module LibS1AP_Templates {
                    value_ := { RecordOf_E_RABFailedToResumeItemResumeReq := valueof(p_value) }
                } // End of template m_E_RABFailedToResumeItemResumeReqList
                
                /**
                 * @desc Send template for InitiatingMessage message with E-RABSetup response payload
                 * @param p_value           The procedure code value
                 */
                template (value) InitiatingMessage m_E_RABSetupResponse(
                                                                       in template (value) RecordOf_ProtocolIE p_value) := {
                    procedureCode := id_E_RABSetup,
                    criticality := reject,
                    value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                } // End of template m_E_RABSetupResponse

                        
               /**
                 * @desc Send template for InitiatingMessage message with E-RABModifyInd payload
                 * @param p_value           The procedure code value
                 */
                template (value) InitiatingMessage m_E_RABModifiedInd(
                                                                      in template (value) RecordOf_ProtocolIE p_value) := {
                    procedureCode := id_E_RABModificationIndication,
                    criticality := reject,
                    value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                } // End of template m_E_RABModifiedInd
                        

                /**
                 * @desc Send template for InitiatingMessage message with E-RABModify payload
                 * @param p_value           The protocol information elements.
                 */
                template (value) InitiatingMessage m_E_RABModifiedRequest(
                                                                       in template (value) RecordOf_ProtocolIE p_value) := {
                    procedureCode := id_E_RABModify,
                    criticality := reject,
                    value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                } // End of template m_E_RABModifiedRequest        
                        
               /**
                 * @desc Send template for InitiatingMessage message with E-RABRelease payload
                 * @param p_value           The protocol information elements.
                 */
                template (value) InitiatingMessage m_E_RABReleaseRequest(
                                                                       in template (value) RecordOf_ProtocolIE p_value) := {
                    procedureCode := id_E_RABRelease,
                    criticality := reject,
                    value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                } // End of template m_E_RABRleaseRequest        

                /**
                 * @desc Send template for InitiatingMessage message with E-RABSetup payload
                 * @param p_value           The protocol information elements.
                 */
                template (value) InitiatingMessage m_E_RABSetupRequest(
                                                                       in template (value) RecordOf_ProtocolIE p_value) := {
                    procedureCode := id_E_RABSetup,
                    criticality := reject,
                    value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                } // End of template m_E_RABSetupRequest
                        

                
            } // End of group E_RAB_IEsend
            
            /**
@@ -5259,6 +5262,69 @@ module LibS1AP_Templates {
                value_ := {CSGMembershipInfo := p_value}
            } // End of template mw_cSGMembershipInfoIE

            template (present) ProtocolIE mw_E_RABModificationIndication_IE(
                    template (present) RecordOf_ProtocolIE p_value := ?
            ) := {
                   id := S1AP_Constants.id_E_RABModificationIndication,
                   criticality := reject,
                   value_ := { RecordOf_ProtocolIE :=p_value}
            }   

            template (present) ProtocolIE mw_E_RABModifiedListModIndIE(
                template (present) RecordOf_E_RABToBeModifiedItemBearerModInd p_value := ?
            ) := {
                id := S1AP_Constants.id_E_RABToBeModifiedListBearerModInd,
                criticality := reject,
                value_ := { RecordOf_E_RABToBeModifiedItemBearerModInd := p_value}
            }
            
            /**
             * @desc Receive template for SuccessfulOutcome/R-RAB_Setup message
             * @param p_value   The expected protocol information elements. Default: ?
             */
            template (present) SuccessfulOutcome mw_E_RABReleaseResponseIE(
                                                                       template (present) RecordOf_ProtocolIE p_value := ?
            ) := {
                procedureCode := id_E_RABRelease,
                criticality := reject,
                value_ := {RecordOf_ProtocolIE := p_value}
            } // End of template mw_E_RABResponse
            
            /**
             * @desc Receive template for SuccessfulOutcome/R-RAB_Setup message
             * @param p_procedureCode   Expected procedure code. Default: ?
             * @param p_value           Expected procedure code. Default: ?
             */
            template (present) SuccessfulOutcome mw_E_RABModifiedResponse(
                                                                       template (present) RecordOf_ProtocolIE p_value := ?
            ) := {
                procedureCode := id_E_RABModify,
                criticality := reject,
                value_ := {RecordOf_ProtocolIE := p_value}
            } // End of template mw_E_RABResponse
                                                
            template (present) ProtocolIE mw_E_RABReleaseIndication_IE(
                    template (present) RecordOf_ProtocolIE p_value := ?
            ) := {
                   id := S1AP_Constants.id_E_RABReleaseIndication,
                   criticality := ignore,
                   value_ := { RecordOf_ProtocolIE :=p_value}
            }                        

            
            /**
             * @desc Receive template for SuccessfulOutcome/R-RAB_Setup message
             * @param p_procedureCode   Expected procedure code. Default: ?
             * @param p_value           Expected procedure code. Default: ?
             */
            template (present) SuccessfulOutcome mw_E_RABSetupResponse(
                                                                       template (present) RecordOf_ProtocolIE p_value := ?
            ) := {
                procedureCode := id_E_RABSetup,
                criticality := reject,
                value_ := {RecordOf_ProtocolIE := p_value}
            } // End of template mw_E_RABSetupResponse
            
                                    
        } // End of group Receive_IEs
        
+42 −7
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ module S1AP_TCFunctions {
    // LibCommon
    import from LibCommon_Sync all;
    import from LibCommon_VerdictControl all;
    import from LibCommon_Time {function f_sleepIgnoreDef};
    import from LibCommon_Time {function f_sleepIgnoreDef;}

    // LibS1AP
    import from S1AP_IEs language "ASN.1:1997" all;
@@ -852,7 +852,7 @@ module S1AP_TCFunctions {
                if (fx_eNB_erab_Release_indication_procedure(false) == false) {
                   f_selfOrClientSyncAndVerdict(c_tbDone, e_error); 
                } else {
                    f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs(
                    f_recv_E_RABReleaseIndication(mw_E_RABReleaseIndicationIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        {
@@ -888,7 +888,7 @@ module S1AP_TCFunctions {
                if (fx_eNB_erab_Release_indication_procedure(false) == false) {
                   f_selfOrClientSyncAndVerdict(c_tbDone, e_error); 
                } else {
                    f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs(
                    f_recv_E_RABReleaseIndication(mw_E_RABReleaseIndicationIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        {
@@ -983,7 +983,7 @@ module S1AP_TCFunctions {
                    }
                ));


				// TODO
                f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
@@ -1002,6 +1002,41 @@ module S1AP_TCFunctions {

			} // End of function f_TC_S1AP_eNB_RAB_20
			
			/**
             * @desc Testcase function for TC_S1AP_eNB_RAB_21
             */
            function f_TC_S1AP_eNB_RAB_21  () runs on S1APComponent {
                // Local variables
                const E_RAB_ID c_E_RAB_ID_A := 0;
                
                // Preamble
                f_S1AP_enb_init();
                f_rABSetupRequest();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                // 1. to indicate a LPPa Transport procedure using a UE associated signalling
                if (fx_eNB_erab_modification_indication_procedure(false) == false) {
                   f_selfOrClientSyncAndVerdict(c_tbDone, e_error); 
                } else {
                    f_recv_E_RABModificationIndication(mw_E_RABModificationIndicationIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        {
                            mw_E_RABToBeModifiedItemBearerModInd(
                                -
                            )
                        }
                    ));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                }


                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

            } // End of function f_TC_S1AP_eNB_RAB_21

        } // End of group ERAB_management_group