Commit 7040b250 authored by Yann Garcia's avatar Yann Garcia
Browse files

Add support of Diameter in TD

parent 60eb6bff
Loading
Loading
Loading
Loading
+200 −6
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ module AtsIms5gIot_TD_INI {
    import from AtsIms5gIot_TP_behavior_MW_IS all;
    import from AtsIms5gIot_TP_behavior_MW_SI all;
    import from AtsIms5gIot_TP_behavior_MM all;
    import from AtsImsIot_TP_behavior_ISC all;
    import from AtsIms5gIot_TP_behavior_MI all;
    import from AtsIms5gIot_TP_behavior_N1N2 all;
    import from AtsIms5gIot_TP_behavior_N5_PCF all;
@@ -684,18 +685,19 @@ module AtsIms5gIot_TD_INI {
                    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
                    // Event 1, 2
                    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);
                    }
                    // Pre test
                    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.mwPE, -, v_sip);
                    // Event 12, 13
                    f_mtc_check_TP_MI_ECSCF_5G_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip);
                    // Event 8
                    f_mtc_check_TP_MI_ECSCF_5G_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip);
                    // Event 10, 11
                    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) {
@@ -709,19 +711,19 @@ module AtsIms5gIot_TD_INI {
                    } else {
                        // Use RX interface instead of N5
                    }
                    // Event 5, 6
                    // Events 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
                    }
                    // Event 11
                    // Events 15
                    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
                    }
                    // Event 16
                    // Events 20
                    if (PICS_5G_SERVICE_BASED_ARCHITECTURE == true) {
                        f_mtc_check_TP_N5_PCSCF_5G_ECO_PUA_01(vc_5g_monitor_components.n5, true);
                    } else {
@@ -743,6 +745,198 @@ module AtsIms5gIot_TD_INI {

        } // End of group UE_calling_PSAP_PSTN_BGCF_LRF

        group UE_calling_PSAP_over_AS_with_non_emergency_registration {

            // To demonstrate the establishment of dedicated PDU sessions at the originating 5GC due to SIP emergency session establishment over AS with non-emergency registration
            testcase TD_VoNR_ECO_INT_INI_09() 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_SIP_MW_PE_INTERFACENAME,
                                                         PX_SIP_MW_EB_INTERFACENAME, // E-CSCF -> IBCF
                                                         PX_SIP_IC_INTERFACENAME     // IBCF -> PSAP
                                                         })){
                    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 2
                    f_mtc_check_TP_ISC_SCSCF_5G_EMC_INVITE_01(vc_5g_monitor_components.isc, -, v_sip);
                    // Event 3
                    f_mtc_check_TP_MW_PCSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.mwPE, -, v_sip);
                    // Event 4
                    f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_02(vc_5g_monitor_components.mmB_PSAP, 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_INT_INI_09

        } // End of group UE_calling_PSAP_over_AS_with_non_emergency_registration

        group Callback_from_PSAP {

            // To demonstrate that if an emergency call has been terminated, the attempt by the PSAP call taker to communicate back to the emergency caller shall be answered
            testcase TD_VoNR_ECO_INT_INI_10() 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_SIP_MW_PE_INTERFACENAME,
                                                         PX_SIP_MW_EB_INTERFACENAME, // E-CSCF -> IBCF
                                                         PX_SIP_IC_INTERFACENAME     // IBCF -> PSAP
                                                         })){
                    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
                    f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_03(vc_5g_monitor_components.mmB_PSAP, true, v_sip);
                    // Event 3
                    f_mtc_check_TP_MM_ECSCF_5G_ECO_INVITE_03(vc_5g_monitor_components.mwPE, -, v_sip);
                    // Event 5
                    f_mtc_check_TP_MI_ECSCF_5G_ECO_INVITE_03(vc_5g_monitor_components.mwPI, -, v_sip);
                    // Event 6
                    f_mtc_check_TP_MW_PCSCF_5G_ECO_INVITE_05(vc_5g_monitor_components.mwPE, -, v_sip);

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

        } // End of group Callback_from_PSAP

        group UE_Initiated_Emergency_Session_Release {

            // To perform originating UE session release and the tear down of related PDU session
            testcase TD_VoNR_ECO_INT_REL_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_SIP_MW_PE_INTERFACENAME,
                                                         PX_SIP_MW_EB_INTERFACENAME, // E-CSCF -> IBCF
                                                         PX_SIP_IC_INTERFACENAME     // IBCF -> PSAP
                                                         })){
                    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
                    //TODO

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

        } // End of group UE_Initiated_Emergency_Session_Release

        group PSAP_Initiated_Emergency_Session_Release {

            // To perform originating PSAP emergency session release and the tear down of related PDU session
            testcase TD_VoNR_ECO_INT_REL_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_SIP_MW_PE_INTERFACENAME,
                                                         PX_SIP_MW_EB_INTERFACENAME, // E-CSCF -> IBCF
                                                         PX_SIP_IC_INTERFACENAME     // IBCF -> PSAP
                                                         })){
                    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
                    //TODO

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

        } // End of group PSAP_Initiated_Emergency_Session_Release

    } // End of group Interoperability

} // End of module AtsIms5gIot_TD_INI
+3 −1
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ module AtsIms5gIot_TD_REG {
    import from AtsIms5gIot_TP_behavior_MM all;
    import from AtsIms5gIot_TP_behavior_N1N2 all;
    import from AtsIms5gIot_TP_behavior_N5_PCF all;
    import from AtsIms5gIot_TP_behavior_RX all;
    import from AtsIms5gIot_PICs all;
     
    group Interoperability{
@@ -82,7 +83,8 @@ module AtsIms5gIot_TD_REG {
                        f_mtc_check_TP_N5_PCF_5G_ECO_PCA_01(vc_5g_monitor_components.n5, true);
                    } else {
                        // Use RX interface instead of N5
                        //f_mtc_check_TP_VxLTE_PCSCF_5G_ECO_PCR_01(vc_5g_monitor_components.rx, true);
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAR_01(vc_5g_monitor_components.rx, true);
                        f_mtc_check_TP_RX_PCSCF_5G_ECO_AAA_01(vc_5g_monitor_components.rx, true);
                    }

                    // postamble
+2062 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ sources := \
            AtsIms5gIot_TP_behavior_MI.ttcn     \
            AtsIms5gIot_TP_behavior_IC.ttcn     \
            AtsIms5gIot_TP_behavior_ISC.ttcn    \
            AtsIms5gIot_TP_behavior_RX.ttcn     \
            AtsIms5gIot_TD_5GREG.ttcn           \
            AtsIms5gIot_TD_5GDRG.ttcn           \
            AtsIms5gIot_TD_REG.ttcn             \
+1859 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading