blob: d81140a4b1d196e6fae99c68f1a54b76b0539b06 [file] [log] [blame]
Brian Waters13d96012017-12-08 16:53:31 -06001/*
2* Copyright (c) 2017 Sprint
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
16
17/****************
18 Generated By: fdtool enhancements to diafuzzer
19 License: same as freeDiameter
20****************/
21
22
23/*
24 * Dictionary definitions of objects specified in ts32299_avps (e30).
25 */
26#include <freeDiameter/extension.h>
27
28#define PROTO_VER "e30"
29#define GEN_DATE 1506697143.39
30
31const char *ts32299_avps_proto_ver = PROTO_VER;
32const double ts32299_avps_gen_date = GEN_DATE;
33
34/* The content of this file follows the same structure as dict_base_proto.c */
35
36#define CHECK_dict_new( _type, _data, _parent, _ref ) \
37{ \
38 int _ret = fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref) ); \
39 if ( _ret != 0 && _ret != EEXIST ) \
40 return _ret; \
41}
42
43#define CHECK_dict_search( _type, _criteria, _what, _result ) \
44 CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) );
45
46struct local_rules_definition {
47 struct dict_avp_request avp_vendor_plus_name;
48 enum rule_position position;
49 int min;
50 int max;
51};
52
53#define RULE_ORDER( _position ) ((((_position) == RULE_FIXED_HEAD) || ((_position) == RULE_FIXED_TAIL)) ? 1 : 0 )
54
55/* Attention! This version of the macro uses AVP_BY_NAME_AND_VENDOR, in contrast to most other copies! */
56#define PARSE_loc_rules( _rulearray, _parent) { \
57 int __ar; \
58 for (__ar=0; __ar < sizeof(_rulearray) / sizeof((_rulearray)[0]); __ar++) { \
59 struct dict_rule_data __data = { NULL, \
60 (_rulearray)[__ar].position, \
61 0, \
62 (_rulearray)[__ar].min, \
63 (_rulearray)[__ar].max}; \
64 __data.rule_order = RULE_ORDER(__data.rule_position); \
65 CHECK_FCT( fd_dict_search( \
66 fd_g_config->cnf_dict, \
67 DICT_AVP, \
68 AVP_BY_NAME_AND_VENDOR, \
69 &(_rulearray)[__ar].avp_vendor_plus_name, \
70 &__data.rule_avp, 0 ) ); \
71 if ( !__data.rule_avp ) { \
72 TRACE_DEBUG(INFO, "AVP Not found: '%s'", (_rulearray)[__ar].avp_vendor_plus_name.avp_name); \
73 return ENOENT; \
74 } \
75 { \
76 int _ret = fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &(__data), (_parent), NULL ); \
77 if ( _ret != 0 && _ret != EEXIST ) { \
78 TRACE_DEBUG(INFO, "Error on rule with AVP '%s'", \
79 (_rulearray)[__ar].avp_vendor_plus_name.avp_name); \
80 return EINVAL; \
81 } \
82 } \
83 } \
84}
85
86#define CHECK_vendor_new( _data ) { \
87 struct dict_object * vendor_found; \
88 if (fd_dict_search(fd_g_config->cnf_dict,DICT_VENDOR,VENDOR_BY_ID,&_data.vendor_id,&vendor_found,ENOENT) == ENOENT) { \
89 CHECK_FCT(fd_dict_new(fd_g_config->cnf_dict, DICT_VENDOR, &_data, NULL, NULL)); \
90 } \
91}
92
93#define enumval_def_u32( _val_, _str_ ) \
94 { _str_, { .u32 = _val_ }}
95
96#define enumval_def_os( _len_, _val_, _str_ ) \
97 { _str_, { .os = { .data = (unsigned char *)_val_, .len = _len_ }}}
98
99
100static int dict_ts32299_avps_load_defs(char * conffile)
101{
102 TRACE_ENTRY("%p", conffile);
103 /* Application Section */
104 {
105 /* Create the vendors */ {
106 struct dict_vendor_data vendor_data = { 10415, "3GPP" };
107 CHECK_dict_new(DICT_VENDOR, &vendor_data, NULL, NULL)
108 }
109 }
110
111
112 /* AVP section */
113 {
114 struct dict_object * Address_type;
115 struct dict_object * UTF8String_type;
116 struct dict_object * DiameterIdentity_type;
117 struct dict_object * DiameterURI_type;
118 struct dict_object * Time_type;
119 struct dict_object * IPFilterRule_type;
120
121 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Address", &Address_type);
122 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type);
123 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "DiameterIdentity", &DiameterIdentity_type);
124 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "DiameterURI", &DiameterURI_type);
125 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type);
126 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "IPFilterRule", &IPFilterRule_type);
127 /* 3GPP-PS-Data-Off-Status */
128 {
129 struct dict_avp_data data = {
130 4406, /* Code */
131 10415, /* Vendor */
132 "3GPP-PS-Data-Off-Status", /* Name */
133 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
134 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
135 AVP_TYPE_INTEGER32 /* base type of data */
136 };
137 struct dict_object *type;
138 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(3GPP-PS-Data-Off-Status)", NULL, NULL, NULL };
139 struct dict_enumval_data t_1 = { "Active", { .i32=0 }};
140 struct dict_enumval_data t_2 = { "Inactive", { .i32=1 }};
141 /* Create the Enumerated type, and then the AVP */
142 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
143 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
144 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
145 CHECK_dict_new( DICT_AVP, &data, type, NULL);
146 };
147 /* Access-Network-Information */
148 {
149 struct dict_avp_data data = {
150 1263, /* Code */
151 10415, /* Vendor */
152 "Access-Network-Information", /* Name */
153 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
154 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
155 AVP_TYPE_OCTETSTRING /* base type of data */
156 };
157 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
158 };
159 /* Access-Transfer-Type */
160 {
161 struct dict_avp_data data = {
162 2710, /* Code */
163 10415, /* Vendor */
164 "Access-Transfer-Type", /* Name */
165 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
166 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
167 AVP_TYPE_INTEGER32 /* base type of data */
168 };
169 struct dict_object *type;
170 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Access-Transfer-Type)", NULL, NULL, NULL };
171 struct dict_enumval_data t_1 = { "PS_to_CS_Transfer", { .i32=0 }};
172 struct dict_enumval_data t_2 = { "CS_to_PS_Transfer", { .i32=1 }};
173 struct dict_enumval_data t_3 = { "PS_to_PS_Transfer", { .i32=2 }};
174 struct dict_enumval_data t_4 = { "CS_to_CS_Transfer", { .i32=3 }};
175 /* Create the Enumerated type, and then the AVP */
176 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
177 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
178 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
179 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
180 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
181 CHECK_dict_new( DICT_AVP, &data, type, NULL);
182 };
183 /* Account-Expiration */
184 {
185 struct dict_avp_data data = {
186 2309, /* Code */
187 10415, /* Vendor */
188 "Account-Expiration", /* Name */
189 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
190 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
191 AVP_TYPE_OCTETSTRING /* base type of data */
192 };
193 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
194 };
195 /* Adaptations */
196 {
197 struct dict_avp_data data = {
198 1217, /* Code */
199 10415, /* Vendor */
200 "Adaptations", /* Name */
201 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
202 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
203 AVP_TYPE_INTEGER32 /* base type of data */
204 };
205 struct dict_object *type;
206 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Adaptations)", NULL, NULL, NULL };
207 struct dict_enumval_data t_1 = { "Yes", { .i32=0 }};
208 struct dict_enumval_data t_2 = { "No", { .i32=1 }};
209 /* Create the Enumerated type, and then the AVP */
210 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
211 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
212 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
213 CHECK_dict_new( DICT_AVP, &data, type, NULL);
214 };
215 /* Additional-Exception-Reports */
216 {
217 struct dict_avp_data data = {
218 3936, /* Code */
219 10415, /* Vendor */
220 "Additional-Exception-Reports", /* Name */
221 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
222 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
223 AVP_TYPE_INTEGER32 /* base type of data */
224 };
225 struct dict_object *type;
226 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Additional-Exception-Reports)", NULL, NULL, NULL };
227 struct dict_enumval_data t_1 = { "Not_allowed", { .i32=0 }};
228 struct dict_enumval_data t_2 = { "Allowed", { .i32=1 }};
229 /* Create the Enumerated type, and then the AVP */
230 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
231 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
232 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
233 CHECK_dict_new( DICT_AVP, &data, type, NULL);
234 };
235 /* Additional-Type-Information */
236 {
237 struct dict_avp_data data = {
238 1205, /* Code */
239 10415, /* Vendor */
240 "Additional-Type-Information", /* Name */
241 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
242 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
243 AVP_TYPE_OCTETSTRING /* base type of data */
244 };
245 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
246 };
247 /* Address-Data */
248 {
249 struct dict_avp_data data = {
250 897, /* Code */
251 10415, /* Vendor */
252 "Address-Data", /* Name */
253 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
254 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
255 AVP_TYPE_OCTETSTRING /* base type of data */
256 };
257 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
258 };
259 /* Addressee-Type */
260 {
261 struct dict_avp_data data = {
262 1208, /* Code */
263 10415, /* Vendor */
264 "Addressee-Type", /* Name */
265 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
266 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
267 AVP_TYPE_INTEGER32 /* base type of data */
268 };
269 struct dict_object *type;
270 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Addressee-Type)", NULL, NULL, NULL };
271 struct dict_enumval_data t_1 = { "TO", { .i32=0 }};
272 struct dict_enumval_data t_2 = { "CC", { .i32=1 }};
273 struct dict_enumval_data t_3 = { "BCC", { .i32=2 }};
274 /* Create the Enumerated type, and then the AVP */
275 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
276 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
277 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
278 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
279 CHECK_dict_new( DICT_AVP, &data, type, NULL);
280 };
281 /* Address-Type */
282 {
283 struct dict_avp_data data = {
284 899, /* Code */
285 10415, /* Vendor */
286 "Address-Type", /* Name */
287 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
288 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
289 AVP_TYPE_INTEGER32 /* base type of data */
290 };
291 struct dict_object *type;
292 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Address-Type)", NULL, NULL, NULL };
293 struct dict_enumval_data t_1 = { "e_mail_address", { .i32=0 }};
294 struct dict_enumval_data t_2 = { "MSISDN", { .i32=1 }};
295 struct dict_enumval_data t_3 = { "IPv4_Address", { .i32=2 }};
296 struct dict_enumval_data t_4 = { "IPv6_Address", { .i32=3 }};
297 struct dict_enumval_data t_5 = { "Numeric_Shortcode", { .i32=4 }};
298 struct dict_enumval_data t_6 = { "Alphanumeric_Shortcode", { .i32=5 }};
299 struct dict_enumval_data t_7 = { "Other", { .i32=6 }};
300 struct dict_enumval_data t_8 = { "IMSI", { .i32=7 }};
301 /* Create the Enumerated type, and then the AVP */
302 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
303 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
304 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
305 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
306 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
307 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
308 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
309 CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL);
310 CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL);
311 CHECK_dict_new( DICT_AVP, &data, type, NULL);
312 };
313 /* Alternate-Charged-Party-Address */
314 {
315 struct dict_avp_data data = {
316 1280, /* Code */
317 10415, /* Vendor */
318 "Alternate-Charged-Party-Address", /* Name */
319 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
320 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
321 AVP_TYPE_OCTETSTRING /* base type of data */
322 };
323 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
324 };
325 /* Announcement-Identifier */
326 {
327 struct dict_avp_data data = {
328 3905, /* Code */
329 10415, /* Vendor */
330 "Announcement-Identifier", /* Name */
331 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
332 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
333 AVP_TYPE_UNSIGNED32 /* base type of data */
334 };
335 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
336 };
337 /* Announcement-Order */
338 {
339 struct dict_avp_data data = {
340 3906, /* Code */
341 10415, /* Vendor */
342 "Announcement-Order", /* Name */
343 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
344 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
345 AVP_TYPE_UNSIGNED32 /* base type of data */
346 };
347 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
348 };
349 /* Announcing-UE-HPLMN-Identifier */
350 {
351 struct dict_avp_data data = {
352 3426, /* Code */
353 10415, /* Vendor */
354 "Announcing-UE-HPLMN-Identifier", /* Name */
355 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
356 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
357 AVP_TYPE_OCTETSTRING /* base type of data */
358 };
359 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
360 };
361 /* Announcing-UE-VPLMN-Identifier */
362 {
363 struct dict_avp_data data = {
364 3427, /* Code */
365 10415, /* Vendor */
366 "Announcing-UE-VPLMN-Identifier", /* Name */
367 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
368 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
369 AVP_TYPE_OCTETSTRING /* base type of data */
370 };
371 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
372 };
373 /* AoC-Format */
374 {
375 struct dict_avp_data data = {
376 2310, /* Code */
377 10415, /* Vendor */
378 "AoC-Format", /* Name */
379 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
380 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
381 AVP_TYPE_INTEGER32 /* base type of data */
382 };
383 struct dict_object *type;
384 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(AoC-Format)", NULL, NULL, NULL };
385 struct dict_enumval_data t_1 = { "MONETARY", { .i32=0 }};
386 struct dict_enumval_data t_2 = { "NON_MONETARY", { .i32=1 }};
387 struct dict_enumval_data t_3 = { "CAI", { .i32=2 }};
388 /* Create the Enumerated type, and then the AVP */
389 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
390 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
391 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
392 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
393 CHECK_dict_new( DICT_AVP, &data, type, NULL);
394 };
395 /* AoC-Request-Type */
396 {
397 struct dict_avp_data data = {
398 2055, /* Code */
399 10415, /* Vendor */
400 "AoC-Request-Type", /* Name */
401 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
402 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
403 AVP_TYPE_INTEGER32 /* base type of data */
404 };
405 struct dict_object *type;
406 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(AoC-Request-Type)", NULL, NULL, NULL };
407 struct dict_enumval_data t_1 = { "AoC_NOT_REQUESTED", { .i32=0 }};
408 struct dict_enumval_data t_2 = { "AoC_FULL", { .i32=1 }};
409 struct dict_enumval_data t_3 = { "AoC_COST_ONLY", { .i32=2 }};
410 struct dict_enumval_data t_4 = { "AoC_TARIFF_ONLY", { .i32=3 }};
411 /* Create the Enumerated type, and then the AVP */
412 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
413 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
414 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
415 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
416 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
417 CHECK_dict_new( DICT_AVP, &data, type, NULL);
418 };
419 /* AoC-Service-Obligatory-Type */
420 {
421 struct dict_avp_data data = {
422 2312, /* Code */
423 10415, /* Vendor */
424 "AoC-Service-Obligatory-Type", /* Name */
425 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
426 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
427 AVP_TYPE_INTEGER32 /* base type of data */
428 };
429 struct dict_object *type;
430 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(AoC-Service-Obligatory-Type)", NULL, NULL, NULL };
431 struct dict_enumval_data t_1 = { "NON_BINDING", { .i32=0 }};
432 struct dict_enumval_data t_2 = { "BINDING", { .i32=1 }};
433 /* Create the Enumerated type, and then the AVP */
434 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
435 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
436 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
437 CHECK_dict_new( DICT_AVP, &data, type, NULL);
438 };
439 /* AoC-Service-Type */
440 {
441 struct dict_avp_data data = {
442 2313, /* Code */
443 10415, /* Vendor */
444 "AoC-Service-Type", /* Name */
445 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
446 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
447 AVP_TYPE_INTEGER32 /* base type of data */
448 };
449 struct dict_object *type;
450 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(AoC-Service-Type)", NULL, NULL, NULL };
451 struct dict_enumval_data t_1 = { "NONE", { .i32=0 }};
452 struct dict_enumval_data t_2 = { "AOC-S", { .i32=1 }};
453 struct dict_enumval_data t_3 = { "AOC-D", { .i32=2 }};
454 struct dict_enumval_data t_4 = { "AOC-E", { .i32=3 }};
455 /* Create the Enumerated type, and then the AVP */
456 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
457 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
458 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
459 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
460 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
461 CHECK_dict_new( DICT_AVP, &data, type, NULL);
462 };
463 /* Applic-ID */
464 {
465 struct dict_avp_data data = {
466 1218, /* Code */
467 10415, /* Vendor */
468 "Applic-ID", /* Name */
469 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
470 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
471 AVP_TYPE_OCTETSTRING /* base type of data */
472 };
473 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
474 };
475 /* Application-Provided-Called-Party-Address */
476 {
477 struct dict_avp_data data = {
478 837, /* Code */
479 10415, /* Vendor */
480 "Application-Provided-Called-Party-Address", /* Name */
481 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
482 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
483 AVP_TYPE_OCTETSTRING /* base type of data */
484 };
485 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
486 };
487 /* Application-Server */
488 {
489 struct dict_avp_data data = {
490 836, /* Code */
491 10415, /* Vendor */
492 "Application-Server", /* Name */
493 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
494 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
495 AVP_TYPE_OCTETSTRING /* base type of data */
496 };
497 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
498 };
499 /* Application-Specific-Data */
500 {
501 struct dict_avp_data data = {
502 3458, /* Code */
503 10415, /* Vendor */
504 "Application-Specific-Data", /* Name */
505 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
506 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
507 AVP_TYPE_OCTETSTRING /* base type of data */
508 };
509 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
510 };
511 /* Associated-Party-Address */
512 {
513 struct dict_avp_data data = {
514 2035, /* Code */
515 10415, /* Vendor */
516 "Associated-Party-Address", /* Name */
517 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
518 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
519 AVP_TYPE_OCTETSTRING /* base type of data */
520 };
521 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
522 };
523 /* Associated-URI */
524 {
525 struct dict_avp_data data = {
526 856, /* Code */
527 10415, /* Vendor */
528 "Associated-URI", /* Name */
529 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
530 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
531 AVP_TYPE_OCTETSTRING /* base type of data */
532 };
533 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
534 };
535 /* Authorised-QoS */
536 {
537 struct dict_avp_data data = {
538 849, /* Code */
539 10415, /* Vendor */
540 "Authorised-QoS", /* Name */
541 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
542 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
543 AVP_TYPE_OCTETSTRING /* base type of data */
544 };
545 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
546 };
547 /* Aux-Applic-Info */
548 {
549 struct dict_avp_data data = {
550 1219, /* Code */
551 10415, /* Vendor */
552 "Aux-Applic-Info", /* Name */
553 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
554 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
555 AVP_TYPE_OCTETSTRING /* base type of data */
556 };
557 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
558 };
559 /* Base-Time-Interval */
560 {
561 struct dict_avp_data data = {
562 1265, /* Code */
563 10415, /* Vendor */
564 "Base-Time-Interval", /* Name */
565 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
566 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
567 AVP_TYPE_UNSIGNED32 /* base type of data */
568 };
569 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
570 };
571 /* Bearer-Capability */
572 {
573 struct dict_avp_data data = {
574 3412, /* Code */
575 10415, /* Vendor */
576 "Bearer-Capability", /* Name */
577 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
578 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
579 AVP_TYPE_OCTETSTRING /* base type of data */
580 };
581 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
582 };
583 /* Bearer-Service */
584 {
585 struct dict_avp_data data = {
586 854, /* Code */
587 10415, /* Vendor */
588 "Bearer-Service", /* Name */
589 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
590 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
591 AVP_TYPE_OCTETSTRING /* base type of data */
592 };
593 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
594 };
595 /* BSSID */
596 {
597 struct dict_avp_data data = {
598 2716, /* Code */
599 10415, /* Vendor */
600 "BSSID", /* Name */
601 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
602 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
603 AVP_TYPE_OCTETSTRING /* base type of data */
604 };
605 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
606 };
607 /* Called-Asserted-Identity */
608 {
609 struct dict_avp_data data = {
610 1250, /* Code */
611 10415, /* Vendor */
612 "Called-Asserted-Identity", /* Name */
613 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
614 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
615 AVP_TYPE_OCTETSTRING /* base type of data */
616 };
617 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
618 };
619 /* Called-Identity */
620 {
621 struct dict_avp_data data = {
622 3916, /* Code */
623 10415, /* Vendor */
624 "Called-Identity", /* Name */
625 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
626 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
627 AVP_TYPE_OCTETSTRING /* base type of data */
628 };
629 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
630 };
631 /* Called-Party-Address */
632 {
633 struct dict_avp_data data = {
634 832, /* Code */
635 10415, /* Vendor */
636 "Called-Party-Address", /* Name */
637 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
638 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
639 AVP_TYPE_OCTETSTRING /* base type of data */
640 };
641 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
642 };
643 /* Calling-Party-Address */
644 {
645 struct dict_avp_data data = {
646 831, /* Code */
647 10415, /* Vendor */
648 "Calling-Party-Address", /* Name */
649 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
650 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
651 AVP_TYPE_OCTETSTRING /* base type of data */
652 };
653 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
654 };
655 /* Carrier-Select-Routing-Information */
656 {
657 struct dict_avp_data data = {
658 2023, /* Code */
659 10415, /* Vendor */
660 "Carrier-Select-Routing-Information", /* Name */
661 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
662 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
663 AVP_TYPE_OCTETSTRING /* base type of data */
664 };
665 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
666 };
667 /* Cause-Code */
668 {
669 struct dict_avp_data data = {
670 861, /* Code */
671 10415, /* Vendor */
672 "Cause-Code", /* Name */
673 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
674 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
675 AVP_TYPE_INTEGER32 /* base type of data */
676 };
677 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
678 };
679 /* Cellular-Network-Information */
680 {
681 struct dict_avp_data data = {
682 3924, /* Code */
683 10415, /* Vendor */
684 "Cellular-Network-Information", /* Name */
685 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
686 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
687 AVP_TYPE_OCTETSTRING /* base type of data */
688 };
689 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
690 };
691 /* CG-Address */
692 {
693 struct dict_avp_data data = {
694 846, /* Code */
695 10415, /* Vendor */
696 "CG-Address", /* Name */
697 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
698 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
699 AVP_TYPE_OCTETSTRING /* base type of data */
700 };
701 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
702 };
703 /* Change-Condition */
704 {
705 struct dict_avp_data data = {
706 2037, /* Code */
707 10415, /* Vendor */
708 "Change-Condition", /* Name */
709 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
710 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
711 AVP_TYPE_INTEGER32 /* base type of data */
712 };
713 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
714 };
715 /* Change-Time */
716 {
717 struct dict_avp_data data = {
718 2038, /* Code */
719 10415, /* Vendor */
720 "Change-Time", /* Name */
721 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
722 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
723 AVP_TYPE_OCTETSTRING /* base type of data */
724 };
725 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
726 };
727 /* Charge-Reason-Code */
728 {
729 struct dict_avp_data data = {
730 2118, /* Code */
731 10415, /* Vendor */
732 "Charge-Reason-Code", /* Name */
733 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
734 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
735 AVP_TYPE_INTEGER32 /* base type of data */
736 };
737 struct dict_object *type;
738 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Charge-Reason-Code)", NULL, NULL, NULL };
739 struct dict_enumval_data t_1 = { "UNKNOWN", { .i32=0 }};
740 struct dict_enumval_data t_2 = { "USAGE", { .i32=1 }};
741 struct dict_enumval_data t_3 = { "COMMUNICATION_ATTEMPT_CHARGE", { .i32=2 }};
742 struct dict_enumval_data t_4 = { "SETUP_CHARGE", { .i32=3 }};
743 struct dict_enumval_data t_5 = { "ADD_ON_CHARGE", { .i32=4 }};
744 /* Create the Enumerated type, and then the AVP */
745 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
746 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
747 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
748 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
749 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
750 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
751 CHECK_dict_new( DICT_AVP, &data, type, NULL);
752 };
753 /* Charged-Party */
754 {
755 struct dict_avp_data data = {
756 857, /* Code */
757 10415, /* Vendor */
758 "Charged-Party", /* Name */
759 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
760 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
761 AVP_TYPE_OCTETSTRING /* base type of data */
762 };
763 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
764 };
765 /* Charging-Characteristics-Selection-Mode */
766 {
767 struct dict_avp_data data = {
768 2066, /* Code */
769 10415, /* Vendor */
770 "Charging-Characteristics-Selection-Mode", /* Name */
771 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
772 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
773 AVP_TYPE_INTEGER32 /* base type of data */
774 };
775 struct dict_object *type;
776 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Charging-Characteristics-Selection-Mode)", NULL, NULL, NULL };
777 struct dict_enumval_data t_1 = { "Serving_Node_Supplied", { .i32=0 }};
778 struct dict_enumval_data t_2 = { "Subscription_specific", { .i32=1 }};
779 struct dict_enumval_data t_3 = { "APN_specific", { .i32=2 }};
780 struct dict_enumval_data t_4 = { "Home_Default", { .i32=3 }};
781 struct dict_enumval_data t_5 = { "Roaming_Default", { .i32=4 }};
782 struct dict_enumval_data t_6 = { "Visiting_Default", { .i32=5 }};
783 /* Create the Enumerated type, and then the AVP */
784 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
785 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
786 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
787 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
788 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
789 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
790 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
791 CHECK_dict_new( DICT_AVP, &data, type, NULL);
792 };
793 /* Charging-Per-IP-CAN-Session-Indicator */
794 {
795 struct dict_avp_data data = {
796 4400, /* Code */
797 10415, /* Vendor */
798 "Charging-Per-IP-CAN-Session-Indicator", /* Name */
799 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
800 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
801 AVP_TYPE_INTEGER32 /* base type of data */
802 };
803 struct dict_object *type;
804 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Charging-Per-IP-CAN-Session-Indicator)", NULL, NULL, NULL };
805 struct dict_enumval_data t_1 = { "Inactive", { .i32=0 }};
806 struct dict_enumval_data t_2 = { "Active", { .i32=1 }};
807 /* Create the Enumerated type, and then the AVP */
808 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
809 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
810 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
811 CHECK_dict_new( DICT_AVP, &data, type, NULL);
812 };
813 /* Class-Identifier */
814 {
815 struct dict_avp_data data = {
816 1214, /* Code */
817 10415, /* Vendor */
818 "Class-Identifier", /* Name */
819 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
820 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
821 AVP_TYPE_INTEGER32 /* base type of data */
822 };
823 struct dict_object *type;
824 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Class-Identifier)", NULL, NULL, NULL };
825 struct dict_enumval_data t_1 = { "Personal", { .i32=0 }};
826 struct dict_enumval_data t_2 = { "Advertisement", { .i32=1 }};
827 struct dict_enumval_data t_3 = { "Informational", { .i32=2 }};
828 struct dict_enumval_data t_4 = { "Auto", { .i32=3 }};
829 /* Create the Enumerated type, and then the AVP */
830 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
831 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
832 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
833 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
834 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
835 CHECK_dict_new( DICT_AVP, &data, type, NULL);
836 };
837 /* Client-Address */
838 {
839 struct dict_avp_data data = {
840 2018, /* Code */
841 10415, /* Vendor */
842 "Client-Address", /* Name */
843 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
844 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
845 AVP_TYPE_OCTETSTRING /* base type of data */
846 };
847 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
848 };
849 /* CN-Operator-Selection-Entity */
850 {
851 struct dict_avp_data data = {
852 3421, /* Code */
853 10415, /* Vendor */
854 "CN-Operator-Selection-Entity", /* Name */
855 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
856 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
857 AVP_TYPE_INTEGER32 /* base type of data */
858 };
859 struct dict_object *type;
860 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(CN-Operator-Selection-Entity)", NULL, NULL, NULL };
861 struct dict_enumval_data t_1 = { "The_Serving_Network_has_been_selected_by_the_UE", { .i32=0 }};
862 struct dict_enumval_data t_2 = { "The_Serving_Network_has_been_selected_by_the_network", { .i32=1 }};
863 /* Create the Enumerated type, and then the AVP */
864 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
865 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
866 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
867 CHECK_dict_new( DICT_AVP, &data, type, NULL);
868 };
869 /* Content-Class */
870 {
871 struct dict_avp_data data = {
872 1220, /* Code */
873 10415, /* Vendor */
874 "Content-Class", /* Name */
875 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
876 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
877 AVP_TYPE_INTEGER32 /* base type of data */
878 };
879 struct dict_object *type;
880 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Content-Class)", NULL, NULL, NULL };
881 struct dict_enumval_data t_1 = { "text", { .i32=0 }};
882 struct dict_enumval_data t_2 = { "image_basic", { .i32=1 }};
883 struct dict_enumval_data t_3 = { "image_rich", { .i32=2 }};
884 struct dict_enumval_data t_4 = { "video_basic", { .i32=3 }};
885 struct dict_enumval_data t_5 = { "video_rich", { .i32=4 }};
886 struct dict_enumval_data t_6 = { "megapixel", { .i32=5 }};
887 struct dict_enumval_data t_7 = { "content_basic", { .i32=6 }};
888 struct dict_enumval_data t_8 = { "content_rich", { .i32=7 }};
889 /* Create the Enumerated type, and then the AVP */
890 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
891 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
892 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
893 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
894 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
895 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
896 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
897 CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL);
898 CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL);
899 CHECK_dict_new( DICT_AVP, &data, type, NULL);
900 };
901 /* Content-Disposition */
902 {
903 struct dict_avp_data data = {
904 828, /* Code */
905 10415, /* Vendor */
906 "Content-Disposition", /* Name */
907 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
908 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
909 AVP_TYPE_OCTETSTRING /* base type of data */
910 };
911 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
912 };
913 /* Content-Length */
914 {
915 struct dict_avp_data data = {
916 827, /* Code */
917 10415, /* Vendor */
918 "Content-Length", /* Name */
919 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
920 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
921 AVP_TYPE_UNSIGNED32 /* base type of data */
922 };
923 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
924 };
925 /* Content-Size */
926 {
927 struct dict_avp_data data = {
928 1206, /* Code */
929 10415, /* Vendor */
930 "Content-Size", /* Name */
931 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
932 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
933 AVP_TYPE_UNSIGNED32 /* base type of data */
934 };
935 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
936 };
937 /* Content-Type */
938 {
939 struct dict_avp_data data = {
940 826, /* Code */
941 10415, /* Vendor */
942 "Content-Type", /* Name */
943 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
944 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
945 AVP_TYPE_OCTETSTRING /* base type of data */
946 };
947 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
948 };
949 /* Coverage-Status */
950 {
951 struct dict_avp_data data = {
952 3428, /* Code */
953 10415, /* Vendor */
954 "Coverage-Status", /* Name */
955 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
956 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
957 AVP_TYPE_INTEGER32 /* base type of data */
958 };
959 struct dict_object *type;
960 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Coverage-Status)", NULL, NULL, NULL };
961 struct dict_enumval_data t_1 = { "Out_of_coverage", { .i32=0 }};
962 struct dict_enumval_data t_2 = { "In_coverage", { .i32=1 }};
963 /* Create the Enumerated type, and then the AVP */
964 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
965 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
966 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
967 CHECK_dict_new( DICT_AVP, &data, type, NULL);
968 };
969 /* CP-CIoT-EPS-Optimisation-Indicator */
970 {
971 struct dict_avp_data data = {
972 3930, /* Code */
973 10415, /* Vendor */
974 "CP-CIoT-EPS-Optimisation-Indicator", /* Name */
975 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
976 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
977 AVP_TYPE_INTEGER32 /* base type of data */
978 };
979 struct dict_object *type;
980 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(CP-CIoT-EPS-Optimisation-Indicator)", NULL, NULL, NULL };
981 struct dict_enumval_data t_1 = { "Not_Apply", { .i32=0 }};
982 struct dict_enumval_data t_2 = { "Apply", { .i32=1 }};
983 /* Create the Enumerated type, and then the AVP */
984 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
985 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
986 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
987 CHECK_dict_new( DICT_AVP, &data, type, NULL);
988 };
989 /* CSG-Access-Mode */
990 {
991 struct dict_avp_data data = {
992 2317, /* Code */
993 10415, /* Vendor */
994 "CSG-Access-Mode", /* Name */
995 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
996 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
997 AVP_TYPE_INTEGER32 /* base type of data */
998 };
999 struct dict_object *type;
1000 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(CSG-Access-Mode)", NULL, NULL, NULL };
1001 struct dict_enumval_data t_1 = { "Closed_mode", { .i32=0 }};
1002 struct dict_enumval_data t_2 = { "Hybrid_Mode", { .i32=1 }};
1003 /* Create the Enumerated type, and then the AVP */
1004 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1005 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1006 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1007 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1008 };
1009 /* CSG-Membership-Indication */
1010 {
1011 struct dict_avp_data data = {
1012 2318, /* Code */
1013 10415, /* Vendor */
1014 "CSG-Membership-Indication", /* Name */
1015 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1016 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1017 AVP_TYPE_INTEGER32 /* base type of data */
1018 };
1019 struct dict_object *type;
1020 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(CSG-Membership-Indication)", NULL, NULL, NULL };
1021 struct dict_enumval_data t_1 = { "Not_CSG_member", { .i32=0 }};
1022 struct dict_enumval_data t_2 = { "CSG_Member", { .i32=1 }};
1023 /* Create the Enumerated type, and then the AVP */
1024 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1025 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1026 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1027 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1028 };
1029 /* CUG-Information */
1030 {
1031 struct dict_avp_data data = {
1032 2304, /* Code */
1033 10415, /* Vendor */
1034 "CUG-Information", /* Name */
1035 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1036 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1037 AVP_TYPE_OCTETSTRING /* base type of data */
1038 };
1039 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1040 };
1041 /* Data-Coding-Scheme */
1042 {
1043 struct dict_avp_data data = {
1044 2001, /* Code */
1045 10415, /* Vendor */
1046 "Data-Coding-Scheme", /* Name */
1047 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1048 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1049 AVP_TYPE_INTEGER32 /* base type of data */
1050 };
1051 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1052 };
1053 /* Deferred-Location-Event-Type */
1054 {
1055 struct dict_avp_data data = {
1056 1230, /* Code */
1057 10415, /* Vendor */
1058 "Deferred-Location-Event-Type", /* Name */
1059 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1060 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1061 AVP_TYPE_OCTETSTRING /* base type of data */
1062 };
1063 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1064 };
1065 /* Delivery-Report-Requested */
1066 {
1067 struct dict_avp_data data = {
1068 1216, /* Code */
1069 10415, /* Vendor */
1070 "Delivery-Report-Requested", /* Name */
1071 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1072 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1073 AVP_TYPE_INTEGER32 /* base type of data */
1074 };
1075 struct dict_object *type;
1076 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Delivery-Report-Requested)", NULL, NULL, NULL };
1077 struct dict_enumval_data t_1 = { "No", { .i32=0 }};
1078 struct dict_enumval_data t_2 = { "Yes", { .i32=1 }};
1079 /* Create the Enumerated type, and then the AVP */
1080 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1081 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1082 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1083 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1084 };
1085 /* Diagnostics */
1086 {
1087 struct dict_avp_data data = {
1088 2039, /* Code */
1089 10415, /* Vendor */
1090 "Diagnostics", /* Name */
1091 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1092 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1093 AVP_TYPE_INTEGER32 /* base type of data */
1094 };
1095 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1096 };
1097 /* Discoveree-UE-HPLMN-Identifier */
1098 {
1099 struct dict_avp_data data = {
1100 4402, /* Code */
1101 10415, /* Vendor */
1102 "Discoveree-UE-HPLMN-Identifier", /* Name */
1103 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1104 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1105 AVP_TYPE_OCTETSTRING /* base type of data */
1106 };
1107 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1108 };
1109 /* Discoveree-UE-VPLMN-Identifier */
1110 {
1111 struct dict_avp_data data = {
1112 4403, /* Code */
1113 10415, /* Vendor */
1114 "Discoveree-UE-VPLMN-Identifier", /* Name */
1115 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1116 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1117 AVP_TYPE_OCTETSTRING /* base type of data */
1118 };
1119 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1120 };
1121 /* Discoverer-UE-HPLMN-Identifier */
1122 {
1123 struct dict_avp_data data = {
1124 4404, /* Code */
1125 10415, /* Vendor */
1126 "Discoverer-UE-HPLMN-Identifier", /* Name */
1127 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1128 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1129 AVP_TYPE_OCTETSTRING /* base type of data */
1130 };
1131 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1132 };
1133 /* Discoverer-UE-VPLMN-Identifier */
1134 {
1135 struct dict_avp_data data = {
1136 4405, /* Code */
1137 10415, /* Vendor */
1138 "Discoverer-UE-VPLMN-Identifier", /* Name */
1139 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1140 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1141 AVP_TYPE_OCTETSTRING /* base type of data */
1142 };
1143 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1144 };
1145 /* Domain-Name */
1146 {
1147 struct dict_avp_data data = {
1148 1200, /* Code */
1149 10415, /* Vendor */
1150 "Domain-Name", /* Name */
1151 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1152 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1153 AVP_TYPE_OCTETSTRING /* base type of data */
1154 };
1155 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1156 };
1157 /* DRM-Content */
1158 {
1159 struct dict_avp_data data = {
1160 1221, /* Code */
1161 10415, /* Vendor */
1162 "DRM-Content", /* Name */
1163 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1164 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1165 AVP_TYPE_INTEGER32 /* base type of data */
1166 };
1167 struct dict_object *type;
1168 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(DRM-Content)", NULL, NULL, NULL };
1169 struct dict_enumval_data t_1 = { "No", { .i32=0 }};
1170 struct dict_enumval_data t_2 = { "Yes", { .i32=1 }};
1171 /* Create the Enumerated type, and then the AVP */
1172 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1173 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1174 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1175 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1176 };
1177 /* Dynamic-Address-Flag */
1178 {
1179 struct dict_avp_data data = {
1180 2051, /* Code */
1181 10415, /* Vendor */
1182 "Dynamic-Address-Flag", /* Name */
1183 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1184 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1185 AVP_TYPE_INTEGER32 /* base type of data */
1186 };
1187 struct dict_object *type;
1188 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Dynamic-Address-Flag)", NULL, NULL, NULL };
1189 struct dict_enumval_data t_1 = { "Static", { .i32=0 }};
1190 struct dict_enumval_data t_2 = { "Dynamic", { .i32=1 }};
1191 /* Create the Enumerated type, and then the AVP */
1192 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1193 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1194 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1195 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1196 };
1197 /* Dynamic-Address-Flag-Extension */
1198 {
1199 struct dict_avp_data data = {
1200 2068, /* Code */
1201 10415, /* Vendor */
1202 "Dynamic-Address-Flag-Extension", /* Name */
1203 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1204 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1205 AVP_TYPE_INTEGER32 /* base type of data */
1206 };
1207 struct dict_object *type;
1208 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Dynamic-Address-Flag-Extension)", NULL, NULL, NULL };
1209 struct dict_enumval_data t_1 = { "Static", { .i32=0 }};
1210 struct dict_enumval_data t_2 = { "Dynamic", { .i32=1 }};
1211 /* Create the Enumerated type, and then the AVP */
1212 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1213 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1214 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1215 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1216 };
1217 /* Envelope-End-Time */
1218 {
1219 struct dict_avp_data data = {
1220 1267, /* Code */
1221 10415, /* Vendor */
1222 "Envelope-End-Time", /* Name */
1223 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1224 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1225 AVP_TYPE_OCTETSTRING /* base type of data */
1226 };
1227 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
1228 };
1229 /* Envelope-Reporting */
1230 {
1231 struct dict_avp_data data = {
1232 1268, /* Code */
1233 10415, /* Vendor */
1234 "Envelope-Reporting", /* Name */
1235 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1236 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1237 AVP_TYPE_INTEGER32 /* base type of data */
1238 };
1239 struct dict_object *type;
1240 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Envelope-Reporting)", NULL, NULL, NULL };
1241 struct dict_enumval_data t_1 = { "DO_NOT_REPORT_ENVELOPES", { .i32=0 }};
1242 struct dict_enumval_data t_2 = { "REPORT_ENVELOPES", { .i32=1 }};
1243 struct dict_enumval_data t_3 = { "REPORT_ENVELOPES_WITH_VOLUME", { .i32=2 }};
1244 struct dict_enumval_data t_4 = { "REPORT_ENVELOPES_WITH_EVENTS", { .i32=3 }};
1245 struct dict_enumval_data t_5 = { "REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS", { .i32=4 }};
1246 /* Create the Enumerated type, and then the AVP */
1247 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1248 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1249 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1250 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
1251 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
1252 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
1253 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1254 };
1255 /* Envelope-Start-Time */
1256 {
1257 struct dict_avp_data data = {
1258 1269, /* Code */
1259 10415, /* Vendor */
1260 "Envelope-Start-Time", /* Name */
1261 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1262 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1263 AVP_TYPE_OCTETSTRING /* base type of data */
1264 };
1265 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
1266 };
1267 /* EPDG-Address */
1268 {
1269 struct dict_avp_data data = {
1270 3425, /* Code */
1271 10415, /* Vendor */
1272 "EPDG-Address", /* Name */
1273 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1274 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1275 AVP_TYPE_OCTETSTRING /* base type of data */
1276 };
1277 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
1278 };
1279 /* Event */
1280 {
1281 struct dict_avp_data data = {
1282 825, /* Code */
1283 10415, /* Vendor */
1284 "Event", /* Name */
1285 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1286 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1287 AVP_TYPE_OCTETSTRING /* base type of data */
1288 };
1289 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1290 };
1291 /* Event-Charging-TimeStamp */
1292 {
1293 struct dict_avp_data data = {
1294 1258, /* Code */
1295 10415, /* Vendor */
1296 "Event-Charging-TimeStamp", /* Name */
1297 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1298 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1299 AVP_TYPE_OCTETSTRING /* base type of data */
1300 };
1301 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
1302 };
1303 /* Expires */
1304 {
1305 struct dict_avp_data data = {
1306 888, /* Code */
1307 10415, /* Vendor */
1308 "Expires", /* Name */
1309 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1310 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1311 AVP_TYPE_UNSIGNED32 /* base type of data */
1312 };
1313 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1314 };
1315 /* File-Repair-Supported */
1316 {
1317 struct dict_avp_data data = {
1318 1224, /* Code */
1319 10415, /* Vendor */
1320 "File-Repair-Supported", /* Name */
1321 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1322 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1323 AVP_TYPE_INTEGER32 /* base type of data */
1324 };
1325 struct dict_object *type;
1326 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(File-Repair-Supported)", NULL, NULL, NULL };
1327 struct dict_enumval_data t_1 = { "SUPPORTED", { .i32=1 }};
1328 struct dict_enumval_data t_2 = { "NOT_SUPPORTED", { .i32=2 }};
1329 /* Create the Enumerated type, and then the AVP */
1330 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1331 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1332 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1333 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1334 };
1335 /* Forwarding-Pending */
1336 {
1337 struct dict_avp_data data = {
1338 3415, /* Code */
1339 10415, /* Vendor */
1340 "Forwarding-Pending", /* Name */
1341 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1342 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1343 AVP_TYPE_INTEGER32 /* base type of data */
1344 };
1345 struct dict_object *type;
1346 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Forwarding-Pending)", NULL, NULL, NULL };
1347 struct dict_enumval_data t_1 = { "Forwarding_not_pending", { .i32=0 }};
1348 struct dict_enumval_data t_2 = { "Forwarding_pending", { .i32=1 }};
1349 /* Create the Enumerated type, and then the AVP */
1350 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1351 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1352 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1353 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1354 };
1355 /* From-Address */
1356 {
1357 struct dict_avp_data data = {
1358 2708, /* Code */
1359 10415, /* Vendor */
1360 "From-Address", /* Name */
1361 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1362 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1363 AVP_TYPE_OCTETSTRING /* base type of data */
1364 };
1365 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1366 };
1367 /* GGSN-Address */
1368 {
1369 struct dict_avp_data data = {
1370 847, /* Code */
1371 10415, /* Vendor */
1372 "GGSN-Address", /* Name */
1373 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1374 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1375 AVP_TYPE_OCTETSTRING /* base type of data */
1376 };
1377 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
1378 };
1379 /* IMS-Application-Reference-Identifier */
1380 {
1381 struct dict_avp_data data = {
1382 2601, /* Code */
1383 10415, /* Vendor */
1384 "IMS-Application-Reference-Identifier", /* Name */
1385 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1386 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1387 AVP_TYPE_OCTETSTRING /* base type of data */
1388 };
1389 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1390 };
1391 /* IMS-Charging-Identifier */
1392 {
1393 struct dict_avp_data data = {
1394 841, /* Code */
1395 10415, /* Vendor */
1396 "IMS-Charging-Identifier", /* Name */
1397 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1398 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1399 AVP_TYPE_OCTETSTRING /* base type of data */
1400 };
1401 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1402 };
1403 /* IMS-Communication-Service-Identifier */
1404 {
1405 struct dict_avp_data data = {
1406 1281, /* Code */
1407 10415, /* Vendor */
1408 "IMS-Communication-Service-Identifier", /* Name */
1409 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1410 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1411 AVP_TYPE_OCTETSTRING /* base type of data */
1412 };
1413 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1414 };
1415 /* IMS-Emergency-Indicator */
1416 {
1417 struct dict_avp_data data = {
1418 2322, /* Code */
1419 10415, /* Vendor */
1420 "IMS-Emergency-Indicator", /* Name */
1421 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1422 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1423 AVP_TYPE_INTEGER32 /* base type of data */
1424 };
1425 struct dict_object *type;
1426 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(IMS-Emergency-Indicator)", NULL, NULL, NULL };
1427 struct dict_enumval_data t_1 = { "Non_Emergency", { .i32=0 }};
1428 struct dict_enumval_data t_2 = { "Emergency", { .i32=1 }};
1429 /* Create the Enumerated type, and then the AVP */
1430 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1431 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1432 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1433 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1434 };
1435 /* IMS-Visited-Network-Identifier */
1436 {
1437 struct dict_avp_data data = {
1438 2713, /* Code */
1439 10415, /* Vendor */
1440 "IMS-Visited-Network-Identifier", /* Name */
1441 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1442 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1443 AVP_TYPE_OCTETSTRING /* base type of data */
1444 };
1445 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1446 };
1447 /* IMSI-Unauthenticated-Flag */
1448 {
1449 struct dict_avp_data data = {
1450 2308, /* Code */
1451 10415, /* Vendor */
1452 "IMSI-Unauthenticated-Flag", /* Name */
1453 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1454 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1455 AVP_TYPE_INTEGER32 /* base type of data */
1456 };
1457 struct dict_object *type;
1458 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(IMSI-Unauthenticated-Flag)", NULL, NULL, NULL };
1459 struct dict_enumval_data t_1 = { "Authenticated", { .i32=0 }};
1460 struct dict_enumval_data t_2 = { "Unauthenticated", { .i32=1 }};
1461 /* Create the Enumerated type, and then the AVP */
1462 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1463 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1464 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1465 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1466 };
1467 /* Incoming-Trunk-Group-Id */
1468 {
1469 struct dict_avp_data data = {
1470 852, /* Code */
1471 10415, /* Vendor */
1472 "Incoming-Trunk-Group-Id", /* Name */
1473 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1474 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1475 AVP_TYPE_OCTETSTRING /* base type of data */
1476 };
1477 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1478 };
1479 /* Initial-IMS-Charging-Identifier */
1480 {
1481 struct dict_avp_data data = {
1482 2321, /* Code */
1483 10415, /* Vendor */
1484 "Initial-IMS-Charging-Identifier", /* Name */
1485 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1486 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1487 AVP_TYPE_OCTETSTRING /* base type of data */
1488 };
1489 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1490 };
1491 /* Instance-Id */
1492 {
1493 struct dict_avp_data data = {
1494 3402, /* Code */
1495 10415, /* Vendor */
1496 "Instance-Id", /* Name */
1497 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1498 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1499 AVP_TYPE_OCTETSTRING /* base type of data */
1500 };
1501 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1502 };
1503 /* Interface-Id */
1504 {
1505 struct dict_avp_data data = {
1506 2003, /* Code */
1507 10415, /* Vendor */
1508 "Interface-Id", /* Name */
1509 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1510 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1511 AVP_TYPE_OCTETSTRING /* base type of data */
1512 };
1513 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1514 };
1515 /* Interface-Port */
1516 {
1517 struct dict_avp_data data = {
1518 2004, /* Code */
1519 10415, /* Vendor */
1520 "Interface-Port", /* Name */
1521 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1522 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1523 AVP_TYPE_OCTETSTRING /* base type of data */
1524 };
1525 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1526 };
1527 /* Interface-Text */
1528 {
1529 struct dict_avp_data data = {
1530 2005, /* Code */
1531 10415, /* Vendor */
1532 "Interface-Text", /* Name */
1533 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1534 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1535 AVP_TYPE_OCTETSTRING /* base type of data */
1536 };
1537 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1538 };
1539 /* Interface-Type */
1540 {
1541 struct dict_avp_data data = {
1542 2006, /* Code */
1543 10415, /* Vendor */
1544 "Interface-Type", /* Name */
1545 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1546 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1547 AVP_TYPE_INTEGER32 /* base type of data */
1548 };
1549 struct dict_object *type;
1550 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Interface-Type)", NULL, NULL, NULL };
1551 struct dict_enumval_data t_1 = { "Unknown", { .i32=0 }};
1552 struct dict_enumval_data t_2 = { "MOBILE_ORIGINATING", { .i32=1 }};
1553 struct dict_enumval_data t_3 = { "MOBILE_TERMINATING", { .i32=2 }};
1554 struct dict_enumval_data t_4 = { "APPLICATION_ORIGINATING", { .i32=3 }};
1555 struct dict_enumval_data t_5 = { "APPLICATION_TERMINATION", { .i32=4 }};
1556 /* Create the Enumerated type, and then the AVP */
1557 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1558 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1559 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1560 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
1561 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
1562 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
1563 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1564 };
1565 /* Inter-UE-Transfer */
1566 {
1567 struct dict_avp_data data = {
1568 3902, /* Code */
1569 10415, /* Vendor */
1570 "Inter-UE-Transfer", /* Name */
1571 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1572 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1573 AVP_TYPE_INTEGER32 /* base type of data */
1574 };
1575 struct dict_object *type;
1576 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Inter-UE-Transfer)", NULL, NULL, NULL };
1577 struct dict_enumval_data t_1 = { "Intra_UE_transfer", { .i32=0 }};
1578 struct dict_enumval_data t_2 = { "Inter_UE_transfer", { .i32=1 }};
1579 /* Create the Enumerated type, and then the AVP */
1580 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1581 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1582 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1583 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1584 };
1585 /* IP-Realm-Default-Indication */
1586 {
1587 struct dict_avp_data data = {
1588 2603, /* Code */
1589 10415, /* Vendor */
1590 "IP-Realm-Default-Indication", /* Name */
1591 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1592 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1593 AVP_TYPE_INTEGER32 /* base type of data */
1594 };
1595 struct dict_object *type;
1596 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(IP-Realm-Default-Indication)", NULL, NULL, NULL };
1597 struct dict_enumval_data t_1 = { "Default_IP_Realm_Not_used", { .i32=0 }};
1598 struct dict_enumval_data t_2 = { "Default_IP_realm_used", { .i32=1 }};
1599 /* Create the Enumerated type, and then the AVP */
1600 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1601 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1602 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1603 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1604 };
1605 /* ISUP-Cause-Diagnostics */
1606 {
1607 struct dict_avp_data data = {
1608 3422, /* Code */
1609 10415, /* Vendor */
1610 "ISUP-Cause-Diagnostics", /* Name */
1611 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1612 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1613 AVP_TYPE_OCTETSTRING /* base type of data */
1614 };
1615 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1616 };
1617 /* ISUP-Cause-Location */
1618 {
1619 struct dict_avp_data data = {
1620 3423, /* Code */
1621 10415, /* Vendor */
1622 "ISUP-Cause-Location", /* Name */
1623 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1624 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1625 AVP_TYPE_UNSIGNED32 /* base type of data */
1626 };
1627 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1628 };
1629 /* ISUP-Cause-Value */
1630 {
1631 struct dict_avp_data data = {
1632 3424, /* Code */
1633 10415, /* Vendor */
1634 "ISUP-Cause-Value", /* Name */
1635 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1636 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1637 AVP_TYPE_UNSIGNED32 /* base type of data */
1638 };
1639 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1640 };
1641 /* ISUP-Location-Number */
1642 {
1643 struct dict_avp_data data = {
1644 3414, /* Code */
1645 10415, /* Vendor */
1646 "ISUP-Location-Number", /* Name */
1647 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1648 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1649 AVP_TYPE_OCTETSTRING /* base type of data */
1650 };
1651 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1652 };
1653 /* Language */
1654 {
1655 struct dict_avp_data data = {
1656 3914, /* Code */
1657 10415, /* Vendor */
1658 "Language", /* Name */
1659 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1660 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1661 AVP_TYPE_OCTETSTRING /* base type of data */
1662 };
1663 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1664 };
1665 /* Layer-2-Group-ID */
1666 {
1667 struct dict_avp_data data = {
1668 3429, /* Code */
1669 10415, /* Vendor */
1670 "Layer-2-Group-ID", /* Name */
1671 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1672 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1673 AVP_TYPE_OCTETSTRING /* base type of data */
1674 };
1675 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1676 };
1677 /* LCS-APN */
1678 {
1679 struct dict_avp_data data = {
1680 1231, /* Code */
1681 10415, /* Vendor */
1682 "LCS-APN", /* Name */
1683 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1684 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1685 AVP_TYPE_OCTETSTRING /* base type of data */
1686 };
1687 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1688 };
1689 /* LCS-Client-Dialed-By-MS */
1690 {
1691 struct dict_avp_data data = {
1692 1233, /* Code */
1693 10415, /* Vendor */
1694 "LCS-Client-Dialed-By-MS", /* Name */
1695 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1696 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1697 AVP_TYPE_OCTETSTRING /* base type of data */
1698 };
1699 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1700 };
1701 /* LCS-Client-External-ID */
1702 {
1703 struct dict_avp_data data = {
1704 1234, /* Code */
1705 10415, /* Vendor */
1706 "LCS-Client-External-ID", /* Name */
1707 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1708 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1709 AVP_TYPE_OCTETSTRING /* base type of data */
1710 };
1711 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1712 };
1713 /* LCS-Client-Type */
1714 {
1715 struct dict_avp_data data = {
1716 1241, /* Code */
1717 10415, /* Vendor */
1718 "LCS-Client-Type", /* Name */
1719 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1720 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1721 AVP_TYPE_INTEGER32 /* base type of data */
1722 };
1723 struct dict_object *type;
1724 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(LCS-Client-Type)", NULL, NULL, NULL };
1725 struct dict_enumval_data t_1 = { "EMERGENCY_SERVICES", { .i32=0 }};
1726 struct dict_enumval_data t_2 = { "VALUE_ADDED_SERVICES", { .i32=1 }};
1727 struct dict_enumval_data t_3 = { "PLMN_OPERATOR_SERVICES", { .i32=2 }};
1728 struct dict_enumval_data t_4 = { "LAWFUL_INTERCEPT_SERVICES", { .i32=3 }};
1729 /* Create the Enumerated type, and then the AVP */
1730 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1731 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1732 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1733 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
1734 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
1735 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1736 };
1737 /* LCS-Data-Coding-Scheme */
1738 {
1739 struct dict_avp_data data = {
1740 1236, /* Code */
1741 10415, /* Vendor */
1742 "LCS-Data-Coding-Scheme", /* Name */
1743 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1744 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1745 AVP_TYPE_OCTETSTRING /* base type of data */
1746 };
1747 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1748 };
1749 /* LCS-Format-Indicator */
1750 {
1751 struct dict_avp_data data = {
1752 1237, /* Code */
1753 10415, /* Vendor */
1754 "LCS-Format-Indicator", /* Name */
1755 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1756 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1757 AVP_TYPE_INTEGER32 /* base type of data */
1758 };
1759 struct dict_object *type;
1760 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(LCS-Format-Indicator)", NULL, NULL, NULL };
1761 struct dict_enumval_data t_1 = { "LOGICAL_NAME", { .i32=0 }};
1762 struct dict_enumval_data t_2 = { "EMAIL_ADDRESS", { .i32=1 }};
1763 struct dict_enumval_data t_3 = { "MSISDN", { .i32=2 }};
1764 struct dict_enumval_data t_4 = { "URL", { .i32=3 }};
1765 struct dict_enumval_data t_5 = { "SIP_URL", { .i32=4 }};
1766 /* Create the Enumerated type, and then the AVP */
1767 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1768 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1769 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1770 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
1771 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
1772 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
1773 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1774 };
1775 /* LCS-Name-String */
1776 {
1777 struct dict_avp_data data = {
1778 1238, /* Code */
1779 10415, /* Vendor */
1780 "LCS-Name-String", /* Name */
1781 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1782 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1783 AVP_TYPE_OCTETSTRING /* base type of data */
1784 };
1785 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1786 };
1787 /* LCS-Requestor-ID-String */
1788 {
1789 struct dict_avp_data data = {
1790 1240, /* Code */
1791 10415, /* Vendor */
1792 "LCS-Requestor-ID-String", /* Name */
1793 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1794 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1795 AVP_TYPE_OCTETSTRING /* base type of data */
1796 };
1797 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1798 };
1799 /* Local-GW-Inserted-Indication */
1800 {
1801 struct dict_avp_data data = {
1802 2604, /* Code */
1803 10415, /* Vendor */
1804 "Local-GW-Inserted-Indication", /* Name */
1805 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1806 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1807 AVP_TYPE_INTEGER32 /* base type of data */
1808 };
1809 struct dict_object *type;
1810 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Local-GW-Inserted-Indication)", NULL, NULL, NULL };
1811 struct dict_enumval_data t_1 = { "Local_GW_Not_Inserted", { .i32=0 }};
1812 struct dict_enumval_data t_2 = { "Local_GW_Inserted", { .i32=1 }};
1813 /* Create the Enumerated type, and then the AVP */
1814 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1815 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1816 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1817 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1818 };
1819 /* Local-Sequence-Number */
1820 {
1821 struct dict_avp_data data = {
1822 2063, /* Code */
1823 10415, /* Vendor */
1824 "Local-Sequence-Number", /* Name */
1825 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1826 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1827 AVP_TYPE_UNSIGNED32 /* base type of data */
1828 };
1829 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1830 };
1831 /* Location-Estimate */
1832 {
1833 struct dict_avp_data data = {
1834 1242, /* Code */
1835 10415, /* Vendor */
1836 "Location-Estimate", /* Name */
1837 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1838 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1839 AVP_TYPE_OCTETSTRING /* base type of data */
1840 };
1841 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
1842 };
1843 /* Location-Estimate-Type */
1844 {
1845 struct dict_avp_data data = {
1846 1243, /* Code */
1847 10415, /* Vendor */
1848 "Location-Estimate-Type", /* Name */
1849 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1850 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1851 AVP_TYPE_INTEGER32 /* base type of data */
1852 };
1853 struct dict_object *type;
1854 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Location-Estimate-Type)", NULL, NULL, NULL };
1855 struct dict_enumval_data t_1 = { "CURRENT_LOCATION", { .i32=0 }};
1856 struct dict_enumval_data t_2 = { "CURRENT_LAST_KNOWN_LOCATION", { .i32=1 }};
1857 struct dict_enumval_data t_3 = { "INITIAL_LOCATION", { .i32=2 }};
1858 struct dict_enumval_data t_4 = { "ACTIVATE_DEFERRED_LOCATION", { .i32=3 }};
1859 struct dict_enumval_data t_5 = { "CANCEL_DEFERRED_LOCATION", { .i32=4 }};
1860 /* Create the Enumerated type, and then the AVP */
1861 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1862 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1863 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1864 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
1865 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
1866 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
1867 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1868 };
1869 /* Low-Balance-Indication */
1870 {
1871 struct dict_avp_data data = {
1872 2020, /* Code */
1873 10415, /* Vendor */
1874 "Low-Balance-Indication", /* Name */
1875 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1876 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1877 AVP_TYPE_INTEGER32 /* base type of data */
1878 };
1879 struct dict_object *type;
1880 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Low-Balance-Indication)", NULL, NULL, NULL };
1881 struct dict_enumval_data t_1 = { "NOT_APPLICABLE", { .i32=0 }};
1882 struct dict_enumval_data t_2 = { "YES", { .i32=1 }};
1883 /* Create the Enumerated type, and then the AVP */
1884 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1885 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1886 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1887 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1888 };
1889 /* Low-Priority-Indicator */
1890 {
1891 struct dict_avp_data data = {
1892 2602, /* Code */
1893 10415, /* Vendor */
1894 "Low-Priority-Indicator", /* Name */
1895 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1896 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1897 AVP_TYPE_INTEGER32 /* base type of data */
1898 };
1899 struct dict_object *type;
1900 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Low-Priority-Indicator)", NULL, NULL, NULL };
1901 struct dict_enumval_data t_1 = { "NO", { .i32=0 }};
1902 struct dict_enumval_data t_2 = { "YES", { .i32=1 }};
1903 /* Create the Enumerated type, and then the AVP */
1904 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1905 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1906 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1907 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1908 };
1909 /* MBMS-Charged-Party */
1910 {
1911 struct dict_avp_data data = {
1912 2323, /* Code */
1913 10415, /* Vendor */
1914 "MBMS-Charged-Party", /* Name */
1915 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1916 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1917 AVP_TYPE_INTEGER32 /* base type of data */
1918 };
1919 struct dict_object *type;
1920 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(MBMS-Charged-Party)", NULL, NULL, NULL };
1921 struct dict_enumval_data t_1 = { "Content_Provider", { .i32=0 }};
1922 struct dict_enumval_data t_2 = { "Subscriber", { .i32=1 }};
1923 /* Create the Enumerated type, and then the AVP */
1924 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1925 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1926 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1927 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1928 };
1929 /* MBMS-GW-Address */
1930 {
1931 struct dict_avp_data data = {
1932 2307, /* Code */
1933 10415, /* Vendor */
1934 "MBMS-GW-Address", /* Name */
1935 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1936 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1937 AVP_TYPE_OCTETSTRING /* base type of data */
1938 };
1939 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
1940 };
1941 /* MBMS-User-Service-Type */
1942 {
1943 struct dict_avp_data data = {
1944 1225, /* Code */
1945 10415, /* Vendor */
1946 "MBMS-User-Service-Type", /* Name */
1947 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1948 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1949 AVP_TYPE_INTEGER32 /* base type of data */
1950 };
1951 struct dict_object *type;
1952 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(MBMS-User-Service-Type)", NULL, NULL, NULL };
1953 struct dict_enumval_data t_1 = { "DOWNLOAD", { .i32=1 }};
1954 struct dict_enumval_data t_2 = { "STREAMING", { .i32=2 }};
1955 /* Create the Enumerated type, and then the AVP */
1956 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1957 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1958 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1959 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1960 };
1961 /* Media-Initiator-Flag */
1962 {
1963 struct dict_avp_data data = {
1964 882, /* Code */
1965 10415, /* Vendor */
1966 "Media-Initiator-Flag", /* Name */
1967 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1968 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1969 AVP_TYPE_INTEGER32 /* base type of data */
1970 };
1971 struct dict_object *type;
1972 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Media-Initiator-Flag)", NULL, NULL, NULL };
1973 struct dict_enumval_data t_1 = { "called_party", { .i32=0 }};
1974 struct dict_enumval_data t_2 = { "calling_party", { .i32=1 }};
1975 struct dict_enumval_data t_3 = { "unknown", { .i32=2 }};
1976 /* Create the Enumerated type, and then the AVP */
1977 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
1978 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
1979 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
1980 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
1981 CHECK_dict_new( DICT_AVP, &data, type, NULL);
1982 };
1983 /* Media-Initiator-Party */
1984 {
1985 struct dict_avp_data data = {
1986 1288, /* Code */
1987 10415, /* Vendor */
1988 "Media-Initiator-Party", /* Name */
1989 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
1990 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
1991 AVP_TYPE_OCTETSTRING /* base type of data */
1992 };
1993 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
1994 };
1995 /* Message-ID */
1996 {
1997 struct dict_avp_data data = {
1998 1210, /* Code */
1999 10415, /* Vendor */
2000 "Message-ID", /* Name */
2001 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2002 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2003 AVP_TYPE_OCTETSTRING /* base type of data */
2004 };
2005 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2006 };
2007 /* Message-Size */
2008 {
2009 struct dict_avp_data data = {
2010 1212, /* Code */
2011 10415, /* Vendor */
2012 "Message-Size", /* Name */
2013 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2014 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2015 AVP_TYPE_UNSIGNED32 /* base type of data */
2016 };
2017 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2018 };
2019 /* Message-Type */
2020 {
2021 struct dict_avp_data data = {
2022 1211, /* Code */
2023 10415, /* Vendor */
2024 "Message-Type", /* Name */
2025 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2026 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2027 AVP_TYPE_INTEGER32 /* base type of data */
2028 };
2029 struct dict_object *type;
2030 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Message-Type)", NULL, NULL, NULL };
2031 struct dict_enumval_data t_1 = { "m_send_req", { .i32=1 }};
2032 struct dict_enumval_data t_2 = { "m_forward_req", { .i32=10 }};
2033 struct dict_enumval_data t_3 = { "m_forward_conf", { .i32=11 }};
2034 struct dict_enumval_data t_4 = { "m_mbox_store_conf", { .i32=12 }};
2035 struct dict_enumval_data t_5 = { "m_mbox_view_conf", { .i32=13 }};
2036 struct dict_enumval_data t_6 = { "m_mbox_upload_conf", { .i32=14 }};
2037 struct dict_enumval_data t_7 = { "m_mbox_delete_conf", { .i32=15 }};
2038 struct dict_enumval_data t_8 = { "m_send_conf", { .i32=2 }};
2039 struct dict_enumval_data t_9 = { "m_notification_ind", { .i32=3 }};
2040 struct dict_enumval_data t_10 = { "m_notifyresp_ind", { .i32=4 }};
2041 struct dict_enumval_data t_11 = { "m_retrieve_conf", { .i32=5 }};
2042 struct dict_enumval_data t_12 = { "m_acknowledge_ind", { .i32=6 }};
2043 struct dict_enumval_data t_13 = { "m_delivery_ind", { .i32=7 }};
2044 struct dict_enumval_data t_14 = { "m_read_rec_ind", { .i32=8 }};
2045 struct dict_enumval_data t_15 = { "m_read_orig_ind", { .i32=9 }};
2046 /* Create the Enumerated type, and then the AVP */
2047 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2048 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2049 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2050 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2051 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
2052 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
2053 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
2054 CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL);
2055 CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL);
2056 CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL);
2057 CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL);
2058 CHECK_dict_new( DICT_ENUMVAL, &t_11, type, NULL);
2059 CHECK_dict_new( DICT_ENUMVAL, &t_12, type, NULL);
2060 CHECK_dict_new( DICT_ENUMVAL, &t_13, type, NULL);
2061 CHECK_dict_new( DICT_ENUMVAL, &t_14, type, NULL);
2062 CHECK_dict_new( DICT_ENUMVAL, &t_15, type, NULL);
2063 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2064 };
2065 /* MMBox-Storage-Requested */
2066 {
2067 struct dict_avp_data data = {
2068 1248, /* Code */
2069 10415, /* Vendor */
2070 "MMBox-Storage-Requested", /* Name */
2071 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2072 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2073 AVP_TYPE_INTEGER32 /* base type of data */
2074 };
2075 struct dict_object *type;
2076 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(MMBox-Storage-Requested)", NULL, NULL, NULL };
2077 struct dict_enumval_data t_1 = { "No", { .i32=0 }};
2078 struct dict_enumval_data t_2 = { "Yes", { .i32=1 }};
2079 /* Create the Enumerated type, and then the AVP */
2080 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2081 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2082 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2083 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2084 };
2085 /* MMTel-SService-Type */
2086 {
2087 struct dict_avp_data data = {
2088 2031, /* Code */
2089 10415, /* Vendor */
2090 "MMTel-SService-Type", /* Name */
2091 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2092 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2093 AVP_TYPE_UNSIGNED32 /* base type of data */
2094 };
2095 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2096 };
2097 /* Monitored-PLMN-Identifier */
2098 {
2099 struct dict_avp_data data = {
2100 3430, /* Code */
2101 10415, /* Vendor */
2102 "Monitored-PLMN-Identifier", /* Name */
2103 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2104 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2105 AVP_TYPE_OCTETSTRING /* base type of data */
2106 };
2107 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2108 };
2109 /* Monitoring-Event-Configuration-Activity */
2110 {
2111 struct dict_avp_data data = {
2112 3919, /* Code */
2113 10415, /* Vendor */
2114 "Monitoring-Event-Configuration-Activity", /* Name */
2115 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2116 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2117 AVP_TYPE_INTEGER32 /* base type of data */
2118 };
2119 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2120 };
2121 /* Monitoring-Event-Functionality */
2122 {
2123 struct dict_avp_data data = {
2124 3922, /* Code */
2125 10415, /* Vendor */
2126 "Monitoring-Event-Functionality", /* Name */
2127 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2128 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2129 AVP_TYPE_INTEGER32 /* base type of data */
2130 };
2131 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2132 };
2133 /* Monitoring-Event-Report-Number */
2134 {
2135 struct dict_avp_data data = {
2136 3923, /* Code */
2137 10415, /* Vendor */
2138 "Monitoring-Event-Report-Number", /* Name */
2139 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2140 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2141 AVP_TYPE_UNSIGNED32 /* base type of data */
2142 };
2143 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2144 };
2145 /* Monitoring-UE-HPLMN-Identifier */
2146 {
2147 struct dict_avp_data data = {
2148 3431, /* Code */
2149 10415, /* Vendor */
2150 "Monitoring-UE-HPLMN-Identifier", /* Name */
2151 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2152 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2153 AVP_TYPE_OCTETSTRING /* base type of data */
2154 };
2155 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2156 };
2157 /* Monitoring-UE-Identifier */
2158 {
2159 struct dict_avp_data data = {
2160 3432, /* Code */
2161 10415, /* Vendor */
2162 "Monitoring-UE-Identifier", /* Name */
2163 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2164 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2165 AVP_TYPE_OCTETSTRING /* base type of data */
2166 };
2167 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2168 };
2169 /* Monitoring-UE-VPLMN-Identifier */
2170 {
2171 struct dict_avp_data data = {
2172 3433, /* Code */
2173 10415, /* Vendor */
2174 "Monitoring-UE-VPLMN-Identifier", /* Name */
2175 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2176 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2177 AVP_TYPE_OCTETSTRING /* base type of data */
2178 };
2179 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2180 };
2181 /* MSC-Address */
2182 {
2183 struct dict_avp_data data = {
2184 3417, /* Code */
2185 10415, /* Vendor */
2186 "MSC-Address", /* Name */
2187 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2188 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2189 AVP_TYPE_OCTETSTRING /* base type of data */
2190 };
2191 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2192 };
2193 /* MTC-IWF-Address */
2194 {
2195 struct dict_avp_data data = {
2196 3406, /* Code */
2197 10415, /* Vendor */
2198 "MTC-IWF-Address", /* Name */
2199 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2200 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2201 AVP_TYPE_OCTETSTRING /* base type of data */
2202 };
2203 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
2204 };
2205 /* Neighbour-Node-Address */
2206 {
2207 struct dict_avp_data data = {
2208 2705, /* Code */
2209 10415, /* Vendor */
2210 "Neighbour-Node-Address", /* Name */
2211 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2212 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2213 AVP_TYPE_OCTETSTRING /* base type of data */
2214 };
2215 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
2216 };
2217 /* Network-Call-Reference-Number */
2218 {
2219 struct dict_avp_data data = {
2220 3418, /* Code */
2221 10415, /* Vendor */
2222 "Network-Call-Reference-Number", /* Name */
2223 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2224 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2225 AVP_TYPE_OCTETSTRING /* base type of data */
2226 };
2227 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2228 };
2229 /* NNI-Type */
2230 {
2231 struct dict_avp_data data = {
2232 2704, /* Code */
2233 10415, /* Vendor */
2234 "NNI-Type", /* Name */
2235 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2236 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2237 AVP_TYPE_INTEGER32 /* base type of data */
2238 };
2239 struct dict_object *type;
2240 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(NNI-Type)", NULL, NULL, NULL };
2241 struct dict_enumval_data t_1 = { "non_roaming", { .i32=0 }};
2242 struct dict_enumval_data t_2 = { "roaming_without_loopback", { .i32=1 }};
2243 struct dict_enumval_data t_3 = { "roaming_with_loopback", { .i32=2 }};
2244 /* Create the Enumerated type, and then the AVP */
2245 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2246 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2247 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2248 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2249 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2250 };
2251 /* Node-Functionality */
2252 {
2253 struct dict_avp_data data = {
2254 862, /* Code */
2255 10415, /* Vendor */
2256 "Node-Functionality", /* Name */
2257 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2258 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2259 AVP_TYPE_INTEGER32 /* base type of data */
2260 };
2261 struct dict_object *type;
2262 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Node-Functionality)", NULL, NULL, NULL };
2263 struct dict_enumval_data t_1 = { "S-CSCF", { .i32=0 }};
2264 struct dict_enumval_data t_2 = { "P-CSCF", { .i32=1 }};
2265 struct dict_enumval_data t_3 = { "I-CSCF", { .i32=2 }};
2266 struct dict_enumval_data t_4 = { "MRFC", { .i32=3 }};
2267 struct dict_enumval_data t_5 = { "MGCF", { .i32=4 }};
2268 struct dict_enumval_data t_6 = { "BGCF", { .i32=5 }};
2269 struct dict_enumval_data t_7 = { "AS", { .i32=6 }};
2270 struct dict_enumval_data t_8 = { "IBCF", { .i32=7 }};
2271 struct dict_enumval_data t_9 = { "S-GW", { .i32=8 }};
2272 struct dict_enumval_data t_10 = { "P-GW", { .i32=9 }};
2273 struct dict_enumval_data t_11 = { "HSGW", { .i32=10 }};
2274 struct dict_enumval_data t_12 = { "E-CSCF", { .i32=11 }};
2275 struct dict_enumval_data t_13 = { "MME", { .i32=12 }};
2276 struct dict_enumval_data t_14 = { "TRF", { .i32=13 }};
2277 struct dict_enumval_data t_15 = { "TF", { .i32=14 }};
2278 struct dict_enumval_data t_16 = { "ATCF", { .i32=15 }};
2279 struct dict_enumval_data t_17 = { "Proxy-function", { .i32=16 }};
2280 struct dict_enumval_data t_18 = { "ePDG", { .i32=17 }};
2281 struct dict_enumval_data t_19 = { "TDF", { .i32=18 }};
2282 struct dict_enumval_data t_20 = { "TWAG", { .i32=19 }};
2283 struct dict_enumval_data t_21 = { "SCEF", { .i32=20 }};
2284 struct dict_enumval_data t_22 = { "IWK-SCEF", { .i32=21 }};
2285 /* Create the Enumerated type, and then the AVP */
2286 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2287 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2288 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2289 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2290 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
2291 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
2292 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
2293 CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL);
2294 CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL);
2295 CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL);
2296 CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL);
2297 CHECK_dict_new( DICT_ENUMVAL, &t_11, type, NULL);
2298 CHECK_dict_new( DICT_ENUMVAL, &t_12, type, NULL);
2299 CHECK_dict_new( DICT_ENUMVAL, &t_13, type, NULL);
2300 CHECK_dict_new( DICT_ENUMVAL, &t_14, type, NULL);
2301 CHECK_dict_new( DICT_ENUMVAL, &t_15, type, NULL);
2302 CHECK_dict_new( DICT_ENUMVAL, &t_16, type, NULL);
2303 CHECK_dict_new( DICT_ENUMVAL, &t_17, type, NULL);
2304 CHECK_dict_new( DICT_ENUMVAL, &t_18, type, NULL);
2305 CHECK_dict_new( DICT_ENUMVAL, &t_19, type, NULL);
2306 CHECK_dict_new( DICT_ENUMVAL, &t_20, type, NULL);
2307 CHECK_dict_new( DICT_ENUMVAL, &t_21, type, NULL);
2308 CHECK_dict_new( DICT_ENUMVAL, &t_22, type, NULL);
2309 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2310 };
2311 /* Node-Id */
2312 {
2313 struct dict_avp_data data = {
2314 2064, /* Code */
2315 10415, /* Vendor */
2316 "Node-Id", /* Name */
2317 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2318 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2319 AVP_TYPE_OCTETSTRING /* base type of data */
2320 };
2321 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2322 };
2323 /* Number-Of-Diversions */
2324 {
2325 struct dict_avp_data data = {
2326 2034, /* Code */
2327 10415, /* Vendor */
2328 "Number-Of-Diversions", /* Name */
2329 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2330 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2331 AVP_TYPE_UNSIGNED32 /* base type of data */
2332 };
2333 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2334 };
2335 /* Number-Of-Messages-Sent */
2336 {
2337 struct dict_avp_data data = {
2338 2019, /* Code */
2339 10415, /* Vendor */
2340 "Number-Of-Messages-Sent", /* Name */
2341 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2342 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2343 AVP_TYPE_UNSIGNED32 /* base type of data */
2344 };
2345 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2346 };
2347 /* Number-Of-Participants */
2348 {
2349 struct dict_avp_data data = {
2350 885, /* Code */
2351 10415, /* Vendor */
2352 "Number-Of-Participants", /* Name */
2353 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2354 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2355 AVP_TYPE_UNSIGNED32 /* base type of data */
2356 };
2357 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2358 };
2359 /* Number-Of-Received-Talk-Bursts */
2360 {
2361 struct dict_avp_data data = {
2362 1282, /* Code */
2363 10415, /* Vendor */
2364 "Number-Of-Received-Talk-Bursts", /* Name */
2365 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2366 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2367 AVP_TYPE_UNSIGNED32 /* base type of data */
2368 };
2369 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2370 };
2371 /* Number-Of-Talk-Bursts */
2372 {
2373 struct dict_avp_data data = {
2374 1283, /* Code */
2375 10415, /* Vendor */
2376 "Number-Of-Talk-Bursts", /* Name */
2377 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2378 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2379 AVP_TYPE_UNSIGNED32 /* base type of data */
2380 };
2381 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2382 };
2383 /* Number-Portability-Routing-Information */
2384 {
2385 struct dict_avp_data data = {
2386 2024, /* Code */
2387 10415, /* Vendor */
2388 "Number-Portability-Routing-Information", /* Name */
2389 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2390 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2391 AVP_TYPE_OCTETSTRING /* base type of data */
2392 };
2393 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2394 };
2395 /* Online-Charging-Flag */
2396 {
2397 struct dict_avp_data data = {
2398 2303, /* Code */
2399 10415, /* Vendor */
2400 "Online-Charging-Flag", /* Name */
2401 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2402 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2403 AVP_TYPE_INTEGER32 /* base type of data */
2404 };
2405 struct dict_object *type;
2406 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Online-Charging-Flag)", NULL, NULL, NULL };
2407 struct dict_enumval_data t_1 = { "ECF_address_not_provided", { .i32=0 }};
2408 struct dict_enumval_data t_2 = { "ECF_address_provided", { .i32=1 }};
2409 /* Create the Enumerated type, and then the AVP */
2410 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2411 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2412 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2413 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2414 };
2415 /* Originating-IOI */
2416 {
2417 struct dict_avp_data data = {
2418 839, /* Code */
2419 10415, /* Vendor */
2420 "Originating-IOI", /* Name */
2421 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2422 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2423 AVP_TYPE_OCTETSTRING /* base type of data */
2424 };
2425 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2426 };
2427 /* Originator */
2428 {
2429 struct dict_avp_data data = {
2430 864, /* Code */
2431 10415, /* Vendor */
2432 "Originator", /* Name */
2433 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2434 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2435 AVP_TYPE_INTEGER32 /* base type of data */
2436 };
2437 struct dict_object *type;
2438 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Originator)", NULL, NULL, NULL };
2439 struct dict_enumval_data t_1 = { "Calling_Party", { .i32=0 }};
2440 struct dict_enumval_data t_2 = { "Called_Party", { .i32=1 }};
2441 /* Create the Enumerated type, and then the AVP */
2442 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2443 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2444 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2445 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2446 };
2447 /* Originator-SCCP-Address */
2448 {
2449 struct dict_avp_data data = {
2450 2008, /* Code */
2451 10415, /* Vendor */
2452 "Originator-SCCP-Address", /* Name */
2453 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2454 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2455 AVP_TYPE_OCTETSTRING /* base type of data */
2456 };
2457 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
2458 };
2459 /* Outgoing-Session-Id */
2460 {
2461 struct dict_avp_data data = {
2462 2320, /* Code */
2463 10415, /* Vendor */
2464 "Outgoing-Session-Id", /* Name */
2465 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2466 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2467 AVP_TYPE_OCTETSTRING /* base type of data */
2468 };
2469 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2470 };
2471 /* Outgoing-Trunk-Group-Id */
2472 {
2473 struct dict_avp_data data = {
2474 853, /* Code */
2475 10415, /* Vendor */
2476 "Outgoing-Trunk-Group-Id", /* Name */
2477 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2478 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2479 AVP_TYPE_OCTETSTRING /* base type of data */
2480 };
2481 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2482 };
2483 /* Participant-Access-Priority */
2484 {
2485 struct dict_avp_data data = {
2486 1259, /* Code */
2487 10415, /* Vendor */
2488 "Participant-Access-Priority", /* Name */
2489 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2490 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2491 AVP_TYPE_INTEGER32 /* base type of data */
2492 };
2493 struct dict_object *type;
2494 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Participant-Access-Priority)", NULL, NULL, NULL };
2495 struct dict_enumval_data t_1 = { "Pre_emptive_priority", { .i32=1 }};
2496 struct dict_enumval_data t_2 = { "High_priority", { .i32=2 }};
2497 struct dict_enumval_data t_3 = { "Normal_priority", { .i32=3 }};
2498 struct dict_enumval_data t_4 = { "Low_priority", { .i32=4 }};
2499 /* Create the Enumerated type, and then the AVP */
2500 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2501 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2502 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2503 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2504 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
2505 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2506 };
2507 /* Participant-Action-Type */
2508 {
2509 struct dict_avp_data data = {
2510 2049, /* Code */
2511 10415, /* Vendor */
2512 "Participant-Action-Type", /* Name */
2513 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2514 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2515 AVP_TYPE_INTEGER32 /* base type of data */
2516 };
2517 struct dict_object *type;
2518 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Participant-Action-Type)", NULL, NULL, NULL };
2519 struct dict_enumval_data t_1 = { "CREATE_CONF", { .i32=0 }};
2520 struct dict_enumval_data t_2 = { "JOIN_CONF", { .i32=1 }};
2521 struct dict_enumval_data t_3 = { "INVITE_INTO_CONF", { .i32=2 }};
2522 struct dict_enumval_data t_4 = { "QUIT_CONF", { .i32=3 }};
2523 /* Create the Enumerated type, and then the AVP */
2524 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2525 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2526 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2527 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2528 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
2529 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2530 };
2531 /* Participants-Involved */
2532 {
2533 struct dict_avp_data data = {
2534 887, /* Code */
2535 10415, /* Vendor */
2536 "Participants-Involved", /* Name */
2537 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2538 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2539 AVP_TYPE_OCTETSTRING /* base type of data */
2540 };
2541 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2542 };
2543 /* PC3-Control-Protocol-Cause */
2544 {
2545 struct dict_avp_data data = {
2546 3434, /* Code */
2547 10415, /* Vendor */
2548 "PC3-Control-Protocol-Cause", /* Name */
2549 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2550 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2551 AVP_TYPE_INTEGER32 /* base type of data */
2552 };
2553 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2554 };
2555 /* PC3-EPC-Control-Protocol-Cause */
2556 {
2557 struct dict_avp_data data = {
2558 3435, /* Code */
2559 10415, /* Vendor */
2560 "PC3-EPC-Control-Protocol-Cause", /* Name */
2561 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2562 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2563 AVP_TYPE_INTEGER32 /* base type of data */
2564 };
2565 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2566 };
2567 /* PDN-Connection-Charging-ID */
2568 {
2569 struct dict_avp_data data = {
2570 2050, /* Code */
2571 10415, /* Vendor */
2572 "PDN-Connection-Charging-ID", /* Name */
2573 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2574 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2575 AVP_TYPE_UNSIGNED32 /* base type of data */
2576 };
2577 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2578 };
2579 /* PDP-Address */
2580 {
2581 struct dict_avp_data data = {
2582 1227, /* Code */
2583 10415, /* Vendor */
2584 "PDP-Address", /* Name */
2585 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2586 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2587 AVP_TYPE_OCTETSTRING /* base type of data */
2588 };
2589 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
2590 };
2591 /* PDP-Address-Prefix-Length */
2592 {
2593 struct dict_avp_data data = {
2594 2606, /* Code */
2595 10415, /* Vendor */
2596 "PDP-Address-Prefix-Length", /* Name */
2597 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2598 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2599 AVP_TYPE_UNSIGNED32 /* base type of data */
2600 };
2601 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2602 };
2603 /* PDP-Context-Type */
2604 {
2605 struct dict_avp_data data = {
2606 1247, /* Code */
2607 10415, /* Vendor */
2608 "PDP-Context-Type", /* Name */
2609 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2610 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2611 AVP_TYPE_INTEGER32 /* base type of data */
2612 };
2613 struct dict_object *type;
2614 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PDP-Context-Type)", NULL, NULL, NULL };
2615 struct dict_enumval_data t_1 = { "Primary", { .i32=0 }};
2616 struct dict_enumval_data t_2 = { "Secondary", { .i32=1 }};
2617 /* Create the Enumerated type, and then the AVP */
2618 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2619 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2620 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2621 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2622 };
2623 /* Play-Alternative */
2624 {
2625 struct dict_avp_data data = {
2626 3913, /* Code */
2627 10415, /* Vendor */
2628 "Play-Alternative", /* Name */
2629 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2630 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2631 AVP_TYPE_INTEGER32 /* base type of data */
2632 };
2633 struct dict_object *type;
2634 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Play-Alternative)", NULL, NULL, NULL };
2635 struct dict_enumval_data t_1 = { "served_party", { .i32=0 }};
2636 struct dict_enumval_data t_2 = { "remote_party", { .i32=1 }};
2637 /* Create the Enumerated type, and then the AVP */
2638 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2639 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2640 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2641 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2642 };
2643 /* PoC-Change-Condition */
2644 {
2645 struct dict_avp_data data = {
2646 1261, /* Code */
2647 10415, /* Vendor */
2648 "PoC-Change-Condition", /* Name */
2649 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2650 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2651 AVP_TYPE_INTEGER32 /* base type of data */
2652 };
2653 struct dict_object *type;
2654 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Change-Condition)", NULL, NULL, NULL };
2655 struct dict_enumval_data t_1 = { "ServiceChange", { .i32=0 }};
2656 struct dict_enumval_data t_2 = { "VolumeLimit", { .i32=1 }};
2657 struct dict_enumval_data t_3 = { "TimeLimit", { .i32=2 }};
2658 struct dict_enumval_data t_4 = { "NumberofTalkBurstLimit", { .i32=3 }};
2659 struct dict_enumval_data t_5 = { "NumberofActiveParticipants", { .i32=4 }};
2660 struct dict_enumval_data t_6 = { "TariffTime", { .i32=5 }};
2661 /* Create the Enumerated type, and then the AVP */
2662 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2663 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2664 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2665 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2666 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
2667 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
2668 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
2669 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2670 };
2671 /* PoC-Change-Time */
2672 {
2673 struct dict_avp_data data = {
2674 1262, /* Code */
2675 10415, /* Vendor */
2676 "PoC-Change-Time", /* Name */
2677 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2678 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2679 AVP_TYPE_OCTETSTRING /* base type of data */
2680 };
2681 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
2682 };
2683 /* PoC-Controlling-Address */
2684 {
2685 struct dict_avp_data data = {
2686 858, /* Code */
2687 10415, /* Vendor */
2688 "PoC-Controlling-Address", /* Name */
2689 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2690 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2691 AVP_TYPE_OCTETSTRING /* base type of data */
2692 };
2693 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2694 };
2695 /* PoC-Event-Type */
2696 {
2697 struct dict_avp_data data = {
2698 2025, /* Code */
2699 10415, /* Vendor */
2700 "PoC-Event-Type", /* Name */
2701 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2702 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2703 AVP_TYPE_INTEGER32 /* base type of data */
2704 };
2705 struct dict_object *type;
2706 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Event-Type)", NULL, NULL, NULL };
2707 struct dict_enumval_data t_1 = { "Normal", { .i32=0 }};
2708 struct dict_enumval_data t_2 = { "Instant_Personal_Alert", { .i32=1 }};
2709 struct dict_enumval_data t_3 = { "PoC_Group_Advertisement", { .i32=2 }};
2710 struct dict_enumval_data t_4 = { "Early_Session_Setting_Up", { .i32=3 }};
2711 struct dict_enumval_data t_5 = { "PoC_Talk_Burst", { .i32=4 }};
2712 /* Create the Enumerated type, and then the AVP */
2713 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2714 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2715 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2716 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2717 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
2718 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
2719 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2720 };
2721 /* PoC-Group-Name */
2722 {
2723 struct dict_avp_data data = {
2724 859, /* Code */
2725 10415, /* Vendor */
2726 "PoC-Group-Name", /* Name */
2727 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2728 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2729 AVP_TYPE_OCTETSTRING /* base type of data */
2730 };
2731 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2732 };
2733 /* PoC-Server-Role */
2734 {
2735 struct dict_avp_data data = {
2736 883, /* Code */
2737 10415, /* Vendor */
2738 "PoC-Server-Role", /* Name */
2739 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2740 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2741 AVP_TYPE_INTEGER32 /* base type of data */
2742 };
2743 struct dict_object *type;
2744 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Server-Role)", NULL, NULL, NULL };
2745 struct dict_enumval_data t_1 = { "Participating_PoC_Server", { .i32=0 }};
2746 struct dict_enumval_data t_2 = { "Controlling_PoC_Server", { .i32=1 }};
2747 /* Create the Enumerated type, and then the AVP */
2748 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2749 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2750 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2751 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2752 };
2753 /* PoC-Session-Id */
2754 {
2755 struct dict_avp_data data = {
2756 1229, /* Code */
2757 10415, /* Vendor */
2758 "PoC-Session-Id", /* Name */
2759 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2760 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2761 AVP_TYPE_OCTETSTRING /* base type of data */
2762 };
2763 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2764 };
2765 /* PoC-Session-Initiation-Type */
2766 {
2767 struct dict_avp_data data = {
2768 1277, /* Code */
2769 10415, /* Vendor */
2770 "PoC-Session-Initiation-Type", /* Name */
2771 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2772 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2773 AVP_TYPE_INTEGER32 /* base type of data */
2774 };
2775 struct dict_object *type;
2776 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Session-Initiation-Type)", NULL, NULL, NULL };
2777 struct dict_enumval_data t_1 = { "Pre_established", { .i32=0 }};
2778 struct dict_enumval_data t_2 = { "On_demand", { .i32=1 }};
2779 /* Create the Enumerated type, and then the AVP */
2780 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2781 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2782 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2783 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2784 };
2785 /* PoC-Session-Type */
2786 {
2787 struct dict_avp_data data = {
2788 884, /* Code */
2789 10415, /* Vendor */
2790 "PoC-Session-Type", /* Name */
2791 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2792 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2793 AVP_TYPE_INTEGER32 /* base type of data */
2794 };
2795 struct dict_object *type;
2796 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Session-Type)", NULL, NULL, NULL };
2797 struct dict_enumval_data t_1 = { "1_to_1_PoC", { .i32=0 }};
2798 struct dict_enumval_data t_2 = { "Chat_PoC_Group", { .i32=1 }};
2799 struct dict_enumval_data t_3 = { "Pre_arranged_PoC_Group", { .i32=2 }};
2800 struct dict_enumval_data t_4 = { "Ad_hoc_PoC_Gropu", { .i32=3 }};
2801 /* Create the Enumerated type, and then the AVP */
2802 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2803 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2804 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2805 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2806 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
2807 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2808 };
2809 /* PoC-User-Role-IDs */
2810 {
2811 struct dict_avp_data data = {
2812 1253, /* Code */
2813 10415, /* Vendor */
2814 "PoC-User-Role-IDs", /* Name */
2815 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2816 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2817 AVP_TYPE_OCTETSTRING /* base type of data */
2818 };
2819 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2820 };
2821 /* PoC-User-Role-Info-Units */
2822 {
2823 struct dict_avp_data data = {
2824 1254, /* Code */
2825 10415, /* Vendor */
2826 "PoC-User-Role-Info-Units", /* Name */
2827 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2828 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2829 AVP_TYPE_INTEGER32 /* base type of data */
2830 };
2831 struct dict_object *type;
2832 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-User-Role-Info-Units)", NULL, NULL, NULL };
2833 struct dict_enumval_data t_1 = { "Moderator", { .i32=1 }};
2834 struct dict_enumval_data t_2 = { "Dispatcher", { .i32=2 }};
2835 struct dict_enumval_data t_3 = { "Session_Owner", { .i32=3 }};
2836 struct dict_enumval_data t_4 = { "Session_Participant", { .i32=4 }};
2837 /* Create the Enumerated type, and then the AVP */
2838 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2839 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2840 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2841 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2842 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
2843 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2844 };
2845 /* Positioning-Data */
2846 {
2847 struct dict_avp_data data = {
2848 1245, /* Code */
2849 10415, /* Vendor */
2850 "Positioning-Data", /* Name */
2851 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2852 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2853 AVP_TYPE_OCTETSTRING /* base type of data */
2854 };
2855 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2856 };
2857 /* Preferred-AoC-Currency */
2858 {
2859 struct dict_avp_data data = {
2860 2315, /* Code */
2861 10415, /* Vendor */
2862 "Preferred-AoC-Currency", /* Name */
2863 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2864 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2865 AVP_TYPE_UNSIGNED32 /* base type of data */
2866 };
2867 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
2868 };
2869 /* Priority */
2870 {
2871 struct dict_avp_data data = {
2872 1209, /* Code */
2873 10415, /* Vendor */
2874 "Priority", /* Name */
2875 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2876 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2877 AVP_TYPE_INTEGER32 /* base type of data */
2878 };
2879 struct dict_object *type;
2880 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Priority)", NULL, NULL, NULL };
2881 struct dict_enumval_data t_1 = { "Low", { .i32=0 }};
2882 struct dict_enumval_data t_2 = { "Normal", { .i32=1 }};
2883 struct dict_enumval_data t_3 = { "High", { .i32=2 }};
2884 /* Create the Enumerated type, and then the AVP */
2885 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2886 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2887 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2888 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2889 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2890 };
2891 /* Privacy-Indicator */
2892 {
2893 struct dict_avp_data data = {
2894 3915, /* Code */
2895 10415, /* Vendor */
2896 "Privacy-Indicator", /* Name */
2897 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2898 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2899 AVP_TYPE_INTEGER32 /* base type of data */
2900 };
2901 struct dict_object *type;
2902 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Privacy-Indicator)", NULL, NULL, NULL };
2903 struct dict_enumval_data t_1 = { "NOT_PRIVATE", { .i32=0 }};
2904 struct dict_enumval_data t_2 = { "PRIVATE", { .i32=1 }};
2905 /* Create the Enumerated type, and then the AVP */
2906 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2907 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2908 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2909 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2910 };
2911 /* ProSe-3rd-Party-Application-ID */
2912 {
2913 struct dict_avp_data data = {
2914 3440, /* Code */
2915 10415, /* Vendor */
2916 "ProSe-3rd-Party-Application-ID", /* Name */
2917 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2918 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2919 AVP_TYPE_OCTETSTRING /* base type of data */
2920 };
2921 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2922 };
2923 /* ProSe-Direct-Discovery-Model */
2924 {
2925 struct dict_avp_data data = {
2926 3442, /* Code */
2927 10415, /* Vendor */
2928 "ProSe-Direct-Discovery-Model", /* Name */
2929 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2930 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2931 AVP_TYPE_INTEGER32 /* base type of data */
2932 };
2933 struct dict_object *type;
2934 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Direct-Discovery-Model)", NULL, NULL, NULL };
2935 struct dict_enumval_data t_1 = { "Model_A", { .i32=0 }};
2936 struct dict_enumval_data t_2 = { "Model_B", { .i32=1 }};
2937 /* Create the Enumerated type, and then the AVP */
2938 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2939 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2940 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2941 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2942 };
2943 /* ProSe-Event-Type */
2944 {
2945 struct dict_avp_data data = {
2946 3443, /* Code */
2947 10415, /* Vendor */
2948 "ProSe-Event-Type", /* Name */
2949 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2950 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2951 AVP_TYPE_INTEGER32 /* base type of data */
2952 };
2953 struct dict_object *type;
2954 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Event-Type)", NULL, NULL, NULL };
2955 struct dict_enumval_data t_1 = { "Annoucing", { .i32=0 }};
2956 struct dict_enumval_data t_2 = { "Monitoring", { .i32=1 }};
2957 struct dict_enumval_data t_3 = { "Match_Report", { .i32=2 }};
2958 /* Create the Enumerated type, and then the AVP */
2959 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
2960 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
2961 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
2962 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
2963 CHECK_dict_new( DICT_AVP, &data, type, NULL);
2964 };
2965 /* ProSe-Function-IP-Address */
2966 {
2967 struct dict_avp_data data = {
2968 3444, /* Code */
2969 10415, /* Vendor */
2970 "ProSe-Function-IP-Address", /* Name */
2971 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2972 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2973 AVP_TYPE_OCTETSTRING /* base type of data */
2974 };
2975 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
2976 };
2977 /* ProSe-Function-PLMN-Identifier */
2978 {
2979 struct dict_avp_data data = {
2980 3457, /* Code */
2981 10415, /* Vendor */
2982 "ProSe-Function-PLMN-Identifier", /* Name */
2983 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2984 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2985 AVP_TYPE_OCTETSTRING /* base type of data */
2986 };
2987 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
2988 };
2989 /* ProSe-Functionality */
2990 {
2991 struct dict_avp_data data = {
2992 3445, /* Code */
2993 10415, /* Vendor */
2994 "ProSe-Functionality", /* Name */
2995 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
2996 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
2997 AVP_TYPE_INTEGER32 /* base type of data */
2998 };
2999 struct dict_object *type;
3000 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Functionality)", NULL, NULL, NULL };
3001 struct dict_enumval_data t_1 = { "Direct_discovery", { .i32=0 }};
3002 struct dict_enumval_data t_2 = { "EPC_level_discovery", { .i32=1 }};
3003 struct dict_enumval_data t_3 = { "Direct_communication", { .i32=2 }};
3004 /* Create the Enumerated type, and then the AVP */
3005 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3006 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3007 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3008 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
3009 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3010 };
3011 /* ProSe-Group-IP-Multicast-Address */
3012 {
3013 struct dict_avp_data data = {
3014 3446, /* Code */
3015 10415, /* Vendor */
3016 "ProSe-Group-IP-Multicast-Address", /* Name */
3017 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3018 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3019 AVP_TYPE_OCTETSTRING /* base type of data */
3020 };
3021 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
3022 };
3023 /* ProSe-Range-Class */
3024 {
3025 struct dict_avp_data data = {
3026 3448, /* Code */
3027 10415, /* Vendor */
3028 "ProSe-Range-Class", /* Name */
3029 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3030 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3031 AVP_TYPE_INTEGER32 /* base type of data */
3032 };
3033 struct dict_object *type;
3034 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Range-Class)", NULL, NULL, NULL };
3035 struct dict_enumval_data t_1 = { "Reserved", { .i32=0 }};
3036 struct dict_enumval_data t_2 = { "50_m", { .i32=1 }};
3037 struct dict_enumval_data t_3 = { "100_m", { .i32=2 }};
3038 struct dict_enumval_data t_4 = { "Unused", { .i32=255 }};
3039 struct dict_enumval_data t_5 = { "200_m", { .i32=3 }};
3040 struct dict_enumval_data t_6 = { "500_m", { .i32=4 }};
3041 struct dict_enumval_data t_7 = { "1000_m", { .i32=5 }};
3042 /* Create the Enumerated type, and then the AVP */
3043 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3044 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3045 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3046 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
3047 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
3048 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
3049 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
3050 CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL);
3051 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3052 };
3053 /* ProSe-Reason-For-Cancellation */
3054 {
3055 struct dict_avp_data data = {
3056 3449, /* Code */
3057 10415, /* Vendor */
3058 "ProSe-Reason-For-Cancellation", /* Name */
3059 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3060 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3061 AVP_TYPE_INTEGER32 /* base type of data */
3062 };
3063 struct dict_object *type;
3064 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Reason-For-Cancellation)", NULL, NULL, NULL };
3065 struct dict_enumval_data t_1 = { "Proximity_Alert_sent", { .i32=0 }};
3066 struct dict_enumval_data t_2 = { "Time_expired_with_no_renewal", { .i32=1 }};
3067 struct dict_enumval_data t_3 = { "Requestor_cancellation", { .i32=2 }};
3068 /* Create the Enumerated type, and then the AVP */
3069 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3070 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3071 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3072 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
3073 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3074 };
3075 /* ProSe-Request-Timestamp */
3076 {
3077 struct dict_avp_data data = {
3078 3450, /* Code */
3079 10415, /* Vendor */
3080 "ProSe-Request-Timestamp", /* Name */
3081 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3082 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3083 AVP_TYPE_OCTETSTRING /* base type of data */
3084 };
3085 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
3086 };
3087 /* ProSe-Role-Of-UE */
3088 {
3089 struct dict_avp_data data = {
3090 3451, /* Code */
3091 10415, /* Vendor */
3092 "ProSe-Role-Of-UE", /* Name */
3093 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3094 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3095 AVP_TYPE_INTEGER32 /* base type of data */
3096 };
3097 struct dict_object *type;
3098 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Role-Of-UE)", NULL, NULL, NULL };
3099 struct dict_enumval_data t_1 = { "Announcing_UE", { .i32=0 }};
3100 struct dict_enumval_data t_2 = { "Monitoring_UE", { .i32=1 }};
3101 struct dict_enumval_data t_3 = { "Requestor_UE", { .i32=2 }};
3102 struct dict_enumval_data t_4 = { "Requested_UE", { .i32=3 }};
3103 /* Create the Enumerated type, and then the AVP */
3104 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3105 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3106 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3107 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
3108 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
3109 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3110 };
3111 /* ProSe-Source-IP-Address */
3112 {
3113 struct dict_avp_data data = {
3114 3452, /* Code */
3115 10415, /* Vendor */
3116 "ProSe-Source-IP-Address", /* Name */
3117 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3118 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3119 AVP_TYPE_OCTETSTRING /* base type of data */
3120 };
3121 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
3122 };
3123 /* ProSe-UE-ID */
3124 {
3125 struct dict_avp_data data = {
3126 3453, /* Code */
3127 10415, /* Vendor */
3128 "ProSe-UE-ID", /* Name */
3129 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3130 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3131 AVP_TYPE_OCTETSTRING /* base type of data */
3132 };
3133 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3134 };
3135 /* Proximity-Alert-Indication */
3136 {
3137 struct dict_avp_data data = {
3138 3454, /* Code */
3139 10415, /* Vendor */
3140 "Proximity-Alert-Indication", /* Name */
3141 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3142 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3143 AVP_TYPE_INTEGER32 /* base type of data */
3144 };
3145 struct dict_object *type;
3146 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Proximity-Alert-Indication)", NULL, NULL, NULL };
3147 struct dict_enumval_data t_1 = { "Alert", { .i32=0 }};
3148 struct dict_enumval_data t_2 = { "No_Alert", { .i32=1 }};
3149 /* Create the Enumerated type, and then the AVP */
3150 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3151 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3152 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3153 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3154 };
3155 /* Proximity-Alert-Timestamp */
3156 {
3157 struct dict_avp_data data = {
3158 3455, /* Code */
3159 10415, /* Vendor */
3160 "Proximity-Alert-Timestamp", /* Name */
3161 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3162 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3163 AVP_TYPE_OCTETSTRING /* base type of data */
3164 };
3165 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
3166 };
3167 /* Proximity-Cancellation-Timestamp */
3168 {
3169 struct dict_avp_data data = {
3170 3456, /* Code */
3171 10415, /* Vendor */
3172 "Proximity-Cancellation-Timestamp", /* Name */
3173 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3174 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3175 AVP_TYPE_OCTETSTRING /* base type of data */
3176 };
3177 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
3178 };
3179 /* PS-Append-Free-Format-Data */
3180 {
3181 struct dict_avp_data data = {
3182 867, /* Code */
3183 10415, /* Vendor */
3184 "PS-Append-Free-Format-Data", /* Name */
3185 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3186 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3187 AVP_TYPE_INTEGER32 /* base type of data */
3188 };
3189 struct dict_object *type;
3190 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PS-Append-Free-Format-Data)", NULL, NULL, NULL };
3191 struct dict_enumval_data t_1 = { "Append", { .i32=0 }};
3192 struct dict_enumval_data t_2 = { "Overwrite", { .i32=1 }};
3193 /* Create the Enumerated type, and then the AVP */
3194 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3195 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3196 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3197 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3198 };
3199 /* PS-Free-Format-Data */
3200 {
3201 struct dict_avp_data data = {
3202 866, /* Code */
3203 10415, /* Vendor */
3204 "PS-Free-Format-Data", /* Name */
3205 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3206 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3207 AVP_TYPE_OCTETSTRING /* base type of data */
3208 };
3209 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3210 };
3211 /* Quota-Consumption-Time */
3212 {
3213 struct dict_avp_data data = {
3214 881, /* Code */
3215 10415, /* Vendor */
3216 "Quota-Consumption-Time", /* Name */
3217 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3218 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3219 AVP_TYPE_UNSIGNED32 /* base type of data */
3220 };
3221 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3222 };
3223 /* Quota-Holding-Time */
3224 {
3225 struct dict_avp_data data = {
3226 871, /* Code */
3227 10415, /* Vendor */
3228 "Quota-Holding-Time", /* Name */
3229 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3230 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3231 AVP_TYPE_UNSIGNED32 /* base type of data */
3232 };
3233 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3234 };
3235 /* Quota-Indicator */
3236 {
3237 struct dict_avp_data data = {
3238 3912, /* Code */
3239 10415, /* Vendor */
3240 "Quota-Indicator", /* Name */
3241 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3242 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3243 AVP_TYPE_INTEGER32 /* base type of data */
3244 };
3245 struct dict_object *type;
3246 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Quota-Indicator)", NULL, NULL, NULL };
3247 struct dict_enumval_data t_1 = { "QUOTA_IS_NOT_USED_DURING_PLAYBACK", { .i32=0 }};
3248 struct dict_enumval_data t_2 = { "QUOTA_IS_USED_DURING_PLAYBACK", { .i32=1 }};
3249 /* Create the Enumerated type, and then the AVP */
3250 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3251 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3252 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3253 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3254 };
3255 /* Radio-Frequency */
3256 {
3257 struct dict_avp_data data = {
3258 3462, /* Code */
3259 10415, /* Vendor */
3260 "Radio-Frequency", /* Name */
3261 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3262 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3263 AVP_TYPE_OCTETSTRING /* base type of data */
3264 };
3265 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3266 };
3267 /* Radio-Parameter-Set-Values */
3268 {
3269 struct dict_avp_data data = {
3270 3464, /* Code */
3271 10415, /* Vendor */
3272 "Radio-Parameter-Set-Values", /* Name */
3273 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3274 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3275 AVP_TYPE_OCTETSTRING /* base type of data */
3276 };
3277 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3278 };
3279 /* Radio-Resources-Indicator */
3280 {
3281 struct dict_avp_data data = {
3282 3465, /* Code */
3283 10415, /* Vendor */
3284 "Radio-Resources-Indicator", /* Name */
3285 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3286 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3287 AVP_TYPE_INTEGER32 /* base type of data */
3288 };
3289 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3290 };
3291 /* Rate-Control-Max-Message-Size */
3292 {
3293 struct dict_avp_data data = {
3294 3937, /* Code */
3295 10415, /* Vendor */
3296 "Rate-Control-Max-Message-Size", /* Name */
3297 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3298 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3299 AVP_TYPE_UNSIGNED32 /* base type of data */
3300 };
3301 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3302 };
3303 /* Rate-Control-Max-Rate */
3304 {
3305 struct dict_avp_data data = {
3306 3938, /* Code */
3307 10415, /* Vendor */
3308 "Rate-Control-Max-Rate", /* Name */
3309 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3310 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3311 AVP_TYPE_UNSIGNED32 /* base type of data */
3312 };
3313 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3314 };
3315 /* Rate-Control-Time-Unit */
3316 {
3317 struct dict_avp_data data = {
3318 3939, /* Code */
3319 10415, /* Vendor */
3320 "Rate-Control-Time-Unit", /* Name */
3321 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3322 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3323 AVP_TYPE_UNSIGNED32 /* base type of data */
3324 };
3325 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3326 };
3327 /* Read-Reply-Report-Requested */
3328 {
3329 struct dict_avp_data data = {
3330 1222, /* Code */
3331 10415, /* Vendor */
3332 "Read-Reply-Report-Requested", /* Name */
3333 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3334 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3335 AVP_TYPE_INTEGER32 /* base type of data */
3336 };
3337 struct dict_object *type;
3338 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Read-Reply-Report-Requested)", NULL, NULL, NULL };
3339 struct dict_enumval_data t_1 = { "No", { .i32=0 }};
3340 struct dict_enumval_data t_2 = { "Yes", { .i32=1 }};
3341 /* Create the Enumerated type, and then the AVP */
3342 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3343 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3344 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3345 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3346 };
3347 /* Reason-Header */
3348 {
3349 struct dict_avp_data data = {
3350 3401, /* Code */
3351 10415, /* Vendor */
3352 "Reason-Header", /* Name */
3353 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3354 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3355 AVP_TYPE_OCTETSTRING /* base type of data */
3356 };
3357 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3358 };
3359 /* Received-Talk-Burst-Time */
3360 {
3361 struct dict_avp_data data = {
3362 1284, /* Code */
3363 10415, /* Vendor */
3364 "Received-Talk-Burst-Time", /* Name */
3365 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3366 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3367 AVP_TYPE_UNSIGNED32 /* base type of data */
3368 };
3369 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3370 };
3371 /* Received-Talk-Burst-Volume */
3372 {
3373 struct dict_avp_data data = {
3374 1285, /* Code */
3375 10415, /* Vendor */
3376 "Received-Talk-Burst-Volume", /* Name */
3377 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3378 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3379 AVP_TYPE_UNSIGNED32 /* base type of data */
3380 };
3381 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3382 };
3383 /* Recipient-SCCP-Address */
3384 {
3385 struct dict_avp_data data = {
3386 2010, /* Code */
3387 10415, /* Vendor */
3388 "Recipient-SCCP-Address", /* Name */
3389 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3390 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3391 AVP_TYPE_OCTETSTRING /* base type of data */
3392 };
3393 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
3394 };
3395 /* Refund-Information */
3396 {
3397 struct dict_avp_data data = {
3398 2022, /* Code */
3399 10415, /* Vendor */
3400 "Refund-Information", /* Name */
3401 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3402 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3403 AVP_TYPE_OCTETSTRING /* base type of data */
3404 };
3405 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3406 };
3407 /* Related-IMS-Charging-Identifier */
3408 {
3409 struct dict_avp_data data = {
3410 2711, /* Code */
3411 10415, /* Vendor */
3412 "Related-IMS-Charging-Identifier", /* Name */
3413 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3414 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3415 AVP_TYPE_OCTETSTRING /* base type of data */
3416 };
3417 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3418 };
3419 /* Related-IMS-Charging-Identifier-Node */
3420 {
3421 struct dict_avp_data data = {
3422 2712, /* Code */
3423 10415, /* Vendor */
3424 "Related-IMS-Charging-Identifier-Node", /* Name */
3425 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3426 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3427 AVP_TYPE_OCTETSTRING /* base type of data */
3428 };
3429 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
3430 };
3431 /* Relationship-Mode */
3432 {
3433 struct dict_avp_data data = {
3434 2706, /* Code */
3435 10415, /* Vendor */
3436 "Relationship-Mode", /* Name */
3437 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3438 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3439 AVP_TYPE_INTEGER32 /* base type of data */
3440 };
3441 struct dict_object *type;
3442 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Relationship-Mode)", NULL, NULL, NULL };
3443 struct dict_enumval_data t_1 = { "trusted", { .i32=0 }};
3444 struct dict_enumval_data t_2 = { "non_trusted", { .i32=1 }};
3445 /* Create the Enumerated type, and then the AVP */
3446 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3447 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3448 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3449 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3450 };
3451 /* Reply-Applic-ID */
3452 {
3453 struct dict_avp_data data = {
3454 1223, /* Code */
3455 10415, /* Vendor */
3456 "Reply-Applic-ID", /* Name */
3457 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3458 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3459 AVP_TYPE_OCTETSTRING /* base type of data */
3460 };
3461 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3462 };
3463 /* Reply-Path-Requested */
3464 {
3465 struct dict_avp_data data = {
3466 2011, /* Code */
3467 10415, /* Vendor */
3468 "Reply-Path-Requested", /* Name */
3469 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3470 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3471 AVP_TYPE_INTEGER32 /* base type of data */
3472 };
3473 struct dict_object *type;
3474 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Reply-Path-Requested)", NULL, NULL, NULL };
3475 struct dict_enumval_data t_1 = { "No_Reply_Path_Set", { .i32=0 }};
3476 struct dict_enumval_data t_2 = { "Reply_path_Set", { .i32=1 }};
3477 /* Create the Enumerated type, and then the AVP */
3478 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3479 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3480 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3481 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3482 };
3483 /* Reporting-Reason */
3484 {
3485 struct dict_avp_data data = {
3486 872, /* Code */
3487 10415, /* Vendor */
3488 "Reporting-Reason", /* Name */
3489 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3490 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3491 AVP_TYPE_INTEGER32 /* base type of data */
3492 };
3493 struct dict_object *type;
3494 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Reporting-Reason)", NULL, NULL, NULL };
3495 struct dict_enumval_data t_1 = { "THRESHOLD", { .i32=0 }};
3496 struct dict_enumval_data t_2 = { "QHT", { .i32=1 }};
3497 struct dict_enumval_data t_3 = { "FINAL", { .i32=2 }};
3498 struct dict_enumval_data t_4 = { "QUOTA_EXHAUSTED", { .i32=3 }};
3499 struct dict_enumval_data t_5 = { "VALIDITY_TIME", { .i32=4 }};
3500 struct dict_enumval_data t_6 = { "OTHER_QUOTA_TYPE", { .i32=5 }};
3501 struct dict_enumval_data t_7 = { "RATING_CONDITION_CHANGE", { .i32=6 }};
3502 struct dict_enumval_data t_8 = { "FORCED_REAUTHORISATION", { .i32=7 }};
3503 struct dict_enumval_data t_9 = { "POOL_EXHAUSTED", { .i32=8 }};
3504 struct dict_enumval_data t_10 = { "UNUSED_QUOTA_TIMER", { .i32=9 }};
3505 /* Create the Enumerated type, and then the AVP */
3506 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3507 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3508 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3509 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
3510 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
3511 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
3512 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
3513 CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL);
3514 CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL);
3515 CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL);
3516 CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL);
3517 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3518 };
3519 /* Requested-Party-Address */
3520 {
3521 struct dict_avp_data data = {
3522 1251, /* Code */
3523 10415, /* Vendor */
3524 "Requested-Party-Address", /* Name */
3525 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3526 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3527 AVP_TYPE_OCTETSTRING /* base type of data */
3528 };
3529 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3530 };
3531 /* Requested-PLMN-Identifier */
3532 {
3533 struct dict_avp_data data = {
3534 3436, /* Code */
3535 10415, /* Vendor */
3536 "Requested-PLMN-Identifier", /* Name */
3537 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3538 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3539 AVP_TYPE_OCTETSTRING /* base type of data */
3540 };
3541 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3542 };
3543 /* Requestor-PLMN-Identifier */
3544 {
3545 struct dict_avp_data data = {
3546 3437, /* Code */
3547 10415, /* Vendor */
3548 "Requestor-PLMN-Identifier", /* Name */
3549 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3550 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3551 AVP_TYPE_OCTETSTRING /* base type of data */
3552 };
3553 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3554 };
3555 /* Role-Of-Node */
3556 {
3557 struct dict_avp_data data = {
3558 829, /* Code */
3559 10415, /* Vendor */
3560 "Role-Of-Node", /* Name */
3561 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3562 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3563 AVP_TYPE_INTEGER32 /* base type of data */
3564 };
3565 struct dict_object *type;
3566 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Role-Of-Node)", NULL, NULL, NULL };
3567 struct dict_enumval_data t_1 = { "ORIGINATING_ROLE", { .i32=0 }};
3568 struct dict_enumval_data t_2 = { "TERMINATING_ROLE", { .i32=1 }};
3569 struct dict_enumval_data t_3 = { "FORWARDING_ROLE", { .i32=2 }};
3570 /* Create the Enumerated type, and then the AVP */
3571 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3572 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3573 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3574 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
3575 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3576 };
3577 /* Role-Of-ProSe-Function */
3578 {
3579 struct dict_avp_data data = {
3580 3438, /* Code */
3581 10415, /* Vendor */
3582 "Role-Of-ProSe-Function", /* Name */
3583 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3584 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3585 AVP_TYPE_INTEGER32 /* base type of data */
3586 };
3587 struct dict_object *type;
3588 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Role-Of-ProSe-Function)", NULL, NULL, NULL };
3589 struct dict_enumval_data t_1 = { "HPLMN", { .i32=0 }};
3590 struct dict_enumval_data t_2 = { "VPLMN", { .i32=1 }};
3591 struct dict_enumval_data t_3 = { "Local_PLMN", { .i32=2 }};
3592 /* Create the Enumerated type, and then the AVP */
3593 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3594 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3595 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3596 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
3597 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3598 };
3599 /* Route-Header-Received */
3600 {
3601 struct dict_avp_data data = {
3602 3403, /* Code */
3603 10415, /* Vendor */
3604 "Route-Header-Received", /* Name */
3605 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3606 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3607 AVP_TYPE_OCTETSTRING /* base type of data */
3608 };
3609 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3610 };
3611 /* Route-Header-Transmitted */
3612 {
3613 struct dict_avp_data data = {
3614 3404, /* Code */
3615 10415, /* Vendor */
3616 "Route-Header-Transmitted", /* Name */
3617 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3618 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3619 AVP_TYPE_OCTETSTRING /* base type of data */
3620 };
3621 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3622 };
3623 /* SCS-Address */
3624 {
3625 struct dict_avp_data data = {
3626 3941, /* Code */
3627 10415, /* Vendor */
3628 "SCS-Address", /* Name */
3629 0, /* Fixed flags */
3630 0, /* Fixed flag values */
3631 AVP_TYPE_OCTETSTRING /* base type of data */
3632 };
3633 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
3634 };
3635 /* SCS-Realm */
3636 {
3637 struct dict_avp_data data = {
3638 3942, /* Code */
3639 10415, /* Vendor */
3640 "SCS-Realm", /* Name */
3641 0, /* Fixed flags */
3642 0, /* Fixed flag values */
3643 AVP_TYPE_OCTETSTRING /* base type of data */
3644 };
3645 CHECK_dict_new( DICT_AVP, &data, DiameterIdentity_type, NULL);
3646 };
3647 /* SDP-Answer-Timestamp */
3648 {
3649 struct dict_avp_data data = {
3650 1275, /* Code */
3651 10415, /* Vendor */
3652 "SDP-Answer-Timestamp", /* Name */
3653 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3654 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3655 AVP_TYPE_OCTETSTRING /* base type of data */
3656 };
3657 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
3658 };
3659 /* SDP-Media-Description */
3660 {
3661 struct dict_avp_data data = {
3662 845, /* Code */
3663 10415, /* Vendor */
3664 "SDP-Media-Description", /* Name */
3665 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3666 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3667 AVP_TYPE_OCTETSTRING /* base type of data */
3668 };
3669 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3670 };
3671 /* SDP-Media-Name */
3672 {
3673 struct dict_avp_data data = {
3674 844, /* Code */
3675 10415, /* Vendor */
3676 "SDP-Media-Name", /* Name */
3677 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3678 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3679 AVP_TYPE_OCTETSTRING /* base type of data */
3680 };
3681 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3682 };
3683 /* SDP-Offer-Timestamp */
3684 {
3685 struct dict_avp_data data = {
3686 1274, /* Code */
3687 10415, /* Vendor */
3688 "SDP-Offer-Timestamp", /* Name */
3689 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3690 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3691 AVP_TYPE_OCTETSTRING /* base type of data */
3692 };
3693 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
3694 };
3695 /* SDP-Session-Description */
3696 {
3697 struct dict_avp_data data = {
3698 842, /* Code */
3699 10415, /* Vendor */
3700 "SDP-Session-Description", /* Name */
3701 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3702 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3703 AVP_TYPE_OCTETSTRING /* base type of data */
3704 };
3705 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3706 };
3707 /* SDP-Type */
3708 {
3709 struct dict_avp_data data = {
3710 2036, /* Code */
3711 10415, /* Vendor */
3712 "SDP-Type", /* Name */
3713 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3714 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3715 AVP_TYPE_INTEGER32 /* base type of data */
3716 };
3717 struct dict_object *type;
3718 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SDP-Type)", NULL, NULL, NULL };
3719 struct dict_enumval_data t_1 = { "SDP_Offer", { .i32=0 }};
3720 struct dict_enumval_data t_2 = { "SDP_Answer", { .i32=1 }};
3721 /* Create the Enumerated type, and then the AVP */
3722 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3723 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3724 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3725 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3726 };
3727 /* Serving-Node-Identity */
3728 {
3729 struct dict_avp_data data = {
3730 3929, /* Code */
3731 10415, /* Vendor */
3732 "Serving-Node-Identity", /* Name */
3733 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3734 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3735 AVP_TYPE_OCTETSTRING /* base type of data */
3736 };
3737 CHECK_dict_new( DICT_AVP, &data, DiameterIdentity_type, NULL);
3738 };
3739 /* Served-Party-IP-Address */
3740 {
3741 struct dict_avp_data data = {
3742 848, /* Code */
3743 10415, /* Vendor */
3744 "Served-Party-IP-Address", /* Name */
3745 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3746 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3747 AVP_TYPE_OCTETSTRING /* base type of data */
3748 };
3749 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
3750 };
3751 /* Service-Id */
3752 {
3753 struct dict_avp_data data = {
3754 855, /* Code */
3755 10415, /* Vendor */
3756 "Service-Id", /* Name */
3757 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3758 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3759 AVP_TYPE_OCTETSTRING /* base type of data */
3760 };
3761 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3762 };
3763 /* Service-Mode */
3764 {
3765 struct dict_avp_data data = {
3766 2032, /* Code */
3767 10415, /* Vendor */
3768 "Service-Mode", /* Name */
3769 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3770 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3771 AVP_TYPE_UNSIGNED32 /* base type of data */
3772 };
3773 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3774 };
3775 /* Service-Specific-Data */
3776 {
3777 struct dict_avp_data data = {
3778 863, /* Code */
3779 10415, /* Vendor */
3780 "Service-Specific-Data", /* Name */
3781 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3782 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3783 AVP_TYPE_OCTETSTRING /* base type of data */
3784 };
3785 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3786 };
3787 /* Service-Specific-Type */
3788 {
3789 struct dict_avp_data data = {
3790 1257, /* Code */
3791 10415, /* Vendor */
3792 "Service-Specific-Type", /* Name */
3793 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3794 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3795 AVP_TYPE_UNSIGNED32 /* base type of data */
3796 };
3797 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3798 };
3799 /* Serving-Node-Type */
3800 {
3801 struct dict_avp_data data = {
3802 2047, /* Code */
3803 10415, /* Vendor */
3804 "Serving-Node-Type", /* Name */
3805 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3806 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3807 AVP_TYPE_INTEGER32 /* base type of data */
3808 };
3809 struct dict_object *type;
3810 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Serving-Node-Type)", NULL, NULL, NULL };
3811 struct dict_enumval_data t_1 = { "SGSN", { .i32=0 }};
3812 struct dict_enumval_data t_2 = { "PMIPSGW", { .i32=1 }};
3813 struct dict_enumval_data t_3 = { "GTPSGW", { .i32=2 }};
3814 struct dict_enumval_data t_4 = { "ePDG", { .i32=3 }};
3815 struct dict_enumval_data t_5 = { "hSGW", { .i32=4 }};
3816 struct dict_enumval_data t_6 = { "MME", { .i32=5 }};
3817 struct dict_enumval_data t_7 = { "TWAN", { .i32=6 }};
3818 /* Create the Enumerated type, and then the AVP */
3819 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3820 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3821 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3822 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
3823 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
3824 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
3825 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
3826 CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL);
3827 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3828 };
3829 /* Session-Direction */
3830 {
3831 struct dict_avp_data data = {
3832 2707, /* Code */
3833 10415, /* Vendor */
3834 "Session-Direction", /* Name */
3835 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3836 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3837 AVP_TYPE_INTEGER32 /* base type of data */
3838 };
3839 struct dict_object *type;
3840 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Session-Direction)", NULL, NULL, NULL };
3841 struct dict_enumval_data t_1 = { "inbound", { .i32=0 }};
3842 struct dict_enumval_data t_2 = { "outbound", { .i32=1 }};
3843 /* Create the Enumerated type, and then the AVP */
3844 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3845 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3846 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3847 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3848 };
3849 /* SGi-PtP-Tunnelling-Method */
3850 {
3851 struct dict_avp_data data = {
3852 3931, /* Code */
3853 10415, /* Vendor */
3854 "SGi-PtP-Tunnelling-Method", /* Name */
3855 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3856 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3857 AVP_TYPE_INTEGER32 /* base type of data */
3858 };
3859 struct dict_object *type;
3860 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SGi-PtP-Tunnelling-Method)", NULL, NULL, NULL };
3861 struct dict_enumval_data t_1 = { "UDP_IP_based", { .i32=0 }};
3862 struct dict_enumval_data t_2 = { "Others", { .i32=1 }};
3863 /* Create the Enumerated type, and then the AVP */
3864 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3865 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3866 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3867 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3868 };
3869 /* SGSN-Address */
3870 {
3871 struct dict_avp_data data = {
3872 1228, /* Code */
3873 10415, /* Vendor */
3874 "SGSN-Address", /* Name */
3875 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3876 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3877 AVP_TYPE_OCTETSTRING /* base type of data */
3878 };
3879 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
3880 };
3881 /* SGW-Address */
3882 {
3883 struct dict_avp_data data = {
3884 2067, /* Code */
3885 10415, /* Vendor */
3886 "SGW-Address", /* Name */
3887 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3888 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3889 AVP_TYPE_OCTETSTRING /* base type of data */
3890 };
3891 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
3892 };
3893 /* SGW-Change */
3894 {
3895 struct dict_avp_data data = {
3896 2065, /* Code */
3897 10415, /* Vendor */
3898 "SGW-Change", /* Name */
3899 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3900 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3901 AVP_TYPE_INTEGER32 /* base type of data */
3902 };
3903 struct dict_object *type;
3904 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SGW-Change)", NULL, NULL, NULL };
3905 struct dict_enumval_data t_1 = { "ACR_Start_NOT_due_to_SGW_Change", { .i32=0 }};
3906 struct dict_enumval_data t_2 = { "ACR_Start_due_to_SGW_Change", { .i32=1 }};
3907 /* Create the Enumerated type, and then the AVP */
3908 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3909 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3910 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3911 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3912 };
3913 /* SIP-Method */
3914 {
3915 struct dict_avp_data data = {
3916 824, /* Code */
3917 10415, /* Vendor */
3918 "SIP-Method", /* Name */
3919 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3920 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3921 AVP_TYPE_OCTETSTRING /* base type of data */
3922 };
3923 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
3924 };
3925 /* SIP-Request-Timestamp */
3926 {
3927 struct dict_avp_data data = {
3928 834, /* Code */
3929 10415, /* Vendor */
3930 "SIP-Request-Timestamp", /* Name */
3931 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3932 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3933 AVP_TYPE_OCTETSTRING /* base type of data */
3934 };
3935 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
3936 };
3937 /* SIP-Request-Timestamp-Fraction */
3938 {
3939 struct dict_avp_data data = {
3940 2301, /* Code */
3941 10415, /* Vendor */
3942 "SIP-Request-Timestamp-Fraction", /* Name */
3943 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3944 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3945 AVP_TYPE_UNSIGNED32 /* base type of data */
3946 };
3947 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3948 };
3949 /* SIP-Response-Timestamp */
3950 {
3951 struct dict_avp_data data = {
3952 835, /* Code */
3953 10415, /* Vendor */
3954 "SIP-Response-Timestamp", /* Name */
3955 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3956 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3957 AVP_TYPE_OCTETSTRING /* base type of data */
3958 };
3959 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
3960 };
3961 /* SIP-Response-Timestamp-Fraction */
3962 {
3963 struct dict_avp_data data = {
3964 2302, /* Code */
3965 10415, /* Vendor */
3966 "SIP-Response-Timestamp-Fraction", /* Name */
3967 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3968 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3969 AVP_TYPE_UNSIGNED32 /* base type of data */
3970 };
3971 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
3972 };
3973 /* SM-Device-Trigger-Indicator */
3974 {
3975 struct dict_avp_data data = {
3976 3407, /* Code */
3977 10415, /* Vendor */
3978 "SM-Device-Trigger-Indicator", /* Name */
3979 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
3980 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
3981 AVP_TYPE_INTEGER32 /* base type of data */
3982 };
3983 struct dict_object *type;
3984 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SM-Device-Trigger-Indicator)", NULL, NULL, NULL };
3985 struct dict_enumval_data t_1 = { "Not_DeviceTrigger", { .i32=0 }};
3986 struct dict_enumval_data t_2 = { "Device_Trigger", { .i32=1 }};
3987 /* Create the Enumerated type, and then the AVP */
3988 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
3989 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
3990 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
3991 CHECK_dict_new( DICT_AVP, &data, type, NULL);
3992 };
3993 /* SM-Discharge-Time */
3994 {
3995 struct dict_avp_data data = {
3996 2012, /* Code */
3997 10415, /* Vendor */
3998 "SM-Discharge-Time", /* Name */
3999 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4000 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4001 AVP_TYPE_OCTETSTRING /* base type of data */
4002 };
4003 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4004 };
4005 /* SM-Message-Type */
4006 {
4007 struct dict_avp_data data = {
4008 2007, /* Code */
4009 10415, /* Vendor */
4010 "SM-Message-Type", /* Name */
4011 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4012 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4013 AVP_TYPE_INTEGER32 /* base type of data */
4014 };
4015 struct dict_object *type;
4016 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SM-Message-Type)", NULL, NULL, NULL };
4017 struct dict_enumval_data t_1 = { "SUBMISSION", { .i32=0 }};
4018 struct dict_enumval_data t_2 = { "DELIVERY_REPORT", { .i32=1 }};
4019 struct dict_enumval_data t_3 = { "SM_Service_Request", { .i32=2 }};
4020 /* Create the Enumerated type, and then the AVP */
4021 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4022 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4023 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4024 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
4025 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4026 };
4027 /* SM-Protocol-ID */
4028 {
4029 struct dict_avp_data data = {
4030 2013, /* Code */
4031 10415, /* Vendor */
4032 "SM-Protocol-ID", /* Name */
4033 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4034 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4035 AVP_TYPE_OCTETSTRING /* base type of data */
4036 };
4037 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4038 };
4039 /* SM-Sequence-Number */
4040 {
4041 struct dict_avp_data data = {
4042 3408, /* Code */
4043 10415, /* Vendor */
4044 "SM-Sequence-Number", /* Name */
4045 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4046 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4047 AVP_TYPE_UNSIGNED32 /* base type of data */
4048 };
4049 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4050 };
4051 /* SM-Service-Type */
4052 {
4053 struct dict_avp_data data = {
4054 2029, /* Code */
4055 10415, /* Vendor */
4056 "SM-Service-Type", /* Name */
4057 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4058 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4059 AVP_TYPE_INTEGER32 /* base type of data */
4060 };
4061 struct dict_object *type;
4062 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SM-Service-Type)", NULL, NULL, NULL };
4063 struct dict_enumval_data t_1 = { "VAS4SMS_Short_Message_content_processing", { .i32=0 }};
4064 struct dict_enumval_data t_2 = { "VAS4SMS_Short_Message_forwarding", { .i32=1 }};
4065 struct dict_enumval_data t_3 = { "VAS4SMS_Short_Message_Deferred_Delivery", { .i32=10 }};
4066 struct dict_enumval_data t_4 = { "VAS4SMS_Short_Message_Forwarding_multiple_subscriptions", { .i32=2 }};
4067 struct dict_enumval_data t_5 = { "VAS4SMS_Short_Message_filtering", { .i32=3 }};
4068 struct dict_enumval_data t_6 = { "VAS4SMS_Short_Message_receipt", { .i32=4 }};
4069 struct dict_enumval_data t_7 = { "VAS4SMS_Short_Message_Network_Storage", { .i32=5 }};
4070 struct dict_enumval_data t_8 = { "VAS4SMS_Short_Message_to_multiple_destinations", { .i32=6 }};
4071 struct dict_enumval_data t_9 = { "VAS4SMS_Short_Message_Auto_Reply", { .i32=8 }};
4072 struct dict_enumval_data t_10 = { "VAS4SMS_Short_Message_Personal_Signature", { .i32=9 }};
4073 /* Create the Enumerated type, and then the AVP */
4074 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4075 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4076 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4077 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
4078 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
4079 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
4080 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
4081 CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL);
4082 CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL);
4083 CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL);
4084 CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL);
4085 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4086 };
4087 /* SM-Status */
4088 {
4089 struct dict_avp_data data = {
4090 2014, /* Code */
4091 10415, /* Vendor */
4092 "SM-Status", /* Name */
4093 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4094 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4095 AVP_TYPE_OCTETSTRING /* base type of data */
4096 };
4097 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4098 };
4099 /* SM-User-Data-Header */
4100 {
4101 struct dict_avp_data data = {
4102 2015, /* Code */
4103 10415, /* Vendor */
4104 "SM-User-Data-Header", /* Name */
4105 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4106 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4107 AVP_TYPE_OCTETSTRING /* base type of data */
4108 };
4109 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4110 };
4111 /* SMS-Node */
4112 {
4113 struct dict_avp_data data = {
4114 2016, /* Code */
4115 10415, /* Vendor */
4116 "SMS-Node", /* Name */
4117 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4118 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4119 AVP_TYPE_INTEGER32 /* base type of data */
4120 };
4121 struct dict_object *type;
4122 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SMS-Node)", NULL, NULL, NULL };
4123 struct dict_enumval_data t_1 = { "SMS_Router", { .i32=0 }};
4124 struct dict_enumval_data t_2 = { "IP_SM_GW", { .i32=1 }};
4125 struct dict_enumval_data t_3 = { "SMS_Router_and_IP_SM_GW", { .i32=2 }};
4126 struct dict_enumval_data t_4 = { "SMS_SC", { .i32=3 }};
4127 /* Create the Enumerated type, and then the AVP */
4128 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4129 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4130 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4131 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
4132 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
4133 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4134 };
4135 /* SMS-Result */
4136 {
4137 struct dict_avp_data data = {
4138 3409, /* Code */
4139 10415, /* Vendor */
4140 "SMS-Result", /* Name */
4141 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4142 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4143 AVP_TYPE_UNSIGNED32 /* base type of data */
4144 };
4145 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4146 };
4147 /* SMSC-Address */
4148 {
4149 struct dict_avp_data data = {
4150 2017, /* Code */
4151 10415, /* Vendor */
4152 "SMSC-Address", /* Name */
4153 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4154 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4155 AVP_TYPE_OCTETSTRING /* base type of data */
4156 };
4157 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
4158 };
4159 /* Start-of-Charging */
4160 {
4161 struct dict_avp_data data = {
4162 3419, /* Code */
4163 10415, /* Vendor */
4164 "Start-of-Charging", /* Name */
4165 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4166 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4167 AVP_TYPE_OCTETSTRING /* base type of data */
4168 };
4169 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4170 };
4171 /* Start-Time */
4172 {
4173 struct dict_avp_data data = {
4174 2041, /* Code */
4175 10415, /* Vendor */
4176 "Start-Time", /* Name */
4177 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4178 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4179 AVP_TYPE_OCTETSTRING /* base type of data */
4180 };
4181 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4182 };
4183 /* Status-AS-Code */
4184 {
4185 struct dict_avp_data data = {
4186 2702, /* Code */
4187 10415, /* Vendor */
4188 "Status-AS-Code", /* Name */
4189 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4190 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4191 AVP_TYPE_INTEGER32 /* base type of data */
4192 };
4193 struct dict_object *type;
4194 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Status-AS-Code)", NULL, NULL, NULL };
4195 struct dict_enumval_data t_1 = { "4xx", { .i32=0 }};
4196 struct dict_enumval_data t_2 = { "5xx", { .i32=1 }};
4197 struct dict_enumval_data t_3 = { "Timeout", { .i32=2 }};
4198 /* Create the Enumerated type, and then the AVP */
4199 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4200 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4201 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4202 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
4203 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4204 };
4205 /* Stop-Time */
4206 {
4207 struct dict_avp_data data = {
4208 2042, /* Code */
4209 10415, /* Vendor */
4210 "Stop-Time", /* Name */
4211 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4212 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4213 AVP_TYPE_OCTETSTRING /* base type of data */
4214 };
4215 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4216 };
4217 /* Submission-Time */
4218 {
4219 struct dict_avp_data data = {
4220 1202, /* Code */
4221 10415, /* Vendor */
4222 "Submission-Time", /* Name */
4223 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4224 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4225 AVP_TYPE_OCTETSTRING /* base type of data */
4226 };
4227 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4228 };
4229 /* Subscriber-Role */
4230 {
4231 struct dict_avp_data data = {
4232 2033, /* Code */
4233 10415, /* Vendor */
4234 "Subscriber-Role", /* Name */
4235 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4236 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4237 AVP_TYPE_INTEGER32 /* base type of data */
4238 };
4239 struct dict_object *type;
4240 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Subscriber-Role)", NULL, NULL, NULL };
4241 struct dict_enumval_data t_1 = { "Originating", { .i32=0 }};
4242 struct dict_enumval_data t_2 = { "Terminating", { .i32=1 }};
4243 /* Create the Enumerated type, and then the AVP */
4244 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4245 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4246 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4247 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4248 };
4249 /* TAD-Identifier */
4250 {
4251 struct dict_avp_data data = {
4252 2717, /* Code */
4253 10415, /* Vendor */
4254 "TAD-Identifier", /* Name */
4255 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4256 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4257 AVP_TYPE_INTEGER32 /* base type of data */
4258 };
4259 struct dict_object *type;
4260 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(TAD-Identifier)", NULL, NULL, NULL };
4261 struct dict_enumval_data t_1 = { "CS", { .i32=0 }};
4262 struct dict_enumval_data t_2 = { "PS", { .i32=1 }};
4263 /* Create the Enumerated type, and then the AVP */
4264 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4265 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4266 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4267 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4268 };
4269 /* Talk-Burst-Time */
4270 {
4271 struct dict_avp_data data = {
4272 1286, /* Code */
4273 10415, /* Vendor */
4274 "Talk-Burst-Time", /* Name */
4275 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4276 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4277 AVP_TYPE_UNSIGNED32 /* base type of data */
4278 };
4279 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4280 };
4281 /* Talk-Burst-Volume */
4282 {
4283 struct dict_avp_data data = {
4284 1287, /* Code */
4285 10415, /* Vendor */
4286 "Talk-Burst-Volume", /* Name */
4287 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4288 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4289 AVP_TYPE_UNSIGNED32 /* base type of data */
4290 };
4291 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4292 };
4293 /* Tariff-XML */
4294 {
4295 struct dict_avp_data data = {
4296 2306, /* Code */
4297 10415, /* Vendor */
4298 "Tariff-XML", /* Name */
4299 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4300 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4301 AVP_TYPE_OCTETSTRING /* base type of data */
4302 };
4303 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
4304 };
4305 /* Teleservice */
4306 {
4307 struct dict_avp_data data = {
4308 3413, /* Code */
4309 10415, /* Vendor */
4310 "Teleservice", /* Name */
4311 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4312 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4313 AVP_TYPE_OCTETSTRING /* base type of data */
4314 };
4315 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4316 };
4317 /* Terminating-IOI */
4318 {
4319 struct dict_avp_data data = {
4320 840, /* Code */
4321 10415, /* Vendor */
4322 "Terminating-IOI", /* Name */
4323 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4324 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4325 AVP_TYPE_OCTETSTRING /* base type of data */
4326 };
4327 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
4328 };
4329 /* Time-First-Reception */
4330 {
4331 struct dict_avp_data data = {
4332 3466, /* Code */
4333 10415, /* Vendor */
4334 "Time-First-Reception", /* Name */
4335 0, /* Fixed flags */
4336 0, /* Fixed flag values */
4337 AVP_TYPE_OCTETSTRING /* base type of data */
4338 };
4339 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4340 };
4341 /* Time-First-Transmission */
4342 {
4343 struct dict_avp_data data = {
4344 3467, /* Code */
4345 10415, /* Vendor */
4346 "Time-First-Transmission", /* Name */
4347 0, /* Fixed flags */
4348 0, /* Fixed flag values */
4349 AVP_TYPE_OCTETSTRING /* base type of data */
4350 };
4351 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4352 };
4353 /* Time-First-Usage */
4354 {
4355 struct dict_avp_data data = {
4356 2043, /* Code */
4357 10415, /* Vendor */
4358 "Time-First-Usage", /* Name */
4359 0, /* Fixed flags */
4360 0, /* Fixed flag values */
4361 AVP_TYPE_OCTETSTRING /* base type of data */
4362 };
4363 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4364 };
4365 /* Time-Indicator */
4366 {
4367 struct dict_avp_data data = {
4368 3911, /* Code */
4369 10415, /* Vendor */
4370 "Time-Indicator", /* Name */
4371 0, /* Fixed flags */
4372 0, /* Fixed flag values */
4373 AVP_TYPE_UNSIGNED32 /* base type of data */
4374 };
4375 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4376 };
4377 /* Time-Last-Usage */
4378 {
4379 struct dict_avp_data data = {
4380 2044, /* Code */
4381 10415, /* Vendor */
4382 "Time-Last-Usage", /* Name */
4383 0, /* Fixed flags */
4384 0, /* Fixed flag values */
4385 AVP_TYPE_OCTETSTRING /* base type of data */
4386 };
4387 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4388 };
4389 /* Time-Quota-Threshold */
4390 {
4391 struct dict_avp_data data = {
4392 868, /* Code */
4393 10415, /* Vendor */
4394 "Time-Quota-Threshold", /* Name */
4395 0, /* Fixed flags */
4396 0, /* Fixed flag values */
4397 AVP_TYPE_UNSIGNED32 /* base type of data */
4398 };
4399 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4400 };
4401 /* Time-Quota-Type */
4402 {
4403 struct dict_avp_data data = {
4404 1271, /* Code */
4405 10415, /* Vendor */
4406 "Time-Quota-Type", /* Name */
4407 0, /* Fixed flags */
4408 0, /* Fixed flag values */
4409 AVP_TYPE_INTEGER32 /* base type of data */
4410 };
4411 struct dict_object *type;
4412 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Time-Quota-Type)", NULL, NULL, NULL };
4413 struct dict_enumval_data t_1 = { "DISCRETE_TIME_PERIOD", { .i32=0 }};
4414 struct dict_enumval_data t_2 = { "CONTINUOUS_TIME_PERIOD", { .i32=1 }};
4415 /* Create the Enumerated type, and then the AVP */
4416 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4417 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4418 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4419 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4420 };
4421 /* Time-Usage */
4422 {
4423 struct dict_avp_data data = {
4424 2045, /* Code */
4425 10415, /* Vendor */
4426 "Time-Usage", /* Name */
4427 0, /* Fixed flags */
4428 0, /* Fixed flag values */
4429 AVP_TYPE_UNSIGNED32 /* base type of data */
4430 };
4431 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4432 };
4433 /* Token-Text */
4434 {
4435 struct dict_avp_data data = {
4436 1215, /* Code */
4437 10415, /* Vendor */
4438 "Token-Text", /* Name */
4439 0, /* Fixed flags */
4440 0, /* Fixed flag values */
4441 AVP_TYPE_OCTETSTRING /* base type of data */
4442 };
4443 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
4444 };
4445 /* Transcoder-Inserted-Indication */
4446 {
4447 struct dict_avp_data data = {
4448 2605, /* Code */
4449 10415, /* Vendor */
4450 "Transcoder-Inserted-Indication", /* Name */
4451 0, /* Fixed flags */
4452 0, /* Fixed flag values */
4453 AVP_TYPE_INTEGER32 /* base type of data */
4454 };
4455 struct dict_object *type;
4456 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Transcoder-Inserted-Indication)", NULL, NULL, NULL };
4457 struct dict_enumval_data t_1 = { "Transcoder_Not_Inserted", { .i32=0 }};
4458 struct dict_enumval_data t_2 = { "Transcoder_Inserted", { .i32=1 }};
4459 /* Create the Enumerated type, and then the AVP */
4460 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4461 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4462 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4463 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4464 };
4465 /* Transit-IOI-List */
4466 {
4467 struct dict_avp_data data = {
4468 2701, /* Code */
4469 10415, /* Vendor */
4470 "Transit-IOI-List", /* Name */
4471 0, /* Fixed flags */
4472 0, /* Fixed flag values */
4473 AVP_TYPE_OCTETSTRING /* base type of data */
4474 };
4475 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
4476 };
4477 /* Trigger-Type */
4478 {
4479 struct dict_avp_data data = {
4480 870, /* Code */
4481 10415, /* Vendor */
4482 "Trigger-Type", /* Name */
4483 0, /* Fixed flags */
4484 0, /* Fixed flag values */
4485 AVP_TYPE_INTEGER32 /* base type of data */
4486 };
4487 struct dict_object *type;
4488 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Trigger-Type)", NULL, NULL, NULL };
4489 struct dict_enumval_data t_1 = { "CHANGE_IN_SGSN_IP_ADDRESS", { .i32=1 }};
4490 struct dict_enumval_data t_2 = { "CHANGE_IN_QOS", { .i32=2 }};
4491 struct dict_enumval_data t_3 = { "CHANGE_IN_LOCATION", { .i32=3 }};
4492 struct dict_enumval_data t_4 = { "CHANGE_IN_RAT", { .i32=4 }};
4493 struct dict_enumval_data t_5 = { "CHANGE_IN_UE_TIMEZONE", { .i32=5 }};
4494 struct dict_enumval_data t_6 = { "CHANGEINQOS_TRAFFIC_CLASS", { .i32=10 }};
4495 struct dict_enumval_data t_7 = { "CHANGEINQOS_RELIABILITY_CLASS", { .i32=11 }};
4496 struct dict_enumval_data t_8 = { "CHANGEINQOS_DELAY_CLASS", { .i32=12 }};
4497 struct dict_enumval_data t_9 = { "CHANGEINQOS_PEAK_THROUGHPUT", { .i32=13 }};
4498 struct dict_enumval_data t_10 = { "CHANGEINQOS_PRECEDENCE_CLASS", { .i32=14 }};
4499 struct dict_enumval_data t_11 = { "CHANGEINQOS_MEAN_THROUGHPUT", { .i32=15 }};
4500 struct dict_enumval_data t_12 = { "CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK", { .i32=16 }};
4501 struct dict_enumval_data t_13 = { "CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK", { .i32=17 }};
4502 struct dict_enumval_data t_14 = { "CHANGEINQOS_RESIDUAL_BER", { .i32=18 }};
4503 struct dict_enumval_data t_15 = { "CHANGEINQOS_SDU_ERROR_RATIO", { .i32=19 }};
4504 struct dict_enumval_data t_16 = { "CHANGEINQOS_TRANSFER_DELAY", { .i32=20 }};
4505 struct dict_enumval_data t_17 = { "CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY", { .i32=21 }};
4506 struct dict_enumval_data t_18 = { "CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK", { .i32=22 }};
4507 struct dict_enumval_data t_19 = { "CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK", { .i32=23 }};
4508 struct dict_enumval_data t_20 = { "CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE", { .i32=24 }};
4509 struct dict_enumval_data t_21 = { "CHANGEINLOCATION_MCC", { .i32=30 }};
4510 struct dict_enumval_data t_22 = { "CHANGEINLOCATION_MNC", { .i32=31 }};
4511 struct dict_enumval_data t_23 = { "CHANGEINLOCATION_RAC", { .i32=32 }};
4512 struct dict_enumval_data t_24 = { "CHANGEINLOCATION_LAC", { .i32=33 }};
4513 struct dict_enumval_data t_25 = { "CHANGEINLOCATION_CellId", { .i32=34 }};
4514 struct dict_enumval_data t_26 = { "CHANGEINLOCATION_TAC", { .i32=35 }};
4515 struct dict_enumval_data t_27 = { "CHANGEINLOCATION_ECGI", { .i32=36 }};
4516 struct dict_enumval_data t_28 = { "CHANGE_IN_MEDIA_COMPOSITION", { .i32=40 }};
4517 struct dict_enumval_data t_29 = { "CHANGE_IN_PARTICIPANTS_NMB", { .i32=50 }};
4518 struct dict_enumval_data t_30 = { "CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB", { .i32=51 }};
4519 struct dict_enumval_data t_31 = { "CHANGE_IN_USER_PARTICIPATING_TYPE", { .i32=52 }};
4520 struct dict_enumval_data t_32 = { "CHANGE_IN_SERVICE_CONDITION", { .i32=60 }};
4521 struct dict_enumval_data t_33 = { "CHANGE_IN_SERVING_NODE", { .i32=61 }};
4522 struct dict_enumval_data t_34 = { "CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW", { .i32=62 }};
4523 struct dict_enumval_data t_35 = { "CHANGE_IN_USER_CSG_INFORMATION", { .i32=70 }};
4524 struct dict_enumval_data t_36 = { "CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION", { .i32=71 }};
4525 struct dict_enumval_data t_37 = { "CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION", { .i32=72 }};
4526 struct dict_enumval_data t_38 = { "CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA", { .i32=73 }};
4527 struct dict_enumval_data t_39 = { "CHANGE_IN_APN_RATE_CONTROL", { .i32=75 }};
4528 struct dict_enumval_data t_40 = { "CHANGE_IN_3GPP_PS_DATA_OFF", { .i32=76 }};
4529 /* Create the Enumerated type, and then the AVP */
4530 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4531 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4532 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4533 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
4534 CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL);
4535 CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL);
4536 CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL);
4537 CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL);
4538 CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL);
4539 CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL);
4540 CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL);
4541 CHECK_dict_new( DICT_ENUMVAL, &t_11, type, NULL);
4542 CHECK_dict_new( DICT_ENUMVAL, &t_12, type, NULL);
4543 CHECK_dict_new( DICT_ENUMVAL, &t_13, type, NULL);
4544 CHECK_dict_new( DICT_ENUMVAL, &t_14, type, NULL);
4545 CHECK_dict_new( DICT_ENUMVAL, &t_15, type, NULL);
4546 CHECK_dict_new( DICT_ENUMVAL, &t_16, type, NULL);
4547 CHECK_dict_new( DICT_ENUMVAL, &t_17, type, NULL);
4548 CHECK_dict_new( DICT_ENUMVAL, &t_18, type, NULL);
4549 CHECK_dict_new( DICT_ENUMVAL, &t_19, type, NULL);
4550 CHECK_dict_new( DICT_ENUMVAL, &t_20, type, NULL);
4551 CHECK_dict_new( DICT_ENUMVAL, &t_21, type, NULL);
4552 CHECK_dict_new( DICT_ENUMVAL, &t_22, type, NULL);
4553 CHECK_dict_new( DICT_ENUMVAL, &t_23, type, NULL);
4554 CHECK_dict_new( DICT_ENUMVAL, &t_24, type, NULL);
4555 CHECK_dict_new( DICT_ENUMVAL, &t_25, type, NULL);
4556 CHECK_dict_new( DICT_ENUMVAL, &t_26, type, NULL);
4557 CHECK_dict_new( DICT_ENUMVAL, &t_27, type, NULL);
4558 CHECK_dict_new( DICT_ENUMVAL, &t_28, type, NULL);
4559 CHECK_dict_new( DICT_ENUMVAL, &t_29, type, NULL);
4560 CHECK_dict_new( DICT_ENUMVAL, &t_30, type, NULL);
4561 CHECK_dict_new( DICT_ENUMVAL, &t_31, type, NULL);
4562 CHECK_dict_new( DICT_ENUMVAL, &t_32, type, NULL);
4563 CHECK_dict_new( DICT_ENUMVAL, &t_33, type, NULL);
4564 CHECK_dict_new( DICT_ENUMVAL, &t_34, type, NULL);
4565 CHECK_dict_new( DICT_ENUMVAL, &t_35, type, NULL);
4566 CHECK_dict_new( DICT_ENUMVAL, &t_36, type, NULL);
4567 CHECK_dict_new( DICT_ENUMVAL, &t_37, type, NULL);
4568 CHECK_dict_new( DICT_ENUMVAL, &t_38, type, NULL);
4569 CHECK_dict_new( DICT_ENUMVAL, &t_39, type, NULL);
4570 CHECK_dict_new( DICT_ENUMVAL, &t_40, type, NULL);
4571 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4572 };
4573 /* TWAG-Address */
4574 {
4575 struct dict_avp_data data = {
4576 3903, /* Code */
4577 10415, /* Vendor */
4578 "TWAG-Address", /* Name */
4579 0, /* Fixed flags */
4580 0, /* Fixed flag values */
4581 AVP_TYPE_OCTETSTRING /* base type of data */
4582 };
4583 CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
4584 };
4585 /* Type-Number */
4586 {
4587 struct dict_avp_data data = {
4588 1204, /* Code */
4589 10415, /* Vendor */
4590 "Type-Number", /* Name */
4591 0, /* Fixed flags */
4592 0, /* Fixed flag values */
4593 AVP_TYPE_UNSIGNED32 /* base type of data */
4594 };
4595 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4596 };
4597 /* UNI-PDU-CP-Only-Flag */
4598 {
4599 struct dict_avp_data data = {
4600 3932, /* Code */
4601 10415, /* Vendor */
4602 "UNI-PDU-CP-Only-Flag", /* Name */
4603 0, /* Fixed flags */
4604 0, /* Fixed flag values */
4605 AVP_TYPE_INTEGER32 /* base type of data */
4606 };
4607 struct dict_object *type;
4608 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(UNI-PDU-CP-Only-Flag)", NULL, NULL, NULL };
4609 struct dict_enumval_data t_1 = { "UNI_PDU_both_UP_CP", { .i32=0 }};
4610 struct dict_enumval_data t_2 = { "UNI_PDU_CP_Only", { .i32=1 }};
4611 /* Create the Enumerated type, and then the AVP */
4612 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4613 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4614 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4615 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4616 };
4617 /* Unit-Quota-Threshold */
4618 {
4619 struct dict_avp_data data = {
4620 1226, /* Code */
4621 10415, /* Vendor */
4622 "Unit-Quota-Threshold", /* Name */
4623 0, /* Fixed flags */
4624 0, /* Fixed flag values */
4625 AVP_TYPE_UNSIGNED32 /* base type of data */
4626 };
4627 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4628 };
4629 /* Usage-Information-Report-Sequence-Number */
4630 {
4631 struct dict_avp_data data = {
4632 3439, /* Code */
4633 10415, /* Vendor */
4634 "Usage-Information-Report-Sequence-Number", /* Name */
4635 0, /* Fixed flags */
4636 0, /* Fixed flag values */
4637 AVP_TYPE_INTEGER32 /* base type of data */
4638 };
4639 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4640 };
4641 /* User-Participating-Type */
4642 {
4643 struct dict_avp_data data = {
4644 1279, /* Code */
4645 10415, /* Vendor */
4646 "User-Participating-Type", /* Name */
4647 0, /* Fixed flags */
4648 0, /* Fixed flag values */
4649 AVP_TYPE_INTEGER32 /* base type of data */
4650 };
4651 struct dict_object *type;
4652 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(User-Participating-Type)", NULL, NULL, NULL };
4653 struct dict_enumval_data t_1 = { "Normal", { .i32=0 }};
4654 struct dict_enumval_data t_2 = { "NW_PoC_Box", { .i32=1 }};
4655 struct dict_enumval_data t_3 = { "UE_PoC_Box", { .i32=2 }};
4656 /* Create the Enumerated type, and then the AVP */
4657 CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type);
4658 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
4659 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
4660 CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL);
4661 CHECK_dict_new( DICT_AVP, &data, type, NULL);
4662 };
4663 /* User-Session-Id */
4664 {
4665 struct dict_avp_data data = {
4666 830, /* Code */
4667 10415, /* Vendor */
4668 "User-Session-Id", /* Name */
4669 0, /* Fixed flags */
4670 0, /* Fixed flag values */
4671 AVP_TYPE_OCTETSTRING /* base type of data */
4672 };
4673 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
4674 };
4675 /* Variable-Part-Order */
4676 {
4677 struct dict_avp_data data = {
4678 3908, /* Code */
4679 10415, /* Vendor */
4680 "Variable-Part-Order", /* Name */
4681 0, /* Fixed flags */
4682 0, /* Fixed flag values */
4683 AVP_TYPE_UNSIGNED32 /* base type of data */
4684 };
4685 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4686 };
4687 /* Variable-Part-Type */
4688 {
4689 struct dict_avp_data data = {
4690 3909, /* Code */
4691 10415, /* Vendor */
4692 "Variable-Part-Type", /* Name */
4693 0, /* Fixed flags */
4694 0, /* Fixed flag values */
4695 AVP_TYPE_UNSIGNED32 /* base type of data */
4696 };
4697 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4698 };
4699 /* Variable-Part-Value */
4700 {
4701 struct dict_avp_data data = {
4702 3910, /* Code */
4703 10415, /* Vendor */
4704 "Variable-Part-Value", /* Name */
4705 0, /* Fixed flags */
4706 0, /* Fixed flag values */
4707 AVP_TYPE_OCTETSTRING /* base type of data */
4708 };
4709 CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL);
4710 };
4711 /* VLR-Number */
4712 {
4713 struct dict_avp_data data = {
4714 3420, /* Code */
4715 10415, /* Vendor */
4716 "VLR-Number", /* Name */
4717 0, /* Fixed flags */
4718 0, /* Fixed flag values */
4719 AVP_TYPE_OCTETSTRING /* base type of data */
4720 };
4721 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4722 };
4723 /* Volume-Quota-Threshold */
4724 {
4725 struct dict_avp_data data = {
4726 869, /* Code */
4727 10415, /* Vendor */
4728 "Volume-Quota-Threshold", /* Name */
4729 0, /* Fixed flags */
4730 0, /* Fixed flag values */
4731 AVP_TYPE_UNSIGNED32 /* base type of data */
4732 };
4733 CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
4734 };
4735 /* Submission-Timestamp */
4736 {
4737 struct dict_avp_data data = {
4738 9911, /* Code */
4739 10415, /* Vendor */
4740 "Submission-Timestamp", /* Name */
4741 0, /* Fixed flags */
4742 0, /* Fixed flag values */
4743 AVP_TYPE_OCTETSTRING /* base type of data */
4744 };
4745 CHECK_dict_new( DICT_AVP, &data, Time_type, NULL);
4746 };
4747 /* Scale-Factor */
4748 {
4749 /* Grouped */
4750 struct dict_object * avp;
4751 struct dict_avp_data data = {
4752 2059, /* Code */
4753 10415, /* Vendor */
4754 "Scale-Factor", /* Name */
4755 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4756 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4757 AVP_TYPE_GROUPED /* base type of data */
4758 };
4759 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4760 }
4761 /* SDP-Media-Component */
4762 {
4763 /* Grouped */
4764 struct dict_object * avp;
4765 struct dict_avp_data data = {
4766 843, /* Code */
4767 10415, /* Vendor */
4768 "SDP-Media-Component", /* Name */
4769 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4770 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4771 AVP_TYPE_GROUPED /* base type of data */
4772 };
4773 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4774 }
4775 /* UWAN-User-Location-Info */
4776 {
4777 /* Grouped */
4778 struct dict_object * avp;
4779 struct dict_avp_data data = {
4780 3918, /* Code */
4781 10415, /* Vendor */
4782 "UWAN-User-Location-Info", /* Name */
4783 0, /* Fixed flags */
4784 0, /* Fixed flag values */
4785 AVP_TYPE_GROUPED /* base type of data */
4786 };
4787 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4788 }
4789 /* Address-Domain */
4790 {
4791 /* Grouped */
4792 struct dict_object * avp;
4793 struct dict_avp_data data = {
4794 898, /* Code */
4795 10415, /* Vendor */
4796 "Address-Domain", /* Name */
4797 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4798 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4799 AVP_TYPE_GROUPED /* base type of data */
4800 };
4801 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4802 }
4803 /* Location-Info */
4804 {
4805 /* Grouped */
4806 struct dict_object * avp;
4807 struct dict_avp_data data = {
4808 3460, /* Code */
4809 10415, /* Vendor */
4810 "Location-Info", /* Name */
4811 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4812 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4813 AVP_TYPE_GROUPED /* base type of data */
4814 };
4815 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4816 }
4817 /* MBMS-Information */
4818 {
4819 /* Grouped */
4820 struct dict_object * avp;
4821 struct dict_avp_data data = {
4822 880, /* Code */
4823 10415, /* Vendor */
4824 "MBMS-Information", /* Name */
4825 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4826 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4827 AVP_TYPE_GROUPED /* base type of data */
4828 };
4829 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4830 }
4831 /* AoC-Service */
4832 {
4833 /* Grouped */
4834 struct dict_object * avp;
4835 struct dict_avp_data data = {
4836 2311, /* Code */
4837 10415, /* Vendor */
4838 "AoC-Service", /* Name */
4839 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4840 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4841 AVP_TYPE_GROUPED /* base type of data */
4842 };
4843 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4844 }
4845 /* ProSe-Direct-Communication-Transmission-Data-Container */
4846 {
4847 /* Grouped */
4848 struct dict_object * avp;
4849 struct dict_avp_data data = {
4850 3441, /* Code */
4851 10415, /* Vendor */
4852 "ProSe-Direct-Communication-Transmission-Data-Container", /* Name */
4853 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4854 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4855 AVP_TYPE_GROUPED /* base type of data */
4856 };
4857 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4858 }
4859 /* APN-Rate-Control-Downlink */
4860 {
4861 /* Grouped */
4862 struct dict_object * avp;
4863 struct dict_avp_data data = {
4864 3934, /* Code */
4865 10415, /* Vendor */
4866 "APN-Rate-Control-Downlink", /* Name */
4867 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4868 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4869 AVP_TYPE_GROUPED /* base type of data */
4870 };
4871 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4872 }
4873 /* PoC-Information */
4874 {
4875 /* Grouped */
4876 struct dict_object * avp;
4877 struct dict_avp_data data = {
4878 879, /* Code */
4879 10415, /* Vendor */
4880 "PoC-Information", /* Name */
4881 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4882 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4883 AVP_TYPE_GROUPED /* base type of data */
4884 };
4885 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4886 }
4887 /* Supplementary-Service */
4888 {
4889 /* Grouped */
4890 struct dict_object * avp;
4891 struct dict_avp_data data = {
4892 2048, /* Code */
4893 10415, /* Vendor */
4894 "Supplementary-Service", /* Name */
4895 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4896 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4897 AVP_TYPE_GROUPED /* base type of data */
4898 };
4899 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4900 }
4901 /* Transmitter-Info */
4902 {
4903 /* Grouped */
4904 struct dict_object * avp;
4905 struct dict_avp_data data = {
4906 3468, /* Code */
4907 10415, /* Vendor */
4908 "Transmitter-Info", /* Name */
4909 0, /* Fixed flags */
4910 0, /* Fixed flag values */
4911 AVP_TYPE_GROUPED /* base type of data */
4912 };
4913 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4914 }
4915 /* Unit-Cost */
4916 {
4917 /* Grouped */
4918 struct dict_object * avp;
4919 struct dict_avp_data data = {
4920 2061, /* Code */
4921 10415, /* Vendor */
4922 "Unit-Cost", /* Name */
4923 0, /* Fixed flags */
4924 0, /* Fixed flag values */
4925 AVP_TYPE_GROUPED /* base type of data */
4926 };
4927 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4928 }
4929 /* Time-Stamps */
4930 {
4931 /* Grouped */
4932 struct dict_object * avp;
4933 struct dict_avp_data data = {
4934 833, /* Code */
4935 10415, /* Vendor */
4936 "Time-Stamps", /* Name */
4937 0, /* Fixed flags */
4938 0, /* Fixed flag values */
4939 AVP_TYPE_GROUPED /* base type of data */
4940 };
4941 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4942 }
4943 /* NNI-Information */
4944 {
4945 /* Grouped */
4946 struct dict_object * avp;
4947 struct dict_avp_data data = {
4948 2703, /* Code */
4949 10415, /* Vendor */
4950 "NNI-Information", /* Name */
4951 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4952 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4953 AVP_TYPE_GROUPED /* base type of data */
4954 };
4955 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4956 }
4957 /* Trigger */
4958 {
4959 /* Grouped */
4960 struct dict_object * avp;
4961 struct dict_avp_data data = {
4962 1264, /* Code */
4963 10415, /* Vendor */
4964 "Trigger", /* Name */
4965 0, /* Fixed flags */
4966 0, /* Fixed flag values */
4967 AVP_TYPE_GROUPED /* base type of data */
4968 };
4969 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4970 }
4971 /* Related-Trigger */
4972 {
4973 /* Grouped */
4974 struct dict_object * avp;
4975 struct dict_avp_data data = {
4976 3926, /* Code */
4977 10415, /* Vendor */
4978 "Related-Trigger", /* Name */
4979 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4980 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4981 AVP_TYPE_GROUPED /* base type of data */
4982 };
4983 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4984 }
4985 /* Talk-Burst-Exchange */
4986 {
4987 /* Grouped */
4988 struct dict_object * avp;
4989 struct dict_avp_data data = {
4990 1255, /* Code */
4991 10415, /* Vendor */
4992 "Talk-Burst-Exchange", /* Name */
4993 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
4994 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
4995 AVP_TYPE_GROUPED /* base type of data */
4996 };
4997 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
4998 }
4999 /* Time-Quota-Mechanism */
5000 {
5001 /* Grouped */
5002 struct dict_object * avp;
5003 struct dict_avp_data data = {
5004 1270, /* Code */
5005 10415, /* Vendor */
5006 "Time-Quota-Mechanism", /* Name */
5007 0, /* Fixed flags */
5008 0, /* Fixed flag values */
5009 AVP_TYPE_GROUPED /* base type of data */
5010 };
5011 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5012 }
5013 /* Variable-Part */
5014 {
5015 /* Grouped */
5016 struct dict_object * avp;
5017 struct dict_avp_data data = {
5018 3907, /* Code */
5019 10415, /* Vendor */
5020 "Variable-Part", /* Name */
5021 0, /* Fixed flags */
5022 0, /* Fixed flag values */
5023 AVP_TYPE_GROUPED /* base type of data */
5024 };
5025 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5026 }
5027 /* Additional-Content-Information */
5028 {
5029 /* Grouped */
5030 struct dict_object * avp;
5031 struct dict_avp_data data = {
5032 1207, /* Code */
5033 10415, /* Vendor */
5034 "Additional-Content-Information", /* Name */
5035 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5036 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5037 AVP_TYPE_GROUPED /* base type of data */
5038 };
5039 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5040 }
5041 /* APN-Rate-Control-Uplink */
5042 {
5043 /* Grouped */
5044 struct dict_object * avp;
5045 struct dict_avp_data data = {
5046 3935, /* Code */
5047 10415, /* Vendor */
5048 "APN-Rate-Control-Uplink", /* Name */
5049 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5050 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5051 AVP_TYPE_GROUPED /* base type of data */
5052 };
5053 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5054 }
5055 /* Basic-Service-Code */
5056 {
5057 /* Grouped */
5058 struct dict_object * avp;
5059 struct dict_avp_data data = {
5060 3411, /* Code */
5061 10415, /* Vendor */
5062 "Basic-Service-Code", /* Name */
5063 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5064 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5065 AVP_TYPE_GROUPED /* base type of data */
5066 };
5067 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5068 }
5069 /* Event-Type */
5070 {
5071 /* Grouped */
5072 struct dict_object * avp;
5073 struct dict_avp_data data = {
5074 823, /* Code */
5075 10415, /* Vendor */
5076 "Event-Type", /* Name */
5077 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5078 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5079 AVP_TYPE_GROUPED /* base type of data */
5080 };
5081 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5082 }
5083 /* ProSe-Direct-Communication-Reception-Data-Container */
5084 {
5085 /* Grouped */
5086 struct dict_object * avp;
5087 struct dict_avp_data data = {
5088 3461, /* Code */
5089 10415, /* Vendor */
5090 "ProSe-Direct-Communication-Reception-Data-Container", /* Name */
5091 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5092 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5093 AVP_TYPE_GROUPED /* base type of data */
5094 };
5095 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5096 }
5097 /* Originator-Interface */
5098 {
5099 /* Grouped */
5100 struct dict_object * avp;
5101 struct dict_avp_data data = {
5102 2009, /* Code */
5103 10415, /* Vendor */
5104 "Originator-Interface", /* Name */
5105 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5106 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5107 AVP_TYPE_GROUPED /* base type of data */
5108 };
5109 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5110 }
5111 /* Destination-Interface */
5112 {
5113 /* Grouped */
5114 struct dict_object * avp;
5115 struct dict_avp_data data = {
5116 2002, /* Code */
5117 10415, /* Vendor */
5118 "Destination-Interface", /* Name */
5119 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5120 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5121 AVP_TYPE_GROUPED /* base type of data */
5122 };
5123 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5124 }
5125 /* ISUP-Cause */
5126 {
5127 /* Grouped */
5128 struct dict_object * avp;
5129 struct dict_avp_data data = {
5130 3416, /* Code */
5131 10415, /* Vendor */
5132 "ISUP-Cause", /* Name */
5133 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5134 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5135 AVP_TYPE_GROUPED /* base type of data */
5136 };
5137 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5138 }
5139 /* LCS-Requestor-ID */
5140 {
5141 /* Grouped */
5142 struct dict_object * avp;
5143 struct dict_avp_data data = {
5144 1239, /* Code */
5145 10415, /* Vendor */
5146 "LCS-Requestor-ID", /* Name */
5147 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5148 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5149 AVP_TYPE_GROUPED /* base type of data */
5150 };
5151 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5152 }
5153 /* PS-Furnish-Charging-Information */
5154 {
5155 /* Grouped */
5156 struct dict_object * avp;
5157 struct dict_avp_data data = {
5158 865, /* Code */
5159 10415, /* Vendor */
5160 "PS-Furnish-Charging-Information", /* Name */
5161 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5162 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5163 AVP_TYPE_GROUPED /* base type of data */
5164 };
5165 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5166 }
5167 /* User-CSG-Information */
5168 {
5169 /* Grouped */
5170 struct dict_object * avp;
5171 struct dict_avp_data data = {
5172 2319, /* Code */
5173 10415, /* Vendor */
5174 "User-CSG-Information", /* Name */
5175 0, /* Fixed flags */
5176 0, /* Fixed flag values */
5177 AVP_TYPE_GROUPED /* base type of data */
5178 };
5179 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5180 }
5181 /* Called-Identity-Change */
5182 {
5183 /* Grouped */
5184 struct dict_object * avp;
5185 struct dict_avp_data data = {
5186 3917, /* Code */
5187 10415, /* Vendor */
5188 "Called-Identity-Change", /* Name */
5189 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5190 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5191 AVP_TYPE_GROUPED /* base type of data */
5192 };
5193 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5194 }
5195 /* Service-Specific-Info */
5196 {
5197 /* Grouped */
5198 struct dict_object * avp;
5199 struct dict_avp_data data = {
5200 1249, /* Code */
5201 10415, /* Vendor */
5202 "Service-Specific-Info", /* Name */
5203 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5204 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5205 AVP_TYPE_GROUPED /* base type of data */
5206 };
5207 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5208 }
5209 /* Accumulated-Cost */
5210 {
5211 /* Grouped */
5212 struct dict_object * avp;
5213 struct dict_avp_data data = {
5214 2052, /* Code */
5215 10415, /* Vendor */
5216 "Accumulated-Cost", /* Name */
5217 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5218 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5219 AVP_TYPE_GROUPED /* base type of data */
5220 };
5221 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5222 }
5223 /* SCS-AS-Address */
5224 {
5225 /* Grouped */
5226 struct dict_object * avp;
5227 struct dict_avp_data data = {
5228 3940, /* Code */
5229 10415, /* Vendor */
5230 "SCS-AS-Address", /* Name */
5231 0, /* Fixed flags */
5232 0, /* Fixed flag values */
5233 AVP_TYPE_GROUPED /* base type of data */
5234 };
5235 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5236 }
5237 /* Message-Class */
5238 {
5239 /* Grouped */
5240 struct dict_object * avp;
5241 struct dict_avp_data data = {
5242 1213, /* Code */
5243 10415, /* Vendor */
5244 "Message-Class", /* Name */
5245 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5246 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5247 AVP_TYPE_GROUPED /* base type of data */
5248 };
5249 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5250 }
5251 /* Location-Type */
5252 {
5253 /* Grouped */
5254 struct dict_object * avp;
5255 struct dict_avp_data data = {
5256 1244, /* Code */
5257 10415, /* Vendor */
5258 "Location-Type", /* Name */
5259 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5260 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5261 AVP_TYPE_GROUPED /* base type of data */
5262 };
5263 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5264 }
5265 /* Rate-Element */
5266 {
5267 /* Grouped */
5268 struct dict_object * avp;
5269 struct dict_avp_data data = {
5270 2058, /* Code */
5271 10415, /* Vendor */
5272 "Rate-Element", /* Name */
5273 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5274 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5275 AVP_TYPE_GROUPED /* base type of data */
5276 };
5277 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5278 }
5279 /* Participant-Group */
5280 {
5281 /* Grouped */
5282 struct dict_object * avp;
5283 struct dict_avp_data data = {
5284 1260, /* Code */
5285 10415, /* Vendor */
5286 "Participant-Group", /* Name */
5287 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5288 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5289 AVP_TYPE_GROUPED /* base type of data */
5290 };
5291 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5292 }
5293 /* Enhanced-Diagnostics */
5294 {
5295 /* Grouped */
5296 struct dict_object * avp;
5297 struct dict_avp_data data = {
5298 3901, /* Code */
5299 10415, /* Vendor */
5300 "Enhanced-Diagnostics", /* Name */
5301 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5302 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5303 AVP_TYPE_GROUPED /* base type of data */
5304 };
5305 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5306 }
5307 /* Access-Network-Info-Change */
5308 {
5309 /* Grouped */
5310 struct dict_object * avp;
5311 struct dict_avp_data data = {
5312 4401, /* Code */
5313 10415, /* Vendor */
5314 "Access-Network-Info-Change", /* Name */
5315 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5316 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5317 AVP_TYPE_GROUPED /* base type of data */
5318 };
5319 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5320 }
5321 /* PoC-User-Role */
5322 {
5323 /* Grouped */
5324 struct dict_object * avp;
5325 struct dict_avp_data data = {
5326 1252, /* Code */
5327 10415, /* Vendor */
5328 "PoC-User-Role", /* Name */
5329 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5330 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5331 AVP_TYPE_GROUPED /* base type of data */
5332 };
5333 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5334 }
5335 /* LCS-Client-Name */
5336 {
5337 /* Grouped */
5338 struct dict_object * avp;
5339 struct dict_avp_data data = {
5340 1235, /* Code */
5341 10415, /* Vendor */
5342 "LCS-Client-Name", /* Name */
5343 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5344 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5345 AVP_TYPE_GROUPED /* base type of data */
5346 };
5347 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5348 }
5349 /* Message-Body */
5350 {
5351 /* Grouped */
5352 struct dict_object * avp;
5353 struct dict_avp_data data = {
5354 889, /* Code */
5355 10415, /* Vendor */
5356 "Message-Body", /* Name */
5357 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5358 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5359 AVP_TYPE_GROUPED /* base type of data */
5360 };
5361 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5362 }
5363 /* Radio-Parameter-Set-Info */
5364 {
5365 /* Grouped */
5366 struct dict_object * avp;
5367 struct dict_avp_data data = {
5368 3463, /* Code */
5369 10415, /* Vendor */
5370 "Radio-Parameter-Set-Info", /* Name */
5371 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5372 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5373 AVP_TYPE_GROUPED /* base type of data */
5374 };
5375 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5376 }
5377 /* SM-Device-Trigger-Information */
5378 {
5379 /* Grouped */
5380 struct dict_object * avp;
5381 struct dict_avp_data data = {
5382 3405, /* Code */
5383 10415, /* Vendor */
5384 "SM-Device-Trigger-Information", /* Name */
5385 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5386 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5387 AVP_TYPE_GROUPED /* base type of data */
5388 };
5389 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5390 }
5391 /* TWAN-User-Location-Info */
5392 {
5393 /* Grouped */
5394 struct dict_object * avp;
5395 struct dict_avp_data data = {
5396 2714, /* Code */
5397 10415, /* Vendor */
5398 "TWAN-User-Location-Info", /* Name */
5399 0, /* Fixed flags */
5400 0, /* Fixed flag values */
5401 AVP_TYPE_GROUPED /* base type of data */
5402 };
5403 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5404 }
5405 /* VCS-Information */
5406 {
5407 /* Grouped */
5408 struct dict_object * avp;
5409 struct dict_avp_data data = {
5410 3410, /* Code */
5411 10415, /* Vendor */
5412 "VCS-Information", /* Name */
5413 0, /* Fixed flags */
5414 0, /* Fixed flag values */
5415 AVP_TYPE_GROUPED /* base type of data */
5416 };
5417 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5418 }
5419 /* Trunk-Group-ID */
5420 {
5421 /* Grouped */
5422 struct dict_object * avp;
5423 struct dict_avp_data data = {
5424 851, /* Code */
5425 10415, /* Vendor */
5426 "Trunk-Group-ID", /* Name */
5427 0, /* Fixed flags */
5428 0, /* Fixed flag values */
5429 AVP_TYPE_GROUPED /* base type of data */
5430 };
5431 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5432 }
5433 /* Incremental-Cost */
5434 {
5435 /* Grouped */
5436 struct dict_object * avp;
5437 struct dict_avp_data data = {
5438 2062, /* Code */
5439 10415, /* Vendor */
5440 "Incremental-Cost", /* Name */
5441 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5442 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5443 AVP_TYPE_GROUPED /* base type of data */
5444 };
5445 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5446 }
5447 /* SDP-TimeStamps */
5448 {
5449 /* Grouped */
5450 struct dict_object * avp;
5451 struct dict_avp_data data = {
5452 1273, /* Code */
5453 10415, /* Vendor */
5454 "SDP-TimeStamps", /* Name */
5455 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5456 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5457 AVP_TYPE_GROUPED /* base type of data */
5458 };
5459 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5460 }
5461 /* Inter-Operator-Identifier */
5462 {
5463 /* Grouped */
5464 struct dict_object * avp;
5465 struct dict_avp_data data = {
5466 838, /* Code */
5467 10415, /* Vendor */
5468 "Inter-Operator-Identifier", /* Name */
5469 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5470 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5471 AVP_TYPE_GROUPED /* base type of data */
5472 };
5473 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5474 }
5475 /* NIDD-Submission */
5476 {
5477 /* Grouped */
5478 struct dict_object * avp;
5479 struct dict_avp_data data = {
5480 3928, /* Code */
5481 10415, /* Vendor */
5482 "NIDD-Submission", /* Name */
5483 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5484 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5485 AVP_TYPE_GROUPED /* base type of data */
5486 };
5487 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5488 }
5489 /* Application-Server-Information */
5490 {
5491 /* Grouped */
5492 struct dict_object * avp;
5493 struct dict_avp_data data = {
5494 850, /* Code */
5495 10415, /* Vendor */
5496 "Application-Server-Information", /* Name */
5497 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5498 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5499 AVP_TYPE_GROUPED /* base type of data */
5500 };
5501 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5502 }
5503 /* CPDT-Information */
5504 {
5505 /* Grouped */
5506 struct dict_object * avp;
5507 struct dict_avp_data data = {
5508 3927, /* Code */
5509 10415, /* Vendor */
5510 "CPDT-Information", /* Name */
5511 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5512 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5513 AVP_TYPE_GROUPED /* base type of data */
5514 };
5515 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5516 }
5517 /* Envelope */
5518 {
5519 /* Grouped */
5520 struct dict_object * avp;
5521 struct dict_avp_data data = {
5522 1266, /* Code */
5523 10415, /* Vendor */
5524 "Envelope", /* Name */
5525 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5526 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5527 AVP_TYPE_GROUPED /* base type of data */
5528 };
5529 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5530 }
5531 /* Related-Change-Condition-Information */
5532 {
5533 /* Grouped */
5534 struct dict_object * avp;
5535 struct dict_avp_data data = {
5536 3925, /* Code */
5537 10415, /* Vendor */
5538 "Related-Change-Condition-Information", /* Name */
5539 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5540 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5541 AVP_TYPE_GROUPED /* base type of data */
5542 };
5543 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5544 }
5545 /* LCS-Client-Id */
5546 {
5547 /* Grouped */
5548 struct dict_object * avp;
5549 struct dict_avp_data data = {
5550 1232, /* Code */
5551 10415, /* Vendor */
5552 "LCS-Client-Id", /* Name */
5553 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5554 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5555 AVP_TYPE_GROUPED /* base type of data */
5556 };
5557 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5558 }
5559 /* Early-Media-Description */
5560 {
5561 /* Grouped */
5562 struct dict_object * avp;
5563 struct dict_avp_data data = {
5564 1272, /* Code */
5565 10415, /* Vendor */
5566 "Early-Media-Description", /* Name */
5567 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5568 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5569 AVP_TYPE_GROUPED /* base type of data */
5570 };
5571 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5572 }
5573 /* AoC-Subscription-Information */
5574 {
5575 /* Grouped */
5576 struct dict_object * avp;
5577 struct dict_avp_data data = {
5578 2314, /* Code */
5579 10415, /* Vendor */
5580 "AoC-Subscription-Information", /* Name */
5581 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5582 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5583 AVP_TYPE_GROUPED /* base type of data */
5584 };
5585 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5586 }
5587 /* Current-Tariff */
5588 {
5589 /* Grouped */
5590 struct dict_object * avp;
5591 struct dict_avp_data data = {
5592 2056, /* Code */
5593 10415, /* Vendor */
5594 "Current-Tariff", /* Name */
5595 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5596 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5597 AVP_TYPE_GROUPED /* base type of data */
5598 };
5599 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5600 }
5601 /* APN-Rate-Control */
5602 {
5603 /* Grouped */
5604 struct dict_object * avp;
5605 struct dict_avp_data data = {
5606 3933, /* Code */
5607 10415, /* Vendor */
5608 "APN-Rate-Control", /* Name */
5609 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5610 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5611 AVP_TYPE_GROUPED /* base type of data */
5612 };
5613 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5614 }
5615 /* Access-Transfer-Information */
5616 {
5617 /* Grouped */
5618 struct dict_object * avp;
5619 struct dict_avp_data data = {
5620 2709, /* Code */
5621 10415, /* Vendor */
5622 "Access-Transfer-Information", /* Name */
5623 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5624 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5625 AVP_TYPE_GROUPED /* base type of data */
5626 };
5627 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5628 }
5629 /* Recipient-Received-Address */
5630 {
5631 /* Grouped */
5632 struct dict_object * avp;
5633 struct dict_avp_data data = {
5634 2028, /* Code */
5635 10415, /* Vendor */
5636 "Recipient-Received-Address", /* Name */
5637 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5638 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5639 AVP_TYPE_GROUPED /* base type of data */
5640 };
5641 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5642 }
5643 /* AoC-Cost-Information */
5644 {
5645 /* Grouped */
5646 struct dict_object * avp;
5647 struct dict_avp_data data = {
5648 2053, /* Code */
5649 10415, /* Vendor */
5650 "AoC-Cost-Information", /* Name */
5651 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5652 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5653 AVP_TYPE_GROUPED /* base type of data */
5654 };
5655 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5656 }
5657 /* Originator-Address */
5658 {
5659 /* Grouped */
5660 struct dict_object * avp;
5661 struct dict_avp_data data = {
5662 886, /* Code */
5663 10415, /* Vendor */
5664 "Originator-Address", /* Name */
5665 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5666 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5667 AVP_TYPE_GROUPED /* base type of data */
5668 };
5669 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5670 }
5671 /* Originator-Received-Address */
5672 {
5673 /* Grouped */
5674 struct dict_object * avp;
5675 struct dict_avp_data data = {
5676 2027, /* Code */
5677 10415, /* Vendor */
5678 "Originator-Received-Address", /* Name */
5679 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5680 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5681 AVP_TYPE_GROUPED /* base type of data */
5682 };
5683 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5684 }
5685 /* Remaining-Balance */
5686 {
5687 /* Grouped */
5688 struct dict_object * avp;
5689 struct dict_avp_data data = {
5690 2021, /* Code */
5691 10415, /* Vendor */
5692 "Remaining-Balance", /* Name */
5693 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5694 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5695 AVP_TYPE_GROUPED /* base type of data */
5696 };
5697 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5698 }
5699 /* AF-Correlation-Information */
5700 {
5701 /* Grouped */
5702 struct dict_object * avp;
5703 struct dict_avp_data data = {
5704 1276, /* Code */
5705 10415, /* Vendor */
5706 "AF-Correlation-Information", /* Name */
5707 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5708 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5709 AVP_TYPE_GROUPED /* base type of data */
5710 };
5711 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5712 }
5713 /* Recipient-Address */
5714 {
5715 /* Grouped */
5716 struct dict_object * avp;
5717 struct dict_avp_data data = {
5718 1201, /* Code */
5719 10415, /* Vendor */
5720 "Recipient-Address", /* Name */
5721 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5722 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5723 AVP_TYPE_GROUPED /* base type of data */
5724 };
5725 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5726 }
5727 /* Next-Tariff */
5728 {
5729 /* Grouped */
5730 struct dict_object * avp;
5731 struct dict_avp_data data = {
5732 2057, /* Code */
5733 10415, /* Vendor */
5734 "Next-Tariff", /* Name */
5735 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5736 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5737 AVP_TYPE_GROUPED /* base type of data */
5738 };
5739 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5740 }
5741 /* Coverage-Info */
5742 {
5743 /* Grouped */
5744 struct dict_object * avp;
5745 struct dict_avp_data data = {
5746 3459, /* Code */
5747 10415, /* Vendor */
5748 "Coverage-Info", /* Name */
5749 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5750 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5751 AVP_TYPE_GROUPED /* base type of data */
5752 };
5753 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5754 }
5755 /* Announcement-Information */
5756 {
5757 /* Grouped */
5758 struct dict_object * avp;
5759 struct dict_avp_data data = {
5760 3904, /* Code */
5761 10415, /* Vendor */
5762 "Announcement-Information", /* Name */
5763 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5764 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5765 AVP_TYPE_GROUPED /* base type of data */
5766 };
5767 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5768 }
5769 /* MM-Content-Type */
5770 {
5771 /* Grouped */
5772 struct dict_object * avp;
5773 struct dict_avp_data data = {
5774 1203, /* Code */
5775 10415, /* Vendor */
5776 "MM-Content-Type", /* Name */
5777 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5778 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5779 AVP_TYPE_GROUPED /* base type of data */
5780 };
5781 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5782 }
5783 /* MMTel-Information */
5784 {
5785 /* Grouped */
5786 struct dict_object * avp;
5787 struct dict_avp_data data = {
5788 2030, /* Code */
5789 10415, /* Vendor */
5790 "MMTel-Information", /* Name */
5791 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5792 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5793 AVP_TYPE_GROUPED /* base type of data */
5794 };
5795 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5796 }
5797 /* Service-Data-Container */
5798 {
5799 /* Grouped */
5800 struct dict_object * avp;
5801 struct dict_avp_data data = {
5802 2040, /* Code */
5803 10415, /* Vendor */
5804 "Service-Data-Container", /* Name */
5805 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5806 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5807 AVP_TYPE_GROUPED /* base type of data */
5808 };
5809 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5810 }
5811 /* MMS-Information */
5812 {
5813 /* Grouped */
5814 struct dict_object * avp;
5815 struct dict_avp_data data = {
5816 877, /* Code */
5817 10415, /* Vendor */
5818 "MMS-Information", /* Name */
5819 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5820 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5821 AVP_TYPE_GROUPED /* base type of data */
5822 };
5823 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5824 }
5825 /* Recipient-Info */
5826 {
5827 /* Grouped */
5828 struct dict_object * avp;
5829 struct dict_avp_data data = {
5830 2026, /* Code */
5831 10415, /* Vendor */
5832 "Recipient-Info", /* Name */
5833 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5834 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5835 AVP_TYPE_GROUPED /* base type of data */
5836 };
5837 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5838 }
5839 /* Traffic-Data-Volumes */
5840 {
5841 /* Grouped */
5842 struct dict_object * avp;
5843 struct dict_avp_data data = {
5844 2046, /* Code */
5845 10415, /* Vendor */
5846 "Traffic-Data-Volumes", /* Name */
5847 0, /* Fixed flags */
5848 0, /* Fixed flag values */
5849 AVP_TYPE_GROUPED /* base type of data */
5850 };
5851 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5852 }
5853 /* LCS-Information */
5854 {
5855 /* Grouped */
5856 struct dict_object * avp;
5857 struct dict_avp_data data = {
5858 878, /* Code */
5859 10415, /* Vendor */
5860 "LCS-Information", /* Name */
5861 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5862 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5863 AVP_TYPE_GROUPED /* base type of data */
5864 };
5865 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5866 }
5867 /* Tariff-Information */
5868 {
5869 /* Grouped */
5870 struct dict_object * avp;
5871 struct dict_avp_data data = {
5872 2060, /* Code */
5873 10415, /* Vendor */
5874 "Tariff-Information", /* Name */
5875 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5876 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5877 AVP_TYPE_GROUPED /* base type of data */
5878 };
5879 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5880 }
5881 /* ProSe-Information */
5882 {
5883 /* Grouped */
5884 struct dict_object * avp;
5885 struct dict_avp_data data = {
5886 3447, /* Code */
5887 10415, /* Vendor */
5888 "ProSe-Information", /* Name */
5889 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5890 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5891 AVP_TYPE_GROUPED /* base type of data */
5892 };
5893 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5894 }
5895 /* SMS-Information */
5896 {
5897 /* Grouped */
5898 struct dict_object * avp;
5899 struct dict_avp_data data = {
5900 2000, /* Code */
5901 10415, /* Vendor */
5902 "SMS-Information", /* Name */
5903 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5904 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5905 AVP_TYPE_GROUPED /* base type of data */
5906 };
5907 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5908 }
5909 /* Real-Time-Tariff-Information */
5910 {
5911 /* Grouped */
5912 struct dict_object * avp;
5913 struct dict_avp_data data = {
5914 2305, /* Code */
5915 10415, /* Vendor */
5916 "Real-Time-Tariff-Information", /* Name */
5917 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5918 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5919 AVP_TYPE_GROUPED /* base type of data */
5920 };
5921 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5922 }
5923 /* AoC-Information */
5924 {
5925 /* Grouped */
5926 struct dict_object * avp;
5927 struct dict_avp_data data = {
5928 2054, /* Code */
5929 10415, /* Vendor */
5930 "AoC-Information", /* Name */
5931 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5932 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5933 AVP_TYPE_GROUPED /* base type of data */
5934 };
5935 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5936 }
5937 /* Monitoring-Event-Report-Data */
5938 {
5939 /* Grouped */
5940 struct dict_object * avp;
5941 struct dict_avp_data data = {
5942 3920, /* Code */
5943 10415, /* Vendor */
5944 "Monitoring-Event-Report-Data", /* Name */
5945 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5946 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5947 AVP_TYPE_GROUPED /* base type of data */
5948 };
5949 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5950 }
5951 /* Offline-Charging */
5952 {
5953 /* Grouped */
5954 struct dict_object * avp;
5955 struct dict_avp_data data = {
5956 1278, /* Code */
5957 10415, /* Vendor */
5958 "Offline-Charging", /* Name */
5959 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5960 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5961 AVP_TYPE_GROUPED /* base type of data */
5962 };
5963 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5964 }
5965 /* IMS-Information */
5966 {
5967 /* Grouped */
5968 struct dict_object * avp;
5969 struct dict_avp_data data = {
5970 876, /* Code */
5971 10415, /* Vendor */
5972 "IMS-Information", /* Name */
5973 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5974 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5975 AVP_TYPE_GROUPED /* base type of data */
5976 };
5977 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5978 }
5979 /* Monitoring-Event-Information */
5980 {
5981 /* Grouped */
5982 struct dict_object * avp;
5983 struct dict_avp_data data = {
5984 3921, /* Code */
5985 10415, /* Vendor */
5986 "Monitoring-Event-Information", /* Name */
5987 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
5988 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
5989 AVP_TYPE_GROUPED /* base type of data */
5990 };
5991 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
5992 }
5993 /* PS-Information */
5994 {
5995 /* Grouped */
5996 struct dict_object * avp;
5997 struct dict_avp_data data = {
5998 874, /* Code */
5999 10415, /* Vendor */
6000 "PS-Information", /* Name */
6001 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
6002 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
6003 AVP_TYPE_GROUPED /* base type of data */
6004 };
6005 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
6006 }
6007 /* Service-Information */
6008 {
6009 /* Grouped */
6010 struct dict_object * avp;
6011 struct dict_avp_data data = {
6012 873, /* Code */
6013 10415, /* Vendor */
6014 "Service-Information", /* Name */
6015 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
6016 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */
6017 AVP_TYPE_GROUPED /* base type of data */
6018 };
6019 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
6020 }
6021
6022
6023 }
6024
6025 /* Commands section */
6026 {
6027
6028 }
6029
6030 return 0;
6031}
6032
6033static int dict_ts32299_avps_load_rules(char * conffile)
6034{
6035 /* Grouped AVP section */
6036 {
6037 /* Scale-Factor */
6038 {
6039 /* Grouped */
6040 struct dict_object * avp;
6041 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Scale-Factor"};
6042 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6043 struct local_rules_definition rules[] =
6044 {
6045 { { .avp_vendor = 0, .avp_name = "Value-Digits"}, RULE_REQUIRED, -1, -1 },
6046 { { .avp_vendor = 0, .avp_name = "Exponent"}, RULE_OPTIONAL, -1, -1 }
6047 };
6048 PARSE_loc_rules( rules, avp );
6049 }
6050 /* SDP-Media-Component */
6051 {
6052 /* Grouped */
6053 struct dict_object * avp;
6054 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SDP-Media-Component"};
6055 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6056 struct local_rules_definition rules[] =
6057 {
6058 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Name"}, RULE_OPTIONAL, -1, -1 },
6059 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Description"}, RULE_OPTIONAL, -1, -1 },
6060 { { .avp_vendor = 10415, .avp_name = "Local-GW-Inserted-Indication"}, RULE_OPTIONAL, -1, -1 },
6061 { { .avp_vendor = 10415, .avp_name = "IP-Realm-Default-Indication"}, RULE_OPTIONAL, -1, -1 },
6062 { { .avp_vendor = 10415, .avp_name = "Transcoder-Inserted-Indication"}, RULE_OPTIONAL, -1, -1 },
6063 { { .avp_vendor = 10415, .avp_name = "Media-Initiator-Flag"}, RULE_OPTIONAL, -1, -1 },
6064 { { .avp_vendor = 10415, .avp_name = "Media-Initiator-Party"}, RULE_OPTIONAL, -1, -1 },
6065 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id"}, RULE_OPTIONAL, -1, -1 },
6066 { { .avp_vendor = 10415, .avp_name = "Access-Network-Charging-Identifier-Value"}, RULE_OPTIONAL, -1, -1 },
6067 { { .avp_vendor = 10415, .avp_name = "SDP-Type"}, RULE_OPTIONAL, -1, -1 }
6068 };
6069 PARSE_loc_rules( rules, avp );
6070 }
6071 /* UWAN-User-Location-Info */
6072 {
6073 /* Grouped */
6074 struct dict_object * avp;
6075 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"};
6076 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6077 struct local_rules_definition rules[] =
6078 {
6079 { { .avp_vendor = 10415, .avp_name = "UE-Local-IP-Address"}, RULE_REQUIRED, -1, -1 },
6080 { { .avp_vendor = 10415, .avp_name = "UDP-Source-Port"}, RULE_OPTIONAL, -1, -1 },
6081 { { .avp_vendor = 10415, .avp_name = "SSID"}, RULE_OPTIONAL, -1, -1 },
6082 { { .avp_vendor = 10415, .avp_name = "BSSID"}, RULE_OPTIONAL, -1, -1 }
6083 };
6084 PARSE_loc_rules( rules, avp );
6085 }
6086 /* Address-Domain */
6087 {
6088 /* Grouped */
6089 struct dict_object * avp;
6090 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Address-Domain"};
6091 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6092 struct local_rules_definition rules[] =
6093 {
6094 { { .avp_vendor = 10415, .avp_name = "Domain-Name"}, RULE_OPTIONAL, -1, -1 },
6095 { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI-MCC-MNC"}, RULE_OPTIONAL, -1, -1 }
6096 };
6097 PARSE_loc_rules( rules, avp );
6098 }
6099 /* Location-Info */
6100 {
6101 /* Grouped */
6102 struct dict_object * avp;
6103 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Location-Info"};
6104 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6105 struct local_rules_definition rules[] =
6106 {
6107 { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
6108 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }
6109 };
6110 PARSE_loc_rules( rules, avp );
6111 }
6112 /* MBMS-Information */
6113 {
6114 /* Grouped */
6115 struct dict_object * avp;
6116 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "MBMS-Information"};
6117 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6118 struct local_rules_definition rules[] =
6119 {
6120 { { .avp_vendor = 10415, .avp_name = "TMGI"}, RULE_OPTIONAL, -1, -1 },
6121 { { .avp_vendor = 10415, .avp_name = "MBMS-Service-Type"}, RULE_OPTIONAL, -1, -1 },
6122 { { .avp_vendor = 10415, .avp_name = "MBMS-User-Service-Type"}, RULE_OPTIONAL, -1, -1 },
6123 { { .avp_vendor = 10415, .avp_name = "File-Repair-Supported"}, RULE_OPTIONAL, -1, -1 },
6124 { { .avp_vendor = 10415, .avp_name = "Required-MBMS-Bearer-Capabilities"}, RULE_OPTIONAL, -1, -1 },
6125 { { .avp_vendor = 10415, .avp_name = "MBMS-2G-3G-Indicator"}, RULE_OPTIONAL, -1, -1 },
6126 { { .avp_vendor = 10415, .avp_name = "RAI"}, RULE_OPTIONAL, -1, -1 },
6127 { { .avp_vendor = 10415, .avp_name = "MBMS-Service-Area"}, RULE_OPTIONAL, -1, -1 },
6128 { { .avp_vendor = 10415, .avp_name = "MBMS-Session-Identity"}, RULE_OPTIONAL, -1, -1 },
6129 { { .avp_vendor = 10415, .avp_name = "CN-IP-Multicast-Distribution"}, RULE_OPTIONAL, -1, -1 },
6130 { { .avp_vendor = 10415, .avp_name = "MBMS-GW-Address"}, RULE_OPTIONAL, -1, -1 },
6131 { { .avp_vendor = 10415, .avp_name = "MBMS-Charged-Party"}, RULE_OPTIONAL, -1, -1 },
6132 { { .avp_vendor = 10415, .avp_name = "MSISDN"}, RULE_OPTIONAL, -1, -1 },
6133 { { .avp_vendor = 10415, .avp_name = "MBMS-Data-Transfer-Start"}, RULE_OPTIONAL, -1, -1 },
6134 { { .avp_vendor = 10415, .avp_name = "MBMS-Data-Transfer-Stop"}, RULE_OPTIONAL, -1, -1 }
6135 };
6136 PARSE_loc_rules( rules, avp );
6137 }
6138 /* AoC-Service */
6139 {
6140 /* Grouped */
6141 struct dict_object * avp;
6142 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AoC-Service"};
6143 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6144 struct local_rules_definition rules[] =
6145 {
6146 { { .avp_vendor = 10415, .avp_name = "AoC-Service-Obligatory-Type"}, RULE_OPTIONAL, -1, -1 },
6147 { { .avp_vendor = 10415, .avp_name = "AoC-Service-Type"}, RULE_OPTIONAL, -1, -1 }
6148 };
6149 PARSE_loc_rules( rules, avp );
6150 }
6151 /* ProSe-Direct-Communication-Transmission-Data-Container */
6152 {
6153 /* Grouped */
6154 struct dict_object * avp;
6155 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Communication-Transmission-Data-Container"};
6156 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6157 struct local_rules_definition rules[] =
6158 {
6159 { { .avp_vendor = 10415, .avp_name = "Local-Sequence-Number"}, RULE_OPTIONAL, -1, -1 },
6160 { { .avp_vendor = 10415, .avp_name = "Coverage-Status"}, RULE_OPTIONAL, -1, -1 },
6161 { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
6162 { { .avp_vendor = 0, .avp_name = "Accounting-Output-Octets"}, RULE_OPTIONAL, -1, -1 },
6163 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 },
6164 { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 },
6165 { { .avp_vendor = 10415, .avp_name = "Visited-PLMN-Id"}, RULE_OPTIONAL, -1, -1 },
6166 { { .avp_vendor = 10415, .avp_name = "Usage-Information-Report-Sequence-Number"}, RULE_OPTIONAL, -1, -1 },
6167 { { .avp_vendor = 10415, .avp_name = "Radio-Resources-Indicator"}, RULE_OPTIONAL, -1, -1 },
6168 { { .avp_vendor = 10415, .avp_name = "Radio-Frequency"}, RULE_OPTIONAL, -1, -1 }
6169 };
6170 PARSE_loc_rules( rules, avp );
6171 }
6172 /* APN-Rate-Control-Downlink */
6173 {
6174 /* Grouped */
6175 struct dict_object * avp;
6176 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "APN-Rate-Control-Downlink"};
6177 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6178 struct local_rules_definition rules[] =
6179 {
6180 { { .avp_vendor = 10415, .avp_name = "Rate-Control-Time-Unit"}, RULE_OPTIONAL, -1, -1 },
6181 { { .avp_vendor = 10415, .avp_name = "Rate-Control-Max-Rate"}, RULE_OPTIONAL, -1, -1 },
6182 { { .avp_vendor = 10415, .avp_name = "Rate-Control-Max-Message-Size"}, RULE_OPTIONAL, -1, -1 }
6183 };
6184 PARSE_loc_rules( rules, avp );
6185 }
6186 /* PoC-Information */
6187 {
6188 /* Grouped */
6189 struct dict_object * avp;
6190 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "PoC-Information"};
6191 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6192 struct local_rules_definition rules[] =
6193 {
6194 { { .avp_vendor = 10415, .avp_name = "PoC-Server-Role"}, RULE_OPTIONAL, -1, -1 }
6195 };
6196 PARSE_loc_rules( rules, avp );
6197 }
6198 /* Supplementary-Service */
6199 {
6200 /* Grouped */
6201 struct dict_object * avp;
6202 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Supplementary-Service"};
6203 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6204 struct local_rules_definition rules[] =
6205 {
6206 { { .avp_vendor = 10415, .avp_name = "MMTel-SService-Type"}, RULE_OPTIONAL, -1, -1 },
6207 { { .avp_vendor = 10415, .avp_name = "Service-Mode"}, RULE_OPTIONAL, -1, -1 }
6208 };
6209 PARSE_loc_rules( rules, avp );
6210 }
6211 /* Transmitter-Info */
6212 {
6213 /* Grouped */
6214 struct dict_object * avp;
6215 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Transmitter-Info"};
6216 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6217 struct local_rules_definition rules[] =
6218 {
6219 { { .avp_vendor = 10415, .avp_name = "ProSe-Source-IP-Address"}, RULE_OPTIONAL, -1, -1 },
6220 { { .avp_vendor = 10415, .avp_name = "ProSe-UE-ID"}, RULE_OPTIONAL, -1, -1 }
6221 };
6222 PARSE_loc_rules( rules, avp );
6223 }
6224 /* Unit-Cost */
6225 {
6226 /* Grouped */
6227 struct dict_object * avp;
6228 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Unit-Cost"};
6229 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6230 struct local_rules_definition rules[] =
6231 {
6232 { { .avp_vendor = 0, .avp_name = "Value-Digits"}, RULE_REQUIRED, -1, -1 },
6233 { { .avp_vendor = 0, .avp_name = "Exponent"}, RULE_OPTIONAL, -1, -1 }
6234 };
6235 PARSE_loc_rules( rules, avp );
6236 }
6237 /* Time-Stamps */
6238 {
6239 /* Grouped */
6240 struct dict_object * avp;
6241 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Time-Stamps"};
6242 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6243 struct local_rules_definition rules[] =
6244 {
6245 { { .avp_vendor = 10415, .avp_name = "SIP-Request-Timestamp"}, RULE_OPTIONAL, -1, -1 }
6246 };
6247 PARSE_loc_rules( rules, avp );
6248 }
6249 /* NNI-Information */
6250 {
6251 /* Grouped */
6252 struct dict_object * avp;
6253 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "NNI-Information"};
6254 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6255 struct local_rules_definition rules[] =
6256 {
6257 { { .avp_vendor = 10415, .avp_name = "Session-Direction"}, RULE_OPTIONAL, -1, -1 },
6258 { { .avp_vendor = 10415, .avp_name = "NNI-Type"}, RULE_OPTIONAL, -1, -1 },
6259 { { .avp_vendor = 10415, .avp_name = "Relationship-Mode"}, RULE_OPTIONAL, -1, -1 },
6260 { { .avp_vendor = 10415, .avp_name = "Neighbour-Node-Address"}, RULE_OPTIONAL, -1, -1 }
6261 };
6262 PARSE_loc_rules( rules, avp );
6263 }
6264 /* Trigger */
6265 {
6266 /* Grouped */
6267 struct dict_object * avp;
6268 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Trigger"};
6269 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6270 struct local_rules_definition rules[] =
6271 {
6272 { { .avp_vendor = 10415, .avp_name = "Trigger-Type"}, RULE_OPTIONAL, -1, -1 }
6273 };
6274 PARSE_loc_rules( rules, avp );
6275 }
6276 /* Related-Trigger */
6277 {
6278 /* Grouped */
6279 struct dict_object * avp;
6280 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Related-Trigger"};
6281 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6282 struct local_rules_definition rules[] =
6283 {
6284 { { .avp_vendor = 10415, .avp_name = "Trigger-Type"}, RULE_OPTIONAL, -1, -1 }
6285 };
6286 PARSE_loc_rules( rules, avp );
6287 }
6288 /* Talk-Burst-Exchange */
6289 {
6290 /* Grouped */
6291 struct dict_object * avp;
6292 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Talk-Burst-Exchange"};
6293 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6294 struct local_rules_definition rules[] =
6295 {
6296 { { .avp_vendor = 10415, .avp_name = "PoC-Change-Time"}, RULE_REQUIRED, -1, -1 }
6297 };
6298 PARSE_loc_rules( rules, avp );
6299 }
6300 /* Time-Quota-Mechanism */
6301 {
6302 /* Grouped */
6303 struct dict_object * avp;
6304 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Time-Quota-Mechanism"};
6305 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6306 struct local_rules_definition rules[] =
6307 {
6308 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Type"}, RULE_REQUIRED, -1, -1 },
6309 { { .avp_vendor = 10415, .avp_name = "Base-Time-Interval"}, RULE_REQUIRED, -1, -1 }
6310 };
6311 PARSE_loc_rules( rules, avp );
6312 }
6313 /* Variable-Part */
6314 {
6315 /* Grouped */
6316 struct dict_object * avp;
6317 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Variable-Part"};
6318 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6319 struct local_rules_definition rules[] =
6320 {
6321 { { .avp_vendor = 10415, .avp_name = "Variable-Part-Order"}, RULE_OPTIONAL, -1, -1 },
6322 { { .avp_vendor = 10415, .avp_name = "Variable-Part-Type"}, RULE_REQUIRED, -1, -1 },
6323 { { .avp_vendor = 10415, .avp_name = "Variable-Part-Value"}, RULE_REQUIRED, -1, -1 }
6324 };
6325 PARSE_loc_rules( rules, avp );
6326 }
6327 /* Additional-Content-Information */
6328 {
6329 /* Grouped */
6330 struct dict_object * avp;
6331 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Additional-Content-Information"};
6332 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6333 struct local_rules_definition rules[] =
6334 {
6335 { { .avp_vendor = 10415, .avp_name = "Type-Number"}, RULE_OPTIONAL, -1, -1 },
6336 { { .avp_vendor = 10415, .avp_name = "Additional-Type-Information"}, RULE_OPTIONAL, -1, -1 },
6337 { { .avp_vendor = 10415, .avp_name = "Content-Size"}, RULE_OPTIONAL, -1, -1 }
6338 };
6339 PARSE_loc_rules( rules, avp );
6340 }
6341 /* APN-Rate-Control-Uplink */
6342 {
6343 /* Grouped */
6344 struct dict_object * avp;
6345 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "APN-Rate-Control-Uplink"};
6346 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6347 struct local_rules_definition rules[] =
6348 {
6349 { { .avp_vendor = 10415, .avp_name = "Additional-Exception-Reports"}, RULE_OPTIONAL, -1, -1 },
6350 { { .avp_vendor = 10415, .avp_name = "Rate-Control-Time-Unit"}, RULE_OPTIONAL, -1, -1 },
6351 { { .avp_vendor = 10415, .avp_name = "Rate-Control-Max-Rate"}, RULE_OPTIONAL, -1, -1 }
6352 };
6353 PARSE_loc_rules( rules, avp );
6354 }
6355 /* Basic-Service-Code */
6356 {
6357 /* Grouped */
6358 struct dict_object * avp;
6359 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Basic-Service-Code"};
6360 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6361 struct local_rules_definition rules[] =
6362 {
6363 { { .avp_vendor = 10415, .avp_name = "Bearer-Service"}, RULE_OPTIONAL, -1, -1 },
6364 { { .avp_vendor = 10415, .avp_name = "Teleservice"}, RULE_OPTIONAL, -1, -1 }
6365 };
6366 PARSE_loc_rules( rules, avp );
6367 }
6368 /* Event-Type */
6369 {
6370 /* Grouped */
6371 struct dict_object * avp;
6372 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Event-Type"};
6373 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6374 struct local_rules_definition rules[] =
6375 {
6376 { { .avp_vendor = 10415, .avp_name = "SIP-Method"}, RULE_OPTIONAL, -1, -1 },
6377 { { .avp_vendor = 10415, .avp_name = "Event"}, RULE_OPTIONAL, -1, -1 },
6378 { { .avp_vendor = 10415, .avp_name = "Expires"}, RULE_OPTIONAL, -1, -1 }
6379 };
6380 PARSE_loc_rules( rules, avp );
6381 }
6382 /* ProSe-Direct-Communication-Reception-Data-Container */
6383 {
6384 /* Grouped */
6385 struct dict_object * avp;
6386 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Communication-Reception-Data-Container"};
6387 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6388 struct local_rules_definition rules[] =
6389 {
6390 { { .avp_vendor = 10415, .avp_name = "Local-Sequence-Number"}, RULE_OPTIONAL, -1, -1 },
6391 { { .avp_vendor = 10415, .avp_name = "Coverage-Status"}, RULE_OPTIONAL, -1, -1 },
6392 { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
6393 { { .avp_vendor = 0, .avp_name = "Accounting-Input-Octets"}, RULE_OPTIONAL, -1, -1 },
6394 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 },
6395 { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 },
6396 { { .avp_vendor = 10415, .avp_name = "Visited-PLMN-Id"}, RULE_OPTIONAL, -1, -1 },
6397 { { .avp_vendor = 10415, .avp_name = "Usage-Information-Report-Sequence-Number"}, RULE_OPTIONAL, -1, -1 },
6398 { { .avp_vendor = 10415, .avp_name = "Radio-Resources-Indicator"}, RULE_OPTIONAL, -1, -1 },
6399 { { .avp_vendor = 10415, .avp_name = "Radio-Frequency"}, RULE_OPTIONAL, -1, -1 }
6400 };
6401 PARSE_loc_rules( rules, avp );
6402 }
6403 /* Originator-Interface */
6404 {
6405 /* Grouped */
6406 struct dict_object * avp;
6407 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Originator-Interface"};
6408 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6409 struct local_rules_definition rules[] =
6410 {
6411 { { .avp_vendor = 10415, .avp_name = "Interface-Id"}, RULE_OPTIONAL, -1, -1 },
6412 { { .avp_vendor = 10415, .avp_name = "Interface-Text"}, RULE_OPTIONAL, -1, -1 },
6413 { { .avp_vendor = 10415, .avp_name = "Interface-Port"}, RULE_OPTIONAL, -1, -1 },
6414 { { .avp_vendor = 10415, .avp_name = "Interface-Type"}, RULE_OPTIONAL, -1, -1 }
6415 };
6416 PARSE_loc_rules( rules, avp );
6417 }
6418 /* Destination-Interface */
6419 {
6420 /* Grouped */
6421 struct dict_object * avp;
6422 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Destination-Interface"};
6423 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6424 struct local_rules_definition rules[] =
6425 {
6426 { { .avp_vendor = 10415, .avp_name = "Interface-Id"}, RULE_OPTIONAL, -1, -1 },
6427 { { .avp_vendor = 10415, .avp_name = "Interface-Text"}, RULE_OPTIONAL, -1, -1 },
6428 { { .avp_vendor = 10415, .avp_name = "Interface-Port"}, RULE_OPTIONAL, -1, -1 },
6429 { { .avp_vendor = 10415, .avp_name = "Interface-Type"}, RULE_OPTIONAL, -1, -1 }
6430 };
6431 PARSE_loc_rules( rules, avp );
6432 }
6433 /* ISUP-Cause */
6434 {
6435 /* Grouped */
6436 struct dict_object * avp;
6437 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "ISUP-Cause"};
6438 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6439 struct local_rules_definition rules[] =
6440 {
6441 { { .avp_vendor = 10415, .avp_name = "ISUP-Cause-Location"}, RULE_OPTIONAL, -1, -1 }
6442 };
6443 PARSE_loc_rules( rules, avp );
6444 }
6445 /* LCS-Requestor-ID */
6446 {
6447 /* Grouped */
6448 struct dict_object * avp;
6449 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "LCS-Requestor-ID"};
6450 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6451 struct local_rules_definition rules[] =
6452 {
6453 { { .avp_vendor = 10415, .avp_name = "LCS-Data-Coding-Scheme"}, RULE_OPTIONAL, -1, -1 },
6454 { { .avp_vendor = 10415, .avp_name = "LCS-Requestor-ID-String"}, RULE_OPTIONAL, -1, -1 }
6455 };
6456 PARSE_loc_rules( rules, avp );
6457 }
6458 /* PS-Furnish-Charging-Information */
6459 {
6460 /* Grouped */
6461 struct dict_object * avp;
6462 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information"};
6463 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6464 struct local_rules_definition rules[] =
6465 {
6466 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id"}, RULE_REQUIRED, -1, -1 },
6467 { { .avp_vendor = 10415, .avp_name = "PS-Free-Format-Data"}, RULE_REQUIRED, -1, -1 },
6468 { { .avp_vendor = 10415, .avp_name = "PS-Append-Free-Format-Data"}, RULE_OPTIONAL, -1, -1 }
6469 };
6470 PARSE_loc_rules( rules, avp );
6471 }
6472 /* User-CSG-Information */
6473 {
6474 /* Grouped */
6475 struct dict_object * avp;
6476 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "User-CSG-Information"};
6477 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6478 struct local_rules_definition rules[] =
6479 {
6480 { { .avp_vendor = 10415, .avp_name = "CSG-Id"}, RULE_REQUIRED, -1, -1 },
6481 { { .avp_vendor = 10415, .avp_name = "CSG-Access-Mode"}, RULE_REQUIRED, -1, -1 },
6482 { { .avp_vendor = 10415, .avp_name = "CSG-Membership-Indication"}, RULE_OPTIONAL, -1, -1 }
6483 };
6484 PARSE_loc_rules( rules, avp );
6485 }
6486 /* Called-Identity-Change */
6487 {
6488 /* Grouped */
6489 struct dict_object * avp;
6490 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Called-Identity-Change"};
6491 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6492 struct local_rules_definition rules[] =
6493 {
6494 { { .avp_vendor = 10415, .avp_name = "Called-Identity"}, RULE_OPTIONAL, -1, -1 },
6495 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }
6496 };
6497 PARSE_loc_rules( rules, avp );
6498 }
6499 /* Service-Specific-Info */
6500 {
6501 /* Grouped */
6502 struct dict_object * avp;
6503 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Service-Specific-Info"};
6504 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6505 struct local_rules_definition rules[] =
6506 {
6507 { { .avp_vendor = 10415, .avp_name = "Service-Specific-Data"}, RULE_OPTIONAL, -1, -1 }
6508 };
6509 PARSE_loc_rules( rules, avp );
6510 }
6511 /* Accumulated-Cost */
6512 {
6513 /* Grouped */
6514 struct dict_object * avp;
6515 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Accumulated-Cost"};
6516 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6517 struct local_rules_definition rules[] =
6518 {
6519 { { .avp_vendor = 0, .avp_name = "Value-Digits"}, RULE_REQUIRED, -1, -1 },
6520 { { .avp_vendor = 0, .avp_name = "Exponent"}, RULE_OPTIONAL, -1, -1 }
6521 };
6522 PARSE_loc_rules( rules, avp );
6523 }
6524 /* SCS-AS-Address */
6525 {
6526 /* Grouped */
6527 struct dict_object * avp;
6528 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SCS-AS-Address"};
6529 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6530 struct local_rules_definition rules[] =
6531 {
6532 { { .avp_vendor = 10415, .avp_name = "SCS-Realm"}, RULE_OPTIONAL, -1, -1 },
6533 { { .avp_vendor = 10415, .avp_name = "SCS-Address"}, RULE_OPTIONAL, -1, -1 }
6534 };
6535 PARSE_loc_rules( rules, avp );
6536 }
6537 /* Message-Class */
6538 {
6539 /* Grouped */
6540 struct dict_object * avp;
6541 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Message-Class"};
6542 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6543 struct local_rules_definition rules[] =
6544 {
6545 { { .avp_vendor = 10415, .avp_name = "Class-Identifier"}, RULE_OPTIONAL, -1, -1 },
6546 { { .avp_vendor = 10415, .avp_name = "Token-Text"}, RULE_OPTIONAL, -1, -1 }
6547 };
6548 PARSE_loc_rules( rules, avp );
6549 }
6550 /* Location-Type */
6551 {
6552 /* Grouped */
6553 struct dict_object * avp;
6554 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Location-Type"};
6555 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6556 struct local_rules_definition rules[] =
6557 {
6558 { { .avp_vendor = 10415, .avp_name = "Location-Estimate-Type"}, RULE_OPTIONAL, -1, -1 },
6559 { { .avp_vendor = 10415, .avp_name = "Deferred-Location-Event-Type"}, RULE_OPTIONAL, -1, -1 }
6560 };
6561 PARSE_loc_rules( rules, avp );
6562 }
6563 /* Rate-Element */
6564 {
6565 /* Grouped */
6566 struct dict_object * avp;
6567 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Rate-Element"};
6568 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6569 struct local_rules_definition rules[] =
6570 {
6571 { { .avp_vendor = 0, .avp_name = "CC-Unit-Type"}, RULE_REQUIRED, -1, -1 }
6572 };
6573 PARSE_loc_rules( rules, avp );
6574 }
6575 /* Participant-Group */
6576 {
6577 /* Grouped */
6578 struct dict_object * avp;
6579 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Participant-Group"};
6580 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6581 struct local_rules_definition rules[] =
6582 {
6583 { { .avp_vendor = 10415, .avp_name = "Called-Party-Address"}, RULE_OPTIONAL, -1, -1 },
6584 { { .avp_vendor = 10415, .avp_name = "Participant-Access-Priority"}, RULE_OPTIONAL, -1, -1 },
6585 { { .avp_vendor = 10415, .avp_name = "User-Participating-Type"}, RULE_OPTIONAL, -1, -1 }
6586 };
6587 PARSE_loc_rules( rules, avp );
6588 }
6589 /* Enhanced-Diagnostics */
6590 {
6591 /* Grouped */
6592 struct dict_object * avp;
6593 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Enhanced-Diagnostics"};
6594 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6595 struct local_rules_definition rules[] =
6596 {
6597 { { .avp_vendor = 10415, .avp_name = "RAN-NAS-Release-Cause"}, RULE_OPTIONAL, -1, -1 }
6598 };
6599 PARSE_loc_rules( rules, avp );
6600 }
6601 /* Access-Network-Info-Change */
6602 {
6603 /* Grouped */
6604 struct dict_object * avp;
6605 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Access-Network-Info-Change"};
6606 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6607 struct local_rules_definition rules[] =
6608 {
6609 { { .avp_vendor = 10415, .avp_name = "Access-Network-Information"}, RULE_OPTIONAL, -1, -1 },
6610 { { .avp_vendor = 10415, .avp_name = "Cellular-Network-Information"}, RULE_OPTIONAL, -1, -1 },
6611 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }
6612 };
6613 PARSE_loc_rules( rules, avp );
6614 }
6615 /* PoC-User-Role */
6616 {
6617 /* Grouped */
6618 struct dict_object * avp;
6619 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "PoC-User-Role"};
6620 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6621 struct local_rules_definition rules[] =
6622 {
6623 { { .avp_vendor = 10415, .avp_name = "PoC-User-Role-IDs"}, RULE_OPTIONAL, -1, -1 }
6624 };
6625 PARSE_loc_rules( rules, avp );
6626 }
6627 /* LCS-Client-Name */
6628 {
6629 /* Grouped */
6630 struct dict_object * avp;
6631 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "LCS-Client-Name"};
6632 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6633 struct local_rules_definition rules[] =
6634 {
6635 { { .avp_vendor = 10415, .avp_name = "LCS-Data-Coding-Scheme"}, RULE_OPTIONAL, -1, -1 },
6636 { { .avp_vendor = 10415, .avp_name = "LCS-Name-String"}, RULE_OPTIONAL, -1, -1 },
6637 { { .avp_vendor = 10415, .avp_name = "LCS-Format-Indicator"}, RULE_OPTIONAL, -1, -1 }
6638 };
6639 PARSE_loc_rules( rules, avp );
6640 }
6641 /* Message-Body */
6642 {
6643 /* Grouped */
6644 struct dict_object * avp;
6645 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Message-Body"};
6646 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6647 struct local_rules_definition rules[] =
6648 {
6649 { { .avp_vendor = 10415, .avp_name = "Content-Type"}, RULE_REQUIRED, -1, -1 }
6650 };
6651 PARSE_loc_rules( rules, avp );
6652 }
6653 /* Radio-Parameter-Set-Info */
6654 {
6655 /* Grouped */
6656 struct dict_object * avp;
6657 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Radio-Parameter-Set-Info"};
6658 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6659 struct local_rules_definition rules[] =
6660 {
6661 { { .avp_vendor = 10415, .avp_name = "Radio-Parameter-Set-Values"}, RULE_OPTIONAL, -1, -1 },
6662 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }
6663 };
6664 PARSE_loc_rules( rules, avp );
6665 }
6666 /* SM-Device-Trigger-Information */
6667 {
6668 /* Grouped */
6669 struct dict_object * avp;
6670 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SM-Device-Trigger-Information"};
6671 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6672 struct local_rules_definition rules[] =
6673 {
6674 { { .avp_vendor = 10415, .avp_name = "MTC-IWF-Address"}, RULE_OPTIONAL, -1, -1 },
6675 { { .avp_vendor = 10415, .avp_name = "Reference-Number"}, RULE_OPTIONAL, -1, -1 }
6676 };
6677 PARSE_loc_rules( rules, avp );
6678 }
6679 /* TWAN-User-Location-Info */
6680 {
6681 /* Grouped */
6682 struct dict_object * avp;
6683 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "TWAN-User-Location-Info"};
6684 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6685 struct local_rules_definition rules[] =
6686 {
6687 { { .avp_vendor = 10415, .avp_name = "SSID"}, RULE_REQUIRED, -1, -1 },
6688 { { .avp_vendor = 10415, .avp_name = "BSSID"}, RULE_OPTIONAL, -1, -1 }
6689 };
6690 PARSE_loc_rules( rules, avp );
6691 }
6692 /* VCS-Information */
6693 {
6694 /* Grouped */
6695 struct dict_object * avp;
6696 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "VCS-Information"};
6697 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6698 struct local_rules_definition rules[] =
6699 {
6700 { { .avp_vendor = 10415, .avp_name = "Bearer-Capability"}, RULE_OPTIONAL, -1, -1 },
6701 { { .avp_vendor = 10415, .avp_name = "Network-Call-Reference-Number"}, RULE_OPTIONAL, -1, -1 },
6702 { { .avp_vendor = 10415, .avp_name = "MSC-Address"}, RULE_OPTIONAL, -1, -1 }
6703 };
6704 PARSE_loc_rules( rules, avp );
6705 }
6706 /* Trunk-Group-ID */
6707 {
6708 /* Grouped */
6709 struct dict_object * avp;
6710 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Trunk-Group-ID"};
6711 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6712 struct local_rules_definition rules[] =
6713 {
6714 { { .avp_vendor = 10415, .avp_name = "Incoming-Trunk-Group-Id"}, RULE_OPTIONAL, -1, -1 }
6715 };
6716 PARSE_loc_rules( rules, avp );
6717 }
6718 /* Incremental-Cost */
6719 {
6720 /* Grouped */
6721 struct dict_object * avp;
6722 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Incremental-Cost"};
6723 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6724 struct local_rules_definition rules[] =
6725 {
6726 { { .avp_vendor = 0, .avp_name = "Value-Digits"}, RULE_REQUIRED, -1, -1 },
6727 { { .avp_vendor = 0, .avp_name = "Exponent"}, RULE_OPTIONAL, -1, -1 }
6728 };
6729 PARSE_loc_rules( rules, avp );
6730 }
6731 /* SDP-TimeStamps */
6732 {
6733 /* Grouped */
6734 struct dict_object * avp;
6735 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SDP-TimeStamps"};
6736 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6737 struct local_rules_definition rules[] =
6738 {
6739 { { .avp_vendor = 10415, .avp_name = "SDP-Offer-Timestamp"}, RULE_OPTIONAL, -1, -1 },
6740 { { .avp_vendor = 10415, .avp_name = "SDP-Answer-Timestamp"}, RULE_OPTIONAL, -1, -1 }
6741 };
6742 PARSE_loc_rules( rules, avp );
6743 }
6744 /* Inter-Operator-Identifier */
6745 {
6746 /* Grouped */
6747 struct dict_object * avp;
6748 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Inter-Operator-Identifier"};
6749 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6750 struct local_rules_definition rules[] =
6751 {
6752 { { .avp_vendor = 10415, .avp_name = "Originating-IOI"}, RULE_OPTIONAL, -1, -1 },
6753 { { .avp_vendor = 10415, .avp_name = "Terminating-IOI"}, RULE_OPTIONAL, -1, -1 }
6754 };
6755 PARSE_loc_rules( rules, avp );
6756 }
6757 /* NIDD-Submission */
6758 {
6759 /* Grouped */
6760 struct dict_object * avp;
6761 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "NIDD-Submission"};
6762 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6763 struct local_rules_definition rules[] =
6764 {
6765 { { .avp_vendor = 10415, .avp_name = "Submission-Timestamp"}, RULE_OPTIONAL, -1, -1 },
6766 { { .avp_vendor = 0, .avp_name = "Event-Timestamp"}, RULE_OPTIONAL, -1, -1 },
6767 { { .avp_vendor = 0, .avp_name = "Accounting-Input-Octets"}, RULE_OPTIONAL, -1, -1 },
6768 { { .avp_vendor = 0, .avp_name = "Accounting-Output-Octets"}, RULE_OPTIONAL, -1, -1 },
6769 { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 }
6770 };
6771 PARSE_loc_rules( rules, avp );
6772 }
6773 /* Application-Server-Information */
6774 {
6775 /* Grouped */
6776 struct dict_object * avp;
6777 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Application-Server-Information"};
6778 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6779 struct local_rules_definition rules[] =
6780 {
6781 { { .avp_vendor = 10415, .avp_name = "Application-Server"}, RULE_OPTIONAL, -1, -1 }
6782 };
6783 PARSE_loc_rules( rules, avp );
6784 }
6785 /* CPDT-Information */
6786 {
6787 /* Grouped */
6788 struct dict_object * avp;
6789 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "CPDT-Information"};
6790 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6791 struct local_rules_definition rules[] =
6792 {
6793 { { .avp_vendor = 10415, .avp_name = "External-Identifier"}, RULE_OPTIONAL, -1, -1 },
6794 { { .avp_vendor = 10415, .avp_name = "SCEF-ID"}, RULE_OPTIONAL, -1, -1 }
6795 };
6796 PARSE_loc_rules( rules, avp );
6797 }
6798 /* Envelope */
6799 {
6800 /* Grouped */
6801 struct dict_object * avp;
6802 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Envelope"};
6803 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6804 struct local_rules_definition rules[] =
6805 {
6806 { { .avp_vendor = 10415, .avp_name = "Envelope-Start-Time"}, RULE_REQUIRED, -1, -1 },
6807 { { .avp_vendor = 10415, .avp_name = "Envelope-End-Time"}, RULE_OPTIONAL, -1, -1 },
6808 { { .avp_vendor = 0, .avp_name = "CC-Total-Octets"}, RULE_OPTIONAL, -1, -1 },
6809 { { .avp_vendor = 0, .avp_name = "CC-Input-Octets"}, RULE_OPTIONAL, -1, -1 },
6810 { { .avp_vendor = 0, .avp_name = "CC-Output-Octets"}, RULE_OPTIONAL, -1, -1 },
6811 { { .avp_vendor = 0, .avp_name = "CC-Service-Specific-Units"}, RULE_OPTIONAL, -1, -1 }
6812 };
6813 PARSE_loc_rules( rules, avp );
6814 }
6815 /* Related-Change-Condition-Information */
6816 {
6817 /* Grouped */
6818 struct dict_object * avp;
6819 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Related-Change-Condition-Information"};
6820 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6821 struct local_rules_definition rules[] =
6822 {
6823 { { .avp_vendor = 10415, .avp_name = "SGSN-Address"}, RULE_OPTIONAL, -1, -1 },
6824 { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 },
6825 { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
6826 { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID"}, RULE_OPTIONAL, -1, -1 },
6827 { { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
6828 { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Status"}, RULE_OPTIONAL, -1, -1 },
6829 { { .avp_vendor = 10415, .avp_name = "User-CSG-Information"}, RULE_OPTIONAL, -1, -1 },
6830 { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type"}, RULE_OPTIONAL, -1, -1 }
6831 };
6832 PARSE_loc_rules( rules, avp );
6833 }
6834 /* LCS-Client-Id */
6835 {
6836 /* Grouped */
6837 struct dict_object * avp;
6838 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "LCS-Client-Id"};
6839 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6840 struct local_rules_definition rules[] =
6841 {
6842 { { .avp_vendor = 10415, .avp_name = "LCS-Client-Type"}, RULE_OPTIONAL, -1, -1 },
6843 { { .avp_vendor = 10415, .avp_name = "LCS-Client-External-ID"}, RULE_OPTIONAL, -1, -1 },
6844 { { .avp_vendor = 10415, .avp_name = "LCS-Client-Dialed-By-MS"}, RULE_OPTIONAL, -1, -1 },
6845 { { .avp_vendor = 10415, .avp_name = "LCS-Client-Name"}, RULE_OPTIONAL, -1, -1 },
6846 { { .avp_vendor = 10415, .avp_name = "LCS-APN"}, RULE_OPTIONAL, -1, -1 },
6847 { { .avp_vendor = 10415, .avp_name = "LCS-Requestor-ID"}, RULE_OPTIONAL, -1, -1 }
6848 };
6849 PARSE_loc_rules( rules, avp );
6850 }
6851 /* Early-Media-Description */
6852 {
6853 /* Grouped */
6854 struct dict_object * avp;
6855 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Early-Media-Description"};
6856 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6857 struct local_rules_definition rules[] =
6858 {
6859 { { .avp_vendor = 10415, .avp_name = "SDP-TimeStamps"}, RULE_OPTIONAL, -1, -1 },
6860 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Component"}, RULE_OPTIONAL, -1, -1 },
6861 { { .avp_vendor = 10415, .avp_name = "SDP-Session-Description"}, RULE_OPTIONAL, -1, -1 }
6862 };
6863 PARSE_loc_rules( rules, avp );
6864 }
6865 /* AoC-Subscription-Information */
6866 {
6867 /* Grouped */
6868 struct dict_object * avp;
6869 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AoC-Subscription-Information"};
6870 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6871 struct local_rules_definition rules[] =
6872 {
6873 { { .avp_vendor = 10415, .avp_name = "AoC-Service"}, RULE_OPTIONAL, -1, -1 },
6874 { { .avp_vendor = 10415, .avp_name = "AoC-Format"}, RULE_OPTIONAL, -1, -1 },
6875 { { .avp_vendor = 10415, .avp_name = "Preferred-AoC-Currency"}, RULE_OPTIONAL, -1, -1 }
6876 };
6877 PARSE_loc_rules( rules, avp );
6878 }
6879 /* Current-Tariff */
6880 {
6881 /* Grouped */
6882 struct dict_object * avp;
6883 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Current-Tariff"};
6884 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6885 struct local_rules_definition rules[] =
6886 {
6887 { { .avp_vendor = 0, .avp_name = "Currency-Code"}, RULE_OPTIONAL, -1, -1 },
6888 { { .avp_vendor = 10415, .avp_name = "Scale-Factor"}, RULE_OPTIONAL, -1, -1 },
6889 { { .avp_vendor = 10415, .avp_name = "Rate-Element"}, RULE_OPTIONAL, -1, -1 }
6890 };
6891 PARSE_loc_rules( rules, avp );
6892 }
6893 /* APN-Rate-Control */
6894 {
6895 /* Grouped */
6896 struct dict_object * avp;
6897 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "APN-Rate-Control"};
6898 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6899 struct local_rules_definition rules[] =
6900 {
6901 { { .avp_vendor = 10415, .avp_name = "APN-Rate-Control-Uplink"}, RULE_OPTIONAL, -1, -1 },
6902 { { .avp_vendor = 10415, .avp_name = "APN-Rate-Control-Downlink"}, RULE_OPTIONAL, -1, -1 }
6903 };
6904 PARSE_loc_rules( rules, avp );
6905 }
6906 /* Access-Transfer-Information */
6907 {
6908 /* Grouped */
6909 struct dict_object * avp;
6910 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Access-Transfer-Information"};
6911 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6912 struct local_rules_definition rules[] =
6913 {
6914 { { .avp_vendor = 10415, .avp_name = "Access-Transfer-Type"}, RULE_OPTIONAL, -1, -1 },
6915 { { .avp_vendor = 10415, .avp_name = "Access-Network-Information"}, RULE_OPTIONAL, -1, -1 },
6916 { { .avp_vendor = 10415, .avp_name = "Cellular-Network-Information"}, RULE_OPTIONAL, -1, -1 },
6917 { { .avp_vendor = 10415, .avp_name = "Inter-UE-Transfer"}, RULE_OPTIONAL, -1, -1 },
6918 { { .avp_vendor = 0, .avp_name = "User-Equipment-Info"}, RULE_OPTIONAL, -1, -1 },
6919 { { .avp_vendor = 10415, .avp_name = "Instance-Id"}, RULE_OPTIONAL, -1, -1 },
6920 { { .avp_vendor = 10415, .avp_name = "Related-IMS-Charging-Identifier"}, RULE_OPTIONAL, -1, -1 },
6921 { { .avp_vendor = 10415, .avp_name = "Related-IMS-Charging-Identifier-Node"}, RULE_OPTIONAL, -1, -1 },
6922 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }
6923 };
6924 PARSE_loc_rules( rules, avp );
6925 }
6926 /* Recipient-Received-Address */
6927 {
6928 /* Grouped */
6929 struct dict_object * avp;
6930 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Recipient-Received-Address"};
6931 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6932 struct local_rules_definition rules[] =
6933 {
6934 { { .avp_vendor = 10415, .avp_name = "Address-Type"}, RULE_OPTIONAL, -1, -1 },
6935 { { .avp_vendor = 10415, .avp_name = "Address-Data"}, RULE_OPTIONAL, -1, -1 },
6936 { { .avp_vendor = 10415, .avp_name = "Address-Domain"}, RULE_OPTIONAL, -1, -1 }
6937 };
6938 PARSE_loc_rules( rules, avp );
6939 }
6940 /* AoC-Cost-Information */
6941 {
6942 /* Grouped */
6943 struct dict_object * avp;
6944 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AoC-Cost-Information"};
6945 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6946 struct local_rules_definition rules[] =
6947 {
6948 { { .avp_vendor = 10415, .avp_name = "Accumulated-Cost"}, RULE_OPTIONAL, -1, -1 },
6949 { { .avp_vendor = 10415, .avp_name = "Incremental-Cost"}, RULE_OPTIONAL, -1, -1 },
6950 { { .avp_vendor = 0, .avp_name = "Currency-Code"}, RULE_OPTIONAL, -1, -1 }
6951 };
6952 PARSE_loc_rules( rules, avp );
6953 }
6954 /* Originator-Address */
6955 {
6956 /* Grouped */
6957 struct dict_object * avp;
6958 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Originator-Address"};
6959 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6960 struct local_rules_definition rules[] =
6961 {
6962 { { .avp_vendor = 10415, .avp_name = "Address-Type"}, RULE_OPTIONAL, -1, -1 },
6963 { { .avp_vendor = 10415, .avp_name = "Address-Data"}, RULE_OPTIONAL, -1, -1 },
6964 { { .avp_vendor = 10415, .avp_name = "Address-Domain"}, RULE_OPTIONAL, -1, -1 }
6965 };
6966 PARSE_loc_rules( rules, avp );
6967 }
6968 /* Originator-Received-Address */
6969 {
6970 /* Grouped */
6971 struct dict_object * avp;
6972 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Originator-Received-Address"};
6973 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6974 struct local_rules_definition rules[] =
6975 {
6976 { { .avp_vendor = 10415, .avp_name = "Address-Type"}, RULE_OPTIONAL, -1, -1 },
6977 { { .avp_vendor = 10415, .avp_name = "Address-Data"}, RULE_OPTIONAL, -1, -1 },
6978 { { .avp_vendor = 10415, .avp_name = "Address-Domain"}, RULE_OPTIONAL, -1, -1 }
6979 };
6980 PARSE_loc_rules( rules, avp );
6981 }
6982 /* Remaining-Balance */
6983 {
6984 /* Grouped */
6985 struct dict_object * avp;
6986 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Remaining-Balance"};
6987 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
6988 struct local_rules_definition rules[] =
6989 {
6990 { { .avp_vendor = 0, .avp_name = "Unit-Value"}, RULE_REQUIRED, -1, -1 },
6991 { { .avp_vendor = 0, .avp_name = "Currency-Code"}, RULE_REQUIRED, -1, -1 }
6992 };
6993 PARSE_loc_rules( rules, avp );
6994 }
6995 /* AF-Correlation-Information */
6996 {
6997 /* Grouped */
6998 struct dict_object * avp;
6999 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AF-Correlation-Information"};
7000 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7001 struct local_rules_definition rules[] =
7002 {
7003 { { .avp_vendor = 10415, .avp_name = "AF-Charging-Identifier"}, RULE_REQUIRED, -1, -1 },
7004 { { .avp_vendor = 10415, .avp_name = "Flows"}, RULE_OPTIONAL, -1, -1 }
7005 };
7006 PARSE_loc_rules( rules, avp );
7007 }
7008 /* Recipient-Address */
7009 {
7010 /* Grouped */
7011 struct dict_object * avp;
7012 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Recipient-Address"};
7013 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7014 struct local_rules_definition rules[] =
7015 {
7016 { { .avp_vendor = 10415, .avp_name = "Address-Type"}, RULE_OPTIONAL, -1, -1 },
7017 { { .avp_vendor = 10415, .avp_name = "Address-Data"}, RULE_OPTIONAL, -1, -1 },
7018 { { .avp_vendor = 10415, .avp_name = "Address-Domain"}, RULE_OPTIONAL, -1, -1 },
7019 { { .avp_vendor = 10415, .avp_name = "Addressee-Type"}, RULE_OPTIONAL, -1, -1 }
7020 };
7021 PARSE_loc_rules( rules, avp );
7022 }
7023 /* Next-Tariff */
7024 {
7025 /* Grouped */
7026 struct dict_object * avp;
7027 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Next-Tariff"};
7028 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7029 struct local_rules_definition rules[] =
7030 {
7031 { { .avp_vendor = 0, .avp_name = "Currency-Code"}, RULE_OPTIONAL, -1, -1 },
7032 { { .avp_vendor = 10415, .avp_name = "Scale-Factor"}, RULE_OPTIONAL, -1, -1 },
7033 { { .avp_vendor = 10415, .avp_name = "Rate-Element"}, RULE_OPTIONAL, -1, -1 }
7034 };
7035 PARSE_loc_rules( rules, avp );
7036 }
7037 /* Coverage-Info */
7038 {
7039 /* Grouped */
7040 struct dict_object * avp;
7041 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Coverage-Info"};
7042 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7043 struct local_rules_definition rules[] =
7044 {
7045 { { .avp_vendor = 10415, .avp_name = "Coverage-Status"}, RULE_OPTIONAL, -1, -1 },
7046 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 },
7047 { { .avp_vendor = 10415, .avp_name = "Location-Info"}, RULE_OPTIONAL, -1, -1 }
7048 };
7049 PARSE_loc_rules( rules, avp );
7050 }
7051 /* Announcement-Information */
7052 {
7053 /* Grouped */
7054 struct dict_object * avp;
7055 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Announcement-Information"};
7056 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7057 struct local_rules_definition rules[] =
7058 {
7059 { { .avp_vendor = 10415, .avp_name = "Announcement-Identifier"}, RULE_REQUIRED, -1, -1 },
7060 { { .avp_vendor = 10415, .avp_name = "Variable-Part"}, RULE_OPTIONAL, -1, -1 },
7061 { { .avp_vendor = 10415, .avp_name = "Time-Indicator"}, RULE_OPTIONAL, -1, -1 },
7062 { { .avp_vendor = 10415, .avp_name = "Quota-Indicator"}, RULE_OPTIONAL, -1, -1 },
7063 { { .avp_vendor = 10415, .avp_name = "Announcement-Order"}, RULE_OPTIONAL, -1, -1 },
7064 { { .avp_vendor = 10415, .avp_name = "Play-Alternative"}, RULE_OPTIONAL, -1, -1 },
7065 { { .avp_vendor = 10415, .avp_name = "Privacy-Indicator"}, RULE_OPTIONAL, -1, -1 },
7066 { { .avp_vendor = 10415, .avp_name = "Language"}, RULE_OPTIONAL, -1, -1 }
7067 };
7068 PARSE_loc_rules( rules, avp );
7069 }
7070 /* MM-Content-Type */
7071 {
7072 /* Grouped */
7073 struct dict_object * avp;
7074 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "MM-Content-Type"};
7075 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7076 struct local_rules_definition rules[] =
7077 {
7078 { { .avp_vendor = 10415, .avp_name = "Type-Number"}, RULE_OPTIONAL, -1, -1 },
7079 { { .avp_vendor = 10415, .avp_name = "Additional-Type-Information"}, RULE_OPTIONAL, -1, -1 },
7080 { { .avp_vendor = 10415, .avp_name = "Content-Size"}, RULE_OPTIONAL, -1, -1 },
7081 { { .avp_vendor = 10415, .avp_name = "Additional-Content-Information"}, RULE_OPTIONAL, -1, -1 }
7082 };
7083 PARSE_loc_rules( rules, avp );
7084 }
7085 /* MMTel-Information */
7086 {
7087 /* Grouped */
7088 struct dict_object * avp;
7089 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "MMTel-Information"};
7090 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7091 struct local_rules_definition rules[] =
7092 {
7093 { { .avp_vendor = 10415, .avp_name = "Supplementary-Service"}, RULE_OPTIONAL, -1, -1 }
7094 };
7095 PARSE_loc_rules( rules, avp );
7096 }
7097 /* Service-Data-Container */
7098 {
7099 /* Grouped */
7100 struct dict_object * avp;
7101 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Service-Data-Container"};
7102 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7103 struct local_rules_definition rules[] =
7104 {
7105 { { .avp_vendor = 10415, .avp_name = "AF-Correlation-Information"}, RULE_OPTIONAL, -1, -1 },
7106 { { .avp_vendor = 10415, .avp_name = "Charging-Rule-Base-Name"}, RULE_OPTIONAL, -1, -1 },
7107 { { .avp_vendor = 0, .avp_name = "Accounting-Input-Octets"}, RULE_OPTIONAL, -1, -1 },
7108 { { .avp_vendor = 0, .avp_name = "Accounting-Output-Octets"}, RULE_OPTIONAL, -1, -1 },
7109 { { .avp_vendor = 10415, .avp_name = "Local-Sequence-Number"}, RULE_OPTIONAL, -1, -1 },
7110 { { .avp_vendor = 10415, .avp_name = "QoS-Information"}, RULE_OPTIONAL, -1, -1 },
7111 { { .avp_vendor = 0, .avp_name = "Rating-Group"}, RULE_OPTIONAL, -1, -1 },
7112 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 },
7113 { { .avp_vendor = 0, .avp_name = "Service-Identifier"}, RULE_OPTIONAL, -1, -1 },
7114 { { .avp_vendor = 10415, .avp_name = "Service-Specific-Info"}, RULE_OPTIONAL, -1, -1 },
7115 { { .avp_vendor = 10415, .avp_name = "ADC-Rule-Base-Name"}, RULE_OPTIONAL, -1, -1 },
7116 { { .avp_vendor = 10415, .avp_name = "SGSN-Address"}, RULE_OPTIONAL, -1, -1 },
7117 { { .avp_vendor = 10415, .avp_name = "Time-First-Usage"}, RULE_OPTIONAL, -1, -1 },
7118 { { .avp_vendor = 10415, .avp_name = "Time-Last-Usage"}, RULE_OPTIONAL, -1, -1 },
7119 { { .avp_vendor = 10415, .avp_name = "Time-Usage"}, RULE_OPTIONAL, -1, -1 },
7120 { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 },
7121 { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
7122 { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID"}, RULE_OPTIONAL, -1, -1 },
7123 { { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
7124 { { .avp_vendor = 10415, .avp_name = "Sponsor-Identity"}, RULE_OPTIONAL, -1, -1 },
7125 { { .avp_vendor = 10415, .avp_name = "Application-Service-Provider-Identity"}, RULE_OPTIONAL, -1, -1 },
7126 { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Information"}, RULE_OPTIONAL, -1, -1 },
7127 { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Status"}, RULE_OPTIONAL, -1, -1 },
7128 { { .avp_vendor = 10415, .avp_name = "User-CSG-Information"}, RULE_OPTIONAL, -1, -1 },
7129 { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type"}, RULE_OPTIONAL, -1, -1 },
7130 { { .avp_vendor = 10415, .avp_name = "Related-Change-Condition-Information"}, RULE_OPTIONAL, -1, -1 },
7131 { { .avp_vendor = 10415, .avp_name = "Serving-PLMN-Rate-Control"}, RULE_OPTIONAL, -1, -1 },
7132 { { .avp_vendor = 10415, .avp_name = "APN-Rate-Control"}, RULE_OPTIONAL, -1, -1 },
7133 { { .avp_vendor = 10415, .avp_name = "3GPP-PS-Data-Off-Status"}, RULE_OPTIONAL, -1, -1 }
7134 };
7135 PARSE_loc_rules( rules, avp );
7136 }
7137 /* MMS-Information */
7138 {
7139 /* Grouped */
7140 struct dict_object * avp;
7141 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "MMS-Information"};
7142 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7143 struct local_rules_definition rules[] =
7144 {
7145 { { .avp_vendor = 10415, .avp_name = "Originator-Address"}, RULE_OPTIONAL, -1, -1 },
7146 { { .avp_vendor = 10415, .avp_name = "Recipient-Address"}, RULE_OPTIONAL, -1, -1 },
7147 { { .avp_vendor = 10415, .avp_name = "Submission-Time"}, RULE_OPTIONAL, -1, -1 },
7148 { { .avp_vendor = 10415, .avp_name = "MM-Content-Type"}, RULE_OPTIONAL, -1, -1 },
7149 { { .avp_vendor = 10415, .avp_name = "Priority"}, RULE_OPTIONAL, -1, -1 },
7150 { { .avp_vendor = 10415, .avp_name = "Message-ID"}, RULE_OPTIONAL, -1, -1 },
7151 { { .avp_vendor = 10415, .avp_name = "Message-Type"}, RULE_OPTIONAL, -1, -1 },
7152 { { .avp_vendor = 10415, .avp_name = "Message-Size"}, RULE_OPTIONAL, -1, -1 },
7153 { { .avp_vendor = 10415, .avp_name = "Message-Class"}, RULE_OPTIONAL, -1, -1 },
7154 { { .avp_vendor = 10415, .avp_name = "Delivery-Report-Requested"}, RULE_OPTIONAL, -1, -1 },
7155 { { .avp_vendor = 10415, .avp_name = "Read-Reply-Report-Requested"}, RULE_OPTIONAL, -1, -1 },
7156 { { .avp_vendor = 10415, .avp_name = "MMBox-Storage-Requested"}, RULE_OPTIONAL, -1, -1 },
7157 { { .avp_vendor = 10415, .avp_name = "Applic-ID"}, RULE_OPTIONAL, -1, -1 },
7158 { { .avp_vendor = 10415, .avp_name = "Reply-Applic-ID"}, RULE_OPTIONAL, -1, -1 },
7159 { { .avp_vendor = 10415, .avp_name = "Aux-Applic-Info"}, RULE_OPTIONAL, -1, -1 },
7160 { { .avp_vendor = 10415, .avp_name = "Content-Class"}, RULE_OPTIONAL, -1, -1 },
7161 { { .avp_vendor = 10415, .avp_name = "DRM-Content"}, RULE_OPTIONAL, -1, -1 },
7162 { { .avp_vendor = 10415, .avp_name = "Adaptations"}, RULE_OPTIONAL, -1, -1 }
7163 };
7164 PARSE_loc_rules( rules, avp );
7165 }
7166 /* Recipient-Info */
7167 {
7168 /* Grouped */
7169 struct dict_object * avp;
7170 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Recipient-Info"};
7171 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7172 struct local_rules_definition rules[] =
7173 {
7174 { { .avp_vendor = 10415, .avp_name = "Destination-Interface"}, RULE_OPTIONAL, -1, -1 },
7175 { { .avp_vendor = 10415, .avp_name = "Recipient-Address"}, RULE_OPTIONAL, -1, -1 },
7176 { { .avp_vendor = 10415, .avp_name = "Recipient-Received-Address"}, RULE_OPTIONAL, -1, -1 },
7177 { { .avp_vendor = 10415, .avp_name = "Recipient-SCCP-Address"}, RULE_OPTIONAL, -1, -1 },
7178 { { .avp_vendor = 10415, .avp_name = "SM-Protocol-ID"}, RULE_OPTIONAL, -1, -1 }
7179 };
7180 PARSE_loc_rules( rules, avp );
7181 }
7182 /* Traffic-Data-Volumes */
7183 {
7184 /* Grouped */
7185 struct dict_object * avp;
7186 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Traffic-Data-Volumes"};
7187 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7188 struct local_rules_definition rules[] =
7189 {
7190 { { .avp_vendor = 10415, .avp_name = "QoS-Information"}, RULE_OPTIONAL, -1, -1 },
7191 { { .avp_vendor = 0, .avp_name = "Accounting-Input-Octets"}, RULE_OPTIONAL, -1, -1 },
7192 { { .avp_vendor = 0, .avp_name = "Accounting-Output-Octets"}, RULE_OPTIONAL, -1, -1 },
7193 { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 },
7194 { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 },
7195 { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
7196 { { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
7197 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id"}, RULE_OPTIONAL, -1, -1 },
7198 { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Status"}, RULE_OPTIONAL, -1, -1 },
7199 { { .avp_vendor = 10415, .avp_name = "User-CSG-Information"}, RULE_OPTIONAL, -1, -1 },
7200 { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type"}, RULE_OPTIONAL, -1, -1 }
7201 };
7202 PARSE_loc_rules( rules, avp );
7203 }
7204 /* LCS-Information */
7205 {
7206 /* Grouped */
7207 struct dict_object * avp;
7208 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "LCS-Information"};
7209 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7210 struct local_rules_definition rules[] =
7211 {
7212 { { .avp_vendor = 10415, .avp_name = "LCS-Client-Id"}, RULE_OPTIONAL, -1, -1 },
7213 { { .avp_vendor = 10415, .avp_name = "Location-Type"}, RULE_OPTIONAL, -1, -1 },
7214 { { .avp_vendor = 10415, .avp_name = "Location-Estimate"}, RULE_OPTIONAL, -1, -1 },
7215 { { .avp_vendor = 10415, .avp_name = "Positioning-Data"}, RULE_OPTIONAL, -1, -1 },
7216 { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI"}, RULE_OPTIONAL, -1, -1 },
7217 { { .avp_vendor = 10415, .avp_name = "MSISDN"}, RULE_OPTIONAL, -1, -1 }
7218 };
7219 PARSE_loc_rules( rules, avp );
7220 }
7221 /* Tariff-Information */
7222 {
7223 /* Grouped */
7224 struct dict_object * avp;
7225 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Tariff-Information"};
7226 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7227 struct local_rules_definition rules[] =
7228 {
7229 { { .avp_vendor = 10415, .avp_name = "Current-Tariff"}, RULE_REQUIRED, -1, -1 },
7230 { { .avp_vendor = 0, .avp_name = "Tariff-Time-Change"}, RULE_OPTIONAL, -1, -1 },
7231 { { .avp_vendor = 10415, .avp_name = "Next-Tariff"}, RULE_OPTIONAL, -1, -1 }
7232 };
7233 PARSE_loc_rules( rules, avp );
7234 }
7235 /* ProSe-Information */
7236 {
7237 /* Grouped */
7238 struct dict_object * avp;
7239 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "ProSe-Information"};
7240 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7241 struct local_rules_definition rules[] =
7242 {
7243 { { .avp_vendor = 10415, .avp_name = "Announcing-UE-HPLMN-Identifier"}, RULE_OPTIONAL, -1, -1 },
7244 { { .avp_vendor = 10415, .avp_name = "Announcing-UE-VPLMN-Identifier"}, RULE_OPTIONAL, -1, -1 },
7245 { { .avp_vendor = 10415, .avp_name = "Monitoring-UE-HPLMN-Identifier"}, RULE_OPTIONAL, -1, -1 },
7246 { { .avp_vendor = 10415, .avp_name = "Monitoring-UE-VPLMN-Identifier"}, RULE_OPTIONAL, -1, -1 },
7247 { { .avp_vendor = 10415, .avp_name = "Role-Of-ProSe-Function"}, RULE_OPTIONAL, -1, -1 },
7248 { { .avp_vendor = 10415, .avp_name = "ProSe-App-Id"}, RULE_OPTIONAL, -1, -1 },
7249 { { .avp_vendor = 10415, .avp_name = "ProSe-3rd-Party-Application-ID"}, RULE_OPTIONAL, -1, -1 },
7250 { { .avp_vendor = 10415, .avp_name = "Application-Specific-Data"}, RULE_OPTIONAL, -1, -1 },
7251 { { .avp_vendor = 10415, .avp_name = "ProSe-Event-Type"}, RULE_OPTIONAL, -1, -1 },
7252 { { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Discovery-Model"}, RULE_OPTIONAL, -1, -1 },
7253 { { .avp_vendor = 10415, .avp_name = "ProSe-Function-IP-Address"}, RULE_OPTIONAL, -1, -1 },
7254 { { .avp_vendor = 10415, .avp_name = "ProSe-Function-ID"}, RULE_OPTIONAL, -1, -1 },
7255 { { .avp_vendor = 10415, .avp_name = "ProSe-Validity-Timer"}, RULE_OPTIONAL, -1, -1 },
7256 { { .avp_vendor = 10415, .avp_name = "ProSe-Role-Of-UE"}, RULE_OPTIONAL, -1, -1 },
7257 { { .avp_vendor = 10415, .avp_name = "ProSe-Request-Timestamp"}, RULE_OPTIONAL, -1, -1 },
7258 { { .avp_vendor = 10415, .avp_name = "PC3-Control-Protocol-Cause"}, RULE_OPTIONAL, -1, -1 },
7259 { { .avp_vendor = 10415, .avp_name = "Monitoring-UE-Identifier"}, RULE_OPTIONAL, -1, -1 },
7260 { { .avp_vendor = 10415, .avp_name = "Requestor-PLMN-Identifier"}, RULE_OPTIONAL, -1, -1 },
7261 { { .avp_vendor = 10415, .avp_name = "Origin-App-Layer-User-Id"}, RULE_OPTIONAL, -1, -1 },
7262 { { .avp_vendor = 10415, .avp_name = "WLAN-Link-Layer-Id"}, RULE_OPTIONAL, -1, -1 },
7263 { { .avp_vendor = 10415, .avp_name = "Requesting-EPUID"}, RULE_OPTIONAL, -1, -1 },
7264 { { .avp_vendor = 10415, .avp_name = "Target-App-Layer-User-Id"}, RULE_OPTIONAL, -1, -1 },
7265 { { .avp_vendor = 10415, .avp_name = "Requested-PLMN-Identifier"}, RULE_OPTIONAL, -1, -1 },
7266 { { .avp_vendor = 10415, .avp_name = "Time-Window"}, RULE_OPTIONAL, -1, -1 },
7267 { { .avp_vendor = 10415, .avp_name = "ProSe-Range-Class"}, RULE_OPTIONAL, -1, -1 },
7268 { { .avp_vendor = 10415, .avp_name = "Proximity-Alert-Indication"}, RULE_OPTIONAL, -1, -1 },
7269 { { .avp_vendor = 10415, .avp_name = "Proximity-Alert-Timestamp"}, RULE_OPTIONAL, -1, -1 },
7270 { { .avp_vendor = 10415, .avp_name = "Proximity-Cancellation-Timestamp"}, RULE_OPTIONAL, -1, -1 },
7271 { { .avp_vendor = 10415, .avp_name = "ProSe-Reason-For-Cancellation"}, RULE_OPTIONAL, -1, -1 },
7272 { { .avp_vendor = 10415, .avp_name = "PC3-EPC-Control-Protocol-Cause"}, RULE_OPTIONAL, -1, -1 },
7273 { { .avp_vendor = 10415, .avp_name = "ProSe-UE-ID"}, RULE_OPTIONAL, -1, -1 },
7274 { { .avp_vendor = 10415, .avp_name = "ProSe-Source-IP-Address"}, RULE_OPTIONAL, -1, -1 },
7275 { { .avp_vendor = 10415, .avp_name = "Layer-2-Group-ID"}, RULE_OPTIONAL, -1, -1 },
7276 { { .avp_vendor = 10415, .avp_name = "ProSe-Group-IP-Multicast-Address"}, RULE_OPTIONAL, -1, -1 },
7277 { { .avp_vendor = 10415, .avp_name = "Coverage-Info"}, RULE_OPTIONAL, -1, -1 },
7278 { { .avp_vendor = 10415, .avp_name = "Radio-Parameter-Set-Info"}, RULE_OPTIONAL, -1, -1 },
7279 { { .avp_vendor = 10415, .avp_name = "Transmitter-Info"}, RULE_OPTIONAL, -1, -1 },
7280 { { .avp_vendor = 10415, .avp_name = "Time-First-Transmission"}, RULE_OPTIONAL, -1, -1 },
7281 { { .avp_vendor = 10415, .avp_name = "Time-First-Reception"}, RULE_OPTIONAL, -1, -1 },
7282 { { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Communication-Transmission-Data-Container"}, RULE_OPTIONAL, -1, -1 },
7283 { { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Communication-Reception-Data-Container"}, RULE_OPTIONAL, -1, -1 }
7284 };
7285 PARSE_loc_rules( rules, avp );
7286 }
7287 /* SMS-Information */
7288 {
7289 /* Grouped */
7290 struct dict_object * avp;
7291 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SMS-Information"};
7292 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7293 struct local_rules_definition rules[] =
7294 {
7295 { { .avp_vendor = 10415, .avp_name = "SMS-Node"}, RULE_OPTIONAL, -1, -1 },
7296 { { .avp_vendor = 10415, .avp_name = "Client-Address"}, RULE_OPTIONAL, -1, -1 },
7297 { { .avp_vendor = 10415, .avp_name = "Originator-SCCP-Address"}, RULE_OPTIONAL, -1, -1 },
7298 { { .avp_vendor = 10415, .avp_name = "SMSC-Address"}, RULE_OPTIONAL, -1, -1 },
7299 { { .avp_vendor = 10415, .avp_name = "Data-Coding-Scheme"}, RULE_OPTIONAL, -1, -1 },
7300 { { .avp_vendor = 10415, .avp_name = "SM-Discharge-Time"}, RULE_OPTIONAL, -1, -1 },
7301 { { .avp_vendor = 10415, .avp_name = "SM-Message-Type"}, RULE_OPTIONAL, -1, -1 },
7302 { { .avp_vendor = 10415, .avp_name = "Originator-Interface"}, RULE_OPTIONAL, -1, -1 },
7303 { { .avp_vendor = 10415, .avp_name = "SM-Protocol-ID"}, RULE_OPTIONAL, -1, -1 },
7304 { { .avp_vendor = 10415, .avp_name = "Reply-Path-Requested"}, RULE_OPTIONAL, -1, -1 },
7305 { { .avp_vendor = 10415, .avp_name = "SM-Status"}, RULE_OPTIONAL, -1, -1 },
7306 { { .avp_vendor = 10415, .avp_name = "SM-User-Data-Header"}, RULE_OPTIONAL, -1, -1 },
7307 { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Sent"}, RULE_OPTIONAL, -1, -1 },
7308 { { .avp_vendor = 10415, .avp_name = "SM-Sequence-Number"}, RULE_OPTIONAL, -1, -1 },
7309 { { .avp_vendor = 10415, .avp_name = "Recipient-Info"}, RULE_OPTIONAL, -1, -1 },
7310 { { .avp_vendor = 10415, .avp_name = "Originator-Received-Address"}, RULE_OPTIONAL, -1, -1 },
7311 { { .avp_vendor = 10415, .avp_name = "SM-Service-Type"}, RULE_OPTIONAL, -1, -1 },
7312 { { .avp_vendor = 10415, .avp_name = "SMS-Result"}, RULE_OPTIONAL, -1, -1 },
7313 { { .avp_vendor = 10415, .avp_name = "SM-Device-Trigger-Indicator"}, RULE_OPTIONAL, -1, -1 },
7314 { { .avp_vendor = 10415, .avp_name = "SM-Device-Trigger-Information"}, RULE_OPTIONAL, -1, -1 }
7315 };
7316 PARSE_loc_rules( rules, avp );
7317 }
7318 /* Real-Time-Tariff-Information */
7319 {
7320 /* Grouped */
7321 struct dict_object * avp;
7322 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Real-Time-Tariff-Information"};
7323 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7324 struct local_rules_definition rules[] =
7325 {
7326 { { .avp_vendor = 10415, .avp_name = "Tariff-Information"}, RULE_OPTIONAL, -1, -1 },
7327 { { .avp_vendor = 10415, .avp_name = "Tariff-XML"}, RULE_OPTIONAL, -1, -1 }
7328 };
7329 PARSE_loc_rules( rules, avp );
7330 }
7331 /* AoC-Information */
7332 {
7333 /* Grouped */
7334 struct dict_object * avp;
7335 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AoC-Information"};
7336 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7337 struct local_rules_definition rules[] =
7338 {
7339 { { .avp_vendor = 10415, .avp_name = "AoC-Cost-Information"}, RULE_OPTIONAL, -1, -1 },
7340 { { .avp_vendor = 10415, .avp_name = "Tariff-Information"}, RULE_OPTIONAL, -1, -1 },
7341 { { .avp_vendor = 10415, .avp_name = "AoC-Subscription-Information"}, RULE_OPTIONAL, -1, -1 }
7342 };
7343 PARSE_loc_rules( rules, avp );
7344 }
7345 /* Monitoring-Event-Report-Data */
7346 {
7347 /* Grouped */
7348 struct dict_object * avp;
7349 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Report-Data"};
7350 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7351 struct local_rules_definition rules[] =
7352 {
7353 { { .avp_vendor = 0, .avp_name = "Event-Timestamp"}, RULE_OPTIONAL, -1, -1 },
7354 { { .avp_vendor = 10415, .avp_name = "SCEF-Reference-ID"}, RULE_OPTIONAL, -1, -1 },
7355 { { .avp_vendor = 10415, .avp_name = "SCEF-ID"}, RULE_OPTIONAL, -1, -1 },
7356 { { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Report-Number"}, RULE_OPTIONAL, -1, -1 },
7357 { { .avp_vendor = 10415, .avp_name = "Charged-Party"}, RULE_OPTIONAL, -1, -1 },
7358 { { .avp_vendor = 0, .avp_name = "Subscription-Id"}, RULE_OPTIONAL, -1, -1 },
7359 { { .avp_vendor = 10415, .avp_name = "Monitoring-Type"}, RULE_OPTIONAL, -1, -1 },
7360 { { .avp_vendor = 10415, .avp_name = "Reachability-Information"}, RULE_OPTIONAL, -1, -1 },
7361 { { .avp_vendor = 10415, .avp_name = "EPS-Location-Information"}, RULE_OPTIONAL, -1, -1 },
7362 { { .avp_vendor = 10415, .avp_name = "Communication-Failure-Information"}, RULE_OPTIONAL, -1, -1 },
7363 { { .avp_vendor = 10415, .avp_name = "Number-Of-UE-Per-Location-Report"}, RULE_OPTIONAL, -1, -1 }
7364 };
7365 PARSE_loc_rules( rules, avp );
7366 }
7367 /* Offline-Charging */
7368 {
7369 /* Grouped */
7370 struct dict_object * avp;
7371 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Offline-Charging"};
7372 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7373 struct local_rules_definition rules[] =
7374 {
7375 { { .avp_vendor = 10415, .avp_name = "Quota-Consumption-Time"}, RULE_OPTIONAL, -1, -1 },
7376 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Mechanism"}, RULE_OPTIONAL, -1, -1 },
7377 { { .avp_vendor = 10415, .avp_name = "Envelope-Reporting"}, RULE_OPTIONAL, -1, -1 },
7378 { { .avp_vendor = 0, .avp_name = "Multiple-Services-Credit-Control"}, RULE_OPTIONAL, -1, -1 }
7379 };
7380 PARSE_loc_rules( rules, avp );
7381 }
7382 /* IMS-Information */
7383 {
7384 /* Grouped */
7385 struct dict_object * avp;
7386 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "IMS-Information"};
7387 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7388 struct local_rules_definition rules[] =
7389 {
7390 { { .avp_vendor = 10415, .avp_name = "Event-Type"}, RULE_OPTIONAL, -1, -1 },
7391 { { .avp_vendor = 10415, .avp_name = "Role-Of-Node"}, RULE_OPTIONAL, -1, -1 },
7392 { { .avp_vendor = 10415, .avp_name = "Node-Functionality"}, RULE_REQUIRED, -1, -1 },
7393 { { .avp_vendor = 10415, .avp_name = "User-Session-Id"}, RULE_OPTIONAL, -1, -1 },
7394 { { .avp_vendor = 10415, .avp_name = "Outgoing-Session-Id"}, RULE_OPTIONAL, -1, -1 },
7395 { { .avp_vendor = 10415, .avp_name = "Session-Priority"}, RULE_OPTIONAL, -1, -1 },
7396 { { .avp_vendor = 10415, .avp_name = "Calling-Party-Address"}, RULE_OPTIONAL, -1, -1 },
7397 { { .avp_vendor = 10415, .avp_name = "Called-Party-Address"}, RULE_OPTIONAL, -1, -1 },
7398 { { .avp_vendor = 10415, .avp_name = "Called-Asserted-Identity"}, RULE_OPTIONAL, -1, -1 },
7399 { { .avp_vendor = 10415, .avp_name = "Called-Identity-Change"}, RULE_OPTIONAL, -1, -1 },
7400 { { .avp_vendor = 10415, .avp_name = "Number-Portability-Routing-Information"}, RULE_OPTIONAL, -1, -1 },
7401 { { .avp_vendor = 10415, .avp_name = "Carrier-Select-Routing-Information"}, RULE_OPTIONAL, -1, -1 },
7402 { { .avp_vendor = 10415, .avp_name = "Alternate-Charged-Party-Address"}, RULE_OPTIONAL, -1, -1 },
7403 { { .avp_vendor = 10415, .avp_name = "Requested-Party-Address"}, RULE_OPTIONAL, -1, -1 },
7404 { { .avp_vendor = 10415, .avp_name = "Associated-URI"}, RULE_OPTIONAL, -1, -1 },
7405 { { .avp_vendor = 10415, .avp_name = "Time-Stamps"}, RULE_OPTIONAL, -1, -1 },
7406 { { .avp_vendor = 10415, .avp_name = "Application-Server-Information"}, RULE_OPTIONAL, -1, -1 },
7407 { { .avp_vendor = 10415, .avp_name = "Inter-Operator-Identifier"}, RULE_OPTIONAL, -1, -1 },
7408 { { .avp_vendor = 10415, .avp_name = "Transit-IOI-List"}, RULE_OPTIONAL, -1, -1 },
7409 { { .avp_vendor = 10415, .avp_name = "IMS-Charging-Identifier"}, RULE_OPTIONAL, -1, -1 },
7410 { { .avp_vendor = 10415, .avp_name = "SDP-Session-Description"}, RULE_OPTIONAL, -1, -1 },
7411 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Component"}, RULE_OPTIONAL, -1, -1 },
7412 { { .avp_vendor = 10415, .avp_name = "Served-Party-IP-Address"}, RULE_OPTIONAL, -1, -1 },
7413 { { .avp_vendor = 10415, .avp_name = "Server-Capabilities"}, RULE_OPTIONAL, -1, -1 },
7414 { { .avp_vendor = 10415, .avp_name = "Trunk-Group-ID"}, RULE_OPTIONAL, -1, -1 },
7415 { { .avp_vendor = 10415, .avp_name = "Bearer-Service"}, RULE_OPTIONAL, -1, -1 },
7416 { { .avp_vendor = 10415, .avp_name = "Service-Id"}, RULE_OPTIONAL, -1, -1 },
7417 { { .avp_vendor = 10415, .avp_name = "Service-Specific-Info"}, RULE_OPTIONAL, -1, -1 },
7418 { { .avp_vendor = 10415, .avp_name = "Message-Body"}, RULE_OPTIONAL, -1, -1 },
7419 { { .avp_vendor = 10415, .avp_name = "Cause-Code"}, RULE_OPTIONAL, -1, -1 },
7420 { { .avp_vendor = 10415, .avp_name = "Reason-Header"}, RULE_OPTIONAL, -1, -1 },
7421 { { .avp_vendor = 10415, .avp_name = "Access-Network-Information"}, RULE_OPTIONAL, -1, -1 },
7422 { { .avp_vendor = 10415, .avp_name = "Cellular-Network-Information"}, RULE_OPTIONAL, -1, -1 },
7423 { { .avp_vendor = 10415, .avp_name = "Early-Media-Description"}, RULE_OPTIONAL, -1, -1 },
7424 { { .avp_vendor = 10415, .avp_name = "IMS-Communication-Service-Identifier"}, RULE_OPTIONAL, -1, -1 },
7425 { { .avp_vendor = 10415, .avp_name = "IMS-Application-Reference-Identifier"}, RULE_OPTIONAL, -1, -1 },
7426 { { .avp_vendor = 10415, .avp_name = "Online-Charging-Flag"}, RULE_OPTIONAL, -1, -1 },
7427 { { .avp_vendor = 10415, .avp_name = "Real-Time-Tariff-Information"}, RULE_OPTIONAL, -1, -1 },
7428 { { .avp_vendor = 10415, .avp_name = "Account-Expiration"}, RULE_OPTIONAL, -1, -1 },
7429 { { .avp_vendor = 10415, .avp_name = "Initial-IMS-Charging-Identifier"}, RULE_OPTIONAL, -1, -1 },
7430 { { .avp_vendor = 10415, .avp_name = "NNI-Information"}, RULE_OPTIONAL, -1, -1 },
7431 { { .avp_vendor = 10415, .avp_name = "From-Address"}, RULE_OPTIONAL, -1, -1 },
7432 { { .avp_vendor = 10415, .avp_name = "IMS-Emergency-Indicator"}, RULE_OPTIONAL, -1, -1 },
7433 { { .avp_vendor = 10415, .avp_name = "IMS-Visited-Network-Identifier"}, RULE_OPTIONAL, -1, -1 },
7434 { { .avp_vendor = 10415, .avp_name = "Access-Network-Info-Change"}, RULE_OPTIONAL, -1, -1 },
7435 { { .avp_vendor = 10415, .avp_name = "Access-Transfer-Information"}, RULE_OPTIONAL, -1, -1 },
7436 { { .avp_vendor = 10415, .avp_name = "Related-IMS-Charging-Identifier"}, RULE_OPTIONAL, -1, -1 },
7437 { { .avp_vendor = 10415, .avp_name = "Related-IMS-Charging-Identifier-Node"}, RULE_OPTIONAL, -1, -1 },
7438 { { .avp_vendor = 10415, .avp_name = "Route-Header-Received"}, RULE_OPTIONAL, -1, -1 },
7439 { { .avp_vendor = 10415, .avp_name = "Route-Header-Transmitted"}, RULE_OPTIONAL, -1, -1 },
7440 { { .avp_vendor = 10415, .avp_name = "Instance-Id"}, RULE_OPTIONAL, -1, -1 },
7441 { { .avp_vendor = 10415, .avp_name = "TAD-Identifier"}, RULE_OPTIONAL, -1, -1 }
7442 };
7443 PARSE_loc_rules( rules, avp );
7444 }
7445 /* Monitoring-Event-Information */
7446 {
7447 /* Grouped */
7448 struct dict_object * avp;
7449 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Information"};
7450 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7451 struct local_rules_definition rules[] =
7452 {
7453 { { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Functionality"}, RULE_OPTIONAL, -1, -1 },
7454 { { .avp_vendor = 0, .avp_name = "Event-Timestamp"}, RULE_OPTIONAL, -1, -1 },
7455 { { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Configuration-Activity"}, RULE_OPTIONAL, -1, -1 },
7456 { { .avp_vendor = 10415, .avp_name = "SCEF-Reference-ID"}, RULE_OPTIONAL, -1, -1 },
7457 { { .avp_vendor = 10415, .avp_name = "SCEF-ID"}, RULE_OPTIONAL, -1, -1 },
7458 { { .avp_vendor = 10415, .avp_name = "Monitoring-Type"}, RULE_OPTIONAL, -1, -1 },
7459 { { .avp_vendor = 10415, .avp_name = "Maximum-Number-of-Reports"}, RULE_OPTIONAL, -1, -1 },
7460 { { .avp_vendor = 10415, .avp_name = "Monitoring-Duration"}, RULE_OPTIONAL, -1, -1 },
7461 { { .avp_vendor = 10415, .avp_name = "Charged-Party"}, RULE_OPTIONAL, -1, -1 },
7462 { { .avp_vendor = 10415, .avp_name = "Maximum-Detection-Time"}, RULE_OPTIONAL, -1, -1 },
7463 { { .avp_vendor = 10415, .avp_name = "UE-Reachability-Configuration"}, RULE_OPTIONAL, -1, -1 },
7464 { { .avp_vendor = 10415, .avp_name = "MONTE-Location-Type"}, RULE_OPTIONAL, -1, -1 },
7465 { { .avp_vendor = 10415, .avp_name = "Accuracy"}, RULE_OPTIONAL, -1, -1 },
7466 { { .avp_vendor = 10415, .avp_name = "Number-Of-UE-Per-Location-Configuration"}, RULE_OPTIONAL, -1, -1 },
7467 { { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Report"}, RULE_OPTIONAL, -1, -1 }
7468 };
7469 PARSE_loc_rules( rules, avp );
7470 }
7471 /* PS-Information */
7472 {
7473 /* Grouped */
7474 struct dict_object * avp;
7475 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "PS-Information"};
7476 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7477 struct local_rules_definition rules[] =
7478 {
7479 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id"}, RULE_OPTIONAL, -1, -1 },
7480 { { .avp_vendor = 10415, .avp_name = "PDN-Connection-Charging-ID"}, RULE_OPTIONAL, -1, -1 },
7481 { { .avp_vendor = 10415, .avp_name = "Node-Id"}, RULE_OPTIONAL, -1, -1 },
7482 { { .avp_vendor = 10415, .avp_name = "3GPP-PDP-Type"}, RULE_OPTIONAL, -1, -1 },
7483 { { .avp_vendor = 10415, .avp_name = "PDP-Address"}, RULE_OPTIONAL, -1, -1 },
7484 { { .avp_vendor = 10415, .avp_name = "PDP-Address-Prefix-Length"}, RULE_OPTIONAL, -1, -1 },
7485 { { .avp_vendor = 10415, .avp_name = "Dynamic-Address-Flag"}, RULE_OPTIONAL, -1, -1 },
7486 { { .avp_vendor = 10415, .avp_name = "Dynamic-Address-Flag-Extension"}, RULE_OPTIONAL, -1, -1 },
7487 { { .avp_vendor = 10415, .avp_name = "QoS-Information"}, RULE_OPTIONAL, -1, -1 },
7488 { { .avp_vendor = 10415, .avp_name = "SGSN-Address"}, RULE_OPTIONAL, -1, -1 },
7489 { { .avp_vendor = 10415, .avp_name = "GGSN-Address"}, RULE_OPTIONAL, -1, -1 },
7490 { { .avp_vendor = 10415, .avp_name = "TDF-IP-Address"}, RULE_OPTIONAL, -1, -1 },
7491 { { .avp_vendor = 10415, .avp_name = "SGW-Address"}, RULE_OPTIONAL, -1, -1 },
7492 { { .avp_vendor = 10415, .avp_name = "EPDG-Address"}, RULE_OPTIONAL, -1, -1 },
7493 { { .avp_vendor = 10415, .avp_name = "TWAG-Address"}, RULE_OPTIONAL, -1, -1 },
7494 { { .avp_vendor = 10415, .avp_name = "CG-Address"}, RULE_OPTIONAL, -1, -1 },
7495 { { .avp_vendor = 10415, .avp_name = "Serving-Node-Type"}, RULE_OPTIONAL, -1, -1 },
7496 { { .avp_vendor = 10415, .avp_name = "SGW-Change"}, RULE_OPTIONAL, -1, -1 },
7497 { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI-MCC-MNC"}, RULE_OPTIONAL, -1, -1 },
7498 { { .avp_vendor = 10415, .avp_name = "IMSI-Unauthenticated-Flag"}, RULE_OPTIONAL, -1, -1 },
7499 { { .avp_vendor = 10415, .avp_name = "3GPP-GGSN-MCC-MNC"}, RULE_OPTIONAL, -1, -1 },
7500 { { .avp_vendor = 10415, .avp_name = "3GPP-NSAPI"}, RULE_OPTIONAL, -1, -1 },
7501 { { .avp_vendor = 0, .avp_name = "Called-Station-Id"}, RULE_OPTIONAL, -1, -1 },
7502 { { .avp_vendor = 10415, .avp_name = "3GPP-Selection-Mode"}, RULE_OPTIONAL, -1, -1 },
7503 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Characteristics"}, RULE_OPTIONAL, -1, -1 },
7504 { { .avp_vendor = 10415, .avp_name = "Charging-Characteristics-Selection-Mode"}, RULE_OPTIONAL, -1, -1 },
7505 { { .avp_vendor = 10415, .avp_name = "3GPP-SGSN-MCC-MNC"}, RULE_OPTIONAL, -1, -1 },
7506 { { .avp_vendor = 10415, .avp_name = "3GPP-MS-TimeZone"}, RULE_OPTIONAL, -1, -1 },
7507 { { .avp_vendor = 10415, .avp_name = "Charging-Rule-Base-Name"}, RULE_OPTIONAL, -1, -1 },
7508 { { .avp_vendor = 10415, .avp_name = "ADC-Rule-Base-Name"}, RULE_OPTIONAL, -1, -1 },
7509 { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
7510 { { .avp_vendor = 10415, .avp_name = "User-Location-Info-Time"}, RULE_OPTIONAL, -1, -1 },
7511 { { .avp_vendor = 10415, .avp_name = "User-CSG-Information"}, RULE_OPTIONAL, -1, -1 },
7512 { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Information"}, RULE_OPTIONAL, -1, -1 },
7513 { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID"}, RULE_OPTIONAL, -1, -1 },
7514 { { .avp_vendor = 10415, .avp_name = "TWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
7515 { { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
7516 { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type"}, RULE_OPTIONAL, -1, -1 },
7517 { { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information"}, RULE_OPTIONAL, -1, -1 },
7518 { { .avp_vendor = 10415, .avp_name = "PDP-Context-Type"}, RULE_OPTIONAL, -1, -1 },
7519 { { .avp_vendor = 10415, .avp_name = "Offline-Charging"}, RULE_OPTIONAL, -1, -1 },
7520 { { .avp_vendor = 10415, .avp_name = "Traffic-Data-Volumes"}, RULE_OPTIONAL, -1, -1 },
7521 { { .avp_vendor = 10415, .avp_name = "Service-Data-Container"}, RULE_OPTIONAL, -1, -1 },
7522 { { .avp_vendor = 0, .avp_name = "User-Equipment-Info"}, RULE_OPTIONAL, -1, -1 },
7523 { { .avp_vendor = 10415, .avp_name = "Terminal-Information"}, RULE_OPTIONAL, -1, -1 },
7524 { { .avp_vendor = 10415, .avp_name = "Start-Time"}, RULE_OPTIONAL, -1, -1 },
7525 { { .avp_vendor = 10415, .avp_name = "Stop-Time"}, RULE_OPTIONAL, -1, -1 },
7526 { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 },
7527 { { .avp_vendor = 10415, .avp_name = "Diagnostics"}, RULE_OPTIONAL, -1, -1 },
7528 { { .avp_vendor = 10415, .avp_name = "Low-Priority-Indicator"}, RULE_OPTIONAL, -1, -1 },
7529 { { .avp_vendor = 10415, .avp_name = "NBIFOM-Mode"}, RULE_OPTIONAL, -1, -1 },
7530 { { .avp_vendor = 10415, .avp_name = "NBIFOM-Support"}, RULE_OPTIONAL, -1, -1 },
7531 { { .avp_vendor = 10415, .avp_name = "MME-Number-for-MT-SMS"}, RULE_OPTIONAL, -1, -1 },
7532 { { .avp_vendor = 10415, .avp_name = "MME-Name"}, RULE_OPTIONAL, -1, -1 },
7533 { { .avp_vendor = 10415, .avp_name = "MME-Realm"}, RULE_OPTIONAL, -1, -1 },
7534 { { .avp_vendor = 13019, .avp_name = "Logical-Access-Id"}, RULE_OPTIONAL, -1, -1 },
7535 { { .avp_vendor = 13019, .avp_name = "Physical-Access-Id"}, RULE_OPTIONAL, -1, -1 },
7536 { { .avp_vendor = 10415, .avp_name = "Fixed-User-Location-Info"}, RULE_OPTIONAL, -1, -1 },
7537 { { .avp_vendor = 10415, .avp_name = "CN-Operator-Selection-Entity"}, RULE_OPTIONAL, -1, -1 },
7538 { { .avp_vendor = 10415, .avp_name = "Enhanced-Diagnostics"}, RULE_OPTIONAL, -1, -1 },
7539 { { .avp_vendor = 10415, .avp_name = "SGi-PtP-Tunnelling-Method"}, RULE_OPTIONAL, -1, -1 },
7540 { { .avp_vendor = 10415, .avp_name = "CP-CIoT-EPS-Optimisation-Indicator"}, RULE_OPTIONAL, -1, -1 },
7541 { { .avp_vendor = 10415, .avp_name = "UNI-PDU-CP-Only-Flag"}, RULE_OPTIONAL, -1, -1 },
7542 { { .avp_vendor = 10415, .avp_name = "Serving-PLMN-Rate-Control"}, RULE_OPTIONAL, -1, -1 },
7543 { { .avp_vendor = 10415, .avp_name = "APN-Rate-Control"}, RULE_OPTIONAL, -1, -1 },
7544 { { .avp_vendor = 10415, .avp_name = "Charging-Per-IP-CAN-Session-Indicator"}, RULE_OPTIONAL, -1, -1 },
7545 { { .avp_vendor = 10415, .avp_name = "RRC-Cause-Counter"}, RULE_OPTIONAL, -1, -1 },
7546 { { .avp_vendor = 10415, .avp_name = "3GPP-PS-Data-Off-Status"}, RULE_OPTIONAL, -1, -1 },
7547 { { .avp_vendor = 10415, .avp_name = "SCS-AS-Address"}, RULE_OPTIONAL, -1, -1 }
7548 };
7549 PARSE_loc_rules( rules, avp );
7550 }
7551 /* Service-Information */
7552 {
7553 /* Grouped */
7554 struct dict_object * avp;
7555 struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Service-Information"};
7556 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp)
7557 struct local_rules_definition rules[] =
7558 {
7559 { { .avp_vendor = 0, .avp_name = "Subscription-Id"}, RULE_OPTIONAL, -1, -1 },
7560 { { .avp_vendor = 10415, .avp_name = "AoC-Information"}, RULE_OPTIONAL, -1, -1 },
7561 { { .avp_vendor = 10415, .avp_name = "PS-Information"}, RULE_OPTIONAL, -1, -1 },
7562 { { .avp_vendor = 10415, .avp_name = "IMS-Information"}, RULE_OPTIONAL, -1, -1 },
7563 { { .avp_vendor = 10415, .avp_name = "MMS-Information"}, RULE_OPTIONAL, -1, -1 },
7564 { { .avp_vendor = 10415, .avp_name = "LCS-Information"}, RULE_OPTIONAL, -1, -1 },
7565 { { .avp_vendor = 10415, .avp_name = "PoC-Information"}, RULE_OPTIONAL, -1, -1 },
7566 { { .avp_vendor = 10415, .avp_name = "MBMS-Information"}, RULE_OPTIONAL, -1, -1 },
7567 { { .avp_vendor = 10415, .avp_name = "SMS-Information"}, RULE_OPTIONAL, -1, -1 },
7568 { { .avp_vendor = 10415, .avp_name = "VCS-Information"}, RULE_OPTIONAL, -1, -1 },
7569 { { .avp_vendor = 10415, .avp_name = "MMTel-Information"}, RULE_OPTIONAL, -1, -1 },
7570 { { .avp_vendor = 10415, .avp_name = "ProSe-Information"}, RULE_OPTIONAL, -1, -1 },
7571 { { .avp_vendor = 10415, .avp_name = "CPDT-Information"}, RULE_OPTIONAL, -1, -1 }
7572 };
7573 PARSE_loc_rules( rules, avp );
7574 }
7575
7576 }
7577
7578 /* Commands section */
7579 {
7580
7581 }
7582
7583 LOG_D( "Extension 'Dictionary definitions for ts32299_avps (e30)' initialized");
7584 return 0;
7585}
7586
7587int dict_entry(char * conffile)
7588{
7589 dict_ts32299_avps_load_defs(conffile);
7590 return dict_ts32299_avps_load_rules(conffile);
7591}
7592
7593const char* dict_ts32299_avps_proto_ver(char * conffile) {
7594 return ts32299_avps_proto_ver;
7595}
7596
7597const double dict_ts32299_avps_gen_ts(char * conffile) {
7598 return ts32299_avps_gen_date;
7599}
7600
7601EXTENSION_ENTRY2("dict_ts32299_avps", dict_ts32299_avps_load_defs, dict_ts32299_avps_load_rules, "dict_ts29272_avps", "dict_ts29273_avps", "dict_ts29212_avps", "dict_ts29336_avps", "dict_ts29128_avps", "dict_ts29214_avps", "dict_ts29345_avps", "dict_ts29337_avps", "dict_ts29344_avps", "dict_ts29368_avps", "dict_ts29217_avps", "dict_ts29229_avps", "dict_ts29338_avps", "dict_ts29468_avps", "dict_ts29329_avps", "dict_ts29061_avps", "dict_rfc5778_avps", "dict_ts29173_avps", "dict_rfc4006bis_avps", "dict_ts29343_avps", "dict_rfc7155_avps", "dict_rfc5447_avps", "dict_rfc7683_avps", "dict_rfc4590_avps", "dict_draftload_avps", "dict_rfc4004_avps", "dict_rfc5777_avps", "dict_etsi283034_avps", "dict_3gpp2_avps", "dict_rfc7944_avps");
7602
7603
7604