LibS1AP_Templates.ttcn 420 KB
Newer Older
garciay's avatar
garciay committed
                } // End of template mw_cause_ran
                
                template(present) Cause mw_cause_transport(
                                                           template (present) CauseTransport p_transport := ?
                ) := {
                    transport := p_transport
                } // End of template mw_cause_transport
                
                template(present) Cause mw_cause_nas(
                                                     template (present) CauseNas p_nas := ?
                ) := {
                    nas := p_nas
                } // End of template mw_cause_nas
                
                template(present) Cause mw_cause_protocol(
                                                          template (present) CauseProtocol p_protocol := ?
                ) := {
                    protocol := p_protocol
                } // End of template mw_cause_protocol
                
                template(present) Cause mw_cause_misc(
                                                      template (present) CauseMisc p_misc := ?
                ) := {
                    misc := p_misc
                } // End of template mw_cause_misc
                
            } // End of group causes
            
garciay's avatar
garciay committed
            /**
             * @desc 
             */
            template (omit) E_RABToBeSetupItemBearerSUReq m_E_RABToBeSetupItemBearerSUReq(
                                                                                         in E_RAB_ID p_e_RAB_ID := 0,
                                                                                         in template (value) E_RABLevelQoSParameters p_e_RABlevelQoSParameters := m_e_RABlevelQoSParameters,
                                                                                         in template (value) TransportLayerAddress p_transportLayerAddress := '0'B,
                                                                                         in template (value) GTP_TEID p_gTP_TEID := '00000000'O,
                                                                                         in template (value) NAS_PDU p_nAS_PDU := '0000'O,
                                                                                         in template (omit) E_RABToBeSetupItemBearerSUReq.iE_Extensions p_iE_Extensions := omit
garciay's avatar
garciay committed
            ) := {
                e_RAB_ID := p_e_RAB_ID,
                e_RABlevelQoSParameters := valueof(p_e_RABlevelQoSParameters),
                transportLayerAddress := p_transportLayerAddress,
                gTP_TEID := p_gTP_TEID,
                nAS_PDU := p_nAS_PDU,
                iE_Extensions := p_iE_Extensions
garciay's avatar
garciay committed
            } // End of template m_E_RABToBeSetupItemBearerSUReq
            /**
             * @desc 
             */
            template (present) E_RABToBeSetupItemBearerSUReq mw_E_RABToBeSetupItemBearerSUReq(
                                                                                          template (present) E_RAB_ID p_e_RAB_ID := 0,
                                                                                          template (present) E_RABLevelQoSParameters p_e_RABlevelQoSParameters := mw_e_RABlevelQoSParameters,
                                                                                          template (present) TransportLayerAddress p_transportLayerAddress := '0'B,
                                                                                          template (present) GTP_TEID p_gTP_TEID := '00000000'O,
                                                                                          template (present) NAS_PDU p_nAS_PDU := '0000'O,
                                                                                          template E_RABToBeSetupItemBearerSUReq.iE_Extensions p_iE_Extensions := *
            ) := {
                e_RAB_ID := p_e_RAB_ID,
                e_RABlevelQoSParameters := p_e_RABlevelQoSParameters,
                transportLayerAddress := p_transportLayerAddress,
                gTP_TEID := p_gTP_TEID,
                nAS_PDU := p_nAS_PDU,
                iE_Extensions := p_iE_Extensions
            } // End of template mw_E_RABToBeSetupItemBearerSUReq
            template(omit) E_RABToBeModifiedItemBearerModReq m_E_RABToBeModifiedItemBearerSUReq(
                                                                                                in E_RAB_ID p_e_RAB_ID := 0,
                                                                                                in template (value) E_RABLevelQoSParameters p_e_RABlevelQoSParameters := m_e_RABlevelQoSParameters,
                                                                                                in template (value) NAS_PDU p_nAS_PDU := '0000'O,
                                                                                                in template (omit) E_RABToBeModifiedItemBearerModReq.iE_Extensions p_iE_Extensions := omit
            ) := {
                e_RAB_ID := p_e_RAB_ID,
                e_RABLevelQoSParameters := valueof(p_e_RABlevelQoSParameters),
                nAS_PDU := p_nAS_PDU,
                iE_Extensions := p_iE_Extensions
            } // End of template m_E_RABToBeSetupItemBearerSUReq
            /**
             * @desc 
             */
            template(present) E_RABToBeModifiedItemBearerModReq mw_E_RABToBeModifiedItemBearerSUReq(
garciay's avatar
garciay committed
                                                                                                template (present) E_RAB_ID p_e_RAB_ID := 0,
                                                                                                template (present) E_RABLevelQoSParameters p_e_RABlevelQoSParameters := ?,
                                                                                                template (present) NAS_PDU p_nAS_PDU := '0000'O,
                                                                                                template (omit) E_RABToBeModifiedItemBearerModReq.iE_Extensions p_iE_Extensions := omit
            ) := {
                e_RAB_ID := p_e_RAB_ID,
                e_RABLevelQoSParameters := p_e_RABlevelQoSParameters,
                nAS_PDU := p_nAS_PDU,
                iE_Extensions := p_iE_Extensions
            } // End of template mw_E_RABToBeSetupItemBearerSUReq

            /**
             * @desc 
             */
            template (value) E_RABItem m_E_RABItem(
                                                   in E_RAB_ID p_e_RAB_ID := 0,
                                                   in template (value) Cause p_cause
            ) := {
                e_RAB_ID        := p_e_RAB_ID,
                cause           := p_cause,
                iE_Extensions   := omit
            } // End of template m_E_RABItem
