Mercurial > hg > freeDiameter
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 */ |