LibNGAP_Templates.ttcn 1.75 MB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
/**
 *    @author   ETSI / TTF033
 *    @version  $URL$
 *              $Id$
 *    @desc     This module provides templates for NGAP protocol.
Yann Garcia's avatar
Yann Garcia committed
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
 *    @see      ETSI TS 138 413 / 3GPP TS 38.413 version 16.12 Release 16
Yann Garcia's avatar
Yann Garcia committed
 */
module LibNGAP_Templates {
    //  LibCommon
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_DataStrings all;
    //  LibNGAP
    import from NGAP_Constants language "ASN.1:2002" all;
    import from NGAP_CommonDataTypes language "ASN.1:2002" all;
    import from NGAP_IEs language "ASN.1:2002" all;
    import from NGAP_PDU_Contents language "ASN.1:2002" all;
    import from NGAP_PDU_Descriptions language "ASN.1:2002" all;
    import from NGAP_Containers language "ASN.1:2002" all;

    import from LibNGAP_TypesAndValues all;
    import from LibNGAP_Pixits all;

    group g_NGAP {

        group g_NGAP_PDU {
                /**
                 * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.1 PDU SESSION RESOURCE SETUP REQUEST
                 */
                template (value) NGAP_PDU m_ngap_initMsg(
                                                         in template (value) InitiatingMessage p_msg
                                                         ) := {
                    initiatingMessage := p_msg
                } // End of template m_ngap_initMsg

                /**
                 * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 8.1 List of NGAP Elementary Procedures
                 */
                template (value) NGAP_PDU m_ngap_succMsg(
                                                         in template (value) SuccessfulOutcome p_msg
                                                         ) := {
                    successfulOutcome := p_msg
                } // End of template m_ngap_succMsg

                /**
                 * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 8.1 List of NGAP Elementary Procedures
                 */
                template (value) NGAP_PDU m_ngap_unsuccMsg(
                                                           in template (value) UnsuccessfulOutcome p_msg
                                                           ) := {
                    unsuccessfulOutcome := p_msg
                } // End of template m_ngap_unsuccMsg
Yann Garcia's avatar
Yann Garcia committed
            } // End of group Send

            group Receive {
Iztok Juvancic's avatar
Iztok Juvancic committed

                /**
                 * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.1 PDU SESSION RESOURCE SETUP REQUEST
                 */
                template (present) NGAP_PDU mw_ngap_initMsg(
                                                            template (present) InitiatingMessage p_msg := ?
                                                            ) := {
                    initiatingMessage := p_msg
                } // End of template mw_ngap_initMsg
                /**
                 * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 8.1 List of NGAP Elementary Procedures
                 */
                template (present) NGAP_PDU mw_ngap_succMsg(
                                                            template (present) SuccessfulOutcome p_msg := ?
                                                            ) := {
                    successfulOutcome := p_msg
                } // End of template mw_ngap_succMsg
                /**
                 * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 8.1 List of NGAP Elementary Procedures
                 */
                template (present) NGAP_PDU mw_ngap_unsuccMsg(
                                                              template (present) UnsuccessfulOutcome p_msg := ?
                ) := {
                    unsuccessfulOutcome := p_msg
                } // End of template mw_ngap_unsuccMsg

Yann Garcia's avatar
Yann Garcia committed
            } // End of group Receive

        } // End of group  g_NGAP_PDU

