LibS1AP_Templates.ttcn 266 KB
Newer Older
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                        mw_cause_IE(p_cause)
                    } // End of template mw_UeContextModificationFailureIEs
                    
                    /**
                     * @desc Receive template for mw_UeContextModificationIndication message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeContextModificationIndication(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UEContextModification,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeContextModificationIndication
                    
                    template (present) RecordOf_ProtocolIE mw_UeContextModificationIndicationIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_eNB_UE_S1AP_ID(p_eNB_value, ignore)
                    } // End of template mw_UeContextModificationIndicationIEs

                    
                    /**
                     * @desc Receive template for mw_UeContextSuspendRequest message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeContextSuspendRequest(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UEContextSuspend,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeContextSuspendRequest
                    
                    template (present) RecordOf_ProtocolIE mw_UeContextSuspendRequestIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_eNB_UE_S1AP_ID(p_eNB_value, ignore)
                    } // End of template mw_UeContextSuspendRequestIEs

                    /**
                     * @desc Receive template for mw_UeContextResumeRequest message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeContextResumeRequest(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UEContextResume,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeContextResumeRequest
                    
                    template (present) RecordOf_ProtocolIE mw_UeContextResumeRequestIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_eNB_UE_S1AP_ID(p_eNB_value, ignore)
                    } // End of template mw_UeContextResumeRequestIEs
                    /**
                     * @desc Receive template for mw_UeRadioCapabilityMatchResponse message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeRadioCapabilityMatchResponse(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UERadioCapabilityMatch,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeRadioCapabilityMatchResponse
                    
                    template (present) RecordOf_ProtocolIE mw_UeRadioCapabilityMatchResponseIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                               template (present) VoiceSupportMatchIndicator p_voice_support_match_indicator := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                        mw_voice_support_match_indicator_IE(p_voice_support_match_indicator)
                    } // End of template mw_UeRadioCapabilityMatchResponseIEs

                } // End of group Context_management_group
garciay's avatar
garciay committed
                
garciay's avatar
garciay committed
                /**
                 * @desc Receive messages for Management procedures
                 */
                group Management_group {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with S1_SETUP_REQUEST payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_s1_Setup_Request(
                                                                             template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_S1Setup,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_s1_Setup_Request
                    
                    /**
                     * @desc Receive template for S1_SETUP_REQUEST message
                     * @param p_global_ENB_ID   The expected Global eNB ID value. Default: ?
                     * @param p_supportedTAs    The expected list of SupportedTAs-Item protocol IE. Default: ?
                     * @param p_pagingDRXs      The expected Paging DRX as defined in TS 36.304. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_s1_Setup_RequestIEs(
                                                                                  template (present) Global_ENB_ID p_global_ENB_ID := ?,
                                                                                  template (present) SupportedTAs p_supportedTAs := ?,
                                                                                  template (present) PagingDRX p_pagingDRXs := ?
                    ) := {
                        mw_global_eNB_ID_IE(p_global_ENB_ID),
                        mw_supportedTAs_IE(p_supportedTAs),
                        mw_pagingDRX_IE(p_pagingDRXs)
                    } // End of template mw_s1_Setup_RequestIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with S1_SETUP_RESPONSE payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_s1_Setup_Response(
                                                                              template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_S1Setup,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_s1_Setup_Response
                    
                    /**
                     * @desc Receive template for S1_SETUP_RESPONSE message
                     * @param p_global_ENB_ID   The expected Global eNB ID value. Default: ?
                     * @param p_supportedTAs    The expected list of SupportedTAs-Item protocol IE. Default: ?
                     * @param p_pagingDRXs      The expected Paging DRX as defined in TS 36.304. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_s1_Setup_ResponseIEs(
                                                                                   template (present) ServedGUMMEIs p_servedGUMMEIs := ?,
                                                                                   template (present) RelativeMMECapacity p_relativeMMECapacity := ?
                    ) := {
                        mw_servedGUMMEIs_IE(p_servedGUMMEIs),
                        mw_relativeMMECapacity_IE(p_relativeMMECapacity)
                    } // End of template mw_s1_Setup_ResponseIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with S1_SETUP_RESPONSE payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_s1_Setup_Failure(
                                                                             template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_S1Setup,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_s1_Setup_Failure
                    
                    /**
                     * @desc Receive template for S1_SETUP_RESPONSE message
                     * @param p_cause       The expected Cause value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_s1_Setup_FailureIEs(
                                                                                  template (present) Cause p_cause := ?
                    ) := {
                        mw_cause_IE(p_cause)
                    } // End of template mw_s1_Setup_FailureIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with ENB_CONFIGURATION_UPDATE payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_eNB_Configuration_Update(
                                                                                     template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_ENBConfigurationUpdate,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_eNB_Configuration_Update
                    
                    /**
                     * @desc Receive template for ENB_CONFIGURATION_UPDATE message
                     * @param p_global_ENB_ID   The expected Global eNB ID value. Default: ?
                     * @param p_supportedTAs    The expected list of SupportedTAs-Item protocol IE. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_eNB_Configuration_UpdateIEs(
                                                                                          template (present) Global_ENB_ID p_global_ENB_ID := ?,
                                                                                          template (present) SupportedTAs p_supportedTAs := ?
                    ) := {
                        mw_global_eNB_ID_IE(p_global_ENB_ID),
                        mw_supportedTAs_IE(p_supportedTAs)
                    } // End of template mw_eNB_Configuration_UpdateIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with ENB CONFIGURATION UPDATE ACKNOWLEDGE payload
                     * @param p_value           Expected protocol information elements.
                     */
                    template (present) SuccessfulOutcome mw_eNB_Configuration_Update_Acknowledge(
                                                                                                 template (present) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_ENBConfigurationUpdate,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_eNB_Configuration_Update_Acknowledge
                    
                    /**
                     * @desc Receive template for ENB CONFIGURATION UPDATE ACKNOWLEDGE message
                     * 
                     */
                    template (present) RecordOf_ProtocolIE mw_eNB_Configuration_Update_AcknowledgeIEs := {
                    } // End of template mw_eNB_Configuration_Update_AcknowledgeIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with ENB CONFIGURATION UPDATE FAILURE payload
                     * @param p_value           Expected protocol information elements.
                     */
                    template (present) SuccessfulOutcome mw_eNB_Configuration_Update_Failure(
                                                                                                 template (present) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_ENBConfigurationUpdate,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_eNB_Configuration_Update_Failure
                    
                    /**
                     * @desc Receive template for ENB CONFIGURATION UPDATE FAILURE message
                     * @param p_cause       The expected Cause value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_eNB_Configuration_Update_FailureIEs(
                                                                                                  template (present) Cause p_cause := ?
                    ) := {
                        mw_cause_IE(p_cause)
                    } // End of template mw_eNB_Configuration_Update_FailureIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with MME CONFIGURATION UPDATE ACKNOWLEDGE payload
                     * @param p_value           Expected protocol information elements.
                     */
                    template (present) SuccessfulOutcome mw_mME_Configuration_Update_Acknowledge(
                                                                                                 template (present) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_MMEConfigurationUpdate,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_mME_Configuration_Update_Acknowledge
                    
                    /**
                     * @desc Receive template for MME CONFIGURATION UPDATE ACKNOWLEDGE message
                     * 
                     */
                    template (present) RecordOf_ProtocolIE mw_mME_Configuration_Update_AcknowledgeIEs := {
                    } // End of template mw_mME_Configuration_Update_AcknowledgeIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with MME CONFIGURATION UPDATE FAILURE payload
                     * @param p_value           Expected protocol information elements.
                     */
                    template (present) SuccessfulOutcome mw_mME_Configuration_Update_Failure(
                                                                                             template (present) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_MMEConfigurationUpdate,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_mME_Configuration_Update_Failure
                    
                    /**
                     * @desc Receive template for MME CONFIGURATION UPDATE FAILURE message
                     * @param p_cause       The expected Cause value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_mME_Configuration_Update_FailureIEs(
                                                                                                  template (present) Cause p_cause := ?
                    ) := {
                        mw_cause_IE(p_cause)
                    } // End of template mw_mME_Configuration_Update_FailureIEs
                    
garciay's avatar
garciay committed
                } // End of group Management_group
                
garciay's avatar
garciay committed
                /**
                 * @desc Receive messages for Reset Procedures
                 */
                group Reset_receive {
                    
                    /**
                     * @desc Send template for InitiatingMessage message with RESET payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_reset(
                                                                  template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_Reset,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_reset
                    
                    /**
                     * @desc Send template for RESET message
                     * @param p_cause       The expected Cause value
                     * @param p_resetType   The RESET type value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_resetIEs(
                                                                       template (present) Cause p_cause := ?,
                                                                       template (present) ResetType p_resetType := ?
                    ) := {
                        mw_cause_IE(p_cause),
                        mw_resetType_IE(p_resetType)
                    } // End of template mw_resetIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with RESET ACKNOWLEDGE
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_reset_Acknowledge(
                                                                              template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_Reset,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_reset_Acknowledge
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with RESET ACKNOWLEDGE payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_reset_AcknowledgeIEs(
                                                                                   template (present) UE_associatedLogicalS1_ConnectionListRes p_value := ?
                    ) := {
                        mw_associatedLogicalS1_ConnectionListResAck_IE(p_value)
                    } // End of template mw_reset_AcknowledgeIEs
                    
                    /**
                     * @desc Receive template for RESET ACKNOWLEDGE message
                     * @param p_value           Expected list of UE-associated logical S1-connection. Default: ?
                     */
                    template (present) ProtocolIE mw_associatedLogicalS1_ConnectionListResAck_IE(
                                                                                                 template (present) UE_associatedLogicalS1_ConnectionListRes p_value := ?
                    ) := {
                        id := id_UE_associatedLogicalS1_ConnectionListResAck,
                        criticality := ignore,
                        value_ := {UE_associatedLogicalS1_ConnectionListRes := p_value}
                    } // End of template mw_associatedLogicalS1_ConnectionListResAck_IE
                    
                } // End of group Reset_receive
                
                /**
                 * @desc Receive messages for Warning Message Transmission Procedures
garciay's avatar
garciay committed
                 * @see ETSI TS 136 413 Clause 9.1.13 Warning Message Transmission Messages
                 */
                group Warning_Message_Transmission_receive {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with WRITE-REPLACE WARNING REQUEST/RESPONSE payload
garciay's avatar
garciay committed
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) InitiatingMessage mw_write_Replace_Warning_RequestResponse(
                                                                                                  template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_WriteReplaceWarning,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_write_Replace_Warning_RequestResponse
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with WRITE-REPLACE WARNING RESPONSE payload
garciay's avatar
garciay committed
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_write_Replace_Warning_Response(
                                                                                           template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_WriteReplaceWarning,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_write_Replace_Warning_Response
                    
                    /**
                     * @desc Receive template for WRITE-REPLACE WARNING REQUEST message
                     * @param p_message_Identifier              The expected Message Identifier value. Default: ?
                     * @param p_serial_Number                   The expected Serial Number value. Default: ?
                     * @param p_repetition_Period               The expected Repetition Period value. Default: ?
                     * @param p_number_of_Broadcasts_Requested  The expected Number of Broadcasts Requested value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_write_Replace_Warning_RequestIEs(
                                                                                               template (present) MessageIdentifier p_message_Identifier := ?,
                                                                                               template (present) SerialNumber p_serial_Number := ?,
                                                                                               template (present) RepetitionPeriod p_repetition_Period := ?,
                                                                                               template (present) NumberOfBroadcasts p_number_of_Broadcasts_Requested := ?
                    ) := {
                        mw_message_Identifier_IE(p_message_Identifier),
                        mw_serial_Number_IE(p_serial_Number),
                        mw_repetition_Period_IE(p_repetition_Period),
                        mw_number_of_Broadcasts_Requested_IE(p_number_of_Broadcasts_Requested)
garciay's avatar
garciay committed
                    } // End of template mw_write_Replace_Warning_RequestIEs
                    
                    /**
                     * @desc Receive template for WRITE-REPLACE WARNING REQUEST message
                     * @param p_serial_Number The expected Message Identifier value. Default: ?
                     * @param p_serial_Number The expected Serial Number value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_write_Replace_Warning_ResponseIEs(
                                                                                                template (present) MessageIdentifier p_message_Identifier := ?,
                                                                                                template (present) SerialNumber p_serial_Number := ?
                    ) := {
                        mw_message_Identifier_IE(p_message_Identifier),
                        mw_serial_Number_IE(p_serial_Number)
garciay's avatar
garciay committed
                    } // End of template mw_write_Replace_Warning_ResponseIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with KILL REQUEST/RESPONSE payload
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) InitiatingMessage mw_kill_RequestResponse(
                                                                                 template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_Kill,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_kill_RequestResponse
                    
                    /**
                     * @desc Send template for InitiatingMessage message with KILL RESPONSE payload
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_kill_Response(
                                                                          template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_Kill,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_kill_Response
                    
                    /**
                     * @desc Receive template for KILL REQUEST message
                     * @param p_message_Identifier              The expected Message Identifier value. Default: ?
                     * @param p_serial_Number                   The expected Serial Number value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_kill_RequestIEs(
                                                                              template (present) MessageIdentifier p_message_Identifier := ?,
                                                                              template (present) SerialNumber p_serial_Number := ?
                    ) := {
                        mw_message_Identifier_IE(p_message_Identifier),
                        mw_serial_Number_IE(p_serial_Number)
garciay's avatar
garciay committed
                    } // End of template mw_kill_RequestIEs
                    
                    /**
                     * @desc Receive template for KILL REQUEST message
                     * @param p_message_Identifier  The expected Message Identifier value
                     * @param p_serial_Number       The expected Serial Number value
                     */
                    template (present) RecordOf_ProtocolIE mw_kill_ResponseIEs(
                                                                               template (present) MessageIdentifier p_message_Identifier := ?,
                                                                               template (present) SerialNumber p_serial_Number := ?
                    ) := {
                        mw_message_Identifier_IE(p_message_Identifier),
                        mw_serial_Number_IE(p_serial_Number)
garciay's avatar
garciay committed
                    } // End of template mw_kill_ResponseIEs
                    
                }// End of group Warning_Message_Transmission_receive
                
                //TODO: Other....
                
            } // End of group receiveClass1
            
        } // End of group class1
        
        /**
         * @desc List of S1AP Elementary procedures
         * @see ETSI TS 136 413 Table 2: Class 2 procedures
         */
        group class2 {
            
            group sendClass2 {
                
                /**
                 * @desc Send messages for Traces Procedures
                 */
                group Traces_send {
                    
                    /**
                     * @desc Send template for InitiatingMessage message with TRACE START payload
                     * @param p_value           Expected protocol information elements
garciay's avatar
garciay committed
                     */
                    template (value) InitiatingMessage m_trace_Start(
                                                                     in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_TraceStart,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_trace_Start
                    
                    /**
                     * @desc Send template for TRACE START message
                     * @param p_traceActivation    The Trace Activation value
                     */
                    template (value) RecordOf_ProtocolIE m_trace_StartIEs(
                                                                          in template (value) TraceActivation p_traceActivation
                    ) := {
                        m_traceActivation_IE(p_traceActivation)
                    } // End of template m_trace_StartIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with DEACTIVATE TRACE payload
                     * @param p_value           Expected protocol information elements
garciay's avatar
garciay committed
                     */
                    template (value) InitiatingMessage m_deactivate_Trace(
                                                                          in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_DeactivateTrace,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_deactivate_Trace
                    
                    /**
                     * @desc Send template for DEACTIVATE TRACE message
                     * @param p_traceActivation    The Deactivate Trace value
                     */
                    template (value) RecordOf_ProtocolIE m_deactivate_TraceIEs(
                                                                               in template (value) MME_UE_S1AP_ID p_MME_value,
garciay's avatar
garciay committed
                                                                               in template (value) ENB_UE_S1AP_ID p_eNB_value,
garciay's avatar
garciay committed
                                                                               in E_UTRAN_Trace_ID p_eUTRAN_Trace_ID
                    ) := {
                        m_MME_UE_S1AP_ID(p_MME_value),
garciay's avatar
garciay committed
                        m_eNB_UE_S1AP_ID(p_eNB_value),
garciay's avatar
garciay committed
                        m_eUTRAN_Trace_ID_IE(p_eUTRAN_Trace_ID)
                    } // End of template m_deactivate_TraceIEs
                    
                } // End of group Traces_send
                
                /**
                 * @desc Send messages for Location Reporting Procedures
                 */
                group Location_reporting_send {
                    
                    /**
                     * @desc Send template for InitiatingMessage message with LOCATION REPORTING CONTROL payload
                     * @param p_value           Expected protocol information elements
garciay's avatar
garciay committed
                     */
                    template (value) InitiatingMessage m_location_Reporting_Control(
                                                                                    in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_LocationReportingControl,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_location_Reporting_Control
                    
                    /**
                     * @desc Send template for LOCATION REPORTING CONTROL message
                     * @param p_MME_value       MME UE S1AP ID value
garciay's avatar
garciay committed
                     * @param p_eNB_value       eNB UE S1AP ID value
garciay's avatar
garciay committed
                     * @param p_request_Type    The Type Request value
                     */
                    template (value) RecordOf_ProtocolIE m_location_Reporting_ControlIEs(
                                                                                         in template (value) MME_UE_S1AP_ID p_MME_value,
garciay's avatar
garciay committed
                                                                                         in template (value) ENB_UE_S1AP_ID p_eNB_value,
garciay's avatar
garciay committed
                                                                                         in template (value) RequestType p_request_Type
                    ) := {
                        m_MME_UE_S1AP_ID(p_MME_value),
garciay's avatar
garciay committed
                        m_eNB_UE_S1AP_ID(p_eNB_value),
garciay's avatar
garciay committed
                        m_request_Type_IE(p_request_Type)
                    } // End of template m_location_Reporting_ControlIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with LOCATION REPORTING CONTROL payload
                     * @param p_value           Expected protocol information elements
garciay's avatar
garciay committed
                     */
                    template (value) InitiatingMessage m_location_Report(
                                                                         in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_LocationReport,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_location_Report
                    
                    /**
                     * @desc Send template for LOCATION REPORT message
                     * @param p_MME_value       MME UE S1AP ID value
garciay's avatar
garciay committed
                     * @param p_eNB_value       eNB UE S1AP ID value
garciay's avatar
garciay committed
                     * @param p_request_Type    The Type Request value
                     */
                    template (value) RecordOf_ProtocolIE m_location_ReportIEs(
                                                                              in template (value) MME_UE_S1AP_ID p_MME_value,
garciay's avatar
garciay committed
                                                                              in template (value) ENB_UE_S1AP_ID p_eNB_value,
garciay's avatar
garciay committed
                                                                              in template (value) RequestType p_request_Type
                    ) := {
                        m_MME_UE_S1AP_ID(p_MME_value),
garciay's avatar
garciay committed
                        m_eNB_UE_S1AP_ID(p_eNB_value),
garciay's avatar
garciay committed
                        m_request_Type_IE(p_request_Type)
                    } // End of template m_location_ReportIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with LOCATION REPORT FAILURE INDICATION payload
                     * @param p_value           Expected protocol information elements
garciay's avatar
garciay committed
                     */
                    template (value) InitiatingMessage m_location_Report_Failure_Indication(
                                                                                            in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_LocationReport,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_location_Report_Failure_Indication
                    
                    /**
                     * @desc Send template for LOCATION REPORT message
                     * @param p_MME_value   The expected MME UE S1AP ID value. Default: ?
garciay's avatar
garciay committed
                     * @param p_eNB_value   The expected eNB UE S1AP ID value. Default: ?
garciay's avatar
garciay committed
                     * @param p_cause       The expected Cause value. Default: ?
                     */
                    template (value) RecordOf_ProtocolIE m_location_Report_Failure_IndicationIEs(
                                                                                                 in template (value) MME_UE_S1AP_ID p_MME_value,
garciay's avatar
garciay committed
                                                                                                 in template (value) ENB_UE_S1AP_ID p_eNB_value,
garciay's avatar
garciay committed
                                                                                                 in template (value) Cause p_cause
                    ) := {
                        m_MME_UE_S1AP_ID(p_MME_value),
garciay's avatar
garciay committed
                        m_eNB_UE_S1AP_ID(p_eNB_value),
garciay's avatar
garciay committed
                        m_cause_IE(p_cause)
                    } // End of template m_location_Report_Failure_IndicationIEs
                    
                } // End of group Location_reporting_send
                
            } // End of group sendClass2
            
            group receiveClass2 {
                
garciay's avatar
garciay committed
                /**
                 * @desc Receive messages for Error Indication Procedures
                 */
                group Error_Indication_receive {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with ERROR_INDICATION payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_error_Indication(
                                                                             template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_ErrorIndication,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_error_Indication
                    
                    /**
                     * @desc Receive template for ERROR_INDICATION message
                     * @param p_MME_value               The expected MME UE S1AP ID value. Default: ?
                     * @param p_eNB_value               The expected eNB UE S1AP ID value. Default: ?
                     * @param p_value                   The expected Cause value or CriticalityDiagnostics value. Default: ?
garciay's avatar
garciay committed
                     */
                    template (present) RecordOf_ProtocolIE mw_error_IndicationIEs(
                                                                                  template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                  template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                  template (present) ProtocolIE p_value
garciay's avatar
garciay committed
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_eNB_UE_S1AP_ID(p_eNB_value),
garciay's avatar
garciay committed
                    } // End of template mw_error_IndicationIEs
                    
                } // End of group Error_Indication_receive
                
                 * @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 {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with INITIAL_UE_MESSAGE payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_initial_uE_Message(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_initialUEMessage,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_initial_uE_Message
                    
                    /**
                     * @desc Receive template for INITIAL_UE_MESSAGE message
                     * @param p_eNB_value           The expected eNB UE S1AP ID value. Default: ?
                     * @param p_nasPdu              The expected NAS-PDU value. Default: ?
                     * @param p_tAI                 The expected TAI value. Default: ?
                     * @param p_eUTRAN_CGI          The expected Type Request value. Default: ?
                     * @param p_cause               The expected RRC Establishment Cause value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_initial_uE_MessageIEs(
                                                                                    template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                    template (present) octetstring p_nasPdu := ?,
                                                                                    template (present) TAI p_tAI := ?,
                                                                                    template (present) EUTRAN_CGI p_eUTRAN_CGI := ?,
                                                                                    template (present) Cause p_cause := ?
                    ) := {
                        mw_eNB_UE_S1AP_ID(p_eNB_value),
                        mw_nAS_Pdu_IE(p_nasPdu),
                        mw_tAI_IE(p_tAI),
                        mw_eUTRAN_CGI_IE(p_eUTRAN_CGI),
                        mw_cause_IE(p_cause)
                    } // End of template mw_initial_uE_MessageIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with DOWNLINK_NAS_TRANSPORT payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_downlink_nAS_Transport(
                                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_downlinkNASTransport,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_downlink_nAS_Transport
                    
                    /**
                     * @desc Receive template for DOWNLINK_NAS_TRANSPORT message
                     * @param p_MME_value   The expected MME UE S1AP ID value. Default: ?
                     * @param p_eNB_value   The expected eNB UE S1AP ID value. Default: ?
                     * @param p_nasPdu      The expected NAS-PDU value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_downlink_nAS_TransportIEs(
                                                                                        template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                        template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                        template (present) octetstring p_nasPdu := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_eNB_UE_S1AP_ID(p_eNB_value),
                        mw_nAS_Pdu_IE(p_nasPdu)
                    } // End of template mw_downlink_nAS_TransportIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with UPLINK_NAS_TRANSPORT payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_uplink_nAS_Transport(
                                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_uplinkNASTransport,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_uplink_nAS_Transport
                    
                    /**
                     * @desc Receive template for UPLINK_NAS_TRANSPORT message
                     * @param p_MME_value   The expected MME UE S1AP ID value. Default: ?
                     * @param p_eNB_value   The expected eNB UE S1AP ID value. Default: ?
                     * @param p_nasPdu      The expected NAS-PDU value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_uplink_nAS_TransportIEs(
                                                                                        template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                        template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                        template (present) octetstring p_nasPdu := ?,
                                                                                        template (present) EUTRAN_CGI p_eUTRAN_CGI := ?,
                                                                                        template (present) TAI p_tAI := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_eNB_UE_S1AP_ID(p_eNB_value),
                        mw_nAS_Pdu_IE(p_nasPdu),
                        mw_eUTRAN_CGI_IE(p_eUTRAN_CGI),
                        mw_tAI_IE(p_tAI)
                    } // End of template mw_uplink_nAS_TransportIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with NAS_NON_DELIVERY_INDICATION payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_nAS_Non_Delivery_Indication(
                                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_NASNonDeliveryIndication,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_nAS_Non_Delivery_Indication
                    
                    /**
                     * @desc Receive template for NAS_NON_DELIVERY_INDICATION message
                     * @param p_MME_value   The expected MME UE S1AP ID value. Default: ?
                     * @param p_eNB_value   The expected eNB UE S1AP ID value. Default: ?
                     * @param p_nasPdu      The expected NAS-PDU value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_nAS_Non_Delivery_IndicationIEs(
                                                                                             template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                             template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                             template (present) octetstring p_nasPdu := ?,
                                                                                             template (present) Cause p_cause := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_eNB_UE_S1AP_ID(p_eNB_value),
                        mw_nAS_Pdu_IE(p_nasPdu),
                        mw_cause_IE(p_cause)
                    } // End of template mw_nAS_Non_Delivery_IndicationIEs
                    
                    /**
                     * @desc Receive template for REROUTE_NAS_REQUEST message
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_reroute_nAS_Request(
                                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_RerouteNASRequest,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_reroute_nAS_Request
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with REROUTE_NAS_REQUEST payload
                     * @param p_MME_value     The expected MME UE S1AP ID value. Default: ?
                     * @param p_eNB_value     The expected eNB UE S1AP ID value. Default: ?
                     * @param p_s1Message     The expected INITIAL UE MESSAGE value. Default: ?
                     * @param p_mME_Group_ID  The expected MME_Group_ID value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_reroute_nAS_RequestIEs(
                                                                                    template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                    template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                    template (present) octetstring p_s1Message := ?,
                                                                                    template (present) MME_Group_ID p_mME_Group_ID := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_eNB_UE_S1AP_ID(p_eNB_value),
                        mw_s1_Message_IE(p_s1Message),
                        mw_mME_Group_ID_IE(p_mME_Group_ID)
                    } // End of template mw_reroute_nAS_RequestIEs
                    
                } // End of group NAS_transport_group
                
                /**
                 * @desc Receive messages for Management procedures
                 */
                group Management_group {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with OVERLOAD_START payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_eNB_Overload_Start(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_OverloadStart,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_eNB_Overload_Start
                    
                    /**
                     * @desc Receive template for OVERLOAD_START message
                     * @param p_overloadResponse   The expected required behaviour of the eNB in an overload situation. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_eNB_Overload_StartIEs(
                                                                                    template (present) OverloadResponse p_overloadResponse := ?
                    ) := {
                        mw_overloadResponse_IE(p_overloadResponse)
                    } // End of template mw_eNB_Overload_StartIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with OVERLOAD_STOP payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_eNB_Overload_Stop(
                                                                              template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_OverloadStop,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_eNB_Overload_Stop
                    
                    /**
                     * @desc Receive template for OVERLOAD_STOP message
                     * @param p_overloadResponse   The expected required behaviour of the eNB in an overload situation. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_eNB_Overload_StopIEs(
                                                                                   template (present) GUMMEIList p_gUMMEIList := ?
                    ) := {
                        mw_gUMMEIList_IE(p_gUMMEIList)
                    } // End of template mw_eNB_Overload_StopIEs
                    
                } // End of group Management_group
                
garciay's avatar
garciay committed
                /**
                 * @desc Receive messages for CDMA2000 Tunnelling
                 */
                group S1_CDMA2000_Tunnelling_receive {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with DOWNLINK S1 CDMA2000 TUNNELLING payload
                     * @param p_value           Expected protocol information elements
                     */
                    template (present) InitiatingMessage mw_downlink_S1_CDMA2000_Tunnelling(
                                                                                            template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_DownlinkS1cdma2000tunnelling,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_downlink_S1_CDMA2000_Tunnelling
                    
                    /**
                     * @desc Receive template for DOWNLINK S1 CDMA2000 TUNNELLING message
                     * @param p_MME_value               The expected MME UE S1AP ID value. Default: ?
garciay's avatar
garciay committed
                     * @param p_eNB_value               The expected eNB UE S1AP ID value. Default: ?
                     * @param p_eRABDataForwardingItem  The expected list of E-RABs Subject to Forwarding. Default: ?
                     * @param p_cdma2000Pdu             The expected CDMA2000-PDU value. Default: ?
garciay's avatar
garciay committed
                     * @param p_cdma2000RATType         The expected CDMA2000 RAT Type value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_downlink_S1_CDMA2000_TunnellingIEs(
                                                                                                 template (present) MME_UE_S1AP_ID p_MME_value := ?,
garciay's avatar
garciay committed
                                                                                                 template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                                 template (present) RecordOf_E_RABDataForwardingItem p_eRABDataForwardingItems := ?,
                                                                                                 template (present) octetstring p_cdma2000Pdu := ?,
                                                                                                 template (present) Cdma2000RATType p_cdma2000RATType := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
garciay's avatar
garciay committed
                        mw_eNB_UE_S1AP_ID(p_eNB_value),
                        mw_eRABDataForwardingItem_IE(p_eRABDataForwardingItems),
                        mw_cdma2000_Pdu_IE(p_cdma2000Pdu),
                        mw_cdma2000_RAT_Type_IE(p_cdma2000RATType)
                        
                    } // End of template mw_downlink_S1_CDMA2000_TunnellingIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with UPLINK S1 CDMA2000 TUNNELLING payload
                     * @param p_value           Expected protocol information elements
                     */
                    template (present) InitiatingMessage mw_uplink_S1_CDMA2000_Tunnelling(
                                                                                          template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UplinkS1cdma2000tunnelling,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_uplink_S1_CDMA2000_Tunnelling
                    
                    /**
                     * @desc Receive template for UPLINK S1 CDMA2000 TUNNELLING message
                     * @param p_MME_value           The expected MME UE S1AP ID value. Default: ?
garciay's avatar
garciay committed
                     * @param p_eNB_value           The expected eNB UE S1AP ID value. Default: ?
                     * @param p_cdma2000RATType     The expected CDMA2000 RAT Type value. Default: ?,
                     * @param p_cdma2000SectorId    The expected CDMA2000 Sector ID value. Default: ,
                     * @param p_cdma2000Pdu         The expected CDMA2000-PDU value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_uplink_S1_CDMA2000_TunnellingIEs(
                                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
garciay's avatar
garciay committed
                                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                               template (present) Cdma2000RATType p_cdma2000RATType := ?,
                                                                                               template (present) octetstring p_cdma2000SectorId := ?,
                                                                                               template (present) octetstring p_cdma2000Pdu := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
garciay's avatar
garciay committed
                        mw_eNB_UE_S1AP_ID(p_eNB_value),
                        mw_cdma2000_RAT_Type_IE(p_cdma2000RATType),
                        mw_cdma2000_SectorId_IE(p_cdma2000SectorId),
                        mw_cdma2000_Pdu_IE(p_cdma2000Pdu)
                    } // End of template mw_uplink_S1_CDMA2000_TunnellingIEs
                    
                } // End of group S1_CDMA2000_Tunnelling_receive
                
garciay's avatar
garciay committed
                /**
                 * @desc Receive messages for UE Capability Info
                 */
                group UE_Capability_Info_receive {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with UE CAPABILITY INFO INDICATION payload