changeset 1510:a2fb51309cd2

Add 3GPP TS 29.345 V15.1.0 (2019-09) Add AVPs: - App-Layer-User-Id, UTF8String, code 3801, section 6.3.2 - Assistance-info, Grouped, code 3802, section 6.3.3 - Assistance-Info-Validity-Timer, Unsigned32, code 3803, section 6.3.4 - Discovery-Type, Unsigned32, code 3804, section 6.3.5 - Filter-Id, OctetString, code 3805, section 6.3.9 - MAC-Address, UTF8String, code 3806, section 6.3.11 - Match-Report, Grouped, code 3807, section 6.3.12 - Operating-Channel, Unsigned32, code 3808, section 6.3.14 - P2P-Features, Unsigned32, code 3809, section 6.3.15 - ProSe-App-Code, OctetString, code 3810, section 6.3.16 - ProSe-App-Id, UTF8String, code 3811, section 6.3.17 - ProSe-App-Mask, OctetString, code 3812, section 6.3.18 - ProSe-Discovery-Filter, Grouped, code 3813, section 6.3.20 - PRR-Flags, Unsigned32, code 3814, section 6.3.21 - ProSe-Validity-Timer, Unsigned32, code 3815, section 6.3.22 - Requesting-EPUID, UTF8String, code 3816, section 6.3.23 - Targeted-EPUID, UTF8String, code 3817, section 6.3.26 - Time-Window, Unsigned32, code 3818, section 6.3.27 - WiFi-P2P-Assistance-Info, Grouped, code 3819, section 6.3.30 - WLAN-Assistance-Info, Grouped, code 3820, section 6.3.31 - WLAN-Link-Layer-Id, OctetString, code 3821, section 6.3.32 - WLAN-Link-Layer-Id-List, Grouped, code 3822, section 6.3.33 - Location-Update-Trigger, Grouped, code 3823, section 6.3.42 - Location-Update-Event-Type, Unsigned32, code 3824, section 6.3.43 - Change-Of-Area-Type, Grouped, code 3825, section 6.3.44 - Location-Update-Event-Trigger, Unsigned32, code 3826, section 6.3.45 - Report-Cardinality, Enumerated, code 3827, section 6.3.46 - Minimum-Interval-Time, Unsigned32, code 3828, section 6.3.47 - Periodic-Location-Type, Grouped, code 3829, section 6.3.48 - Location-Report-Interval-Time, Unsigned32, code 3830, section 6.3.49 - Total-Number-Of-Reports, Unsigned32, code 3831, section 6.3.50 - Validity-Time-Announce, Unsigned32, code 3832, section 6.3.36 - Validity-Time-Monitor, Unsigned32, code 3833, section 6.3.37 - Validity-Time-Communication, Unsigned32, code 3834, section 6.3.38 - ProSe-App-Code-Info, Grouped, code 3835, section 6.3.39 - MIC, OctetString, code 3836, section 6.3.40 - UTC-based-Counter, Unsigned32, code 3837, section 6.3.41 - ProSe-Match-Refresh-Timer, Unsigned32, code 3838, section 6.3.52 - ProSe-Metadata-Index-Mask, OctetString, code 3839, section 6.3.60 - App-Identifier, Grouped, code 3840, section 6.3.61 - OS-ID, OctetString, code 3841, section 6.3.62 - OS-App-ID, UTF8String, code 3842, section 6.3.63 - Requesting-RPAUID, UTF8String, code 3843, section 6.3.64 - Target-RPAUID, UTF8String, code 3844, section 6.3.65 - Target-PDUID, OctetString, code 3845, section 6.3.66 - ProSe-Restricted-Code, OctetString, code 3846, section 6.3.67 - ProSe-Restricted-Code-Suffix-Range, OctetString, code 3847, section 6.3.68 - Beginning-Suffix, OctetString, code 3848, section 6.3.69 - Ending-Suffix, OctetString, code 3849, section 6.3.70 - Discovery-Entry-ID, Unsigned32, code 3850, section 6.3.59 - Match-Timestamp, Time, code 3851, section 6.3.71 - PMR-Flags, Unsigned32, code 3852, section 6.3.57 - ProSe-Application-Metadata, UTF8String, code 3853, section 6.3.58 - Discovery-Auth-Request, Grouped, code 3854, section 6.3.53 - Discovery-Auth-Response, Grouped, code 3855, section 6.3.54 - Match-Request, Grouped, code 3856, section 6.3.55 - Match-Report-Info, Grouped, code 3857, section 6.3.56 - Banned-RPAUID, UTF8String, code 3858, section 6.3.73 - Banned-PDUID, OctetString, code 3859, section 6.3.74 - Code-Receiving-Security-Material, Grouped, code 3860, section 6.3.75 - Code-Sending-Security-Material, Grouped, code 3861, section 6.3.76 - DUSK, OctetString, code 3862, section 6.3.77 - DUIK, OctetString, code 3863, section 6.3.78 - DUCK, OctetString, code 3864, section 6.3.79 - MIC-Check-indicator, Unsigned32, code 3865, section 6.3.80 - Encrypted-Bitmask, OctetString, code 3866, section 6.3.81 - ProSe-App-Code-Suffix-Range, OctetString, code 3867, section 6.3.82 - PC5-tech, OctetString, code 3868, section 6.3.84 Note: Name conflict with 3GPP TS 29.154 Time-Window (4204). Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates Time-Window (4204) in 3GPP TS 29.154 V13.1.0 (2016-03).
author Luke Mewburn <luke@mewburn.net>
date Sun, 05 Apr 2020 08:27:37 +1000
parents 4a1737b7ec8e
children 528418d4b080
files extensions/dict_dcca_3gpp/add_avps.c extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv
diffstat 2 files changed, 987 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/extensions/dict_dcca_3gpp/add_avps.c	Sun Apr 05 08:21:44 2020 +1000
+++ b/extensions/dict_dcca_3gpp/add_avps.c	Sun Apr 05 08:27:37 2020 +1000
@@ -12681,6 +12681,908 @@
 	};
 
 	/*==================================================================*/
