changeset 1481:c9e9f8a71946

Update to 3GPP TS 32.299 V15.7.0 (2019-06) Add AVPs: - 3GPP-OC-Rating-Group, Unsigned32, code 1321 - 3GPP-OC-Request-Type, Enumerated, code 1322 - 3GPP-OC-Specific-Reduction, Grouped, code 1320 - 3GPP-PS-Data-Off-Status-32.299, Enumerated, code 4406 - API-Content, UTF8String, code 1309 - API-Direction, Enumerated, code 1310 - API-Identifier, OctetString, code 1311 - API-Invocation-Timestamp, Time, code 1312 - API-Network-Service-Node, Enumerated, code 1315 - API-Result-Code, Unsigned32, code 1313 - API-Size, Unsigned64, code 1314 - APN-Rate-Control, Grouped, code 3933 - APN-Rate-Control-Downlink, Grouped, code 3934 - APN-Rate-Control-Uplink, Grouped, code 3935 - Access-Network-Info-Change, Grouped, code 4401 - Additional-Exception-Reports, Enumerated, code 3936 - Announcement-Identifier, Unsigned32, code 3905 - Announcement-Information, Grouped, code 3904 - Announcement-Order, Unsigned32, code 3906 - Announcing-PLMN-ID, UTF8String, code 4408 - Announcing-UE-HPLMN-Identifier, UTF8String, code 3426 - Announcing-UE-VPLMN-Identifier, UTF8String, code 3427 - Application-Specific-Data, OctetString, code 3458 - Authorised-QoS, UTF8String, code 849 - BSSID, UTF8String, code 2716 - Basic-Service-Code, Grouped, code 3411 - Bearer-Capability, OctetString, code 3412 - CN-Operator-Selection-Entity, Enumerated, code 3421 - CP-CIoT-EPS-Optimisation-Indicator, Enumerated, code 3930 - CPDT-Information, Grouped, code 3927 - Called-Identity, UTF8String, code 3916 - Called-Identity-Change, Grouped, code 3917 - Cellular-Network-Information, OctetString, code 3924 - Charging-Per-IP-CAN-Session-Indicator, Enumerated, code 4400 - Civic-Address-Information, UTF8String, code 1305 - Coverage-Info, Grouped, code 3459 - Coverage-Status, Enumerated, code 3428 - Discoveree-UE-HPLMN-Identifier, UTF8String, code 4402 - Discoveree-UE-VPLMN-Identifier, UTF8String, code 4403 - Discoverer-UE-HPLMN-Identifier, UTF8String, code 4404 - Discoverer-UE-VPLMN-Identifier, UTF8String, code 4405 - EPDG-Address, Address, code 3425 - Enhanced-Diagnostics, Grouped, code 3901 - Exposure-Function-API-Information, Grouped, code 1316 - FE-Identifier-List, UTF8String, code 4413 - Forwarding-Pending, Enumerated, code 3415 - IMS-Visited-Network-Identifier, UTF8String, code 2713 - ISUP-Cause, Grouped, code 3416 - ISUP-Cause-Diagnostics, OctetString, code 3422 - ISUP-Cause-Location, Unsigned32, code 3423 - ISUP-Cause-Value, Unsigned32, code 3424 - ISUP-Location-Number, OctetString, code 3414 - Instance-Id, UTF8String, code 3402 - Inter-UE-Transfer, Enumerated, code 3902 - Language, UTF8String, code 3914 - Layer-2-Group-ID, OctetString, code 3429 - Location-Info, Grouped, code 3460 - MBMS-Charged-Party, Enumerated, code 2323 - MSC-Address, OctetString, code 3417 - MTC-IWF-Address, Address, code 3406 - Monitored-PLMN-Identifier, UTF8String, code 3430 - Monitoring-Event-Configuration-Activity, Integer32, code 3919 - Monitoring-Event-Functionality, Integer32, code 3922 - Monitoring-Event-Information, Grouped, code 3921 - Monitoring-Event-Report-Data, Grouped, code 3920 - Monitoring-Event-Report-Number, Unsigned32, code 3923 - Monitoring-UE-HPLMN-Identifier, UTF8String, code 3431 - Monitoring-UE-Identifier, UTF8String, code 3432 - Monitoring-UE-VPLMN-Identifier, UTF8String, code 3433 - NIDD-Submission, Grouped, code 3928 - Network-Call-Reference-Number, OctetString, code 3418 - PC3-Control-Protocol-Cause, Integer32, code 3434 - PC3-EPC-Control-Protocol-Cause, Integer32, code 3435 - PC5-Radio-Technology, Enumerated, code 1300 - Play-Alternative, Enumerated, code 3913 - Privacy-Indicator, Enumerated, code 3915 - ProSe-3rd-Party-Application-ID, UTF8String, code 3440 - ProSe-Direct-Communication-Reception-Data-Container, Grouped, code 3461 - ProSe-Direct-Communication-Transmission-Data-Container, Grouped, code 3441 - ProSe-Direct-Discovery-Model, Enumerated, code 3442 - ProSe-Event-Type, Enumerated, code 3443 - ProSe-Function-IP-Address, Address, code 3444 - ProSe-Function-PLMN-Identifier, UTF8String, code 3457 - ProSe-Functionality, Enumerated, code 3445 - ProSe-Group-IP-Multicast-Address, Address, code 3446 - ProSe-Information, Grouped, code 3447 - ProSe-Range-Class, Enumerated, code 3448 - ProSe-Reason-For-Cancellation, Enumerated, code 3449 - ProSe-Request-Timestamp, Time, code 3450 - ProSe-Role-Of-UE, Enumerated, code 3451 - ProSe-Source-IP-Address, Address, code 3452 - ProSe-Target-Layer-2-ID, OctetString, code 4410 - ProSe-UE-ID, OctetString, code 3453 - ProSe-UE-to-Network-Relay-UE-ID, OctetString, code 4409 - Proximity-Alert-Indication, Enumerated, code 3454 - Proximity-Alert-Timestamp, Time, code 3455 - Proximity-Cancellation-Timestamp, Time, code 3456 - Quota-Indicator, Enumerated, code 3912 - RAN-End-Time, Time, code 1301 - RAN-Secondary-RAT-Usage-Report, Grouped, code 1302 - RAN-Start-Time, Time, code 1303 - Radio-Frequency, OctetString, code 3462 - Radio-Parameter-Set-Info, Grouped, code 3463 - Radio-Parameter-Set-Values, OctetString, code 3464 - Radio-Resources-Indicator, Integer32, code 3465 - Rate-Control-Max-Message-Size, Unsigned32, code 3937 - Rate-Control-Max-Rate, Unsigned32, code 3938 - Rate-Control-Time-Unit, Unsigned32, code 3939 - Reason-Header, UTF8String, code 3401 - Related-Change-Condition-Information, Grouped, code 3925 - Related-IMS-Charging-Identifier, UTF8String, code 2711 - Related-IMS-Charging-Identifier-Node, Address, code 2712 - Related-Trigger, Grouped, code 3926 - Relay-IP-address, Address, code 4411 - Requested-PLMN-Identifier, UTF8String, code 3436 - Requestor-PLMN-Identifier, UTF8String, code 3437 - Role-Of-ProSe-Function, Enumerated, code 3438 - Route-Header-Received, UTF8String, code 3403 - Route-Header-Transmitted, UTF8String, code 3404 - SCEF-Address, Address, code 1317 - SCS-AS-Address, Grouped, code 3940 - SCS-Address, Address, code 3941 - SCS-Realm, DiameterIdentity, code 3942 - SGi-PtP-Tunnelling-Method, Enumerated, code 3931 - SM-Device-Trigger-Indicator, Enumerated, code 3407 - SM-Device-Trigger-Information, Grouped, code 3405 - SM-Sequence-Number, Unsigned32, code 3408 - SMS-Result, Unsigned32, code 3409 - Secondary-RAT-Type, OctetString, code 1304 - Serving-Node-Identity, DiameterIdentity, code 3929 - Start-of-Charging, Time, code 3419 - TAD-Identifier, Enumerated, code 2717 - TLTRI, Unsigned32, code 1318 - TWAG-Address, Address, code 3903 - TWAN-User-Location-Info, Grouped, code 2714 - Target-IP-Address, Address, code 4412 - Teleservice, OctetString, code 3413 - Time-First-Reception, Time, code 3466 - Time-First-Transmission, Time, code 3467 - Time-Indicator, Unsigned32, code 3911 - Transmitter-Info, Grouped, code 3468 - UNI-PDU-CP-Only-Flag, Enumerated, code 3932 - UWAN-User-Location-Info, Grouped, code 3918 - Unused-Quota-Timer, Unsigned32, code 4407 - Usage-Information-Report-Sequence-Number, Integer32, code 3439 - VCS-Information, Grouped, code 3410 - VLR-Number, OctetString, code 3420 - Variable-Part, Grouped, code 3907 - Variable-Part-Order, Unsigned32, code 3908 - Variable-Part-Type, Unsigned32, code 3909 - Variable-Part-Value, UTF8String, code 3910 - WLAN-Operator-Id, Grouped, code 1306 - WLAN-Operator-Name, UTF8String, code 1307 - WLAN-PLMN-Id, UTF8String, code 1308 3GPP TS 32.299 V11.8.0 (2013-07) renamed LCS-Requestor-Id (1239) to LCS-Requestor-ID (1239). 3GPP TS 32.299 V11.8.0 (2013-07) renamed LCS-Requestor-Id-String (1240) to LCS-Requestor-ID-String (1240). 3GPP TS 32.299 V13.1.0 (2015-06) renamed PoC-User-Role-info-Units (1254) to PoC-User-Role-Info-Units (1254). 3GPP TS 32.299 V11.10.0 (2013-12) renamed Status (2702) to Status-Code (2702), and then 3GPP TS 32.299 V11.14.0 (2014-12) renamed Status-Code (2702) to Status-AS-Code (2702).
author Luke Mewburn <luke@mewburn.net>
date Thu, 26 Mar 2020 15:26:18 +1100
parents 8a91dba8164e
children 8232878f292d
files extensions/dict_dcca_3gpp/dict_dcca_3gpp.c extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv
diffstat 2 files changed, 3183 insertions(+), 893 deletions(-) [+]
line wrap: on
line diff
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Thu Mar 26 14:25:50 2020 +1100
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Thu Mar 26 15:26:18 2020 +1100
@@ -8771,15 +8771,79 @@
 	};
 
 	/*==================================================================*/
-	/* 3GPP 32.299-b80 (11.8.0 2013-07)                                 */
+	/* 3GPP TS 32.299 V15.7.0 (2019-06)                                 */
+	/* From 3GPP 32299-f70.doc                                          */
+	/*==================================================================*/
+
+	/*==================================================================*/
+	/* 3GPP TS 32.299 Table 7.2.0.1: 3GPP specific AVPs                 */
 	/*==================================================================*/
 