garciay's avatar
garciay committed
            
            /**
             * @desc 
             * @param p_qCI
             */
            template (value) E_RABLevelQoSParameters m_e_RABlevelQoSParameters(
                                                                               in QCI p_qCI := 0
garciay's avatar
garciay committed
                qCI := p_qCI,
                allocationRetentionPriority := {
                    priorityLevel := 0,
                    pre_emptionCapability := shall_not_trigger_pre_emption,
                    pre_emptionVulnerability := pre_emptable,
                    iE_Extensions := omit
                },
                gbrQosInformation := omit,
                iE_Extensions := omit
            } // End of template m_e_RABlevelQoSParameters
            
            /**
             * @desc 
             * @param p_qCI
             */
            template (present) E_RABLevelQoSParameters mw_e_RABlevelQoSParameters(
garciay's avatar
garciay committed
                                                                                  template (present) QCI p_qCI := ?
            ) := {
                qCI := p_qCI,
                allocationRetentionPriority := {
                    priorityLevel :=?,
                    pre_emptionCapability := ?,
                    pre_emptionVulnerability := ?,
                    iE_Extensions := *
                },
                gbrQosInformation := *,
                iE_Extensions := *
            } // End of template mw_e_RABlevelQoSParameters
            
garciay's avatar
garciay committed
            /**
             * @desc 
             * @param p_e_RAB_ID
             * @param p_cause
             */
            template (present) E_RABSetupItemBearerSURes mw_E_RABSetupItemBearerSURes(
                                                                                      template(present) E_RAB_ID p_e_RAB_ID := ?
garciay's avatar
garciay committed
                 e_RAB_ID                        := p_e_RAB_ID,
                 transportLayerAddress           := '?'B,
                 gTP_TEID                        := ?,
                 iE_Extensions                   := *
            } // End of template mw_E_RABSetupItemBearerSURes
garciay's avatar
garciay committed
            
            /**
             * @desc 
             * @param p_e_RAB_ID
             * @param p_cause
             */
            template (present) E_RABSetupItemBearerSURes m_E_RABSetupItemBearerSURes(
                                                                                      in template (value) E_RAB_ID p_e_RAB_ID := 0,
                                                                                      in template (value) TransportLayerAddress p_transportLayerAddress := '0'B,
                                                                                      in template (value) GTP_TEID p_gTP_TEID := '00000000'O,                                                                                      
                                                                                      in template (omit) E_RABSetupItemBearerSURes.iE_Extensions p_iE_Extensions := omit
            ) :=  {
                 e_RAB_ID                        := p_e_RAB_ID,
                 transportLayerAddress           := p_transportLayerAddress,
                 gTP_TEID                        := p_gTP_TEID,
                 iE_Extensions                   := p_iE_Extensions
            } // End of template mw_E_RABSetupItemBearerSURes
