LibNGAP_Templates.ttcn 1.28 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 {

            group 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_pduSessResSetL
                                                                                               ) := {
                            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_pduSessResSetL}
                                                                                         }
                                                                                 }
                                                                              }
                         } // 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_pduSessResSetL := ?
                                                                                                  ) := {
                            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_pduSessResSetL}
                                                                    }
                                                                    }
                                              }
                                            }
                         } // 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_RAN_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_pduSessResSetL := ?
                                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_pduSessResSetL}
                                                                                                      }
                                                                                      }
                                                  }
                                                }
                         } // End of template mw_n2_PDUSessionResourceSetupResponse
Yann Garcia's avatar
Yann Garcia committed

                    } // End of group Receive

                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_RAN_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_RAN_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_RAN_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_RAN_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

                //9.2.1.7
                group PDU_SESSION_RESOURCE_NOTIFY {

                    group Send {

                    } // End of group Send

                    group Receive {

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_NOTIFY

                //9.2.1.8
                group PDU_SESSION_RESOURCE_MODIFY_INDICATION {

                    group Send {

                    } // End of group Send

                    group Receive {

                    } // End of group Receive

                } // End of group PDU_SESSION_RESOURCE_MODIFY_INDICATION

                //9.2.1.9
                group PDU_SESSION_RESOURCE_MODIFY_CONFIRM {

                    group Send {

                    } // End of group Send

                    group Receive {

                    } // 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

            //9.2.2
            group UE_Context_Management_Messages{
                //9.2.2.1
                group INITIAL_CONTEXT_SETUP_REQUEST{
                    }
                }
                //9.2.2.2
                group INITIAL_CONTEXT_SETUP_RESPONSE{
                    }
                }
                //9.2.2.3
                group INITIAL_CONTEXT_SETUP_FAILURE{
                    }
                }
                //9.2.2.4
                group UE_CONTEXT_RELEASE_REQUEST{
                    }
                }
                //9.2.2.5
                group UE_CONTEXT_RELEASE_COMMAND{
                    }
                }
                //9.2.2.6
                group UE_CONTEXT_RELEASE_COMPLETE{
                    }
                }
                //9.2.2.7
                group UE_CONTEXT_MODIFICATION_REQUEST{
                    }
                }
                //9.2.2.8
                group UE_CONTEXT_MODIFICATION_RESPONSE{
                    }
                }
                //9.2.2.9
                group UE_CONTEXT_MODIFICATION_FAILURE{
                    }
                }
                //9.2.2.10
                group RRC_INACTIVE_TRANSITION_REPORT{
                    }
                }
                //9.2.2.11
                group CONNECTION_ESTABLISHMENT_INDICATION{
                    }
                }
                //9.2.2.12
                group AMF_CP_RELOCATION_INDICATION{
                    }
                }
                //9.2.2.13
                group RAN_CP_RELOCATION_INDICATION{
                    }
                }
                //9.2.2.14
                group RETRIEVE_UE_INFORMATION{
                    }
                }
                //9.2.2.15
                group UE_INFORMATION_TRANSFER{
                    }
                }
                //9.2.2.16
                group UE_CONTEXT_SUSPEND_REQUEST{
                    }
                }
                //9.2.2.17
                group UE_CONTEXT_SUSPEND_RESPONSE{
                    }
                }
                //9.2.2.18
                group UE_CONTEXT_SUSPEND_FAILURE{
                    }
                }
                //9.2.2.19
                group UE_CONTEXT_RESUME_REQUEST{
                    }
                }
                //9.2.2.20
                group UE_CONTEXT_RESUME_RESPONSE{
                    }
                }
                //9.2.2.21
                group UE_CONTEXT_RESUME_FAILURE{
            } // End of group UE_Context_Management_Messages_
