From 3a28069e777e383a51e6fb9b411b29ea68d00d3f Mon Sep 17 00:00:00 2001
From: juvancic <juvancic@sintesio.org>
Date: Thu, 1 Jun 2023 09:47:02 +0200
Subject: [PATCH] added emergency attach TD

---
 ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn | 50 +++++++++++++++++++++++--
 1 file changed, 47 insertions(+), 3 deletions(-)

diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn
index 1697f60..c656fd3 100644
--- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn
+++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn
@@ -79,8 +79,8 @@ module AtsImsIot_Emergency {
 						// test body
 						// 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_ULA_01 ( vc_vxlte_monitor_components.s6a);        // Check (ULA – Event 3) 
-						f_mtc_check_TP_GX_PCRF_CCA_01 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5)
+						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_01 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5)
         
 						// postamble
 						f_mtc_userRadioEnabled ( v_ueA, false, true );
@@ -93,11 +93,55 @@ module AtsImsIot_Emergency {
 						//log...
 						setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
 					}
-				} // End of TC TC_VxLTE_INT_ATT_01
+				} // End of TC TC_VoLTE_ECO_INT_ATT_01
             } // End of group UENetworkAttachmentWithUSIM
 
             group UENetworkAttachmentWithoutUSIM {
+				/**
+				 * @desc    Emergency Network Attachment and Establishment of the Emergency Bearer without USIM.
+				 * On successful emergency attachment, the UE/IVS should discover the P-CSCF IP address.
+				 * The EPC will create the Emergency Bearers which will allow communication only between the UE and the P-CSCF
+				 * and allowed forwarding towards E-CSCF
+				 * @see TS 124 229 [2], clause 9.2.1 and L.2.2.6; TS 129 212 [7], clauses 4.5.15 and 4a.5.12; 
+				 * 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 {
+
+					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,PX_DIAMETER_S6A_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
+
+						// test body
+						// 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)
+
+						// postamble
+						f_mtc_userRadioEnabled ( v_ueA, false, true );
+
+						//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_ATT_02
             } // End of group UENetworkAttachmentWithoutUSIM
 
         } // End of group NetworkAttachment
-- 
GitLab