diff extensions/dict_dcca_3gpp/dict_dcca_3gpp.c @ 1489:0210b996b8fa

Add rest of 3GPP TS 29.336 V15.7.0 (2019-09) Add AVPs from 3GPP TS 29.336: - IP-SM-GW-Number, OctetString, code 3100, section 6.4.14 - IP-SM-GW-Name, DiameterIdentity, code 3101, section 6.4.15 - User-Identifier, Grouped, code 3102, section 6.4.2 - Service-ID, Enumerated, code 3103, section 6.4.3 - SCS-Identity, OctetString, code 3104, section 6.4.4 - Service-Parameters, Grouped, code 3105, section 6.4.5 - T4-Parameters, Grouped, code 3106, section 6.4.6 - Service-Data, Grouped, code 3107, section 6.4.7 - T4-Data, Grouped, code 3108, section 6.4.8 - HSS-Cause, Unsigned32, code 3109, section 6.4.9 - SIR-Flags, Unsigned32, code 3110, section 6.4.10 - IP-SM-GW-Realm, DiameterIdentity, code 3112, section 6.4.18 - AESE-Communication-Pattern, Grouped, code 3113, section 8.4.25 - Communication-Pattern-Set, Grouped, code 3114, section 8.4.26 - Periodic-Communication-Indicator, Unsigned32, code 3115, section 8.4.27 - Communication-Duration-Time, Unsigned32, code 3116, section 8.4.28 - Periodic-time, Unsigned32, code 3117, section 8.4.29 - Scheduled-Communication-Time, Grouped, code 3118, section 8.4.30 - Stationary-Indication, Unsigned32, code 3119, section 8.4.31 - AESE-Communication-Pattern-Config-Status, Grouped, code 3120, section 8.4.32 - AESE-Error-Report, Grouped, code 3121, section 8.4.33 - Monitoring-Event-Configuration, Grouped, code 3122, section 8.4.2 - Monitoring-Event-Report, Grouped, code 3123, section 8.4.3 - SCEF-Reference-ID, Unsigned32, code 3124, section 8.4.4 - SCEF-ID, DiameterIdentity, code 3125, section 8.4.5 - SCEF-Reference-ID-for-Deletion, Unsigned32, code 3126, section 8.4.6 - Monitoring-Type, Unsigned32, code 3127, section 8.4.7 - Maximum-Number-of-Reports, Unsigned32, code 3128, section 8.4.8 - UE-Reachability-Configuration, Grouped, code 3129, section 8.4.9 - Monitoring-Duration, Time, code 3130, section 8.4.10 - Maximum-Detection-Time, Unsigned32, code 3131, section 8.4.11 - Reachability-Type, Unsigned32, code 3132, section 8.4.12 - Maximum-Latency, Unsigned32, code 3133, section 8.4.13 - Maximum-Response-Time, Unsigned32, code 3134, section 8.4.14 - Location-Information-Configuration, Grouped, code 3135, section 8.4.15 - MONTE-Location-Type, Unsigned32, code 3136, section 8.4.16 - Accuracy, Unsigned32, code 3137, section 8.4.17 - Association-Type, Unsigned32, code 3138, section 8.4.18 - Roaming-Information, Unsigned32, code 3139, section 8.4.19 - Reachability-Information, Unsigned32, code 3140, section 8.4.20 - IMEI-Change, Unsigned32, code 3141, section 8.4.22 - Monitoring-Event-Config-Status, Grouped, code 3142, section 8.4.24 - Supported-Services, Grouped, code 3143, section 8.4.40 - Supported-Monitoring-Events, Unsigned64, code 3144, section 8.4.41 - CIR-Flags, Unsigned32, code 3145, section 8.4.39 - Service-Result, Grouped, code 3146, section 8.4.37 - Service-Result-Code, Unsigned32, code 3147, section 8.4.38 - Reference-ID-Validity-Time, Time, code 3148, section 8.4.42 - Event-Handling, Unsigned32, code 3149, section 8.4.43 - NIDD-Authorization-Request, Grouped, code 3150, section 8.4.44 - NIDD-Authorization-Response, Grouped, code 3151, section 8.4.45 - Service-Report, Grouped, code 3152, section 8.4.47 - Node-Type, Unsigned32, code 3153, section 8.4.48 - S6t-HSS-Cause, Unsigned32, code 3154, section 8.4.50 - Enhanced-Coverage-Restriction, Grouped, code 3155, section 8.4.51 - Enhanced-Coverage-Restriction-Data, Grouped, code 3156, section 8.4.52 - Restricted-PLMN-List, Grouped, code 3157, section 8.4.53 - Allowed-PLMN-List, Grouped, code 3158, section 8.4.54 - Requested-Validity-Time, Time, code 3159, section 8.4.55 - Granted-Validity-Time, Time, code 3160, section 8.4.56 - NIDD-Authorization-Update, Grouped, code 3161, section 8.4.57 - Loss-Of-Connectivity-Reason, Unsigned32, code 3162, section 8.4.58 - Group-Reporting-Guard-Timer, Unsigned32, code 3163, section 8.4.59 - CIA-Flags, Unsigned32, code 3164, section 8.4.60 - Group-Monitoring-Event-Report, Grouped, code 3165, section 8.4.61 - Group-Monitoring-Event-Report-Item, Grouped, code 3166, section 8.4.62 - RIR-Flags, Unsigned32, code 3167, section 8.4.63 - Type-Of-External-Identifier, Unsigned32, code 3168, section 8.4.64 - APN-Validity-Time, Grouped, code 3169, section 8.4.65 - Suggested-Network-Configuration, Grouped, code 3170, section 8.4.66 - Monitoring-Event-Report-Status, Grouped, code 3171, section 8.4.67 - PLMN-ID-Requested, Enumerated, code 3172, section 8.4.68 - AdditionalIdentifiers, Grouped, code 3173, section 8.4.69 - NIR-Flags, Unsigned32, code 3174, section 8.4.70 - Reporting-Time-Stamp, Time, code 3175, section 8.4.71 - NIA-Flags, Unsigned32, code 3176, section 8.4.72 - Group-User-Identifier, Grouped, code 3177, section 8.4.73 - MTC-Provider-Info, Grouped, code 3178, section 8.4.74 - MTC-Provider-ID, UTF8String, code 3179, section 8.4.75
author Luke Mewburn <luke@mewburn.net>
date Mon, 30 Mar 2020 09:49:33 +1100
parents 431ad99c39fe
children 48a552fbb1aa
line wrap: on
line diff
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Fri Mar 27 16:58:02 2020 +1100
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Mon Mar 30 09:49:33 2020 +1100
@@ -9578,9 +9578,153 @@
 
 	/*==================================================================*/
 	/* 3GPP TS 29.336 Table 6.4.1/1: S6m/S6n specific Diameter AVPs     */
