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

---
 ttcn/AtsImsIot/AtsImsIot_TP_behavior_GX.ttcn | 186 ++++++++++++++++++-
 1 file changed, 185 insertions(+), 1 deletion(-)

diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GX.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GX.ttcn
index 7596bc0..779e6a0 100644
--- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GX.ttcn
+++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GX.ttcn
@@ -463,7 +463,8 @@ group g_PGW {
         }
     } // End of function f_mtc_check_TP_GX_PGW_RAA_04
 
-
+	group ES{
+	} //end group ES
 } // end group g_PGW
 
 group g_PCRF {
@@ -1106,7 +1107,190 @@ group g_PCRF {
         }
     } // End of function f_mtc_check_TP_GX_PCRF_RAR_04
 
+    group ES{
 
+		/**
+		 * Starts monitor component behavior for TP_GX_PCRF_ECO_CCA_01
+		 * @param p_monitorCompRef Reference to monitor component
+		 * <pre>
+		 Test objective  "Verify that IUT when receives CC-Request for PCC Rules containing IMSI for emergency services sends a CC-Answer in case of attachment procedure."
+        
+        Reference 
+            "TS 129 212 [9], clauses 4.5.15.2.1"
+        
+        Config Id CF_VoLTE_INT_ES
+        
+        PICS Selection NONE
+        
+        Initial conditions with {
+            the UE_A entity isNotAttachedTo the EPC_A and
+            the UE_A entity isNotRegisteredTo the IMS_A
+        }
+        
+        Expected behaviour
+            ensure that {
+                when {
+                    the EPC_PGW_A entity sends an CCR containing
+                        CC_Request_Type_AVP indicating value INITIAL_REQUEST
+                        Subscription_Id_AVP containing
+                            Subscription_Id_Type_AVP
+                                indicating value END_USER_IMSI;,
+                        IP_CAN_Type_AVP indicating value RestrictedToEmergencyServices,
+                        RAT_Type_AVP,
+                        Called_Station_Id_AVP indicating value "Emergency_APN"
+                        Framed_IP_Address_AVP
+                        "or" Framed_IP6_IP_Address_AVP
+                        QoS_Information_AVP
+                        Default_EPS_Bearer_QoS_AVP containing
+                            QoS_Class_Identifier_AVP
+                                indicating value '5'
+                            Allocation_Retention_Priority_AVP containing
+                                Priority_Level_AVP
+                                Pre_emption_Capablity_AVP
+                                Pre_emption_Vulnerability_AVP;;;
+                    to the EPC_PCRF_A entity
+                }
+                then {
+                    the EPC_PCRF_A entity sends the CCA containing
+                        Result_Code_AVP
+                            indicating value DIAMETER_SUCCESS;
+                    to the EPC_PGW_A entity
+                }
+            }
+		 * </pre>
+		 * @see TS 103 653-1 clause 7.7
+		 */
+		function f_mtc_check_TP_GX_PCRF_ECO_CCA_01(
+			DiameterInterfaceMonitor p_monitorCompRef,
+			in boolean p_checkMessage := false,
+			in boolean p_forward_to_mtc := false
+		) runs on ImsTestCoordinator {
+			if (isvalue(p_monitorCompRef)){
+				p_monitorCompRef.start (
+					f_Iot_Diameter_receive(
+						{
+							DIAMETER_MSG:{ cCR_MSG := mw_CCR_SubscriberIMSI_qosInformation_class5_ES(INITIAL_REQUEST_E) }
+						},
+						{
+							DIAMETER_MSG:{ cCR_MSG := mw_CCR_basic }
+						},
+						{0, omit},
+						"TP_RX_PCRF_ECO_CCA_01 - CCR",
+						p_forward_to_mtc,
+						p_checkMessage 
+					)
+				);
+				p_monitorCompRef.done;
+            
+				p_monitorCompRef.start (
+					f_Iot_Diameter_receive(
+						{
+							DIAMETER_MSG:{ cCA_MSG := mw_CCA_resultCode }
+						},
+						{
+							DIAMETER_MSG:{ cCA_MSG := mw_CCA_basic }
+						},
+						{0, omit},
+						"TP_RX_PCRF_ECO_CCA_01 - CCA",
+						p_forward_to_mtc,
+						p_checkMessage 
+					)
+				);
+				p_monitorCompRef.done;
+			}
+		} // End of function f_mtc_check_TP_GX_PCRF_ECO_CCA_01
+		
+		/**
+		 * Starts monitor component behavior for TP_GX_PCRF_ECO_CCA_02
+		 * @param p_monitorCompRef Reference to monitor component
+		 * <pre>
+		 Test objective  "Verify that IUT when receives CC-Request for PCC Rules containing IMEI for emergency services sends a CC-Answer in case of attachment procedure."
+        
+        Reference 
+            "TS 129 212 [9], clauses 4.5.15.2.1"
+        
+        Config Id CF_VxLTE_INT
+        
+        PICS Selection NONE
+        
+        Initial conditions with {
+            the UE_A entity isNotAttachedTo the EPC_A and
+            the UE_A entity isNotRegisteredTo the IMS_A
+        }
+        
+        Expected behaviour
+            ensure that {
+                when {
+                    the EPC_PGW_A entity sends an CCR containing
+                        CC_Request_Type_AVP indicating value INITIAL_REQUEST,
+                        User_Equipment_Info_AVP containing
+                             User_Equipment_Info_Type_AVP indicating value IMEISV
+                             User_Equipment_Info_Value_AVP;,
+                        IP_CAN_Type_AVP indicating value RestrictedToEmergencyServices,
+                        RAT_Type_AVP,
+                        Called_Station_Id_AVP indicating value "Emergency_APN"
+                        Framed_IP_Address_AVP
+                        "or" Framed_IP6_IP_Address_AVP
+                        QoS_Information_AVP
+                        Default_EPS_Bearer_QoS_AVP containing
+                            QoS_Class_Identifier_AVP
+                                indicating value '5'
+                            Allocation_Retention_Priority_AVP containing
+                                Priority_Level_AVP
+                                Pre_emption_Capablity_AVP
+                                Pre_emption_Vulnerability_AVP;;;
+                    to the EPC_PCRF_A entity
+                }
+                then {
+                    the EPC_PCRF_A entity sends the CCA containing
+                        Result_Code_AVP
+                            indicating value DIAMETER_SUCCESS;
+                    to the EPC_PGW_A entity
+                }
+            }
+		 * </pre>
+		 * @see TS 103 653-1 clause 7.7
+		 */
+		function f_mtc_check_TP_GX_PCRF_ECO_CCA_02(
+			DiameterInterfaceMonitor p_monitorCompRef,
+			in boolean p_checkMessage := false,
+			in boolean p_forward_to_mtc := false
+		) runs on ImsTestCoordinator {
+			if (isvalue(p_monitorCompRef)){
+				p_monitorCompRef.start (
+					f_Iot_Diameter_receive(
+						{
+							DIAMETER_MSG:{ cCR_MSG := mw_CCR_SubscriberIMEI_qosInformation_class5_ES(INITIAL_REQUEST_E) }
+						},
+						{
+							DIAMETER_MSG:{ cCR_MSG := mw_CCR_basic }
+						},
+						{0, omit},
+						"TP_RX_PCRF_ECO_CCA_02 - CCR",
+						p_forward_to_mtc,
+						p_checkMessage 
+					)
+				);
+				p_monitorCompRef.done;
+    
+				p_monitorCompRef.start (
+					f_Iot_Diameter_receive(
+						{
+							DIAMETER_MSG:{ cCA_MSG := mw_CCA_resultCode }
+						},
+						{
+							DIAMETER_MSG:{ cCA_MSG := mw_CCA_basic }
+						},
+						{0, omit},
+						"TP_RX_PCRF_ECO_CCA_02 - CCA",
+						p_forward_to_mtc,
+						p_checkMessage 
+					)
+				);
+				p_monitorCompRef.done;
+			}
+		} // End of function f_mtc_check_TP_GX_PCRF_ECO_CCA_02
+    } //end group ES
 } // end group g_PCRF
 
 
-- 
GitLab