changeset 1449:ffe2f27e00e5

Update to 3GPP TS 29.272 V15.10.0 (2019-12) Add Restoration-Priority, Unsigned32, code 1663, section 7.3.174 Add SGs-MME-Identity, UTF8String, code 1664, section 7.3.175 Add SIPTO-Local-Network-Permission, Unsigned32, code 1665, section 7.3.176 Add Coupled-Node-Diameter-ID, DiameterIdentity, code 1666, section 7.3.177 Add WLAN-offloadability, Grouped, code 1667, section 7.3.181 Add WLAN-offloadability-EUTRAN, Unsigned32, code 1668, section 7.3.182 Add WLAN-offloadability-UTRAN, Unsigned32, code 1669, section 7.3.183 Add Reset-ID, OctetString, code 1670, section 7.3.184 Add MDT-Allowed-PLMN-Id, OctetString, code 1671, section 7.3.185 Add Adjacent-PLMNs, Grouped, code 1672, section 7.3.186 Add Adjacent-Access-Restriction-Data, Grouped, code 1673, section 7.3.187 Add DL-Buffering-Suggested-Packet-Count, Integer32, code 1674, section 7.3.188 Add IMSI-Group-Id, Grouped, code 1675, section 7.3.189 Add Group-Service-Id, Unsigned32, code 1676, section 7.3.190 Add Group-PLMN-Id, OctetString, code 1677, section 7.3.191 Add Local-Group-Id, OctetString, code 1678, section 7.3.192 Add AIR-Flags, Unsigned32, code 1679, section 7.3.201 Add UE-Usage-Type, Unsigned32, code 1680, section 7.3.202 Add Non-IP-PDN-Type-Indicator, Enumerated, code 1681, section 7.3.204 Add Non-IP-Data-Delivery-Mechanism, Unsigned32, code 1682, section 7.3.205 Add Additional-Context-ID, Unsigned32, code 1683, section 7.3.206 Add SCEF-Realm, DiameterIdentity, code 1684, section 7.3.207 Add Subscription-Data-Deletion, Grouped, code 1685, section 7.3.208 Add Emergency-Info, Grouped, code 1687, section 7.3.210 Add V2X-Subscription-Data, Grouped, code 1688, section 7.3.212 Add V2X-Permission, Unsigned32, code 1689, section 7.3.213 Add PDN-Connection-Continuity, Unsigned32, code 1690, section 7.3.214 Add eDRX-Cycle-Length, Grouped, code 1691, section 7.3.215 Add eDRX-Cycle-Length-Value, OctetString, code 1692, section 7.3.216 Add UE-PC5-AMBR, Unsigned32, code 1693, section 7.3.217 Add MBSFN-Area, Grouped, code 1694, section 7.3.219 Add MBSFN-Area-ID, Unsigned32, code 1695, section 7.3.220 Add Carrier-Frequency, Unsigned32, code 1696, section 7.3.221 Add RDS-Indicator, Enumerated, code 1697, section 7.3.222 Add Service-Gap-Time, Unsigned32, code 1698, section 7.3.223 Add Aerial-UE-Subscription-Information, Unsigned32, code 1699, section 7.3.224 Add Broadcast-Location-Assistance-Data-Types, Unsigned64, code 1700, section 7.3.225 Add Paging-Time-Window, Grouped, code 1701, section 7.3.226 Add Operation-Mode, Unsigned32, code 1702, section 7.3.227 Add Paging-Time-Window-Length, OctetString, code 1703, section 7.3.228 Add Core-Network-Restrictions, Unsigned32, code 1704, section 7.3.230 Add eDRX-Related-RAT, Grouped, code 1705, section 7.3.229 Add Interworking-5GS-Indicator, Enumerated, code 1706, section 7.3.231 Add Preferred-Data-Mode, Unsigned32, code 1686, section 7.3.209 3GPP TS 29.272 table 7.3.1/1 row Preferred-Data-Mode incorrectly has value type Grouped instead of Unsigned32, conflicting with clause 7.3.209.
author Luke Mewburn <luke@mewburn.net>
date Thu, 27 Feb 2020 23:20:31 +1100
parents b6be23e0d1be
children 05185ab84cf8
files extensions/dict_dcca_3gpp/dict_dcca_3gpp.c extensions/dict_dcca_3gpp/dict_dcca_3gpp.org
diffstat 2 files changed, 635 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Thu Feb 27 23:05:26 2020 +1100
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Thu Feb 27 23:20:31 2020 +1100
@@ -4884,7 +4884,8 @@
 	};
 
 