        group Message_Functional_Definition_and_Content {

            /**
             * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1 PDU Session Management Messages
             */
            group PDU_Session_Management_Messages {

                /**
                 * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1 PDU Session Management Messages
                 */
                group PDU_SESSION_RESOURCE_SETUP_REQUEST {

Yann Garcia's avatar
Yann Garcia committed
                    group Send {
Iztok Juvancic's avatar
Iztok Juvancic committed

                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.1 PDU SESSION RESOURCE SETUP REQUEST
                         */
                        template (value) InitiatingMessage m_n2_PDUSessionResourceSetupRequest(
                                                                                               in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                               in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                               in template (value) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq
                                                                                               ) := {
                            procedureCode := id_PDUSessionResourceSetup,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceSetupRequest := {
                                                                                 protocolIEs := {
                                                                                         {
                                                                                             id := id_AMF_UE_NGAP_ID,
                                                                                             criticality := reject,
                                                                                             value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                         },
                                                                                         {
                                                                                             id := id_RAN_UE_NGAP_ID,
                                                                                             criticality := reject,
                                                                                             value_ := {  RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                         },
                                                                                         {
                                                                                             id := id_PDUSessionResourceSetupListSUReq,
                                                                                             criticality := ignore,
                                                                                             value_ := { PDUSessionResourceSetupListSUReq := p_pDUSessionResourceSetupListSUReq }
                         } // End of template m_n2_PDUSessionResourceSetupRequest
Yann Garcia's avatar
Yann Garcia committed

                    } // End of group Send
Iztok Juvancic's avatar
Iztok Juvancic committed

                        /**
                        * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.1 PDU SESSION RESOURCE SETUP REQUEST
                        */
                        template (present) InitiatingMessage mw_n2_PDUSessionResourceSetupRequest(
                                                                                                  template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                                  template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                                  template (present) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq := ?
                                                                                                  ) := {
                            procedureCode := id_PDUSessionResourceSetup,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceSetupRequest := {
                                                    protocolIEs := {
                                                                    {
                                                                        id := id_AMF_UE_NGAP_ID,
                                                                        criticality := reject,
                                                                        value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                    },
                                                                    {
                                                                        id := id_RAN_UE_NGAP_ID,
                                                                        criticality := reject,
                                                                        value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                    },
                                                                    {
                                                                        id := id_PDUSessionResourceSetupListSUReq,
                                                                        criticality := ignore,
                                                                        value_ := { PDUSessionResourceSetupListSUReq := p_pDUSessionResourceSetupListSUReq }
                                            }
                         } // End of template mw_n2_PDUSessionResourceSetupRequest
Yann Garcia's avatar
Yann Garcia committed

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_SETUP_REQUEST

                group PDU_SESSION_RESOURCE_SETUP_RESPONSE {
Yann Garcia's avatar
Yann Garcia committed

                    group Send {
Iztok Juvancic's avatar
Iztok Juvancic committed

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.2 PDU SESSION RESOURCE SETUP RESPONSE
                         */
                        template (value) SuccessfulOutcome m_n2_PDUSessionResourceSetupResponse(
                                                                                                in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                                in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                                in template (value) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSURes
                                                                                                ) := {
                            procedureCode := id_PDUSessionResourceSetup,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceSetupResponse := {
                                                                                  protocolIEs := {
                                                                                                  {
                                                                                                      id := id_AMF_UE_NGAP_ID,
                                                                                                      criticality := reject,
                                                                                                      value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_RAN_UE_NGAP_ID,
                                                                                                      criticality := reject,
                                                                                                      value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_PDUSessionResourceSetupListSURes,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSURes }
                                                                                                  }
                                                                                                 }
                         } // End of template mw_n2_PDUSessionResourceSetupResponse
Yann Garcia's avatar
Yann Garcia committed
                    } // End of group Send

                    group Receive {
Iztok Juvancic's avatar
Iztok Juvancic committed

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.2 PDU SESSION RESOURCE SETUP RESPONSE
                         */
                        template (present) SuccessfulOutcome mw_n2_PDUSessionResourceSetupResponse(
                                                                                                   template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                                   template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                                   template (present) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSUReq := ?
                                procedureCode := id_PDUSessionResourceSetup,
                                criticality   := reject,
                                value_        := {
                                                  PDUSessionResourceSetupResponse := {
                                                                                      protocolIEs := {
                                                                                                      {
                                                                                                        id := id_AMF_UE_NGAP_ID,
                                                                                                        criticality := reject,
                                                                                                        value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                      },
                                                                                                      {
                                                                                                        id := id_RAN_UE_NGAP_ID,
                                                                                                        criticality := reject,
                                                                                                        value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                      },
                                                                                                      {
                                                                                                        id := id_PDUSessionResourceSetupListSURes,
                                                                                                        criticality := ignore,
                                                                                                        value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSUReq}
                                                }
                         } // End of template mw_n2_PDUSessionResourceSetupResponse
Yann Garcia's avatar
Yann Garcia committed

                    } // End of group Receive
                } // End of group PDU_SESSION_RESOURCE_SETUP_RESPONSE

                group PDU_SESSION_RESOURCE_RELEASE_COMMAND {

                    group Send {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.3 PDU SESSION RESOURCE RELEASE COMMAND
                         */
                        template (value) InitiatingMessage m_n2_PDUSessionResourceReleaseCommand(
                                                                                                 in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                                 in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                                 in template (value) PDUSessionResourceToReleaseListRelCmd p_pDUSessionResourceToReleaseListRelCmd
                                                                                                 ) := {

                            procedureCode := id_PDUSessionResourceToReleaseListRelCmd,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceReleaseCommand := {
                                                                                   protocolIEs := {
                                                                                                   {
                                                                                                       id := id_AMF_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_RAN_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_PDUSessionResourceToReleaseListRelCmd,
                                                                                                       criticality := reject,
                                                                                                       value_ := { PDUSessionResourceToReleaseListRelCmd := p_pDUSessionResourceToReleaseListRelCmd }
                                                                                                   }
                                                                                                  }
                                                                                    }
                                            }
                        } // End of template m_n2_PDUSessionResourceReleaseCommand

                    } // End of group Send

                    group Receive {
                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.3 PDU SESSION RESOURCE RELEASE COMMAND
                         */
                        template (present) InitiatingMessage mw_n2_PDUSessionResourceReleaseCommand(
                                                                                                    template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                                    template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                                    template (present) PDUSessionResourceToReleaseListRelCmd p_pDUSessionResourceToReleaseListRelCmd := ?
                                                                                                    ) := {

                            procedureCode := id_PDUSessionResourceToReleaseListRelCmd,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceReleaseCommand := {
                                                                                   protocolIEs := {
                                                                                                   {
                                                                                                       id := id_AMF_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_RAN_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_PDUSessionResourceToReleaseListRelCmd,
                                                                                                       criticality := reject,
                                                                                                       value_ := { PDUSessionResourceToReleaseListRelCmd := p_pDUSessionResourceToReleaseListRelCmd }
                                                                                                   }
                                                                                                  }
                                                                                    }
                                            }
                        } // End of template mw_n2_PDUSessionResourceReleaseCommand

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_RELEASE_COMMAND

                group PDU_SESSION_RESOURCE_RELEASE_RESPONSE {

                    group Send {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.4 PDU SESSION RESOURCE RELEASE RESPONSE
                         */
                        template (value) SuccessfulOutcome m_n2_PDUSessionResourceReleaseResponse(
                                                                                                  in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                                  in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                                  in template (value) PDUSessionResourceReleasedListRelRes p_pDUSessionResourceReleasedListRelRes
                                                                                                  ) := {

                            procedureCode := id_PDUSessionResourceRelease,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceReleaseResponse := {
                                                                                   protocolIEs := {
                                                                                                   {
                                                                                                       id := id_AMF_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_RAN_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_PDUSessionResourceReleasedListRelRes,
                                                                                                       criticality := reject,
                                                                                                       value_ := { PDUSessionResourceReleasedListRelRes := p_pDUSessionResourceReleasedListRelRes
                                                                                                   }
                                                                                                  }
                                                                                    }
                                                                                   }
                                            }
                        } // End of template m_n2_PDUSessionResourceReleaseResponse

                    } // End of group Send

                    group Receive {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.4 PDU SESSION RESOURCE RELEASE RESPONSE
                         */
                        template (present) SuccessfulOutcome mw_n2_PDUSessionResourceReleaseResponse(
                                                                                                     template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                                     template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                                     template (present) PDUSessionResourceReleasedListRelRes p_pDUSessionResourceReleasedListRelRes := ?
                                                                                                     ) := {

                            procedureCode := id_PDUSessionResourceRelease,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceReleaseResponse := {
                                                                                   protocolIEs := {
                                                                                                   {
                                                                                                       id := id_AMF_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_RAN_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_PDUSessionResourceReleasedListRelRes,
                                                                                                       criticality := reject,
                                                                                                       value_ := { PDUSessionResourceReleasedListRelRes := p_pDUSessionResourceReleasedListRelRes
                                                                                                   }
                                                                                                  }
                                                                                    }
                                                                                   }
                                            }
                        } // End of template mw_n2_PDUSessionResourceReleaseResponse

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_RELEASE_RESPONSE

                group PDU_SESSION_RESOURCE_MODIFY_REQUEST {

                    group Send {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.5 PDU SESSION RESOURCE MODIFY REQUEST
                         */
                        template (value) InitiatingMessage m_n2_PDUSessionResourceModify(
                                                                                         in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                         in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                         in template (value) PDUSessionResourceModifyListModReq p_pDUSessionResourceModifyListModReq
                                                                                         ) := {
                            procedureCode := id_PDUSessionResourceModify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceModifyRequest := {
                                                                                   protocolIEs := {
                                                                                                   {
                                                                                                       id := id_AMF_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_RAN_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_PDUSessionResourceModifyListModReq,
                                                                                                       criticality := reject,
                                                                                                       value_ := { PDUSessionResourceModifyListModReq := p_pDUSessionResourceModifyListModReq }
                                                                                                   }
                                                                                                  }
                                                                                    }
                                            }
                        } // End of template m_n2_PDUSessionResourceModify

                    } // End of group Send

                    group Receive {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.5 PDU SESSION RESOURCE MODIFY REQUEST
                         */
                        template (present) InitiatingMessage mw_n2_PDUSessionResourceModify(
                                                                                            template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                            template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                            template (present) PDUSessionResourceModifyListModReq p_pDUSessionResourceModifyListModReq := ?
                                                                                            ) := {
                            procedureCode := id_PDUSessionResourceModify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceModifyRequest := {
                                                                                   protocolIEs := {
                                                                                                   {
                                                                                                       id := id_AMF_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_RAN_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_PDUSessionResourceModifyListModReq,
                                                                                                       criticality := reject,
                                                                                                       value_ := { PDUSessionResourceModifyListModReq := p_pDUSessionResourceModifyListModReq }
                                                                                                   }
                                                                                                  }
                                                                                    }
                                            }
                        } // End of template mw_n2_PDUSessionResourceModify

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_MODIFY_REQUEST

                group PDU_SESSION_RESOURCE_MODIFY_RESPONSE {

                    group Send {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.6 PDU SESSION RESOURCE MODIFY RESPONSE
                         */
                        template (value) SuccessfulOutcome m_n2_PDUSessionResourceModifyResponse(
                                                                                                  in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                                  in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                                  in template (value) PDUSessionResourceModifyListModRes p_pDUSessionResourceModifyListModRes
                                                                                                  ) := {

                            procedureCode := id_PDUSessionResourceModify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceModifyResponse := {
                                                                                   protocolIEs := {
                                                                                                   {
                                                                                                       id := id_AMF_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_RAN_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_PDUSessionResourceModifyListModReq,
                                                                                                       criticality := reject,
                                                                                                       value_ := { PDUSessionResourceModifyListModRes := p_pDUSessionResourceModifyListModRes
                                                                                                   }
                                                                                                  }
                                                                                    }
                                                                                   }
                                            }
                        } // End of template m_n2_PDUSessionResourceModifyResponse

                    } // End of group Send

                    group Receive {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.6 PDU SESSION RESOURCE MODIFY RESPONSE
                         */
                        template (present) SuccessfulOutcome mw_n2_PDUSessionResourceModifyResponse(
                                                                                                    template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                                    template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                                    template (present) PDUSessionResourceModifyListModRes p_pDUSessionResourceModifyListModRes := ?
                                                                                                    ) := {

                            procedureCode := id_PDUSessionResourceModify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceModifyResponse := {
                                                                                   protocolIEs := {
                                                                                                   {
                                                                                                       id := id_AMF_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_RAN_UE_NGAP_ID,
                                                                                                       criticality := reject,
                                                                                                       value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                   },
                                                                                                   {
                                                                                                       id := id_PDUSessionResourceModifyListModReq,
                                                                                                       criticality := reject,
                                                                                                       value_ := { PDUSessionResourceModifyListModRes := p_pDUSessionResourceModifyListModRes
                                                                                                   }
                                                                                                  }
                                                                                    }
                                                                                   }
                                            }
                        } // End of template mw_n2_PDUSessionResourceModifyResponse

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_MODIFY_RESPONSE

                group PDU_SESSION_RESOURCE_NOTIFY {

                    group Send {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.7 PDU SESSION RESOURCE NOTIFY
                         */
                        template (value) InitiatingMessage m_n2_PDUSessionResourceNotify(
                                                                                         in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                         in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                         in template (value) PDUSessionResourceNotifyList p_pDUSessionResourceNotifyList
                                                                                         ) := {

                            procedureCode := id_PDUSessionResourceNotify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceNotify := {
                                                                            protocolIEs := {
                                                                                            {
                                                                                                id := id_AMF_UE_NGAP_ID,
                                                                                                criticality := reject,
                                                                                                value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                            },
                                                                                            {
                                                                                                id := id_RAN_UE_NGAP_ID,
                                                                                                criticality := reject,
                                                                                                value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                            },
                                                                                            {
                                                                                                id := id_PDUSessionResourceNotifyList,
                                                                                                criticality := reject,
                                                                                                value_ := { PDUSessionResourceNotifyList := p_pDUSessionResourceNotifyList }
                                                                                            }
                                                                                           }
                                                                            }
                                            }
                        } // End of template m_n2_PDUSessionResourceNotify

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.7 PDU SESSION RESOURCE NOTIFY
                         */
                        template (present) InitiatingMessage mw_n2_PDUSessionResourceNotify(
                                                                                            template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                            template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                            template (present) PDUSessionResourceNotifyList p_pDUSessionResourceNotifyList := ?
                                                                                            ) := {

                            procedureCode := id_PDUSessionResourceNotify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceNotify := {
                                                                            protocolIEs := {
                                                                                            {
                                                                                                id := id_AMF_UE_NGAP_ID,
                                                                                                criticality := reject,
                                                                                                value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                            },
                                                                                            {
                                                                                                id := id_RAN_UE_NGAP_ID,
                                                                                                criticality := reject,
                                                                                                value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                            },
                                                                                            {
                                                                                                id := id_PDUSessionResourceNotifyList,
                                                                                                criticality := reject,
                                                                                                value_ := { PDUSessionResourceNotifyList := p_pDUSessionResourceNotifyList }
                                                                                            }
                                                                                           }
                                                                            }
                                            }
                        } // End of template mw_n2_PDUSessionResourceNotify

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_NOTIFY

                group PDU_SESSION_RESOURCE_MODIFY_INDICATION {

                    group Send {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.6 PDU SESSION RESOURCE MODIFY RESPONSE
                         */
                        template (value) InitiatingMessage m_n2_PDUSessionResourceModifyIndication(
                                                                                                  in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                                  in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                                  in template (value) PDUSessionResourceModifyListModInd p_pDUSessionResourceModifyListModInd
                                                                                                  ) := {

                            procedureCode := id_PDUSessionResourceModify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceModifyIndication := {
                                                                                     protocolIEs := {
                                                                                                     {
                                                                                                         id := id_AMF_UE_NGAP_ID,
                                                                                                         criticality := reject,
                                                                                                         value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                     },
                                                                                                     {
                                                                                                         id := id_RAN_UE_NGAP_ID,
                                                                                                         criticality := reject,
                                                                                                         value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                     },
                                                                                                     {
                                                                                                         id := id_PDUSessionResourceModifyListModReq,
                                                                                                         criticality := reject,
                                                                                                         value_ := { PDUSessionResourceModifyListModInd := p_pDUSessionResourceModifyListModInd
                                                                                                     }
                                                                                                    }
                                                                                      }
                                                                                    }
                                            }
                        } // End of template m_n2_PDUSessionResourceModifyIndication

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.6 PDU SESSION RESOURCE MODIFY RESPONSE
                         */
                        template (present) InitiatingMessage mw_n2_PDUSessionResourceModifyIndication(
                                                                                                      template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                                      template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                                      template (present) PDUSessionResourceModifyListModInd p_pDUSessionResourceModifyListModInd := ?
                                                                                                      ) := {

                            procedureCode := id_PDUSessionResourceModify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceModifyIndication := {
                                                                                     protocolIEs := {
                                                                                                     {
                                                                                                         id := id_AMF_UE_NGAP_ID,
                                                                                                         criticality := reject,
                                                                                                         value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                     },
                                                                                                     {
                                                                                                         id := id_RAN_UE_NGAP_ID,
                                                                                                         criticality := reject,
                                                                                                         value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                     },
                                                                                                     {
                                                                                                         id := id_PDUSessionResourceModifyListModReq,
                                                                                                         criticality := reject,
                                                                                                         value_ := { PDUSessionResourceModifyListModInd := p_pDUSessionResourceModifyListModInd
                                                                                                     }
                                                                                                    }
                                                                                      }
                                                                                    }
                                            }
                        } // End of template mw_n2_PDUSessionResourceModifyIndication

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_MODIFY_INDICATION

                group PDU_SESSION_RESOURCE_MODIFY_CONFIRM {

                    group Send {

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.9 PDU SESSION RESOURCE MODIFY CONFIRM
                         */
                        template (value) SuccessfulOutcome m_n2_PDUSessionResourceModifyConfirm(
                                                                                                in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                                in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                                in template (value) PDUSessionResourceModifyListModCfm p_pDUSessionResourceModifyListModCfm
                                                                                                ) := {

                            procedureCode := id_PDUSessionResourceModify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceModifyConfirm := {
                                                                                  protocolIEs := {
                                                                                                  {
                                                                                                      id := id_AMF_UE_NGAP_ID,
                                                                                                      criticality := reject,
                                                                                                      value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_RAN_UE_NGAP_ID,
                                                                                                      criticality := reject,
                                                                                                      value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_PDUSessionResourceModifyListModReq,
                                                                                                      criticality := reject,
                                                                                                      value_ := { PDUSessionResourceModifyListModCfm := p_pDUSessionResourceModifyListModCfm
                                                                                                  }
                                                                                                 }
                                                                                   }
                                                                                  }
                                            }
                        } // End of template m_n2_PDUSessionResourceModifyConfirm

                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.9 PDU SESSION RESOURCE MODIFY CONFIRM
                         */
                        template (present) SuccessfulOutcome mw_n2_PDUSessionResourceModifyConfirm(
                                                                                                   template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                                   template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                                   template (present) PDUSessionResourceModifyListModCfm p_pDUSessionResourceModifyListModCfm := ?
                                                                                                   ) := {

                            procedureCode := id_PDUSessionResourceModify,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceModifyConfirm := {
                                                                                  protocolIEs := {
                                                                                                  {
                                                                                                      id := id_AMF_UE_NGAP_ID,
                                                                                                      criticality := reject,
                                                                                                      value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_RAN_UE_NGAP_ID,
                                                                                                      criticality := reject,
                                                                                                      value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_PDUSessionResourceModifyListModReq,
                                                                                                      criticality := reject,
                                                                                                      value_ := { PDUSessionResourceModifyListModCfm := p_pDUSessionResourceModifyListModCfm
                                                                                                  }
                                                                                                 }
                                                                                   }
                                                                                  }
                                            }
                        } // End of template mw_n2_PDUSessionResourceModifyConfirm

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_MODIFY_CONFIRM

            } // End of group PDU_Session_Management_Messages
Iztok Juvancic's avatar
Iztok Juvancic committed

            /**
             * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2 UE Context Management Messages
             */
            group UE_Context_Management_Messages {

                group INITIAL_CONTEXT_SETUP_REQUEST {


                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.1 INITIAL CONTEXT SETUP REQUEST
                         */
                        template (value) InitiatingMessage m_n2_InitialContextSetupRequest(
                                                                                           in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                           in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                           in template (value) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq
                                                                                           ) := {
                            procedureCode := id_InitialContextSetup,
                            criticality   := reject,
                            value_        := {
                                              InitialContextSetupRequest := {
                                                                             protocolIEs := {
                                                                                             {
                                                                                                 id := id_AMF_UE_NGAP_ID,
                                                                                                 criticality := reject,
                                                                                                 value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                             },
                                                                                             {
                                                                                                 id := id_RAN_UE_NGAP_ID,
                                                                                                 criticality := reject,
                                                                                                 value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                             },
                                                                                             {
                                                                                                 id := id_PDUSessionResourceSetupListCxtReq,
                                                                                                 criticality := reject,
                                                                                                 value_ := { PDUSessionResourceSetupListCxtReq := p_pDUSessionResourceSetupListCxtReq }
                                                                                             }
                                                                                            }
                                                                            }
                                            }
                        } // End of template m_n2_InitialContextSetupRequest

                    } // End of group Send


                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.1 INITIAL CONTEXT SETUP REQUEST
                         */
                        template (present) InitiatingMessage mw_n2_InitialContextSetupRequest(
                                                                                              template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                              template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                              template (present) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq := ?
                                                                                              ) := {
                            procedureCode := id_InitialContextSetup,
                            criticality   := reject,
                            value_        := {
                                              InitialContextSetupRequest := {
                                                                             protocolIEs := {
                                                                                             {
                                                                                                 id := id_AMF_UE_NGAP_ID,
                                                                                                 criticality := reject,
                                                                                                 value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                             },
                                                                                             {
                                                                                                 id := id_RAN_UE_NGAP_ID,
                                                                                                 criticality := reject,
                                                                                                 value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                             },
                                                                                             {
                                                                                                 id := id_PDUSessionResourceSetupListCxtReq,
                                                                                                 criticality := reject,
                                                                                                 value_ := { PDUSessionResourceSetupListCxtReq := p_pDUSessionResourceSetupListCxtReq }
                                                                                             }
                                                                                            }
                                                                            }
                                            }
                        } // End of template mw_n2_InitialContextSetupRequest

                    } // End of group Receive

                } // End of group INITIAL_CONTEXT_SETUP_REQUEST

                group INITIAL_CONTEXT_SETUP_RESPONSE {


                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.2 INITIAL CONTEXT SETUP RESPONSE
                         */
                        template (value) SuccessfulOutcome m_n2_InitialContextSetupResponse(
                                                                                            in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                            in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                            in template (value) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSURes
                                                                                            ) := {
                            procedureCode := id_InitialContextSetup,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceSetupResponse := {
                                                                                  protocolIEs := {
                                                                                                  {
                                                                                                      id := id_AMF_UE_NGAP_ID,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_RAN_UE_NGAP_ID,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_PDUSessionResourceSetupListSURes,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSURes }
                                                                                                  }
                                                                                                 }
                                                                                 }
                                             }
                         } // End of template m_n2_InitialContextSetupResponse

                    } // End of group Send


                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.2 INITIAL CONTEXT SETUP RESPONSE
                         */
                        template (present) SuccessfulOutcome mw_n2_InitialContextSetupResponse(
                                                                                               template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                               template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                               template (present) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSURes := ?
                                                                                               ) := {
                            procedureCode := id_InitialContextSetup,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceSetupResponse := {
                                                                                  protocolIEs := {
                                                                                                  {
                                                                                                      id := id_AMF_UE_NGAP_ID,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_RAN_UE_NGAP_ID,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_PDUSessionResourceSetupListSURes,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSURes }
                                                                                                  }
                                                                                                 }
                                                                                 }
                                             }
                         } // End of template mw_n2_PDUInitialContextSetupResponse

                    } // End of group Receive

                } // End of group INITIAL_CONTEXT_SETUP_RESPONSE

                group INITIAL_CONTEXT_SETUP_FAILURE {


                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.3 INITIAL CONTEXT SETUP FAILURE
                         */
                        template (value) UnsuccessfulOutcome m_n2_InitialContextSetupFailure(
                                                                                             in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                                             in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                                             in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_INITIAL_SETUP_FAILURE),