comparison extensions/dict_dcca_3gpp/add_avps.c @ 1511:528418d4b080

dict_dcca_3gpp; more comments for fixes Use "Fix:" in a comment where an AVP has changed from a previous freeDiameter release, or differs from the 3GPP standard definition. Document AVPs changed since freeDiameter 1.4.0.
author Luke Mewburn <luke@mewburn.net>
date Tue, 07 Apr 2020 15:43:18 +1000
parents a2fb51309cd2
children f98e2b6e8f42
comparison
equal deleted inserted replaced
1510:a2fb51309cd2 1511:528418d4b080
61 AVP_TYPE_OCTETSTRING /* base type of data */ 61 AVP_TYPE_OCTETSTRING /* base type of data */
62 }; 62 };
63 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 63 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
64 }; 64 };
65 65
66 /* Note: 3GPP-Charging-Id (2) type changed from OctetString to Unsigned32, */ 66 /* Fix: 3GPP-Charging-Id (2) type changed from OctetString to Unsigned32, */
67 /* per 3GPP TS 29.061 clause 16.4.7.2/2 and packet dumps. */ 67 /* per 3GPP TS 29.061 clause 16.4.7.2/2 and packet dumps. */
68 /* 3GPP-Charging-Id, Unsigned32, code 2, section 16.4.7 */ 68 /* 3GPP-Charging-Id, Unsigned32, code 2, section 16.4.7 */
69 { 69 {
70 struct dict_avp_data data = { 70 struct dict_avp_data data = {
71 2, /* Code */ 71 2, /* Code */
233 }; 233 };
234 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 234 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
235 }; 235 };
236 236
237 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 237 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
238 /* 3GPP-CG-IPv6-Address (14) to 3GPP-CG-Ipv6-Address. */ 238 /* 3GPP-CG-IPv6-Address (14) to 3GPP-CG-Ipv6-Address; */
239 /* This rename was not applied. */ 239 /* this rename was not applied. */
240 /* 3GPP-CG-IPv6-Address (14) changed to Must M per contrib/3gpp. */ 240 /* 3GPP-CG-IPv6-Address (14) changed to Must M per contrib/3gpp. */
241 /* 3GPP-CG-IPv6-Address, OctetString, code 14, section 16.4.7 */ 241 /* 3GPP-CG-IPv6-Address, OctetString, code 14, section 16.4.7 */
242 { 242 {
243 struct dict_avp_data data = { 243 struct dict_avp_data data = {
244 14, /* Code */ 244 14, /* Code */
250 }; 250 };
251 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 251 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
252 }; 252 };
253 253
254 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 254 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
255 /* 3GPP-SGSN-IPv6-Address (15) to 3GPP-SGSN-Ipv6-Address. */ 255 /* 3GPP-SGSN-IPv6-Address (15) to 3GPP-SGSN-Ipv6-Address; */
256 /* This rename was not applied. */ 256 /* this rename was not applied. */
257 /* 3GPP-SGSN-IPv6-Address (15) changed to Must M per contrib/3gpp. */ 257 /* 3GPP-SGSN-IPv6-Address (15) changed to Must M per contrib/3gpp. */
258 /* 3GPP-SGSN-IPv6-Address, OctetString, code 15, section 16.4.7 */ 258 /* 3GPP-SGSN-IPv6-Address, OctetString, code 15, section 16.4.7 */
259 { 259 {
260 struct dict_avp_data data = { 260 struct dict_avp_data data = {
261 15, /* Code */ 261 15, /* Code */
267 }; 267 };
268 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 268 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
269 }; 269 };
270 270
271 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 271 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
272 /* 3GPP-GGSN-IPv6-Address (16) to 3GPP-GGSN-Ipv6-Address. */ 272 /* 3GPP-GGSN-IPv6-Address (16) to 3GPP-GGSN-Ipv6-Address; */
273 /* This rename was not applied. */ 273 /* this rename was not applied. */
274 /* 3GPP-GGSN-IPv6-Address (16) changed to Must M per contrib/3gpp. */ 274 /* 3GPP-GGSN-IPv6-Address (16) changed to Must M per contrib/3gpp. */
275 /* 3GPP-GGSN-IPv6-Address, OctetString, code 16, section 16.4.7 */ 275 /* 3GPP-GGSN-IPv6-Address, OctetString, code 16, section 16.4.7 */
276 { 276 {
277 struct dict_avp_data data = { 277 struct dict_avp_data data = {
278 16, /* Code */ 278 16, /* Code */
284 }; 284 };
285 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 285 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
286 }; 286 };
287 287
288 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 288 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
289 /* 3GPP-IPv6-DNS-Servers (17) to 3GPP-Ipv6-DNS-Servers. */ 289 /* 3GPP-IPv6-DNS-Servers (17) to 3GPP-Ipv6-DNS-Servers; */
290 /* This rename was not applied. */ 290 /* this rename was not applied. */
291 /* 3GPP-IPv6-DNS-Servers (17) changed to Must M per contrib/3gpp. */ 291 /* 3GPP-IPv6-DNS-Servers (17) changed to Must M per contrib/3gpp. */
292 /* 3GPP-IPv6-DNS-Servers, OctetString, code 17, section 16.4.7 */ 292 /* 3GPP-IPv6-DNS-Servers, OctetString, code 17, section 16.4.7 */
293 { 293 {
294 struct dict_avp_data data = { 294 struct dict_avp_data data = {
295 17, /* Code */ 295 17, /* Code */
423 }; 423 };
424 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 424 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
425 }; 425 };
426 426
427 /* Note: 3GPP TS 29.061 table 9a does not define */ 427 /* Note: 3GPP TS 29.061 table 9a does not define */
428 /* External-Identifier (28) for Diameter. */ 428 /* External-Identifier (28) for Diameter; it is RADIUS only. */
429 /* 3GPP TS 29.061 table 9b refers to 3GPP TS 29.336 */ 429 /* 3GPP TS 29.061 table 9b refers to 3GPP TS 29.336 */
430 /* for External-Identifier (3111). */ 430 /* for External-Identifier (3111). */
431 /* */ 431 /* */
432 /* External-Identifier (28) OctetString replaced by */ 432 /* Change since freeDiameter 1.4.0. */
433 /* External-Identifier (3111) UTF8String. */ 433 /* Fix: Remove External-Identifier (28) OctetString. */
434
435 434
436 /* TWAN-Identifier, OctetString, code 29, section 16.4.7 */ 435 /* TWAN-Identifier, OctetString, code 29, section 16.4.7 */
437 { 436 {
438 struct dict_avp_data data = { 437 struct dict_avp_data data = {
439 29, /* Code */ 438 29, /* Code */
711 }; 710 };
712 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 711 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
713 }; 712 };
714 713
715 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 714 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
716 /* MBMS-GGSN-IPv6-Address (917) to MBMS-GGSN-Ipv6-Address. */ 715 /* MBMS-GGSN-IPv6-Address (917) to MBMS-GGSN-Ipv6-Address; */
717 /* This rename was not applied. */ 716 /* this rename was not applied. */
718 /* MBMS-GGSN-IPv6-Address, OctetString, code 917, section 17.7.20 */ 717 /* MBMS-GGSN-IPv6-Address, OctetString, code 917, section 17.7.20 */
719 { 718 {
720 struct dict_avp_data data = { 719 struct dict_avp_data data = {
721 917, /* Code */ 720 917, /* Code */
722 10415, /* Vendor */ 721 10415, /* Vendor */
740 }; 739 };
741 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 740 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
742 }; 741 };
743 742
744 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 743 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
745 /* MBMS-BMSC-SSM-IPv6-Address (919) to MBMS-BMSC-SSM-Ipv6-Address. */ 744 /* MBMS-BMSC-SSM-IPv6-Address (919) to MBMS-BMSC-SSM-Ipv6-Address; */
746 /* This rename was not applied. */ 745 /* this rename was not applied. */
747 /* MBMS-BMSC-SSM-IPv6-Address, OctetString, code 919, section 17.7.22 */ 746 /* MBMS-BMSC-SSM-IPv6-Address, OctetString, code 919, section 17.7.22 */
748 { 747 {
749 struct dict_avp_data data = { 748 struct dict_avp_data data = {
750 919, /* Code */ 749 919, /* Code */
751 10415, /* Vendor */ 750 10415, /* Vendor */
834 }; 833 };
835 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 834 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
836 }; 835 };
837 836
838 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 837 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
839 /* MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address. */ 838 /* MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address; */
840 /* This rename was not applied. */ 839 /* this rename was not applied. */
841 /* MBMS-GW-SSM-IPv6-Address, OctetString, code 925, section 20.5a.3 */ 840 /* MBMS-GW-SSM-IPv6-Address, OctetString, code 925, section 20.5a.3 */
842 { 841 {
843 struct dict_avp_data data = { 842 struct dict_avp_data data = {
844 925, /* Code */ 843 925, /* Code */
845 10415, /* Vendor */ 844 10415, /* Vendor */
1125 AVP_TYPE_UNSIGNED32 /* base type of data */ 1124 AVP_TYPE_UNSIGNED32 /* base type of data */
1126 }; 1125 };
1127 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 1126 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1128 }; 1127 };
1129 1128
1130 /* Note: 3GPP TS 29.128 table 6.4.1-1 row Non-IP-Data (4315) */
1131 /* has type "Octetstring" instead of "OctetString". */
1132 /* Non-IP-Data, OctetString, code 4315, section 6.4.19 */ 1129 /* Non-IP-Data, OctetString, code 4315, section 6.4.19 */
1133 { 1130 {
1134 struct dict_avp_data data = { 1131 struct dict_avp_data data = {
1135 4315, /* Code */ 1132 4315, /* Code */
1136 10415, /* Vendor */ 1133 10415, /* Vendor */
1417 AVP_TYPE_GROUPED /* base type of data */ 1414 AVP_TYPE_GROUPED /* base type of data */
1418 }; 1415 };
1419 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 1416 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1420 }; 1417 };
1421 1418
1422 /* Note: Name conflict with 3GPP TS 32.329 Sequence-Number (716). */ 1419 /* Note: Name conflict with 3GPP TS 29.329 Sequence-Number (716). */
1423 /* Sequence-Number (1107) renamed to Sequence-Number-29.140 (1107). */ 1420 /* 3GPP TS 29.140 V6.1.0 (2005-06) allocated Sequence-Number (1107). */
1421 /* 3GPP TS 29.329 V10.0.0 (2010-09) CR 0163 added Sequence-Number (716). */
1422 /* */
1423 /* Fix: Sequence-Number (1107) renamed to Sequence-Number-29.140 (1107). */
1424 /* Sequence-Number-29.140, Unsigned32, code 1107, section 6.3.10 */ 1424 /* Sequence-Number-29.140, Unsigned32, code 1107, section 6.3.10 */
1425 { 1425 {
1426 struct dict_avp_data data = { 1426 struct dict_avp_data data = {
1427 1107, /* Code */ 1427 1107, /* Code */
1428 10415, /* Vendor */ 1428 10415, /* Vendor */
1432 AVP_TYPE_UNSIGNED32 /* base type of data */ 1432 AVP_TYPE_UNSIGNED32 /* base type of data */
1433 }; 1433 };
1434 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 1434 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1435 }; 1435 };
1436 1436
1437 /* Note: Name conflict with 3GPP TS 32.299 Recipient-Address (1201). */ 1437 /* Note: Name conflict with 3GPP TS 32.299 Recipient-Address (1201); */
1438 /* Recipient-Address (1108) renamed to Recipient-Address-29.140 (1108). */ 1438 /* 3GPP TS 29.140 V6.1.0 (2005-06) allocated Recipient-Address (1108). */
1439 /* 3GPP TS 32.299 V6.4.0 (2005-09) CR 0028 added Recipient-Address (1201). */
1440 /* */
1441 /* Fix: Recipient-Address (1108) renamed to Recipient-Address-29.140 (1108). */
1439 /* Recipient-Address-29.140, UTF8String, code 1108, section 6.3.11 */ 1442 /* Recipient-Address-29.140, UTF8String, code 1108, section 6.3.11 */
1440 { 1443 {
1441 struct dict_avp_data data = { 1444 struct dict_avp_data data = {
1442 1108, /* Code */ 1445 1108, /* Code */
1443 10415, /* Vendor */ 1446 10415, /* Vendor */
1550 AVP_TYPE_OCTETSTRING /* base type of data */ 1553 AVP_TYPE_OCTETSTRING /* base type of data */
1551 }; 1554 };
1552 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 1555 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
1553 }; 1556 };
1554 1557
1555 /* Note: Name conflict with 3GPP TS 32.299 Status (2702). */ 1558 /* Note: Name conflict with 3GPP TS 32.299 V11.6.0 Status (2702). */
1556 /* Status (1116) renamed to Status-29.140 (1116). */ 1559 /* 3GPP TS 32.299 V11.10.0 (2013-12) CR 0566 renamed */
1560 /* Status (2702) to Status-Code (2702). */
1561 /* 3GPP TS 32.299 V11.14.0 (2014-12) CR 0617 renamed */
1562 /* Status-Code (2702) to Status-AS-Code (2702). */
1563 /* */
1564 /* TODO: rename back to Status ? */
1565 /* Fix: Status (1116) renamed to Status-29.140 (1116). */
1557 /* Status-29.140, Grouped, code 1116, section 6.3.19 */ 1566 /* Status-29.140, Grouped, code 1116, section 6.3.19 */
1558 { 1567 {
1559 struct dict_avp_data data = { 1568 struct dict_avp_data data = {
1560 1116, /* Code */ 1569 1116, /* Code */
1561 10415, /* Vendor */ 1570 10415, /* Vendor */
1674 }; 1683 };
1675 1684
1676 /* Note: Name conflict with 3GPP TS 29.345 Time-Window (3818). */ 1685 /* Note: Name conflict with 3GPP TS 29.345 Time-Window (3818). */
1677 /* Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates */ 1686 /* Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates */
1678 /* Time-Window (4204) in 3GPP TS 29.154 V13.1.0 (2016-03). */ 1687 /* Time-Window (4204) in 3GPP TS 29.154 V13.1.0 (2016-03). */
1679 /* Time-Window (4204) renamed to Time-Window-29.154 (4204). */ 1688 /* */
1689 /* Fix: Time-Window (4204) renamed to Time-Window-29.154 (4204). */
1680 /* Time-Window-29.154, Grouped, code 4204, section 5.3.5 */ 1690 /* Time-Window-29.154, Grouped, code 4204, section 5.3.5 */
1681 { 1691 {
1682 struct dict_avp_data data = { 1692 struct dict_avp_data data = {
1683 4204, /* Code */ 1693 4204, /* Code */
1684 10415, /* Vendor */ 1694 10415, /* Vendor */
3007 AVP_TYPE_OCTETSTRING /* base type of data */ 3017 AVP_TYPE_OCTETSTRING /* base type of data */
3008 }; 3018 };
3009 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL); 3019 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
3010 }; 3020 };
3011 3021
3022 /* Note: Name conflict with 3GPP TS 32.299 3GPP-PS-Data-Off-Status (4406). */
3023 /* 3GPP TS 29.212 V14.3.0 (2017-03) CR 1559 added 3GPP-PS-Data-Off-Status (2847). */
3024 /* 3GPP TS 32.299 V14.3.0 (2017-03) CR 0760 added 3GPP-PS-Data-Off-Status (4406). */
3012 /* 3GPP-PS-Data-Off-Status, Enumerated, code 2847, section 5.3.133 */ 3025 /* 3GPP-PS-Data-Off-Status, Enumerated, code 2847, section 5.3.133 */
3013 { 3026 {
3014 struct dict_avp_data data = { 3027 struct dict_avp_data data = {
3015 2847, /* Code */ 3028 2847, /* Code */
3016 10415, /* Vendor */ 3029 10415, /* Vendor */
5473 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 5486 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
5474 }; 5487 };
5475 5488
5476 /* Note: 3GPP TS 29.214 table 5.3.0.1 row IMS-Content-Identifier (563) */ 5489 /* Note: 3GPP TS 29.214 table 5.3.0.1 row IMS-Content-Identifier (563) */
5477 /* missing M, assume MUST NOT. */ 5490 /* missing M, assume MUST NOT. */
5491 /* */
5492 /* Fix: IMS-Content-Identifier (563) flag M MUST NOT. */
5478 /* IMS-Content-Identifier, OctetString, code 563, section 5.3.60 */ 5493 /* IMS-Content-Identifier, OctetString, code 563, section 5.3.60 */
5479 { 5494 {
5480 struct dict_avp_data data = { 5495 struct dict_avp_data data = {
5481 563, /* Code */ 5496 563, /* Code */
5482 10415, /* Vendor */ 5497 10415, /* Vendor */
5488 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 5503 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
5489 }; 5504 };
5490 5505
5491 /* Note: 3GPP TS 29.214 table 5.3.0.1 row IMS-Content (564) */ 5506 /* Note: 3GPP TS 29.214 table 5.3.0.1 row IMS-Content (564) */
5492 /* missing M, assume MUST NOT. */ 5507 /* missing M, assume MUST NOT. */
5508 /* */
5509 /* Fix: IMS-Content (564) flag M MUST NOT. */
5493 /* IMS-Content-Type, Enumerated, code 564, section 5.3.61 */ 5510 /* IMS-Content-Type, Enumerated, code 564, section 5.3.61 */
5494 { 5511 {
5495 struct dict_avp_data data = { 5512 struct dict_avp_data data = {
5496 564, /* Code */ 5513 564, /* Code */
5497 10415, /* Vendor */ 5514 10415, /* Vendor */
6405 AVP_TYPE_UNSIGNED32 /* base type of data */ 6422 AVP_TYPE_UNSIGNED32 /* base type of data */
6406 }; 6423 };
6407 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 6424 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
6408 }; 6425 };
6409 6426
6427 /* Note: Name conflict with 3GPP TS 29.329 User-Data (702). */
6428 /* 3GPP TS 29.229 V6.2.0 (2004-09) allocated User-Data (606). */
6429 /* 3GPP TS 29.329 V6.2.0 (2004-09) allocated User-Data (702). */
6410 /* User-Data, OctetString, code 606, section 6.3.7 */ 6430 /* User-Data, OctetString, code 606, section 6.3.7 */
6411 { 6431 {
6412 struct dict_avp_data data = { 6432 struct dict_avp_data data = {
6413 606, /* Code */ 6433 606, /* Code */
6414 10415, /* Vendor */ 6434 10415, /* Vendor */
8139 }; 8159 };
8140 8160
8141 /* Note: 3GPP TS 29.272 V12.5.0 (2014-06) table 7.3.1/1 */ 8161 /* Note: 3GPP TS 29.272 V12.5.0 (2014-06) table 7.3.1/1 */
8142 /* changed row SS-Status (1477) to be OctetString instead of Grouped. */ 8162 /* changed row SS-Status (1477) to be OctetString instead of Grouped. */
8143 /* Clause 7.3.88 already described SS-Status (1147) as OctetString. */ 8163 /* Clause 7.3.88 already described SS-Status (1147) as OctetString. */
8164 /* */
8165 /* Change since freeDiameter 1.4.0. */
8166 /* Fix: SS-Status (1477) type changed from Grouped to OctetString. */
8144 /* SS-Status, OctetString, code 1477, section 7.3.88 */ 8167 /* SS-Status, OctetString, code 1477, section 7.3.88 */
8145 { 8168 {
8146 struct dict_avp_data data = { 8169 struct dict_avp_data data = {
8147 1477, /* Code */ 8170 1477, /* Code */
8148 10415, /* Vendor */ 8171 10415, /* Vendor */
8293 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 8316 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
8294 }; 8317 };
8295 8318
8296 /* Note: 3GPP TS 29.272 V12.4.0 (2014-03) renamed */ 8319 /* Note: 3GPP TS 29.272 V12.4.0 (2014-03) renamed */
8297 /* Call-Barring-Infor-List (1488) to Call-Barring-Info (1488). */ 8320 /* Call-Barring-Infor-List (1488) to Call-Barring-Info (1488). */
8321 /* */
8322 /* Change since freeDiameter 1.4.0. */
8323 /* Fix: Call-Barring-Infor-List (1488) renamed to Call-Barring-Info (1488). */
8298 /* Call-Barring-Info, Grouped, code 1488, section 7.3.101 */ 8324 /* Call-Barring-Info, Grouped, code 1488, section 7.3.101 */
8299 { 8325 {
8300 struct dict_avp_data data = { 8326 struct dict_avp_data data = {
8301 1488, /* Code */ 8327 1488, /* Code */
8302 10415, /* Vendor */ 8328 10415, /* Vendor */
8463 CHECK_dict_new(DICT_AVP, &data, type, NULL); 8489 CHECK_dict_new(DICT_AVP, &data, type, NULL);
8464 }; 8490 };
8465 8491
8466 /* Note: 3GPP TS 29.272 table 7.3.1/1 row MME-Location-Information (1600) */ 8492 /* Note: 3GPP TS 29.272 table 7.3.1/1 row MME-Location-Information (1600) */
8467 /* incorrectly has a space instead of hyphen in the name. */ 8493 /* incorrectly has a space instead of hyphen in the name. */
8468 /* Generated name renamed from MME-LocationInformation (1600). */ 8494 /* */
8495 /* Change since freeDiameter 1.4.0. */
8496 /* Fix: MME-LocationInformation (1600) renamed to MME-Location-Information(1600). */
8469 /* MME-Location-Information, Grouped, code 1600, section 7.3.115 */ 8497 /* MME-Location-Information, Grouped, code 1600, section 7.3.115 */
8470 { 8498 {
8471 struct dict_avp_data data = { 8499 struct dict_avp_data data = {
8472 1600, /* Code */ 8500 1600, /* Code */
8473 10415, /* Vendor */ 8501 10415, /* Vendor */
9151 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 9179 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
9152 }; 9180 };
9153 9181
9154 /* Note: 3GPP TS 29.272 V12.9.0 (2015-12) changed AVP code of */ 9182 /* Note: 3GPP TS 29.272 V12.9.0 (2015-12) changed AVP code of */
9155 /* Measurement-Period-LTE (1655) from 1656. */ 9183 /* Measurement-Period-LTE (1655) from 1656. */
9184 /* */
9185 /* Change since freeDiameter 1.4.0. */
9186 /* Fix: Measurement-Period-LTE (1656) code changed from 1656. */
9156 /* Measurement-Period-LTE, Enumerated, code 1655, section 7.3.166 */ 9187 /* Measurement-Period-LTE, Enumerated, code 1655, section 7.3.166 */
9157 { 9188 {
9158 struct dict_avp_data data = { 9189 struct dict_avp_data data = {
9159 1655, /* Code */ 9190 1655, /* Code */
9160 10415, /* Vendor */ 9191 10415, /* Vendor */
9169 CHECK_dict_new(DICT_AVP, &data, type, NULL); 9200 CHECK_dict_new(DICT_AVP, &data, type, NULL);
9170 }; 9201 };
9171 9202
9172 /* Note: 3GPP TS 29.272 V12.9.0 (2015-12) changed AVP code of */ 9203 /* Note: 3GPP TS 29.272 V12.9.0 (2015-12) changed AVP code of */
9173 /* Measurement-Period-UMTS (1656) from 1655. */ 9204 /* Measurement-Period-UMTS (1656) from 1655. */
9205 /* */
9206 /* Change since freeDiameter 1.4.0. */
9207 /* Fix: Measurement-Period-UMTS (1656) code changed from 1655. */
9174 /* Measurement-Period-UMTS, Enumerated, code 1656, section 7.3.167 */ 9208 /* Measurement-Period-UMTS, Enumerated, code 1656, section 7.3.167 */
9175 { 9209 {
9176 struct dict_avp_data data = { 9210 struct dict_avp_data data = {
9177 1656, /* Code */ 9211 1656, /* Code */
9178 10415, /* Vendor */ 9212 10415, /* Vendor */
10485 }; 10519 };
10486 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 10520 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
10487 }; 10521 };
10488 10522
10489 /* Note: Name conflict with 3GPP TS 29.229 User-Data (606). */ 10523 /* Note: Name conflict with 3GPP TS 29.229 User-Data (606). */
10490 /* User-Data (702) renamed to User-Data-29.329 (702). */ 10524 /* 3GPP TS 29.229 V6.2.0 (2004-09) allocated User-Data (606). */
10525 /* 3GPP TS 29.329 V6.2.0 (2004-09) allocated User-Data (702). */
10526 /* */
10527 /* Fix: User-Data (702) renamed to User-Data-29.329 (702). */
10491 /* User-Data-29.329, OctetString, code 702, section 6.3.3 */ 10528 /* User-Data-29.329, OctetString, code 702, section 6.3.3 */
10492 { 10529 {
10493 struct dict_avp_data data = { 10530 struct dict_avp_data data = {
10494 702, /* Code */ 10531 702, /* Code */
10495 10415, /* Vendor */ 10532 10415, /* Vendor */
10692 AVP_TYPE_GROUPED /* base type of data */ 10729 AVP_TYPE_GROUPED /* base type of data */
10693 }; 10730 };
10694 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 10731 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
10695 }; 10732 };
10696 10733
10734 /* Note: Name conflict with 3GPP TS 29.140 Sequence-Number (1107). */
10735 /* 3GPP TS 29.140 V6.1.0 (2005-06) allocated Sequence-Number (1107). */
10736 /* 3GPP TS 29.329 V10.0.0 (2010-09) CR 0163 added Sequence-Number (716). */
10697 /* Sequence-Number, Unsigned32, code 716, section 6.3.25 */ 10737 /* Sequence-Number, Unsigned32, code 716, section 6.3.25 */
10698 { 10738 {
10699 struct dict_avp_data data = { 10739 struct dict_avp_data data = {
10700 716, /* Code */ 10740 716, /* Code */
10701 10415, /* Vendor */ 10741 10415, /* Vendor */
10947 AVP_TYPE_UNSIGNED32 /* base type of data */ 10987 AVP_TYPE_UNSIGNED32 /* base type of data */
10948 }; 10988 };
10949 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 10989 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
10950 }; 10990 };
10951 10991
10992 /* Note: 3GPP TS 29.061 External-Identifier (28) OctetString replaced by */
10993 /* 3GPP TS 29.336 External-Identifier (3111) UTF8String. */
10952 /* External-Identifier, UTF8String, code 3111, section 6.4.11 */ 10994 /* External-Identifier, UTF8String, code 3111, section 6.4.11 */
10953 { 10995 {
10954 struct dict_avp_data data = { 10996 struct dict_avp_data data = {
10955 3111, /* Code */ 10997 3111, /* Code */
10956 10415, /* Vendor */ 10998 10415, /* Vendor */
13635 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 13677 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
13636 CHECK_dict_new(DICT_AVP, &data, type, NULL); 13678 CHECK_dict_new(DICT_AVP, &data, type, NULL);
13637 }; 13679 };
13638 13680
13639 /* Note: Name conflict with 3GPP TS 29.212 3GPP-PS-Data-Off-Status (2847). */ 13681 /* Note: Name conflict with 3GPP TS 29.212 3GPP-PS-Data-Off-Status (2847). */
13640 /* 3GPP-PS-Data-Off-Status (4406) renamed to 3GPP-PS-Data-Off-Status-32.299 (4406). */ 13682 /* 3GPP TS 29.212 V14.3.0 (2017-03) CR 1559 added 3GPP-PS-Data-Off-Status (2847). */
13683 /* 3GPP TS 32.299 V14.3.0 (2017-03) CR 0760 added 3GPP-PS-Data-Off-Status (4406). */
13684 /* */
13685 /* Fix: 3GPP-PS-Data-Off-Status (4406) renamed to 3GPP-PS-Data-Off-Status-32.299 (4406). */
13641 /* 3GPP-PS-Data-Off-Status-32.299, Enumerated, code 4406 */ 13686 /* 3GPP-PS-Data-Off-Status-32.299, Enumerated, code 4406 */
13642 { 13687 {
13643 struct dict_avp_data data = { 13688 struct dict_avp_data data = {
13644 4406, /* Code */ 13689 4406, /* Code */
13645 10415, /* Vendor */ 13690 10415, /* Vendor */
15722 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 15767 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
15723 }; 15768 };
15724 15769
15725 /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed */ 15770 /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed */
15726 /* LCS-Requestor-Id (1239) to LCS-Requestor-ID (1239). */ 15771 /* LCS-Requestor-Id (1239) to LCS-Requestor-ID (1239). */
15772 /* */
15773 /* Change since freeDiameter 1.4.0. */
15774 /* Fix: LCS-Requestor-Id (1239) renamed to LCS-Requestor-ID (1239). */
15727 /* LCS-Requestor-ID, Grouped, code 1239 */ 15775 /* LCS-Requestor-ID, Grouped, code 1239 */
15728 { 15776 {
15729 struct dict_avp_data data = { 15777 struct dict_avp_data data = {
15730 1239, /* Code */ 15778 1239, /* Code */
15731 10415, /* Vendor */ 15779 10415, /* Vendor */
15737 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 15785 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
15738 }; 15786 };
15739 15787
15740 /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed */ 15788 /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed */
15741 /* LCS-Requestor-Id-String (1240) to LCS-Requestor-ID-String (1240). */ 15789 /* LCS-Requestor-Id-String (1240) to LCS-Requestor-ID-String (1240). */
15790 /* */
15791 /* Change since freeDiameter 1.4.0. */
15792 /* Fix: LCS-Requestor-Id-String (1240) renamed to LCS-Requestor-ID-String (1240). */
15742 /* LCS-Requestor-ID-String, UTF8String, code 1240 */ 15793 /* LCS-Requestor-ID-String, UTF8String, code 1240 */
15743 { 15794 {
15744 struct dict_avp_data data = { 15795 struct dict_avp_data data = {
15745 1240, /* Code */ 15796 1240, /* Code */
15746 10415, /* Vendor */ 15797 10415, /* Vendor */
15884 CHECK_dict_new(DICT_AVP, &data, type, NULL); 15935 CHECK_dict_new(DICT_AVP, &data, type, NULL);
15885 }; 15936 };
15886 15937
15887 /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) table 7.2 changed */ 15938 /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) table 7.2 changed */
15888 /* row MBMS-GW-Address (2307) to have a hyphen instead of space. */ 15939 /* row MBMS-GW-Address (2307) to have a hyphen instead of space. */
15889 /* Generated name renamed from MBMSGW-Address (2307). */ 15940 /* */
15941 /* Change since freeDiameter 1.4.0. */
15942 /* Fix: MBMSGW-Address (2307) renamed to MBMS-GW-Address (2307). */
15890 /* MBMS-GW-Address, Address, code 2307 */ 15943 /* MBMS-GW-Address, Address, code 2307 */
15891 { 15944 {
15892 struct dict_avp_data data = { 15945 struct dict_avp_data data = {
15893 2307, /* Code */ 15946 2307, /* Code */
15894 10415, /* Vendor */ 15947 10415, /* Vendor */
16931 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 16984 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
16932 }; 16985 };
16933 16986
16934 /* Note: 3GPP TS 32.299 V13.1.0 (2015-06) renamed */ 16987 /* Note: 3GPP TS 32.299 V13.1.0 (2015-06) renamed */
16935 /* PoC-User-Role-info-Units (1254) to PoC-User-Role-Info-Units (1254). */ 16988 /* PoC-User-Role-info-Units (1254) to PoC-User-Role-Info-Units (1254). */
16989 /* */
16990 /* Change since freeDiameter 1.4.0. */
16991 /* Fix: PoC-User-Role-info-Units (1254) renamed to PoC-User-Role-Info-Units (1254). */
16936 /* PoC-User-Role-Info-Units, Enumerated, code 1254 */ 16992 /* PoC-User-Role-Info-Units, Enumerated, code 1254 */
16937 { 16993 {
16938 struct dict_avp_data data = { 16994 struct dict_avp_data data = {
16939 1254, /* Code */ 16995 1254, /* Code */
16940 10415, /* Vendor */ 16996 10415, /* Vendor */
17607 AVP_TYPE_UNSIGNED32 /* base type of data */ 17663 AVP_TYPE_UNSIGNED32 /* base type of data */
17608 }; 17664 };
17609 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 17665 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
17610 }; 17666 };
17611 17667
17668 /* Note: Name conflict with 3GPP TS 32.299 Recipient-Address (1201); */
17669 /* 3GPP TS 29.140 V6.1.0 (2005-06) allocated Recipient-Address (1108). */
17670 /* 3GPP TS 32.299 V6.4.0 (2005-09) CR 0028 added Recipient-Address (1201). */
17612 /* Recipient-Address, Grouped, code 1201 */ 17671 /* Recipient-Address, Grouped, code 1201 */
17613 { 17672 {
17614 struct dict_avp_data data = { 17673 struct dict_avp_data data = {
17615 1201, /* Code */ 17674 1201, /* Code */
17616 10415, /* Vendor */ 17675 10415, /* Vendor */
18572 AVP_TYPE_OCTETSTRING /* base type of data */ 18631 AVP_TYPE_OCTETSTRING /* base type of data */
18573 }; 18632 };
18574 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL); 18633 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
18575 }; 18634 };
18576 18635
18577 /* Note: 3GPP TS 32.299 V11.10.0 (2013-12) renamed */ 18636 /* Note: 3GPP TS 32.299 V11.10.0 (2013-12) CR 0566 renamed */
18578 /* Status (2702) to Status-Code (2702), and then */ 18637 /* Status (2702) to Status-Code (2702). */
18579 /* 3GPP TS 32.299 V11.14.0 (2014-12) renamed */ 18638 /* 3GPP TS 32.299 V11.14.0 (2014-12) CR 0617 renamed */
18580 /* Status-Code (2702) to Status-AS-Code (2702). */ 18639 /* Status-Code (2702) to Status-AS-Code (2702). */
18640 /* */
18641 /* Change since freeDiameter 1.4.0. */
18642 /* Fix: Status (2702) renamed to Status-AS-Code (2702). */
18581 /* Status-AS-Code, Enumerated, code 2702 */ 18643 /* Status-AS-Code, Enumerated, code 2702 */
18582 { 18644 {
18583 struct dict_avp_data data = { 18645 struct dict_avp_data data = {
18584 2702, /* Code */ 18646 2702, /* Code */
18585 10415, /* Vendor */ 18647 10415, /* Vendor */
19436 AVP_TYPE_OCTETSTRING /* base type of data */ 19498 AVP_TYPE_OCTETSTRING /* base type of data */
19437 }; 19499 };
19438 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 19500 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
19439 }; 19501 };
19440 19502
19441 /* Note: Application-Service-Type (2102) corrected from UTF8String to Enumerated. */ 19503 /* Change since freeDiameter 1.4.0. */
19504 /* Fix: Application-Service-Type (2102) type changed from UTF8String to Enumerated. */
19442 /* Application-Service-Type, Enumerated, code 2102, section 8.4 */ 19505 /* Application-Service-Type, Enumerated, code 2102, section 8.4 */
19443 { 19506 {
19444 struct dict_avp_data data = { 19507 struct dict_avp_data data = {
19445 2102, /* Code */ 19508 2102, /* Code */
19446 10415, /* Vendor */ 19509 10415, /* Vendor */
19453 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Application-Service-Type)", NULL, NULL, NULL }; 19516 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Application-Service-Type)", NULL, NULL, NULL };
19454 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 19517 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
19455 CHECK_dict_new(DICT_AVP, &data, type, NULL); 19518 CHECK_dict_new(DICT_AVP, &data, type, NULL);
19456 }; 19519 };
19457 19520
19458 /* Note: Application–Session–Id (2103) corrected from UTF8String to Unsigned32. */ 19521 /* Change since freeDiameter 1.4.0. */
19522 /* Fix: Application–Session–Id (2103) type changed from UTF8String to Unsigned32. */
19459 /* Application-Session-Id, Unsigned32, code 2103, section 8.4 */ 19523 /* Application-Session-Id, Unsigned32, code 2103, section 8.4 */
19460 { 19524 {
19461 struct dict_avp_data data = { 19525 struct dict_avp_data data = {
19462 2103, /* Code */ 19526 2103, /* Code */
19463 10415, /* Vendor */ 19527 10415, /* Vendor */
19605 /* Core Network Aspects */ 19669 /* Core Network Aspects */
19606 /* */ 19670 /* */
19607 /* From 3GPP2 X.S0057-0_v2.0_091215.pdf */ 19671 /* From 3GPP2 X.S0057-0_v2.0_091215.pdf */
19608 /*==================================================================*/ 19672 /*==================================================================*/
19609 19673
19610 /* Note: 3GPP2-BSID (9010) corrected from OctetString to UTF8String. */ 19674 /* */
19675 /* Change since freeDiameter 1.4.0. */
19676 /* Fix: 3GPP2-BSID (9010) type changed from OctetString to UTF8String. */
19611 /* 3GPP2-BSID, UTF8String, code 9010, section 5.6.2.1.1 */ 19677 /* 3GPP2-BSID, UTF8String, code 9010, section 5.6.2.1.1 */
19612 { 19678 {
19613 struct dict_avp_data data = { 19679 struct dict_avp_data data = {
19614 9010, /* Code */ 19680 9010, /* Code */
19615 5535, /* Vendor */ 19681 5535, /* Vendor */
"Welcome to our mercurial repository"