diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn
index ddc651c..be1953e 100644
--- a/ggsn_tests/GGSN_Tests.ttcn
+++ b/ggsn_tests/GGSN_Tests.ttcn
@@ -531,7 +531,7 @@
 						tr_AVP_Multiple_Services_Credit_Control(content := superset(
 							tr_AVP_Requested_Service_Unit,
 							tr_AVP_Used_Service_Unit,
-							tr_AVP_3GPP_QoS_Information,
+							tr_AVP_PCC_3GPP_QoS_Information,
 							tr_AVP_GI_3GPP_RatType(rat_type)
 						)),
 						tr_AVP_3GPP_ServiceInformation(content := superset(
@@ -578,7 +578,7 @@
 							tr_AVP_Requested_Service_Unit,
 							tr_AVP_Used_Service_Unit,
 							/* tr_AVP_3GPP_Reporting_Reason, can be sometimes inside UsedServiceUnit */
-							tr_AVP_3GPP_QoS_Information,
+							tr_AVP_PCC_3GPP_QoS_Information,
 							tr_AVP_GI_3GPP_RatType(rat_type)
 						)),
 						tr_AVP_3GPP_ServiceInformation(content := superset(
@@ -626,7 +626,7 @@
 							/* tr_AVP_Requested_Service_Unit, Only in INIT and UPDATE */
 							tr_AVP_Used_Service_Unit,
 							tr_AVP_3GPP_Reporting_Reason(FINAL),
-							tr_AVP_3GPP_QoS_Information,
+							tr_AVP_PCC_3GPP_QoS_Information,
 							tr_AVP_GI_3GPP_RatType(rat_type)
 						)),
 						tr_AVP_3GPP_ServiceInformation(content := superset(
diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn
index 2bc9e77..be3d8a2 100644
--- a/library/DIAMETER_Templates.ttcn
+++ b/library/DIAMETER_Templates.ttcn
@@ -860,7 +860,7 @@
 	}
 }
 
-template (present) GenericAVP tr_AVP_3GPP_QoS_Information(template (present) AVP_list list := ?) := {
+template (present) GenericAVP tr_AVP_PCC_3GPP_QoS_Information(template (present) AVP_list list := ?) := {
 	avp := {
 		avp_header := tr_DIA_Hdr_3GPP(c_AVP_Code_PCC_3GPP_QoS_Information),
 		avp_data := {
@@ -869,11 +869,47 @@
 	}
 }
 
-template (value) GenericAVP ts_AVP_3GPP_QosClassId(uint32_t id) := {
+template (value) GenericAVP ts_AVP_PCC_3GPP_QoS_Information(template (value) AVP_list list) := {
+	avp := {
+		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_PCC_3GPP_QoS_Information),
+		avp_data := {
+			avp_PCC_3GPP_QoS_Information := list
+		}
+	}
+}
+
+template (value) GenericAVP ts_AVP_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL(uint32_t val) := {
+	avp := {
+		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL),
+		avp_data := {
+			avp_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL := int2oct(val, 4)
+		}
+	}
+}
+
+template (value) GenericAVP ts_AVP_PCC_3GPP_APN_Aggregate_Max_Bitrate_UL(uint32_t val) := {
+	avp := {
+		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_PCC_3GPP_APN_Aggregate_Max_Bitrate_UL),
+		avp_data := {
+			avp_PCC_3GPP_APN_Aggregate_Max_Bitrate_UL := int2oct(val, 4)
+		}
+	}
+}
+
+template (value) GenericAVP ts_AVP_PCC_3GPP_Default_EPS_Bearer_QoS(template (value) AVP_list list) := {
+	avp := {
+		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_PCC_3GPP_Default_EPS_Bearer_QoS),
+		avp_data := {
+			avp_PCC_3GPP_Default_EPS_Bearer_QoS := list
+		}
+	}
+}
+
+template (value) GenericAVP ts_AVP_PCC_3GPP_QoS_Class_Identifier(uint32_t val) := {
 	avp := {
 		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_PCC_3GPP_QoS_Class_Identifier),
 		avp_data := {
-			avp_PCC_3GPP_QoS_Class_Identifier := int2oct(id, 4)
+			avp_PCC_3GPP_QoS_Class_Identifier := int2oct(val, 4)
 		}
 	}
 }
@@ -887,8 +923,7 @@
 	}
 }
 
-
-template (value) GenericAVP ts_AVP_3GPP_AllocRetenPrio(uint32_t prio) := {
+template (value) GenericAVP ts_AVP_PCC_3GPP_AllocRetenPrio(uint32_t prio) := {
 	avp := {
 		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_PCC_3GPP_Allocation_Retention_Priority),
 		avp_data := {
@@ -906,8 +941,8 @@
 		avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_AAA_3GPP_EPS_Subscribed_QoS_Profile),
 		avp_data := {
 			avp_AAA_3GPP_EPS_Subscribed_QoS_Profile := {
-				ts_AVP_3GPP_QosClassId(qos_class),
-				ts_AVP_3GPP_AllocRetenPrio(prio)
+				ts_AVP_PCC_3GPP_QoS_Class_Identifier(qos_class),
+				ts_AVP_PCC_3GPP_AllocRetenPrio(prio)
 			}
 		}
 	}
diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn
index e1f49ab..1041898 100644
--- a/pgw/PGW_Tests.ttcn
+++ b/pgw/PGW_Tests.ttcn
@@ -361,7 +361,7 @@
 					tr_AVP_Multiple_Services_Credit_Control(content := superset(
 						tr_AVP_Requested_Service_Unit,
 						tr_AVP_Used_Service_Unit,
-						tr_AVP_3GPP_QoS_Information,
+						tr_AVP_PCC_3GPP_QoS_Information,
 						tr_AVP_GI_3GPP_RatType(rat_type)
 					)),
 					tr_AVP_3GPP_ServiceInformation(content := superset(
@@ -410,7 +410,7 @@
 						tr_AVP_Requested_Service_Unit,
 						tr_AVP_Used_Service_Unit,
 						/* tr_AVP_3GPP_Reporting_Reason, can be sometimes inside UsedServiceUnit */
-						tr_AVP_3GPP_QoS_Information,
+						tr_AVP_PCC_3GPP_QoS_Information,
 						tr_AVP_GI_3GPP_RatType(rat_type)
 					)),
 					tr_AVP_3GPP_ServiceInformation(content := superset(
@@ -460,7 +460,7 @@
 						/* tr_AVP_Requested_Service_Unit, Only in INIT and UPDATE */
 						tr_AVP_Used_Service_Unit,
 						tr_AVP_3GPP_Reporting_Reason(FINAL),
-						tr_AVP_3GPP_QoS_Information,
+						tr_AVP_PCC_3GPP_QoS_Information,
 						tr_AVP_GI_3GPP_RatType(rat_type)
 					)),
 					tr_AVP_3GPP_ServiceInformation(content := superset(
