LibNGAP_Templates.ttcn 758 KB
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  {
Iztok Juvancic's avatar
Iztok Juvancic committed

Iztok Juvancic's avatar
Iztok Juvancic committed
//            /**
//             *  @desc  Send  template  for  NGAP  PDU  with  InitiatingMessage  payload
//             *  @param  p_procedureCode      Procedure  code
//             *  @param  p_value                      Message  value  according  to  the  Procedure  code
//             *  @see  ETSI  TS
//             */
//            template  (value) NGAP_PDU m_initiatingMessage(
//                in  ProcedureCode  p_procedureCode,
//                in  NGAP_CommonDataTypes.Criticality  p_criticality:=reject
//                //in  anytype  p_value
Yann Garcia's avatar
Yann Garcia committed
//            ) := {
Iztok Juvancic's avatar
Iztok Juvancic committed
//                initiatingMessage  :=  {
//                    procedureCode  :=  p_procedureCode,
//                    criticality  :=  p_criticality,
//                    value_  :=  omit//p_value
//                }
//            } // End of template m_initiatingMessage
Yann Garcia's avatar
Yann Garcia committed
//            } // End of template m_initiatingMessage
Iztok Juvancic's avatar
Iztok Juvancic committed
//            
//
//TODO: check value_ not allowed anytype                        
//            /**
//             *  @desc  Send  template  for  NGAP  PDU  with  SuccessfulOutcome  payload
//             *  @param  p_procedureCode      Procedure  code
//             *  @param  p_value                      Message  value  according  to  the  Procedure  code
//             *  @see  ETSI  TS
//             */
//            template  (value)  NGAP_PDU  m_successfulOutcome(
//                in  ProcedureCode  p_procedureCode,
//                in  NGAP_CommonDataTypes.Criticality  p_criticality:=reject
//                //in  anytype  p_value
Yann Garcia's avatar
Yann Garcia committed
//            ) := {
//                successfulOutcome  :=  {
//                    procedureCode  :=  p_procedureCode,
//                    criticality  :=  p_criticality,
//                    value_  :=  ?//omit//p_value
//                }
//            } // End of template m_successfulOutcome
Yann Garcia's avatar
Yann Garcia committed
//            } // End of template m_successfulOutcome
//              
//            /**
//             *  @desc  Send  template  for  NGAP  PDU  with  unsuccessfulOutcome  payload
//             *  @param  p_procedureCode      Procedure  code
//             *  @param  p_value                      Message  value  according  to  the  Procedure  code
//             *  @see  ETSI  TS
//             */
//            template  (value)  NGAP_PDU  m_unsuccessfulOutcome(
//                in  ProcedureCode  p_procedureCode,
//                in  NGAP_CommonDataTypes.Criticality  p_criticality:=reject
//                //in  anytype  p_value
Yann Garcia's avatar
Yann Garcia committed
//            ) := {
//                unsuccessfulOutcome  :=  {
//                    procedureCode  :=  p_procedureCode,
//                    criticality  :=  p_criticality,
//                    value_  :=  ?//omit//p_value
//                }
Yann Garcia's avatar
Yann Garcia committed
//            } // End of template m_unsuccessfulOutcome
//            } // End of template m_unsuccessfulOutcome

            group Send {

                template (value) NGAP_PDU m_ngap_initMsg(
                                                         in template (value) InitiatingMessage p_msg
                                                         ) := {
                    initiatingMessage := p_msg
                } // End of template m_ngap_initMsg

                template (value) NGAP_PDU m_ngap_succMsg(
                                                         in template (value) SuccessfulOutcome  p_msg
                                                         ) := {
                    successfulOutcome := p_msg
                } // End of template m_ngap_succMsg

                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

                template (present) NGAP_PDU mw_ngap_initMsg(
                                                            template (present) InitiatingMessage p_msg := ?
                                                            ) := {
                    initiatingMessage := p_msg
                } // End of template m_ngap_initMsg

                template (present) NGAP_PDU mw_ngap_succMsg(
                                                            template (present) SuccessfulOutcome p_msg := ?
                                                            ) := {
                    successfulOutcome := p_msg
                } // End of template m_ngap_succMsg

                template (present) NGAP_PDU mw_ngap_unsuccMsg(
                                                              template (present) UnsuccessfulOutcome p_msg := ?
                ) := {
                    unsuccessfulOutcome := p_msg
                } // End of template m_ngap_unsuccMsg
Yann Garcia's avatar
Yann Garcia committed
            } // End of group Receive

        } // End of group  g_NGAP_PDU

        //9.2
        group Message_Functional_Definition_and_Content{
            //9.2.1
            group PDU_Session_Management_Messages{
                //9.2.1.1
                group PDU_SESSION_RESOURCE_SETUP_REQUEST{
Yann Garcia's avatar
Yann Garcia committed
                    group Send {
Iztok Juvancic's avatar
Iztok Juvancic committed

                        template (value) InitiatingMessage m_n2_PDUSessionResourceSetupRequest(
                                                                                               in template (value) AMF_UE_NGAP_ID p_amfUeNgapID,
                                                                                               in template (value) RAN_UE_NGAP_ID p_ranUeNgapID,
                                                                                               in template (value) PDUSessionResourceSetupListSUReq p_pduSessResSetL
                                                                                               ) := {
                            procedureCode := id_PDUSessionResourceSetup,
                            criticality   := reject,
                            value_        := {
                                    PDUSessionResourceSetupRequest := {
                                            protocolIEs := {
                                                    {
Yann Garcia's avatar
Yann Garcia committed
                                                        id := id_AMF_UE_NGAP_ID,
                                                        criticality := reject,
                                                        value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
Yann Garcia's avatar
Yann Garcia committed
                                                        id := id_RAN_UE_NGAP_ID,
                                                        criticality := reject,
                                                        value_ := {  RAN_UE_NGAP_ID := p_ranUeNgapID }
Yann Garcia's avatar
Yann Garcia committed
                                                        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 Send
Iztok Juvancic's avatar
Iztok Juvancic committed

                        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 := {
                                                    {
Yann Garcia's avatar
Yann Garcia committed
                                                        id := id_AMF_UE_NGAP_ID,
                                                        criticality := reject,
                                                        value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
Yann Garcia's avatar
Yann Garcia committed
                                                        id := id_RAN_UE_NGAP_ID,
                                                        criticality := reject,
                                                        value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
Yann Garcia's avatar
Yann Garcia committed
                                                        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
                }
                //9.2.1.2
                group PDU_SESSION_RESOURCE_SETUP_RESPONSE{
Yann Garcia's avatar
Yann Garcia committed

                    group Send {
Iztok Juvancic's avatar
Iztok Juvancic committed

                        template (value) SuccessfulOutcome m_n2_PDUSessionResourceSetupResponse(
                                                                                                in template (value) AMF_UE_NGAP_ID p_amfUeNgapID,
                                                                                                in template (value) RAN_UE_NGAP_ID p_ranUeNgapID,
                                                                                                in template (value) PDUSessionResourceSetupListSURes p_pduSessResSetL
                                                                                                ) := {
                            procedureCode := id_PDUSessionResourceSetup,
                            criticality   := reject,
                            value_        := {
                                    PDUSessionResourceSetupResponse := {
                                            protocolIEs := {
                                                    {
Yann Garcia's avatar
Yann Garcia committed
                                                        id := id_AMF_UE_NGAP_ID,
                                                        criticality := reject,
                                                        value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
Yann Garcia's avatar
Yann Garcia committed
                                                        id := id_RAN_UE_NGAP_ID,
                                                        criticality := reject,
                                                        value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
Yann Garcia's avatar
Yann Garcia committed
                                                        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 Send

                    group Receive {
Iztok Juvancic's avatar
Iztok Juvancic committed

                        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
                }
                //9.2.1.3
                group PDU_SESSION_RESOURCE_RELEASE_COMMAND{
                    }
                }
                //9.2.1.4
                group PDU_SESSION_RESOURCE_RELEASE_RESPONSE{
                    }
                }
                //9.2.1.5
                group PDU_SESSION_RESOURCE_MODIFY_REQUEST{
                    }
                }
                //9.2.1.6
                group PDU_SESSION_RESOURCE_MODIFY_RESPONSE{
                    }
                }
                //9.2.1.7
                group PDU_SESSION_RESOURCE_NOTIFY{
                    }
                }
                //9.2.1.8
                group PDU_SESSION_RESOURCE_MODIFY_INDICATION{
                    }
                }
                //9.2.1.9
                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

        //9.2.5
        group NAS_Transport_Messages{
            //9.2.5.1
            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,
                                                                            in template (value) NAS_PDU p_nasPdu,
                                                                            in template (value) UserLocationInformation p_UeLocInf,
                                                                            in template (value) RRCEstablishmentCause p_rrcEstCause
Yann Garcia's avatar
Yann Garcia committed
                                                                            ) := {
                        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,
                                          criticality := NGAP_CommonDataTypes.ignore,
                                          Value := "NGAP_IEs.EDT_Session",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_AuthenticatedIndication,
                                          criticality := NGAP_CommonDataTypes.ignore,
                                          Value := "NGAP_IEs.AuthenticatedIndication",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_NPN_AccessInformation,
                                          criticality := NGAP_CommonDataTypes.reject,
                                          Value := "NGAP_IEs.NPN_AccessInformation",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }, 
                                        {
                                          id := NGAP_Constants.id_RedCapIndication,
                                          criticality := NGAP_CommonDataTypes.ignore,
                                          Value := "NGAP_IEs.RedCapIndication",
                                          presence := NGAP_CommonDataTypes.optional_
                                        }*/
                                       }
                               }
                        }
                    } // End of template  m_n2_initialUeMessage
Yann Garcia's avatar
Yann Garcia committed
                } // End of group Send

            }
            //9.2.5.2
            group DOWNLINK_NAS_TRANSPORT{
                }
            }
            //9.2.5.3
            group UPLINK_NAS_TRANSPORT{
                }
            }
            //9.2.5.4
            group NAS_NON_DELIVERY_INDICATION{
                }
            }
            //9.2.5.5
            group REROUTE_NAS_REQUEST{
        } // End of group NAS_Transport_Messages
        //9.2.6
        group Interface_Management_Messages{
            //9.2.6.1
            group NG_SETUP_REQUEST{
Iztok Juvancic's avatar
Iztok Juvancic committed

                    template (value) InitiatingMessage m_n2_NGSetupRequest(
                                                                           in template (value) GlobalRANNodeID p_globalRANNodeID,
                                                                           in template (value) SupportedTAList p_supportedTAs,
                                                                           in template (value) PagingDRX p_pagingDRX
                                                                           ) := {
                        procedureCode := id_NGSetup,
                        criticality   := reject,
                        value_        := {
                            NGSetupRequest := {
                                        protocolIEs := {
                                            {
                                                id := id_GlobalRANNodeID,
                                                criticality := reject,
                                                value_ := { GlobalRANNodeID := p_globalRANNodeID }
                                            },
                                            {
                                                id := id_SupportedTAList,
                                                criticality := reject,
                                                value_ := { SupportedTAList := p_supportedTAs }
                                            },
                                            {
                                                id := id_DefaultPagingDRX,
                                                criticality := ignore,
                                                value_ := { PagingDRX := p_pagingDRX
                                            }
                                        }
                                }
                        }
                    } // End of template m_n2_NGSetupRequest
                }
Iztok Juvancic's avatar
Iztok Juvancic committed

                }
            }
            //9.2.6.2
            group NG_SETUP_RESPONSE{
Iztok Juvancic's avatar
Iztok Juvancic committed
                    
                    template (present) SuccessfulOutcome mw_n2_NGSetupResponse(
                                                    in template (present) AMFName p_amfName := ?,
                                                    in template (present) ServedGUAMIList p_servedGUAMIList := ?,
                                                    in template (present) RelativeAMFCapacity p_relativeAmfCap:= ?,
                                                    in template (present) PLMNSupportList p_plmnSuppList := ?
Yann Garcia's avatar
Yann Garcia committed
                    ) := {
                           procedureCode := id_NGSetup,
                           criticality   := ?,
                           value_        := {
                              NGSetupResponse := {
                                         protocolIEs := {
                                                {
                                                  id := id_AMFName,
                                                  criticality := reject,
                                                   value_ := { AMFName := p_amfName }
                                                },
                                                {
                                                  id := id_ServedGUAMIList,
                                                  criticality := reject,
                                                  value_ := { ServedGUAMIList := p_servedGUAMIList }
                    
                                                },
                                                {
                                                  id := id_RelativeAMFCapacity,
                                                  criticality := ignore,
                                                  value_ := { RelativeAMFCapacity := p_relativeAmfCap }
                                                },
Iztok Juvancic's avatar
Iztok Juvancic committed
                                                {
                                                  id := id_PLMNSupportList,
                                                  criticality := ignore,
                                                  value_ := { PLMNSupportList := p_plmnSuppList }
                                                }
Yann Garcia's avatar
Yann Garcia committed
                                          }
                                  }
                           }
                    }//end of template mw_n2_NGSetupResponse
Iztok Juvancic's avatar
Iztok Juvancic committed
                    
                }
            }
            //9.2.6.3
            group NG_SETUP_FAILURE{
Iztok Juvancic's avatar
Iztok Juvancic committed
                    
                    template (present) UnsuccessfulOutcome mw_n2_NGSetupFailure(
                                                    in template (present) Cause p_cause := ?
                    ) := {
                           procedureCode := id_NGSetup,
Iztok Juvancic's avatar
Iztok Juvancic committed
                           criticality   := ?,
Iztok Juvancic's avatar
Iztok Juvancic committed
                           value_        := {
                              NGSetupFailure := {
                                         protocolIEs := {
                                                {
                                                  id := id_Cause,
Iztok Juvancic's avatar
Iztok Juvancic committed
                                                  criticality := ?,
Iztok Juvancic's avatar
Iztok Juvancic committed
                                                   value_ := { Cause := p_cause }
                                                }
                                          }
                                  }
                           }
                    }//end of template mw_n2_NGSetupFailure
                }
            }
            //9.2.6.4
            group RAN_CONFIGURATION_UPDATE{
                }
            }
            //9.2.6.5
            group RAN_CONFIGURATION_UPDATE_ACKNOWLEDGE{
                }
            }
            //9.2.6.6
            group RAN_CONFIGURATION_UPDATE_FAILURE{
                }
            }
            //9.2.6.7
            group AMF_CONFIGURATION_UPDATE{
                }
            }
            //9.2.6.8
            group AMF_CONFIGURATION_UPDATE_ACKNOWLEDGE{
                }
            }
            //9.2.6.9
            group AMF_CONFIGURATION_UPDATE_FAILURE{
                }
            }
            //9.2.6.10
            group AMF_STATUS_INDICATION{
                }
            }
            //9.2.6.11
            group NG_RESET{
                }
            }
            //9.2.6.12
            group NG_RESET_ACKNOWLEDGE{
                }
            }
            //9.2.6.13
            group ERROR_INDICATION{
                }
            }
            //9.2.6.14
            group OVERLOAD_START{
                }
            }
            //9.2.6.15
            group OVERLOAD_STOP{
        } // End of group Interface_Management_Messages

        //9.2.7
        group Configuration_Transfer_Messages{
            //9.2.7.1
            group UPLINK_RAN_CONFIGURATION_TRANSFER{
                }
            }
            //9.2.7.2
            group DOWNLINK_RAN_CONFIGURATION_TRANSFER{
        } // End of group Configuration_Transfer_Messages

        //9.2.8
        group Warning_Message_Transmission_Messages{
            //9.2.8.1
            group WRITE_REPLACE_WARNING_REQUEST{