Skip to content
NGAP_TCFunctions.ttcn 22.9 KiB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
/**
 *    @author   ETSI / TTF033
Yann Garcia's avatar
Yann Garcia committed
 *    @version  $URL$
 *              $Id$
 *    @desc     This module provides test functions for NGAP tests.
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 NGAP_TCFunctions {
Yann Garcia's avatar
Yann Garcia committed
    // LibCommon
    import from LibCommon_Sync all;
    import from LibCommon_VerdictControl all;
    import from LibCommon_Time all;
Yann Garcia's avatar
Yann Garcia committed

    // LibNGAP
    import from NGAP_IEs language "ASN.1:2002" all;
    import from NGAP_Constants language "ASN.1:2002" all;

    import from LibNGAP_Pixits all;
    import from LibNGAP_Templates all;
    import from LibNGAP_Interface all;
    import from LibNGAP_Steps all;

    // NGAP_Ats
Iztok Juvancic's avatar
Iztok Juvancic committed
    import from NGAP_TestSystem all;
Yann Garcia's avatar
Yann Garcia committed
    import from NGAP_Steps all;
    import from NGAP_Pixits all;
    group TC_function_template{
Yann Garcia's avatar
Yann Garcia committed
        /**
         * @desc Testcase function for TC_NGAP_gNB_or_aMF_functionName_01
Yann Garcia's avatar
Yann Garcia committed
         */
        function f_TC_NGAP_gNB_or_aMF_functionName_01() runs on NGAPComponent {
            // Local variables
            // Preamble
            f_NGAP_gnb_init();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
Iztok Juvancic's avatar
Iztok Juvancic committed
            //f_send_NGAP_PDU(m_ngap_initMsg(/*initiating msgtemplate*/));
            //f_recv_NGAP_PDU(?);
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
            // Postamble
            f_postamble_NGAP_gNB();
            f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
        } // End of function f_TC_NGAP_gNB_or_aMF_functionName_01
    group gNB_Role{
        //8.2
        group PDU_Session_Management_Procedures{
            //8.2.1
            group PDU_Session_Resource_Setup{
Iztok Juvancic's avatar
Iztok Juvancic committed
                /**
                * @desc Testcase function for TC_NGAP_gNB_or_aMF_functionName_01
                */
               function f_TC_NGAP_GNB_PDU_01() runs on aMFNGAPComponent {
                   // Local variables
Iztok Juvancic's avatar
Iztok Juvancic committed
                   // Preamble
                   f_NGAP_amf_init();
                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
Iztok Juvancic's avatar
Iztok Juvancic committed
                   // Body
                   f_send_NGAP_PDU(
Iztok Juvancic's avatar
Iztok Juvancic committed
                     m_ngap_initMsg(
Iztok Juvancic's avatar
Iztok Juvancic committed
                       m_n2_PDUSessionResourceSetupRequest(
                                                 //m_ie_pDUSessionResourceSetupListSUReq(
Iztok Juvancic's avatar
Iztok Juvancic committed
                                                     {
                                                         m_pDUSessionResourceSetupItemSUReq(
                                                              0,
                                                              m_s_NSSAI('00'O,'000000'O),
Iztok Juvancic's avatar
Iztok Juvancic committed
                                                              '00'O //TODO replace with template
Iztok Juvancic's avatar
Iztok Juvancic committed
                                                              /*bit2oct(encvalue(m_ie_pDUSessResSetReqTrIEs(
                                                                                       m_uPTLInf(m_gTPTunnel(
                                                                                                        '0'B',
                                                                                                        '00000000'O(-))),
Iztok Juvancic's avatar
Iztok Juvancic committed
                                                                                       m_ie_PDUSessionType(-),
                                                                                       m_ie_qosFlowSetReqList({})
                                                                                       )))*/
Iztok Juvancic's avatar
Iztok Juvancic committed
                                                         )
                                                     }
Iztok Juvancic's avatar
Iztok Juvancic committed
                       )
Iztok Juvancic's avatar
Iztok Juvancic committed
                     )
Iztok Juvancic's avatar
Iztok Juvancic committed
                   f_recv_NGAP_PDU(
Iztok Juvancic's avatar
Iztok Juvancic committed
                     mw_ngap_succMsg(
Iztok Juvancic's avatar
Iztok Juvancic committed
                       mw_n2_PDUSessionResourceSetupResponse(
Iztok Juvancic's avatar
Iztok Juvancic committed
                        )
                     )
                   );
Iztok Juvancic's avatar
Iztok Juvancic committed
                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
Iztok Juvancic's avatar
Iztok Juvancic committed
                   // Postamble
                   f_postamble_NGAP_gNB();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
Iztok Juvancic's avatar
Iztok Juvancic committed
               } // End of function f_TC_NGAP_gNB_or_aMF_functionName_01
            //8.2.2
            group PDU_Session_Resource_Release{
            } // End of group PDU_Session_Resource_Release
            //8.2.3
            group PDU_Session_Resource_Modify{
            } // 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{
            } // 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{
            } // End of 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{
            } // End of 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{
            } // End of 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 gNB_Role 

    group aMF_Role{
        //8.2
        group PDU_Session_Management_Procedures{
            //8.2.1
            group PDU_Session_Resource_Setup{
            } // End of group PDU_Session_Resource_Setup
            //8.2.2
            group PDU_Session_Resource_Release{
            } // End of group PDU_Session_Resource_Release
            //8.2.3
            group PDU_Session_Resource_Modify{
            } // 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{
            } // 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{
            } // End of 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{
            } // End of 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{
            } // End of 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