-	/* 3GPP 29.272-c50 (12.5.0 2014-06)                                 */
+	/* 3GPP TS 29.272 V15.10.0 (2019-12)                                */
+	/* From 3GPP 29272-fa0.docx                                         */
 
 	/* Subscription-Data, Grouped, code 1400, section 7.3.2             */
 	{
@@ -7004,6 +7005,590 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
+	/* Restoration-Priority, Unsigned32, code 1663, section 7.3.174     */
+	{
+		struct dict_avp_data data = {
+			1663,	/* Code */
+			10415,	/* Vendor */
+			"Restoration-Priority",	/* 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);
+	};
+
+	/* SGs-MME-Identity, UTF8String, code 1664, section 7.3.175         */
+	{
+		struct dict_avp_data data = {
+			1664,	/* Code */
+			10415,	/* Vendor */
+			"SGs-MME-Identity",	/* 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);
+	};
+
+	/* SIPTO-Local-Network-Permission, Unsigned32, code 1665, section 7.3.176 */
+	{
+		struct dict_avp_data data = {
+			1665,	/* Code */
+			10415,	/* Vendor */
+			"SIPTO-Local-Network-Permission",	/* 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);
+	};
+
+	/* Coupled-Node-Diameter-ID, DiameterIdentity, code 1666, section 7.3.177 */
+	{
+		struct dict_avp_data data = {
+			1666,	/* Code */
+			10415,	/* Vendor */
+			"Coupled-Node-Diameter-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, DiameterIdentity_type, NULL);
+	};
+
+	/* WLAN-offloadability, Grouped, code 1667, section 7.3.181         */
+	{
+		struct dict_avp_data data = {
+			1667,	/* Code */
+			10415,	/* Vendor */
+			"WLAN-offloadability",	/* 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-offloadability-EUTRAN, Unsigned32, code 1668, section 7.3.182 */
+	{
+		struct dict_avp_data data = {
+			1668,	/* Code */
+			10415,	/* Vendor */
+			"WLAN-offloadability-EUTRAN",	/* 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);
+	};
+
+	/* WLAN-offloadability-UTRAN, Unsigned32, code 1669, section 7.3.183 */
+	{
+		struct dict_avp_data data = {
+			1669,	/* Code */
+			10415,	/* Vendor */
+			"WLAN-offloadability-UTRAN",	/* 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);
+	};
+
+	/* Reset-ID, OctetString, code 1670, section 7.3.184                */
+	{
+		struct dict_avp_data data = {
+			1670,	/* Code */
+			10415,	/* Vendor */
+			"Reset-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);
+	};
+
+	/* MDT-Allowed-PLMN-Id, OctetString, code 1671, section 7.3.185     */
+	{
+		struct dict_avp_data data = {
+			1671,	/* Code */
+			10415,	/* Vendor */
+			"MDT-Allowed-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, NULL, NULL);
+	};
+
+	/* Adjacent-PLMNs, Grouped, code 1672, section 7.3.186              */
+	{
+		struct dict_avp_data data = {
+			1672,	/* Code */
+			10415,	/* Vendor */
+			"Adjacent-PLMNs",	/* 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);
+	};
+
+	/* Adjacent-Access-Restriction-Data, Grouped, code 1673, section 7.3.187 */
+	{
+		struct dict_avp_data data = {
+			1673,	/* Code */
+			10415,	/* Vendor */
+			"Adjacent-Access-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);
+	};
+
+	/* DL-Buffering-Suggested-Packet-Count, Integer32, code 1674, section 7.3.188 */
+	{
+		struct dict_avp_data data = {
+			1674,	/* Code */
+			10415,	/* Vendor */
+			"DL-Buffering-Suggested-Packet-Count",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* IMSI-Group-Id, Grouped, code 1675, section 7.3.189               */
+	{
+		struct dict_avp_data data = {
+			1675,	/* Code */
+			10415,	/* Vendor */
+			"IMSI-Group-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);
+	};
+
+	/* Group-Service-Id, Unsigned32, code 1676, section 7.3.190         */
+	{
+		struct dict_avp_data data = {
+			1676,	/* Code */
+			10415,	/* Vendor */
+			"Group-Service-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);
+	};
+
+	/* Group-PLMN-Id, OctetString, code 1677, section 7.3.191           */
+	{
+		struct dict_avp_data data = {
+			1677,	/* Code */
+			10415,	/* Vendor */
+			"Group-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, NULL, NULL);
+	};
+
+	/* Local-Group-Id, OctetString, code 1678, section 7.3.192          */
+	{
+		struct dict_avp_data data = {
+			1678,	/* Code */
+			10415,	/* Vendor */
+			"Local-Group-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);
+	};
+
+	/* AIR-Flags, Unsigned32, code 1679, section 7.3.201                */
+	{
+		struct dict_avp_data data = {
+			1679,	/* Code */
+			10415,	/* Vendor */
+			"AIR-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);
+	};
+
+	/* UE-Usage-Type, Unsigned32, code 1680, section 7.3.202            */
+	{
+		struct dict_avp_data data = {
+			1680,	/* Code */
+			10415,	/* Vendor */
+			"UE-Usage-Type",	/* 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);
+	};
+
+	/* Non-IP-PDN-Type-Indicator, Enumerated, code 1681, section 7.3.204 */
+	{
+		struct dict_avp_data data = {
+			1681,	/* Code */
+			10415,	/* Vendor */
+			"Non-IP-PDN-Type-Indicator",	/* 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/Non-IP-PDN-Type-Indicator)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Non-IP-Data-Delivery-Mechanism, Unsigned32, code 1682, section 7.3.205 */
+	{
+		struct dict_avp_data data = {
+			1682,	/* Code */
+			10415,	/* Vendor */
+			"Non-IP-Data-Delivery-Mechanism",	/* 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);
+	};
+
+	/* Additional-Context-ID, Unsigned32, code 1683, section 7.3.206    */
+	{
+		struct dict_avp_data data = {
+			1683,	/* Code */
+			10415,	/* Vendor */
+			"Additional-Context-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);
+	};
+
+	/* SCEF-Realm, DiameterIdentity, code 1684, section 7.3.207         */
+	{
+		struct dict_avp_data data = {
+			1684,	/* Code */
+			10415,	/* Vendor */
+			"SCEF-Realm",	/* 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, DiameterIdentity_type, NULL);
+	};
+
+	/* Subscription-Data-Deletion, Grouped, code 1685, section 7.3.208  */
+	{
+		struct dict_avp_data data = {
+			1685,	/* Code */
+			10415,	/* Vendor */
+			"Subscription-Data-Deletion",	/* 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 TS 29.272 table 7.3.1/1 row Preferred-Data-Mode             */
+	/* incorrectly has value type Grouped instead of Unsigned32,        */
+	/* conflicting with clause 7.3.209.                                 */
+	/* Preferred-Data-Mode, Unsigned32, code 1686, section 7.3.209      */
+	{
+		struct dict_avp_data data = {
+			1686,	/* Code */
+			10415,	/* Vendor */
+			"Preferred-Data-Mode",	/* 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);
+	};
+
+	/* Emergency-Info, Grouped, code 1687, section 7.3.210              */
+	{
+		struct dict_avp_data data = {
+			1687,	/* Code */
+			10415,	/* Vendor */
+			"Emergency-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);
+	};
+
+	/* V2X-Subscription-Data, Grouped, code 1688, section 7.3.212       */
+	{
+		struct dict_avp_data data = {
+			1688,	/* Code */
+			10415,	/* Vendor */
+			"V2X-Subscription-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);
+	};
+
+	/* V2X-Permission, Unsigned32, code 1689, section 7.3.213           */
+	{
+		struct dict_avp_data data = {
+			1689,	/* Code */
+			10415,	/* Vendor */
+			"V2X-Permission",	/* 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);
+	};
+
+	/* PDN-Connection-Continuity, Unsigned32, code 1690, section 7.3.214 */
+	{
+		struct dict_avp_data data = {
+			1690,	/* Code */
+			10415,	/* Vendor */
+			"PDN-Connection-Continuity",	/* 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);
+	};
+
+	/* eDRX-Cycle-Length, Grouped, code 1691, section 7.3.215           */
+	{
+		struct dict_avp_data data = {
+			1691,	/* Code */
+			10415,	/* Vendor */
+			"eDRX-Cycle-Length",	/* 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);
+	};
+
+	/* eDRX-Cycle-Length-Value, OctetString, code 1692, section 7.3.216 */
+	{
+		struct dict_avp_data data = {
+			1692,	/* Code */
+			10415,	/* Vendor */
+			"eDRX-Cycle-Length-Value",	/* 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);
+	};
+
+	/* UE-PC5-AMBR, Unsigned32, code 1693, section 7.3.217              */
+	{
+		struct dict_avp_data data = {
+			1693,	/* Code */
+			10415,	/* Vendor */
+			"UE-PC5-AMBR",	/* 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);
+	};
+
+	/* MBSFN-Area, Grouped, code 1694, section 7.3.219                  */
+	{
+		struct dict_avp_data data = {
+			1694,	/* Code */
+			10415,	/* Vendor */
+			"MBSFN-Area",	/* 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);
+	};
+
+	/* MBSFN-Area-ID, Unsigned32, code 1695, section 7.3.220            */
+	{
+		struct dict_avp_data data = {
+			1695,	/* Code */
+			10415,	/* Vendor */
+			"MBSFN-Area-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);
+	};
+
+	/* Carrier-Frequency, Unsigned32, code 1696, section 7.3.221        */
+	{
+		struct dict_avp_data data = {
+			1696,	/* Code */
+			10415,	/* Vendor */
+			"Carrier-Frequency",	/* 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);
+	};
+
+	/* RDS-Indicator, Enumerated, code 1697, section 7.3.222            */
+	{
+		struct dict_avp_data data = {
+			1697,	/* Code */
+			10415,	/* Vendor */
+			"RDS-Indicator",	/* 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/RDS-Indicator)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Service-Gap-Time, Unsigned32, code 1698, section 7.3.223         */
+	{
+		struct dict_avp_data data = {
+			1698,	/* Code */
+			10415,	/* Vendor */
+			"Service-Gap-Time",	/* 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);
+	};
+
+	/* Aerial-UE-Subscription-Information, Unsigned32, code 1699, section 7.3.224 */
+	{
+		struct dict_avp_data data = {
+			1699,	/* Code */
+			10415,	/* Vendor */
+			"Aerial-UE-Subscription-Information",	/* 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);
+	};
+
+	/* Broadcast-Location-Assistance-Data-Types, Unsigned64, code 1700, section 7.3.225 */
+	{
+		struct dict_avp_data data = {
+			1700,	/* Code */
+			10415,	/* Vendor */
+			"Broadcast-Location-Assistance-Data-Types",	/* 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);
+	};
+
+	/* Paging-Time-Window, Grouped, code 1701, section 7.3.226          */
+	{
+		struct dict_avp_data data = {
+			1701,	/* Code */
+			10415,	/* Vendor */
+			"Paging-Time-Window",	/* 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);
+	};
+
+	/* Operation-Mode, Unsigned32, code 1702, section 7.3.227           */
+	{
+		struct dict_avp_data data = {
+			1702,	/* Code */
+			10415,	/* Vendor */
+			"Operation-Mode",	/* 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);
+	};
+
+	/* Paging-Time-Window-Length, OctetString, code 1703, section 7.3.228 */
+	{
+		struct dict_avp_data data = {
+			1703,	/* Code */
+			10415,	/* Vendor */
+			"Paging-Time-Window-Length",	/* 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);
+	};
+
+	/* Core-Network-Restrictions, Unsigned32, code 1704, section 7.3.230 */
+	{
+		struct dict_avp_data data = {
+			1704,	/* Code */
+			10415,	/* Vendor */
+			"Core-Network-Restrictions",	/* 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);
+	};
+
+	/* eDRX-Related-RAT, Grouped, code 1705, section 7.3.229            */
+	{
+		struct dict_avp_data data = {
+			1705,	/* Code */
+			10415,	/* Vendor */
+			"eDRX-Related-RAT",	/* 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);
+	};
+
+	/* Interworking-5GS-Indicator, Enumerated, code 1706, section 7.3.231 */
+	{
+		struct dict_avp_data data = {
+			1706,	/* Code */
+			10415,	/* Vendor */
+			"Interworking-5GS-Indicator",	/* 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/Interworking-5GS-Indicator)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
 
 	/* 3GPP 29.329-b50 (11.5.0 2012.12.21)                              */
 
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.org	Thu Feb 27 23:05:26 2020 +1100
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.org	Thu Feb 27 23:20:31 2020 +1100
@@ -393,7 +393,8 @@
 | Visited-Network-Identifier                                    |  600 |           6.3.1 | OctetString      | M,V  |     |          |          | N    |
 | Wildcarded-Public-Identity                                    |  634 |          6.3.35 | UTF8String       | V    |     |          | M        | N    |
 | #                                                             |      |                 |                  |      |     |          |          |      |
-| # 3GPP 29.272-c50 (12.5.0 2014-06)                            |      |                 |                  |      |     |          |          |      |
+| # 3GPP TS 29.272 V15.10.0 (2019-12)                           |      |                 |                  |      |     |          |          |      |
+| # From 3GPP 29272-fa0.docx                                    |      |                 |                  |      |     |          |          |      |
 | #                                                             |      |                 |                  |      |     |          |          |      |
 | Subscription-Data                                             | 1400 |           7.3.2 | Grouped          | M,V  |     |          |          | N    |
 | Terminal-Information                                          | 1401 |           7.3.3 | Grouped          | M,V  |     |          |          | N    |
@@ -560,6 +561,53 @@
 | Measurement-Quantity                                          | 1660 |         7.3.171 | OctetString      | V    |     |          | M        | N    |
 | Event-Threshold-Event-1F                                      | 1661 |         7.3.172 | Integer32        | V    |     |          | M        | N    |
 | Event-Threshold-Event-1I                                      | 1662 |         7.3.173 | Integer32        | V    |     |          | M        | N    |
+| Restoration-Priority                                          | 1663 |         7.3.174 | Unsigned32       | V    |     |          | M        | N    |
+| SGs-MME-Identity                                              | 1664 |         7.3.175 | UTF8String       | V    |     |          | M        | N    |
+| SIPTO-Local-Network-Permission                                | 1665 |         7.3.176 | Unsigned32       | V    |     |          | M        | N    |
+| Coupled-Node-Diameter-ID                                      | 1666 |         7.3.177 | DiameterIdentity | V    |     |          | M        | N    |
+| WLAN-offloadability                                           | 1667 |         7.3.181 | Grouped          | V    |     |          | M        | N    |
+| WLAN-offloadability-EUTRAN                                    | 1668 |         7.3.182 | Unsigned32       | V    |     |          | M        | N    |
+| WLAN-offloadability-UTRAN                                     | 1669 |         7.3.183 | Unsigned32       | V    |     |          | M        | N    |
+| Reset-ID                                                      | 1670 |         7.3.184 | OctetString      | V    |     |          | M        | N    |
+| MDT-Allowed-PLMN-Id                                           | 1671 |         7.3.185 | OctetString      | V    |     |          | M        | N    |
+| Adjacent-PLMNs                                                | 1672 |         7.3.186 | Grouped          | V    |     |          | M        | N    |
+| Adjacent-Access-Restriction-Data                              | 1673 |         7.3.187 | Grouped          | V    |     |          | M        | N    |
+| DL-Buffering-Suggested-Packet-Count                           | 1674 |         7.3.188 | Integer32        | V    |     |          | M        | N    |
+| IMSI-Group-Id                                                 | 1675 |         7.3.189 | Grouped          | V    |     |          | M        | N    |
+| Group-Service-Id                                              | 1676 |         7.3.190 | Unsigned32       | V    |     |          | M        | N    |
+| Group-PLMN-Id                                                 | 1677 |         7.3.191 | OctetString      | V    |     |          | M        | N    |
+| Local-Group-Id                                                | 1678 |         7.3.192 | OctetString      | V    |     |          | M        | N    |
+| AIR-Flags                                                     | 1679 |         7.3.201 | Unsigned32       | V    |     |          | M        | N    |
+| UE-Usage-Type                                                 | 1680 |         7.3.202 | Unsigned32       | V    |     |          | M        | N    |
+| Non-IP-PDN-Type-Indicator                                     | 1681 |         7.3.204 | Enumerated       | V    |     |          | M        | N    |
+| Non-IP-Data-Delivery-Mechanism                                | 1682 |         7.3.205 | Unsigned32       | V    |     |          | M        | N    |
+| Additional-Context-ID                                         | 1683 |         7.3.206 | Unsigned32       | V    |     |          | M        | N    |
+| SCEF-Realm                                                    | 1684 |         7.3.207 | DiameterIdentity | V    |     |          | M        | N    |
+| Subscription-Data-Deletion                                    | 1685 |         7.3.208 | Grouped          | V    |     |          | M        | N    |
+| # 3GPP TS 29.272 table 7.3.1/1 row Preferred-Data-Mode        |      |                 |                  |      |     |          |          |      |
+| # incorrectly has value type Grouped instead of Unsigned32,   |      |                 |                  |      |     |          |          |      |
+| # conflicting with clause 7.3.209.                            |      |                 |                  |      |     |          |          |      |
+| Preferred-Data-Mode                                           | 1686 |         7.3.209 | Unsigned32       | V    |     |          | M        | N    |
+| Emergency-Info                                                | 1687 |         7.3.210 | Grouped          | V    |     |          | M        | N    |
+| V2X-Subscription-Data                                         | 1688 |         7.3.212 | Grouped          | V    |     |          | M        | N    |
+| V2X-Permission                                                | 1689 |         7.3.213 | Unsigned32       | V    |     |          | M        | N    |
+| PDN-Connection-Continuity                                     | 1690 |         7.3.214 | Unsigned32       | V    |     |          | M        | N    |
+| eDRX-Cycle-Length                                             | 1691 |         7.3.215 | Grouped          | V    |     |          | M        | N    |
+| eDRX-Cycle-Length-Value                                       | 1692 |         7.3.216 | OctetString      | V    |     |          | M        | N    |
+| UE-PC5-AMBR                                                   | 1693 |         7.3.217 | Unsigned32       | V    |     |          | M        | N    |
+| MBSFN-Area                                                    | 1694 |         7.3.219 | Grouped          | V    |     |          | M        | N    |
+| MBSFN-Area-ID                                                 | 1695 |         7.3.220 | Unsigned32       | V    |     |          | M        | N    |
+| Carrier-Frequency                                             | 1696 |         7.3.221 | Unsigned32       | V    |     |          | M        | N    |
+| RDS-Indicator                                                 | 1697 |         7.3.222 | Enumerated       | V    |     |          | M        | N    |
+| Service-Gap-Time                                              | 1698 |         7.3.223 | Unsigned32       | V    |     |          | M        | N    |
+| Aerial-UE-Subscription-Information                            | 1699 |         7.3.224 | Unsigned32       | V    |     |          | M        | N    |
+| Broadcast-Location-Assistance-Data-Types                      | 1700 |         7.3.225 | Unsigned64       | V    |     |          | M        | N    |
+| Paging-Time-Window                                            | 1701 |         7.3.226 | Grouped          | V    |     |          | M        | N    |
+| Operation-Mode                                                | 1702 |         7.3.227 | Unsigned32       | V    |     |          | M        | N    |
+| Paging-Time-Window-Length                                     | 1703 |         7.3.228 | OctetString      | V    |     |          | M        | N    |
+| Core-Network-Restrictions                                     | 1704 |         7.3.230 | Unsigned32       | V    |     |          | M        | N    |
+| eDRX-Related-RAT                                              | 1705 |         7.3.229 | Grouped          | V    |     |          | M        | N    |
+| Interworking-5GS-Indicator                                    | 1706 |         7.3.231 | Enumerated       | V    |     |          | M        | N    |
 | #                                                             |      |                 |                  |      |     |          |          |      |
 | # 3GPP 29.329-b50 (11.5.0 2012.12.21)                         |      |                 |                  |      |     |          |          |      |
 | #                                                             |      |                 |                  |      |     |          |          |      |
"Welcome to our mercurial repository"