-	/*                                                                  */
-	/* Note: This is incomplete.                                        */
-	/*==================================================================*/
+	/*==================================================================*/
+
+	/* IP-SM-GW-Number, OctetString, code 3100, section 6.4.14          */
+	{
+		struct dict_avp_data data = {
+			3100,	/* Code */
+			10415,	/* Vendor */
+			"IP-SM-GW-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);
+	};
+
+	/* IP-SM-GW-Name, DiameterIdentity, code 3101, section 6.4.15       */
+	{
+		struct dict_avp_data data = {
+			3101,	/* Code */
+			10415,	/* Vendor */
+			"IP-SM-GW-Name",	/* 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);
+	};
+
+	/* User-Identifier, Grouped, code 3102, section 6.4.2               */
+	{
+		struct dict_avp_data data = {
+			3102,	/* Code */
+			10415,	/* Vendor */
+			"User-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);
+	};
+
+	/* Service-ID, Enumerated, code 3103, section 6.4.3                 */
+	{
+		struct dict_avp_data data = {
+			3103,	/* Code */
+			10415,	/* Vendor */
+			"Service-ID",	/* 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/Service-ID)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* SCS-Identity, OctetString, code 3104, section 6.4.4              */
+	{
+		struct dict_avp_data data = {
+			3104,	/* Code */
+			10415,	/* Vendor */
+			"SCS-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, NULL, NULL);
+	};
+
+	/* Service-Parameters, Grouped, code 3105, section 6.4.5            */
+	{
+		struct dict_avp_data data = {
+			3105,	/* Code */
+			10415,	/* Vendor */
+			"Service-Parameters",	/* 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);
+	};
+
+	/* T4-Parameters, Grouped, code 3106, section 6.4.6                 */
+	{
+		struct dict_avp_data data = {
+			3106,	/* Code */
+			10415,	/* Vendor */
+			"T4-Parameters",	/* 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);
+	};
+
+	/* Service-Data, Grouped, code 3107, section 6.4.7                  */
+	{
+		struct dict_avp_data data = {
+			3107,	/* Code */
+			10415,	/* Vendor */
+			"Service-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);
+	};
+
+	/* T4-Data, Grouped, code 3108, section 6.4.8                       */
+	{
+		struct dict_avp_data data = {
+			3108,	/* Code */
+			10415,	/* Vendor */
+			"T4-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);
+	};
+
+	/* HSS-Cause, Unsigned32, code 3109, section 6.4.9                  */
+	{
+		struct dict_avp_data data = {
+			3109,	/* Code */
+			10415,	/* Vendor */
+			"HSS-Cause",	/* 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);
+	};
+
+	/* SIR-Flags, Unsigned32, code 3110, section 6.4.10                 */
+	{
+		struct dict_avp_data data = {
+			3110,	/* Code */
+			10415,	/* Vendor */
+			"SIR-Flags",	/* 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);
+	};
 
 	/* External-Identifier, UTF8String, code 3111, section 6.4.11       */
 	{
@@ -9595,6 +9739,897 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
+	/* IP-SM-GW-Realm, DiameterIdentity, code 3112, section 6.4.18      */
+	{
+		struct dict_avp_data data = {
+			3112,	/* Code */
+			10415,	/* Vendor */
+			"IP-SM-GW-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);
+	};
+
+	/*==================================================================*/
+	/* 3GPP TS 29.336 Table 8.4.1-1: S6t specific Diameter AVPs         */
+	/*==================================================================*/
+
+	/* AESE-Communication-Pattern, Grouped, code 3113, section 8.4.25   */
+	{
+		struct dict_avp_data data = {
+			3113,	/* Code */
+			10415,	/* Vendor */
+			"AESE-Communication-Pattern",	/* 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);
+	};
+
+	/* Communication-Pattern-Set, Grouped, code 3114, section 8.4.26    */
+	{
+		struct dict_avp_data data = {
+			3114,	/* Code */
+			10415,	/* Vendor */
+			"Communication-Pattern-Set",	/* 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);
+	};
+
+	/* Periodic-Communication-Indicator, Unsigned32, code 3115, section 8.4.27 */
+	{
+		struct dict_avp_data data = {
+			3115,	/* Code */
+			10415,	/* Vendor */
+			"Periodic-Communication-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);
+	};
+
+	/* Communication-Duration-Time, Unsigned32, code 3116, section 8.4.28 */
+	{
+		struct dict_avp_data data = {
+			3116,	/* Code */
+			10415,	/* Vendor */
+			"Communication-Duration-Time",	/* 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);
+	};
+
+	/* Periodic-time, Unsigned32, code 3117, section 8.4.29             */
+	{
+		struct dict_avp_data data = {
+			3117,	/* Code */
+			10415,	/* Vendor */
+			"Periodic-time",	/* 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);
+	};
+
+	/* Scheduled-Communication-Time, Grouped, code 3118, section 8.4.30 */
+	{
+		struct dict_avp_data data = {
+			3118,	/* Code */
+			10415,	/* Vendor */
+			"Scheduled-Communication-Time",	/* 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);
+	};
+
+	/* Stationary-Indication, Unsigned32, code 3119, section 8.4.31     */
+	{
+		struct dict_avp_data data = {
+			3119,	/* Code */
+			10415,	/* Vendor */
+			"Stationary-Indication",	/* 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);
+	};
+
+	/* AESE-Communication-Pattern-Config-Status, Grouped, code 3120, section 8.4.32 */
+	{
+		struct dict_avp_data data = {
+			3120,	/* Code */
+			10415,	/* Vendor */
+			"AESE-Communication-Pattern-Config-Status",	/* 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);
+	};
+
+	/* AESE-Error-Report, Grouped, code 3121, section 8.4.33            */
+	{
+		struct dict_avp_data data = {
+			3121,	/* Code */
+			10415,	/* Vendor */
+			"AESE-Error-Report",	/* 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-Configuration, Grouped, code 3122, section 8.4.2 */
+	{
+		struct dict_avp_data data = {
+			3122,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Event-Configuration",	/* 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, Grouped, code 3123, section 8.4.3       */
+	{
+		struct dict_avp_data data = {
+			3123,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Event-Report",	/* 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-Reference-ID, Unsigned32, code 3124, section 8.4.4          */
+	{
+		struct dict_avp_data data = {
+			3124,	/* Code */
+			10415,	/* Vendor */
+			"SCEF-Reference-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);
+	};
+
+	/* SCEF-ID, DiameterIdentity, code 3125, section 8.4.5              */
+	{
+		struct dict_avp_data data = {
+			3125,	/* Code */
+			10415,	/* Vendor */
+			"SCEF-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, DiameterIdentity_type, NULL);
+	};
+
+	/* SCEF-Reference-ID-for-Deletion, Unsigned32, code 3126, section 8.4.6 */
+	{
+		struct dict_avp_data data = {
+			3126,	/* Code */
+			10415,	/* Vendor */
+			"SCEF-Reference-ID-for-Deletion",	/* 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-Type, Unsigned32, code 3127, section 8.4.7            */
+	{
+		struct dict_avp_data data = {
+			3127,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-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);
+	};
+
+	/* Maximum-Number-of-Reports, Unsigned32, code 3128, section 8.4.8  */
+	{
+		struct dict_avp_data data = {
+			3128,	/* Code */
+			10415,	/* Vendor */
+			"Maximum-Number-of-Reports",	/* 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);
+	};
+
+	/* UE-Reachability-Configuration, Grouped, code 3129, section 8.4.9 */
+	{
+		struct dict_avp_data data = {
+			3129,	/* Code */
+			10415,	/* Vendor */
+			"UE-Reachability-Configuration",	/* 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-Duration, Time, code 3130, section 8.4.10             */
+	{
+		struct dict_avp_data data = {
+			3130,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Duration",	/* 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);
+	};
+
+	/* Maximum-Detection-Time, Unsigned32, code 3131, section 8.4.11    */
+	{
+		struct dict_avp_data data = {
+			3131,	/* Code */
+			10415,	/* Vendor */
+			"Maximum-Detection-Time",	/* 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);
+	};
+
+	/* Reachability-Type, Unsigned32, code 3132, section 8.4.12         */
+	{
+		struct dict_avp_data data = {
+			3132,	/* Code */
+			10415,	/* Vendor */
+			"Reachability-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);
+	};
+
+	/* Maximum-Latency, Unsigned32, code 3133, section 8.4.13           */
+	{
+		struct dict_avp_data data = {
+			3133,	/* Code */
+			10415,	/* Vendor */
+			"Maximum-Latency",	/* 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);
+	};
+
+	/* Maximum-Response-Time, Unsigned32, code 3134, section 8.4.14     */
+	{
+		struct dict_avp_data data = {
+			3134,	/* Code */
+			10415,	/* Vendor */
+			"Maximum-Response-Time",	/* 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);
+	};
+
+	/* Location-Information-Configuration, Grouped, code 3135, section 8.4.15 */
+	{
+		struct dict_avp_data data = {
+			3135,	/* Code */
+			10415,	/* Vendor */
+			"Location-Information-Configuration",	/* 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);
+	};
+
+	/* MONTE-Location-Type, Unsigned32, code 3136, section 8.4.16       */
+	{
+		struct dict_avp_data data = {
+			3136,	/* Code */
+			10415,	/* Vendor */
+			"MONTE-Location-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);
+	};
+
+	/* Accuracy, Unsigned32, code 3137, section 8.4.17                  */
+	{
+		struct dict_avp_data data = {
+			3137,	/* Code */
+			10415,	/* Vendor */
+			"Accuracy",	/* 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);
+	};
+
+	/* Association-Type, Unsigned32, code 3138, section 8.4.18          */
+	{
+		struct dict_avp_data data = {
+			3138,	/* Code */
+			10415,	/* Vendor */
+			"Association-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);
+	};
+
+	/* Roaming-Information, Unsigned32, code 3139, section 8.4.19       */
+	{
+		struct dict_avp_data data = {
+			3139,	/* Code */
+			10415,	/* Vendor */
+			"Roaming-Information",	/* 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);
+	};
+
+	/* Reachability-Information, Unsigned32, code 3140, section 8.4.20  */
+	{
+		struct dict_avp_data data = {
+			3140,	/* Code */
+			10415,	/* Vendor */
+			"Reachability-Information",	/* 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);
+	};
+
+	/* IMEI-Change, Unsigned32, code 3141, section 8.4.22               */
+	{
+		struct dict_avp_data data = {
+			3141,	/* Code */
+			10415,	/* Vendor */
+			"IMEI-Change",	/* 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-Event-Config-Status, Grouped, code 3142, section 8.4.24 */
+	{
+		struct dict_avp_data data = {
+			3142,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Event-Config-Status",	/* 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);
+	};
+
+	/* Supported-Services, Grouped, code 3143, section 8.4.40           */
+	{
+		struct dict_avp_data data = {
+			3143,	/* Code */
+			10415,	/* Vendor */
+			"Supported-Services",	/* 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);
+	};
+
+	/* Supported-Monitoring-Events, Unsigned64, code 3144, section 8.4.41 */
+	{
+		struct dict_avp_data data = {
+			3144,	/* Code */
+			10415,	/* Vendor */
+			"Supported-Monitoring-Events",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED64	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* CIR-Flags, Unsigned32, code 3145, section 8.4.39                 */
+	{
+		struct dict_avp_data data = {
+			3145,	/* Code */
+			10415,	/* Vendor */
+			"CIR-Flags",	/* 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);
+	};
+
+	/* Service-Result, Grouped, code 3146, section 8.4.37               */
+	{
+		struct dict_avp_data data = {
+			3146,	/* Code */
+			10415,	/* Vendor */
+			"Service-Result",	/* 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);
+	};
+
+	/* Service-Result-Code, Unsigned32, code 3147, section 8.4.38       */
+	{
+		struct dict_avp_data data = {
+			3147,	/* Code */
+			10415,	/* Vendor */
+			"Service-Result-Code",	/* 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);
+	};
+
+	/* Reference-ID-Validity-Time, Time, code 3148, section 8.4.42      */
+	{
+		struct dict_avp_data data = {
+			3148,	/* Code */
+			10415,	/* Vendor */
+			"Reference-ID-Validity-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);
+	};
+
+	/* Event-Handling, Unsigned32, code 3149, section 8.4.43            */
+	{
+		struct dict_avp_data data = {
+			3149,	/* Code */
+			10415,	/* Vendor */
+			"Event-Handling",	/* 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);
+	};
+
+	/* NIDD-Authorization-Request, Grouped, code 3150, section 8.4.44   */
+	{
+		struct dict_avp_data data = {
+			3150,	/* Code */
+			10415,	/* Vendor */
+			"NIDD-Authorization-Request",	/* 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-Authorization-Response, Grouped, code 3151, section 8.4.45  */
+	{
+		struct dict_avp_data data = {
+			3151,	/* Code */
+			10415,	/* Vendor */
+			"NIDD-Authorization-Response",	/* 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);
+	};
+
+	/* Service-Report, Grouped, code 3152, section 8.4.47               */
+	{
+		struct dict_avp_data data = {
+			3152,	/* Code */
+			10415,	/* Vendor */
+			"Service-Report",	/* 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-Type, Unsigned32, code 3153, section 8.4.48                 */
+	{
+		struct dict_avp_data data = {
+			3153,	/* Code */
+			10415,	/* Vendor */
+			"Node-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);
+	};
+
+	/* S6t-HSS-Cause, Unsigned32, code 3154, section 8.4.50             */
+	{
+		struct dict_avp_data data = {
+			3154,	/* Code */
+			10415,	/* Vendor */
+			"S6t-HSS-Cause",	/* 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);
+	};
+
+	/* Enhanced-Coverage-Restriction, Grouped, code 3155, section 8.4.51 */
+	{
+		struct dict_avp_data data = {
+			3155,	/* Code */
+			10415,	/* Vendor */
+			"Enhanced-Coverage-Restriction",	/* 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);
+	};
+
+	/* Enhanced-Coverage-Restriction-Data, Grouped, code 3156, section 8.4.52 */
+	{
+		struct dict_avp_data data = {
+			3156,	/* Code */
+			10415,	/* Vendor */
+			"Enhanced-Coverage-Restriction-Data",	/* 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);
+	};
+
+	/* Restricted-PLMN-List, Grouped, code 3157, section 8.4.53         */
+	{
+		struct dict_avp_data data = {
+			3157,	/* Code */
+			10415,	/* Vendor */
+			"Restricted-PLMN-List",	/* 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);
+	};
+
+	/* Allowed-PLMN-List, Grouped, code 3158, section 8.4.54            */
+	{
+		struct dict_avp_data data = {
+			3158,	/* Code */
+			10415,	/* Vendor */
+			"Allowed-PLMN-List",	/* 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);
+	};
+
+	/* Requested-Validity-Time, Time, code 3159, section 8.4.55         */
+	{
+		struct dict_avp_data data = {
+			3159,	/* Code */
+			10415,	/* Vendor */
+			"Requested-Validity-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);
+	};
+
+	/* Granted-Validity-Time, Time, code 3160, section 8.4.56           */
+	{
+		struct dict_avp_data data = {
+			3160,	/* Code */
+			10415,	/* Vendor */
+			"Granted-Validity-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);
+	};
+
+	/* NIDD-Authorization-Update, Grouped, code 3161, section 8.4.57    */
+	{
+		struct dict_avp_data data = {
+			3161,	/* Code */
+			10415,	/* Vendor */
+			"NIDD-Authorization-Update",	/* 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);
+	};
+
+	/* Loss-Of-Connectivity-Reason, Unsigned32, code 3162, section 8.4.58 */
+	{
+		struct dict_avp_data data = {
+			3162,	/* Code */
+			10415,	/* Vendor */
+			"Loss-Of-Connectivity-Reason",	/* 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);
+	};
+
+	/* Group-Reporting-Guard-Timer, Unsigned32, code 3163, section 8.4.59 */
+	{
+		struct dict_avp_data data = {
+			3163,	/* Code */
+			10415,	/* Vendor */
+			"Group-Reporting-Guard-Timer",	/* 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);
+	};
+
+	/* CIA-Flags, Unsigned32, code 3164, section 8.4.60                 */
+	{
+		struct dict_avp_data data = {
+			3164,	/* Code */
+			10415,	/* Vendor */
+			"CIA-Flags",	/* 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);
+	};
+
+	/* Group-Monitoring-Event-Report, Grouped, code 3165, section 8.4.61 */
+	{
+		struct dict_avp_data data = {
+			3165,	/* Code */
+			10415,	/* Vendor */
+			"Group-Monitoring-Event-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);
+	};
+
+	/* Group-Monitoring-Event-Report-Item, Grouped, code 3166, section 8.4.62 */
+	{
+		struct dict_avp_data data = {
+			3166,	/* Code */
+			10415,	/* Vendor */
+			"Group-Monitoring-Event-Report-Item",	/* 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);
+	};
+
+	/* RIR-Flags, Unsigned32, code 3167, section 8.4.63                 */
+	{
+		struct dict_avp_data data = {
+			3167,	/* Code */
+			10415,	/* Vendor */
+			"RIR-Flags",	/* 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);
+	};
+
+	/* Type-Of-External-Identifier, Unsigned32, code 3168, section 8.4.64 */
+	{
+		struct dict_avp_data data = {
+			3168,	/* Code */
+			10415,	/* Vendor */
+			"Type-Of-External-Identifier",	/* 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);
+	};
+
+	/* APN-Validity-Time, Grouped, code 3169, section 8.4.65            */
+	{
+		struct dict_avp_data data = {
+			3169,	/* Code */
+			10415,	/* Vendor */
+			"APN-Validity-Time",	/* 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);
+	};
+
+	/* Suggested-Network-Configuration, Grouped, code 3170, section 8.4.66 */
+	{
+		struct dict_avp_data data = {
+			3170,	/* Code */
+			10415,	/* Vendor */
+			"Suggested-Network-Configuration",	/* 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);
+	};
+
+	/* Monitoring-Event-Report-Status, Grouped, code 3171, section 8.4.67 */
+	{
+		struct dict_avp_data data = {
+			3171,	/* Code */
+			10415,	/* Vendor */
+			"Monitoring-Event-Report-Status",	/* 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);
+	};
+
+	/* PLMN-ID-Requested, Enumerated, code 3172, section 8.4.68         */
+	{
+		struct dict_avp_data data = {
+			3172,	/* Code */
+			10415,	/* Vendor */
+			"PLMN-ID-Requested",	/* 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/PLMN-ID-Requested)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* AdditionalIdentifiers, Grouped, code 3173, section 8.4.69        */
+	{
+		struct dict_avp_data data = {
+			3173,	/* Code */
+			10415,	/* Vendor */
+			"AdditionalIdentifiers",	/* 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);
+	};
+
+	/* NIR-Flags, Unsigned32, code 3174, section 8.4.70                 */
+	{
+		struct dict_avp_data data = {
+			3174,	/* Code */
+			10415,	/* Vendor */
+			"NIR-Flags",	/* 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);
+	};
+
+	/* Reporting-Time-Stamp, Time, code 3175, section 8.4.71            */
+	{
+		struct dict_avp_data data = {
+			3175,	/* Code */
+			10415,	/* Vendor */
+			"Reporting-Time-Stamp",	/* 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);
+	};
+
+	/* NIA-Flags, Unsigned32, code 3176, section 8.4.72                 */
+	{
+		struct dict_avp_data data = {
+			3176,	/* Code */
+			10415,	/* Vendor */
+			"NIA-Flags",	/* 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);
+	};
+
+	/* Group-User-Identifier, Grouped, code 3177, section 8.4.73        */
+	{
+		struct dict_avp_data data = {
+			3177,	/* Code */
+			10415,	/* Vendor */
+			"Group-User-Identifier",	/* 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);
+	};
+
+	/* MTC-Provider-Info, Grouped, code 3178, section 8.4.74            */
+	{
+		struct dict_avp_data data = {
+			3178,	/* Code */
+			10415,	/* Vendor */
+			"MTC-Provider-Info",	/* 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);
+	};
+
+	/* MTC-Provider-ID, UTF8String, code 3179, section 8.4.75           */
+	{
+		struct dict_avp_data data = {
+			3179,	/* Code */
+			10415,	/* Vendor */
+			"MTC-Provider-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);
+	};
+
 	/*==================================================================*/
 	/* 3GPP TS 32.299 V15.7.0 (2019-06)                                 */
 	/* From 3GPP 32299-f70.doc                                          */
"Welcome to our mercurial repository"