garciay's avatar
garciay committed
            
            /**
             * @desc 
             * @param p_e_RAB_ID
             * @param p_cause
             */
            template (present) E_RABModifyItemBearerModRes mw_E_RABModifyItemBearerModRes(
                                                                                      template(present) E_RAB_ID p_e_RAB_ID := ?
            ) :=  {
                 e_RAB_ID                        := p_e_RAB_ID,
                 iE_Extensions                   := *
            } // End of template mw_E_RABSetupItemBearerSURes
            template (omit) E_RABToBeSetupItemCtxtSUReq m_E_RABToBeSetupItemCtxtSUReq(
                                                                                          in E_RAB_ID p_e_RAB_ID := 0,
                                                                                          in template (value) E_RABLevelQoSParameters p_e_RABlevelQoSParameters := m_e_RABlevelQoSParameters,
                                                                                          in template (value) TransportLayerAddress p_transportLayerAddress := '0'B,
                                                                                          in template (value) GTP_TEID p_gTP_TEID := '00000000'O,
                                                                                          in template (omit) NAS_PDU p_nAS_PDU := '0000'O,
                                                                                          in template (omit) E_RABToBeSetupItemCtxtSUReq.iE_Extensions p_iE_Extensions := omit
            ) := {
                e_RAB_ID := p_e_RAB_ID,
                e_RABlevelQoSParameters := valueof(p_e_RABlevelQoSParameters),
                transportLayerAddress := p_transportLayerAddress,
                gTP_TEID := p_gTP_TEID,
                nAS_PDU := p_nAS_PDU,
                iE_Extensions := p_iE_Extensions
            } // End of template m_E_RABToBeSetupItemCtxtSUReq

            /**
             * @desc 
             */
            template (present) E_RABToBeSetupItemCtxtSUReq mw_E_RABToBeSetupItemCtxtSUReq(
                                                                                          template (present) E_RAB_ID p_e_RAB_ID := 0,
                                                                                          template (present) E_RABLevelQoSParameters p_e_RABlevelQoSParameters := mw_e_RABlevelQoSParameters,
                                                                                          template (present) TransportLayerAddress p_transportLayerAddress := '0'B,
                                                                                          template (present) GTP_TEID p_gTP_TEID := '00000000'O,
                                                                                          template NAS_PDU p_nAS_PDU := ?,
                                                                                          template E_RABToBeSetupItemCtxtSUReq.iE_Extensions p_iE_Extensions := *
            ) := {
                e_RAB_ID := p_e_RAB_ID,
                e_RABlevelQoSParameters := p_e_RABlevelQoSParameters,
                transportLayerAddress := p_transportLayerAddress,
                gTP_TEID := p_gTP_TEID,
                nAS_PDU := p_nAS_PDU,
                iE_Extensions := p_iE_Extensions
            } // End of template mw_E_RABToBeSetupItemCtxtSUReq
            
            /**
             * @desc 
             */
            template (omit) E_RABToBeSetupItemHOReq m_E_RABToBeSetupItemHOReq(
                in E_RAB_ID p_e_RAB_ID := 0,
                in template (value) TransportLayerAddress p_transportLayerAddress := '0'B,
                in template (value) GTP_TEID p_gTP_TEID := '00000000'O,
                in template (value) E_RABLevelQoSParameters p_e_RABlevelQoSParameters := m_e_RABlevelQoSParameters,
                in template (omit) E_RABToBeSetupItemHOReq.iE_Extensions p_iE_Extensions := omit
            ) := {
                e_RAB_ID := p_e_RAB_ID,
                transportLayerAddress := p_transportLayerAddress,
                gTP_TEID := p_gTP_TEID,
                e_RABlevelQosParameters := valueof(p_e_RABlevelQoSParameters),
                iE_Extensions := p_iE_Extensions
            } // End of template m_E_RABToBeSetupItemHOReq
            
            /**
             * @desc 
             */
            template (present) E_RABToBeSetupItemHOReq mw_E_RABToBeSetupItemHOReq(
                in template (present) E_RAB_ID p_e_RAB_ID := ?,
                in template (present) TransportLayerAddress p_transportLayerAddress := ?,
                in template (present) GTP_TEID p_gTP_TEID := ?,
                in template (present) E_RABLevelQoSParameters p_e_RABlevelQoSParameters := ?,
                in template E_RABToBeSetupItemHOReq.iE_Extensions p_iE_Extensions := *
            ) := {
                e_RAB_ID := p_e_RAB_ID,
                transportLayerAddress := p_transportLayerAddress,
                gTP_TEID := p_gTP_TEID,
                e_RABlevelQosParameters := p_e_RABlevelQoSParameters,
                iE_Extensions := p_iE_Extensions
            } // End of template mw_E_RABToBeSetupItemHOReq
            
            /**
             * @desc 
             * @param p_e_RAB_ID
             */
            template (present) E_RABAdmittedItem mw_E_RABAdmittedItem(
                                                                                      template(present) E_RAB_ID p_e_RAB_ID := ?
            ) :=  {
                 e_RAB_ID                        := p_e_RAB_ID,
                 transportLayerAddress           := '?'B,
                 gTP_TEID                        := ?,
                 dL_transportLayerAddress        := *,
                 dL_gTP_TEID                     := *,
                 uL_TransportLayerAddress        := *,
                 uL_GTP_TEID                     := *,
                 iE_Extensions                   := *
            } // End of template mw_E_RABAdmittedItem
            
            /**
             * @desc 
             * @param p_e_RAB_ID
             */
            template (present) E_RABToBeSwitchedDLItem mw_E_RABToBeSwitchedDLItem(
                                                                                      template(present) E_RAB_ID p_e_RAB_ID := ?
            ) :=  {
                 e_RAB_ID                        := p_e_RAB_ID,
                 transportLayerAddress           := '?'B,
                 gTP_TEID                        := ?,
                 iE_Extensions                   := *
            } // End of template mw_E_RABAdmittedItem
            
garciay's avatar
garciay committed
            /**
             * @desc 
             */
            template (present) E_RABItem mw_E_RABItem(
                                                      template (present) E_RAB_ID p_e_RAB_ID := ?,
                                                      template (present) Cause p_cause := ?
            ) := {
                e_RAB_ID := p_e_RAB_ID,cause := p_cause,iE_Extensions := *
            } // End of template mw_E_RABItem
            /**
             * @desc 
             */
            template (value) UEAggregateMaximumBitrate m_UEAggregateMaximumBitrate (BitRate p_dl, BitRate p_ul):= {
              uEaggregateMaximumBitRateDL := p_dl,
              uEaggregateMaximumBitRateUL := p_ul,
              iE_Extensions := omit
            }
            /**
             * @desc 
             */
            template (present) UEAggregateMaximumBitrate mw_UEAggregateMaximumBitrate (template (present) BitRate p_dl, template (present) BitRate p_ul):= {
              uEaggregateMaximumBitRateDL := p_dl,
              uEaggregateMaximumBitRateUL := p_ul,
              iE_Extensions := *
            }

            /**
             * @desc 
             */
            template (present) ENB_StatusTransfer_TransparentContainer mw_eNBStatusTransferTransparentContainer (
                template (present) Bearers_SubjectToStatusTransferList p_bearers_SubjectToStatusTransferList := ?):= {
              bearers_SubjectToStatusTransferList := p_bearers_SubjectToStatusTransferList,
              iE_Extensions := *
            }

