LibS1AP_Templates.ttcn 307 KB
Newer Older
                            procedureCode := id_E_RABSetup,
                            criticality := reject,
                            value_ := {RecordOf_ProtocolIE := p_value}
                        } // End of template mw_E_RABSetupResponse
                        
                        template (present) RecordOf_ProtocolIE mw_E_RABSetupResIEs(
                                                                                   template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                   template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                   template (present) RecordOf_E_RABSetupItemBearerSURes p_RecordOf_E_RABSetupItem_value := ?
                        ) := { 
                            mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                            mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                            mw_E_RABSetupList(p_RecordOf_E_RABSetupItem_value)
                        } // End of template mw_E_RABSetupResIEs
    
          
                        template (present) RecordOf_ProtocolIE mw_E_RABSetupResIEs_FailedToSetupList(
                                                                                                     template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                                     template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                                     template RecordOf_E_RABSetupItemBearerSURes p_RecordOf_E_RABSetupItem_value := omit,
                                                                                                     template (present) RecordOf_E_RABItem p_E_RABItem_value := ?
                        ) := {
                            mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                            mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                            mw_E_RABSetupList(p_RecordOf_E_RABSetupItem_value) ifpresent,
                            mw_E_RABFailedToSetupList(p_E_RABItem_value)
                        } // End of template mw_E_RABSetupResIEs
                        
                    } // End of group ERABSetup
        
                    group ERABRelease{
                        template (present) RecordOf_ProtocolIE mw_E_RABReleaseResIEs(
                                                                                         template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                         template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                         template (present) RecordOf_E_RABItem p_RecordOf_E_RABItem_value := ?
                         ) := { 
                              mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                              mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                              mw_E_RABReleaseList(p_RecordOf_E_RABItem_value)
                         } // End of template mw_E_RABReleaseResIEs
                    
                    
						 /**
						  * @desc Receive template for UserLocationInformation message
						  * @param p_tAI                 The expected TAI value. Default: ?
						  * @param p_eUTRAN_CGI          The expected Type Request value. Default: ?
						  */
						 template (present) RecordOf_ProtocolIE mw_UserLocationInformation(
							template (present) TAI p_tAI := ?,
							template (present) EUTRAN_CGI p_eUTRAN_CGI := ?
																						
						 ) := {
							 mw_tAI_IE(p_tAI),
							 mw_eUTRAN_CGI_IE(p_eUTRAN_CGI)
						 } // End of template mw_UserLocationInformation
                group Context_management_group{
                    /**
                     * @desc Receive template for InitialContextSetup message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_InitialContextSetupResponse(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_InitialContextSetup,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_InitialContextSetupResponse
                    
                    template (present) RecordOf_ProtocolIE mw_InitialContextSetupResIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
ulrichst's avatar
ulrichst committed
                                                                               template RecordOf_E_RABSetupItemBearerSURes p_RecordOf_E_RABSetupItem_value := omit,
                                                                               template (present) RecordOf_E_RABItem p_E_RABItem_value := ?
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                        mw_E_RABSetupList(p_RecordOf_E_RABSetupItem_value) ifpresent,
                        mw_E_RABFailedToSetupList(p_E_RABItem_value)
                    } // End of template mw_InitialContextSetupResIEs
                    template (present) RecordOf_ProtocolIE mw_InitialContextSetupFailureIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                               template (present) Cause p_cause := ?
                    ) := {
                        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_InitialContextSetupResIEs                    
                    /**
                     * @desc Receive template for InitialContextSetup message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_InitialContextSetupRequest(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_InitialContextSetup,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_InitialContextSetupRequest
                    template (present) RecordOf_ProtocolIE mw_InitialContextSetupRequestIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                               template (present) UEAggregateMaximumBitrate p_UEAggregateMaximumBitrate := ?,
                                                                               template (present) RecordOf_E_RABToBeSetupItemCtxtSUReq p_RecordOf_E_RABSetupItemCtxt_value,
                                                                               template (present) UESecurityCapabilities p_UESecurityCapabilities:=?,
                                                                               template (present) SecurityKey p_SecurityKey:=?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                        mw_UE_aggregate_maximum_bitrate_IE(p_UEAggregateMaximumBitrate),
                        mw_E_RABToBeSetupCtxtList(p_RecordOf_E_RABSetupItemCtxt_value),
                        mw_UE_securityCapabilities_IE(p_UESecurityCapabilities),                       
                        mw_securityKey_IE(p_SecurityKey)
                    } // End of template mw_InitialContextSetupRequestIEs
                    /**
                     * @desc Receive template for UeContextReleaseRequest message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeContextReleaseRequest(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UEContextReleaseRequest,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeContextReleaseRequest
                    template (present) RecordOf_ProtocolIE mw_UeContextReleaseRequestIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                               template (present) Cause p_cause := ?
                    ) := {
                        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_UeContextReleaseRequestIEs
                    /**
                     * @desc Receive template for UeContextReleaseCommand message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeContextReleaseCommand(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UEContextRelease,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeContextReleaseCommand
                    template (present) RecordOf_ProtocolIE mw_UeContextReleaseCommandIEs_MME(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) Cause p_cause := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_cause_IE(p_cause)
                    } // End of template mw_UeContextReleaseCommandIEs
                    template (present) RecordOf_ProtocolIE mw_UeContextReleaseCommandIEs_ENB(
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                               template (present) Cause p_cause := ?
                    ) := {
                        mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
                        mw_cause_IE(p_cause)
                    } // End of template mw_UeContextReleaseCommandIEs
                    /**
                     * @desc Receive template for UeContextReleaseComplete message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeContextReleaseComplete(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UEContextRelease,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeContextReleaseComplete
                    template (present) RecordOf_ProtocolIE mw_UeContextReleaseCompleteIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                               template (present) Cause p_cause := ?
                    ) := {
                        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_UeContextReleaseCompleteIEs
                    
                    /**
                     * @desc Receive template for mw_UeContextModificationResponse message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeContextModificationResponse(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UEContextModification,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeContextReleaseComplete
                    
                    template (present) RecordOf_ProtocolIE mw_UeContextModificationResponseIEs(
                                                                               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_UeContextReleaseCompleteIEs
                    
                    /**
                     * @desc Receive template for mw_UeContextModificationFailure message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeContextModificationFailure(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UEContextModification,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeContextModificationFailure
                    
                    template (present) RecordOf_ProtocolIE mw_UeContextModificationFailureIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                               template (present) Cause p_cause := ?
                    ) := {
                        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
rennoch's avatar
rennoch committed

                    
					/**
					 * @desc Receive template for mw_UeContextModificationRequest message
					 * @param p_procedureCode   Expected procedure code. Default: ?
					 * @param p_value           Expected procedure code. Default: ?
					 */
					template (present) SuccessfulOutcome mw_UeContextModificationRequest(
																			   template (present) RecordOf_ProtocolIE p_value := ?
					) := {
						procedureCode := id_UEContextModification,
						criticality := reject,
						value_ := {RecordOf_ProtocolIE := p_value}
					} // End of template mw_UeContextModificationRequest
                    
					template (present) RecordOf_ProtocolIE mw_UeContextModificationRequestIEs(
																			   template (present) MME_UE_S1AP_ID p_MME_value := ?,
rennoch's avatar
rennoch committed
																			   template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                               template (present) UEAggregateMaximumBitrate p_UEAggregateMaximumBitrate := ?
rennoch's avatar
rennoch committed
					) := {
						mw_MME_UE_S1AP_ID(p_MME_value, ignore),
rennoch's avatar
rennoch committed
						mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
						mw_UE_aggregate_maximum_bitrate_IE(p_UEAggregateMaximumBitrate)
rennoch's avatar
rennoch committed
					} // End of template mw_UeContextModificationRequestIEs
					
                    
                    /**
                     * @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
rennoch's avatar
rennoch committed

                    /**
                     * @desc Receive template for mw_UeContextModificationConfirm message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_UeContextModificationConfirm(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_UEContextModification,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UeContextModificationConfirm
                    
                    template (present) RecordOf_ProtocolIE mw_UeContextModificationConfirmIEs(
                                                                               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_UeContextModificationConfirmIEs

                    
                    /**
                     * @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

rennoch's avatar
rennoch committed
                    
					/**
					 * @desc Receive template for mw_UeRadioCapabilityMatchRequest message
					 * @param p_procedureCode   Expected procedure code. Default: ?
					 * @param p_value           Expected procedure code. Default: ?
					 */
					template (present) SuccessfulOutcome mw_UeRadioCapabilityMatchRequest(
																			   template (present) RecordOf_ProtocolIE p_value := ?
					) := {
						procedureCode := id_UERadioCapabilityMatch,
						criticality := reject,
						value_ := {RecordOf_ProtocolIE := p_value}
					} // End of template mw_UeRadioCapabilityMatchRequest
                    
					template (present) RecordOf_ProtocolIE mw_UeRadioCapabilityMatchRequestIEs(
																			   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_UeRadioCapabilityMatchRequestIEs

                } // 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 {
                
                /**
                 * @desc Receive messages for Handover Notification Procedure
                 */
                group HandoverNotification_receive {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with HANDOVER_NOTIFY payload
                     * @param p_value           Expected protocol information elements. Default: ?
                     */
                    template (present) InitiatingMessage mw_HandoverNotify(
                                                                             template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_HandoverNotification,
                        criticality := ignore,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_HandoverNotify
                    
                    /**
                     * @desc Receive template for HANDOVER_NOTIFY 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_eUtranCgi               The expected E-UTRAN CGI value.    Default: ?
                     * @param p_tai                     The expected TAI value.            Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_HandoverNotifyIEs(
                                                                                  template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                  template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
                                                                                  template (present) EUTRAN_CGI p_eUtranCgi := ?,
                                                                                  template (present) TAI p_tai := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_eNB_UE_S1AP_ID(p_eNB_value),
                        mw_eUTRAN_CGI_IE(p_eUtranCgi),
                        mw_tAI_IE(p_tai)
                    } // End of template mw_HandoverNotifyIEs
                    
                } // End of group HandoverNotification_receive
                
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