-	/* AF-Correlation-Information, Grouped, code 1276                   */
-	{
-		struct dict_avp_data data = {
-			1276,	/* Code */
-			10415,	/* Vendor */
-			"AF-Correlation-Information",	/* Name */
+	/* 3GPP-OC-Specific-Reduction, Grouped, code 1320                   */
+	{
+		struct dict_avp_data data = {
+			1320,	/* Code */
+			10415,	/* Vendor */
+			"3GPP-OC-Specific-Reduction",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* 3GPP-OC-Rating-Group, Unsigned32, code 1321                      */
+	{
+		struct dict_avp_data data = {
+			1321,	/* Code */
+			10415,	/* Vendor */
+			"3GPP-OC-Rating-Group",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* 3GPP-OC-Request-Type, Enumerated, code 1322                      */
+	{
+		struct dict_avp_data data = {
+			1322,	/* Code */
+			10415,	/* Vendor */
+			"3GPP-OC-Request-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/3GPP-OC-Request-Type)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Note: Name conflict with 3GPP TS 29.212 3GPP-PS-Data-Off-Status (2847). */
+	/* 3GPP-PS-Data-Off-Status-32.299, Enumerated, code 4406            */
+	{
+		struct dict_avp_data data = {
+			4406,	/* Code */
+			10415,	/* Vendor */
+			"3GPP-PS-Data-Off-Status-32.299",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/3GPP-PS-Data-Off-Status-32.299)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Access-Network-Info-Change, Grouped, code 4401                   */
+	{
+		struct dict_avp_data data = {
+			4401,	/* Code */
+			10415,	/* Vendor */
+			"Access-Network-Info-Change",	/* Name */
 			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
 			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
 			AVP_TYPE_GROUPED	/* base type of data */
@@ -8884,6 +8948,22 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Additional-Exception-Reports, Enumerated, code 3936              */
+	{
+		struct dict_avp_data data = {
+			3936,	/* Code */
+			10415,	/* Vendor */
+			"Additional-Exception-Reports",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Additional-Exception-Reports)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
 	/* Additional-Type-Information, UTF8String, code 1205               */
 	{
 		struct dict_avp_data data = {
@@ -8923,6 +9003,22 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Addressee-Type, Enumerated, code 1208                            */
+	{
+		struct dict_avp_data data = {
+			1208,	/* Code */
+			10415,	/* Vendor */
+			"Addressee-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Addressee-Type)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
 	/* Address-Type, Enumerated, code 899                               */
 	{
 		struct dict_avp_data data = {
@@ -8939,20 +9035,17 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
-	/* Addressee-Type, Enumerated, code 1208                            */
-	{
-		struct dict_avp_data data = {
-			1208,	/* Code */
-			10415,	/* Vendor */
-			"Addressee-Type",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Addressee-Type)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	/* AF-Correlation-Information, Grouped, code 1276                   */
+	{
+		struct dict_avp_data data = {
+			1276,	/* Code */
+			10415,	/* Vendor */
+			"AF-Correlation-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
 	/* Alternate-Charged-Party-Address, UTF8String, code 1280           */
@@ -8968,6 +9061,84 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Announcement-Identifier, Unsigned32, code 3905                   */
+	{
+		struct dict_avp_data data = {
+			3905,	/* Code */
+			10415,	/* Vendor */
+			"Announcement-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Announcement-Information, Grouped, code 3904                     */
+	{
+		struct dict_avp_data data = {
+			3904,	/* Code */
+			10415,	/* Vendor */
+			"Announcement-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Announcement-Order, Unsigned32, code 3906                        */
+	{
+		struct dict_avp_data data = {
+			3906,	/* Code */
+			10415,	/* Vendor */
+			"Announcement-Order",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Announcing-PLMN-ID, UTF8String, code 4408                        */
+	{
+		struct dict_avp_data data = {
+			4408,	/* Code */
+			10415,	/* Vendor */
+			"Announcing-PLMN-ID",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Announcing-UE-HPLMN-Identifier, UTF8String, code 3426            */
+	{
+		struct dict_avp_data data = {
+			3426,	/* Code */
+			10415,	/* Vendor */
+			"Announcing-UE-HPLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Announcing-UE-VPLMN-Identifier, UTF8String, code 3427            */
+	{
+		struct dict_avp_data data = {
+			3427,	/* Code */
+			10415,	/* Vendor */
+			"Announcing-UE-VPLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
 	/* AoC-Cost-Information, Grouped, code 2053                         */
 	{
 		struct dict_avp_data data = {
@@ -9084,6 +9255,142 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* API-Content, UTF8String, code 1309                               */
+	{
+		struct dict_avp_data data = {
+			1309,	/* Code */
+			10415,	/* Vendor */
+			"API-Content",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* API-Direction, Enumerated, code 1310                             */
+	{
+		struct dict_avp_data data = {
+			1310,	/* Code */
+			10415,	/* Vendor */
+			"API-Direction",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/API-Direction)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* API-Identifier, OctetString, code 1311                           */
+	{
+		struct dict_avp_data data = {
+			1311,	/* Code */
+			10415,	/* Vendor */
+			"API-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* API-Invocation-Timestamp, Time, code 1312                        */
+	{
+		struct dict_avp_data data = {
+			1312,	/* Code */
+			10415,	/* Vendor */
+			"API-Invocation-Timestamp",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* API-Network-Service-Node, Enumerated, code 1315                  */
+	{
+		struct dict_avp_data data = {
+			1315,	/* Code */
+			10415,	/* Vendor */
+			"API-Network-Service-Node",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/API-Network-Service-Node)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* API-Result-Code, Unsigned32, code 1313                           */
+	{
+		struct dict_avp_data data = {
+			1313,	/* Code */
+			10415,	/* Vendor */
+			"API-Result-Code",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* API-Size, Unsigned64, code 1314                                  */
+	{
+		struct dict_avp_data data = {
+			1314,	/* Code */
+			10415,	/* Vendor */
+			"API-Size",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED64	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* APN-Rate-Control, Grouped, code 3933                             */
+	{
+		struct dict_avp_data data = {
+			3933,	/* Code */
+			10415,	/* Vendor */
+			"APN-Rate-Control",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* APN-Rate-Control-Downlink, Grouped, code 3934                    */
+	{
+		struct dict_avp_data data = {
+			3934,	/* Code */
+			10415,	/* Vendor */
+			"APN-Rate-Control-Downlink",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* APN-Rate-Control-Uplink, Grouped, code 3935                      */
+	{
+		struct dict_avp_data data = {
+			3935,	/* Code */
+			10415,	/* Vendor */
+			"APN-Rate-Control-Uplink",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Applic-ID, UTF8String, code 1218                                 */
 	{
 		struct dict_avp_data data = {
@@ -9097,6 +9404,19 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Application-Provided-Called-Party-Address, UTF8String, code 837  */
+	{
+		struct dict_avp_data data = {
+			837,	/* Code */
+			10415,	/* Vendor */
+			"Application-Provided-Called-Party-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
 	/* Application-Server, UTF8String, code 836                         */
 	{
 		struct dict_avp_data data = {
@@ -9123,17 +9443,17 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
-	/* Application-Provided-Called-Party-Address, UTF8String, code 837  */
-	{
-		struct dict_avp_data data = {
-			837,	/* Code */
-			10415,	/* Vendor */
-			"Application-Provided-Called-Party-Address",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	/* Application-Specific-Data, OctetString, code 3458                */
+	{
+		struct dict_avp_data data = {
+			3458,	/* Code */
+			10415,	/* Vendor */
+			"Application-Specific-Data",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
 	/* Associated-Party-Address, UTF8String, code 2035                  */
@@ -9162,6 +9482,19 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Authorised-QoS, UTF8String, code 849                             */
+	{
+		struct dict_avp_data data = {
+			849,	/* Code */
+			10415,	/* Vendor */
+			"Authorised-QoS",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
 	/* Aux-Applic-Info, UTF8String, code 1219                           */
 	{
 		struct dict_avp_data data = {
@@ -9188,6 +9521,32 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Basic-Service-Code, Grouped, code 3411                           */
+	{
+		struct dict_avp_data data = {
+			3411,	/* Code */
+			10415,	/* Vendor */
+			"Basic-Service-Code",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Bearer-Capability, OctetString, code 3412                        */
+	{
+		struct dict_avp_data data = {
+			3412,	/* Code */
+			10415,	/* Vendor */
+			"Bearer-Capability",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Bearer-Service, OctetString, code 854                            */
 	{
 		struct dict_avp_data data = {
@@ -9201,62 +9560,17 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
-	/* CG-Address, Address, code 846                                    */
-	{
-		struct dict_avp_data data = {
-			846,	/* Code */
-			10415,	/* Vendor */
-			"CG-Address",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
-	};
-
-	/* CSG-Access-Mode, Enumerated, code 2317                           */
-	{
-		struct dict_avp_data data = {
-			2317,	/* Code */
-			10415,	/* Vendor */
-			"CSG-Access-Mode",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CSG-Access-Mode)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* CSG-Membership-Indication, Enumerated, code 2318                 */
-	{
-		struct dict_avp_data data = {
-			2318,	/* Code */
-			10415,	/* Vendor */
-			"CSG-Membership-Indication",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CSG-Membership-Indication)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* CUG-Information, OctetString, code 2304                          */
-	{
-		struct dict_avp_data data = {
-			2304,	/* Code */
-			10415,	/* Vendor */
-			"CUG-Information",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	/* BSSID, UTF8String, code 2716                                     */
+	{
+		struct dict_avp_data data = {
+			2716,	/* Code */
+			10415,	/* Vendor */
+			"BSSID",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
 	/* Called-Asserted-Identity, UTF8String, code 1250                  */
@@ -9272,6 +9586,32 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Called-Identity, UTF8String, code 3916                           */
+	{
+		struct dict_avp_data data = {
+			3916,	/* Code */
+			10415,	/* Vendor */
+			"Called-Identity",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Called-Identity-Change, Grouped, code 3917                       */
+	{
+		struct dict_avp_data data = {
+			3917,	/* Code */
+			10415,	/* Vendor */
+			"Called-Identity-Change",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Called-Party-Address, UTF8String, code 832                       */
 	{
 		struct dict_avp_data data = {
@@ -9324,6 +9664,32 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Cellular-Network-Information, OctetString, code 3924             */
+	{
+		struct dict_avp_data data = {
+			3924,	/* Code */
+			10415,	/* Vendor */
+			"Cellular-Network-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* CG-Address, Address, code 846                                    */
+	{
+		struct dict_avp_data data = {
+			846,	/* Code */
+			10415,	/* Vendor */
+			"CG-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
 	/* Change-Condition, Integer32, code 2037                           */
 	{
 		struct dict_avp_data data = {
@@ -9395,6 +9761,35 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* Charging-Per-IP-CAN-Session-Indicator, Enumerated, code 4400     */
+	{
+		struct dict_avp_data data = {
+			4400,	/* Code */
+			10415,	/* Vendor */
+			"Charging-Per-IP-CAN-Session-Indicator",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Charging-Per-IP-CAN-Session-Indicator)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Civic-Address-Information, UTF8String, code 1305                 */
+	{
+		struct dict_avp_data data = {
+			1305,	/* Code */
+			10415,	/* Vendor */
+			"Civic-Address-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
 	/* Class-Identifier, Enumerated, code 1214                          */
 	{
 		struct dict_avp_data data = {
@@ -9424,6 +9819,22 @@
 		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
 	};
 
+	/* CN-Operator-Selection-Entity, Enumerated, code 3421              */
+	{
+		struct dict_avp_data data = {
+			3421,	/* Code */
+			10415,	/* Vendor */
+			"CN-Operator-Selection-Entity",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CN-Operator-Selection-Entity)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
 	/* Content-Class, Enumerated, code 1220                             */
 	{
 		struct dict_avp_data data = {
@@ -9492,6 +9903,109 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Coverage-Info, Grouped, code 3459                                */
+	{
+		struct dict_avp_data data = {
+			3459,	/* Code */
+			10415,	/* Vendor */
+			"Coverage-Info",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Coverage-Status, Enumerated, code 3428                           */
+	{
+		struct dict_avp_data data = {
+			3428,	/* Code */
+			10415,	/* Vendor */
+			"Coverage-Status",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Coverage-Status)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* CP-CIoT-EPS-Optimisation-Indicator, Enumerated, code 3930        */
+	{
+		struct dict_avp_data data = {
+			3930,	/* Code */
+			10415,	/* Vendor */
+			"CP-CIoT-EPS-Optimisation-Indicator",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CP-CIoT-EPS-Optimisation-Indicator)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* CPDT-Information, Grouped, code 3927                             */
+	{
+		struct dict_avp_data data = {
+			3927,	/* Code */
+			10415,	/* Vendor */
+			"CPDT-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* CSG-Access-Mode, Enumerated, code 2317                           */
+	{
+		struct dict_avp_data data = {
+			2317,	/* Code */
+			10415,	/* Vendor */
+			"CSG-Access-Mode",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CSG-Access-Mode)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* CSG-Membership-Indication, Enumerated, code 2318                 */
+	{
+		struct dict_avp_data data = {
+			2318,	/* Code */
+			10415,	/* Vendor */
+			"CSG-Membership-Indication",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CSG-Membership-Indication)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* CUG-Information, OctetString, code 2304                          */
+	{
+		struct dict_avp_data data = {
+			2304,	/* Code */
+			10415,	/* Vendor */
+			"CUG-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Current-Tariff, Grouped, code 2056                               */
 	{
 		struct dict_avp_data data = {
@@ -9505,22 +10019,6 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
-	/* DRM-Content, Enumerated, code 1221                               */
-	{
-		struct dict_avp_data data = {
-			1221,	/* Code */
-			10415,	/* Vendor */
-			"DRM-Content",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/DRM-Content)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
 	/* Data-Coding-Scheme, Integer32, code 2001                         */
 	{
 		struct dict_avp_data data = {
@@ -9589,6 +10087,58 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Discoveree-UE-HPLMN-Identifier, UTF8String, code 4402            */
+	{
+		struct dict_avp_data data = {
+			4402,	/* Code */
+			10415,	/* Vendor */
+			"Discoveree-UE-HPLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Discoveree-UE-VPLMN-Identifier, UTF8String, code 4403            */
+	{
+		struct dict_avp_data data = {
+			4403,	/* Code */
+			10415,	/* Vendor */
+			"Discoveree-UE-VPLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Discoverer-UE-HPLMN-Identifier, UTF8String, code 4404            */
+	{
+		struct dict_avp_data data = {
+			4404,	/* Code */
+			10415,	/* Vendor */
+			"Discoverer-UE-HPLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Discoverer-UE-VPLMN-Identifier, UTF8String, code 4405            */
+	{
+		struct dict_avp_data data = {
+			4405,	/* Code */
+			10415,	/* Vendor */
+			"Discoverer-UE-VPLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
 	/* Domain-Name, UTF8String, code 1200                               */
 	{
 		struct dict_avp_data data = {
@@ -9602,6 +10152,22 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* DRM-Content, Enumerated, code 1221                               */
+	{
+		struct dict_avp_data data = {
+			1221,	/* Code */
+			10415,	/* Vendor */
+			"DRM-Content",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/DRM-Content)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
 	/* Dynamic-Address-Flag, Enumerated, code 2051                      */
 	{
 		struct dict_avp_data data = {
@@ -9647,6 +10213,19 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Enhanced-Diagnostics, Grouped, code 3901                         */
+	{
+		struct dict_avp_data data = {
+			3901,	/* Code */
+			10415,	/* Vendor */
+			"Enhanced-Diagnostics",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Envelope, Grouped, code 1266                                     */
 	{
 		struct dict_avp_data data = {
@@ -9702,6 +10281,19 @@
 		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
 	};
 
+	/* EPDG-Address, Address, code 3425                                 */
+	{
+		struct dict_avp_data data = {
+			3425,	/* Code */
+			10415,	/* Vendor */
+			"EPDG-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
 	/* Event, UTF8String, code 825                                      */
 	{
 		struct dict_avp_data data = {
@@ -9754,6 +10346,32 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Exposure-Function-API-Information, Grouped, code 1316            */
+	{
+		struct dict_avp_data data = {
+			1316,	/* Code */
+			10415,	/* Vendor */
+			"Exposure-Function-API-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* FE-Identifier-List, UTF8String, code 4413                        */
+	{
+		struct dict_avp_data data = {
+			4413,	/* Code */
+			10415,	/* Vendor */
+			"FE-Identifier-List",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
 	/* File-Repair-Supported, Enumerated, code 1224                     */
 	{
 		struct dict_avp_data data = {
@@ -9770,6 +10388,22 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* Forwarding-Pending, Enumerated, code 3415                        */
+	{
+		struct dict_avp_data data = {
+			3415,	/* Code */
+			10415,	/* Vendor */
+			"Forwarding-Pending",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Forwarding-Pending)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
 	/* From-Address, UTF8String, code 2708                              */
 	{
 		struct dict_avp_data data = {
@@ -9864,6 +10498,19 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* IMS-Visited-Network-Identifier, UTF8String, code 2713            */
+	{
+		struct dict_avp_data data = {
+			2713,	/* Code */
+			10415,	/* Vendor */
+			"IMS-Visited-Network-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
 	/* IMSI-Unauthenticated-Flag, Enumerated, code 2308                 */
 	{
 		struct dict_avp_data data = {
@@ -9880,22 +10527,6 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
-	/* IP-Realm-Default-Indication, Enumerated, code 2603               */
-	{
-		struct dict_avp_data data = {
-			2603,	/* Code */
-			10415,	/* Vendor */
-			"IP-Realm-Default-Indication",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IP-Realm-Default-Indication)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
 	/* Incoming-Trunk-Group-Id, UTF8String, code 852                    */
 	{
 		struct dict_avp_data data = {
@@ -9935,17 +10566,17 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
-	/* Inter-Operator-Identifier, Grouped, code 838                     */
-	{
-		struct dict_avp_data data = {
-			838,	/* Code */
-			10415,	/* Vendor */
-			"Inter-Operator-Identifier",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	/* Instance-Id, UTF8String, code 3402                               */
+	{
+		struct dict_avp_data data = {
+			3402,	/* Code */
+			10415,	/* Vendor */
+			"Instance-Id",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
 	/* Interface-Id, UTF8String, code 2003                              */
@@ -10003,6 +10634,142 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* Inter-Operator-Identifier, Grouped, code 838                     */
+	{
+		struct dict_avp_data data = {
+			838,	/* Code */
+			10415,	/* Vendor */
+			"Inter-Operator-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Inter-UE-Transfer, Enumerated, code 3902                         */
+	{
+		struct dict_avp_data data = {
+			3902,	/* Code */
+			10415,	/* Vendor */
+			"Inter-UE-Transfer",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Inter-UE-Transfer)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* IP-Realm-Default-Indication, Enumerated, code 2603               */
+	{
+		struct dict_avp_data data = {
+			2603,	/* Code */
+			10415,	/* Vendor */
+			"IP-Realm-Default-Indication",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IP-Realm-Default-Indication)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* ISUP-Cause, Grouped, code 3416                                   */
+	{
+		struct dict_avp_data data = {
+			3416,	/* Code */
+			10415,	/* Vendor */
+			"ISUP-Cause",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* ISUP-Cause-Diagnostics, OctetString, code 3422                   */
+	{
+		struct dict_avp_data data = {
+			3422,	/* Code */
+			10415,	/* Vendor */
+			"ISUP-Cause-Diagnostics",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* ISUP-Cause-Location, Unsigned32, code 3423                       */
+	{
+		struct dict_avp_data data = {
+			3423,	/* Code */
+			10415,	/* Vendor */
+			"ISUP-Cause-Location",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* ISUP-Cause-Value, Unsigned32, code 3424                          */
+	{
+		struct dict_avp_data data = {
+			3424,	/* Code */
+			10415,	/* Vendor */
+			"ISUP-Cause-Value",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* ISUP-Location-Number, OctetString, code 3414                     */
+	{
+		struct dict_avp_data data = {
+			3414,	/* Code */
+			10415,	/* Vendor */
+			"ISUP-Location-Number",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Language, UTF8String, code 3914                                  */
+	{
+		struct dict_avp_data data = {
+			3914,	/* Code */
+			10415,	/* Vendor */
+			"Language",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Layer-2-Group-ID, OctetString, code 3429                         */
+	{
+		struct dict_avp_data data = {
+			3429,	/* Code */
+			10415,	/* Vendor */
+			"Layer-2-Group-ID",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* LCS-APN, UTF8String, code 1231                                   */
 	{
 		struct dict_avp_data data = {
@@ -10139,25 +10906,29 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
-	/* LCS-Requestor-Id, Grouped, code 1239                             */
+	/* Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed                   */
+	/* LCS-Requestor-Id (1239) to LCS-Requestor-ID (1239).              */
+	/* LCS-Requestor-ID, Grouped, code 1239                             */
 	{
 		struct dict_avp_data data = {
 			1239,	/* Code */
 			10415,	/* Vendor */
-			"LCS-Requestor-Id",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* LCS-Requestor-Id-String, UTF8String, code 1240                   */
+			"LCS-Requestor-ID",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed                   */
+	/* LCS-Requestor-Id-String (1240) to LCS-Requestor-ID-String (1240). */
+	/* LCS-Requestor-ID-String, UTF8String, code 1240                   */
 	{
 		struct dict_avp_data data = {
 			1240,	/* Code */
 			10415,	/* Vendor */
-			"LCS-Requestor-Id-String",	/* Name */
+			"LCS-Requestor-ID-String",	/* Name */
 			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
 			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
 			AVP_TYPE_OCTETSTRING	/* base type of data */
@@ -10223,6 +10994,19 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* Location-Info, Grouped, code 3460                                */
+	{
+		struct dict_avp_data data = {
+			3460,	/* Code */
+			10415,	/* Vendor */
+			"Location-Info",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Location-Type, Grouped, code 1244                                */
 	{
 		struct dict_avp_data data = {
@@ -10268,6 +11052,22 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* MBMS-Charged-Party, Enumerated, code 2323                        */
+	{
+		struct dict_avp_data data = {
+			2323,	/* Code */
+			10415,	/* Vendor */
+			"MBMS-Charged-Party",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-Charged-Party)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
 	/* Note: 3GPP TS 32.299 V11.8.0 (2013-07) table 7.2 changed         */
 	/* row MBMS-GW-Address (2307) to have a hyphen instead of space.    */
 	/* Generated name renamed from MBMSGW-Address (2307).               */
@@ -10313,74 +11113,6 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
-	/* MM-Content-Type, Grouped, code 1203                              */
-	{
-		struct dict_avp_data data = {
-			1203,	/* Code */
-			10415,	/* Vendor */
-			"MM-Content-Type",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* MMBox-Storage-Requested, Enumerated, code 1248                   */
-	{
-		struct dict_avp_data data = {
-			1248,	/* Code */
-			10415,	/* Vendor */
-			"MMBox-Storage-Requested",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MMBox-Storage-Requested)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* MMS-Information, Grouped, code 877                               */
-	{
-		struct dict_avp_data data = {
-			877,	/* Code */
-			10415,	/* Vendor */
-			"MMS-Information",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* MMTel-Information, Grouped, code 2030                            */
-	{
-		struct dict_avp_data data = {
-			2030,	/* Code */
-			10415,	/* Vendor */
-			"MMTel-Information",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* MMTel-SService-Type, Unsigned32, code 2031                       */
-	{
-		struct dict_avp_data data = {
-			2031,	/* Code */
-			10415,	/* Vendor */
-			"MMTel-SService-Type",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_UNSIGNED32	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
 	/* Media-Initiator-Flag, Enumerated, code 882                       */
 	{
 		struct dict_avp_data data = {
@@ -10478,6 +11210,269 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* MMBox-Storage-Requested, Enumerated, code 1248                   */
+	{
+		struct dict_avp_data data = {
+			1248,	/* Code */
+			10415,	/* Vendor */
+			"MMBox-Storage-Requested",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MMBox-Storage-Requested)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* MM-Content-Type, Grouped, code 1203                              */
+	{
+		struct dict_avp_data data = {
+			1203,	/* Code */
+			10415,	/* Vendor */
+			"MM-Content-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* MMS-Information, Grouped, code 877                               */
+	{
+		struct dict_avp_data data = {
+			877,	/* Code */
+			10415,	/* Vendor */
+			"MMS-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* MMTel-Information, Grouped, code 2030                            */
+	{
+		struct dict_avp_data data = {
+			2030,	/* Code */
+			10415,	/* Vendor */
+			"MMTel-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* MMTel-SService-Type, Unsigned32, code 2031                       */
+	{
+		struct dict_avp_data data = {
+			2031,	/* Code */
+			10415,	/* Vendor */
+			"MMTel-SService-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Monitored-PLMN-Identifier, UTF8String, code 3430                 */
+	{
+		struct dict_avp_data data = {
+			3430,	/* Code */
+			10415,	/* Vendor */
+			"Monitored-PLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Monitoring-Event-Configuration-Activity, Integer32, code 3919    */
+	{
+		struct dict_avp_data data = {
+			3919,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Event-Configuration-Activity",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Monitoring-Event-Functionality, Integer32, code 3922             */
+	{
+		struct dict_avp_data data = {
+			3922,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Event-Functionality",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Monitoring-Event-Information, Grouped, code 3921                 */
+	{
+		struct dict_avp_data data = {
+			3921,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Event-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Monitoring-Event-Report-Data, Grouped, code 3920                 */
+	{
+		struct dict_avp_data data = {
+			3920,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Event-Report-Data",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Monitoring-Event-Report-Number, Unsigned32, code 3923            */
+	{
+		struct dict_avp_data data = {
+			3923,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Event-Report-Number",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Monitoring-UE-HPLMN-Identifier, UTF8String, code 3431            */
+	{
+		struct dict_avp_data data = {
+			3431,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-UE-HPLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Monitoring-UE-Identifier, UTF8String, code 3432                  */
+	{
+		struct dict_avp_data data = {
+			3432,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-UE-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Monitoring-UE-VPLMN-Identifier, UTF8String, code 3433            */
+	{
+		struct dict_avp_data data = {
+			3433,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-UE-VPLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* MSC-Address, OctetString, code 3417                              */
+	{
+		struct dict_avp_data data = {
+			3417,	/* Code */
+			10415,	/* Vendor */
+			"MSC-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* MTC-IWF-Address, Address, code 3406                              */
+	{
+		struct dict_avp_data data = {
+			3406,	/* Code */
+			10415,	/* Vendor */
+			"MTC-IWF-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* Neighbour-Node-Address, Address, code 2705                       */
+	{
+		struct dict_avp_data data = {
+			2705,	/* Code */
+			10415,	/* Vendor */
+			"Neighbour-Node-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* Network-Call-Reference-Number, OctetString, code 3418            */
+	{
+		struct dict_avp_data data = {
+			3418,	/* Code */
+			10415,	/* Vendor */
+			"Network-Call-Reference-Number",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Next-Tariff, Grouped, code 2057                                  */
+	{
+		struct dict_avp_data data = {
+			2057,	/* Code */
+			10415,	/* Vendor */
+			"Next-Tariff",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* NIDD-Submission, Grouped, code 3928                              */
+	{
+		struct dict_avp_data data = {
+			3928,	/* Code */
+			10415,	/* Vendor */
+			"NIDD-Submission",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* NNI-Information, Grouped, code 2703                              */
 	{
 		struct dict_avp_data data = {
@@ -10507,32 +11502,6 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
-	/* Neighbour-Node-Address, Address, code 2705                       */
-	{
-		struct dict_avp_data data = {
-			2705,	/* Code */
-			10415,	/* Vendor */
-			"Neighbour-Node-Address",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
-	};
-
-	/* Next-Tariff, Grouped, code 2057                                  */
-	{
-		struct dict_avp_data data = {
-			2057,	/* Code */
-			10415,	/* Vendor */
-			"Next-Tariff",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
 	/* Node-Functionality, Enumerated, code 862                         */
 	{
 		struct dict_avp_data data = {
@@ -10776,30 +11745,104 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
-	/* PDG-Address, Address, code 895                                   */
-	{
-		struct dict_avp_data data = {
-			895,	/* Code */
-			10415,	/* Vendor */
-			"PDG-Address",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
-	};
-
-	/* PDG-Charging-Id, Unsigned32, code 896                            */
-	{
-		struct dict_avp_data data = {
-			896,	/* Code */
-			10415,	/* Vendor */
-			"PDG-Charging-Id",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_UNSIGNED32	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	/* Participant-Access-Priority, Enumerated, code 1259               */
+	{
+		struct dict_avp_data data = {
+			1259,	/* Code */
+			10415,	/* Vendor */
+			"Participant-Access-Priority",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Participant-Access-Priority)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Participant-Action-Type, Enumerated, code 2049                   */
+	{
+		struct dict_avp_data data = {
+			2049,	/* Code */
+			10415,	/* Vendor */
+			"Participant-Action-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Participant-Action-Type)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Participant-Group, Grouped, code 1260                            */
+	{
+		struct dict_avp_data data = {
+			1260,	/* Code */
+			10415,	/* Vendor */
+			"Participant-Group",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Participants-Involved, UTF8String, code 887                      */
+	{
+		struct dict_avp_data data = {
+			887,	/* Code */
+			10415,	/* Vendor */
+			"Participants-Involved",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* PC3-Control-Protocol-Cause, Integer32, code 3434                 */
+	{
+		struct dict_avp_data data = {
+			3434,	/* Code */
+			10415,	/* Vendor */
+			"PC3-Control-Protocol-Cause",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* PC3-EPC-Control-Protocol-Cause, Integer32, code 3435             */
+	{
+		struct dict_avp_data data = {
+			3435,	/* Code */
+			10415,	/* Vendor */
+			"PC3-EPC-Control-Protocol-Cause",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* PC5-Radio-Technology, Enumerated, code 1300                      */
+	{
+		struct dict_avp_data data = {
+			1300,	/* Code */
+			10415,	/* Vendor */
+			"PC5-Radio-Technology",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PC5-Radio-Technology)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
 	/* PDN-Connection-Charging-ID, Unsigned32, code 2050                */
@@ -10857,117 +11900,48 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
-	/* PS-Append-Free-Format-Data, Enumerated, code 867                 */
-	{
-		struct dict_avp_data data = {
-			867,	/* Code */
-			10415,	/* Vendor */
-			"PS-Append-Free-Format-Data",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PS-Append-Free-Format-Data)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* PS-Free-Format-Data, OctetString, code 866                       */
-	{
-		struct dict_avp_data data = {
-			866,	/* Code */
-			10415,	/* Vendor */
-			"PS-Free-Format-Data",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* PS-Furnish-Charging-Information, Grouped, code 865               */
-	{
-		struct dict_avp_data data = {
-			865,	/* Code */
-			10415,	/* Vendor */
-			"PS-Furnish-Charging-Information",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* PS-Information, Grouped, code 874                                */
-	{
-		struct dict_avp_data data = {
-			874,	/* Code */
-			10415,	/* Vendor */
-			"PS-Information",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* Participant-Access-Priority, Enumerated, code 1259               */
-	{
-		struct dict_avp_data data = {
-			1259,	/* Code */
-			10415,	/* Vendor */
-			"Participant-Access-Priority",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Participant-Access-Priority)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* Participant-Action-Type, Enumerated, code 2049                   */
-	{
-		struct dict_avp_data data = {
-			2049,	/* Code */
-			10415,	/* Vendor */
-			"Participant-Action-Type",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Participant-Action-Type)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* Participant-Group, Grouped, code 1260                            */
-	{
-		struct dict_avp_data data = {
-			1260,	/* Code */
-			10415,	/* Vendor */
-			"Participant-Group",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* Participants-Involved, UTF8String, code 887                      */
-	{
-		struct dict_avp_data data = {
-			887,	/* Code */
-			10415,	/* Vendor */
-			"Participants-Involved",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	/* Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed PDG-Address (895). */
+	/* PDG-Address, Address, code 895                                   */
+	{
+		struct dict_avp_data data = {
+			895,	/* Code */
+			10415,	/* Vendor */
+			"PDG-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed PDG-Charging-Id (896). */
+	/* PDG-Charging-Id, Unsigned32, code 896                            */
+	{
+		struct dict_avp_data data = {
+			896,	/* Code */
+			10415,	/* Vendor */
+			"PDG-Charging-Id",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Play-Alternative, Enumerated, code 3913                          */
+	{
+		struct dict_avp_data data = {
+			3913,	/* Code */
+			10415,	/* Vendor */
+			"Play-Alternative",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Play-Alternative)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
 	/* PoC-Change-Condition, Enumerated, code 1261                      */
@@ -11141,18 +12115,20 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
-	/* PoC-User-Role-info-Units, Enumerated, code 1254                  */
+	/* Note: 3GPP TS 32.299 V13.1.0 (2015-06) renamed                   */
+	/* PoC-User-Role-info-Units (1254) to PoC-User-Role-Info-Units (1254). */
+	/* PoC-User-Role-Info-Units, Enumerated, code 1254                  */
 	{
 		struct dict_avp_data data = {
 			1254,	/* Code */
 			10415,	/* Vendor */
-			"PoC-User-Role-info-Units",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PoC-User-Role-info-Units)", NULL, NULL, NULL };
+			"PoC-User-Role-Info-Units",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PoC-User-Role-Info-Units)", NULL, NULL, NULL };
 		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
@@ -11199,6 +12175,371 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* Privacy-Indicator, Enumerated, code 3915                         */
+	{
+		struct dict_avp_data data = {
+			3915,	/* Code */
+			10415,	/* Vendor */
+			"Privacy-Indicator",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Privacy-Indicator)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* ProSe-3rd-Party-Application-ID, UTF8String, code 3440            */
+	{
+		struct dict_avp_data data = {
+			3440,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-3rd-Party-Application-ID",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* ProSe-Direct-Communication-Reception-Data-Container, Grouped, code 3461 */
+	{
+		struct dict_avp_data data = {
+			3461,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Direct-Communication-Reception-Data-Container",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* ProSe-Direct-Communication-Transmission-Data-Container, Grouped, code 3441 */
+	{
+		struct dict_avp_data data = {
+			3441,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Direct-Communication-Transmission-Data-Container",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* ProSe-Direct-Discovery-Model, Enumerated, code 3442              */
+	{
+		struct dict_avp_data data = {
+			3442,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Direct-Discovery-Model",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/ProSe-Direct-Discovery-Model)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* ProSe-Event-Type, Enumerated, code 3443                          */
+	{
+		struct dict_avp_data data = {
+			3443,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Event-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/ProSe-Event-Type)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* ProSe-Function-IP-Address, Address, code 3444                    */
+	{
+		struct dict_avp_data data = {
+			3444,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Function-IP-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* ProSe-Function-PLMN-Identifier, UTF8String, code 3457            */
+	{
+		struct dict_avp_data data = {
+			3457,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Function-PLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* ProSe-Functionality, Enumerated, code 3445                       */
+	{
+		struct dict_avp_data data = {
+			3445,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Functionality",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/ProSe-Functionality)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* ProSe-Group-IP-Multicast-Address, Address, code 3446             */
+	{
+		struct dict_avp_data data = {
+			3446,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Group-IP-Multicast-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* ProSe-Information, Grouped, code 3447                            */
+	{
+		struct dict_avp_data data = {
+			3447,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* ProSe-Range-Class, Enumerated, code 3448                         */
+	{
+		struct dict_avp_data data = {
+			3448,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Range-Class",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/ProSe-Range-Class)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* ProSe-Reason-For-Cancellation, Enumerated, code 3449             */
+	{
+		struct dict_avp_data data = {
+			3449,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Reason-For-Cancellation",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/ProSe-Reason-For-Cancellation)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* ProSe-Request-Timestamp, Time, code 3450                         */
+	{
+		struct dict_avp_data data = {
+			3450,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Request-Timestamp",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* ProSe-Role-Of-UE, Enumerated, code 3451                          */
+	{
+		struct dict_avp_data data = {
+			3451,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Role-Of-UE",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/ProSe-Role-Of-UE)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* ProSe-Source-IP-Address, Address, code 3452                      */
+	{
+		struct dict_avp_data data = {
+			3452,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Source-IP-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* ProSe-Target-Layer-2-ID, OctetString, code 4410                  */
+	{
+		struct dict_avp_data data = {
+			4410,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Target-Layer-2-ID",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* ProSe-UE-ID, OctetString, code 3453                              */
+	{
+		struct dict_avp_data data = {
+			3453,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-UE-ID",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* ProSe-UE-to-Network-Relay-UE-ID, OctetString, code 4409          */
+	{
+		struct dict_avp_data data = {
+			4409,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-UE-to-Network-Relay-UE-ID",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Proximity-Alert-Indication, Enumerated, code 3454                */
+	{
+		struct dict_avp_data data = {
+			3454,	/* Code */
+			10415,	/* Vendor */
+			"Proximity-Alert-Indication",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Proximity-Alert-Indication)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Proximity-Alert-Timestamp, Time, code 3455                       */
+	{
+		struct dict_avp_data data = {
+			3455,	/* Code */
+			10415,	/* Vendor */
+			"Proximity-Alert-Timestamp",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* Proximity-Cancellation-Timestamp, Time, code 3456                */
+	{
+		struct dict_avp_data data = {
+			3456,	/* Code */
+			10415,	/* Vendor */
+			"Proximity-Cancellation-Timestamp",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* PS-Append-Free-Format-Data, Enumerated, code 867                 */
+	{
+		struct dict_avp_data data = {
+			867,	/* Code */
+			10415,	/* Vendor */
+			"PS-Append-Free-Format-Data",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PS-Append-Free-Format-Data)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* PS-Free-Format-Data, OctetString, code 866                       */
+	{
+		struct dict_avp_data data = {
+			866,	/* Code */
+			10415,	/* Vendor */
+			"PS-Free-Format-Data",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* PS-Furnish-Charging-Information, Grouped, code 865               */
+	{
+		struct dict_avp_data data = {
+			865,	/* Code */
+			10415,	/* Vendor */
+			"PS-Furnish-Charging-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* PS-Information, Grouped, code 874                                */
+	{
+		struct dict_avp_data data = {
+			874,	/* Code */
+			10415,	/* Vendor */
+			"PS-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Quota-Consumption-Time, Unsigned32, code 881                     */
 	{
 		struct dict_avp_data data = {
@@ -11225,6 +12566,152 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Quota-Indicator, Enumerated, code 3912                           */
+	{
+		struct dict_avp_data data = {
+			3912,	/* Code */
+			10415,	/* Vendor */
+			"Quota-Indicator",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Quota-Indicator)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Radio-Frequency, OctetString, code 3462                          */
+	{
+		struct dict_avp_data data = {
+			3462,	/* Code */
+			10415,	/* Vendor */
+			"Radio-Frequency",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Radio-Parameter-Set-Info, Grouped, code 3463                     */
+	{
+		struct dict_avp_data data = {
+			3463,	/* Code */
+			10415,	/* Vendor */
+			"Radio-Parameter-Set-Info",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Radio-Parameter-Set-Values, OctetString, code 3464               */
+	{
+		struct dict_avp_data data = {
+			3464,	/* Code */
+			10415,	/* Vendor */
+			"Radio-Parameter-Set-Values",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Radio-Resources-Indicator, Integer32, code 3465                  */
+	{
+		struct dict_avp_data data = {
+			3465,	/* Code */
+			10415,	/* Vendor */
+			"Radio-Resources-Indicator",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* RAN-End-Time, Time, code 1301                                    */
+	{
+		struct dict_avp_data data = {
+			1301,	/* Code */
+			10415,	/* Vendor */
+			"RAN-End-Time",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* RAN-Secondary-RAT-Usage-Report, Grouped, code 1302               */
+	{
+		struct dict_avp_data data = {
+			1302,	/* Code */
+			10415,	/* Vendor */
+			"RAN-Secondary-RAT-Usage-Report",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* RAN-Start-Time, Time, code 1303                                  */
+	{
+		struct dict_avp_data data = {
+			1303,	/* Code */
+			10415,	/* Vendor */
+			"RAN-Start-Time",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* Rate-Control-Max-Message-Size, Unsigned32, code 3937             */
+	{
+		struct dict_avp_data data = {
+			3937,	/* Code */
+			10415,	/* Vendor */
+			"Rate-Control-Max-Message-Size",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Rate-Control-Max-Rate, Unsigned32, code 3938                     */
+	{
+		struct dict_avp_data data = {
+			3938,	/* Code */
+			10415,	/* Vendor */
+			"Rate-Control-Max-Rate",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Rate-Control-Time-Unit, Unsigned32, code 3939                    */
+	{
+		struct dict_avp_data data = {
+			3939,	/* Code */
+			10415,	/* Vendor */
+			"Rate-Control-Time-Unit",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Rate-Element, Grouped, code 2058                                 */
 	{
 		struct dict_avp_data data = {
@@ -11267,6 +12754,19 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Reason-Header, UTF8String, code 3401                             */
+	{
+		struct dict_avp_data data = {
+			3401,	/* Code */
+			10415,	/* Vendor */
+			"Reason-Header",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
 	/* Received-Talk-Burst-Time, Unsigned32, code 1284                  */
 	{
 		struct dict_avp_data data = {
@@ -11358,6 +12858,58 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Related-Change-Condition-Information, Grouped, code 3925         */
+	{
+		struct dict_avp_data data = {
+			3925,	/* Code */
+			10415,	/* Vendor */
+			"Related-Change-Condition-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Related-Trigger, Grouped, code 3926                              */
+	{
+		struct dict_avp_data data = {
+			3926,	/* Code */
+			10415,	/* Vendor */
+			"Related-Trigger",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Related-IMS-Charging-Identifier, UTF8String, code 2711           */
+	{
+		struct dict_avp_data data = {
+			2711,	/* Code */
+			10415,	/* Vendor */
+			"Related-IMS-Charging-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Related-IMS-Charging-Identifier-Node, Address, code 2712         */
+	{
+		struct dict_avp_data data = {
+			2712,	/* Code */
+			10415,	/* Vendor */
+			"Related-IMS-Charging-Identifier-Node",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
 	/* Relationship-Mode, Enumerated, code 2706                         */
 	{
 		struct dict_avp_data data = {
@@ -11374,6 +12926,19 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* Relay-IP-address, Address, code 4411                             */
+	{
+		struct dict_avp_data data = {
+			4411,	/* Code */
+			10415,	/* Vendor */
+			"Relay-IP-address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
 	/* Remaining-Balance, Grouped, code 2021                            */
 	{
 		struct dict_avp_data data = {
@@ -11445,6 +13010,32 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Requested-PLMN-Identifier, UTF8String, code 3436                 */
+	{
+		struct dict_avp_data data = {
+			3436,	/* Code */
+			10415,	/* Vendor */
+			"Requested-PLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Requestor-PLMN-Identifier, UTF8String, code 3437                 */
+	{
+		struct dict_avp_data data = {
+			3437,	/* Code */
+			10415,	/* Vendor */
+			"Requestor-PLMN-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
 	/* Role-Of-Node, Enumerated, code 829                               */
 	{
 		struct dict_avp_data data = {
@@ -11461,6 +13052,113 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* Role-Of-ProSe-Function, Enumerated, code 3438                    */
+	{
+		struct dict_avp_data data = {
+			3438,	/* Code */
+			10415,	/* Vendor */
+			"Role-Of-ProSe-Function",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Role-Of-ProSe-Function)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Route-Header-Received, UTF8String, code 3403                     */
+	{
+		struct dict_avp_data data = {
+			3403,	/* Code */
+			10415,	/* Vendor */
+			"Route-Header-Received",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Route-Header-Transmitted, UTF8String, code 3404                  */
+	{
+		struct dict_avp_data data = {
+			3404,	/* Code */
+			10415,	/* Vendor */
+			"Route-Header-Transmitted",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Scale-Factor, Grouped, code 2059                                 */
+	{
+		struct dict_avp_data data = {
+			2059,	/* Code */
+			10415,	/* Vendor */
+			"Scale-Factor",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SCEF-Address, Address, code 1317                                 */
+	{
+		struct dict_avp_data data = {
+			1317,	/* Code */
+			10415,	/* Vendor */
+			"SCEF-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* SCS-Address, Address, code 3941                                  */
+	{
+		struct dict_avp_data data = {
+			3941,	/* Code */
+			10415,	/* Vendor */
+			"SCS-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* SCS-AS-Address, Grouped, code 3940                               */
+	{
+		struct dict_avp_data data = {
+			3940,	/* Code */
+			10415,	/* Vendor */
+			"SCS-AS-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SCS-Realm, DiameterIdentity, code 3942                           */
+	{
+		struct dict_avp_data data = {
+			3942,	/* Code */
+			10415,	/* Vendor */
+			"SCS-Realm",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+	};
+
 	/* SDP-Answer-Timestamp, Time, code 1275                            */
 	{
 		struct dict_avp_data data = {
@@ -11568,250 +13266,30 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
-	/* SGSN-Address, Address, code 1228                                 */
-	{
-		struct dict_avp_data data = {
-			1228,	/* Code */
-			10415,	/* Vendor */
-			"SGSN-Address",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
-	};
-
-	/* SGW-Address, Address, code 2067                                  */
-	{
-		struct dict_avp_data data = {
-			2067,	/* Code */
-			10415,	/* Vendor */
-			"SGW-Address",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
-	};
-
-	/* SGW-Change, Enumerated, code 2065                                */
-	{
-		struct dict_avp_data data = {
-			2065,	/* Code */
-			10415,	/* Vendor */
-			"SGW-Change",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SGW-Change)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* SIP-Method, UTF8String, code 824                                 */
-	{
-		struct dict_avp_data data = {
-			824,	/* Code */
-			10415,	/* Vendor */
-			"SIP-Method",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
-	};
-
-	/* SIP-Request-Timestamp, Time, code 834                            */
-	{
-		struct dict_avp_data data = {
-			834,	/* Code */
-			10415,	/* Vendor */
-			"SIP-Request-Timestamp",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
-	};
-
-	/* SIP-Request-Timestamp-Fraction, Unsigned32, code 2301            */
-	{
-		struct dict_avp_data data = {
-			2301,	/* Code */
-			10415,	/* Vendor */
-			"SIP-Request-Timestamp-Fraction",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_UNSIGNED32	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* SIP-Response-Timestamp, Time, code 835                           */
-	{
-		struct dict_avp_data data = {
-			835,	/* Code */
-			10415,	/* Vendor */
-			"SIP-Response-Timestamp",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
-	};
-
-	/* SIP-Response-Timestamp-Fraction, Unsigned32, code 2302           */
-	{
-		struct dict_avp_data data = {
-			2302,	/* Code */
-			10415,	/* Vendor */
-			"SIP-Response-Timestamp-Fraction",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_UNSIGNED32	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* SM-Discharge-Time, Time, code 2012                               */
-	{
-		struct dict_avp_data data = {
-			2012,	/* Code */
-			10415,	/* Vendor */
-			"SM-Discharge-Time",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
-	};
-
-	/* SM-Message-Type, Enumerated, code 2007                           */
-	{
-		struct dict_avp_data data = {
-			2007,	/* Code */
-			10415,	/* Vendor */
-			"SM-Message-Type",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-Message-Type)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* SM-Protocol-ID, OctetString, code 2013                           */
-	{
-		struct dict_avp_data data = {
-			2013,	/* Code */
-			10415,	/* Vendor */
-			"SM-Protocol-ID",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* SM-Service-Type, Enumerated, code 2029                           */
-	{
-		struct dict_avp_data data = {
-			2029,	/* Code */
-			10415,	/* Vendor */
-			"SM-Service-Type",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-Service-Type)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* SM-Status, OctetString, code 2014                                */
-	{
-		struct dict_avp_data data = {
-			2014,	/* Code */
-			10415,	/* Vendor */
-			"SM-Status",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* SM-User-Data-Header, OctetString, code 2015                      */
-	{
-		struct dict_avp_data data = {
-			2015,	/* Code */
-			10415,	/* Vendor */
-			"SM-User-Data-Header",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* SMS-Information, Grouped, code 2000                              */
-	{
-		struct dict_avp_data data = {
-			2000,	/* Code */
-			10415,	/* Vendor */
-			"SMS-Information",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
-
-	/* SMS-Node, Enumerated, code 2016                                  */
-	{
-		struct dict_avp_data data = {
-			2016,	/* Code */
-			10415,	/* Vendor */
-			"SMS-Node",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SMS-Node)", NULL, NULL, NULL };
-		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
-		CHECK_dict_new(DICT_AVP, &data, type, NULL);
-	};
-
-	/* SMSC-Address, Address, code 2017                                 */
-	{
-		struct dict_avp_data data = {
-			2017,	/* Code */
-			10415,	/* Vendor */
-			"SMSC-Address",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
-	};
-
-	/* Scale-Factor, Grouped, code 2059                                 */
-	{
-		struct dict_avp_data data = {
-			2059,	/* Code */
-			10415,	/* Vendor */
-			"Scale-Factor",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_GROUPED	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	/* Secondary-RAT-Type, OctetString, code 1304                       */
+	{
+		struct dict_avp_data data = {
+			1304,	/* Code */
+			10415,	/* Vendor */
+			"Secondary-RAT-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Serving-Node-Identity, DiameterIdentity, code 3929               */
+	{
+		struct dict_avp_data data = {
+			3929,	/* Code */
+			10415,	/* Vendor */
+			"Serving-Node-Identity",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
 	};
 
 	/* Served-Party-IP-Address, Address, code 848                       */
@@ -11950,6 +13428,323 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* SGi-PtP-Tunnelling-Method, Enumerated, code 3931                 */
+	{
+		struct dict_avp_data data = {
+			3931,	/* Code */
+			10415,	/* Vendor */
+			"SGi-PtP-Tunnelling-Method",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SGi-PtP-Tunnelling-Method)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* SGSN-Address, Address, code 1228                                 */
+	{
+		struct dict_avp_data data = {
+			1228,	/* Code */
+			10415,	/* Vendor */
+			"SGSN-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* SGW-Address, Address, code 2067                                  */
+	{
+		struct dict_avp_data data = {
+			2067,	/* Code */
+			10415,	/* Vendor */
+			"SGW-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* SGW-Change, Enumerated, code 2065                                */
+	{
+		struct dict_avp_data data = {
+			2065,	/* Code */
+			10415,	/* Vendor */
+			"SGW-Change",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SGW-Change)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* SIP-Method, UTF8String, code 824                                 */
+	{
+		struct dict_avp_data data = {
+			824,	/* Code */
+			10415,	/* Vendor */
+			"SIP-Method",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* SIP-Request-Timestamp, Time, code 834                            */
+	{
+		struct dict_avp_data data = {
+			834,	/* Code */
+			10415,	/* Vendor */
+			"SIP-Request-Timestamp",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* SIP-Request-Timestamp-Fraction, Unsigned32, code 2301            */
+	{
+		struct dict_avp_data data = {
+			2301,	/* Code */
+			10415,	/* Vendor */
+			"SIP-Request-Timestamp-Fraction",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SIP-Response-Timestamp, Time, code 835                           */
+	{
+		struct dict_avp_data data = {
+			835,	/* Code */
+			10415,	/* Vendor */
+			"SIP-Response-Timestamp",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* SIP-Response-Timestamp-Fraction, Unsigned32, code 2302           */
+	{
+		struct dict_avp_data data = {
+			2302,	/* Code */
+			10415,	/* Vendor */
+			"SIP-Response-Timestamp-Fraction",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SM-Device-Trigger-Indicator, Enumerated, code 3407               */
+	{
+		struct dict_avp_data data = {
+			3407,	/* Code */
+			10415,	/* Vendor */
+			"SM-Device-Trigger-Indicator",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-Device-Trigger-Indicator)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* SM-Device-Trigger-Information, Grouped, code 3405                */
+	{
+		struct dict_avp_data data = {
+			3405,	/* Code */
+			10415,	/* Vendor */
+			"SM-Device-Trigger-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SM-Discharge-Time, Time, code 2012                               */
+	{
+		struct dict_avp_data data = {
+			2012,	/* Code */
+			10415,	/* Vendor */
+			"SM-Discharge-Time",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* SM-Message-Type, Enumerated, code 2007                           */
+	{
+		struct dict_avp_data data = {
+			2007,	/* Code */
+			10415,	/* Vendor */
+			"SM-Message-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-Message-Type)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* SM-Protocol-ID, OctetString, code 2013                           */
+	{
+		struct dict_avp_data data = {
+			2013,	/* Code */
+			10415,	/* Vendor */
+			"SM-Protocol-ID",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SM-Sequence-Number, Unsigned32, code 3408                        */
+	{
+		struct dict_avp_data data = {
+			3408,	/* Code */
+			10415,	/* Vendor */
+			"SM-Sequence-Number",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SM-Service-Type, Enumerated, code 2029                           */
+	{
+		struct dict_avp_data data = {
+			2029,	/* Code */
+			10415,	/* Vendor */
+			"SM-Service-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-Service-Type)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* SM-Status, OctetString, code 2014                                */
+	{
+		struct dict_avp_data data = {
+			2014,	/* Code */
+			10415,	/* Vendor */
+			"SM-Status",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SM-User-Data-Header, OctetString, code 2015                      */
+	{
+		struct dict_avp_data data = {
+			2015,	/* Code */
+			10415,	/* Vendor */
+			"SM-User-Data-Header",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SMS-Information, Grouped, code 2000                              */
+	{
+		struct dict_avp_data data = {
+			2000,	/* Code */
+			10415,	/* Vendor */
+			"SMS-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SMS-Node, Enumerated, code 2016                                  */
+	{
+		struct dict_avp_data data = {
+			2016,	/* Code */
+			10415,	/* Vendor */
+			"SMS-Node",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SMS-Node)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* SMS-Result, Unsigned32, code 3409                                */
+	{
+		struct dict_avp_data data = {
+			3409,	/* Code */
+			10415,	/* Vendor */
+			"SMS-Result",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* SMSC-Address, Address, code 2017                                 */
+	{
+		struct dict_avp_data data = {
+			2017,	/* Code */
+			10415,	/* Vendor */
+			"SMSC-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* Start-of-Charging, Time, code 3419                               */
+	{
+		struct dict_avp_data data = {
+			3419,	/* Code */
+			10415,	/* Vendor */
+			"Start-of-Charging",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
 	/* Start-Time, Time, code 2041                                      */
 	{
 		struct dict_avp_data data = {
@@ -11963,18 +13758,22 @@
 		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
 	};
 
-	/* Status, Enumerated, code 2702                                    */
+	/* Note: 3GPP TS 32.299 V11.10.0 (2013-12) renamed                  */
+	/* Status (2702) to Status-Code (2702), and then                    */
+	/* 3GPP TS 32.299 V11.14.0 (2014-12) renamed                        */
+	/* Status-Code (2702) to Status-AS-Code (2702).                     */
+	/* Status-AS-Code, Enumerated, code 2702                            */
 	{
 		struct dict_avp_data data = {
 			2702,	/* Code */
 			10415,	/* Vendor */
-			"Status",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
-			AVP_TYPE_INTEGER32	/* base type of data */
-		};
-		struct dict_object	*type;
-		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Status)", NULL, NULL, NULL };
+			"Status-AS-Code",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Status-AS-Code)", NULL, NULL, NULL };
 		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
@@ -12034,6 +13833,22 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* TAD-Identifier, Enumerated, code 2717                            */
+	{
+		struct dict_avp_data data = {
+			2717,	/* Code */
+			10415,	/* Vendor */
+			"TAD-Identifier",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/TAD-Identifier)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
 	/* Talk-Burst-Exchange, Grouped, code 1255                          */
 	{
 		struct dict_avp_data data = {
@@ -12073,6 +13888,19 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Target-IP-Address, Address, code 4412                            */
+	{
+		struct dict_avp_data data = {
+			4412,	/* Code */
+			10415,	/* Vendor */
+			"Target-IP-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
 	/* Tariff-Information, Grouped, code 2060                           */
 	{
 		struct dict_avp_data data = {
@@ -12099,6 +13927,19 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Teleservice, OctetString, code 3413                              */
+	{
+		struct dict_avp_data data = {
+			3413,	/* Code */
+			10415,	/* Vendor */
+			"Teleservice",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Terminating-IOI, UTF8String, code 840                            */
 	{
 		struct dict_avp_data data = {
@@ -12112,6 +13953,32 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Time-First-Reception, Time, code 3466                            */
+	{
+		struct dict_avp_data data = {
+			3466,	/* Code */
+			10415,	/* Vendor */
+			"Time-First-Reception",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
+	/* Time-First-Transmission, Time, code 3467                         */
+	{
+		struct dict_avp_data data = {
+			3467,	/* Code */
+			10415,	/* Vendor */
+			"Time-First-Transmission",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+	};
+
 	/* Time-First-Usage, Time, code 2043                                */
 	{
 		struct dict_avp_data data = {
@@ -12125,6 +13992,19 @@
 		CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
 	};
 
+	/* Time-Indicator, Unsigned32, code 3911                            */
+	{
+		struct dict_avp_data data = {
+			3911,	/* Code */
+			10415,	/* Vendor */
+			"Time-Indicator",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Time-Last-Usage, Time, code 2044                                 */
 	{
 		struct dict_avp_data data = {
@@ -12206,6 +14086,19 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* TLTRI, Unsigned32, code 1318                                     */
+	{
+		struct dict_avp_data data = {
+			1318,	/* Code */
+			10415,	/* Vendor */
+			"TLTRI",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Token-Text, UTF8String, code 1215                                */
 	{
 		struct dict_avp_data data = {
@@ -12261,6 +14154,19 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Transmitter-Info, Grouped, code 3468                             */
+	{
+		struct dict_avp_data data = {
+			3468,	/* Code */
+			10415,	/* Vendor */
+			"Transmitter-Info",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Trigger, Grouped, code 1264                                      */
 	{
 		struct dict_avp_data data = {
@@ -12303,6 +14209,32 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* TWAG-Address, Address, code 3903                                 */
+	{
+		struct dict_avp_data data = {
+			3903,	/* Code */
+			10415,	/* Vendor */
+			"TWAG-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+	};
+
+	/* TWAN-User-Location-Info, Grouped, code 2714                      */
+	{
+		struct dict_avp_data data = {
+			2714,	/* Code */
+			10415,	/* Vendor */
+			"TWAN-User-Location-Info",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Type-Number, Enumerated, code 1204                               */
 	{
 		struct dict_avp_data data = {
@@ -12319,6 +14251,22 @@
 		CHECK_dict_new(DICT_AVP, &data, type, NULL);
 	};
 
+	/* UNI-PDU-CP-Only-Flag, Enumerated, code 3932                      */
+	{
+		struct dict_avp_data data = {
+			3932,	/* Code */
+			10415,	/* Vendor */
+			"UNI-PDU-CP-Only-Flag",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/UNI-PDU-CP-Only-Flag)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
 	/* Unit-Cost, Grouped, code 2061                                    */
 	{
 		struct dict_avp_data data = {
@@ -12345,6 +14293,32 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Unused-Quota-Timer, Unsigned32, code 4407                        */
+	{
+		struct dict_avp_data data = {
+			4407,	/* Code */
+			10415,	/* Vendor */
+			"Unused-Quota-Timer",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Usage-Information-Report-Sequence-Number, Integer32, code 3439   */
+	{
+		struct dict_avp_data data = {
+			3439,	/* Code */
+			10415,	/* Vendor */
+			"Usage-Information-Report-Sequence-Number",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* User-CSG-Information, Grouped, code 2319                         */
 	{
 		struct dict_avp_data data = {
@@ -12387,6 +14361,97 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* UWAN-User-Location-Info, Grouped, code 3918                      */
+	{
+		struct dict_avp_data data = {
+			3918,	/* Code */
+			10415,	/* Vendor */
+			"UWAN-User-Location-Info",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Variable-Part, Grouped, code 3907                                */
+	{
+		struct dict_avp_data data = {
+			3907,	/* Code */
+			10415,	/* Vendor */
+			"Variable-Part",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Variable-Part-Order, Unsigned32, code 3908                       */
+	{
+		struct dict_avp_data data = {
+			3908,	/* Code */
+			10415,	/* Vendor */
+			"Variable-Part-Order",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Variable-Part-Type, Unsigned32, code 3909                        */
+	{
+		struct dict_avp_data data = {
+			3909,	/* Code */
+			10415,	/* Vendor */
+			"Variable-Part-Type",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Variable-Part-Value, UTF8String, code 3910                       */
+	{
+		struct dict_avp_data data = {
+			3910,	/* Code */
+			10415,	/* Vendor */
+			"Variable-Part-Value",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* VCS-Information, Grouped, code 3410                              */
+	{
+		struct dict_avp_data data = {
+			3410,	/* Code */
+			10415,	/* Vendor */
+			"VCS-Information",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* VLR-Number, OctetString, code 3420                               */
+	{
+		struct dict_avp_data data = {
+			3420,	/* Code */
+			10415,	/* Vendor */
+			"VLR-Number",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
 	/* Volume-Quota-Threshold, Unsigned32, code 869                     */
 	{
 		struct dict_avp_data data = {
@@ -12400,6 +14465,7 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WAG-Address (890). */
 	/* WAG-Address, Address, code 890                                   */
 	{
 		struct dict_avp_data data = {
@@ -12413,6 +14479,7 @@
 		CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
 	};
 
+	/* Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WAG-PLMN-Id (891). */
 	/* WAG-PLMN-Id, OctetString, code 891                               */
 	{
 		struct dict_avp_data data = {
@@ -12426,6 +14493,7 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-Information (875). */
 	/* WLAN-Information, Grouped, code 875                              */
 	{
 		struct dict_avp_data data = {
@@ -12439,6 +14507,46 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* WLAN-Operator-Id, Grouped, code 1306                             */
+	{
+		struct dict_avp_data data = {
+			1306,	/* Code */
+			10415,	/* Vendor */
+			"WLAN-Operator-Id",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* WLAN-Operator-Name, UTF8String, code 1307                        */
+	{
+		struct dict_avp_data data = {
+			1307,	/* Code */
+			10415,	/* Vendor */
+			"WLAN-Operator-Name",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* WLAN-PLMN-Id, UTF8String, code 1308                              */
+	{
+		struct dict_avp_data data = {
+			1308,	/* Code */
+			10415,	/* Vendor */
+			"WLAN-PLMN-Id",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+	};
+
+	/* Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-Radio-Container (892). */
 	/* WLAN-Radio-Container, Grouped, code 892                          */
 	{
 		struct dict_avp_data data = {
@@ -12452,6 +14560,7 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-Session-Id (1246). */
 	/* WLAN-Session-Id, UTF8String, code 1246                           */
 	{
 		struct dict_avp_data data = {
@@ -12465,6 +14574,7 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-Technology (893). */
 	/* WLAN-Technology, Unsigned32, code 893                            */
 	{
 		struct dict_avp_data data = {
@@ -12478,6 +14588,7 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-UE-Local-IPAddress (894). */
 	/* WLAN-UE-Local-IPAddress, Address, code 894                       */
 	{
 		struct dict_avp_data data = {
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv	Thu Mar 26 14:25:50 2020 +1100
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv	Thu Mar 26 15:26:18 2020 +1100
@@ -811,281 +811,460 @@
 ,,,,,,,,
 @standard,3GPP TS 32.299,,,,,,,
 #=,,,,,,,,
-# 3GPP 32.299-b80 (11.8.0 2013-07),,,,,,,,
+# 3GPP TS 32.299 V15.7.0 (2019-06),,,,,,,,
+# From 3GPP 32299-f70.doc,,,,,,,,
+#=,,,,,,,,
+#,,,,,,,,
+#=,,,,,,,,
+# 3GPP TS 32.299 Table 7.2.0.1: 3GPP specific AVPs,,,,,,,,
 #=,,,,,,,,
 #,,,,,,,,
-AF-Correlation-Information,1276,,Grouped,"M,V",P,,,N
-Access-Network-Information,1263,,OctetString,"M,V",P,,,N
-Access-Transfer-Information,2709,,Grouped,"M,V",P,,,N
-Access-Transfer-Type,2710,,Enumerated,"M,V",P,,,N
-Account-Expiration,2309,,Time,"M,V",P,,,N
-Accumulated-Cost,2052,,Grouped,"M,V",P,,,N
-Adaptations,1217,,Enumerated,"M,V",P,,,N
-Additional-Content-Information,1207,,Grouped,"M,V",P,,,N
-Additional-Type-Information,1205,,UTF8String,"M,V",P,,,N
-Address-Data,897,,UTF8String,"M,V",P,,,N
-Address-Domain,898,,Grouped,"M,V",P,,,N
-Address-Type,899,,Enumerated,"M,V",P,,,N
-Addressee-Type,1208,,Enumerated,"M,V",P,,,N
-Alternate-Charged-Party-Address,1280,,UTF8String,"M,V",P,,,N
-AoC-Cost-Information,2053,,Grouped,"M,V",P,,,N
-AoC-Format,2310,,Enumerated,"M,V",P,,,N
-AoC-Information,2054,,Grouped,"M,V",P,,,N
-AoC-Request-Type,2055,,Enumerated,"M,V",P,,,N
-AoC-Service,2311,,Grouped,"M,V",P,,,N
-AoC-Service-Obligatory-Type,2312,,Enumerated,"M,V",P,,,N
-AoC-Service-Type,2313,,Enumerated,"M,V",P,,,N
-AoC-Subscription-Information,2314,,Grouped,"M,V",P,,,N
-Applic-ID,1218,,UTF8String,"M,V",P,,,N
-Application-Server,836,,UTF8String,"M,V",P,,,N
-Application-Server-Information,850,,Grouped,"M,V",P,,,N
-Application-Provided-Called-Party-Address,837,,UTF8String,"M,V",P,,,N
-Associated-Party-Address,2035,,UTF8String,"M,V",P,,,N
-Associated-URI,856,,UTF8String,"M,V",P,,,N
-Aux-Applic-Info,1219,,UTF8String,"M,V",P,,,N
-Base-Time-Interval,1265,,Unsigned32,"M,V",P,,,N
-Bearer-Service,854,,OctetString,"M,V",P,,,N
-CG-Address,846,,Address,"M,V",P,,,Y
-CSG-Access-Mode,2317,,Enumerated,"M,V",P,,,N
-CSG-Membership-Indication,2318,,Enumerated,"M,V",P,,,N
-CUG-Information,2304,,OctetString,"M,V",P,,,N
-Called-Asserted-Identity,1250,,UTF8String,"M,V",P,,,N
-Called-Party-Address,832,,UTF8String,"M,V",P,,,N
-Calling-Party-Address,831,,UTF8String,"M,V",P,,,N
-Carrier-Select-Routing-Information,2023,,UTF8String,"M,V",P,,,N
-Cause-Code,861,,Integer32,"M,V",P,,,N
-Change-Condition,2037,,Integer32,"M,V",P,,,N
-Change-Time,2038,,Time,"M,V",P,,,N
-Charge-Reason-Code,2118,,Enumerated,"M,V",P,,,N
-Charged-Party,857,,UTF8String,"M,V",P,,,N
-Charging-Characteristics-Selection-Mode,2066,,Enumerated,"M,V",P,,,N
-Class-Identifier,1214,,Enumerated,"M,V",P,,,N
-Client-Address,2018,,Address,"M,V",P,,,N
-Content-Class,1220,,Enumerated,"M,V",P,,,N
-Content-Disposition,828,,UTF8String,"M,V",P,,,N
-Content-Length,827,,Unsigned32,"M,V",P,,,N
-Content-Size,1206,,Unsigned32,"M,V",P,,,N
-Content-Type,826,,UTF8String,"M,V",P,,,N
-Current-Tariff,2056,,Grouped,"M,V",P,,,N
-DRM-Content,1221,,Enumerated,"M,V",P,,,N
-Data-Coding-Scheme,2001,,Integer32,"M,V",P,,,N
-Deferred-Location-Event-Type,1230,,UTF8String,"M,V",P,,,N
-Delivery-Report-Requested,1216,,Enumerated,"M,V",P,,,N
-Destination-Interface,2002,,Grouped,"M,V",P,,,N
-Diagnostics,2039,,Integer32,"M,V",P,,,N
-Domain-Name,1200,,UTF8String,"M,V",P,,,N
-Dynamic-Address-Flag,2051,,Enumerated,"M,V",P,,,N
-Dynamic-Address-Flag-Extension,2068,,Enumerated,"M,V",P,,,N
-Early-Media-Description,1272,,Grouped,"M,V",P,,,N
-Envelope,1266,,Grouped,"M,V",P,,,N
-Envelope-End-Time,1267,,Time,"M,V",P,,,N
-Envelope-Reporting,1268,,Enumerated,"M,V",P,,,N
-Envelope-Start-Time,1269,,Time,"M,V",P,,,N
-Event,825,,UTF8String,"M,V",P,,,N
-Event-Charging-TimeStamp,1258,,Time,"M,V",P,,,N
-Event-Type,823,,Grouped,"M,V",P,,,N
-Expires,888,,Unsigned32,"M,V",P,,,N
-File-Repair-Supported,1224,,Enumerated,"M,V",P,,,Y
-From-Address,2708,,UTF8String,"M,V",P,,,N
-GGSN-Address,847,,Address,"M,V",P,,,N
-IMS-Application-Reference-Identifier,2601,,UTF8String,"M,V",P,,,N
-IMS-Charging-Identifier,841,,UTF8String,"M,V",P,,,N
-IMS-Communication-Service-Identifier,1281,,UTF8String,"M,V",P,,,N
-IMS-Emergency-Indicator,2322,,Enumerated,"M,V",P,,,N
-IMS-Information,876,,Grouped,"M,V",P,,,N
-IMSI-Unauthenticated-Flag,2308,,Enumerated,"M,V",P,,,N
-IP-Realm-Default-Indication,2603,,Enumerated,"M,V",P,,,N
-Incoming-Trunk-Group-Id,852,,UTF8String,"M,V",P,,,N
-Incremental-Cost,2062,,Grouped,"M,V",P,,,N
-Initial-IMS-Charging-Identifier,2321,,UTF8String,"M,V",P,,,N
-Inter-Operator-Identifier,838,,Grouped,"M,V",P,,,N
-Interface-Id,2003,,UTF8String,"M,V",P,,,N
-Interface-Port,2004,,UTF8String,"M,V",P,,,N
-Interface-Text,2005,,UTF8String,"M,V",P,,,N
-Interface-Type,2006,,Enumerated,"M,V",P,,,N
-LCS-APN,1231,,UTF8String,"M,V",P,,,N
-LCS-Client-Dialed-By-MS,1233,,UTF8String,"M,V",P,,,N
-LCS-Client-External-ID,1234,,UTF8String,"M,V",P,,,N
-LCS-Client-Id,1232,,Grouped,"M,V",P,,,N
-LCS-Client-Name,1235,,Grouped,"M,V",P,,,N
-LCS-Client-Type,1241,,Enumerated,"M,V",P,,,N
-LCS-Data-Coding-Scheme,1236,,UTF8String,"M,V",P,,,N
-LCS-Format-Indicator,1237,,Enumerated,"M,V",P,,,N
-LCS-Information,878,,Grouped,"M,V",P,,,N
-LCS-Name-String,1238,,UTF8String,"M,V",P,,,N
-LCS-Requestor-Id,1239,,Grouped,"M,V",P,,,N
-LCS-Requestor-Id-String,1240,,UTF8String,"M,V",P,,,N
-Local-GW-Inserted-Indication,2604,,Enumerated,"M,V",P,,,N
-Local-Sequence-Number,2063,,Unsigned32,"M,V",P,,,N
-Location-Estimate,1242,,OctetString,"M,V",P,,,N
-Location-Estimate-Type,1243,,Enumerated,"M,V",P,,,N
-Location-Type,1244,,Grouped,"M,V",P,,,N
-Low-Balance-Indication,2020,,Enumerated,"M,V",P,,,N
-Low-Priority-Indicator,2602,,Enumerated,"M,V",P,,,N
+3GPP-OC-Specific-Reduction,1320,,Grouped,V,,,M
+3GPP-OC-Rating-Group,1321,,Unsigned32,V,,,M
+3GPP-OC-Request-Type,1322,,Enumerated,V,,,M
+# Note: Name conflict with 3GPP TS 29.212 3GPP-PS-Data-Off-Status (2847).,,,,,,,,
+3GPP-PS-Data-Off-Status-32.299,4406,,Enumerated,"V,M",,,
+Access-Network-Info-Change,4401,,Grouped,"V,M",,,
+Access-Network-Information,1263,,OctetString,"V,M",,,
+Access-Transfer-Information,2709,,Grouped,"V,M",,,
+Access-Transfer-Type,2710,,Enumerated,"V,M",,,
+Account-Expiration,2309,,Time,"V,M",,,
+Accumulated-Cost,2052,,Grouped,"V,M",,,
+Adaptations,1217,,Enumerated,"V,M",,,
+Additional-Content-Information,1207,,Grouped,"V,M",,,
+Additional-Exception-Reports,3936,,Enumerated,"V,M",,,
+Additional-Type-Information,1205,,UTF8String,"V,M",,,
+Address-Data,897,,UTF8String,"V,M",,,
+Address-Domain,898,,Grouped,"V,M",,,
+Addressee-Type,1208,,Enumerated,"V,M",,,
+Address-Type,899,,Enumerated,"V,M",,,
+AF-Correlation-Information,1276,,Grouped,"V,M",,,
+Alternate-Charged-Party-Address,1280,,UTF8String,"V,M",,,
+Announcement-Identifier,3905,,Unsigned32,"V,M",,,
+Announcement-Information,3904,,Grouped,"V,M",,,
+Announcement-Order,3906,,Unsigned32,"V,M",,,
+Announcing-PLMN-ID,4408,,UTF8String,"V,M",,,
+Announcing-UE-HPLMN-Identifier,3426,,UTF8String,"V,M",,,
+Announcing-UE-VPLMN-Identifier,3427,,UTF8String,"V,M",,,
+AoC-Cost-Information,2053,,Grouped,"V,M",,,
+AoC-Format,2310,,Enumerated,"V,M",,,
+AoC-Information,2054,,Grouped,"V,M",,,
+AoC-Request-Type,2055,,Enumerated,"V,M",,,
+AoC-Service,2311,,Grouped,"V,M",,,
+AoC-Service-Obligatory-Type,2312,,Enumerated,"V,M",,,
+AoC-Service-Type,2313,,Enumerated,"V,M",,,
+AoC-Subscription-Information,2314,,Grouped,"V,M",,,
+API-Content,1309,,UTF8String,V,,,M
+API-Direction,1310,,Enumerated,V,,,M
+API-Identifier,1311,,OctetString,V,,,M
+API-Invocation-Timestamp,1312,,Time,V,,,M
+API-Network-Service-Node,1315,,Enumerated,V,,,M
+API-Result-Code,1313,,Unsigned32,V,,,M
+API-Size,1314,,Unsigned64,V,,,M
+APN-Rate-Control,3933,,Grouped,"V,M",,,
+APN-Rate-Control-Downlink,3934,,Grouped,"V,M",,,
+APN-Rate-Control-Uplink,3935,,Grouped,"V,M",,,
+Applic-ID,1218,,UTF8String,"V,M",,,
+Application-Provided-Called-Party-Address,837,,UTF8String,"V,M",,,
+Application-Server,836,,UTF8String,"V,M",,,
+Application-Server-Information,850,,Grouped,"V,M",,,
+Application-Specific-Data,3458,,OctetString,"V,M",,,
+Associated-Party-Address,2035,,UTF8String,"V,M",,,
+Associated-URI,856,,UTF8String,"V,M",,,
+Authorised-QoS,849,,UTF8String,"V,M",,,
+Aux-Applic-Info,1219,,UTF8String,"V,M",,,
+Base-Time-Interval,1265,,Unsigned32,"V,M",,,
+Basic-Service-Code,3411,,Grouped,"V,M",,,
+Bearer-Capability,3412,,OctetString,"V,M",,,
+Bearer-Service,854,,OctetString,"V,M",,,
+BSSID,2716,,UTF8String,"V,M",,,
+Called-Asserted-Identity,1250,,UTF8String,"V,M",,,
+Called-Identity,3916,,UTF8String,"V,M",,,
+Called-Identity-Change,3917,,Grouped,"V,M",,,
+Called-Party-Address,832,,UTF8String,"V,M",,,
+Calling-Party-Address,831,,UTF8String,"V,M",,,
+Carrier-Select-Routing-Information,2023,,UTF8String,"V,M",,,
+Cause-Code,861,,Integer32,"V,M",,,
+Cellular-Network-Information,3924,,OctetString,"V,M",,,
+CG-Address,846,,Address,"V,M",,,
+Change-Condition,2037,,Integer32,"V,M",,,
+Change-Time,2038,,Time,"V,M",,,
+Charge-Reason-Code,2118,,Enumerated,"V,M",,,
+Charged-Party,857,,UTF8String,"V,M",,,
+Charging-Characteristics-Selection-Mode,2066,,Enumerated,"V,M",,,
+Charging-Per-IP-CAN-Session-Indicator,4400,,Enumerated,"V,M",,,
+Civic-Address-Information,1305,,UTF8String,V,,,M
+Class-Identifier,1214,,Enumerated,"V,M",,,
+Client-Address,2018,,Address,"V,M",,,
+CN-Operator-Selection-Entity,3421,,Enumerated,"V,M",,,
+Content-Class,1220,,Enumerated,"V,M",,,
+Content-Disposition,828,,UTF8String,"V,M",,,
+Content-Length,827,,Unsigned32,"V,M",,,
+Content-Size,1206,,Unsigned32,"V,M",,,
+Content-Type,826,,UTF8String,"V,M",,,
+Coverage-Info,3459,,Grouped,"V,M",,,
+Coverage-Status,3428,,Enumerated,"V,M",,,
+CP-CIoT-EPS-Optimisation-Indicator,3930,,Enumerated,"V,M",,,
+CPDT-Information,3927,,Grouped,"V,M",,,
+CSG-Access-Mode,2317,,Enumerated,"V,M",,,
+CSG-Membership-Indication,2318,,Enumerated,"V,M",,,
+CUG-Information,2304,,OctetString,"V,M",,,
+Current-Tariff,2056,,Grouped,"V,M",,,
+Data-Coding-Scheme,2001,,Integer32,"V,M",,,
+Deferred-Location-Event-Type,1230,,UTF8String,"V,M",,,
+Delivery-Report-Requested,1216,,Enumerated,"V,M",,,
+Destination-Interface,2002,,Grouped,"V,M",,,
+Diagnostics,2039,,Integer32,"V,M",,,
+Discoveree-UE-HPLMN-Identifier,4402,,UTF8String,"V,M",,,
+Discoveree-UE-VPLMN-Identifier,4403,,UTF8String,"V,M",,,
+Discoverer-UE-HPLMN-Identifier,4404,,UTF8String,"V,M",,,
+Discoverer-UE-VPLMN-Identifier,4405,,UTF8String,"V,M",,,
+Domain-Name,1200,,UTF8String,"V,M",,,
+DRM-Content,1221,,Enumerated,"V,M",,,
+Dynamic-Address-Flag,2051,,Enumerated,"V,M",,,
+Dynamic-Address-Flag-Extension,2068,,Enumerated,"V,M",,,
+Early-Media-Description,1272,,Grouped,"V,M",,,
+Enhanced-Diagnostics,3901,,Grouped,"V,M",,,
+Envelope,1266,,Grouped,"V,M",,,
+Envelope-End-Time,1267,,Time,"V,M",,,
+Envelope-Reporting,1268,,Enumerated,"V,M",,,
+Envelope-Start-Time,1269,,Time,"V,M",,,
+EPDG-Address,3425,,Address,"V,M",,,
+Event,825,,UTF8String,"V,M",,,
+Event-Charging-TimeStamp,1258,,Time,"V,M",,,
+Event-Type,823,,Grouped,"V,M",,,
+Expires,888,,Unsigned32,"V,M",,,
+Exposure-Function-API-Information,1316,,Grouped,V,,,M
+FE-Identifier-List,4413,,UTF8String,"V,M",,,
+File-Repair-Supported,1224,,Enumerated,"V,M",,,
+Forwarding-Pending,3415,,Enumerated,"V,M",,,
+From-Address,2708,,UTF8String,"V,M",,,
+GGSN-Address,847,,Address,"V,M",,,
+IMS-Application-Reference-Identifier,2601,,UTF8String,"V,M",,,
+IMS-Charging-Identifier,841,,UTF8String,"V,M",,,
+IMS-Communication-Service-Identifier,1281,,UTF8String,"V,M",,,
+IMS-Emergency-Indicator,2322,,Enumerated,"V,M",,,
+IMS-Information,876,,Grouped,"V,M",,,
+IMS-Visited-Network-Identifier,2713,,UTF8String,"V,M",,,
+IMSI-Unauthenticated-Flag,2308,,Enumerated,"V,M",,,
+Incoming-Trunk-Group-Id,852,,UTF8String,"V,M",,,
+Incremental-Cost,2062,,Grouped,"V,M",,,
+Initial-IMS-Charging-Identifier,2321,,UTF8String,"V,M",,,
+Instance-Id,3402,,UTF8String,"V,M",,,
+Interface-Id,2003,,UTF8String,"V,M",,,
+Interface-Port,2004,,UTF8String,"V,M",,,
+Interface-Text,2005,,UTF8String,"V,M",,,
+Interface-Type,2006,,Enumerated,"V,M",,,
+Inter-Operator-Identifier,838,,Grouped,"V,M",,,
+Inter-UE-Transfer,3902,,Enumerated,"V,M",,,
+IP-Realm-Default-Indication,2603,,Enumerated,"V,M",,,
+ISUP-Cause,3416,,Grouped,"V,M",,,
+ISUP-Cause-Diagnostics,3422,,OctetString,"V,M",,,
+ISUP-Cause-Location,3423,,Unsigned32,"V,M",,,
+ISUP-Cause-Value,3424,,Unsigned32,"V,M",,,
+ISUP-Location-Number,3414,,OctetString,"V,M",,,
+Language,3914,,UTF8String,"V,M",,,
+Layer-2-Group-ID,3429,,OctetString,"V,M",,,
+LCS-APN,1231,,UTF8String,"V,M",,,
+LCS-Client-Dialed-By-MS,1233,,UTF8String,"V,M",,,
+LCS-Client-External-ID,1234,,UTF8String,"V,M",,,
+LCS-Client-Id,1232,,Grouped,"V,M",,,
+LCS-Client-Name,1235,,Grouped,"V,M",,,
+LCS-Client-Type,1241,,Enumerated,"V,M",,,
+LCS-Data-Coding-Scheme,1236,,UTF8String,"V,M",,,
+LCS-Format-Indicator,1237,,Enumerated,"V,M",,,
+LCS-Information,878,,Grouped,"V,M",,,
+LCS-Name-String,1238,,UTF8String,"V,M",,,
+# Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed,,,,,,,,
+# LCS-Requestor-Id (1239) to LCS-Requestor-ID (1239).,,,,,,,,
+LCS-Requestor-ID,1239,,Grouped,"V,M",,,
+# Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed,,,,,,,,
+# LCS-Requestor-Id-String (1240) to LCS-Requestor-ID-String (1240).,,,,,,,,
+LCS-Requestor-ID-String,1240,,UTF8String,"V,M",,,
+Local-GW-Inserted-Indication,2604,,Enumerated,"V,M",,,
+Local-Sequence-Number,2063,,Unsigned32,"V,M",,,
+Location-Estimate,1242,,OctetString,"V,M",,,
+Location-Estimate-Type,1243,,Enumerated,"V,M",,,
+Location-Info,3460,,Grouped,"V,M",,,
+Location-Type,1244,,Grouped,"V,M",,,
+Low-Balance-Indication,2020,,Enumerated,"V,M",,,
+Low-Priority-Indicator,2602,,Enumerated,"V,M",,,
+MBMS-Charged-Party,2323,,Enumerated,"V,M",,,
 # Note: 3GPP TS 32.299 V11.8.0 (2013-07) table 7.2 changed,,,,,,,,
 # row MBMS-GW-Address (2307) to have a hyphen instead of space.,,,,,,,,
 # Generated name renamed from MBMSGW-Address (2307).,,,,,,,,
-MBMS-GW-Address,2307,,Address,"M,V",P,,,N
-MBMS-Information,880,,Grouped,"M,V",P,,,N
-MBMS-User-Service-Type,1225,,Enumerated,"M,V",P,,,Y
-MM-Content-Type,1203,,Grouped,"M,V",P,,,N
-MMBox-Storage-Requested,1248,,Enumerated,"M,V",P,,,N
-MMS-Information,877,,Grouped,"M,V",P,,,N
-MMTel-Information,2030,,Grouped,"M,V",P,,,N
-MMTel-SService-Type,2031,,Unsigned32,"M,V",P,,,N
-Media-Initiator-Flag,882,,Enumerated,"M,V",P,,,N
-Media-Initiator-Party,1288,,UTF8String,"M,V",P,,,N
-Message-Body,889,,Grouped,"M,V",P,,,N
-Message-Class,1213,,Grouped,"M,V",P,,,N
-Message-ID,1210,,UTF8String,"M,V",P,,,N
-Message-Size,1212,,Unsigned32,"M,V",P,,,N
-Message-Type,1211,,Enumerated,"M,V",P,,,N
-NNI-Information,2703,,Grouped,"M,V",P,,,N
-NNI-Type,2704,,Enumerated,"M,V",P,,,N
-Neighbour-Node-Address,2705,,Address,"M,V",P,,,N
-Next-Tariff,2057,,Grouped,"M,V",P,,,N
-Node-Functionality,862,,Enumerated,"M,V",P,,,N
-Node-Id,2064,,UTF8String,"M,V",P,,,N
-Number-Of-Diversions,2034,,Unsigned32,"M,V",P,,,N
-Number-Of-Messages-Sent,2019,,Unsigned32,"M,V",P,,,N
-Number-Of-Participants,885,,Unsigned32,"M,V",P,,,N
-Number-Of-Received-Talk-Bursts,1282,,Unsigned32,"M,V",P,,,N
-Number-Of-Talk-Bursts,1283,,Unsigned32,"M,V",P,,,N
-Number-Portability-Routing-Information,2024,,UTF8String,"M,V",P,,,N
-Offline-Charging,1278,,Grouped,"M,V",P,,,N
-Online-Charging-Flag,2303,,Enumerated,"M,V",P,,,N
-Originating-IOI,839,,UTF8String,"M,V",P,,,N
-Originator,864,,Enumerated,"M,V",P,,,N
-Originator-Address,886,,Grouped,"M,V",P,,,N
-Originator-Interface,2009,,Grouped,"M,V",P,,,N
-Originator-Received-Address,2027,,Grouped,"M,V",P,,,N
-Originator-SCCP-Address,2008,,Address,"M,V",P,,,N
-Outgoing-Session-Id,2320,,UTF8String,"M,V",P,,,N
-Outgoing-Trunk-Group-Id,853,,UTF8String,"M,V",P,,,N
+MBMS-GW-Address,2307,,Address,"V,M",,,
+MBMS-Information,880,,Grouped,"V,M",,,
+MBMS-User-Service-Type,1225,,Enumerated,"V,M",,,
+Media-Initiator-Flag,882,,Enumerated,"V,M",,,
+Media-Initiator-Party,1288,,UTF8String,"V,M",,,
+Message-Body,889,,Grouped,"V,M",,,
+Message-Class,1213,,Grouped,"V,M",,,
+Message-ID,1210,,UTF8String,"V,M",,,
+Message-Size,1212,,Unsigned32,"V,M",,,
+Message-Type,1211,,Enumerated,"V,M",,,
+MMBox-Storage-Requested,1248,,Enumerated,"V,M",,,
+MM-Content-Type,1203,,Grouped,"V,M",,,
+MMS-Information,877,,Grouped,"V,M",,,
+MMTel-Information,2030,,Grouped,"V,M",,,
+MMTel-SService-Type,2031,,Unsigned32,"V,M",,,
+Monitored-PLMN-Identifier,3430,,UTF8String,"V,M",,,
+Monitoring-Event-Configuration-Activity,3919,,Integer32,"V,M",,,
+Monitoring-Event-Functionality,3922,,Integer32,"V,M",,,
+Monitoring-Event-Information,3921,,Grouped,"V,M",,,
+Monitoring-Event-Report-Data,3920,,Grouped,"V,M",,,
+Monitoring-Event-Report-Number,3923,,Unsigned32,"V,M",,,
+Monitoring-UE-HPLMN-Identifier,3431,,UTF8String,"V,M",,,
+Monitoring-UE-Identifier,3432,,UTF8String,"V,M",,,
+Monitoring-UE-VPLMN-Identifier,3433,,UTF8String,"V,M",,,
+MSC-Address,3417,,OctetString,"V,M",,,
+MTC-IWF-Address,3406,,Address,"V,M",,,
+Neighbour-Node-Address,2705,,Address,"V,M",,,
+Network-Call-Reference-Number,3418,,OctetString,"V,M",,,
+Next-Tariff,2057,,Grouped,"V,M",,,
+NIDD-Submission,3928,,Grouped,"V,M",,,
+NNI-Information,2703,,Grouped,"V,M",,,
+NNI-Type,2704,,Enumerated,"V,M",,,
+Node-Functionality,862,,Enumerated,"V,M",,,
+Node-Id,2064,,UTF8String,"V,M",,,
+Number-Of-Diversions,2034,,Unsigned32,"V,M",,,
+Number-Of-Messages-Sent,2019,,Unsigned32,"V,M",,,
+Number-Of-Participants,885,,Unsigned32,"V,M",,,
+Number-Of-Received-Talk-Bursts,1282,,Unsigned32,"V,M",,,
+Number-Of-Talk-Bursts,1283,,Unsigned32,"V,M",,,
+Number-Portability-Routing-Information,2024,,UTF8String,"V,M",,,
+Offline-Charging,1278,,Grouped,"V,M",,,
+Online-Charging-Flag,2303,,Enumerated,"V,M",,,
+Originating-IOI,839,,UTF8String,"V,M",,,
+Originator,864,,Enumerated,"V,M",,,
+Originator-Address,886,,Grouped,"V,M",,,
+Originator-Interface,2009,,Grouped,"V,M",,,
+Originator-Received-Address,2027,,Grouped,"V,M",,,
+Originator-SCCP-Address,2008,,Address,"V,M",,,
+Outgoing-Session-Id,2320,,UTF8String,"V,M",,,
+Outgoing-Trunk-Group-Id,853,,UTF8String,"V,M",,,
+Participant-Access-Priority,1259,,Enumerated,"V,M",,,
+Participant-Action-Type,2049,,Enumerated,"V,M",,,
+Participant-Group,1260,,Grouped,"V,M",,,
+Participants-Involved,887,,UTF8String,"V,M",,,
+PC3-Control-Protocol-Cause,3434,,Integer32,"V,M",,,
+PC3-EPC-Control-Protocol-Cause,3435,,Integer32,"V,M",,,
+PC5-Radio-Technology,1300,,Enumerated,V,,,M
+PDN-Connection-Charging-ID,2050,,Unsigned32,"V,M",,,
+PDP-Address,1227,,Address,"V,M",,,
+PDP-Address-Prefix-Length,2606,,Unsigned32,"V,M",,,
+PDP-Context-Type,1247,,Enumerated,"V,M",,,
+# Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed PDG-Address (895).,,,,,,,,
 PDG-Address,895,,Address,"M,V",P,,,N
+# Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed PDG-Charging-Id (896).,,,,,,,,
 PDG-Charging-Id,896,,Unsigned32,"M,V",P,,,N
-PDN-Connection-Charging-ID,2050,,Unsigned32,"M,V",P,,,N
-PDP-Address,1227,,Address,"M,V",P,,,Y
-PDP-Address-Prefix-Length,2606,,Unsigned32,"M,V",P,,,Y
-PDP-Context-Type,1247,,Enumerated,"M,V",P,,,N
-PS-Append-Free-Format-Data,867,,Enumerated,"M,V",P,,,N
-PS-Free-Format-Data,866,,OctetString,"M,V",P,,,N
-PS-Furnish-Charging-Information,865,,Grouped,"M,V",P,,,N
-PS-Information,874,,Grouped,"M,V",P,,,N
-Participant-Access-Priority,1259,,Enumerated,"M,V",P,,,N
-Participant-Action-Type,2049,,Enumerated,"M,V",P,,,N
-Participant-Group,1260,,Grouped,"M,V",P,,,N
-Participants-Involved,887,,UTF8String,"M,V",P,,,N
-PoC-Change-Condition,1261,,Enumerated,"M,V",P,,,N
-PoC-Change-Time,1262,,Time,"M,V",P,,,N
-PoC-Controlling-Address,858,,UTF8String,"M,V",P,,,N
-PoC-Event-Type,2025,,Enumerated,"M,V",P,,,N
-PoC-Group-Name,859,,UTF8String,"M,V",P,,,N
-PoC-Information,879,,Grouped,"M,V",P,,,N
-PoC-Server-Role,883,,Enumerated,"M,V",P,,,N
-PoC-Session-Id,1229,,UTF8String,"M,V",P,,,N
-PoC-Session-Initiation-type,1277,,Enumerated,"M,V",P,,,N
-PoC-Session-Type,884,,Enumerated,"M,V",P,,,N
-PoC-User-Role,1252,,Grouped,"M,V",P,,,N
-PoC-User-Role-IDs,1253,,UTF8String,"M,V",P,,,N
-PoC-User-Role-info-Units,1254,,Enumerated,"M,V",P,,,N
-Positioning-Data,1245,,UTF8String,"M,V",P,,,N
-Preferred-AoC-Currency,2315,,Unsigned32,"M,V",P,,,N
-Priority,1209,,Enumerated,"M,V",P,,,N
-Quota-Consumption-Time,881,,Unsigned32,"M,V",P,,,N
-Quota-Holding-Time,871,,Unsigned32,"M,V",P,,,N
-Rate-Element,2058,,Grouped,"M,V",P,,,N
-Read-Reply-Report-Requested,1222,,Enumerated,"M,V",P,,,N
-Real-Time-Tariff-Information,2305,,Grouped,"M,V",P,,,N
-Received-Talk-Burst-Time,1284,,Unsigned32,"M,V",P,,,N
-Received-Talk-Burst-Volume,1285,,Unsigned32,"M,V",P,,,N
-Recipient-Address,1201,,Grouped,"M,V",P,,,N
-Recipient-Info,2026,,Grouped,"M,V",P,,,N
-Recipient-Received-Address,2028,,Grouped,"M,V",P,,,N
-Recipient-SCCP-Address,2010,,Address,"M,V",P,,,N
-Refund-Information,2022,,OctetString,"M,V",P,,,N
-Relationship-Mode,2706,,Enumerated,"M,V",P,,,N
-Remaining-Balance,2021,,Grouped,"M,V",P,,,N
-Reply-Applic-ID,1223,,UTF8String,"M,V",P,,,N
-Reply-Path-Requested,2011,,Enumerated,"M,V",P,,,N
-Reporting-Reason,872,,Enumerated,"M,V",P,,,N
-Requested-Party-Address,1251,,UTF8String,"M,V",P,,,N
-Role-Of-Node,829,,Enumerated,"M,V",P,,,N
-SDP-Answer-Timestamp,1275,,Time,"M,V",P,,,N
-SDP-Media-Component,843,,Grouped,"M,V",P,,,N
-SDP-Media-Description,845,,UTF8String,"M,V",P,,,N
-SDP-Media-Name,844,,UTF8String,"M,V",P,,,N
-SDP-Offer-Timestamp,1274,,Time,"M,V",P,,,N
-SDP-Session-Description,842,,UTF8String,"M,V",P,,,N
-SDP-TimeStamps,1273,,Grouped,"M,V",P,,,N
-SDP-Type,2036,,Enumerated,"M,V",P,,,N
-SGSN-Address,1228,,Address,"M,V",P,,,N
-SGW-Address,2067,,Address,"M,V",P,,,N
-SGW-Change,2065,,Enumerated,"M,V",P,,,N
-SIP-Method,824,,UTF8String,"M,V",P,,,N
-SIP-Request-Timestamp,834,,Time,"M,V",P,,,N
-SIP-Request-Timestamp-Fraction,2301,,Unsigned32,"M,V",P,,,N
-SIP-Response-Timestamp,835,,Time,"M,V",P,,,N
-SIP-Response-Timestamp-Fraction,2302,,Unsigned32,"M,V",P,,,N
-SM-Discharge-Time,2012,,Time,"M,V",P,,,N
-SM-Message-Type,2007,,Enumerated,"M,V",P,,,N
-SM-Protocol-ID,2013,,OctetString,"M,V",P,,,N
-SM-Service-Type,2029,,Enumerated,"M,V",P,,,N
-SM-Status,2014,,OctetString,"M,V",P,,,N
-SM-User-Data-Header,2015,,OctetString,"M,V",P,,,N
-SMS-Information,2000,,Grouped,"M,V",P,,,N
-SMS-Node,2016,,Enumerated,"M,V",P,,,N
-SMSC-Address,2017,,Address,"M,V",P,,,N
-Scale-Factor,2059,,Grouped,"M,V",P,,,N
-Served-Party-IP-Address,848,,Address,"M,V",P,,,N
-Service-Data-Container,2040,,Grouped,"M,V",P,,,N
-Service-Id,855,,UTF8String,"M,V",P,,,N
-Service-Information,873,,Grouped,"M,V",P,,,N
-Service-Mode,2032,,Unsigned32,"M,V",P,,,N
-Service-Specific-Data,863,,UTF8String,"M,V",P,,,N
-Service-Specific-Info,1249,,Grouped,"M,V",P,,,N
-Service-Specific-Type,1257,,Unsigned32,"M,V",P,,,N
-Serving-Node-Type,2047,,Enumerated,"M,V",P,,,N
-Session-Direction,2707,,Enumerated,"M,V",P,,,N
-Start-Time,2041,,Time,"M,V",P,,,N
-Status,2702,,Enumerated,"M,V",P,,,N
-Stop-Time,2042,,Time,"M,V",P,,,N
-Submission-Time,1202,,Time,"M,V",P,,,N
-Subscriber-Role,2033,,Enumerated,"M,V",P,,,N
-Supplementary-Service,2048,,Grouped,"M,V",P,,,N
-Talk-Burst-Exchange,1255,,Grouped,"M,V",P,,,N
-Talk-Burst-Time,1286,,Unsigned32,"M,V",P,,,N
-Talk-Burst-Volume,1287,,Unsigned32,"M,V",P,,,N
-Tariff-Information,2060,,Grouped,"M,V",P,,,N
-Tariff-XML,2306,,UTF8String,"M,V",P,,,N
-Terminating-IOI,840,,UTF8String,"M,V",P,,,N
-Time-First-Usage,2043,,Time,"M,V",P,,,N
-Time-Last-Usage,2044,,Time,"M,V",P,,,N
-Time-Quota-Mechanism,1270,,Grouped,"M,V",P,,,N
-Time-Quota-Threshold,868,,Unsigned32,"M,V",P,,,N
-Time-Quota-Type,1271,,Enumerated,"M,V",P,,,N
-Time-Stamps,833,,Grouped,"M,V",P,,,N
-Time-Usage,2045,,Unsigned32,"M,V",P,,,N
-Token-Text,1215,,UTF8String,"M,V",P,,,N
-Traffic-Data-Volumes,2046,,Grouped,"M,V",P,,,N
-Transcoder-Inserted-Indication,2605,,Enumerated,"M,V",P,,,N
-Transit-IOI-List,2701,,UTF8String,"M,V",P,,,N
-Trigger,1264,,Grouped,"M,V",P,,,N
-Trigger-Type,870,,Enumerated,"M,V",P,,,N
-Trunk-Group-Id,851,,Grouped,"M,V",P,,,N
-Type-Number,1204,,Enumerated,"M,V",P,,,N
-Unit-Cost,2061,,Grouped,"M,V",P,,,N
-Unit-Quota-Threshold,1226,,Unsigned32,"M,V",P,,,N
-User-CSG-Information,2319,,Grouped,"M,V",P,,,N
-User-Participating-Type,1279,,Enumerated,"M,V",P,,,N
-User-Session-Id,830,,UTF8String,"M,V",P,,,N
-Volume-Quota-Threshold,869,,Unsigned32,"M,V",P,,,N
+Play-Alternative,3913,,Enumerated,"V,M",,,
+PoC-Change-Condition,1261,,Enumerated,"V,M",,,
+PoC-Change-Time,1262,,Time,"V,M",,,
+PoC-Controlling-Address,858,,UTF8String,"V,M",,,
+PoC-Event-Type,2025,,Enumerated,"V,M",,,
+PoC-Group-Name,859,,UTF8String,"V,M",,,
+PoC-Information,879,,Grouped,"V,M",,,
+PoC-Server-Role,883,,Enumerated,"V,M",,,
+PoC-Session-Id,1229,,UTF8String,"V,M",,,
+PoC-Session-Initiation-type,1277,,Enumerated,"V,M",,,
+PoC-Session-Type,884,,Enumerated,"V,M",,,
+PoC-User-Role,1252,,Grouped,"V,M",,,
+PoC-User-Role-IDs,1253,,UTF8String,"V,M",,,
+# Note: 3GPP TS 32.299 V13.1.0 (2015-06) renamed,,,,,,,,
+# PoC-User-Role-info-Units (1254) to PoC-User-Role-Info-Units (1254).,,,,,,,,
+PoC-User-Role-Info-Units,1254,,Enumerated,"V,M",,,
+Positioning-Data,1245,,UTF8String,"V,M",,,
+Preferred-AoC-Currency,2315,,Unsigned32,"V,M",,,
+Priority,1209,,Enumerated,"V,M",,,
+Privacy-Indicator,3915,,Enumerated,"V,M",,,
+ProSe-3rd-Party-Application-ID,3440,,UTF8String,"V,M",,,
+ProSe-Direct-Communication-Reception-Data-Container,3461,,Grouped,"V,M",,,
+ProSe-Direct-Communication-Transmission-Data-Container,3441,,Grouped,"V,M",,,
+ProSe-Direct-Discovery-Model,3442,,Enumerated,"V,M",,,
+ProSe-Event-Type,3443,,Enumerated,"V,M",,,
+ProSe-Function-IP-Address,3444,,Address,"V,M",,,
+ProSe-Function-PLMN-Identifier,3457,,UTF8String,"V,M",,,
+ProSe-Functionality,3445,,Enumerated,"V,M",,,
+ProSe-Group-IP-Multicast-Address,3446,,Address,"V,M",,,
+ProSe-Information,3447,,Grouped,"V,M",,,
+ProSe-Range-Class,3448,,Enumerated,"V,M",,,
+ProSe-Reason-For-Cancellation,3449,,Enumerated,"V,M",,,
+ProSe-Request-Timestamp,3450,,Time,"V,M",,,
+ProSe-Role-Of-UE,3451,,Enumerated,"V,M",,,
+ProSe-Source-IP-Address,3452,,Address,"V,M",,,
+ProSe-Target-Layer-2-ID,4410,,OctetString,"V,M",,,
+ProSe-UE-ID,3453,,OctetString,"V,M",,,
+ProSe-UE-to-Network-Relay-UE-ID,4409,,OctetString,"V,M",,,
+Proximity-Alert-Indication,3454,,Enumerated,"V,M",,,
+Proximity-Alert-Timestamp,3455,,Time,"V,M",,,
+Proximity-Cancellation-Timestamp,3456,,Time,"V,M",,,
+PS-Append-Free-Format-Data,867,,Enumerated,"V,M",,,
+PS-Free-Format-Data,866,,OctetString,"V,M",,,
+PS-Furnish-Charging-Information,865,,Grouped,"V,M",,,
+PS-Information,874,,Grouped,"V,M",,,
+Quota-Consumption-Time,881,,Unsigned32,"V,M",,,
+Quota-Holding-Time,871,,Unsigned32,"V,M",,,
+Quota-Indicator,3912,,Enumerated,"V,M",,,
+Radio-Frequency,3462,,OctetString,"V,M",,,
+Radio-Parameter-Set-Info,3463,,Grouped,"V,M",,,
+Radio-Parameter-Set-Values,3464,,OctetString,"V,M",,,
+Radio-Resources-Indicator,3465,,Integer32,"V,M",,,
+RAN-End-Time,1301,,Time,V,,,M
+RAN-Secondary-RAT-Usage-Report,1302,,Grouped,V,,,M
+RAN-Start-Time,1303,,Time,V,,,M
+Rate-Control-Max-Message-Size,3937,,Unsigned32,"V,M",,,
+Rate-Control-Max-Rate,3938,,Unsigned32,"V,M",,,
+Rate-Control-Time-Unit,3939,,Unsigned32,"V,M",,,
+Rate-Element,2058,,Grouped,"V,M",,,
+Read-Reply-Report-Requested,1222,,Enumerated,"V,M",,,
+Real-Time-Tariff-Information,2305,,Grouped,"V,M",,,
+Reason-Header,3401,,UTF8String,"V,M",,,
+Received-Talk-Burst-Time,1284,,Unsigned32,"V,M",,,
+Received-Talk-Burst-Volume,1285,,Unsigned32,"V,M",,,
+Recipient-Address,1201,,Grouped,"V,M",,,
+Recipient-Info,2026,,Grouped,"V,M",,,
+Recipient-Received-Address,2028,,Grouped,"V,M",,,
+Recipient-SCCP-Address,2010,,Address,"V,M",,,
+Refund-Information,2022,,OctetString,"V,M",,,
+Related-Change-Condition-Information,3925,,Grouped,"V,M",,,
+Related-Trigger,3926,,Grouped,"V,M",,,
+Related-IMS-Charging-Identifier,2711,,UTF8String,"V,M",,,
+Related-IMS-Charging-Identifier-Node,2712,,Address,"V,M",,,
+Relationship-Mode,2706,,Enumerated,"V,M",,,
+Relay-IP-address,4411,,Address,"V,M",,,
+Remaining-Balance,2021,,Grouped,"V,M",,,
+Reply-Applic-ID,1223,,UTF8String,"V,M",,,
+Reply-Path-Requested,2011,,Enumerated,"V,M",,,
+Reporting-Reason,872,,Enumerated,"V,M",,,
+Requested-Party-Address,1251,,UTF8String,"V,M",,,
+Requested-PLMN-Identifier,3436,,UTF8String,"V,M",,,
+Requestor-PLMN-Identifier,3437,,UTF8String,"V,M",,,
+Role-Of-Node,829,,Enumerated,"V,M",,,
+Role-Of-ProSe-Function,3438,,Enumerated,"V,M",,,
+Route-Header-Received,3403,,UTF8String,"V,M",,,
+Route-Header-Transmitted,3404,,UTF8String,"V,M",,,
+Scale-Factor,2059,,Grouped,"V,M",,,
+SCEF-Address,1317,,Address,V,,,M
+SCS-Address,3941,,Address,"V,M",,,
+SCS-AS-Address,3940,,Grouped,"V,M",,,
+SCS-Realm,3942,,DiameterIdentity,"V,M",,,
+SDP-Answer-Timestamp,1275,,Time,"V,M",,,
+SDP-Media-Component,843,,Grouped,"V,M",,,
+SDP-Media-Description,845,,UTF8String,"V,M",,,
+SDP-Media-Name,844,,UTF8String,"V,M",,,
+SDP-Offer-Timestamp,1274,,Time,"V,M",,,
+SDP-Session-Description,842,,UTF8String,"V,M",,,
+SDP-TimeStamps,1273,,Grouped,"V,M",,,
+SDP-Type,2036,,Enumerated,"V,M",,,
+Secondary-RAT-Type,1304,,OctetString,V,,,M
+Serving-Node-Identity,3929,,DiameterIdentity,"V,M",,,
+Served-Party-IP-Address,848,,Address,"V,M",,,
+Service-Data-Container,2040,,Grouped,"V,M",,,
+Service-Id,855,,UTF8String,"V,M",,,
+Service-Information,873,,Grouped,"V,M",,,
+Service-Mode,2032,,Unsigned32,"V,M",,,
+Service-Specific-Data,863,,UTF8String,"V,M",,,
+Service-Specific-Info,1249,,Grouped,"V,M",,,
+Service-Specific-Type,1257,,Unsigned32,"V,M",,,
+Serving-Node-Type,2047,,Enumerated,"V,M",,,
+Session-Direction,2707,,Enumerated,"V,M",,,
+SGi-PtP-Tunnelling-Method,3931,,Enumerated,"V,M",,,
+SGSN-Address,1228,,Address,"V,M",,,
+SGW-Address,2067,,Address,"V,M",,,
+SGW-Change,2065,,Enumerated,"V,M",,,
+SIP-Method,824,,UTF8String,"V,M",,,
+SIP-Request-Timestamp,834,,Time,"V,M",,,
+SIP-Request-Timestamp-Fraction,2301,,Unsigned32,"V,M",,,
+SIP-Response-Timestamp,835,,Time,"V,M",,,
+SIP-Response-Timestamp-Fraction,2302,,Unsigned32,"V,M",,,
+SM-Device-Trigger-Indicator,3407,,Enumerated,"V,M",,,
+SM-Device-Trigger-Information,3405,,Grouped,"V,M",,,
+SM-Discharge-Time,2012,,Time,"V,M",,,
+SM-Message-Type,2007,,Enumerated,"V,M",,,
+SM-Protocol-ID,2013,,OctetString,"V,M",,,
+SM-Sequence-Number,3408,,Unsigned32,"V,M",,,
+SM-Service-Type,2029,,Enumerated,"V,M",,,
+SM-Status,2014,,OctetString,"V,M",,,
+SM-User-Data-Header,2015,,OctetString,"V,M",,,
+SMS-Information,2000,,Grouped,"V,M",,,
+SMS-Node,2016,,Enumerated,"V,M",,,
+SMS-Result,3409,,Unsigned32,"V,M",,,
+SMSC-Address,2017,,Address,"V,M",,,
+Start-of-Charging,3419,,Time,"V,M",,,
+Start-Time,2041,,Time,"V,M",,,
+# Note: 3GPP TS 32.299 V11.10.0 (2013-12) renamed,,,,,,,,
+"# Status (2702) to Status-Code (2702), and then",,,,,,,,
+# 3GPP TS 32.299 V11.14.0 (2014-12) renamed,,,,,,,,
+# Status-Code (2702) to Status-AS-Code (2702).,,,,,,,,
+Status-AS-Code,2702,,Enumerated,"V,M",,,
+Stop-Time,2042,,Time,"V,M",,,
+Submission-Time,1202,,Time,"V,M",,,
+Subscriber-Role,2033,,Enumerated,"V,M",,,
+Supplementary-Service,2048,,Grouped,"V,M",,,
+TAD-Identifier,2717,,Enumerated,"V,M",,,
+Talk-Burst-Exchange,1255,,Grouped,"V,M",,,
+Talk-Burst-Time,1286,,Unsigned32,"V,M",,,
+Talk-Burst-Volume,1287,,Unsigned32,"V,M",,,
+Target-IP-Address,4412,,Address,VM,,,
+Tariff-Information,2060,,Grouped,"V,M",,,
+Tariff-XML,2306,,UTF8String,"V,M",,,
+Teleservice,3413,,OctetString,"V,M",,,
+Terminating-IOI,840,,UTF8String,"V,M",,,
+Time-First-Reception,3466,,Time,"V,M",,,
+Time-First-Transmission,3467,,Time,"V,M",,,
+Time-First-Usage,2043,,Time,"V,M",,,
+Time-Indicator,3911,,Unsigned32,"V,M",,,
+Time-Last-Usage,2044,,Time,"V,M",,,
+Time-Quota-Mechanism,1270,,Grouped,"V,M",,,
+Time-Quota-Threshold,868,,Unsigned32,"V,M",,,
+Time-Quota-Type,1271,,Enumerated,"V,M",,,
+Time-Stamps,833,,Grouped,"V,M",,,
+Time-Usage,2045,,Unsigned32,"V,M",,,
+TLTRI,1318,,Unsigned32,V,,,M
+Token-Text,1215,,UTF8String,"V,M",,,
+Traffic-Data-Volumes,2046,,Grouped,"V,M",,,
+Transcoder-Inserted-Indication,2605,,Enumerated,"V,M",,,
+Transit-IOI-List,2701,,UTF8String,"V,M",,,
+Transmitter-Info,3468,,Grouped,"V,M",,,
+Trigger,1264,,Grouped,"V,M",,,
+Trigger-Type,870,,Enumerated,"V,M",,,
+Trunk-Group-Id,851,,Grouped,"V,M",,,
+TWAG-Address,3903,,Address,"V,M",,,
+TWAN-User-Location-Info,2714,,Grouped,"V,M",,,
+Type-Number,1204,,Enumerated,"V,M",,,
+UNI-PDU-CP-Only-Flag,3932,,Enumerated,"V,M",,,
+Unit-Cost,2061,,Grouped,"V,M",,,
+Unit-Quota-Threshold,1226,,Unsigned32,"V,M",,,
+Unused-Quota-Timer,4407,,Unsigned32,"V,M",,,
+Usage-Information-Report-Sequence-Number,3439,,Integer32,"V,M",,,
+User-CSG-Information,2319,,Grouped,"V,M",,,
+User-Participating-Type,1279,,Enumerated,"V,M",,,
+User-Session-Id,830,,UTF8String,"V,M",,,
+UWAN-User-Location-Info,3918,,Grouped,"V,M",,,
+Variable-Part,3907,,Grouped,"V,M",,,
+Variable-Part-Order,3908,,Unsigned32,"V,M",,,
+Variable-Part-Type,3909,,Unsigned32,"V,M",,,
+Variable-Part-Value,3910,,UTF8String,"V,M",,,
+VCS-Information,3410,,Grouped,"V,M",,,
+VLR-Number,3420,,OctetString,"V,M",,,
+Volume-Quota-Threshold,869,,Unsigned32,"V,M",,,
+# Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WAG-Address (890).,,,,,,,,
 WAG-Address,890,,Address,"M,V",P,,,N
+# Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WAG-PLMN-Id (891).,,,,,,,,
 WAG-PLMN-Id,891,,OctetString,"M,V",P,,,N
+# Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-Information (875).,,,,,,,,
 WLAN-Information,875,,Grouped,"M,V",P,,,N
+WLAN-Operator-Id,1306,,Grouped,V,,,M
+WLAN-Operator-Name,1307,,UTF8String,V,,,M
+WLAN-PLMN-Id,1308,,UTF8String,V,,,M
+# Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-Radio-Container (892).,,,,,,,,
 WLAN-Radio-Container,892,,Grouped,"M,V",P,,,N
+# Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-Session-Id (1246).,,,,,,,,
 WLAN-Session-Id,1246,,UTF8String,"M,V",P,,,N
+# Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-Technology (893).,,,,,,,,
 WLAN-Technology,893,,Unsigned32,"M,V",P,,,N
+# Note: 3GPP TS 32.299 V12.6.0 (2014-09) removed WLAN-UE-Local-IPAddress (894).,,,,,,,,
 WLAN-UE-Local-IPAddress,894,,Address,"M,V",P,,,N
 ,,,,,,,,
 @standard,OMA DDS Charging Data,,,,,,,
"Welcome to our mercurial repository"