+	/* 3GPP TS 29.345 V15.1.0 (2019-09)                                 */
+	/* Inter-Proximity-services (ProSe) Function signalling aspects;    */
+	/* Stage 3                                                          */
+	/*                                                                  */
+	/* From 29345-f10.doc                                               */
+	/*==================================================================*/
+
+	/*==================================================================*/
+	/* 3GPP TS 29.345 Table 6.3.1-1: PC6/PC7 specific Diameter AVPs     */
+	/*==================================================================*/
+
+	/* App-Layer-User-Id, UTF8String, code 3801, section 6.3.2          */
+	{
+		struct dict_avp_data data = {
+			3801,	/* Code */
+			10415,	/* Vendor */
+			"App-Layer-User-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);
+	};
+
+	/* Assistance-info, Grouped, code 3802, section 6.3.3               */
+	{
+		struct dict_avp_data data = {
+			3802,	/* Code */
+			10415,	/* Vendor */
+			"Assistance-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);
+	};
+
+	/* Assistance-Info-Validity-Timer, Unsigned32, code 3803, section 6.3.4 */
+	{
+		struct dict_avp_data data = {
+			3803,	/* Code */
+			10415,	/* Vendor */
+			"Assistance-Info-Validity-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);
+	};
+
+	/* Discovery-Type, Unsigned32, code 3804, section 6.3.5             */
+	{
+		struct dict_avp_data data = {
+			3804,	/* Code */
+			10415,	/* Vendor */
+			"Discovery-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);
+	};
+
+	/* Filter-Id, OctetString, code 3805, section 6.3.9                 */
+	{
+		struct dict_avp_data data = {
+			3805,	/* Code */
+			10415,	/* Vendor */
+			"Filter-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);
+	};
+
+	/* MAC-Address, UTF8String, code 3806, section 6.3.11               */
+	{
+		struct dict_avp_data data = {
+			3806,	/* Code */
+			10415,	/* Vendor */
+			"MAC-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);
+	};
+
+	/* Match-Report, Grouped, code 3807, section 6.3.12                 */
+	{
+		struct dict_avp_data data = {
+			3807,	/* Code */
+			10415,	/* Vendor */
+			"Match-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);
+	};
+
+	/* Operating-Channel, Unsigned32, code 3808, section 6.3.14         */
+	{
+		struct dict_avp_data data = {
+			3808,	/* Code */
+			10415,	/* Vendor */
+			"Operating-Channel",	/* 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);
+	};
+
+	/* P2P-Features, Unsigned32, code 3809, section 6.3.15              */
+	{
+		struct dict_avp_data data = {
+			3809,	/* Code */
+			10415,	/* Vendor */
+			"P2P-Features",	/* 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);
+	};
+
+	/* ProSe-App-Code, OctetString, code 3810, section 6.3.16           */
+	{
+		struct dict_avp_data data = {
+			3810,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-App-Code",	/* 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-App-Id, UTF8String, code 3811, section 6.3.17              */
+	{
+		struct dict_avp_data data = {
+			3811,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-App-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-App-Mask, OctetString, code 3812, section 6.3.18           */
+	{
+		struct dict_avp_data data = {
+			3812,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-App-Mask",	/* 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-Discovery-Filter, Grouped, code 3813, section 6.3.20       */
+	{
+		struct dict_avp_data data = {
+			3813,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Discovery-Filter",	/* 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);
+	};
+
+	/* PRR-Flags, Unsigned32, code 3814, section 6.3.21                 */
+	{
+		struct dict_avp_data data = {
+			3814,	/* Code */
+			10415,	/* Vendor */
+			"PRR-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);
+	};
+
+	/* ProSe-Validity-Timer, Unsigned32, code 3815, section 6.3.22      */
+	{
+		struct dict_avp_data data = {
+			3815,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Validity-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);
+	};
+
+	/* Requesting-EPUID, UTF8String, code 3816, section 6.3.23          */
+	{
+		struct dict_avp_data data = {
+			3816,	/* Code */
+			10415,	/* Vendor */
+			"Requesting-EPUID",	/* 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);
+	};
+
+	/* Targeted-EPUID, UTF8String, code 3817, section 6.3.26            */
+	{
+		struct dict_avp_data data = {
+			3817,	/* Code */
+			10415,	/* Vendor */
+			"Targeted-EPUID",	/* 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: Name conflict with 3GPP TS 29.154 Time-Window (4204).      */
+	/* Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates  */
+	/* Time-Window (4204) in 3GPP TS 29.154 V13.1.0 (2016-03).          */
+	/* Time-Window, Unsigned32, code 3818, section 6.3.27               */
+	{
+		struct dict_avp_data data = {
+			3818,	/* Code */
+			10415,	/* Vendor */
+			"Time-Window",	/* 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);
+	};
+
+	/* WiFi-P2P-Assistance-Info, Grouped, code 3819, section 6.3.30     */
+	{
+		struct dict_avp_data data = {
+			3819,	/* Code */
+			10415,	/* Vendor */
+			"WiFi-P2P-Assistance-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);
+	};
+
+	/* WLAN-Assistance-Info, Grouped, code 3820, section 6.3.31         */
+	{
+		struct dict_avp_data data = {
+			3820,	/* Code */
+			10415,	/* Vendor */
+			"WLAN-Assistance-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);
+	};
+
+	/* WLAN-Link-Layer-Id, OctetString, code 3821, section 6.3.32       */
+	{
+		struct dict_avp_data data = {
+			3821,	/* Code */
+			10415,	/* Vendor */
+			"WLAN-Link-Layer-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);
+	};
+
+	/* WLAN-Link-Layer-Id-List, Grouped, code 3822, section 6.3.33      */
+	{
+		struct dict_avp_data data = {
+			3822,	/* Code */
+			10415,	/* Vendor */
+			"WLAN-Link-Layer-Id-List",	/* 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-Update-Trigger, Grouped, code 3823, section 6.3.42      */
+	{
+		struct dict_avp_data data = {
+			3823,	/* Code */
+			10415,	/* Vendor */
+			"Location-Update-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);
+	};
+
+	/* Location-Update-Event-Type, Unsigned32, code 3824, section 6.3.43 */
+	{
+		struct dict_avp_data data = {
+			3824,	/* Code */
+			10415,	/* Vendor */
+			"Location-Update-Event-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);
+	};
+
+	/* Change-Of-Area-Type, Grouped, code 3825, section 6.3.44          */
+	{
+		struct dict_avp_data data = {
+			3825,	/* Code */
+			10415,	/* Vendor */
+			"Change-Of-Area-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);
+	};
+
+	/* Location-Update-Event-Trigger, Unsigned32, code 3826, section 6.3.45 */
+	{
+		struct dict_avp_data data = {
+			3826,	/* Code */
+			10415,	/* Vendor */
+			"Location-Update-Event-Trigger",	/* 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);
+	};
+
+	/* Report-Cardinality, Enumerated, code 3827, section 6.3.46        */
+	{
+		struct dict_avp_data data = {
+			3827,	/* Code */
+			10415,	/* Vendor */
+			"Report-Cardinality",	/* 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/Report-Cardinality)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Minimum-Interval-Time, Unsigned32, code 3828, section 6.3.47     */
+	{
+		struct dict_avp_data data = {
+			3828,	/* Code */
+			10415,	/* Vendor */
+			"Minimum-Interval-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-Location-Type, Grouped, code 3829, section 6.3.48       */
+	{
+		struct dict_avp_data data = {
+			3829,	/* Code */
+			10415,	/* Vendor */
+			"Periodic-Location-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);
+	};
+
+	/* Location-Report-Interval-Time, Unsigned32, code 3830, section 6.3.49 */
+	{
+		struct dict_avp_data data = {
+			3830,	/* Code */
+			10415,	/* Vendor */
+			"Location-Report-Interval-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);
+	};
+
+	/* Total-Number-Of-Reports, Unsigned32, code 3831, section 6.3.50   */
+	{
+		struct dict_avp_data data = {
+			3831,	/* Code */
+			10415,	/* Vendor */
+			"Total-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);
+	};
+
+	/* Validity-Time-Announce, Unsigned32, code 3832, section 6.3.36    */
+	{
+		struct dict_avp_data data = {
+			3832,	/* Code */
+			10415,	/* Vendor */
+			"Validity-Time-Announce",	/* 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);
+	};
+
+	/* Validity-Time-Monitor, Unsigned32, code 3833, section 6.3.37     */
+	{
+		struct dict_avp_data data = {
+			3833,	/* Code */
+			10415,	/* Vendor */
+			"Validity-Time-Monitor",	/* 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);
+	};
+
+	/* Validity-Time-Communication, Unsigned32, code 3834, section 6.3.38 */
+	{
+		struct dict_avp_data data = {
+			3834,	/* Code */
+			10415,	/* Vendor */
+			"Validity-Time-Communication",	/* 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);
+	};
+
+	/* ProSe-App-Code-Info, Grouped, code 3835, section 6.3.39          */
+	{
+		struct dict_avp_data data = {
+			3835,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-App-Code-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);
+	};
+
+	/* MIC, OctetString, code 3836, section 6.3.40                      */
+	{
+		struct dict_avp_data data = {
+			3836,	/* Code */
+			10415,	/* Vendor */
+			"MIC",	/* 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);
+	};
+
+	/* UTC-based-Counter, Unsigned32, code 3837, section 6.3.41         */
+	{
+		struct dict_avp_data data = {
+			3837,	/* Code */
+			10415,	/* Vendor */
+			"UTC-based-Counter",	/* 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);
+	};
+
+	/* ProSe-Match-Refresh-Timer, Unsigned32, code 3838, section 6.3.52 */
+	{
+		struct dict_avp_data data = {
+			3838,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Match-Refresh-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);
+	};
+
+	/* ProSe-Metadata-Index-Mask, OctetString, code 3839, section 6.3.60 */
+	{
+		struct dict_avp_data data = {
+			3839,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Metadata-Index-Mask",	/* 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);
+	};
+
+	/* App-Identifier, Grouped, code 3840, section 6.3.61               */
+	{
+		struct dict_avp_data data = {
+			3840,	/* Code */
+			10415,	/* Vendor */
+			"App-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);
+	};
+
+	/* OS-ID, OctetString, code 3841, section 6.3.62                    */
+	{
+		struct dict_avp_data data = {
+			3841,	/* Code */
+			10415,	/* Vendor */
+			"OS-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, NULL, NULL);
+	};
+
+	/* OS-App-ID, UTF8String, code 3842, section 6.3.63                 */
+	{
+		struct dict_avp_data data = {
+			3842,	/* Code */
+			10415,	/* Vendor */
+			"OS-App-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);
+	};
+
+	/* Requesting-RPAUID, UTF8String, code 3843, section 6.3.64         */
+	{
+		struct dict_avp_data data = {
+			3843,	/* Code */
+			10415,	/* Vendor */
+			"Requesting-RPAUID",	/* 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);
+	};
+
+	/* Target-RPAUID, UTF8String, code 3844, section 6.3.65             */
+	{
+		struct dict_avp_data data = {
+			3844,	/* Code */
+			10415,	/* Vendor */
+			"Target-RPAUID",	/* 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);
+	};
+
+	/* Target-PDUID, OctetString, code 3845, section 6.3.66             */
+	{
+		struct dict_avp_data data = {
+			3845,	/* Code */
+			10415,	/* Vendor */
+			"Target-PDUID",	/* 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);
+	};
+
+	/* ProSe-Restricted-Code, OctetString, code 3846, section 6.3.67    */
+	{
+		struct dict_avp_data data = {
+			3846,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Restricted-Code",	/* 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);
+	};
+
+	/* ProSe-Restricted-Code-Suffix-Range, OctetString, code 3847, section 6.3.68 */
+	{
+		struct dict_avp_data data = {
+			3847,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Restricted-Code-Suffix-Range",	/* 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);
+	};
+
+	/* Beginning-Suffix, OctetString, code 3848, section 6.3.69         */
+	{
+		struct dict_avp_data data = {
+			3848,	/* Code */
+			10415,	/* Vendor */
+			"Beginning-Suffix",	/* 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);
+	};
+
+	/* Ending-Suffix, OctetString, code 3849, section 6.3.70            */
+	{
+		struct dict_avp_data data = {
+			3849,	/* Code */
+			10415,	/* Vendor */
+			"Ending-Suffix",	/* 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);
+	};
+
+	/* Discovery-Entry-ID, Unsigned32, code 3850, section 6.3.59        */
+	{
+		struct dict_avp_data data = {
+			3850,	/* Code */
+			10415,	/* Vendor */
+			"Discovery-Entry-ID",	/* 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);
+	};
+
+	/* Match-Timestamp, Time, code 3851, section 6.3.71                 */
+	{
+		struct dict_avp_data data = {
+			3851,	/* Code */
+			10415,	/* Vendor */
+			"Match-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);
+	};
+
+	/* PMR-Flags, Unsigned32, code 3852, section 6.3.57                 */
+	{
+		struct dict_avp_data data = {
+			3852,	/* Code */
+			10415,	/* Vendor */
+			"PMR-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);
+	};
+
+	/* ProSe-Application-Metadata, UTF8String, code 3853, section 6.3.58 */
+	{
+		struct dict_avp_data data = {
+			3853,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-Application-Metadata",	/* 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);
+	};
+
+	/* Discovery-Auth-Request, Grouped, code 3854, section 6.3.53       */
+	{
+		struct dict_avp_data data = {
+			3854,	/* Code */
+			10415,	/* Vendor */
+			"Discovery-Auth-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);
+	};
+
+	/* Discovery-Auth-Response, Grouped, code 3855, section 6.3.54      */
+	{
+		struct dict_avp_data data = {
+			3855,	/* Code */
+			10415,	/* Vendor */
+			"Discovery-Auth-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);
+	};
+
+	/* Match-Request, Grouped, code 3856, section 6.3.55                */
+	{
+		struct dict_avp_data data = {
+			3856,	/* Code */
+			10415,	/* Vendor */
+			"Match-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);
+	};
+
+	/* Match-Report-Info, Grouped, code 3857, section 6.3.56            */
+	{
+		struct dict_avp_data data = {
+			3857,	/* Code */
+			10415,	/* Vendor */
+			"Match-Report-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);
+	};
+
+	/* Banned-RPAUID, UTF8String, code 3858, section 6.3.73             */
+	{
+		struct dict_avp_data data = {
+			3858,	/* Code */
+			10415,	/* Vendor */
+			"Banned-RPAUID",	/* 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);
+	};
+
+	/* Banned-PDUID, OctetString, code 3859, section 6.3.74             */
+	{
+		struct dict_avp_data data = {
+			3859,	/* Code */
+			10415,	/* Vendor */
+			"Banned-PDUID",	/* 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);
+	};
+
+	/* Code-Receiving-Security-Material, Grouped, code 3860, section 6.3.75 */
+	{
+		struct dict_avp_data data = {
+			3860,	/* Code */
+			10415,	/* Vendor */
+			"Code-Receiving-Security-Material",	/* 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);
+	};
+
+	/* Code-Sending-Security-Material, Grouped, code 3861, section 6.3.76 */
+	{
+		struct dict_avp_data data = {
+			3861,	/* Code */
+			10415,	/* Vendor */
+			"Code-Sending-Security-Material",	/* 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);
+	};
+
+	/* DUSK, OctetString, code 3862, section 6.3.77                     */
+	{
+		struct dict_avp_data data = {
+			3862,	/* Code */
+			10415,	/* Vendor */
+			"DUSK",	/* 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);
+	};
+
+	/* DUIK, OctetString, code 3863, section 6.3.78                     */
+	{
+		struct dict_avp_data data = {
+			3863,	/* Code */
+			10415,	/* Vendor */
+			"DUIK",	/* 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);
+	};
+
+	/* DUCK, OctetString, code 3864, section 6.3.79                     */
+	{
+		struct dict_avp_data data = {
+			3864,	/* Code */
+			10415,	/* Vendor */
+			"DUCK",	/* 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);
+	};
+
+	/* MIC-Check-indicator, Unsigned32, code 3865, section 6.3.80       */
+	{
+		struct dict_avp_data data = {
+			3865,	/* Code */
+			10415,	/* Vendor */
+			"MIC-Check-indicator",	/* 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);
+	};
+
+	/* Encrypted-Bitmask, OctetString, code 3866, section 6.3.81        */
+	{
+		struct dict_avp_data data = {
+			3866,	/* Code */
+			10415,	/* Vendor */
+			"Encrypted-Bitmask",	/* 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);
+	};
+
+	/* ProSe-App-Code-Suffix-Range, OctetString, code 3867, section 6.3.82 */
+	{
+		struct dict_avp_data data = {
+			3867,	/* Code */
+			10415,	/* Vendor */
+			"ProSe-App-Code-Suffix-Range",	/* 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);
+	};
+
+	/* PC5-tech, OctetString, code 3868, section 6.3.84                 */
+	{
+		struct dict_avp_data data = {
+			3868,	/* Code */
+			10415,	/* Vendor */
+			"PC5-tech",	/* 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);
+	};
+
+	/*==================================================================*/
 	/* 3GPP TS 32.299 V15.7.0 (2019-06)                                 */
 	/* Charging management;                                             */
 	/* Diameter charging applications                                   */
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv	Sun Apr 05 08:21:44 2020 +1000
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv	Sun Apr 05 08:27:37 2020 +1000
@@ -1398,6 +1398,91 @@
 PNR-Flags,3706,6.3.7,Unsigned32,"M,V",,,
 ProSe-Initial-Location-Information,3707,6.3.9,Grouped,"M,V",,,
 ,,,,,,,
+@standard,3GPP TS 29.345,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.345 V15.1.0 (2019-09),,,,,,,
+# Inter-Proximity-services (ProSe) Function signalling aspects;,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 29345-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.345 Table 6.3.1-1: PC6/PC7 specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+App-Layer-User-Id,3801,6.3.2,UTF8String,"M, V",,,
+Assistance-info,3802,6.3.3,Grouped,"M, V",,,
+Assistance-Info-Validity-Timer,3803,6.3.4,Unsigned32,"M, V",,,
+Discovery-Type,3804,6.3.5,Unsigned32,"M, V",,,
+Filter-Id,3805,6.3.9,OctetString,"M, V",,,
+MAC-Address,3806,6.3.11,UTF8String,"M, V",,,
+Match-Report,3807,6.3.12,Grouped,"M, V",,,
+Operating-Channel,3808,6.3.14,Unsigned32,"M, V",,,
+P2P-Features,3809,6.3.15,Unsigned32,"M, V",,,
+ProSe-App-Code,3810,6.3.16,OctetString,"M, V",,,
+ProSe-App-Id,3811,6.3.17,UTF8String,"M, V",,,
+ProSe-App-Mask,3812,6.3.18,OctetString,"M, V",,,
+ProSe-Discovery-Filter,3813,6.3.20,Grouped,"M, V",,,
+PRR-Flags,3814,6.3.21,Unsigned32,"M, V",,,
+ProSe-Validity-Timer,3815,6.3.22,Unsigned32,"M, V",,,
+Requesting-EPUID,3816,6.3.23,UTF8String,"M, V",,,
+Targeted-EPUID,3817,6.3.26,UTF8String,"M, V",,,
+# Note: Name conflict with 3GPP TS 29.154 Time-Window (4204).,,,,,,,
+# Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates,,,,,,,
+# Time-Window (4204) in 3GPP TS 29.154 V13.1.0 (2016-03).,,,,,,,
+Time-Window,3818,6.3.27,Unsigned32,"M, V",,,
+WiFi-P2P-Assistance-Info,3819,6.3.30,Grouped,"M, V",,,
+WLAN-Assistance-Info,3820,6.3.31,Grouped,"M, V",,,
+WLAN-Link-Layer-Id,3821,6.3.32,OctetString,"M, V",,,
+WLAN-Link-Layer-Id-List,3822,6.3.33,Grouped,"M, V",,,
+Location-Update-Trigger,3823,6.3.42,Grouped,"M,V",,,
+Location-Update-Event-Type,3824,6.3.43,Unsigned32,"M,V",,,
+Change-Of-Area-Type,3825,6.3.44,Grouped,"M,V",,,
+Location-Update-Event-Trigger,3826,6.3.45,Unsigned32,"M,V",,,
+Report-Cardinality,3827,6.3.46,Enumerated,"M,V",,,
+Minimum-Interval-Time,3828,6.3.47,Unsigned32,"M,V",,,
+Periodic-Location-Type,3829,6.3.48,Grouped,"M,V",,,
+Location-Report-Interval-Time,3830,6.3.49,Unsigned32,"M,V",,,
+Total-Number-Of-Reports,3831,6.3.50,Unsigned32,"M,V",,,
+Validity-Time-Announce,3832,6.3.36,Unsigned32,"M, V",,,
+Validity-Time-Monitor,3833,6.3.37,Unsigned32,"M, V",,,
+Validity-Time-Communication,3834,6.3.38,Unsigned32,"M, V",,,
+ProSe-App-Code-Info,3835,6.3.39,Grouped,"M, V",,,
+MIC,3836,6.3.40,OctetString,"M, V",,,
+UTC-based-Counter,3837,6.3.41,Unsigned32,"M, V",,,
+ProSe-Match-Refresh-Timer,3838,6.3.52,Unsigned32,"M, V",,,
+ProSe-Metadata-Index-Mask,3839,6.3.60,OctetString,V,,,M
+App-Identifier,3840,6.3.61,Grouped,V,,,M
+OS-ID,3841,6.3.62,OctetString,V,,,M
+OS-App-ID,3842,6.3.63,UTF8String,V,,,M
+Requesting-RPAUID,3843,6.3.64,UTF8String,V,,,M
+Target-RPAUID,3844,6.3.65,UTF8String,V,,,M
+Target-PDUID,3845,6.3.66,OctetString,V,,,M
+ProSe-Restricted-Code,3846,6.3.67,OctetString,V,,,M
+ProSe-Restricted-Code-Suffix-Range,3847,6.3.68,OctetString,V,,,M
+Beginning-Suffix,3848,6.3.69,OctetString,V,,,M
+Ending-Suffix,3849,6.3.70,OctetString,V,,,M
+Discovery-Entry-ID,3850,6.3.59,Unsigned32,V,,,M
+Match-Timestamp,3851,6.3.71,Time,V,,,M
+PMR-Flags,3852,6.3.57,Unsigned32,"M,V",,,
+ProSe-Application-Metadata,3853,6.3.58,UTF8String,"M,V",,,
+Discovery-Auth-Request,3854,6.3.53,Grouped,"M, V",,,
+Discovery-Auth-Response,3855,6.3.54,Grouped,"M, V",,,
+Match-Request,3856,6.3.55,Grouped,"M, V",,,
+Match-Report-Info,3857,6.3.56,Grouped,"M, V",,,
+Banned-RPAUID,3858,6.3.73,UTF8String,V,,,M
+Banned-PDUID,3859,6.3.74,OctetString,V,,,M
+Code-Receiving-Security-Material,3860,6.3.75,Grouped,V,,,M
+Code-Sending-Security-Material,3861,6.3.76,Grouped,V,,,M
+DUSK,3862,6.3.77,OctetString,V,,,M
+DUIK,3863,6.3.78,OctetString,V,,,M
+DUCK,3864,6.3.79,OctetString,V,,,M
+MIC-Check-indicator,3865,6.3.80,Unsigned32,V,,,M
+Encrypted-Bitmask,3866,6.3.81,OctetString,V,,,M
+ProSe-App-Code-Suffix-Range,3867,6.3.82,OctetString,V,,,M
+PC5-tech,3868,6.3.84,OctetString,V,,,M
+,,,,,,,
 @standard,3GPP TS 32.299,,,,,,
 #=,,,,,,,
 # 3GPP TS 32.299 V15.7.0 (2019-06),,,,,,,
"Welcome to our mercurial repository"