NGAP_TCFunctions.ttcn 73.3 KB
Newer Older
        group UE_Radio_Capability_Management_Procedures{
            //8.14.1
            group UE_Radio_Capability_Info_Indication{
            } // End of group UE_Radio_Capability_Info_Indication
            //8.14.2
            group UE_Radio_Capability_Check{
            } // End of group UE_Radio_Capability_Check
            //8.14.3
            group UE_Radio_Capability_ID_Mapping{
            } // End of group UE_Radio_Capability_ID_Mapping
        } // End of group UE_Radio_Capability_Management_Procedures
        //8.15
        group Data_Usage_Reporting_Procedures{
            //8.15.1
            group Secondary_RAT_Data_Usage_Report{
            } // End of group Secondary_RAT_Data_Usage_Report
        } // End of group Data_Usage_Reporting_Procedures
        //8.16
        group RIM_Information_Transfer_Procedures{
            //8.16.1
            group Uplink_RIM_Information_Transfer{
            } // End of group Uplink_RIM_Information_Transfer
            //8.16.2
            group Downlink_RIM_Information_Transfer{
            } // End of group Downlink_RIM_Information_Transfer
        } // End of group RIM_Information_Transfer_Procedures
    } // End of group gNB_Role 

    group aMF_Role{
        //8.2
        group PDU_Session_Management_Procedures{
            //8.2.1
            group PDU_Session_Resource_Setup{

              /**
               * @desc Testcase function for TC_NGAP_aMF_PDU_01
               */
               function f_TC_NGAP_AMF_PDU_01() runs on gNBNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   
                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   action("Trigger PDU session resource SETUP!");

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_PDUSessionResourceSetupRequest(
                          PX_AMF_UE_NGAP_ID,
                          PX_RAN_UE_NGAP_ID,
                          {
                            mw_pDUSessionResourceSetupItemSUReq(
                              PX_PDU_SESSION_ID,
                              mw_s_NSSAI(
                                PX_SST,
                                -,//in template (omit) SD p_sD := omit,
                                -//in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit
                              ),
                              ?,//mw_pDUSessionResourceSetupRequestTransfer(?),OCTETSTRING  
                              -,//in template (omit) NAS_PDU p_pDUSessionNAS_PDU := omit,
                              -//in template (omit) PDUSessionResourceSetupItemSUReq.iE_Extensions p_iE_Extensions := omit
                            )
                          }//in template (value) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq
                       )
                     )
                   );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_AMF();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_AMF_PDU_01

            } // End of group PDU_Session_Resource_Setup
            //8.2.2
            group PDU_Session_Resource_Release{

              /**
               * @desc Testcase function for TC_NGAP_AMF_PDU_02
               */
               function f_TC_NGAP_AMF_PDU_02() runs on gNBNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   f_NGAP_gnb_UE_PDU_ResourceSetup();

                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   action("Trigger PDU session resource RELEASE!");

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_PDUSessionResourceReleaseCommand(
                          PX_AMF_UE_NGAP_ID,
                          PX_RAN_UE_NGAP_ID,
                          {
                            mw_pDUSessionResourceToReleaseItemRelCmd(
                              PX_PDU_SESSION_ID,
                              ?,//mw_pDUSessionResourceReleaseCommandTransfer(?,-),OCTETSTRING  
                              -//in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit
                            )
                          }
                       )
                     )
                   );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_AMF();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_AMF_PDU_02

            } // End of group PDU_Session_Resource_Release
            //8.2.3
            group PDU_Session_Resource_Modify{

              /**
               * @desc Testcase function for TC_NGAP_AMF_PDU_03
               */
               function f_TC_NGAP_AMF_PDU_03() runs on gNBNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   f_NGAP_gnb_UE_PDU_ResourceSetup();

                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   action("Trigger PDU session resource MODIFY!");

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_PDUSessionResourceModify(
                          PX_AMF_UE_NGAP_ID,
                          PX_RAN_UE_NGAP_ID,
                          {
                            mw_pDUSessionResourceModifyItemModReq(
                              PX_PDU_SESSION_ID,
                              ?,//mw_pDUSessionResourceModifyRequestTransfer(*),OCTETSTRING
                              -,//template NAS_PDU p_nAS_PDU := *,
                              -//template PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := *
                             )
                          }
                       )
                     )
                   );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_AMF();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_AMF_PDU_03

            } // End of group PDU_Session_Resource_Modify
            //8.2.4
            group PDU_Session_Resource_Notify{
            } // End of group PDU_Session_Resource_Notify
            //8.2.5
            group PDU_Session_Resource_Modify_Indication{

              /**
               * @desc Testcase function for TC_NGAP_AMF_PDU_04
               */
               function f_TC_NGAP_AMF_PDU_04() runs on gNBNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   f_NGAP_gnb_UE_PDU_ResourceSetup();

                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   f_send_NGAP_PDU(
                     m_ngap_initMsg(
                       m_n2_PDUSessionResourceModifyIndication(
                         PX_AMF_UE_NGAP_ID,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                         PX_RAN_UE_NGAP_ID,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                         {  
                            m_pDUSessionResourceModifyItemModInd(
                                PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?,
                                bit2oct(encvalue(
                                  m_pDUSessionResourceModifyIndicationTransfer(
                                    m_qosFlowPerTNLInformation(
                                      m_uPTransportLayerInformation_gTPTunnel(
                                        m_gTPTunnel(
                                          PX_TRANSPORT_LAYER_ADDRESS,
                                          PX_GTP_TEID,
                                          omit
                                        )
                                      ),
                                      {
                                        m_associatedQosFlowItem(
                                          PX_QOS_FLOW_IDENTIFIER,
                                          omit,
                                          omit
                                        )
                                      },//in template (value) AssociatedQosFlowList p_associatedQosFlowList,                
                                      omit//in template (omit) QosFlowPerTNLInformation.iE_Extensions p_iE_Extensions := omit
                                    ),//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?,
                                    omit,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *,                
                                    omit//template PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := *
                                ))),
                                omit//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := *
                              ) 
                         }
                        )
                     )
                   );

                  //  f_recv_NGAP_PDU(
                  //    mw_ngap_succMsg(
                  //     ? //FIXME missing template mw_n2_PDUSessionResourceFailedToModifyListModCfm
                  //     //  mw_n2_PDUSessionResourceModifyConfirm(
                  //     //     PX_AMF_UE_NGAP_ID,
                  //     //     PX_RAN_UE_NGAP_ID,
                  //     //     {
                  //     //       mw_pDUSessionResourceModifyItemModCfm(
                  //     //         PX_PDU_SESSION_ID,
                  //     //         ?,//mw_pDUSessionResourceModifyConfirmTransfer(
                  //     //           //    ?,//template (present) QosFlowModifyConfirmList p_qosFlowModifyConfirmList := ?,
                  //     //           //    ?,//template (present) UPTransportLayerInformation p_uLNGU_UP_TNLInformation := ?,
                  //     //           //    -,//template UPTransportLayerInformationPairList p_additionalNG_UUPTNLInformation := *,
                  //     //           //    -,//template QosFlowListWithCause p_qosFlowFailedToModifyList := *,
                  //     //           //    -//template PDUSessionResourceModifyConfirmTransfer.iE_Extensions p_iE_Extensions := *
                  //     //           //  ), OCTETSTRING
                  //     //         -//template PDUSessionResourceModifyItemModCfm.iE_Extensions p_iE_Extensions := *
                  //     //       ) 
                  //     //     }
                  //     //  )
                  //    )
                  //  );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_AMF();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_AMF_PDU_04

              /**
               * @desc Testcase function for TC_NGAP_AMF_PDU_05
               */
               function f_TC_NGAP_AMF_PDU_05() runs on gNBNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   f_NGAP_gnb_UE_PDU_ResourceSetup();

                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   f_send_NGAP_PDU(
                     m_ngap_initMsg(
                       m_n2_PDUSessionResourceModifyIndication(
                         PX_AMF_UE_NGAP_ID,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                         PX_RAN_UE_NGAP_ID,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                         {  
                            ( 
                              m_pDUSessionResourceModifyItemModInd(
                                PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?,
                                bit2oct(encvalue(
                                  m_pDUSessionResourceModifyIndicationTransfer(
                                    m_qosFlowPerTNLInformation(
                                      m_uPTransportLayerInformation_gTPTunnel(
                                        m_gTPTunnel(
                                          PX_TRANSPORT_LAYER_ADDRESS,
                                          PX_GTP_TEID,
                                          omit
                                        )
                                      ),
                                      {
                                        m_associatedQosFlowItem(
                                          PX_QOS_FLOW_IDENTIFIER,
                                          omit,
                                          omit
                                        )
                                      },//in template (value) AssociatedQosFlowList p_associatedQosFlowList,                
                                      omit//in template (omit) QosFlowPerTNLInformation.iE_Extensions p_iE_Extensions := omit
                                    ),//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?,
                                    omit,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *,                
                                    omit//template PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := *
                                ))),
                                omit//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := *
                              ) 
                            )
                         }
                        )
                     )
                   );

                   f_recv_NGAP_PDU(
                     mw_ngap_succMsg(
                       mw_n2_PDUSessionResourceModifyConfirm(
                          PX_AMF_UE_NGAP_ID,
                          PX_RAN_UE_NGAP_ID,
                          { *
                            // mw_pDUSessionResourceFailedToModifyItemModCfm(
                            //    PX_PDU_SESSION_ID,
                            //    ?,//mw_pDUSessionResourceModifyIndicationUnsuccessfulTransfer(
                            //      //  ?,//template (present) Cause p_cause := ?,
                            //      //  -//template PDUSessionResourceModifyIndicationUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := *
                            //      //),OCTETSTRING
                            //    *//template PDUSessionResourceFailedToModifyItemModCfm.iE_Extensions p_iE_Extensions := *
                            // )
                          }
                       )
                     )
                   );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_AMF();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_AMF_PDU_05

            } // End of group PDU_Session_Resource_Modify_Indication
        } // End of group PDU_Session_Management_Procedures
        //8.3
        group UE_Context_Management_Procedures{
            //8.3.1
            group Initial_Context_Setup{
            } // End of group Initial_Context_Setup
            //8.3.2
            group UE_Context_Release_Request_NG_RAN_node_initiated{
            } // End of group UE_Context_Release_Request_NG_RAN_node_initiated
            //8.3.3
            group UE_Context_Release_AMF_initiated{
            } // End of group UE_Context_Release_AMF_initiated
            //8.3.4
            group UE_Context_Modification{
            } // End of group UE_Context_Modification
            //8.3.5
            group RRC_Inactive_Transition_Report{
            } // End of group RRC_Inactive_Transition_Report
            //8.3.6
            group Connection_Establishment_Indication{
            } // End of group Connection_Establishment_Indication
            //8.3.7
            group AMF_CP_Relocation_Indication{
            } // End of group AMF_CP_Relocation_Indication
            //8.3.8
            group RAN_CP_Relocation_Indication{
            } // End of group RAN_CP_Relocation_Indication
            //8.3.9
            group Retrieve_UE_Information{
            } // End of group Retrieve_UE_Information
            //8.3.10
            group UE_Information_Transfer{
            } // End of group UE_Information_Transfer
            //8.3.11
            group UE_Context_Suspend{
            } // End of group UE_Context_Suspend
            //8.3.12
            group UE_Context_Resume{
            } // End of group UE_Context_Resume
        } // End of group UE_Context_Management_Procedures
        //8.4
        group UE_Mobility_Management_Procedures{
            //8.4.1
            group Handover_Preparation{
            } // End of group Handover_Preparation
            //8.4.2
            group Handover_Resource_Allocation{
            } // End of group Handover_Resource_Allocation
            //8.4.3
            group Handover_Notification{
            } // End of group Handover_Notification
            //8.4.4
            group Path_Switch_Request{
            } // End of group Path_Switch_Request
            //8.4.5
            group Handover_Cancellation{
            } // End of group Handover_Cancellation
            //8.4.6
            group Uplink_RAN_Status_Transfer{
            } // End of group Uplink_RAN_Status_Transfer
            //8.4.7
            group Downlink_RAN_Status_Transfer{
            } // End of group Downlink_RAN_Status_Transfer
            //8.4.8
            group Handover_Success{
            //8.4.9
            group Uplink_RAN_Early_Status_Transfer{
            } // End of group Uplink_RAN_Early_Status_Transfer
            //8.4.10
            group Downlink_RAN_Early_Status_Transfer{
            } // End of group Downlink_RAN_Early_Status_Transfer
        } // End of group UE_Mobility_Management_Procedures
        //8.5
        group Paging_Procedures{
            //8.5.1
            group Paging{
            } // End of group Paging
        } // End of group Paging_Procedures
        //8.6
        group Transport_of_NAS_Messages_Procedures{
            //8.6.1
            group Initial_UE_Message{
            } // End of group Initial_UE_Message
            //8.6.2
            group Downlink_NAS_Transport{
            } // End of group Downlink_NAS_Transport
            //8.6.3
            group Uplink_NAS_Transport{
            } // End of group Uplink_NAS_Transport
            //8.6.4
            group NAS_Non_Delivery_Indication{
            } // End of group NAS_Non_Delivery_Indication
            //8.6.5
            group Rerout_NAS_Request{
            } // End of group Rerout_NAS_Request
        } // End of group Transport_of_NAS_Messages_Procedures
        //8.7
        group Interface_Management_Procedures{
            //8.7.1
            group NG_Setup{
            //8.7.2
            group RAN_Configuration_Update{
            } // End of group RAN_Configuration_Update
            //8.7.3
            group AMF_Configuration_Update{
            } // End of group AMF_Configuration_Update
            //8.7.4
            group NG_Reset{
            //8.7.5
            group Error_Indication{
            //8.7.6
            group AMF_Status_Indication{
            } // End of group AMF_Status_Indication
            //8.7.7
            group Overload_Start{
            //8.7.8
            group Overload_Stop{
            } // End of group Overload_Stop
        } // End of group Interface_Management_Procedures
        //8.8
        group Configuration_Transfer_Procedures{
            //8.8.1
            group Uplink_RAN_Configuration_Transfer{
            } // End of group Uplink_RAN_Configuration_Transfer
            //8.8.2
            group Downlink_RAN_Configuration_Transfer{
            } // End of group Downlink_RAN_Configuration_Transfer
            //8.9
            group Warning_Message_Transmission_Procedures{
            } // End of group Warning_Message_Transmission_Procedures
            //8.9.1
            group Write_Replace_Warning{
            } // End of group Write_Replace_Warning
            //8.9.2
            group PWS_Cancel{
            //8.9.3
            group PWS_Restart_Indication{
            } // End of group PWS_Restart_Indication
            //8.9.4
            group PWS_Failure_Indication{
            } // End of group PWS_Failure_Indication
        } // End of group Configuration_Transfer_Procedures
        //8.10
        group NRPPa_Transport_Procedures{
        } // End of group NRPPa_Transport_Procedures
        //8.11
        group Trace_Procedures{
            //8.11.1
            group Trace_Start{
            //8.11.2
            group Trace_Failure_Indication{
            } // End of group Trace_Failure_Indication
            //8.11.3
            group Deactivate_Trace{
            //8.11.4
            group Cell_Traffic_Trace{
            } // End of group Cell_Traffic_Trace
        } // End of group Trace_Procedures
        //8.12
        group Location_Reporting_Procedures{
            //8.12.1
            group Location_Reporting_Control{
            } // End of group Location_Reporting_Control
            //8.12.2
            group Location_Reporting_Failure_Indication{
            } // End of group Location_Reporting_Failure_Indication
            //8.12.3
            group Location_Report{
            } // End of group Location_Report
        } // End of group Location_Reporting_Procedures
        //8.13
        group UE_TNLA_Binding_Procedures{
            //8.13.1
            group UE_TNLA_Binding_Release{
            } // End of group UE_TNLA_Binding_Release
        } // End of group UE_TNLA_Binding_Procedures
        //8.14
        group UE_Radio_Capability_Management_Procedures{
            //8.14.1
            group UE_Radio_Capability_Info_Indication{
            } // End of group UE_Radio_Capability_Info_Indication
            //8.14.2
            group UE_Radio_Capability_Check{
            } // End of group UE_Radio_Capability_Check
            //8.14.3
            group UE_Radio_Capability_ID_Mapping{
            } // End of group UE_Radio_Capability_ID_Mapping
        } // End of group UE_Radio_Capability_Management_Procedures
        //8.15
        group Data_Usage_Reporting_Procedures{
            //8.15.1
            group Secondary_RAT_Data_Usage_Report{
            } // End of group Secondary_RAT_Data_Usage_Report
        } // End of group Data_Usage_Reporting_Procedures
        //8.16
        group RIM_Information_Transfer_Procedures{
            //8.16.1
            group Uplink_RIM_Information_Transfer{
            } // End of group Uplink_RIM_Information_Transfer
            //8.16.2
            group Downlink_RIM_Information_Transfer{
            } // End of group Downlink_RIM_Information_Transfer
        } // End of group RIM_Information_Transfer_Procedures
    } // End of group aMF_Role

Yann Garcia's avatar
Yann Garcia committed
} // End of module NGAP_TCFunctions