garciay's avatar
garciay committed
            template(value) UESecurityCapabilities m_UESecurityCapabilities(
                                                                            in template (value) EncryptionAlgorithms p_encryptionAlgorithms,
                                                                            in template (value) IntegrityProtectionAlgorithms p_integrityProtectionAlgorithms
            ) := {
                encryptionAlgorithms := p_encryptionAlgorithms,
                integrityProtectionAlgorithms := p_integrityProtectionAlgorithms,
                iE_Extensions := omit
            }

            /**
             * @desc
             */
            template (present) UESecurityCapabilities mw_UESecurityCapabilities(
                                                                                template (present) EncryptionAlgorithms p_encryptionAlgorithms := ?,
                                                                                template (present) IntegrityProtectionAlgorithms p_integrityProtectionAlgorithms := ?
            ) := {
                encryptionAlgorithms := p_encryptionAlgorithms,
                integrityProtectionAlgorithms := p_integrityProtectionAlgorithms,
                iE_Extensions := omit
            }
garciay's avatar
garciay committed
            /**
             * @desc
             */
            template(value) CSGMembershipInfo m_CSGMembershipInfo
            (in template (value) CSGMembershipStatus p_cSGMembershipStatus := member,
			 in template (value) CSG_Id p_cSGId := '010101010101010101010101010'B,
			 in template (omit) CellAccessMode p_cellAccessMode:= omit) := {
garciay's avatar
garciay committed
                cSGMembershipStatus := p_cSGMembershipStatus,
                cSG_Id := p_cSGId,
				cellAccessMode := p_cellAccessMode,
garciay's avatar
garciay committed
                pLMNidentity := omit,
                iE_Extensions := omit
            }
rennoch's avatar
rennoch committed

            /**
             * @desc
             */
            template(present) CSGMembershipInfo mw_CSGMembershipInfo
            (in template (present) CSGMembershipStatus p_cSGMembershipStatus := ?,
             in template (present) CSG_Id p_cSGId := ?) := {
                cSGMembershipStatus := p_cSGMembershipStatus,
                cSG_Id := p_cSGId,
                cellAccessMode := *,
                pLMNidentity := *,
                iE_Extensions := omit
            }

            template (value) SecurityKey m_securityKey := oct2bit('012345678901234567890123456789AB012345678901234567890123456789AB'O); // 32 octets = 256 bits

            /**
             * @desc
             */
            template (value) SecurityContext m_securityContext (
                in template (value) integer p_nextHop := 1,
                in template (value) SecurityKey p_securityKey := m_securityKey
            ) := { 
                nextHopChainingCount := p_nextHop,
                nextHopParameter := p_securityKey,
                iE_Extensions := omit
            
            }//end template m_securityContext
garciay's avatar
garciay committed
            
            group Management_group {
                
                template (value) ResetType m_resetType_all := {
                    s1_Interface := reset_all
                } // End of template m_resetType_all
                
                template (value) ResetType m_resetType_partOfS1_Interface(
                                                                          in template (value) UE_associatedLogicalS1_ConnectionListRes p_partOfS1_Interface
                ) := {
                    partOfS1_Interface := p_partOfS1_Interface
                } // End of template m_resetType_partOfS1_Interface
                 
                template (present) ResetType mw_resetType_partOfS1_Interface(
garciay's avatar
garciay committed
                                                                             in template (present) UE_associatedLogicalS1_ConnectionListRes p_partOfS1_Interface := ?
                ) := {
                    partOfS1_Interface := p_partOfS1_Interface
                } // End of template mw_resetType_partOfS1_Interface
garciay's avatar
garciay committed
                
                template (value) ServedGUMMEIsItem m_servedGUMMEIsItem(
                                                                      in template (value) ServedPLMNs p_servedPLMNs,
                                                                      in template (value) ServedGroupIDs p_servedGroupIDs,
                                                                      in template (value) ServedMMECs p_servedMMECs
                ) := {
                    servedPLMNs    := valueof(p_servedPLMNs),
                    servedGroupIDs := valueof(p_servedGroupIDs),
                    servedMMECs    := valueof(p_servedMMECs),
                    iE_Extensions  := omit
                } // End of template m_servedGUMMEIsItem
                
                template (present) ServedGUMMEIsItem mw_servedGUMMEIsItem(
                                                                          template (present) ServedPLMNs p_servedPLMNs := ?,
                                                                          template (present) ServedGroupIDs p_servedGroupIDs := ?,
                                                                          template (present) ServedMMECs p_servedMMECs := ?
                ) := {
                    servedPLMNs    := p_servedPLMNs,
                    servedGroupIDs := p_servedGroupIDs,
                    servedMMECs    := p_servedMMECs,
                    iE_Extensions  := *
                } // End of template mw_servedGUMMEIsItem
                
            } // End of group Management_group
