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

---
 .../AtsImsIot_Diameter_Templates.ttcn         | 52 ++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)

diff --git a/ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn b/ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn
index 9680275..fe9060e 100644
--- a/ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn
+++ b/ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn
@@ -21,7 +21,7 @@ module AtsImsIot_Diameter_Templates {
     import from LibDiameter_Types_Gx_AVPs all;
     import from LibDiameter_Types_Rx_AVPs all;
     import from LibDiameter_Types_CxDx_AVPs all;
-    import from LibDiameter_Types_S6a_AVPs {type Cancellation_Type_AVP, Cancellation_Type_Code};
+    import from LibDiameter_Types_S6a_AVPs {type Cancellation_Type_AVP, Cancellation_Type_Code, Subscription_Data_AVP};
     import from LibDiameter_Types_S9_AVPs all;
 
     group DiameterHeaderFields {
@@ -387,6 +387,13 @@ module AtsImsIot_Diameter_Templates {
                 final_unit_action := *
              }
             
+			template User_Equipment_Info_AVP mw_userEquipmentInfo_IMEI:=
+			{
+				aVP_Header := mw_aVP_Header_any_Code(458/*c_User_Equipment_Info_code*/),
+		        user_Equipment_Info_Type := {aVP_Header := ?/*459*/, aVP_Data   := IMEISV_E/*0*/ },
+                user_Equipment_Info_Value := ?
+			}
+            
         } //end group GxHeaderFields
         
         group S6aHeaderFields{
@@ -396,6 +403,10 @@ module AtsImsIot_Diameter_Templates {
                 cancellation_Type   := p_cancellation_Type
             } // End of template m_cancellationType
             
+            template Subscription_Data_AVP mw_subscriptionData_emergencyInfo:= {
+				aVP_Header := mw_aVP_Header_any_Code(c_subscription_Data_AVP_Code),
+				emergency_Info := ?
+            }
         } //end group S6aHeaderFields
         
         
@@ -1004,6 +1015,38 @@ module AtsImsIot_Diameter_Templates {
                     }
                 }
 
+				template CCR_MSG mw_CCR_SubscriberIMSI_qosInformation_class5_ES(CC_Request_Ty_Type p_avpData) modifies mw_CCR_basic := {
+					cCR_Body :={
+						cC_Request_Type        := mw_cC_Request_Type(p_avpData),
+						subscription_Id        := {*,mw_subscription_Id(mw_subscription_Id_Type(END_USER_IMSI_E))},
+						iP_CAN_Type            := ?,
+						rat_Type               := ?,
+						called_Station_Id      := ?,
+						pDN_Connection_ID      := *,
+						framed_IP_Address      := ?,
+						//framed_IPv6_Prefix     := *,
+						//bearer_Usage           := mw_bearer_Usage(IMS_SIGNALLING_E),
+						qoS_Information        := mw_qoS_Information,
+						default_EPS_Bearer_QoS := mw_default_EPS_Bearer_QoS_Class_5
+					}
+				}
+				template CCR_MSG mw_CCR_SubscriberIMEI_qosInformation_class5_ES(CC_Request_Ty_Type p_avpData) modifies mw_CCR_basic := {
+					cCR_Body :={
+						cC_Request_Type        := mw_cC_Request_Type(p_avpData),
+						//subscription_Id        := {*,mw_subscription_Id(mw_subscription_Id_Type(END_USER_IMSI_E))},
+						user_Equipment_Info    := mw_userEquipmentInfo_IMEI,
+						iP_CAN_Type            := ?,
+						rat_Type               := ?,
+						called_Station_Id      := ?,
+						pDN_Connection_ID      := *,
+						framed_IP_Address      := ?,
+						//framed_IPv6_Prefix     := *,
+						//bearer_Usage           := mw_bearer_Usage(IMS_SIGNALLING_E),
+						qoS_Information        := mw_qoS_Information,
+						default_EPS_Bearer_QoS := mw_default_EPS_Bearer_QoS_Class_5
+					}
+				}
+				
                 template RAR_MSG mw_RAR_ChargingRuleInstall(template Charging_Rule_Install_AVP p_Charging_Rule_Install) modifies mw_RAR_Gx_basic := {
                     rAR_Body :={
                         charging_Rule_Install := {p_Charging_Rule_Install}
@@ -1161,6 +1204,13 @@ module AtsImsIot_Diameter_Templates {
                         ula_Flags := ?
                     }
                 }
+				template ULA_MSG mw_ULA_subsdata_flags modifies mw_ULA_resultCode_flags := {
+					uLA_Body :={
+						//result_Code := mw_resultCode(mw_resultCode_diameterSuccess),
+						//ula_Flags := ?
+						subscription_Data :=mw_subscriptionData_emergencyInfo
+					}
+				}
                 
             }// end group S6aRequestMessageTemplates
         }//end group S6aMessageTemplates
-- 
GitLab