Commit 371a38ad authored by Iztok Juvancic's avatar Iztok Juvancic
Browse files

addedt td's

parent 77048e7b
Loading
Loading
Loading
Loading
+407 −0
Original line number Diff line number Diff line
@@ -1359,6 +1359,413 @@ module AtsIms5gIot_TD_INI {

        } // End of group Emergency_Session_Reject_due_to_wrong_urn

        group Ng_ecall{

            testcase TD_VoNR_NGC_INT_INI_01() runs on FiveGNRTestCoordinator system FiveGNRIotSystemInterface {
                
                var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
                var ImsUserInfo v_userInfoA   := f_getSipUserId ( PX_EUT_A );

                f_set5GNRMonIterfacesAvailability();
                // Check required monitor interfaces due to TD
                if (f_check5GNRRequiredMonitorInterface({
                                                         PX_DIAMETER_RX_INTERFACENAME,
                                                         PX_SIP_MW_PE_INTERFACENAME,
                                                         PX_SIP_MM_B_PSAP_INTERFACENAME, // E-CSCF -> PSAP
                                                         PX_NGAP_N1N2_INTERFACENAME,
                                                         PX_HTTP_N5_INTERFACENAME
                                                         })){
                    var SipMessage v_sip;

                    f_cf_create5GNRMonitor();

                    // map/connect component ports
                    f_cf_adapter_up ( );
                    f_cf_user_up ( v_ueA );
                    f_cf_5GNRMonitor_Up();

                    // preamble
                    f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile

                    // test body
                    // Event 1
                    if (not PX_ECALL) {
                        f_mtc_check_TP_GM_PCSCF_5G_NGC_INVITE_01(vc_5g_monitor_components.gmA, -, v_sip);
                    } // N6 interface not supported, eCall
                    // 
                    f_mtc_check_TP_GM_PCSCF_5G_ECO_REGISTER_02(vc_5g_monitor_components.gmA, true);
                    // Event 6,7
                    f_mtc_check_TP_MW_PCSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.mwPI, -, v_sip);
                    // Event 6,7
                    f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_01(vc_5g_monitor_components.mwPI, true);
                    // Events 2
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PCR_02(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAR_02(vc_5g_monitor_components.rx, true);
                    }
                    // Events 3,9
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCF_5G_ECO_PCA_02(vc_5g_monitor_components.n5, true);
                    } else {
                        f_mtc_check_TP_RX_PCRF_5G_ECO_AAA_02(vc_5g_monitor_components.rx, true);
                    }
                    // Event 4,5
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PNA_01(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_RAA_01(vc_5g_monitor_components.rx, true);
                    }
                    // Event 8
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PUR_04(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAR_04(vc_5g_monitor_components.rx, true);
                    }
                    // Event 9
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PUA_01(vc_5g_monitor_components.n5, true);
                    }
                    // Event 25
                    //f_mtc_check_TP_RTP_ECO_03(vc_5g_monitor_components.rtp, true);

                    // postamble
                    f_mtc_userRadioEnabled ( v_ueA, false, true );

                    //unmap/disconnect component ports
                    f_cf_user_down ( v_ueA );
                    f_cf_5GNRMonitor_Down();
                    f_cf_adapter_down ( );
                }else{
                    //log...
                    setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
                }
            } // End of testcase TD_VoNR_NGC_INT_INI_01

            testcase TD_VoNR_NGC_INT_INF_01() runs on FiveGNRTestCoordinator system FiveGNRIotSystemInterface {
                
                var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
                var ImsUserInfo v_userInfoA   := f_getSipUserId ( PX_EUT_A );

                f_set5GNRMonIterfacesAvailability();
                // Check required monitor interfaces due to TD
                if (f_check5GNRRequiredMonitorInterface({
                                                         PX_DIAMETER_RX_INTERFACENAME,
                                                         PX_SIP_MW_PE_INTERFACENAME,
                                                         PX_SIP_MM_B_PSAP_INTERFACENAME, // E-CSCF -> PSAP
                                                         PX_NGAP_N1N2_INTERFACENAME,
                                                         PX_HTTP_N5_INTERFACENAME
                                                         })){
                    var SipMessage v_sip;

                    f_cf_create5GNRMonitor();

                    // map/connect component ports
                    f_cf_adapter_up ( );
                    f_cf_user_up ( v_ueA );
                    f_cf_5GNRMonitor_Up();

                    // preamble
                    f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile

                    // test body
                    // Event 7,8
                    if (not PX_ECALL) {
                        f_mtc_check_TP_MW_PCSCF_5G_NGC_INFO_01(vc_5g_monitor_components.mwPS, -, v_sip);
                        f_mtc_check_TP_GM_PCSCF_5G_NGC_INFO_01(vc_5g_monitor_components.gmA, -, v_sip);
                    } // N6 interface not supported, eCall
                    
                    // postamble
                    f_mtc_userRadioEnabled ( v_ueA, false, true );

                    //unmap/disconnect component ports
                    f_cf_user_down ( v_ueA );
                    f_cf_5GNRMonitor_Down();
                    f_cf_adapter_down ( );
                }else{
                    //log...
                    setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
                }
            } // End of testcase TD_VoNR_NGC_INT_INF_01

        } // End of group Ng_ecall

        group Emergency_Session_Establishment_Roaming {

            testcase TD_VoNR_ECO_RMI_INI_01() runs on FiveGNRTestCoordinator system FiveGNRIotSystemInterface {
                
                var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
                var ImsUserInfo v_userInfoA   := f_getSipUserId ( PX_EUT_A );

                f_set5GNRMonIterfacesAvailability();
                // Check required monitor interfaces due to TD
                if (f_check5GNRRequiredMonitorInterface({
                                                         PX_DIAMETER_RX_INTERFACENAME,
                                                         PX_SIP_MW_PE_INTERFACENAME,
                                                         PX_SIP_MM_B_PSAP_INTERFACENAME, // E-CSCF -> PSAP
                                                         PX_SIP_ML_E_LRF_INTERFACENAME,  // E-CSCF -> LRF
                                                         PX_NGAP_N1N2_INTERFACENAME,
                                                         PX_HTTP_N5_INTERFACENAME
                                                         })){
                    var SipMessage v_sip;

                    f_cf_create5GNRMonitor();

                    // map/connect component ports
                    f_cf_adapter_up ( );
                    f_cf_user_up ( v_ueA );
                    f_cf_5GNRMonitor_Up();

                    // preamble
                    f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile

                    // test body
                    // Event 1
                    if (not PX_ECALL) {
                        f_mtc_check_TP_GM_PCSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.gmA, -, v_sip);
                    } else {
                        f_mtc_check_TP_GM_PCSCF_5G_NGC_INVITE_01(vc_5g_monitor_components.gmA, -, v_sip);
                    }
                    f_mtc_check_TP_GM_PCSCF_5G_ECO_REGISTER_02(vc_5g_monitor_components.gmA, true);
                    // Event 7
                    f_mtc_check_TP_MW_PCSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.mwPI, -, v_sip);
                    // Event 8
                    f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_01(vc_5g_monitor_components.mwPI, true);
                    
                    // Event 9
                    //f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.mmB_PSAP, true);
                    // Events 3
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PCR_02(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAR_02(vc_5g_monitor_components.rx, true);
                    }
                    // Events 4
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCF_5G_ECO_PCA_02(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCRF_5G_ECO_AAA_02(vc_5g_monitor_components.rx, true);
                    }
                    // Event 5, 6
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PNA_01(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_RAA_01(vc_5g_monitor_components.rx, true);
                    }
                    // Event 11
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PUR_04(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAR_04(vc_5g_monitor_components.rx, true);
                    }
                    // Event 12
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PUA_01(vc_5g_monitor_components.n5, true);
                    }
                    // Event 28
                    //f_mtc_check_TP_RTP_ECO_03(vc_5g_monitor_components.rtp, true);

                    // postamble
                    f_mtc_userRadioEnabled ( v_ueA, false, true );

                    //unmap/disconnect component ports
                    f_cf_user_down ( v_ueA );
                    f_cf_5GNRMonitor_Down();
                    f_cf_adapter_down ( );
                }else{
                    //log...
                    setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
                }
            } // End of testcase TD_VoNR_ECO_RMI_INI_01

            testcase TD_VoNR_ECO_RMI_INI_02() runs on FiveGNRTestCoordinator system FiveGNRIotSystemInterface {
                
                var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
                var ImsUserInfo v_userInfoA   := f_getSipUserId ( PX_EUT_A );

                f_set5GNRMonIterfacesAvailability();
                // Check required monitor interfaces due to TD
                if (f_check5GNRRequiredMonitorInterface({
                                                         PX_DIAMETER_RX_INTERFACENAME,
                                                         PX_SIP_MW_PE_INTERFACENAME,
                                                         PX_SIP_MM_B_PSAP_INTERFACENAME, // E-CSCF -> PSAP
                                                         PX_SIP_ML_E_LRF_INTERFACENAME,  // E-CSCF -> LRF
                                                         PX_NGAP_N1N2_INTERFACENAME,
                                                         PX_HTTP_N5_INTERFACENAME
                                                         })){
                    var SipMessage v_sip;

                    f_cf_create5GNRMonitor();

                    // map/connect component ports
                    f_cf_adapter_up ( );
                    f_cf_user_up ( v_ueA );
                    f_cf_5GNRMonitor_Up();

                    // preamble
                    f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile

                    // test body
                    // Event 1
                    if (not PX_ECALL) {
                        f_mtc_check_TP_GM_PCSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.gmA, -, v_sip);
                    } else {
                        f_mtc_check_TP_GM_PCSCF_5G_NGC_INVITE_01(vc_5g_monitor_components.gmA, -, v_sip);
                    }
                    f_mtc_check_TP_GM_PCSCF_5G_ECO_REGISTER_02(vc_5g_monitor_components.gmA, true);
                    // Event 7
                    f_mtc_check_TP_MW_PCSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.mwPI, -, v_sip);
                    // Event 8
                    f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_01(vc_5g_monitor_components.mwPI, true);
                    
                    // Event 9
                    //f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.mmB_PSAP, true);
                    // Events 3
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PCR_02(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAR_02(vc_5g_monitor_components.rx, true);
                    }
                    // Events 4
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCF_5G_ECO_PCA_02(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCRF_5G_ECO_AAA_02(vc_5g_monitor_components.rx, true);
                    }
                    // Event 5, 6
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PNA_01(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_RAA_01(vc_5g_monitor_components.rx, true);
                    }
                    // Event 11
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PUR_04(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAR_04(vc_5g_monitor_components.rx, true);
                    }
                    // Event 12
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PUA_01(vc_5g_monitor_components.n5, true);
                    }
                    // Event 28
                    //f_mtc_check_TP_RTP_ECO_03(vc_5g_monitor_components.rtp, true);

                    // postamble
                    f_mtc_userRadioEnabled ( v_ueA, false, true );

                    //unmap/disconnect component ports
                    f_cf_user_down ( v_ueA );
                    f_cf_5GNRMonitor_Down();
                    f_cf_adapter_down ( );
                }else{
                    //log...
                    setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
                }
            } // End of testcase TD_VoNR_ECO_RMI_INI_02

            testcase TD_VoNR_ECO_RMI_INI_04() runs on FiveGNRTestCoordinator system FiveGNRIotSystemInterface {
                
                var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
                var ImsUserInfo v_userInfoA   := f_getSipUserId ( PX_EUT_A );

                f_set5GNRMonIterfacesAvailability();
                // Check required monitor interfaces due to TD
                if (f_check5GNRRequiredMonitorInterface({
                                                         PX_DIAMETER_RX_INTERFACENAME,
                                                         PX_SIP_MW_PE_INTERFACENAME,
                                                         PX_SIP_MM_B_PSAP_INTERFACENAME, // E-CSCF -> PSAP
                                                         PX_SIP_ML_E_LRF_INTERFACENAME,  // E-CSCF -> LRF
                                                         PX_NGAP_N1N2_INTERFACENAME,
                                                         PX_HTTP_N5_INTERFACENAME
                                                         })){
                    var SipMessage v_sip;

                    f_cf_create5GNRMonitor();

                    // map/connect component ports
                    f_cf_adapter_up ( );
                    f_cf_user_up ( v_ueA );
                    f_cf_5GNRMonitor_Up();

                    // preamble
                    f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile

                    // test body
                    // Event 1
                    if (not PX_ECALL) {
                        f_mtc_check_TP_GM_PCSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.gmA, -, v_sip);
                    } else {
                        f_mtc_check_TP_GM_PCSCF_5G_NGC_INVITE_01(vc_5g_monitor_components.gmA, -, v_sip);
                    }
                    f_mtc_check_TP_GM_PCSCF_5G_ECO_REGISTER_02(vc_5g_monitor_components.gmA, true);
                    // Event 7
                    f_mtc_check_TP_MW_PCSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.mwPI, -, v_sip);
                    // Event 8
                    f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_01(vc_5g_monitor_components.mwPI, true);
                    
                    // Event 9
                    //f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.mmB_PSAP, true);
                    // Events 3
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PCR_02(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAR_02(vc_5g_monitor_components.rx, true);
                    }
                    // Events 4
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCF_5G_ECO_PCA_02(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCRF_5G_ECO_AAA_02(vc_5g_monitor_components.rx, true);
                    }
                    // Event 5, 6
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PNA_01(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_RAA_01(vc_5g_monitor_components.rx, true);
                    }
                    // Event 11
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PUR_04(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAR_04(vc_5g_monitor_components.rx, true);
                    }
                    // Event 12
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PUA_01(vc_5g_monitor_components.n5, true);
                    }
                    // Event 28
                    //f_mtc_check_TP_RTP_ECO_03(vc_5g_monitor_components.rtp, true);

                    // postamble
                    f_mtc_userRadioEnabled ( v_ueA, false, true );

                    //unmap/disconnect component ports
                    f_cf_user_down ( v_ueA );
                    f_cf_5GNRMonitor_Down();
                    f_cf_adapter_down ( );
                }else{
                    //log...
                    setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
                }
            } // End of testcase TD_VoNR_ECO_RMI_INI_04
        } // End of group Emergency_Session_Establishment_Roaming

    } // End of group Interoperability

} // End of module AtsIms5gIot_TD_INI