garciay's avatar
garciay committed
            
            /**
             * @desc Radio Network Layer Related IEs group
             * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1 Radio Network Layer Related IEs
garciay's avatar
garciay committed
             */
            group radioNetworkLayerRelated_IEs { 
                
                /**
                 * @desc Receive template for E-RABs Subject to Forwarding List
                 */
                template (present) E_RABDataForwardingItem mw_eRABDataForwardingItem(
                                                                                     template (present) E_RAB_ID p_e_RAB_ID := ?,
                                                                                     template (present) TransportLayerAddress p_dL_transportLayerAddress := ?,
                                                                                     template (present) GTP_TEID p_dL_gTP_TEID := ?,
                                                                                     template (present) TransportLayerAddress p_uL_TransportLayerAddress := ?,
                                                                                     template (present) GTP_TEID p_uL_GTP_TEID := ?
                ) := {
                    e_RAB_ID                    := p_e_RAB_ID,
                    dL_transportLayerAddress    := p_dL_transportLayerAddress,
                    dL_gTP_TEID                 := p_dL_gTP_TEID,
                    uL_TransportLayerAddress    := p_uL_TransportLayerAddress,
                    uL_GTP_TEID                 := p_uL_GTP_TEID,
                    iE_Extensions               := omit
                } // End of template mw_eRABDataForwardingItem
                
                /**
                 * @desc Receive template for RequestType
                 * @param p_eventType    Event Type value
                 * @param p_reportArea   Report Area value
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.34 RequestType
                 */
                template (value) RequestType m_request_Type(
                                                            in template (value) EventType p_eventType,
                                                            in template (value) ReportArea p_reportArea := ecgi
                ) := {
                    eventType       := p_eventType,
                    reportArea      := p_reportArea,
                    iE_Extensions   := omit
                } // End of template m_request_Type
                
                /**
                 * @desc Defines parameters related to a trace activation
                 * @param p_eUTRAN_Trace_ID                 The E-UTRAN Trace ID value. 
                 * @param p_interfacesToTrace               The Interfaces To Trace value. 
                 * @param p_traceDepth                      The Trace depth value. 
                 * @param p_traceCollectionEntityIPAddress  The Transport Layer Address value. 
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.4 Trace Activation
                 */
                template (value) TraceActivation m_traceActivation(
                                                                   in E_UTRAN_Trace_ID p_eUTRAN_Trace_ID,
                                                                   in InterfacesToTrace p_interfacesToTrace,
                                                                   in TraceDepth p_traceDepth,
                                                                   in TransportLayerAddress p_traceCollectionEntityIPAddress
                ) := {
                    e_UTRAN_Trace_ID                := p_eUTRAN_Trace_ID,
                    interfacesToTrace               := p_interfacesToTrace,
                    traceDepth                      := p_traceDepth,
                    traceCollectionEntityIPAddress  := p_traceCollectionEntityIPAddress,
                    iE_Extensions                   := omit
                } // End of template m_traceActivation
                
garciay's avatar
garciay committed
                /**
                 * @desc Send template for Global eNB ID protocol IE
                 * @param p_pLMNidentity  Expected PLMNidentity.
                 * @param p_eNB_ID        Expected eNodeB identifier.
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.37 Global eNB ID
                 */
                template (value) Global_ENB_ID m_Global_eNB_ID(
                                                               in template (value) PLMNidentity p_pLMNidentity,
                                                               in template (value) ENB_ID p_eNB_ID
                ) := {
                    pLMNidentity    := p_pLMNidentity,
                    eNB_ID          := p_eNB_ID,
                    iE_Extensions   := omit
                } // End of template m_Global_eNB_ID
                
                /**
                 * @desc Receive template for Global eNB ID protocol IE
                 * @param p_pLMNidentity  Expected PLMNidentity. Default: ?
                 * @param p_eNB_ID        Expected eNodeB identifier. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.37 Global eNB ID
                 */
garciay's avatar
garciay committed
                template (present) Global_ENB_ID mw_Global_eNB_ID(
                                                                  template (present) PLMNidentity p_pLMNidentity := ?,
                                                                  template (present) ENB_ID p_eNB_ID := ?
                ) := {
                    pLMNidentity    := p_pLMNidentity,
                    eNB_ID          := p_eNB_ID,
garciay's avatar
garciay committed
                    iE_Extensions   := *
                } // End of template mw_Global_eNB_ID

                /**
                 * @desc Send template for E-UTRAN CGI
                 * @param p_pLMNidentity    Expected PLMNidentity. Default: ?
                 * @param p_cell_ID         Expected cell identifier. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.38 E-UTRAN CGI
                 */
                template (value) EUTRAN_CGI m_eUTRAN_CGI(
                                                            in template (value) PLMNidentity p_pLMNidentity,
                                                            in template (value) CellIdentity p_cell_ID
                ) := {
                    pLMNidentity    := valueof(p_pLMNidentity),
                    cell_ID         := valueof(p_cell_ID),
                    iE_Extensions   := omit
                } // End of template m_eUTRAN_CGI
                
                
                /**
                 * @desc Receive template for E-UTRAN CGI
                 * @param p_pLMNidentity    Expected PLMNidentity. Default: ?
                 * @param p_cell_ID         Expected cell identifier. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.38 E-UTRAN CGI
                 */
                template (present) EUTRAN_CGI mw_eUTRAN_CGI(
                                                            template (present) PLMNidentity p_pLMNidentity := ?,
                                                            template (present) CellIdentity p_cell_ID := ?
                ) := {
                    pLMNidentity    := p_pLMNidentity,
                    cell_ID         := p_cell_ID,
                    iE_Extensions   := omit
                } // End of template mw_eUTRAN_CGI
                
                /**
                 * @desc Receive template for RequestType
                 * @param p_eventType    Expected PLMNidentity. Default: ?
                 * @param p_reportArea   Expected cell identifier. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.34 RequestType
                 */
                template (present) RequestType mw_request_Type(
                                                               template (present) EventType p_eventType := ?,
                                                               template (present) ReportArea p_reportArea := ?
                ) := {
                    eventType       := p_eventType,
                    reportArea      := p_reportArea,
                    iE_Extensions   := omit
                } // End of template mw_request_Type
                
                /**
                 * @desc Defines parameters related to a trace activation
                 * @param p_eUTRAN_Trace_ID                 The expected E-UTRAN Trace ID value. Default: ?
                 * @param p_interfacesToTrace               The expected Interfaces To Trace value. Default: ?
                 * @param p_traceDepth                      The expected Trace depth value. Default: ?
                 * @param p_traceCollectionEntityIPAddress  The expected Transport Layer Address value. Default: ?
                 * 
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.4 Trace Activation
                 */
                template (present) TraceActivation mw_traceActivation(
                                                                      template (present) E_UTRAN_Trace_ID p_eUTRAN_Trace_ID := ?,
                                                                      template (present) InterfacesToTrace p_interfacesToTrace := ?,
                                                                      template (present) TraceDepth p_traceDepth := ?,
                                                                      template (present) TransportLayerAddress p_traceCollectionEntityIPAddress := ?
                ) := {
                    e_UTRAN_Trace_ID                := p_eUTRAN_Trace_ID,
                    interfacesToTrace               := p_interfacesToTrace,
                    traceDepth                      := p_traceDepth,
                    traceCollectionEntityIPAddress  := p_traceCollectionEntityIPAddress,
                    iE_Extensions                   := omit
                } // End of template mw_traceActivation
                
            } // End of group radioNetworkLayerRelated_IEs
