# HG changeset patch # User Luke Mewburn # Date 1582806031 -39600 # Node ID ffe2f27e00e548a7830be360775eb7473fd01acd # Parent b6be23e0d1be9b4c00df1ee9de56d749c477caec 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. diff -r b6be23e0d1be -r ffe2f27e00e5 extensions/dict_dcca_3gpp/dict_dcca_3gpp.c --- 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) */ diff -r b6be23e0d1be -r ffe2f27e00e5 extensions/dict_dcca_3gpp/dict_dcca_3gpp.org --- 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) | | | | | | | | | | # | | | | | | | | |