annotate extensions/dict_dcca_3gpp/dict_dcca_3gpp.c @ 1532:64d0a145b041

Remove AVPs deprecated by 3GPP Remove 3GPP AVPs that were in freeDiameter 1.4.0 and earlier, marked with "Change-1.4.0:": - ADC-Revalidation-Time (2801) Time removed in 3GPP TS 29.212 V12.1.0 (2013-06). - PDG-Address (895) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09). - PDG-Charging-Id (896) Unsigned32 removed in 3GPP TS 32.299 V12.6.0 (2014-09). - WAG-Address (890) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09). - WAG-PLMN-Id (891) OctetString removed in 3GPP TS 32.299 V12.6.0 (2014-09). - WLAN-Information (875) Grouped removed in 3GPP TS 32.299 V12.6.0 (2014-09). - WLAN-Radio-Container (892) Grouped removed in 3GPP TS 32.299 V12.6.0 (2014-09). - WLAN-Session-Id (1246) UTF8String removed in 3GPP TS 32.299 V12.6.0 (2014-09). - WLAN-Technology (893) Unsigned32 removed in 3GPP TS 32.299 V12.6.0 (2014-09). - WLAN-UE-Local-IPAddress (894) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09). Remove 3GPP AVPs only added recently (and not in a release): - HeNB-BBF-FQDN (2803) UTF8String removed in 3GPP TS 29.212 V11.8.0 (2013-03). - User-Data-Request-Type (627) removed in 3GPP TS 29.229 V6.5.0 (2005-06). Remove WLAN-Information rule from Service-Information (873). Consistency tweaks in "Change-1.4.0:" comments.
author Luke Mewburn <luke@mewburn.net>
date Sat, 18 Apr 2020 17:31:05 +1000
parents 71cc2c59e7dc
children c83e60f28632
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
1 /*********************************************************************************************************
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
2 * Software License Agreement (BSD License) *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
3 * Author: Thomas Klausner <tk@giga.or.at> *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
4 * *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
5 * Copyright (c) 2013, Thomas Klausner *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
6 * All rights reserved. *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
7 * *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
8 * Written under contract by nfotex IT GmbH, http://nfotex.com/ *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
9 * *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
10 * Redistribution and use of this software in source and binary forms, with or without modification, are *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
11 * permitted provided that the following conditions are met: *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
12 * *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
13 * * Redistributions of source code must retain the above *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
14 * copyright notice, this list of conditions and the *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
15 * following disclaimer. *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
16 * *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
17 * * Redistributions in binary form must reproduce the above *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
18 * copyright notice, this list of conditions and the *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
19 * following disclaimer in the documentation and/or other *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
20 * materials provided with the distribution. *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
21 * *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
24 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
25 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
28 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
29 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
30 *********************************************************************************************************/
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
31
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
32 /*
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
33 * Dictionary definitions for objects specified for DCCA by 3GPP.
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
34 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
35 * This extensions contains a lot of AVPs from various 3GPP standards
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
36 * documents, and some rules for the grouped AVPs described therein.
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
37 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
38 * This extension does not contain ALL AVPs described by 3GPP, but
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
39 * quite a big number of them.
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
40 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
41 * When extending the AVPs, please edit dict_dcca_3gpp.org instead and
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
42 * create pastable code with contrib/tools/org_to_fd.pl.
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
43 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
44 * Some points of consideration:
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
45 * 1. This dictionary could be split up per document.
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
46 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
47 * + pro: you can only load the AVPs/Rules you're interested in ->
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
48 * smaller memory size
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
49 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
50 * - con: the documents use AVPs from each other A LOT, so setting the
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
51 * dependencies correctly will be annoying
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
52 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
53 * - con: you need to load all of them as extensions
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
54 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
55 * 2. This dictionary contains ONE AVP in the "3GPP2" vendor space,
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
56 * since I found it wasteful to write a separate dictionary just for
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
57 * one AVP. Also, it is defined in a 3GPP document.
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
58 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
59 * 3. While there are quite a number of rules here already, many more
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
60 * are missing. I've only added rules for those grouped AVPs or
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
61 * commands in which I was concretely interested so far; many more
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
62 * will need to be added to make this complete.
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
63 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
64 * That being said, I hope this will be useful for you.
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
65 *
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
66 */
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
67
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
68
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
69 /*
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
70 * Some comments on the 3GPP Standards documents themselves:
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
71 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
72 * 1. It would be good if 29.061 was reviewed to check for each AVP if
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
73 * it is Mandatory or not. The data currently in the document does not
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
74 * match what was in the previous version of the freeDiameter
1484
3bf80555f00a dict_dcca_3gpp: change External-Identifier code
Luke Mewburn <luke@mewburn.net>
parents: 1483
diff changeset
75 * extension (the one that existed before I rewrote it) or what I saw
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
76 * so far. IIRC, even the table and the document contradict each
1484
3bf80555f00a dict_dcca_3gpp: change External-Identifier code
Luke Mewburn <luke@mewburn.net>
parents: 1483
diff changeset
77 * other.
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
78 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
79 * 2. 29.140 has conflicting AVP names with other documents:
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
80 * - Sequence-Number is also in 32.329
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
81 * - Recipient-Address is also in 32.299
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
82 * - Status is also in 32.299
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
83 *
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
84 * 3. 29.229 has name conflict with 29.329 about User-Data (different
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
85 * AVP code 702, instead of 606) -- the weird thing is, the latter
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
86 * uses some AVPs from the former, but not this one.
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
87 */
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
88 #include <freeDiameter/extension.h>
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
89
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
90
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
91 /* The content of this file follows the same structure as dict_base_proto.c */
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
92
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
93 #define CHECK_dict_new( _type, _data, _parent, _ref ) \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
94 CHECK_FCT( fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref)) );
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
95
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
96 #define CHECK_dict_search( _type, _criteria, _what, _result ) \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
97 CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) );
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
98
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
99 struct local_rules_definition {
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
100 struct dict_avp_request avp_vendor_plus_name;
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
101 enum rule_position position;
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
102 int min;
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
103 int max;
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
104 };
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
105
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
106 #define RULE_ORDER( _position ) ((((_position) == RULE_FIXED_HEAD) || ((_position) == RULE_FIXED_TAIL)) ? 1 : 0 )
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
107
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
108 /* Attention! This version of the macro uses AVP_BY_NAME_AND_VENDOR, in contrast to most other copies! */
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
109 #define PARSE_loc_rules( _rulearray, _parent) { \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
110 int __ar; \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
111 for (__ar=0; __ar < sizeof(_rulearray) / sizeof((_rulearray)[0]); __ar++) { \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
112 struct dict_rule_data __data = { NULL, \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
113 (_rulearray)[__ar].position, \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
114 0, \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
115 (_rulearray)[__ar].min, \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
116 (_rulearray)[__ar].max}; \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
117 __data.rule_order = RULE_ORDER(__data.rule_position); \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
118 CHECK_FCT( fd_dict_search( \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
119 fd_g_config->cnf_dict, \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
120 DICT_AVP, \
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
121 AVP_BY_NAME_AND_VENDOR, \
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
122 &(_rulearray)[__ar].avp_vendor_plus_name, \
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
123 &__data.rule_avp, 0 ) ); \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
124 if ( !__data.rule_avp ) { \
1499
71cc2c59e7dc move generated AVPs into separate source files
Luke Mewburn <luke@mewburn.net>
parents: 1496
diff changeset
125 LOG_E( "AVP Not found: '%s'", (_rulearray)[__ar].avp_vendor_plus_name.avp_name); \
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
126 return ENOENT; \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
127 } \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
128 CHECK_FCT_DO( fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &__data, _parent, NULL), \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
129 { \
1499
71cc2c59e7dc move generated AVPs into separate source files
Luke Mewburn <luke@mewburn.net>
parents: 1496
diff changeset
130 LOG_E( "Error on rule with AVP '%s'", \
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
131 (_rulearray)[__ar].avp_vendor_plus_name.avp_name); \
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
132 return EINVAL; \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
133 } ); \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
134 } \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
135 }
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
136
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
137 #define enumval_def_u32( _val_, _str_ ) \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
138 { _str_, { .u32 = _val_ }}
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
139
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
140 #define enumval_def_os( _len_, _val_, _str_ ) \
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
141 { _str_, { .os = { .data = (unsigned char *)_val_, .len = _len_ }}}
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
142
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
143
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
144 static int dict_dcca_3gpp_entry(char * conffile)
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
145 {
1446
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
146 /*==================================================================*/
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
147 /* Applications section */
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
148 /*==================================================================*/
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
149
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
150 {
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
151 /* Create the vendors */
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
152 {
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
153 struct dict_vendor_data vendor_data = { 10415, "3GPP" };
1436
ad50ef2eddea dbg_dict_dump: new extension to dump dictionary when loaded
Luke Mewburn <luke@mewburn.net>
parents: 1435
diff changeset
154 CHECK_FCT(fd_dict_new(fd_g_config->cnf_dict, DICT_VENDOR, &vendor_data, NULL, NULL));
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
155 }
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
156 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
157 struct dict_vendor_data vendor_data = { 5535, "3GPP2" };
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
158 CHECK_FCT(fd_dict_new(fd_g_config->cnf_dict, DICT_VENDOR, &vendor_data, NULL, NULL));
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
159 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
160
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
161 }
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
162
1446
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
163 /*==================================================================*/
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
164 /* AVPs section */
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
165 /*==================================================================*/
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
166
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
167
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
168 /* 3GPP Experimental-Result-Code ENUMVAL Unsigned32 */
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
169 /* 3GPP TS 29.230 V15.7.0 (2019-12) section 8.1 */
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
170 {
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
171 struct dict_object *type;
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
172 struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated(3GPP/Experimental-Result-Code)", NULL, NULL};
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
173 struct dict_enumval_data tvals[] = {
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
174 enumval_def_u32(2001, "DIAMETER_FIRST_REGISTRATION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
175 enumval_def_u32(2002, "DIAMETER_SUBSEQUENT_REGISTRATION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
176 enumval_def_u32(2003, "DIAMETER_UNREGISTERED_SERVICE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
177 /*
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
178 * 3GPP TS 29.229 V5.3.0 (2003-03) renamed 2004 from DIAMETER_SUCCESS_NOT SUPPORTED_USER_DATA.
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
179 */
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
180 enumval_def_u32(2004, "DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
181 /*
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
182 * 3GPP TS 29.229 V5.3.0 (2003-03) renamed 2005 from DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED.
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
183 * 3GPP TS 29.229 V7.2.0 (2006-06) deprecated 2005 DIAMETER_SERVER_SELECTION.
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
184 */
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
185 enumval_def_u32(2005, "DIAMETER_SERVER_SELECTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
186 enumval_def_u32(2021, "DIAMETER_PDP_CONTEXT_DELETION_INDICATION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
187 enumval_def_u32(2421, "DIAMETER_QOS_FLOW_DELETION_INDICATION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
188 enumval_def_u32(4100, "DIAMETER_USER_DATA_NOT_AVAILABLE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
189 enumval_def_u32(4101, "DIAMETER_PRIOR_UPDATE_IN_PROGRESS"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
190 enumval_def_u32(4121, "DIAMETER_ERROR_OUT_OF_RESOURCES"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
191 enumval_def_u32(4141, "DIAMETER_PCC_BEARER_EVENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
192 enumval_def_u32(4142, "DIAMETER_BEARER_EVENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
193 enumval_def_u32(4143, "DIAMETER_AN_GW_FAILED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
194 enumval_def_u32(4144, "DIAMETER_PENDING_TRANSACTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
195 enumval_def_u32(4145, "DIAMETER_UE_STATUS_SUSPEND"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
196 enumval_def_u32(4181, "DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
197 enumval_def_u32(4182, "DIAMETER_ERROR_CAMEL_SUBSCRIPTION_PRESENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
198 /*
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
199 * DIAMETER_ERROR_ABSENT_USER name conflict between:
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
200 * - 3GPP TS 29.173 ?? 6.3.4.1 DIAMETER_ERROR_ABSENT_USER (4201). (For SLh).
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
201 * - 3GPP TS 29.338 ?? 7.3.3 DIAMETER_ERROR_ABSENT_USER (5550). (For S6c, SGd).
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
202 * Rename 4201 from 3GPP TS 29.173 to DIAMETER_ERROR_ABSENT_USER-29.173.
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
203 */
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
204 enumval_def_u32(4201, "DIAMETER_ERROR_ABSENT_USER-29.173"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
205 enumval_def_u32(4221, "DIAMETER_ERROR_UNREACHABLE_USER"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
206 enumval_def_u32(4222, "DIAMETER_ERROR_SUSPENDED_USER"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
207 enumval_def_u32(4223, "DIAMETER_ERROR_DETACHED_USER"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
208 enumval_def_u32(4224, "DIAMETER_ERROR_POSITIONING_DENIED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
209 enumval_def_u32(4225, "DIAMETER_ERROR_POSITIONING_FAILED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
210 enumval_def_u32(4226, "DIAMETER_ERROR_UNKNOWN_UNREACHABLE LCS_CLIENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
211 enumval_def_u32(4241, "DIAMETER_ERROR_NO_AVAILABLE_POLICY_COUNTERS"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
212 enumval_def_u32(4261, "REQUESTED_SERVICE_TEMPORARILY_NOT_AUTHORIZED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
213 enumval_def_u32(5001, "DIAMETER_ERROR_USER_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
214 enumval_def_u32(5002, "DIAMETER_ERROR_IDENTITIES_DONT_MATCH"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
215 enumval_def_u32(5003, "DIAMETER_ERROR_IDENTITY_NOT_REGISTERED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
216 enumval_def_u32(5004, "DIAMETER_ERROR_ROAMING_NOT_ALLOWED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
217 enumval_def_u32(5005, "DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
218 enumval_def_u32(5006, "DIAMETER_ERROR_AUTH_SCHEME_NOT_SUPPORTED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
219 enumval_def_u32(5007, "DIAMETER_ERROR_IN_ASSIGNMENT_TYPE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
220 enumval_def_u32(5008, "DIAMETER_ERROR_TOO_MUCH_DATA"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
221 enumval_def_u32(5009, "DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
222 enumval_def_u32(5011, "DIAMETER_ERROR_FEATURE_UNSUPPORTED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
223 enumval_def_u32(5012, "DIAMETER_ERROR_SERVING_NODE_FEATURE_UNSUPPORTED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
224 enumval_def_u32(5041, "DIAMETER_ERROR_USER_NO_WLAN_SUBSCRIPTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
225 enumval_def_u32(5042, "DIAMETER_ERROR_W-APN_UNUSED_BY_USER"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
226 enumval_def_u32(5043, "DIAMETER_ERROR_NO_ACCESS_INDEPENDENT_SUBSCRIPTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
227 enumval_def_u32(5044, "DIAMETER_ERROR_USER_NO_W-APN_SUBSCRIPTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
228 enumval_def_u32(5045, "DIAMETER_ERROR_UNSUITABLE_NETWORK"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
229 enumval_def_u32(5061, "INVALID_SERVICE_INFORMATION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
230 enumval_def_u32(5062, "FILTER_RESTRICTIONS"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
231 enumval_def_u32(5063, "REQUESTED_SERVICE_NOT_AUTHORIZED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
232 enumval_def_u32(5064, "DUPLICATED_AF_SESSION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
233 enumval_def_u32(5065, "IP-CAN_SESSION_NOT_AVAILABLE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
234 enumval_def_u32(5066, "UNAUTHORIZED_NON_EMERGENCY_SESSION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
235 enumval_def_u32(5067, "UNAUTHORIZED_SPONSORED_DATA_CONNECTIVITY"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
236 enumval_def_u32(5068, "TEMPORARY_NETWORK_FAILURE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
237 enumval_def_u32(5100, "DIAMETER_ERROR_USER_DATA_NOT_RECOGNIZED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
238 enumval_def_u32(5101, "DIAMETER_ERROR_OPERATION_NOT_ALLOWED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
239 enumval_def_u32(5102, "DIAMETER_ERROR_USER_DATA_CANNOT_BE_READ"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
240 enumval_def_u32(5103, "DIAMETER_ERROR_USER_DATA_CANNOT_BE_MODIFIED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
241 enumval_def_u32(5104, "DIAMETER_ERROR_USER_DATA_CANNOT_BE_NOTIFIED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
242 enumval_def_u32(5105, "DIAMETER_ERROR_TRANSPARENT_DATA OUT_OF_SYNC"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
243 enumval_def_u32(5106, "DIAMETER_ERROR_SUBS_DATA_ABSENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
244 enumval_def_u32(5107, "DIAMETER_ERROR_NO_SUBSCRIPTION_TO_DATA"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
245 enumval_def_u32(5108, "DIAMETER_ERROR_DSAI_NOT_AVAILABLE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
246 enumval_def_u32(5120, "DIAMETER_ERROR_START_INDICATION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
247 enumval_def_u32(5121, "DIAMETER_ERROR_STOP_INDICATION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
248 enumval_def_u32(5122, "DIAMETER_ERROR_UNKNOWN_MBMS_BEARER_SERVICE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
249 enumval_def_u32(5123, "DIAMETER_ERROR_SERVICE_AREA"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
250 enumval_def_u32(5140, "DIAMETER_ERROR_INITIAL_PARAMETERS"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
251 enumval_def_u32(5141, "DIAMETER_ERROR_TRIGGER_EVENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
252 enumval_def_u32(5142, "DIAMETER_PCC_RULE_EVENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
253 enumval_def_u32(5143, "DIAMETER_ERROR_BEARER_NOT_AUTHORIZED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
254 enumval_def_u32(5144, "DIAMETER_ERROR_TRAFFIC_MAPPING_INFO_REJECTED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
255 enumval_def_u32(5145, "DIAMETER_QOS_RULE_EVENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
256 enumval_def_u32(5147, "DIAMETER_ERROR_CONFLICTING_REQUEST"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
257 enumval_def_u32(5148, "DIAMETER_ADC_RULE_EVENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
258 enumval_def_u32(5149, "DIAMETER_ERROR_NBIFOM_NOT_AUTHORIZED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
259 enumval_def_u32(5401, "DIAMETER_ERROR_IMPI_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
260 enumval_def_u32(5402, "DIAMETER_ERROR_NOT_AUTHORIZED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
261 enumval_def_u32(5403, "DIAMETER_ERROR_TRANSACTION_IDENTIFIER_INVALID"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
262 enumval_def_u32(5420, "DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
263 enumval_def_u32(5421, "DIAMETER_ERROR_RAT_NOT_ALLOWED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
264 enumval_def_u32(5422, "DIAMETER_ERROR_EQUIPMENT_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
265 enumval_def_u32(5423, "DIAMETER_ERROR_UNKNOWN_SERVING_NODE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
266 enumval_def_u32(5450, "DIAMETER_ERROR_USER_NO_NON_3GPP_SUBSCRIPTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
267 enumval_def_u32(5451, "DIAMETER_ERROR_USER_NO_APN_SUBSCRIPTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
268 enumval_def_u32(5452, "DIAMETER_ERROR_RAT_TYPE_NOT_ALLOWED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
269 enumval_def_u32(5453, "DIAMETER_ERROR_LATE_OVERLAPPING_REQUEST"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
270 enumval_def_u32(5454, "DIAMETER_ERROR_TIMED_OUT_REQUEST"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
271 enumval_def_u32(5470, "DIAMETER_ERROR_SUBSESSION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
272 enumval_def_u32(5471, "DIAMETER_ERROR_ONGOING_SESSION_ESTABLISHMENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
273 enumval_def_u32(5490, "DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_NETWORK"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
274 enumval_def_u32(5510, "DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_ENTITY"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
275 enumval_def_u32(5511, "DIAMETER_ERROR_UNAUTHORIZED_SERVICE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
276 enumval_def_u32(5512, "DIAMETER_ERROR_REQUESTED_RANGE_IS_NOT ALLOWED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
277 enumval_def_u32(5513, "DIAMETER_ERROR_CONFIGURATION_EVENT_STORAGE_NOT_SUCCESSFUL"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
278 enumval_def_u32(5514, "DIAMETER_ERROR_CONFIGURATION_EVENT_NON_EXISTANT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
279 enumval_def_u32(5515, "DIAMETER_ERROR_SCEF_REFERENCE_ID_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
280 enumval_def_u32(5530, "DIAMETER_ERROR_INVALID_SME_ADDRESS"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
281 enumval_def_u32(5531, "DIAMETER_ERROR_SC_CONGESTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
282 enumval_def_u32(5532, "DIAMETER_ERROR_SM_PROTOCOL"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
283 enumval_def_u32(5533, "DIAMETER_ERROR_TRIGGER_REPLACE_FAILURE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
284 enumval_def_u32(5534, "DIAMETER_ERROR_TRIGGER_RECALL_FAILURE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
285 enumval_def_u32(5535, "DIAMETER_ERROR_ORIGINAL_MESSAGE_NOT_PENDING"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
286 enumval_def_u32(5550, "DIAMETER_ERROR_ABSENT_USER"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
287 enumval_def_u32(5551, "DIAMETER_ERROR_USER_BUSY_FOR_MT_SMS"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
288 enumval_def_u32(5552, "DIAMETER_ERROR_FACILITY_NOT_SUPPORTED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
289 enumval_def_u32(5553, "DIAMETER_ERROR_ILLEGAL_USER"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
290 enumval_def_u32(5554, "DIAMETER_ERROR_ILLEGAL_EQUIPMENT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
291 enumval_def_u32(5555, "DIAMETER_ERROR_SM_DELIVERY_FAILURE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
292 enumval_def_u32(5556, "DIAMETER_ERROR_SERVICE_NOT_SUBSCRIBED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
293 enumval_def_u32(5557, "DIAMETER_ERROR_SERVICE_BARRED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
294 enumval_def_u32(5558, "DIAMETER_ERROR_MWD_LIST_FULL"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
295 enumval_def_u32(5570, "DIAMETER_ERROR_UNKNOWN_POLICY_COUNTERS"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
296 enumval_def_u32(5590, "DIAMETER_ERROR_ORIGIN_ALUID_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
297 enumval_def_u32(5591, "DIAMETER_ERROR_TARGET_ALUID_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
298 enumval_def_u32(5592, "DIAMETER_ERROR_PFID_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
299 enumval_def_u32(5593, "DIAMETER_ERROR_APP_REGISTER_REJECT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
300 enumval_def_u32(5594, "DIAMETER_ERROR_PROSE_MAP_REQUEST_DISALLOWED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
301 enumval_def_u32(5595, "DIAMETER_ERROR_MAP_REQUEST_REJECT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
302 enumval_def_u32(5596, "DIAMETER_ERROR_REQUESTING_RPAUID_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
303 enumval_def_u32(5597, "DIAMETER_ERROR_UNKNOWN_OR_INVALID_TARGET_SET"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
304 enumval_def_u32(5598, "DIAMETER_ERROR_MISSING_APPLICATION_DATA"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
305 enumval_def_u32(5599, "DIAMETER_ERROR_AUTHORIZATION_REJECT"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
306 enumval_def_u32(5600, "DIAMETER_ERROR_DISCOVERY_NOT_PERMITTED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
307 enumval_def_u32(5601, "DIAMETER_ERROR_TARGET_RPAUID_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
308 enumval_def_u32(5602, "DIAMETER_ERROR_INVALID_APPLICATION_DATA"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
309 enumval_def_u32(5610, "DIAMETER_ERROR_UNKNOWN_PROSE_SUBSCRIPTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
310 enumval_def_u32(5611, "DIAMETER_ERROR_PROSE_NOT_ALLOWED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
311 enumval_def_u32(5612, "DIAMETER_ERROR_UE_LOCATION_UNKNOWN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
312 enumval_def_u32(5630, "DIAMETER_ERROR_NO_ASSOCIATED_DISCOVERY_FILTER"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
313 enumval_def_u32(5631, "DIAMETER_ERROR_ANNOUNCING_UNAUTHORIZED_IN_PLMN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
314 enumval_def_u32(5632, "DIAMETER_ERROR_INVALID_APPLICATION_CODE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
315 enumval_def_u32(5633, "DIAMETER_ERROR_PROXIMITY_UNAUTHORIZED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
316 enumval_def_u32(5634, "DIAMETER_ERROR_PROXIMITY_REJECTED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
317 enumval_def_u32(5635, "DIAMETER_ERROR_NO_PROXIMITY_REQUEST"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
318 enumval_def_u32(5636, "DIAMETER_ERROR_UNAUTHORIZED_SERVICE_IN_THIS_PLMN"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
319 enumval_def_u32(5637, "DIAMETER_ERROR_PROXIMITY_CANCELLED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
320 enumval_def_u32(5638, "DIAMETER_ERROR_INVALID_TARGET_PDUID"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
321 enumval_def_u32(5639, "DIAMETER_ERROR_INVALID_TARGET_RPAUID"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
322 enumval_def_u32(5640, "DIAMETER_ERROR_NO_ASSOCIATED_RESTRICTED_CODE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
323 enumval_def_u32(5641, "DIAMETER_ERROR_INVALID_DISCOVERY_TYPE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
324 enumval_def_u32(5650, "DIAMETER_ERROR_REQUESTED_LOCATION_NOT_SERVED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
325 enumval_def_u32(5651, "DIAMETER_ERROR_INVALID_EPS_BEARER"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
326 enumval_def_u32(5652, "DIAMETER_ERROR_NIDD_CONFIGURATION_NOT_AVAILABLE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
327 enumval_def_u32(5653, "DIAMETER_ERROR_USER_TEMPORARILY_UNREACHABLE"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
328 enumval_def_u32(5670, "DIAMETER_ERROR_UNKNKOWN_DATA"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
329 enumval_def_u32(5671, "DIAMETER_ERROR_REQUIRED_KEY_NOT_PROVIDED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
330 enumval_def_u32(5690, "DIAMETER_ERROR_UNKNOWN_V2X_SUBSCRIPTION"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
331 enumval_def_u32(5691, "DIAMETER_ERROR_V2X_NOT_ALLOWED"),
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
332 };
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
333 int i;
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
334 /* Create the Enumerated type and enumerated values */
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
335 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
336 for (i = 0; i < sizeof(tvals) / sizeof(tvals[0]); i++) {
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
337 CHECK_dict_new( DICT_ENUMVAL, &tvals[i], type, NULL);
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
338 }
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
339 }
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
340
1435
4bd30996ad7f regen dict_dcca_3gpp and dict_dcca_starent
Luke Mewburn <luke@mewburn.net>
parents: 1431
diff changeset
341 /*==================================================================*/
1499
71cc2c59e7dc move generated AVPs into separate source files
Luke Mewburn <luke@mewburn.net>
parents: 1496
diff changeset
342 /* Create AVPs via generated add_avps() */
1472
396f789b8c29 dict_dcca_3gpp: improve comments
Luke Mewburn <luke@mewburn.net>
parents: 1470
diff changeset
343 /*==================================================================*/
396f789b8c29 dict_dcca_3gpp: improve comments
Luke Mewburn <luke@mewburn.net>
parents: 1470
diff changeset
344
1499
71cc2c59e7dc move generated AVPs into separate source files
Luke Mewburn <luke@mewburn.net>
parents: 1496
diff changeset
345 extern int add_avps();
71cc2c59e7dc move generated AVPs into separate source files
Luke Mewburn <luke@mewburn.net>
parents: 1496
diff changeset
346 CHECK_FCT( add_avps() );
1446
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
347
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
348 /*==================================================================*/
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
349 /* Rules section */
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
350 /*==================================================================*/
48438d36e435 Add Enumerated(3GPP/Experimental-Result-Code)
Luke Mewburn <luke@mewburn.net>
parents: 1441
diff changeset
351
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
352 /* 29.212 */
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
353
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
354 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
355 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
356 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
357 vpa.avp_vendor = 10415;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
358 vpa.avp_name = "Allocation-Retention-Priority";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
359 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
360 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
361 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
362 { { .avp_vendor = 10415, .avp_name = "Priority-Level" }, RULE_REQUIRED, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
363 { { .avp_vendor = 10415, .avp_name = "Pre-emption-Capability" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
364 { { .avp_vendor = 10415, .avp_name = "Pre-emption-Vulnerability" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
365 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
366 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
367 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
368
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
369 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
370 struct dict_object *rule_avp;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
371 struct dict_avp_request vpa;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
372 vpa.avp_vendor = 10415;
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
373 vpa.avp_name = "QoS-Information";
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
374 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
375 struct local_rules_definition rules[] =
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
376 {
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
377 { { .avp_vendor = 10415, .avp_name = "QoS-Class-Identifier" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
378 { { .avp_vendor = 10415, .avp_name = "Max-Requested-Bandwidth-UL" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
379 { { .avp_vendor = 10415, .avp_name = "Max-Requested-Bandwidth-DL" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
380 { { .avp_vendor = 10415, .avp_name = "Guaranteed-Bitrate-UL" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
381 { { .avp_vendor = 10415, .avp_name = "Guaranteed-Bitrate-DL" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
382 { { .avp_vendor = 10415, .avp_name = "Bearer-Identifier" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
383 { { .avp_vendor = 10415, .avp_name = "Allocation-Retention-Priority" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
384 { { .avp_vendor = 10415, .avp_name = "APN-Aggregate-Max-Bitrate-UL" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
385 { { .avp_vendor = 10415, .avp_name = "APN-Aggregate-Max-Bitrate-DL" }, RULE_OPTIONAL, -1, 1 },
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
386 };
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
387 PARSE_loc_rules(rules, rule_avp);
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
388 }
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
389
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
390 /* 32.299 */
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
391
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
392 {
1146
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
393 /* additional allowed AVPs */
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
394 struct dict_object *ccr;
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
395 CHECK_dict_search(DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Request", &ccr);
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
396 struct local_rules_definition rules[] =
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
397 {
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
398 { { .avp_vendor = 10415, .avp_name = "AoC-Request-Type"}, RULE_OPTIONAL, -1, 1 },
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
399 { { .avp_vendor = 10415, .avp_name = "Service-Information"}, RULE_OPTIONAL, -1, 1 },
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
400 };
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
401 PARSE_loc_rules(rules, ccr);
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
402 }
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
403
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
404 {
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
405 /* additional allowed AVPs */
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
406 struct dict_object *ccr;
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
407 CHECK_dict_search(DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Answer", &ccr);
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
408 struct local_rules_definition rules[] =
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
409 {
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
410 { { .avp_vendor = 10415, .avp_name = "Low-Balance-Indication"}, RULE_OPTIONAL, -1, 1 },
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
411 { { .avp_vendor = 10415, .avp_name = "Remaining-Balance"}, RULE_OPTIONAL, -1, 1 },
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
412 { { .avp_vendor = 10415, .avp_name = "Service-Information"}, RULE_OPTIONAL, -1, 1 },
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
413 };
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
414 PARSE_loc_rules(rules, ccr);
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
415 }
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
416
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
417 {
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
418 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
419 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
420 vpa.avp_vendor = 10415;
1262
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
421 vpa.avp_name = "Address-Domain";
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
422 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
423 struct local_rules_definition rules[] =
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
424 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
425 { { .avp_vendor = 10415, .avp_name = "Domain-Name" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
426 { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI-MCC-MNC" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
427 };
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
428 PARSE_loc_rules(rules, rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
429 }
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
430
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
431 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
432 struct dict_object *rule_avp;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
433 struct dict_avp_request vpa;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
434 vpa.avp_vendor = 10415;
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
435 vpa.avp_name = "Application-Server-Information";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
436 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
437 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
438 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
439 { { .avp_vendor = 10415, .avp_name = "Application-Server" }, RULE_REQUIRED, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
440 { { .avp_vendor = 10415, .avp_name = "Application-Provided-Called-Party-Address" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
441 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
442 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
443 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
444
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
445 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
446 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
447 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
448 vpa.avp_vendor = 10415;
1262
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
449 vpa.avp_name = "Destination-Interface";
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
450 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
451 struct local_rules_definition rules[] =
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
452 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
453 { { .avp_vendor = 10415, .avp_name = "Interface-Id" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
454 { { .avp_vendor = 10415, .avp_name = "Interface-Text" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
455 { { .avp_vendor = 10415, .avp_name = "Interface-Port" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
456 { { .avp_vendor = 10415, .avp_name = "Interface-Type" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
457 };
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
458 PARSE_loc_rules(rules, rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
459 }
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
460
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
461 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
462 struct dict_object *rule_avp;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
463 struct dict_avp_request vpa;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
464 vpa.avp_vendor = 10415;
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
465 vpa.avp_name = "Envelope";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
466 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
467 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
468 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
469 { { .avp_vendor = 10415, .avp_name = "Envelope-Start-Time" }, RULE_REQUIRED, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
470 { { .avp_vendor = 10415, .avp_name = "Envelope-End-Time" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
471 { { .avp_vendor = 0, .avp_name = "CC-Total-Octets" }, RULE_REQUIRED, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
472 { { .avp_vendor = 0, .avp_name = "CC-Input-Octets" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
473 { { .avp_vendor = 0, .avp_name = "CC-Output-Octets" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
474 { { .avp_vendor = 0, .avp_name = "CC-Service-Specific-Units" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
475 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
476 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
477 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
478
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
479 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
480 struct dict_object *rule_avp;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
481 struct dict_avp_request vpa;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
482 vpa.avp_vendor = 10415;
1146
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
483 vpa.avp_name = "Event-Type";
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
484 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
485 struct local_rules_definition rules[] =
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
486 {
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
487 { { .avp_vendor = 10415, .avp_name = "SIP-Method" }, RULE_OPTIONAL, -1, 1 },
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
488 { { .avp_vendor = 10415, .avp_name = "Event" }, RULE_OPTIONAL, -1, 1 },
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
489 { { .avp_vendor = 10415, .avp_name = "Expires" }, RULE_OPTIONAL, -1, 1 },
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
490 };
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
491 PARSE_loc_rules(rules, rule_avp);
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
492 }
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
493
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
494 {
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
495 struct dict_object *rule_avp;
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
496 struct dict_avp_request vpa;
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
497 vpa.avp_vendor = 10415;
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
498 vpa.avp_name = "IMS-Information";
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
499 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
500 struct local_rules_definition rules[] =
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
501 {
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
502 { { .avp_vendor = 10415, .avp_name = "Event-Type" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
503 { { .avp_vendor = 10415, .avp_name = "Role-Of-Node" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
504 { { .avp_vendor = 10415, .avp_name = "Node-Functionality" }, RULE_REQUIRED, -1, 1 },
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
505 { { .avp_vendor = 10415, .avp_name = "User-Session-Id" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
506 { { .avp_vendor = 10415, .avp_name = "Outgoing-Session-Id" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
507 { { .avp_vendor = 10415, .avp_name = "Session-Priority" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
508 { { .avp_vendor = 10415, .avp_name = "Calling-Party-Address" }, RULE_OPTIONAL, -1, -1 },
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
509 { { .avp_vendor = 10415, .avp_name = "Called-Party-Address" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
510 { { .avp_vendor = 10415, .avp_name = "Called-Asserted-Identity" }, RULE_OPTIONAL, -1, -1 },
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
511 { { .avp_vendor = 10415, .avp_name = "Number-Portability-Routing-Information" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
512 { { .avp_vendor = 10415, .avp_name = "Carrier-Select-Routing-Information" }, RULE_OPTIONAL, -1, 1 },
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
513 { { .avp_vendor = 10415, .avp_name = "Alternate-Charged-Party-Address" }, RULE_OPTIONAL, -1, 1 },
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
514 { { .avp_vendor = 10415, .avp_name = "Requested-Party-Address" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
515 { { .avp_vendor = 10415, .avp_name = "Associated-URI" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
516 { { .avp_vendor = 10415, .avp_name = "Time-Stamps" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
517 { { .avp_vendor = 10415, .avp_name = "Application-Server-Information" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
518 { { .avp_vendor = 10415, .avp_name = "Inter-Operator-Identifier" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
519 { { .avp_vendor = 10415, .avp_name = "Transit-IOI-List" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
520 { { .avp_vendor = 10415, .avp_name = "IMS-Charging-Identifier" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
521 { { .avp_vendor = 10415, .avp_name = "SDP-Session-Description" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
522 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Component" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
523 { { .avp_vendor = 10415, .avp_name = "Served-Party-IP-Address" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
524 { { .avp_vendor = 10415, .avp_name = "Server-Capabilities" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
525 { { .avp_vendor = 10415, .avp_name = "Trunk-Group-Id" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
526 { { .avp_vendor = 10415, .avp_name = "Bearer-Service" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
527 { { .avp_vendor = 10415, .avp_name = "Service-Id" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
528 { { .avp_vendor = 10415, .avp_name = "Service-Specific-Info" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
529 { { .avp_vendor = 10415, .avp_name = "Message-Body" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
530 { { .avp_vendor = 10415, .avp_name = "Cause-Code" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
531 { { .avp_vendor = 10415, .avp_name = "Access-Network-Information" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
532 { { .avp_vendor = 10415, .avp_name = "Early-Media-Description" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
533 { { .avp_vendor = 10415, .avp_name = "IMS-Communication-Service-Identifier" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
534 { { .avp_vendor = 10415, .avp_name = "IMS-Application-Reference-Identifier" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
535 { { .avp_vendor = 10415, .avp_name = "Online-Charging-Flag" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
536 { { .avp_vendor = 10415, .avp_name = "Real-Time-Tariff-Information" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
537 { { .avp_vendor = 10415, .avp_name = "Account-Expiration" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
538 { { .avp_vendor = 10415, .avp_name = "Initial-IMS-Charging-Identifier" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
539 { { .avp_vendor = 10415, .avp_name = "NNI-Information" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
540 { { .avp_vendor = 10415, .avp_name = "From-Address" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
541 { { .avp_vendor = 10415, .avp_name = "IMS-Emergency-Indicator" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
542 { { .avp_vendor = 10415, .avp_name = "Access-Transfer-Information" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
543 };
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
544 PARSE_loc_rules(rules, rule_avp);
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
545 }
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
546
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
547 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
548 struct dict_object *rule_avp;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
549 struct dict_avp_request vpa;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
550 vpa.avp_vendor = 10415;
1262
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
551 vpa.avp_name = "Message-Class";
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
552 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
553 struct local_rules_definition rules[] =
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
554 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
555 { { .avp_vendor = 10415, .avp_name = "Class-Identifier" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
556 { { .avp_vendor = 10415, .avp_name = "Token-Text" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
557 };
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
558 PARSE_loc_rules(rules, rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
559 }
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
560
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
561 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
562 struct dict_object *rule_avp;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
563 struct dict_avp_request vpa;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
564 vpa.avp_vendor = 10415;
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
565 vpa.avp_name = "MMS-Information";
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
566 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
567 struct local_rules_definition rules[] =
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
568 {
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
569 { { .avp_vendor = 10415, .avp_name = "Originator-Address" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
570 { { .avp_vendor = 10415, .avp_name = "Recipient-Address" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
571 { { .avp_vendor = 10415, .avp_name = "Submission-Time" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
572 { { .avp_vendor = 10415, .avp_name = "MM-Content-Type" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
573 { { .avp_vendor = 10415, .avp_name = "Priority" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
574 { { .avp_vendor = 10415, .avp_name = "Message-ID" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
575 { { .avp_vendor = 10415, .avp_name = "Message-Type" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
576 { { .avp_vendor = 10415, .avp_name = "Message-Size" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
577 { { .avp_vendor = 10415, .avp_name = "Message-Class" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
578 { { .avp_vendor = 10415, .avp_name = "Delivery-Report-Requested" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
579 { { .avp_vendor = 10415, .avp_name = "Read-Reply-Report-Requested" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
580 { { .avp_vendor = 10415, .avp_name = "MMBox-Storage-Requested" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
581 { { .avp_vendor = 10415, .avp_name = "Applic-ID" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
582 { { .avp_vendor = 10415, .avp_name = "Reply-Applic-ID" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
583 { { .avp_vendor = 10415, .avp_name = "Aux-Applic-Info" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
584 { { .avp_vendor = 10415, .avp_name = "Content-Class" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
585 { { .avp_vendor = 10415, .avp_name = "DRM-Content" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
586 { { .avp_vendor = 10415, .avp_name = "Adaptations" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
587 { { .avp_vendor = 10415, .avp_name = "VASP-ID" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
588 { { .avp_vendor = 10415, .avp_name = "VAS-ID" }, RULE_OPTIONAL, -1, 1 },
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
589 };
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
590 PARSE_loc_rules(rules, rule_avp);
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
591 }
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
592
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
593 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
594 /* Multiple-Services-Credit-Control */
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
595 /* additional allowed AVPs */
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
596 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
597 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
598 vpa.avp_vendor = 0;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
599 vpa.avp_name = "Multiple-Services-Credit-Control";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
600 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
601 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
602 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
603 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Threshold" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
604 { { .avp_vendor = 10415, .avp_name = "Volume-Quota-Threshold" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
605 { { .avp_vendor = 10415, .avp_name = "Unit-Quota-Threshold" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
606 { { .avp_vendor = 10415, .avp_name = "Quota-Holding-Time" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
607 { { .avp_vendor = 10415, .avp_name = "Quota-Consumption-Time" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
608 { { .avp_vendor = 10415, .avp_name = "Reporting-Reason" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
609 { { .avp_vendor = 10415, .avp_name = "Trigger" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
610 { { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
611 { { .avp_vendor = 10415, .avp_name = "Refund-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
612 { { .avp_vendor = 10415, .avp_name = "AF-Correlation-Information" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
613 { { .avp_vendor = 10415, .avp_name = "Envelope" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
614 { { .avp_vendor = 10415, .avp_name = "Envelope-Reporting" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
615 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Mechanism" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
616 { { .avp_vendor = 10415, .avp_name = "Service-Specific-Info" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
617 { { .avp_vendor = 10415, .avp_name = "QoS-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
618 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
619 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
620 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
621
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
622 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
623 struct dict_object *rule_avp;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
624 struct dict_avp_request vpa;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
625 vpa.avp_vendor = 10415;
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
626 vpa.avp_name = "Offline-Charging";
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
627 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
628 struct local_rules_definition rules[] =
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
629 {
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
630 { { .avp_vendor = 10415, .avp_name = "Quota-Consumption-Time" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
631 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Mechanism" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
632 { { .avp_vendor = 10415, .avp_name = "Envelope-Reporting" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
633 { { .avp_vendor = 0, .avp_name = "Multiple-Services-Credit-Control" }, RULE_OPTIONAL, -1, -1 },
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
634 };
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
635 PARSE_loc_rules(rules, rule_avp);
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
636 }
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
637
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
638 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
639 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
640 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
641 vpa.avp_vendor = 10415;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
642 vpa.avp_name = "Originator-Address";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
643 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
644 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
645 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
646 { { .avp_vendor = 10415, .avp_name = "Address-Type" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
647 { { .avp_vendor = 10415, .avp_name = "Address-Data" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
648 { { .avp_vendor = 10415, .avp_name = "Address-Domain" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
649 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
650 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
651 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
652
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
653 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
654 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
655 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
656 vpa.avp_vendor = 10415;
1262
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
657 vpa.avp_name = "Originator-Interface";
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
658 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
659 struct local_rules_definition rules[] =
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
660 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
661 { { .avp_vendor = 10415, .avp_name = "Interface-Id" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
662 { { .avp_vendor = 10415, .avp_name = "Interface-Text" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
663 { { .avp_vendor = 10415, .avp_name = "Interface-Port" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
664 { { .avp_vendor = 10415, .avp_name = "Interface-Type" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
665 };
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
666 PARSE_loc_rules(rules, rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
667 }
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
668
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
669 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
670 struct dict_object *rule_avp;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
671 struct dict_avp_request vpa;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
672 vpa.avp_vendor = 10415;
1337
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
673 vpa.avp_name = "Originator-Received-Address";
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
674 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
675 struct local_rules_definition rules[] =
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
676 {
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
677 { { .avp_vendor = 10415, .avp_name = "Address-Type" }, RULE_OPTIONAL, -1, 1 },
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
678 { { .avp_vendor = 10415, .avp_name = "Address-Data" }, RULE_OPTIONAL, -1, 1 },
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
679 { { .avp_vendor = 10415, .avp_name = "Address-Domain" }, RULE_OPTIONAL, -1, 1 },
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
680 };
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
681 PARSE_loc_rules(rules, rule_avp);
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
682 }
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
683
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
684 {
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
685 struct dict_object *rule_avp;
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
686 struct dict_avp_request vpa;
d66f60e29b22 dict_dcca_3gpp: add Originator-Received-Address
Thomas Klausner <tk@giga.or.at>
parents: 1324
diff changeset
687 vpa.avp_vendor = 10415;
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
688 vpa.avp_name = "PS-Furnish-Charging-Information";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
689 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
690 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
691 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
692 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id" }, RULE_REQUIRED, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
693 { { .avp_vendor = 10415, .avp_name = "PS-Free-Format-Data" }, RULE_REQUIRED, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
694 { { .avp_vendor = 10415, .avp_name = "PS-Append-Free-Format-Data" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
695 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
696 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
697 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
698
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
699 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
700 struct dict_object *rule_avp;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
701 struct dict_avp_request vpa;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
702 vpa.avp_vendor = 10415;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
703 vpa.avp_name = "PS-Information";
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
704 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
705 struct local_rules_definition rules[] =
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
706 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
707 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
708 { { .avp_vendor = 10415, .avp_name = "PDN-Connection-Charging-ID" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
709 { { .avp_vendor = 10415, .avp_name = "Node-Id" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
710 { { .avp_vendor = 10415, .avp_name = "3GPP-PDP-Type" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
711 { { .avp_vendor = 10415, .avp_name = "PDP-Address" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
712 { { .avp_vendor = 10415, .avp_name = "PDP-Address-Prefix-Length" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
713 { { .avp_vendor = 10415, .avp_name = "Dynamic-Address-Flag" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
714 { { .avp_vendor = 10415, .avp_name = "Dynamic-Address-Flag-Extension" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
715 { { .avp_vendor = 10415, .avp_name = "QoS-Information" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
716 { { .avp_vendor = 10415, .avp_name = "SGSN-Address" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
717 { { .avp_vendor = 10415, .avp_name = "GGSN-Address" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
718 { { .avp_vendor = 10415, .avp_name = "SGW-Address" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
719 { { .avp_vendor = 10415, .avp_name = "CG-Address" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
720 { { .avp_vendor = 10415, .avp_name = "Serving-Node-Type" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
721 { { .avp_vendor = 10415, .avp_name = "SGW-Change" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
722 { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI-MCC-MNC" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
723 { { .avp_vendor = 10415, .avp_name = "IMSI-Unauthenticated-Flag" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
724 { { .avp_vendor = 10415, .avp_name = "3GPP-GGSN-MCC-MNC" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
725 { { .avp_vendor = 10415, .avp_name = "3GPP-NSAPI" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
726 { { .avp_vendor = 0, .avp_name = "Called-Station-Id" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
727 { { .avp_vendor = 10415, .avp_name = "3GPP-Session-Stop-Indicator" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
728 { { .avp_vendor = 10415, .avp_name = "3GPP-Selection-Mode" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
729 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Characteristics" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
730 { { .avp_vendor = 10415, .avp_name = "Charging-Characteristics-Selection-Mode" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
731 { { .avp_vendor = 10415, .avp_name = "3GPP-SGSN-MCC-MNC" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
732 { { .avp_vendor = 10415, .avp_name = "3GPP-MS-TimeZone" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
733 { { .avp_vendor = 10415, .avp_name = "Charging-Rule-Base-Name" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
734 { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
735 { { .avp_vendor = 10415, .avp_name = "User-CSG-Information" }, RULE_OPTIONAL, -1, 1 },
1146
dee5ca683bee More rules.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
736 { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID" }, RULE_OPTIONAL, -1, 1 },
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
737 { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
738 { { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
739 { { .avp_vendor = 10415, .avp_name = "PDP-Context-Type" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
740 { { .avp_vendor = 10415, .avp_name = "Offline-Charging" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
741 { { .avp_vendor = 10415, .avp_name = "Traffic-Data-Volumes" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
742 { { .avp_vendor = 10415, .avp_name = "Service-Data-Container" }, RULE_OPTIONAL, -1, -1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
743 { { .avp_vendor = 0, .avp_name = "User-Equipment-Info" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
744 { { .avp_vendor = 10415, .avp_name = "Terminal-Information" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
745 { { .avp_vendor = 10415, .avp_name = "Start-Time" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
746 { { .avp_vendor = 10415, .avp_name = "Stop-Time" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
747 { { .avp_vendor = 10415, .avp_name = "Change-Condition" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
748 { { .avp_vendor = 10415, .avp_name = "Diagnostics" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
749 { { .avp_vendor = 10415, .avp_name = "Low-Priority-Indicator" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
750 { { .avp_vendor = 10415, .avp_name = "MME-Number-for-MT-SMS" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
751 { { .avp_vendor = 10415, .avp_name = "MME-Name" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
752 { { .avp_vendor = 10415, .avp_name = "MME-Realm" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
753 };
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
754 PARSE_loc_rules(rules, rule_avp);
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
755 }
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
756
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
757 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
758 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
759 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
760 vpa.avp_vendor = 10415;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
761 vpa.avp_name = "Recipient-Address";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
762 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
763 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
764 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
765 { { .avp_vendor = 10415, .avp_name = "Address-Type" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
766 { { .avp_vendor = 10415, .avp_name = "Address-Data" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
767 { { .avp_vendor = 10415, .avp_name = "Address-Domain" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
768 { { .avp_vendor = 10415, .avp_name = "Addressee-Type" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
769 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
770 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
771 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
772
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
773 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
774 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
775 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
776 vpa.avp_vendor = 10415;
1262
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
777 vpa.avp_name = "Recipient-Info";
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
778 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
779 struct local_rules_definition rules[] =
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
780 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
781 { { .avp_vendor = 10415, .avp_name = "Destination-Interface" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
782 { { .avp_vendor = 10415, .avp_name = "Recipient-Address" }, RULE_OPTIONAL, -1, -1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
783 { { .avp_vendor = 10415, .avp_name = "Recipient-Received-Address" }, RULE_OPTIONAL, -1, -1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
784 { { .avp_vendor = 10415, .avp_name = "Recipient-SCCP-Address" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
785 { { .avp_vendor = 10415, .avp_name = "SM-Protocol-ID" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
786 };
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
787 PARSE_loc_rules(rules, rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
788 }
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
789
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
790 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
791 struct dict_object *rule_avp;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
792 struct dict_avp_request vpa;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
793 vpa.avp_vendor = 10415;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
794 vpa.avp_name = "Recipient-Received-Address";
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
795 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
796 struct local_rules_definition rules[] =
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
797 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
798 { { .avp_vendor = 10415, .avp_name = "Address-Type" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
799 { { .avp_vendor = 10415, .avp_name = "Address-Data" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
800 { { .avp_vendor = 10415, .avp_name = "Address-Domain" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
801 };
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
802 PARSE_loc_rules(rules, rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
803 }
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
804
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
805 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
806 struct dict_object *rule_avp;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
807 struct dict_avp_request vpa;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
808 vpa.avp_vendor = 10415;
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
809 vpa.avp_name = "SDP-Media-Component";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
810 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
811 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
812 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
813 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Name" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
814 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Description" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
815 { { .avp_vendor = 10415, .avp_name = "Local-GW-Inserted-Indication" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
816 { { .avp_vendor = 10415, .avp_name = "IP-Realm-Default-Indication" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
817 { { .avp_vendor = 10415, .avp_name = "Transcoder-Inserted-Indication" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
818 { { .avp_vendor = 10415, .avp_name = "Media-Initiator-Flag" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
819 { { .avp_vendor = 10415, .avp_name = "Media-Initiator-Party" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
820 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
821 { { .avp_vendor = 10415, .avp_name = "Access-Network-Charging-Identifier-Value" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
822 { { .avp_vendor = 10415, .avp_name = "SDP-Type" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
823 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
824 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
825 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
826
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
827 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
828 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
829 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
830 vpa.avp_vendor = 10415;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
831 vpa.avp_name = "Service-Information";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
832 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
833 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
834 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
835 { { .avp_vendor = 0, .avp_name = "Subscription-Id" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
836 { { .avp_vendor = 10415, .avp_name = "AoC-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
837 { { .avp_vendor = 10415, .avp_name = "PS-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
838 { { .avp_vendor = 10415, .avp_name = "IMS-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
839 { { .avp_vendor = 10415, .avp_name = "MMS-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
840 { { .avp_vendor = 10415, .avp_name = "LCS-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
841 { { .avp_vendor = 10415, .avp_name = "PoC-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
842 { { .avp_vendor = 10415, .avp_name = "MBMS-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
843 { { .avp_vendor = 10415, .avp_name = "SMS-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
844 { { .avp_vendor = 10415, .avp_name = "MMTel-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
845 { { .avp_vendor = 10415, .avp_name = "Service-Generic-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
846 { { .avp_vendor = 10415, .avp_name = "IM-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
847 { { .avp_vendor = 10415, .avp_name = "DCD-Information" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
848 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
849 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
850 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
851
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
852 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
853 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
854 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
855 vpa.avp_vendor = 10415;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
856 vpa.avp_name = "SMS-Information";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
857 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
858 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
859 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
860 { { .avp_vendor = 10415, .avp_name = "SMS-Node" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
861 { { .avp_vendor = 10415, .avp_name = "Client-Address" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
862 { { .avp_vendor = 10415, .avp_name = "Originator-SCCP-Address" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
863 { { .avp_vendor = 10415, .avp_name = "SMSC-Address" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
864 { { .avp_vendor = 10415, .avp_name = "Data-Coding-Scheme" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
865 { { .avp_vendor = 10415, .avp_name = "SM-Discharge-Time" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
866 { { .avp_vendor = 10415, .avp_name = "SM-Message-Type" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
867 { { .avp_vendor = 10415, .avp_name = "Originator-Interface" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
868 { { .avp_vendor = 10415, .avp_name = "SM-Protocol-ID" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
869 { { .avp_vendor = 10415, .avp_name = "Reply-Path-Requested" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
870 { { .avp_vendor = 10415, .avp_name = "SM-Status" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
871 { { .avp_vendor = 10415, .avp_name = "SM-User-Data-Header" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
872 { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Sent" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
873 { { .avp_vendor = 10415, .avp_name = "Recipient-Info" }, RULE_OPTIONAL, -1, -1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
874 { { .avp_vendor = 10415, .avp_name = "Originator-Received-Address" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
875 { { .avp_vendor = 10415, .avp_name = "SM-Service-Type" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
876 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
877 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
878 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
879
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
880 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
881 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
882 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
883 vpa.avp_vendor = 10415;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
884 vpa.avp_name = "Time-Quota-Mechanism";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
885 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
886 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
887 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
888 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Type" }, RULE_REQUIRED, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
889 { { .avp_vendor = 10415, .avp_name = "Base-Time-Interval" }, RULE_REQUIRED, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
890 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
891 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
892 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
893
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
894 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
895 struct dict_object *rule_avp;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
896 struct dict_avp_request vpa;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
897 vpa.avp_vendor = 10415;
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
898 vpa.avp_name = "Time-Stamps";
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
899 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
900 struct local_rules_definition rules[] =
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
901 {
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
902 { { .avp_vendor = 10415, .avp_name = "SIP-Request-Timestamp" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
903 { { .avp_vendor = 10415, .avp_name = "SIP-Response-Timestamp" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
904 { { .avp_vendor = 10415, .avp_name = "SIP-Request-Timestamp-Fraction" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
905 { { .avp_vendor = 10415, .avp_name = "SIP-Response-Timestamp-Fraction" }, RULE_OPTIONAL, -1, 1 },
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
906 };
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
907 PARSE_loc_rules(rules, rule_avp);
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
908 }
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
909
1262
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
910 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
911 /* Used-Service-Unit */
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
912 /* additional allowed AVPs */
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
913 struct dict_object *rule_avp;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
914 struct dict_avp_request vpa;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
915 vpa.avp_vendor = 0;
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
916 vpa.avp_name = "Used-Service-Unit";
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
917 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
918 struct local_rules_definition rules[] =
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
919 {
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
920 { { .avp_vendor = 10415, .avp_name = "Reporting-Reason" }, RULE_OPTIONAL, -1, 1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
921 { { .avp_vendor = 10415, .avp_name = "Event-Charging-TimeStamp" }, RULE_OPTIONAL, -1, -1 },
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
922 };
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
923 PARSE_loc_rules(rules, rule_avp);
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
924 }
02ccaf6e9a57 Add more rules. Sort a bit.
Thomas Klausner <tk@giga.or.at>
parents: 1231
diff changeset
925
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
926 /* OMA */
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
927 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
928 struct dict_object *rule_avp;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
929 struct dict_avp_request vpa;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
930 vpa.avp_vendor = 10415;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
931 vpa.avp_name = "DCD-Information";
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
932 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
933 struct local_rules_definition rules[] =
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
934 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
935 { { .avp_vendor = 10415, .avp_name = "Content-ID" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
936 { { .avp_vendor = 10415, .avp_name = "Content-provider-ID" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
937 };
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
938 PARSE_loc_rules(rules, rule_avp);
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
939 }
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
940 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
941 struct dict_object *rule_avp;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
942 struct dict_avp_request vpa;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
943 vpa.avp_vendor = 10415;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
944 vpa.avp_name = "IM-Information";
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
945 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
946 struct local_rules_definition rules[] =
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
947 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
948 { { .avp_vendor = 10415, .avp_name = "Total-Number-Of-Messages-Sent" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
949 { { .avp_vendor = 10415, .avp_name = "Total-Number-Of-Messages-Exploded" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
950 { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Successfully-Sent" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
951 { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Successfully-Exploded" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
952 };
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
953 PARSE_loc_rules(rules, rule_avp);
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
954 }
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
955 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
956 struct dict_object *rule_avp;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
957 struct dict_avp_request vpa;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
958 vpa.avp_vendor = 10415;
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
959 vpa.avp_name = "Service-Generic-Information";
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
960 CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
1086
f2f4b9ddd8e5 Add many more rules, license, and some comments.
Thomas Klausner <tk@giga.or.at>
parents: 1065
diff changeset
961 struct local_rules_definition rules[] =
1065
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
962 {
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
963 { { .avp_vendor = 10415, .avp_name = "Application-Server-Id" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
964 { { .avp_vendor = 10415, .avp_name = "Application-Service-Type" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
965 { { .avp_vendor = 10415, .avp_name = "Application-Session-Id" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
966 { { .avp_vendor = 10415, .avp_name = "Delivery-Status" }, RULE_OPTIONAL, -1, 1 },
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
967 };
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
968 PARSE_loc_rules(rules, rule_avp);
c4e4e07f1336 Add many more 3GPP AVPs and a few rules.
Thomas Klausner <tk@giga.or.at>
parents: 960
diff changeset
969 }
1426
f260953c2c6c dict_dcca_3gpp: dump dict if conf if "dumpdict"
Luke Mewburn <luke@mewburn.net>
parents: 1337
diff changeset
970
1120
c473581adff2 Cleanup some traces
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1086
diff changeset
971 LOG_D( "Extension 'Dictionary definitions for DCCA 3GPP' initialized");
954
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
972 return 0;
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
973 }
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
974
09af899b017b Add dictionary for 3GPP AVPs and org file used for creating them (using contrib/tools).
Thomas Klausner <tk@giga.or.at>
parents:
diff changeset
975 EXTENSION_ENTRY("dict_dcca_3gpp", dict_dcca_3gpp_entry, "dict_dcca");
"Welcome to our mercurial repository"