Commit a3ad244e authored by Bostjan Pintar's avatar Bostjan Pintar
Browse files

Validate Diameter Rx, Cx interfaces for DRG, REG groups

parent 22652950
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -837,7 +837,10 @@ module AtsImsIot_Diameter_Templates {
                template AAR_MSG mw_AAR_MediaComponent_specificActionLossOfBearer modifies mw_AAR_basic := {
                    aAR_Body :={
                        media_Component_Description := {mw_mediaComponentDescription_SubComponentFlowStatusEnabled},
                        specific_Action := {mw_specificAction(INDICATION_OF_LOSS_OF_BEARER_E)},
                        specific_Action := {((mw_specificAction(INDICATION_OF_LOSS_OF_BEARER_E))),
                                            (?,(mw_specificAction(INDICATION_OF_LOSS_OF_BEARER_E))),
                                            (?,?,(mw_specificAction(INDICATION_OF_LOSS_OF_BEARER_E)))
                                           },
                        framed_IP_Address := ?
                        //framed_IPv6_Address := *,
                    }
+8 −3
Original line number Diff line number Diff line
@@ -3141,7 +3141,8 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
       */     
      function f_gen_diameter_receive( 
        in charstring p_tpId,
        in template SkipTypeDiameter p_skip
        in template SkipTypeDiameter p_skip,
        in boolean p_noDiameterMessageExpected
      ) runs on DiameterInterfaceMonitor {
              var integer skipCount := valueof(p_skip.skipCount);
              tc_wait.start;
@@ -3153,6 +3154,9 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
                  log("***f_gen_diameter_receive: Message skipped (intentionally) when checking for " & p_tpId & " at interface " & vc_interfaceName & " ****");
                  repeat;
              }
              [p_noDiameterMessageExpected == true] tc_wait.timeout {
                  f_setConformanceVerdict(pass, "***f_gen_diameter_receive: Timer tc_wait expired when waiting for incoming message in " & p_tpId & " at interface " & vc_interfaceName & " ****");
              }
              [] tc_wait.timeout {
                  f_setConformanceVerdict(inconc, "***f_gen_diameter_receive: Timer tc_wait expired when waiting for incoming message in " & p_tpId & " at interface " & vc_interfaceName & " ****");
              }
@@ -3406,7 +3410,8 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
          in template SkipTypeDiameter p_skip,
          in charstring p_tpId,
          in boolean p_forwardMtc,
          in boolean p_checkMessage
          in boolean p_checkMessage,
          in boolean p_noDiameterMessageExpected := false
        ) runs on DiameterInterfaceMonitor { 
            var integer v_size := lengthof(p_failCriteria); 
            var DefaultList v_defaultArray;
@@ -3423,7 +3428,7 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
                v_defaultArray[0] := activate(a_default_diameter(p_tpId));
                f_activateDiameterDefaults(v_defaultArray, 1, p_failCriteria, fail, p_tpId, p_forwardMtc, p_checkMessage);
                f_activateDiameterDefaults(v_defaultArray, v_size + 1, p_passCriteria, pass, p_tpId, p_forwardMtc, p_checkMessage);
                f_gen_diameter_receive(p_tpId, p_skip);
                f_gen_diameter_receive(p_tpId, p_skip, p_noDiameterMessageExpected);
    
                for (i := 0; i < lengthof(v_defaultArray); i := i + 1) {
                    deactivate(v_defaultArray[i]);
+4 −4
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ module AtsImsIot_TD_DRG{
                    f_mtc_check_TP_CX_HSS_UAA_04(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 3, 4
                    f_mtc_check_TP_CX_HSS_SAA_02(vc_vxlte_monitor_components.cxSH);// Event 6, 7
                    
                    f_mtc_check_TP_RX_PCSCF_STR_07(vc_vxlte_monitor_components.rx);// Event 11
                    f_mtc_check_TP_RX_PCSCF_STR_07(vc_vxlte_monitor_components.rx, true);// Event 11
                    f_mtc_check_TP_RX_PCRF_STA_02(vc_vxlte_monitor_components.rx); // Event 12
                    f_mtc_check_TP_GX_PGW_RAA_04(vc_vxlte_monitor_components.gx); // Event 13, 14
                    
@@ -132,13 +132,13 @@ module AtsImsIot_TD_DRG{
                    
                    f_mtc_check_TP_CX_HSS_RTA_01(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 1, 8
                    
                    f_mtc_check_TP_MW_PCSCF_NOTIFY_01(vc_vxlte_monitor_components.mwPI); // Event 2
                    f_mtc_check_TP_MW_PCSCF_NOTIFY_01(vc_vxlte_monitor_components.mwPS); // Event 2
                    //f_mtc_check_TP_GM_PCSCF_NOTIFY_01(vc_vxlte_monitor_components.gmA); // Events 3
                    //f_mtc_check_TP_GM_PCSCF_200OK_01(vc_vxlte_monitor_components.gmA, false); // Events 4
                    //f_mtc_check_TP_MW_PCSCF_200OK_01(vc_vxlte_monitor_components.mwPS); // Event 5
                    //f_mtc_check_TP_MW_PCSCF_200OK_01(vc_vxlte_monitor_components.mwPS,-); // Event 5
                    //f_mtc_check_TP_MW_PCSCF_NOTIFY_02(vc_vxlte_monitor_components.mwPS, false, true); // Event 6, 7
                    
                    f_mtc_check_TP_RX_PCSCF_STR_08(vc_vxlte_monitor_components.rx);// Event 9
                    f_mtc_check_TP_RX_PCSCF_STR_08(vc_vxlte_monitor_components.rx, true);// Event 9
                    f_mtc_check_TP_RX_PCRF_STA_02(vc_vxlte_monitor_components.rx); // Event 10
                    f_mtc_check_TP_GX_PGW_RAA_04(vc_vxlte_monitor_components.gx); // Event 11, 12
        
+298 −298
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ module AtsImsIot_TD_DTC{
                    f_mtc_check_TP_MW_ICSCF_REGISTER_07 (vc_vxlte_monitor_components.mwIS, false); //Check (REGISTER - event 8)
                    //f_mtc_check_TP_MW_SCSCF_REGISTER_07 (vc_vxlte_monitor_components.mwSI, false); //Check (REGISTER - event 8,11)
                    
					f_mtc_check_TP_CX_HSS_UAA_04 ( vc_vxlte_monitor_components.cxIH, false ); // Check (UAA - Event 7)
                    f_mtc_check_TP_CX_HSS_UAA_04 ( f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE), false ); // Check (UAA - Event 7)
                    f_mtc_check_TP_CX_HSS_SAA_02 ( vc_vxlte_monitor_components.cxSH, false ); // Check (SAA – Event 10,11)
                    
                    f_mtc_check_TP_RX_PCRF_STA_02 ( vc_vxlte_monitor_components.rx, false ); // Check (STA – Event 14)
@@ -199,8 +199,8 @@ module AtsImsIot_TD_DTC{
                    f_mtc_check_TP_MW_ICSCF_REGISTER_07 (vc_vxlte_monitor_components.mwIS, false); //Check (REGISTER - event 18)
                    //f_mtc_check_TP_MW_SCSCF_REGISTER_07 (vc_vxlte_monitor_components.mwSI, false); //Check (REGISTER - event 18,21)
                    
					f_mtc_check_TP_CX_HSS_UAA_04 ( vc_vxlte_monitor_components.cxIH, false ); // Check (UAA - Event 16,17)
					f_mtc_check_TP_CX_HSS_SAA_02 ( vc_vxlte_monitor_components.cxSH, false ); // Check (SAA – Event 19,20)
                    f_mtc_check_TP_CX_HSS_UAA_04 ( f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE)); // Check (UAA - Event 16,17)
                    f_mtc_check_TP_CX_HSS_SAA_02 ( vc_vxlte_monitor_components.cxSH); // Check (SAA – Event 19,20)
                    
                    //f_mtc_userCheckRegistration ( v_ueA, f_getAnyValidUser ( PX_EUT_A ) ); 
                    //f_mtc_check_TP_EPC_6003_01 ( v_ueA, c_vxlte_monitor_components.gmA, v_ueB, c_vxlte_monitor_components.gmB ); // Test sequence #4-5
@@ -414,7 +414,7 @@ module AtsImsIot_TD_DTC{
                    f_mtc_check_TP_IC_IBCF_REGISTER_05 (vc_vxlte_monitor_components.ic, false); //Check (REGISTER - event 9)
                    //f_mtc_check_TP_MW_SCSCF_REGISTER_12 (vc_vxlte_monitor_components.mwSI, false); //Check (REGISTER - event 10)
                    
                    f_mtc_check_TP_CX_HSS_UAA_04 ( vc_vxlte_monitor_components.cxIH, false ); // Check (UAA - Event 11,12)
                    f_mtc_check_TP_CX_HSS_UAA_04 ( f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE), false ); // Check (UAA - Event 11,12)
                    f_mtc_check_TP_CX_HSS_SAA_02 ( vc_vxlte_monitor_components.cxSH, false ); // Check (SAA – Event 14,15)
                        
                    f_mtc_check_TP_S9_PCRF_ASA_01 ( vc_vxlte_monitor_components.s9, false ); // Check (ASA – Event 20,22)
@@ -496,7 +496,7 @@ module AtsImsIot_TD_DTC{
                    f_mtc_check_TP_IC_IBCF_REGISTER_05 (vc_vxlte_monitor_components.ic, false); //Check (REGISTER - event 9)
                    //f_mtc_check_TP_MW_SCSCF_REGISTER_12 (vc_vxlte_monitor_components.mwSI, false); //Check (REGISTER - event 10)
                    
					f_mtc_check_TP_CX_HSS_UAA_04 ( vc_vxlte_monitor_components.cxIH, false ); // Check (UAA - Event 11,12)
                    f_mtc_check_TP_CX_HSS_UAA_04 ( f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE), false ); // Check (UAA - Event 11,12)
                    f_mtc_check_TP_CX_HSS_SAA_02 ( vc_vxlte_monitor_components.cxSH, false ); // Check (SAA – Event 14,15)
                        
                    f_mtc_check_TP_S9_PCRF_ASA_01 ( vc_vxlte_monitor_components.s9, false ); // Check (ASA – Event 20,22)
+18 −7
Original line number Diff line number Diff line
@@ -82,9 +82,9 @@ module AtsImsIot_TD_INI{
                        //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB);
                        

                        // FIXME f_mtc_check_TP_GM_PCSCF_INVITE_01(vc_vxlte_monitor_components.gmA, false, v_sip); // Event 1
                        // FIXME log("v_sip", v_sip);
                        // FIXME f_mtc_check_TP_GM_PCSCF_100Trying_01(vc_vxlte_monitor_components.gmA, false, v_sip);
                        f_mtc_check_TP_GM_PCSCF_INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1
                        log("v_sip GmA", v_sip);
                        f_mtc_check_TP_GM_PCSCF_100Trying_01(vc_vxlte_monitor_components.gmA, -, v_sip);

                        //Rx/Gx exchange after INVITE (SDP) was received at P-CSCF
                        f_mtc_check_TP_RX_PCSCF_AAR_03(vc_vxlte_monitor_components.rx);// Event 2
@@ -96,14 +96,21 @@ module AtsImsIot_TD_INI{


                        f_mtc_check_TP_MW_PCSCF_INVITE_01(vc_vxlte_monitor_components.mwPS, -, v_sip); // Event 6
                        log("v_sip", v_sip);
                        log("v_sip MwPS", v_sip);
                        f_mtc_check_TP_MW_PCSCF_100Trying_01(vc_vxlte_monitor_components.mwPS, -, v_sip);
        
                        f_mtc_check_TP_IC_IBCF_INVITE_01(vc_vxlte_monitor_components.ic); // INVITE Event 8
                        f_mtc_check_TP_IC_IBCF_INVITE_02(vc_vxlte_monitor_components.ic); // INVITE Event 8
                        f_mtc_check_TP_IC_IBCF_INVITE_03(vc_vxlte_monitor_components.ic); // INVITE ENUM Event 8
                        
                        //TODO 183
                        // 183 Session Progress
                        f_mtc_check_TP_MW_PCSCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwPS, -, v_sip); // Event 15
                        f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 20
                        
                        // PRACK fater 183 Session Progress: require field is present
                        // FIXME Add check of requires SIP message header to check PRACK
                        f_mtc_check_TP_MW_PCSCF_PRACK_01(vc_vxlte_monitor_components.mwPS, -, v_sip); // Event 15
                        f_mtc_check_TP_GM_PCSCF_PRACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 20
                        
                        //Rx/Gx exchange after 183(SDP) was received at P-CSCF
                        f_mtc_check_TP_RX_PCSCF_AAR_04(vc_vxlte_monitor_components.rx);// Event 16
@@ -116,9 +123,13 @@ module AtsImsIot_TD_INI{
                        f_mtc_check_TP_IC_IBCF_1XXRESP_01(vc_vxlte_monitor_components.ic); // 180 Ringing – Event 9
                        
                        f_mtc_check_TP_MW_PCSCF_180RINGING_01(vc_vxlte_monitor_components.mwPS, -, v_sip); // Event 11
                        f_mtc_check_TP_GM_PCSCF_180RINGING_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 16
                        
                        // PRACK after 180 Session Progress: require field is present
                        // FIXME Add check of requires SIP message header to check PRACK
                        f_mtc_check_TP_MW_PCSCF_PRACK_01(vc_vxlte_monitor_components.mwPS, -, v_sip); // Event 15
                        f_mtc_check_TP_GM_PCSCF_PRACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 20
                        
                        f_mtc_check_TP_GM_PCSCF_180RINGING_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 16
                        
                        f_mtc_userCheckRinging(v_ueB);
                        f_mtc_userCheckPeerIsRinging(v_ueA);
Loading