comparison extensions/dict_dcca_3gpp/add_avps.c @ 1530:2c92c6b73ac9

dict_dcca_3gpp: highlight more local fixes Mark local fixes with "Fix:" Use "Table" vs "table". Minor formatting consistency. No change to generated dictionary.
author Luke Mewburn <luke@mewburn.net>
date Sat, 18 Apr 2020 15:16:18 +1000
parents 3908b839dcf2
children ac39a776eb65
comparison
equal deleted inserted replaced
1529:7d121fbf269a 1530:2c92c6b73ac9
47 47
48 /* Note: 3GPP TS 29.061 is unclear and inconsistent about M. */ 48 /* Note: 3GPP TS 29.061 is unclear and inconsistent about M. */
49 /* For this reason, other sources are assumed more trustworthy. */ 49 /* For this reason, other sources are assumed more trustworthy. */
50 /*==================================================================*/ 50 /*==================================================================*/
51 51
52 /* Note: 3GPP-IMSI (1) changed to Must M. */ 52 /* Fix: 3GPP-IMSI (1) changed to Must M. */
53 /* 3GPP-IMSI, UTF8String, code 1, section 16.4.7 */ 53 /* 3GPP-IMSI, UTF8String, code 1, section 16.4.7 */
54 { 54 {
55 struct dict_avp_data data = { 55 struct dict_avp_data data = {
56 1, /* Code */ 56 1, /* Code */
57 10415, /* Vendor */ 57 10415, /* Vendor */
76 AVP_TYPE_UNSIGNED32 /* base type of data */ 76 AVP_TYPE_UNSIGNED32 /* base type of data */
77 }; 77 };
78 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 78 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
79 }; 79 };
80 80
81 /* Note: 3GPP-PDP-Type (3) changed to Must M. */ 81 /* Fix: 3GPP-PDP-Type (3) changed to Must M. */
82 /* 3GPP-PDP-Type, Enumerated, code 3, section 16.4.7 */ 82 /* 3GPP-PDP-Type, Enumerated, code 3, section 16.4.7 */
83 { 83 {
84 struct dict_avp_data data = { 84 struct dict_avp_data data = {
85 3, /* Code */ 85 3, /* Code */
86 10415, /* Vendor */ 86 10415, /* Vendor */
106 AVP_TYPE_OCTETSTRING /* base type of data */ 106 AVP_TYPE_OCTETSTRING /* base type of data */
107 }; 107 };
108 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 108 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
109 }; 109 };
110 110
111 /* Note: 3GPP-GPRS-Negotiated-QoS-Profile (5) changed to Must M per contrib/3gpp. */ 111 /* Fix: 3GPP-GPRS-Negotiated-QoS-Profile (5) changed to Must M per contrib/3gpp. */
112 /* 3GPP-GPRS-Negotiated-QoS-Profile, UTF8String, code 5, section 16.4.7 */ 112 /* 3GPP-GPRS-Negotiated-QoS-Profile, UTF8String, code 5, section 16.4.7 */
113 { 113 {
114 struct dict_avp_data data = { 114 struct dict_avp_data data = {
115 5, /* Code */ 115 5, /* Code */
116 10415, /* Vendor */ 116 10415, /* Vendor */
146 AVP_TYPE_OCTETSTRING /* base type of data */ 146 AVP_TYPE_OCTETSTRING /* base type of data */
147 }; 147 };
148 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 148 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
149 }; 149 };
150 150
151 /* Note: 3GPP-IMSI-MCC-MNC (8) changed to Must M per packet dumps. */ 151 /* Fix: 3GPP-IMSI-MCC-MNC (8) changed to Must M per packet dumps. */
152 /* 3GPP-IMSI-MCC-MNC, UTF8String, code 8, section 16.4.7 */ 152 /* 3GPP-IMSI-MCC-MNC, UTF8String, code 8, section 16.4.7 */
153 { 153 {
154 struct dict_avp_data data = { 154 struct dict_avp_data data = {
155 8, /* Code */ 155 8, /* Code */
156 10415, /* Vendor */ 156 10415, /* Vendor */
160 AVP_TYPE_OCTETSTRING /* base type of data */ 160 AVP_TYPE_OCTETSTRING /* base type of data */
161 }; 161 };
162 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 162 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
163 }; 163 };
164 164
165 /* Note: 3GPP-GGSN-MCC-MNC (9) changed to Must M per contrib/3gpp. */ 165 /* Fix: 3GPP-GGSN-MCC-MNC (9) changed to Must M per contrib/3gpp. */
166 /* 3GPP-GGSN-MCC-MNC, UTF8String, code 9, section 16.4.7 */ 166 /* 3GPP-GGSN-MCC-MNC, UTF8String, code 9, section 16.4.7 */
167 { 167 {
168 struct dict_avp_data data = { 168 struct dict_avp_data data = {
169 9, /* Code */ 169 9, /* Code */
170 10415, /* Vendor */ 170 10415, /* Vendor */
174 AVP_TYPE_OCTETSTRING /* base type of data */ 174 AVP_TYPE_OCTETSTRING /* base type of data */
175 }; 175 };
176 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 176 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
177 }; 177 };
178 178
179 /* Note: 3GPP-NSAPI (10) changed to Must M per contrib/3gpp. */ 179 /* Fix: 3GPP-NSAPI (10) changed to Must M per contrib/3gpp. */
180 /* 3GPP-NSAPI, OctetString, code 10, section 16.4.7 */ 180 /* 3GPP-NSAPI, OctetString, code 10, section 16.4.7 */
181 { 181 {
182 struct dict_avp_data data = { 182 struct dict_avp_data data = {
183 10, /* Code */ 183 10, /* Code */
184 10415, /* Vendor */ 184 10415, /* Vendor */
188 AVP_TYPE_OCTETSTRING /* base type of data */ 188 AVP_TYPE_OCTETSTRING /* base type of data */
189 }; 189 };
190 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 190 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
191 }; 191 };
192 192
193 /* Note: 3GPP TS 29.061 table 9a does not define */ 193 /* Note: 3GPP TS 29.061 Table 9a does not define */
194 /* 3GPP-Session-Stop-Indicator (11) even when it is referenced */ 194 /* 3GPP-Session-Stop-Indicator (11) even when it is referenced */
195 /* by other 3GPP Diameter AVPs including PS-Information (874). */ 195 /* by other 3GPP Diameter AVPs including PS-Information (874). */
196 /* */
197 /* Fix: Add 3GPP-Session-Stop-Indicator (11) OctetString. */
196 /* 3GPP-Session-Stop-Indicator, OctetString, code 11, section 16.4.7 */ 198 /* 3GPP-Session-Stop-Indicator, OctetString, code 11, section 16.4.7 */
197 { 199 {
198 struct dict_avp_data data = { 200 struct dict_avp_data data = {
199 11, /* Code */ 201 11, /* Code */
200 10415, /* Vendor */ 202 10415, /* Vendor */
204 AVP_TYPE_OCTETSTRING /* base type of data */ 206 AVP_TYPE_OCTETSTRING /* base type of data */
205 }; 207 };
206 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 208 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
207 }; 209 };
208 210
209 /* Note: 3GPP-Selection-Mode (12) changed to Must M per contrib/3gpp. */ 211 /* Fix: 3GPP-Selection-Mode (12) changed to Must M per contrib/3gpp. */
210 /* 3GPP-Selection-Mode, UTF8String, code 12, section 16.4.7 */ 212 /* 3GPP-Selection-Mode, UTF8String, code 12, section 16.4.7 */
211 { 213 {
212 struct dict_avp_data data = { 214 struct dict_avp_data data = {
213 12, /* Code */ 215 12, /* Code */
214 10415, /* Vendor */ 216 10415, /* Vendor */
218 AVP_TYPE_OCTETSTRING /* base type of data */ 220 AVP_TYPE_OCTETSTRING /* base type of data */
219 }; 221 };
220 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 222 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
221 }; 223 };
222 224
223 /* Note: 3GPP-Charging-Characteristics (13) changed to Must M per contrib/3gpp. */ 225 /* Fix: 3GPP-Charging-Characteristics (13) changed to Must M per contrib/3gpp. */
224 /* 3GPP-Charging-Characteristics, UTF8String, code 13, section 16.4.7 */ 226 /* 3GPP-Charging-Characteristics, UTF8String, code 13, section 16.4.7 */
225 { 227 {
226 struct dict_avp_data data = { 228 struct dict_avp_data data = {
227 13, /* Code */ 229 13, /* Code */
228 10415, /* Vendor */ 230 10415, /* Vendor */
235 }; 237 };
236 238
237 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 239 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
238 /* 3GPP-CG-IPv6-Address (14) to 3GPP-CG-Ipv6-Address; */ 240 /* 3GPP-CG-IPv6-Address (14) to 3GPP-CG-Ipv6-Address; */
239 /* this rename was not applied. */ 241 /* this rename was not applied. */
240 /* 3GPP-CG-IPv6-Address (14) changed to Must M per contrib/3gpp. */ 242 /* */
243 /* Fix: 3GPP-CG-IPv6-Address (14) changed to Must M per contrib/3gpp. */
241 /* 3GPP-CG-IPv6-Address, OctetString, code 14, section 16.4.7 */ 244 /* 3GPP-CG-IPv6-Address, OctetString, code 14, section 16.4.7 */
242 { 245 {
243 struct dict_avp_data data = { 246 struct dict_avp_data data = {
244 14, /* Code */ 247 14, /* Code */
245 10415, /* Vendor */ 248 10415, /* Vendor */
252 }; 255 };
253 256
254 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 257 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
255 /* 3GPP-SGSN-IPv6-Address (15) to 3GPP-SGSN-Ipv6-Address; */ 258 /* 3GPP-SGSN-IPv6-Address (15) to 3GPP-SGSN-Ipv6-Address; */
256 /* this rename was not applied. */ 259 /* this rename was not applied. */
257 /* 3GPP-SGSN-IPv6-Address (15) changed to Must M per contrib/3gpp. */ 260 /* */
261 /* Fix: 3GPP-SGSN-IPv6-Address (15) changed to Must M per contrib/3gpp. */
258 /* 3GPP-SGSN-IPv6-Address, OctetString, code 15, section 16.4.7 */ 262 /* 3GPP-SGSN-IPv6-Address, OctetString, code 15, section 16.4.7 */
259 { 263 {
260 struct dict_avp_data data = { 264 struct dict_avp_data data = {
261 15, /* Code */ 265 15, /* Code */
262 10415, /* Vendor */ 266 10415, /* Vendor */
269 }; 273 };
270 274
271 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 275 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
272 /* 3GPP-GGSN-IPv6-Address (16) to 3GPP-GGSN-Ipv6-Address; */ 276 /* 3GPP-GGSN-IPv6-Address (16) to 3GPP-GGSN-Ipv6-Address; */
273 /* this rename was not applied. */ 277 /* this rename was not applied. */
274 /* 3GPP-GGSN-IPv6-Address (16) changed to Must M per contrib/3gpp. */ 278 /* */
279 /* Fix: 3GPP-GGSN-IPv6-Address (16) changed to Must M per contrib/3gpp. */
275 /* 3GPP-GGSN-IPv6-Address, OctetString, code 16, section 16.4.7 */ 280 /* 3GPP-GGSN-IPv6-Address, OctetString, code 16, section 16.4.7 */
276 { 281 {
277 struct dict_avp_data data = { 282 struct dict_avp_data data = {
278 16, /* Code */ 283 16, /* Code */
279 10415, /* Vendor */ 284 10415, /* Vendor */
286 }; 291 };
287 292
288 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ 293 /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
289 /* 3GPP-IPv6-DNS-Servers (17) to 3GPP-Ipv6-DNS-Servers; */ 294 /* 3GPP-IPv6-DNS-Servers (17) to 3GPP-Ipv6-DNS-Servers; */
290 /* this rename was not applied. */ 295 /* this rename was not applied. */
291 /* 3GPP-IPv6-DNS-Servers (17) changed to Must M per contrib/3gpp. */ 296 /* */
297 /* Fix: 3GPP-IPv6-DNS-Servers (17) changed to Must M per contrib/3gpp. */
292 /* 3GPP-IPv6-DNS-Servers, OctetString, code 17, section 16.4.7 */ 298 /* 3GPP-IPv6-DNS-Servers, OctetString, code 17, section 16.4.7 */
293 { 299 {
294 struct dict_avp_data data = { 300 struct dict_avp_data data = {
295 17, /* Code */ 301 17, /* Code */
296 10415, /* Vendor */ 302 10415, /* Vendor */
300 AVP_TYPE_OCTETSTRING /* base type of data */ 306 AVP_TYPE_OCTETSTRING /* base type of data */
301 }; 307 };
302 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 308 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
303 }; 309 };
304 310
305 /* Note: 3GPP-SGSN-MCC-MNC (18) changed to Must M per contrib/3gpp. */ 311 /* Fix: 3GPP-SGSN-MCC-MNC (18) changed to Must M per contrib/3gpp. */
306 /* 3GPP-SGSN-MCC-MNC, UTF8String, code 18, section 16.4.7 */ 312 /* 3GPP-SGSN-MCC-MNC, UTF8String, code 18, section 16.4.7 */
307 { 313 {
308 struct dict_avp_data data = { 314 struct dict_avp_data data = {
309 18, /* Code */ 315 18, /* Code */
310 10415, /* Vendor */ 316 10415, /* Vendor */
314 AVP_TYPE_OCTETSTRING /* base type of data */ 320 AVP_TYPE_OCTETSTRING /* base type of data */
315 }; 321 };
316 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 322 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
317 }; 323 };
318 324
319 /* Note: 3GPP-IMEISV (20) changed to Must M. */ 325 /* Fix: 3GPP-IMEISV (20) changed to Must M. */
320 /* 3GPP-IMEISV, OctetString, code 20, section 16.4.7 */ 326 /* 3GPP-IMEISV, OctetString, code 20, section 16.4.7 */
321 { 327 {
322 struct dict_avp_data data = { 328 struct dict_avp_data data = {
323 20, /* Code */ 329 20, /* Code */
324 10415, /* Vendor */ 330 10415, /* Vendor */
328 AVP_TYPE_OCTETSTRING /* base type of data */ 334 AVP_TYPE_OCTETSTRING /* base type of data */
329 }; 335 };
330 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 336 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
331 }; 337 };
332 338
333 /* Note: 3GPP-RAT-Type (21) changed to Must M. */ 339 /* Fix: 3GPP-RAT-Type (21) changed to Must M. */
334 /* 3GPP-RAT-Type, OctetString, code 21, section 16.4.7 */ 340 /* 3GPP-RAT-Type, OctetString, code 21, section 16.4.7 */
335 { 341 {
336 struct dict_avp_data data = { 342 struct dict_avp_data data = {
337 21, /* Code */ 343 21, /* Code */
338 10415, /* Vendor */ 344 10415, /* Vendor */
342 AVP_TYPE_OCTETSTRING /* base type of data */ 348 AVP_TYPE_OCTETSTRING /* base type of data */
343 }; 349 };
344 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 350 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
345 }; 351 };
346 352
347 /* Note: 3GPP-User-Location-Info (22) changed to Must M. */ 353 /* Fix: 3GPP-User-Location-Info (22) changed to Must M. */
348 /* 3GPP-User-Location-Info, OctetString, code 22, section 16.4.7 */ 354 /* 3GPP-User-Location-Info, OctetString, code 22, section 16.4.7 */
349 { 355 {
350 struct dict_avp_data data = { 356 struct dict_avp_data data = {
351 22, /* Code */ 357 22, /* Code */
352 10415, /* Vendor */ 358 10415, /* Vendor */
356 AVP_TYPE_OCTETSTRING /* base type of data */ 362 AVP_TYPE_OCTETSTRING /* base type of data */
357 }; 363 };
358 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 364 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
359 }; 365 };
360 366
361 /* Note: 3GPP-MS-TimeZone (23) changed to Must M. */ 367 /* Fix: 3GPP-MS-TimeZone (23) changed to Must M. */
362 /* 3GPP-MS-TimeZone, OctetString, code 23, section 16.4.7 */ 368 /* 3GPP-MS-TimeZone, OctetString, code 23, section 16.4.7 */
363 { 369 {
364 struct dict_avp_data data = { 370 struct dict_avp_data data = {
365 23, /* Code */ 371 23, /* Code */
366 10415, /* Vendor */ 372 10415, /* Vendor */
422 AVP_TYPE_OCTETSTRING /* base type of data */ 428 AVP_TYPE_OCTETSTRING /* base type of data */
423 }; 429 };
424 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 430 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
425 }; 431 };
426 432
427 /* Note: 3GPP TS 29.061 table 9a does not define */ 433 /* Note: 3GPP TS 29.061 Table 9a does not define */
428 /* External-Identifier (28) for Diameter; it is RADIUS only. */ 434 /* External-Identifier (28) for Diameter; it is RADIUS only. */
429 /* 3GPP TS 29.061 table 9b refers to 3GPP TS 29.336 */ 435 /* 3GPP TS 29.061 Table 9b refers to 3GPP TS 29.336 */
430 /* for External-Identifier (3111). */ 436 /* for External-Identifier (3111). */
431 /* */ 437 /* */
432 /* Change since freeDiameter 1.4.0. */ 438 /* Change since freeDiameter 1.4.0. */
433 /* Fix: Remove External-Identifier (28) OctetString. */ 439 /* Fix: Remove External-Identifier (28) OctetString. */
434 440
922 AVP_TYPE_UNSIGNED64 /* base type of data */ 928 AVP_TYPE_UNSIGNED64 /* base type of data */
923 }; 929 };
924 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 930 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
925 }; 931 };
926 932
927 /* Note: 3GPP TS 29.061 table 20.5a.1 row MBMS-Flag (931) has */ 933 /* Note: 3GPP TS 29.061 Table 20.5a.1 row MBMS-Flag (931) has */
928 /* incorrect name and should be "MBMS-Flags" per clause 20.5a.9. */ 934 /* incorrect name and should be "MBMS-Flags" per clause 20.5a.9. */
929 /* */ 935 /* */
930 /* Fix: MBMS-Flag (931) renamed to MBMS-Flags (931). */ 936 /* Fix: MBMS-Flag (931) renamed to MBMS-Flags (931). */
931 /* MBMS-Flags, Unsigned32, code 931, section 20.5a.9 */ 937 /* MBMS-Flags, Unsigned32, code 931, section 20.5a.9 */
932 { 938 {
1082 AVP_TYPE_OCTETSTRING /* base type of data */ 1088 AVP_TYPE_OCTETSTRING /* base type of data */
1083 }; 1089 };
1084 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 1090 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1085 }; 1091 };
1086 1092
1087 /* Note: 3GPP TS 29.109 table 6.1 row GBA_U-Awareness-Indicator (407) */ 1093 /* Note: 3GPP TS 29.109 Table 6.1 row GBA_U-Awareness-Indicator (407) */
1088 /* has an underscore in the name (contrary to RFC 6733 section 4.1). */ 1094 /* has an underscore in the name (contrary to RFC 6733 section 4.1). */
1089 /* */ 1095 /* */
1090 /* Fix: GBA_U-Awareness-Indicator (407) renamed to GBA-U-Awareness-Indicator (407). */ 1096 /* Fix: GBA_U-Awareness-Indicator (407) renamed to GBA-U-Awareness-Indicator (407). */
1091 /* GBA-U-Awareness-Indicator, Enumerated, code 407, section 6.3.1.8 */ 1097 /* GBA-U-Awareness-Indicator, Enumerated, code 407, section 6.3.1.8 */
1092 { 1098 {
4039 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IP-CAN-Type)", NULL, NULL, NULL }; 4045 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IP-CAN-Type)", NULL, NULL, NULL };
4040 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 4046 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
4041 CHECK_dict_new(DICT_AVP, &data, type, NULL); 4047 CHECK_dict_new(DICT_AVP, &data, type, NULL);
4042 }; 4048 };
4043 4049
4044 /* Note: 3GPP TS 29.212 table 5.3.0.1 row Max-PLR-DL (2852) */ 4050 /* Note: 3GPP TS 29.212 Table 5.3.0.1 row Max-PLR-DL (2852) */
4045 /* incorrectly lists type as Unsigned32 instead of Float32. */ 4051 /* incorrectly lists type as Unsigned32 instead of Float32. */
4046 /* 3GPP TS 29.212 clause 5.3.138 uses Float32. */ 4052 /* 3GPP TS 29.212 clause 5.3.138 uses Float32. */
4047 /* */ 4053 /* */
4048 /* Fix: Max-PLR-DL (2852) type changed from Float32 to Unsigned32. */ 4054 /* Fix: Max-PLR-DL (2852) type changed from Float32 to Unsigned32. */
4049 /* Max-PLR-DL, Unsigned32, code 2852, section 5.3.138 */ 4055 /* Max-PLR-DL, Unsigned32, code 2852, section 5.3.138 */
4057 AVP_TYPE_UNSIGNED32 /* base type of data */ 4063 AVP_TYPE_UNSIGNED32 /* base type of data */
4058 }; 4064 };
4059 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 4065 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
4060 }; 4066 };
4061 4067
4062 /* Note: 3GPP TS 29.212 table 5.3.0.1 row Max-PLR-UL (2853) */ 4068 /* Note: 3GPP TS 29.212 Table 5.3.0.1 row Max-PLR-UL (2853) */
4063 /* incorrectly lists type as Unsigned32 instead of Float32. */ 4069 /* incorrectly lists type as Unsigned32 instead of Float32. */
4064 /* 3GPP TS 29.212 clause 5.3.139 uses Float32. */ 4070 /* 3GPP TS 29.212 clause 5.3.139 uses Float32. */
4065 /* */ 4071 /* */
4066 /* Fix: Max-PLR-UL (2853) type changed from Float32 to Unsigned32. */ 4072 /* Fix: Max-PLR-UL (2853) type changed from Float32 to Unsigned32. */
4067 /* Max-PLR-UL, Unsigned32, code 2853, section 5.3.139 */ 4073 /* Max-PLR-UL, Unsigned32, code 2853, section 5.3.139 */
4326 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PCC-Rule-Status)", NULL, NULL, NULL }; 4332 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PCC-Rule-Status)", NULL, NULL, NULL };
4327 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 4333 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
4328 CHECK_dict_new(DICT_AVP, &data, type, NULL); 4334 CHECK_dict_new(DICT_AVP, &data, type, NULL);
4329 }; 4335 };
4330 4336
4331 /* Note: 3GPP TS 29.212 table 5.3.0.1 row PDN-Connection-ID (1065) */ 4337 /* Note: 3GPP TS 29.212 Table 5.3.0.1 row PDN-Connection-ID (1065) */
4332 /* missing M. */ 4338 /* missing M, assume MUST NOT. */
4339 /* */
4340 /* Fix: PDN-Connection-ID (1065) flag M MUST NOT. */
4333 /* PDN-Connection-ID, OctetString, code 1065, section 5.3.58 */ 4341 /* PDN-Connection-ID, OctetString, code 1065, section 5.3.58 */
4334 { 4342 {
4335 struct dict_avp_data data = { 4343 struct dict_avp_data data = {
4336 1065, /* Code */ 4344 1065, /* Code */
4337 10415, /* Vendor */ 4345 10415, /* Vendor */
4338 "PDN-Connection-ID", /* Name */ 4346 "PDN-Connection-ID", /* Name */
4339 AVP_FLAG_VENDOR, /* Fixed flags */ 4347 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
4340 AVP_FLAG_VENDOR, /* Fixed flag values */ 4348 AVP_FLAG_VENDOR, /* Fixed flag values */
4341 AVP_TYPE_OCTETSTRING /* base type of data */ 4349 AVP_TYPE_OCTETSTRING /* base type of data */
4342 }; 4350 };
4343 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 4351 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
4344 }; 4352 };
4490 AVP_TYPE_UNSIGNED32 /* base type of data */ 4498 AVP_TYPE_UNSIGNED32 /* base type of data */
4491 }; 4499 };
4492 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 4500 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
4493 }; 4501 };
4494 4502
4495 /* Note: 3GPP TS 29.212 table 5.3.0.1 row PS-to-CS-Session-Continuity (1099) */ 4503 /* Note: 3GPP TS 29.212 Table 5.3.0.1 row PS-to-CS-Session-Continuity (1099) */
4496 /* missing M. */ 4504 /* missing M, assume MUST NOT. */
4505 /* */
4506 /* Fix: PS-to-CS-Session-Continuity (1099) flag M MUST NOT. */
4497 /* PS-to-CS-Session-Continuity, Enumerated, code 1099, section 5.3.84 */ 4507 /* PS-to-CS-Session-Continuity, Enumerated, code 1099, section 5.3.84 */
4498 { 4508 {
4499 struct dict_avp_data data = { 4509 struct dict_avp_data data = {
4500 1099, /* Code */ 4510 1099, /* Code */
4501 10415, /* Vendor */ 4511 10415, /* Vendor */
4502 "PS-to-CS-Session-Continuity", /* Name */ 4512 "PS-to-CS-Session-Continuity", /* Name */
4503 AVP_FLAG_VENDOR, /* Fixed flags */ 4513 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
4504 AVP_FLAG_VENDOR, /* Fixed flag values */ 4514 AVP_FLAG_VENDOR, /* Fixed flag values */
4505 AVP_TYPE_INTEGER32 /* base type of data */ 4515 AVP_TYPE_INTEGER32 /* base type of data */
4506 }; 4516 };
4507 struct dict_object *type; 4517 struct dict_object *type;
4508 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PS-to-CS-Session-Continuity)", NULL, NULL, NULL }; 4518 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PS-to-CS-Session-Continuity)", NULL, NULL, NULL };
5849 AVP_TYPE_OCTETSTRING /* base type of data */ 5859 AVP_TYPE_OCTETSTRING /* base type of data */
5850 }; 5860 };
5851 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 5861 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
5852 }; 5862 };
5853 5863
5854 /* Note: 3GPP TS 29.214 table 5.3.0.1 row IMS-Content-Identifier (563) */ 5864 /* Note: 3GPP TS 29.214 Table 5.3.0.1 row IMS-Content-Identifier (563) */
5855 /* missing M, assume MUST NOT. */ 5865 /* missing M, assume MUST NOT. */
5856 /* */ 5866 /* */
5857 /* Fix: IMS-Content-Identifier (563) flag M MUST NOT. */ 5867 /* Fix: IMS-Content-Identifier (563) flag M MUST NOT. */
5858 /* IMS-Content-Identifier, OctetString, code 563, section 5.3.60 */ 5868 /* IMS-Content-Identifier, OctetString, code 563, section 5.3.60 */
5859 { 5869 {
5866 AVP_TYPE_OCTETSTRING /* base type of data */ 5876 AVP_TYPE_OCTETSTRING /* base type of data */
5867 }; 5877 };
5868 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 5878 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
5869 }; 5879 };
5870 5880
5871 /* Note: 3GPP TS 29.214 table 5.3.0.1 row IMS-Content (564) */ 5881 /* Note: 3GPP TS 29.214 Table 5.3.0.1 row IMS-Content (564) */
5872 /* missing M, assume MUST NOT. */ 5882 /* missing M, assume MUST NOT. */
5873 /* */ 5883 /* */
5874 /* Fix: IMS-Content (564) flag M MUST NOT. */ 5884 /* Fix: IMS-Content (564) flag M MUST NOT. */
5875 /* IMS-Content-Type, Enumerated, code 564, section 5.3.61 */ 5885 /* IMS-Content-Type, Enumerated, code 564, section 5.3.61 */
5876 { 5886 {
8911 AVP_TYPE_OCTETSTRING /* base type of data */ 8921 AVP_TYPE_OCTETSTRING /* base type of data */
8912 }; 8922 };
8913 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 8923 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
8914 }; 8924 };
8915 8925
8916 /* Note: 3GPP TS 29.272 V12.5.0 (2014-06) table 7.3.1/1 */ 8926 /* Note: 3GPP TS 29.272 V12.5.0 (2014-06) Table 7.3.1/1 */
8917 /* changed row SS-Status (1477) to be OctetString instead of Grouped. */ 8927 /* changed row SS-Status (1477) to be OctetString instead of Grouped. */
8918 /* Clause 7.3.88 already described SS-Status (1147) as OctetString. */ 8928 /* Clause 7.3.88 already described SS-Status (1147) as OctetString. */
8919 /* */ 8929 /* */
8920 /* Change since freeDiameter 1.4.0. */ 8930 /* Change since freeDiameter 1.4.0. */
8921 /* Fix: SS-Status (1477) type changed from Grouped to OctetString. */ 8931 /* Fix: SS-Status (1477) type changed from Grouped to OctetString. */
9242 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/User-State)", NULL, NULL, NULL }; 9252 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/User-State)", NULL, NULL, NULL };
9243 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 9253 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
9244 CHECK_dict_new(DICT_AVP, &data, type, NULL); 9254 CHECK_dict_new(DICT_AVP, &data, type, NULL);
9245 }; 9255 };
9246 9256
9247 /* Note: 3GPP TS 29.272 table 7.3.1/1 row MME-Location-Information (1600) */ 9257 /* Note: 3GPP TS 29.272 Table 7.3.1/1 row MME-Location-Information (1600) */
9248 /* incorrectly has a space instead of hyphen in the name. */ 9258 /* incorrectly has a space instead of hyphen in the name. */
9249 /* */ 9259 /* */
9250 /* Change since freeDiameter 1.4.0. */ 9260 /* Change since freeDiameter 1.4.0. */
9251 /* Fix: MME-LocationInformation (1600) renamed to MME-Location-Information(1600). */ 9261 /* Fix: MME-LocationInformation (1600) renamed to MME-Location-Information(1600). */
9252 /* MME-Location-Information, Grouped, code 1600, section 7.3.115 */ 9262 /* MME-Location-Information, Grouped, code 1600, section 7.3.115 */
10321 AVP_TYPE_UNSIGNED32 /* base type of data */ 10331 AVP_TYPE_UNSIGNED32 /* base type of data */
10322 }; 10332 };
10323 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 10333 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
10324 }; 10334 };
10325 10335
10326 /* Note: 3GPP TS 29.272 table 7.3.1/1 row Additional-Context-ID (1683) has */ 10336 /* Note: 3GPP TS 29.272 Table 7.3.1/1 row Additional-Context-ID (1683) has */
10327 /* incorrect name and should be "Additional-Context-Identifier" per clause 7.3.206. */ 10337 /* incorrect name and should be "Additional-Context-Identifier" per clause 7.3.206. */
10328 /* */ 10338 /* */
10329 /* Fix: Additional-Context-ID (1683) renamed to Additional-Context-Identifier (1683). */ 10339 /* Fix: Additional-Context-ID (1683) renamed to Additional-Context-Identifier (1683). */
10330 /* Additional-Context-Identifier, Unsigned32, code 1683, section 7.3.206 */ 10340 /* Additional-Context-Identifier, Unsigned32, code 1683, section 7.3.206 */
10331 { 10341 {
10364 AVP_TYPE_GROUPED /* base type of data */ 10374 AVP_TYPE_GROUPED /* base type of data */
10365 }; 10375 };
10366 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 10376 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
10367 }; 10377 };
10368 10378
10369 /* Note: 3GPP TS 29.272 table 7.3.1/1 row Preferred-Data-Mode (1686) */ 10379 /* Note: 3GPP TS 29.272 Table 7.3.1/1 row Preferred-Data-Mode (1686) */
10370 /* incorrectly has value type Grouped instead of Unsigned32, */ 10380 /* incorrectly has value type Grouped instead of Unsigned32, */
10371 /* conflicting with clause 7.3.209. */ 10381 /* conflicting with clause 7.3.209. */
10382 /* */
10383 /* Fix: Preferred-Data-Mode (1686) type changed from Grouped to Unsigned32. */
10372 /* Preferred-Data-Mode, Unsigned32, code 1686, section 7.3.209 */ 10384 /* Preferred-Data-Mode, Unsigned32, code 1686, section 7.3.209 */
10373 { 10385 {
10374 struct dict_avp_data data = { 10386 struct dict_avp_data data = {
10375 1686, /* Code */ 10387 1686, /* Code */
10376 10415, /* Vendor */ 10388 10415, /* Vendor */
13333 AVP_TYPE_GROUPED /* base type of data */ 13345 AVP_TYPE_GROUPED /* base type of data */
13334 }; 13346 };
13335 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 13347 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
13336 }; 13348 };
13337 13349
13338 /* Note: 3GPP TS 29.338 table 6.3.3.1/1 row HSS-ID (3325) */ 13350 /* Note: 3GPP TS 29.338 Table 6.3.3.1/1 row HSS-ID (3325) */
13339 /* incorrectly lists type as OctetString instead of UTF8String. */ 13351 /* incorrectly lists type as OctetString instead of UTF8String. */
13340 /* 3GPP TS 29.338 clause 6.3.3.14 uses UTF8String. */ 13352 /* 3GPP TS 29.338 clause 6.3.3.14 uses UTF8String. */
13341 /* */ 13353 /* */
13342 /* Fix: HSS-ID (3325) type changed from OctetString to UTF8String. */ 13354 /* Fix: HSS-ID (3325) type changed from OctetString to UTF8String. */
13343 /* HSS-ID, UTF8String, code 3325, section 6.3.3.14 */ 13355 /* HSS-ID, UTF8String, code 3325, section 6.3.3.14 */
13715 AVP_TYPE_GROUPED /* base type of data */ 13727 AVP_TYPE_GROUPED /* base type of data */
13716 }; 13728 };
13717 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 13729 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
13718 }; 13730 };
13719 13731
13720 /* Note: 3GPP TS 29.344 table 6.3.1-1 missing Authorized-Discovery-Range. */ 13732 /* Note: 3GPP TS 29.344 Table 6.3.1-1 missing Authorized-Discovery-Range. */
13721 /* Present in 3GPP TS 29.344 clause 6.3.13 and 3GPP TS 29.230 Table 7.1. */ 13733 /* Present in 3GPP TS 29.344 clause 6.3.13 and 3GPP TS 29.230 Table 7.1. */
13722 13734 /* */
13723 /* Fix: Add Authorized-Discovery-Range (3708) Unsigned32. */ 13735 /* Fix: Add Authorized-Discovery-Range (3708) Unsigned32. */
13724 /* Authorized-Discovery-Range, Unsigned32, code 3708, section 6.3.13 */ 13736 /* Authorized-Discovery-Range, Unsigned32, code 3708, section 6.3.13 */
13725 { 13737 {
13726 struct dict_avp_data data = { 13738 struct dict_avp_data data = {
13727 3708, /* Code */ 13739 3708, /* Code */
17831 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-Charged-Party)", NULL, NULL, NULL }; 17843 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-Charged-Party)", NULL, NULL, NULL };
17832 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 17844 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
17833 CHECK_dict_new(DICT_AVP, &data, type, NULL); 17845 CHECK_dict_new(DICT_AVP, &data, type, NULL);
17834 }; 17846 };
17835 17847
17836 /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) table 7.2 changed */ 17848 /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) Table 7.2 changed */
17837 /* row MBMS-GW-Address (2307) to have a hyphen instead of space. */ 17849 /* row MBMS-GW-Address (2307) to have a hyphen instead of space. */
17838 /* */ 17850 /* */
17839 /* Change since freeDiameter 1.4.0. */ 17851 /* Change since freeDiameter 1.4.0. */
17840 /* Fix: MBMSGW-Address (2307) renamed to MBMS-GW-Address (2307). */ 17852 /* Fix: MBMSGW-Address (2307) renamed to MBMS-GW-Address (2307). */
17841 /* MBMS-GW-Address, Address, code 2307 */ 17853 /* MBMS-GW-Address, Address, code 2307 */
"Welcome to our mercurial repository"