From 82d02a4c0166725630503980780db5ca206fa588 Mon Sep 17 00:00:00 2001
From: juvancic <juvancic@sintesio.org>
Date: Thu, 1 Jun 2023 15:41:02 +0200
Subject: [PATCH] added emergency attach TD

---
 ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn | 41 +++++++++++++++++++++++--
 1 file changed, 39 insertions(+), 2 deletions(-)

diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn
index 093c65e..81f1e26 100644
--- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn
+++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn
@@ -106,7 +106,7 @@ module AtsImsIot_Emergency {
 				 * TS 129 272 [8], clause 5.2.1.1 (MME shall proceed even if Update Location fails)
 				 * 
 				 */
-				testcase TC_VoLTE_ECO_INT_ATT_02 ( ) runs on ImsTestCoordinator system IotSystemInterface {
+				testcase TC_VoLTE_EMC_INT_ATT_02 ( ) runs on ImsTestCoordinator system IotSystemInterface {
 
 					var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A );
 					var ImsUserInfo v_userInfoA    := f_getImUser ( PX_EUT_A );
@@ -128,7 +128,7 @@ module AtsImsIot_Emergency {
 						// Check that user A starts initial network attachment
 						f_mtc_check_TP_S6A_MME_ULR_01 ( vc_vxlte_monitor_components.s6a, true ); // Check (ULR – Event 2)
 						f_mtc_check_TP_S6A_HSS_ECO_ULA_01 ( vc_vxlte_monitor_components.s6a);        // Check (ULA – Event 3) 
-						f_mtc_check_TP_GX_PCRF_ECO_CCA_02 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5)
+						f_mtc_check_TP_GX_PCRF_EMC_CCA_01 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5)
 
 						// postamble
 						f_mtc_userRadioEnabled ( v_ueA, false, true );
@@ -1284,7 +1284,44 @@ module AtsImsIot_Emergency {
         group EmergencyNetworkDetachment {
 
             group EmergencySessionDetachment {
+				/**
+				 * @desc    Emergency Network Detachment (with/without) emergency registration
+				 * 
+				 * @see 
+				 */
+				testcase TC_VoLTE_ECO_INT_DTC_01 ( ) runs on ImsTestCoordinator system IotSystemInterface {
+                
+					var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A );
+					var ImsUserInfo v_userInfoA    := f_getImUser ( PX_EUT_A );
+    
+					f_setVxLteMonIterfacesAvailability();
+					//Check required monitor interfaces due to TD
+					if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME})){
+						f_cf_createVxLteMonitor();    
+            
+						// map/connect component ports
+						f_cf_adapter_up ( );
+						f_cf_user_up ( v_ueA );
+						f_cf_VxLteMonitor_Up();
 
+						//preamble
+						f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
+						f_mtc_userRadioEnabled ( v_ueA, false, true );
+						// test body
+						// Check that user A starts initial network attachment
+						f_mtc_check_TP_GX_PCRF_ECO_CCA_02 ( vc_vxlte_monitor_components.gx, false ); // Check (CCA – Event 3)
+                    
+						//postamble
+        
+						//unmap/disconnect component ports
+						f_cf_user_down ( v_ueA );
+						f_cf_VxLteMonitor_Down();
+						f_cf_adapter_down ( );
+					}else{
+						//log...
+						setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
+					}
+				} // End of TC TC_VoLTE_ECO_INT_DTC_01
             } // End of group EmergencySessionDetachment
 
         } // End of group EmergencyNetworkDetachment
-- 
GitLab