Iztok Juvancic's avatar
Iztok Juvancic committed

            //9.2.3
            group UE_Mobility_Management_Messages{
                //9.2.3.1
                group HANDOVER_REQUIRED{
                    }
                }
                //9.2.3.2
                group HANDOVER_COMMAND{
                    }
                }
                //9.2.3.3
                group HANDOVER_PREPARATION_FAILURE{
                    }
                }
                //9.2.3.4
                group HANDOVER_REQUEST{
                    }
                }
                //9.2.3.5
                group HANDOVER_REQUEST_ACKNOWLEDGE{
                    }
                }
                //9.2.3.6
                group HANDOVER_FAILURE{
                    }
                }
                //9.2.3.7
                group HANDOVER_NOTIFY{
                    }
                }
            //9.2.3.8
            group PATH_SWITCH_REQUEST{
                }
            }
            //9.2.3.9
            group PATH_SWITCH_REQUEST_ACKNOWLEDGE{
                }
            }
            //9.2.3.10
            group PATH_SWITCH_REQUEST_FAILURE{
                }
            }
            //9.2.3.11
            group HANDOVER_CANCEL{
                }
            }
            //9.2.3.12
            group HANDOVER_CANCEL_ACKNOWLEDGE{
                }
            }
            //9.2.3.13
            group UPLINK_RAN_STATUS_TRANSFER{
                }
            }
            //9.2.3.14
            group DOWNLINK_RAN_STATUS_TRANSFER{
                }
            }
            //9.2.3.15
            group HANDOVER_SUCCESS{
                }
            }
            //9.2.3.16
            group UPLINK_RAN_EARLY_STATUS_TRANSFER{
                }
            }
            //9.2.3.17
            group DOWNLINK_RAN_EARLY_STATUS_TRANSFER{
        } // End of group UE_Mobility_Management_Messages

        //9.2.4
        group Paging_Messages{
            //9.2.4.1
            group PAGING{
        } // End of group Paging_Messages

        group NAS_Transport_Messages{
            group INITIAL_UE_MESSAGE{
Yann Garcia's avatar
Yann Garcia committed

                group Send {

                    template (value) InitiatingMessage m_n2_initialUeMessage(
                                                                             in template (value) RAN_UE_NGAP_ID p_RANUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                             in template (value) NAS_PDU p_nasPdu,
                                                                             in template (value) UserLocationInformation p_UeLocInf,
                                                                             in template (value) RRCEstablishmentCause p_rrcEstCause
                                                                             ) := {
                        procedureCode := id_InitialUEMessage,
                        criticality   := reject,
                        value_        := {
                            InitialUEMessage := {
                                      protocolIEs := {
                                        {
                                          id := id_RAN_UE_NGAP_ID,
                                          criticality := reject,
                                          value_ := {RAN_UE_NGAP_ID:=p_RANUeNgapID}
                                          //presence := NGAP_CommonDataTypes.mandatory
                                        }, 
                                        {
                                          id := id_NAS_PDU,
                                          criticality := reject,
                                          value_ := {NAS_PDU:=p_nasPdu}
                                          //presence := NGAP_CommonDataTypes.mandatory
                                        }, 
                                        {
                                          id := id_UserLocationInformation,
                                          criticality := reject,
                                          value_ := {UserLocationInformation:=p_UeLocInf}
                                          //presence := NGAP_CommonDataTypes.mandatory
                                        }, 
                                        {
                                          id := id_RRCEstablishmentCause,
                                          criticality := ignore,
                                          value_ := {RRCEstablishmentCause:=p_rrcEstCause}
                                          //presence := NGAP_CommonDataTypes.mandatory
                                        }//, 
                                        /*{
                                          id := NGAP_Constants.id_FiveG_S_TMSI,
                                          criticality := NGAP_CommonDataTypes.reject,
                                          Value := "NGAP_IEs.FiveG_S_TMSI",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_AMFSetID,
                                          criticality := NGAP_CommonDataTypes.ignore,
                                          Value := "NGAP_IEs.AMFSetID",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_UEContextRequest,
                                          criticality := NGAP_CommonDataTypes.ignore,
                                          Value := "NGAP_IEs.UEContextRequest",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_AllowedNSSAI,
                                          criticality := NGAP_CommonDataTypes.reject,
                                          Value := "NGAP_IEs.AllowedNSSAI",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_SourceToTarget_AMFInformationReroute,
                                          criticality := NGAP_CommonDataTypes.ignore,
                                          Value := "NGAP_IEs.SourceToTarget_AMFInformationReroute",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_SelectedPLMNIdentity,
                                          criticality := NGAP_CommonDataTypes.ignore,
                                          Value := "NGAP_IEs.PLMNIdentity",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_IABNodeIndication,
                                          criticality := NGAP_CommonDataTypes.reject,
                                          Value := "NGAP_IEs.IABNodeIndication",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_CEmodeBSupport_Indicator,
                                          criticality := NGAP_CommonDataTypes.reject,
                                          Value := "NGAP_IEs.CEmodeBSupport_Indicator",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_LTEM_Indication,
                                          criticality := NGAP_CommonDataTypes.ignore,
                                          Value := "NGAP_IEs.LTEM_Indication",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_EDT_Session,