garciay's avatar
garciay committed
            
            /**
             * @desc Transport Network Layer Related IEs group
             * @see ETSI TS 136 413 V13.4.0 Clause 9.2.2 Transport Network Layer Related IEs
garciay's avatar
garciay committed
             */
            group transportNetworkLayerRelated_IEs { 
                
            } // End of group transportNetworkLayerRelated_IEs
garciay's avatar
garciay committed
            
            /**
             * @desc NAS Related IEs group
             * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3 NAS Related IEs
garciay's avatar
garciay committed
             */
garciay's avatar
garciay committed
                template (value) SupportedTAs_Item m_supportedTAs_Item(
                                                                       in template (value) TAC p_tAC,
                                                                       in template (value) BPLMNs p_broadcastPLMNs
                ) := {
                    tAC             := p_tAC,
                    broadcastPLMNs  := p_broadcastPLMNs,
                    iE_Extensions   := omit
                } // End of template m_supportedTAs_Item
                
                template (present) SupportedTAs_Item mw_supportedTAs_Item(
                                                                          template (present) TAC p_tAC := ?,
                                                                          template (present) BPLMNs p_broadcastPLMNs := ?
                ) := {
                    tAC             := p_tAC,
                    broadcastPLMNs  := p_broadcastPLMNs,
                    iE_Extensions   := *
                } // End of template mw_supportedTAs_Item
                
                /**
                 * @desc Receive template for UE_associatedLogicalS1_ConnectionItem protocol IE
                 * @param p_MME_value   MME UE S1AP ID value. Default: ?
garciay's avatar
garciay committed
                 * @param p_eNB_value   eNB UE S1AP ID value. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.1.8.2 RESET ACKNOWLEDGE
                 */
                template (present) UE_associatedLogicalS1_ConnectionItem mw_uE_associatedLogicalS1_ConnectionItem(
                                                                                                                  template (present) MME_UE_S1AP_ID p_MME_value := ?,
garciay's avatar
garciay committed
                                                                                                                  template (present) ENB_UE_S1AP_ID p_eNB_value := ?
                ) := {
                    mME_UE_S1AP_ID  := p_MME_value,
garciay's avatar
garciay committed
                    eNB_UE_S1AP_ID  := p_eNB_value,
                    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.
                 * @param p_mME_Group_ID  The expected MME_Group_ID value.
                 * @param p_mME_Code      The expected MME_Code value.
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.9 GUMMEI
                 */
                template (value) GUMMEI m_gUMMEI(
                                                 in template (value) PLMNidentity p_pLMNidentity,
                                                 in template (value) MME_Group_ID p_mME_Group_ID,
                                                 in template (value) MME_Code p_mME_Code
                ) := {
                    pLMN_Identity  := valueof(p_pLMNidentity),
                    mME_Group_ID   := valueof(p_mME_Group_ID),
                    mME_Code       := valueof(p_mME_Code),
                    iE_Extensions  := omit
                } // End of template m_gUMMEI
                
                /**
                 * @desc Receive template for GUMMEI protocol IE
                 * @param p_pLMNidentity  The expected PLMNidentity value. Default: ?
                 * @param p_mME_Group_ID  The expected MME_Group_ID value. Default: ?
                 * @param p_mME_Code      The expected MME_Code value. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.9 GUMMEI
                 */
                template (present) GUMMEI mw_gUMMEI(
                                                    template (present) PLMNidentity p_pLMNidentity := ?,
                                                    template (present) MME_Group_ID p_mME_Group_ID := ?,
                                                    template (present) MME_Code p_mME_Code := ?
                ) := {
                    pLMN_Identity  := valueof(p_pLMNidentity),
                    mME_Group_ID   := valueof(p_mME_Group_ID),
                    mME_Code       := valueof(p_mME_Code),
                    iE_Extensions  := omit
                } // End of template mw_gUMMEI
                
                /**
                 * @desc Receive template for TAI protocol IE
                 * @param p_overloadAction  Expected required behaviour of the eNB in an overload situation. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.19 Overload Response
                 */
                template (present) OverloadResponse mw_OverloadResponse(
                                                                        template (present) OverloadAction p_overloadAction := ?
                ) := {
                    overloadAction := p_overloadAction
                } // End of template mw_OverloadResponse
                
                /**
                 * @desc Receive template for TAI protocol IE
                 * @param p_pLMNidentity  Expected PLMNidentity. Default: ?
                 * @param p_tAC           Expected TAC. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.16 TAI
                 */
                template (present) TAI mw_TAI(
                                              template (present) PLMNidentity p_pLMNidentity := ?,
                                              template (present) TAC p_tAC := ?
                ) := {
                    pLMNidentity    := p_pLMNidentity,
                    tAC             := p_tAC,
                    iE_Extensions   := *
                } // End of template mw_TAI
                
                /**
                 * @desc Receive template for TargeteNB-ID protocol IE
                 * @param p_global_ENB_ID  Expected Global eNB identifier. Default: ?
                 * @param p_selected_TAI   Expected TAI value. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.26 SON Configuration Transfer
                 */
                template (present) TargeteNB_ID mw_TargeteNB_ID(
                                                                template (present) Global_ENB_ID p_global_ENB_ID := ?,
                                                                template (present) TAI p_selected_TAI := ?
                ) := {
                    global_ENB_ID   := p_global_ENB_ID,
                    selected_TAI    := p_selected_TAI,
                    iE_Extensions   := *
                } // End of template mw_TargeteNB_ID
                
                /**
                 * @desc Receive template for TargeteNB-ID protocol IE
                 * @param p_global_ENB_ID  Expected Global eNB identifier. Default: ?
                 * @param p_selected_TAI   Expected TAI value. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.26 SON Configuration Transfer
                 */
                template (present) SourceeNB_ID mw_SourceeNB_ID(
                                                                template (present) Global_ENB_ID p_global_ENB_ID := ?,
                                                                template (present) TAI p_selected_TAI := ?
                ) := {
                    global_ENB_ID   := p_global_ENB_ID,
                    selected_TAI    := p_selected_TAI,
                    iE_Extensions   := *
                } // End of template mw_SourceeNB_ID
                
                /**
                 * @desc Receive template for SON Configuration Transfer
                 * @param p_value The Routing ID value
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.26 SON Configuration Transfer
                 */
                template (present) SONConfigurationTransfer mw_sON_Configuration_Transfer(
                                                                                          template (present) TargeteNB_ID p_target_eNB_ID := ?,
                                                                                          template (present) SourceeNB_ID p_source_eNB_ID := ?,
                                                                                          template (present) SONInformation p_sONInformation := ?
                ) := {
                    targeteNB_ID    := p_target_eNB_ID,
                    sourceeNB_ID    := p_source_eNB_ID,
                    sONInformation  := p_sONInformation,
                    iE_Extensions   := *
                } // End of template mw_sON_Configuration_Transfer
                
                /**
                 * @desc Receive template for SONInformation/Request
                 * @param p_sONInformationRequest   Expected SONInformationRequest value. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.27 SON Information
                 */
                template (present) SONInformation mw_sONInformation_Request(
                                                                            template (present) SONInformationRequest p_sONInformationRequest := ?
                ) := {
                    sONInformationRequest := p_sONInformationRequest
                } // End of template mw_sONInformation_Request
                
                /**
                 * @desc Receive template for SONInformation/Reply
                 * @param p_sONInformationReply   Expected SONInformationReply value. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.28 SON Information Reply
                 */
                template (present) SONInformation mw_sONInformation_Reply(
                                                                          template (present) SONInformationReply p_sONInformationReply := ?
                ) := {
                    sONInformationReply := p_sONInformationReply
                } // End of template mw_sONInformation_Reply
                
                /**
                 * @desc Receive template for SONInformation/Report
                 * @param p_sONInformationReport   Expected SONInformationReport value. Default: ?
                 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.39 SON Information Report
                 */
                template (present) SONInformation mw_sONInformation_Report(
                                                                           template (present) SONInformation_Extension p_sONInformationReport := ?
                ) := {
                    sONInformation_Extension := p_sONInformationReport
                } // End of template mw_sONInformation_Report
                
            } // End of group nasRelated_IEs
