diff --git a/library/DIAMETER_ts29_273_Templates.ttcn b/library/DIAMETER_ts29_273_Templates.ttcn
index c7f2a45..e116cfd 100644
--- a/library/DIAMETER_ts29_273_Templates.ttcn
+++ b/library/DIAMETER_ts29_273_Templates.ttcn
@@ -35,6 +35,49 @@
  * SWx 3GPP TS 29.273 section 8
  *******************************/
 
+/* TS 29.273 8.2.3.1 Non-3GPP-User-Data */
+template (value) GenericAVP ts_AVP_3GPP_Non_3GPP_User_Data(template (value) AAA_3GPP_PDN_Type pdn_type,
+							   template (value) charstring apn,
+							   template (value) uint32_t ambr_max_req_ul := 1000000000,
+							   template (value) uint32_t ambr_max_req_dl := 1000000000) := {
+	avp := {
+		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_AAA_3GPP_Non_3GPP_User_Data),
+		avp_data := {
+			avp_AAA_3GPP_Non_3GPP_User_Data := {
+				ts_AVP_3GPP_Non_3GPP_IP_Access(NON_3GPP_SUBSCRIPTION_ALLOWED),
+				ts_AVP_3GPP_Non_3GPP_IP_Access_APN(NON_3GPP_APNS_ENABLE),
+				ts_AVP_3GPP_AMBR(ambr_max_req_ul, ambr_max_req_dl),
+				ts_AVP_3GPP_ContextId(1),
+				ts_AVP_3GPP_ApnConfig(1, pdn_type, apn)
+			}
+		}
+	}
+}
+
+/* TS 29.273 8.2.3.3 Non-3GPP-IP-Access */
+template (value) GenericAVP ts_AVP_3GPP_Non_3GPP_IP_Access(template (value) AAA_3GPP_Non_3GPP_IP_Access val := NON_3GPP_SUBSCRIPTION_ALLOWED) := {
+	avp := {
+		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_AAA_3GPP_Non_3GPP_IP_Access),
+		avp_data := {
+			avp_AAA_3GPP_Non_3GPP_IP_Access := val
+		}
+	}
+}
+
+
+/* TS 29.273 8.2.3.4 Non-3GPP-IP-Access-APN */
+template (value) GenericAVP ts_AVP_3GPP_Non_3GPP_IP_Access_APN(template (value) AAA_3GPP_Non_3GPP_IP_Access_APN val := NON_3GPP_APNS_ENABLE) := {
+	avp := {
+		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_AAA_3GPP_Non_3GPP_IP_Access_APN),
+		avp_data := {
+			avp_AAA_3GPP_Non_3GPP_IP_Access_APN := val
+		}
+	}
+}
+
+/* TS 29.273 8.2.3.7 APN-Configuration: The APN-Configuration AVP is of type Grouped AVP and is defined in 3GPP TS 29.272 */
+/* TS 29.273 5.2.3.8 AMBR: Please refer to 3GPP TS 29.272 [29] for the encoding of this AVP. */
+
 /* SIP-Auth-Data-Item , 3GPP TS 29.273 8.2.3.9 */
 template (present) GenericAVP tr_AVP_3GPP_SIPAuthDataItem(template (present) uint32_t num := ?) := {
 	avp := {
@@ -171,6 +214,8 @@
  * 3GPP TS 29.273 8.2.2.3 Non-3GPP IP Access Registration Procedure */
 template (value) PDU_DIAMETER
 ts_DIA_SWx_SAA(template (value) hexstring imsi,
+	       template (value) AAA_3GPP_PDN_Type pdn_type,
+	       template (value) charstring apn,
 	       template (value) uint32_t vendor_app_id := c_DIAMETER_3GPP_SWx_AID,
 	       template (value) octetstring sess_id := c_def_sess_id,
 	       template (value) charstring orig_host := "hss.localdomain",
@@ -189,9 +234,9 @@
 			ts_AVP_AuthSessionState(NO_STATE_MAINTAINED),
 			ts_AVP_OriginHost(orig_host),
 			ts_AVP_OriginRealm(orig_realm),
-			ts_AVP_UserNameImsi(valueof(imsi))
+			ts_AVP_UserNameImsi(valueof(imsi)),
+			ts_AVP_3GPP_Non_3GPP_User_Data(pdn_type, apn)
 			/* TODO:
-			 * [ Non-3GPP-User-Data ]
 			 * [ 3GPP-AAA-Server-Name ]
 			 * [ OC-Supported-Features ]
 			 * [ OC-OLR ] ]