garciay's avatar
garciay committed
            
garciay's avatar
garciay committed
            /**
             * @desc NAS Related IEs group
             * @see ETSI TS 136 413 V13.4.0 Clause 10 Handling of Unknown, Unforeseen and Erroneous Protocol Data
             */
garciay's avatar
garciay committed
            group Unknown_unforseen_errorneous_group {
                
                /**
                 * @desc Receive template for CriticalityDiagnostics IE
                 * @param p_procedureCode           The procedure code value. Default: ?
                 * @param p_triggeringMessage       The trigering message value. Default: ?
                 * @param p_procedureCriticality    The procedure critcality value. Default: ?
                 * @see ETSI TS 136 413 Clause 9.2.1.21 Criticality Diagnostics
                 */
                template (present) CriticalityDiagnostics mw_criticalityDiagnostics(
                                                                                    template (present) ProcedureCode p_procedureCode := ?,
                                                                                    template (present) TriggeringMessage p_triggeringMessage := ?,
                                                                                    template (present) Criticality p_procedureCriticality := ?,
                                                                                    template CriticalityDiagnostics_IE_List p_iEsCriticalityDiagnostics := *
                ) := {
                    procedureCode               := p_procedureCode,
                    triggeringMessage           := p_triggeringMessage,
                    procedureCriticality        := p_procedureCriticality,
                    iEsCriticalityDiagnostics   := p_iEsCriticalityDiagnostics,
                    iE_Extensions               := *
                } // End of template mw_criticalityDiagnostics
                
                /**
                 * @desc Receive template for CriticalityDiagnostics_IE_Item IE
                 * @param p_iECriticality   The procedure code value. Default: ?
                 * @param p_iE_ID           The trigering message value. Default: ?
                 * @param p_typeOfError     The procedure critcality value. Default: ?
                 * @see ETSI TS 136 413 Clause 9.2.1.21 Criticality Diagnostics
                 */
                template (present) CriticalityDiagnostics_IE_Item mw_criticalityDiagnostics_IE_Item(
                                                                                                    template (present) Criticality p_iECriticality := ?,
                                                                                                    template (present) ProtocolIE_ID p_iE_ID := ?,
                                                                                                    template (present) TypeOfError p_typeOfError := ?
                ) := {
                    iECriticality  := p_iECriticality,
                    iE_ID          := p_iE_ID,
                    typeOfError    := p_typeOfError,
                    iE_Extensions  := *
                }
garciay's avatar
garciay committed
                
                template (value) E_RABFailedToResumeItemResumeReq m_E_RABFailedToResumeItemResumeReq(
                                                                                                     in template (value) E_RAB_ID p_e_RAB_ID,
                                                                                                     in template (value) Cause p_cause
                ) := {
                    e_RAB_ID        := p_e_RAB_ID,
                    cause           := p_cause,
                    iE_Extensions   := omit
                } // End of template m_E_RABFailedToResumeItemResumeReq
                
garciay's avatar
garciay committed
                template (value) E_RABToBeModifiedItemBearerModInd m_E_RABToBeModifiedItemBearerModInd( 
garciay's avatar
garciay committed
                                                                                                       in template (value) E_RAB_ID p_e_RAB_ID,
garciay's avatar
garciay committed
                                                                                                       in template (value) TransportLayerAddress p_transportLayerAddress := PX_TPORT_LAYER_ADDR,
                                                                                                       in template (value) GTP_TEID p_dL_GTP_TEID := PX_DL_GTP_TEID
garciay's avatar
garciay committed
                ) := {
                    e_RAB_ID                := p_e_RAB_ID,
                    transportLayerAddress   := p_transportLayerAddress,
                    dL_GTP_TEID             := p_dL_GTP_TEID,
                    iE_Extensions           := omit
                } // End of template m_E_RABToBeModifiedItemBearerModInd
                
garciay's avatar
garciay committed
            } // End of group Unknown_unforseen_errorneous_group
            
garciay's avatar
garciay committed
        } // End of group g_IEParameters
        
    } // End of group S1AP_Protocol_IEs
garciay's avatar
garciay committed
    /** 
     * @desc Type functions 
     */
    group functionsForTemplates {
        
    } // End of group functionsForTemplates
    
} // End of module LibS1AP_Templates