annotate extensions/dict_dcca/dict_dcca.c @ 1318:2a5620128a9a

Remove '*' from the couple enumerated values that had them. This was inconsistent and caused trouble with extensions that want to add enumerated values to existing enumerations.
author Thomas Klausner <tk@giga.or.at>
date Mon, 23 Jan 2017 15:26:25 +0100
parents ec741f31cd55
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
885
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1 /****************
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
2 Contributed by: Konstantin Chekushin <koch@lmt.lv> and Thomas Klausner <tk@giga.or.at>
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
3 License: same as freeDiameter
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
4 ****************/
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
5
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
6
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
7 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
8 * Dictionary definitions of objects specified in DCCA (rfc4006).
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
9 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
10 #include <freeDiameter/extension.h>
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
11
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
12
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
13 /* The content of this file follows the same structure as dict_base_proto.c */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
14
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
15 #define CHECK_dict_new( _type, _data, _parent, _ref ) \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
16 CHECK_FCT( fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref)) );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
17
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
18 #define CHECK_dict_search( _type, _criteria, _what, _result ) \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
19 CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
20
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
21 struct local_rules_definition {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
22 char *avp_name;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
23 enum rule_position position;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
24 int min;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
25 int max;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
26 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
27
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
28 #define RULE_ORDER( _position ) ((((_position) == RULE_FIXED_HEAD) || ((_position) == RULE_FIXED_TAIL)) ? 1 : 0 )
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
29
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
30 #define PARSE_loc_rules( _rulearray, _parent) { \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
31 int __ar; \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
32 for (__ar=0; __ar < sizeof(_rulearray) / sizeof((_rulearray)[0]); __ar++) { \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
33 struct dict_rule_data __data = { NULL, \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
34 (_rulearray)[__ar].position, \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
35 0, \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
36 (_rulearray)[__ar].min, \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
37 (_rulearray)[__ar].max}; \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
38 __data.rule_order = RULE_ORDER(__data.rule_position); \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
39 CHECK_FCT( fd_dict_search( \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
40 fd_g_config->cnf_dict, \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
41 DICT_AVP, \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
42 AVP_BY_NAME, \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
43 (_rulearray)[__ar].avp_name, \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
44 &__data.rule_avp, 0 ) ); \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
45 if ( !__data.rule_avp ) { \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
46 TRACE_DEBUG(INFO, "AVP Not found: '%s'", (_rulearray)[__ar].avp_name ); \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
47 return ENOENT; \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
48 } \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
49 CHECK_FCT_DO( fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &__data, _parent, NULL), \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
50 { \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
51 TRACE_DEBUG(INFO, "Error on rule with AVP '%s'", \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
52 (_rulearray)[__ar].avp_name ); \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
53 return EINVAL; \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
54 } ); \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
55 } \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
56 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
57
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
58 #define enumval_def_u32( _val_, _str_ ) \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
59 { _str_, { .u32 = _val_ }}
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
60
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
61 #define enumval_def_os( _len_, _val_, _str_ ) \
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
62 { _str_, { .os = { .data = (unsigned char *)_val_, .len = _len_ }}}
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
63
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
64
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
65 static int dict_dcca_entry(char * conffile)
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
66 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
67 struct dict_object * dcca;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
68 TRACE_ENTRY("%p", conffile);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
69
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
70 /* Applications section */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
71 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
72 /* DCCA */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
73 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
74 struct dict_application_data data = { 4, "Diameter Credit Control Application" };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
75 CHECK_dict_new( DICT_APPLICATION, &data, NULL, &dcca);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
76 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
77 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
78
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
79 /* Result codes */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
80 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
81 struct dict_object *ResultCodeType;
1318
2a5620128a9a Remove '*' from the couple enumerated values that had them.
Thomas Klausner <tk@giga.or.at>
parents: 1223
diff changeset
82 CHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "Enumerated(Result-Code)", &ResultCodeType);
885
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
83
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
84 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
85 struct dict_enumval_data error_code = {"END_USER_SERVICE_DENIED",
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
86 { .u32 = 4010}};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
87 CHECK_dict_new(DICT_ENUMVAL, &error_code, ResultCodeType, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
88 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
89 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
90 struct dict_enumval_data error_code = {"CREDIT_CONTROL_NOT_APPLICABLE",
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
91 { .u32 = 4011}};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
92 CHECK_dict_new(DICT_ENUMVAL, &error_code, ResultCodeType, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
93 }
1223
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
94 {
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
95 struct dict_enumval_data error_code = {"CREDIT_LIMIT_REACHED",
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
96 { .u32 = 4012}};
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
97 CHECK_dict_new(DICT_ENUMVAL, &error_code, ResultCodeType, NULL);
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
98 }
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
99 {
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
100 struct dict_enumval_data error_code = {"USER_UNKNOWN",
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
101 { .u32 = 5030}};
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
102 CHECK_dict_new(DICT_ENUMVAL, &error_code, ResultCodeType, NULL);
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
103 }
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
104 {
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
105 struct dict_enumval_data error_code = {"RATING_FAILED",
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
106 { .u32 = 5031}};
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
107 CHECK_dict_new(DICT_ENUMVAL, &error_code, ResultCodeType, NULL);
ec741f31cd55 Add three more result codes from RFC 4006.
Thomas Klausner <tk@giga.or.at>
parents: 1120
diff changeset
108 }
885
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
109
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
110 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
111
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
112
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
113
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
114 /* AVP section */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
115 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
116 struct dict_object * Address_type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
117 struct dict_object * UTF8String_type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
118 struct dict_object * DiameterIdentity_type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
119 struct dict_object * DiameterURI_type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
120 struct dict_object * Time_type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
121 struct dict_object * IPFilterRule_type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
122
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
123 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Address", &Address_type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
124 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
125 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "DiameterIdentity", &DiameterIdentity_type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
126 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "DiameterURI", &DiameterURI_type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
127 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
128 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "IPFilterRule", &IPFilterRule_type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
129
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
130
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
131 /* CC-Correlation-Id */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
132 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
133 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
134 OctetString.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
135 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
136 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
137 411, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
138 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
139 "CC-Correlation-Id", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
140 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
141 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
142 AVP_TYPE_OCTETSTRING /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
143 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
144
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
145 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
146 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
147
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
148 /* CC-Input-Octets */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
149 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
150 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
151 Unsigned64.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
152 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
153 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
154 412, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
155 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
156 "CC-Input-Octets", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
157 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
158 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
159 AVP_TYPE_UNSIGNED64 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
160 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
161 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
162 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
163
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
164 /* CC-Output-Octets */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
165 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
166 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
167 Unsigned64.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
168 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
169 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
170 414, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
171 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
172 "CC-Output-Octets", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
173 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
174 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
175 AVP_TYPE_UNSIGNED64 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
176 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
177 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
178 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
179
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
180 /* CC-Request-Number */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
181 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
182 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
183 Unsigned32.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
184 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
185 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
186 415, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
187 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
188 "CC-Request-Number", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
189 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
190 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
191 AVP_TYPE_UNSIGNED32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
192 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
193 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
194 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
195
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
196 /* CC-Request-Type */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
197 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
198 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
199 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
200 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
201
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
202 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
203 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(CC-Request-Type)", NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
204 struct dict_enumval_data t_1 = { "INITIAL_REQUEST", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
205 struct dict_enumval_data t_2 = { "UPDATE_REQUEST", { .i32 = 2 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
206 struct dict_enumval_data t_3 = { "TERMINATION_REQUEST", { .i32 = 3 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
207 struct dict_enumval_data t_4 = { "EVENT_REQUEST", { .i32 = 4 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
208
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
209
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
210 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
211 416, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
212 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
213 "CC-Request-Type", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
214 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
215 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
216 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
217 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
218 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
219 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
220 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
221 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
222 CHECK_dict_new( DICT_ENUMVAL, &t_3 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
223 CHECK_dict_new( DICT_ENUMVAL, &t_4 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
224 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
225 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
226
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
227
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
228 /* CC-Service-Specific-Units */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
229 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
230 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
231 Unsigned64.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
232 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
233 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
234 417, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
235 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
236 "CC-Service-Specific-Units", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
237 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
238 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
239 AVP_TYPE_UNSIGNED64 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
240 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
241 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
242 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
243
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
244 /* CC-Session-Failover */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
245 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
246 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
247 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
248 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
249
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
250 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
251 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(CC-Session-Failover)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
252 struct dict_enumval_data t_1 = { "FAILOVER_NOT_SUPPORTED", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
253 struct dict_enumval_data t_2 = { "FAILOVER_SUPPORTED", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
254
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
255
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
256 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
257 418, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
258 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
259 "CC-Session-Failover", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
260 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
261 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
262 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
263 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
264 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
265 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
266 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
267 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
268 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
269 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
270
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
271 /* CC-Sub-Session-Id */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
272 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
273 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
274 Unsigned64.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
275 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
276 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
277 419, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
278 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
279 "CC-Sub-Session-Id", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
280 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
281 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
282 AVP_TYPE_UNSIGNED64 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
283 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
284 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
285 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
286
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
287 /* CC-Time */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
288 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
289 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
290 Unsigned32.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
291 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
292 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
293 420, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
294 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
295 "CC-Time", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
296 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
297 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
298 AVP_TYPE_UNSIGNED32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
299 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
300 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
301 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
302
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
303 /* CC-Total-Octets */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
304 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
305 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
306 Unsigned64.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
307 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
308 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
309 421, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
310 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
311 "CC-Total-Octets", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
312 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
313 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
314 AVP_TYPE_UNSIGNED64 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
315 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
316 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
317 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
318
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
319 /* CC-Unit-Type */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
320 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
321 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
322 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
323 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
324
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
325 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
326 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(CC-Unit-Type)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
327 struct dict_enumval_data t_1 = { "TIME", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
328 struct dict_enumval_data t_2 = { "MONEY", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
329 struct dict_enumval_data t_3 = { "TOTAL-OCTETS", { .i32 = 2 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
330 struct dict_enumval_data t_4 = { "INPUT-OCTETS", { .i32 = 3 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
331 struct dict_enumval_data t_5 = { "OUTPUT-OCTETS", { .i32 = 4 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
332 struct dict_enumval_data t_6 = { "SERVICE-SPECIFIC-UNITS", { .i32 = 5 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
333
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
334
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
335 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
336 454, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
337 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
338 "CC-Unit-Type", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
339 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
340 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
341 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
342 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
343 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
344 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
345 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
346 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
347 CHECK_dict_new( DICT_ENUMVAL, &t_3 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
348 CHECK_dict_new( DICT_ENUMVAL, &t_4 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
349 CHECK_dict_new( DICT_ENUMVAL, &t_5 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
350 CHECK_dict_new( DICT_ENUMVAL, &t_6 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
351 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
352 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
353
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
354 /* Check-Balance-Result */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
355 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
356 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
357 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
358 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
359
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
360 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
361 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Check-Balance-Result)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
362 struct dict_enumval_data t_1 = { "ENOUGH_CREDIT", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
363 struct dict_enumval_data t_2 = { "NO_CREDIT", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
364
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
365
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
366 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
367 422, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
368 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
369 "Check-Balance-Result", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
370 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
371 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
372 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
373 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
374 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
375 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
376 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
377 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
378 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
379 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
380
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
381 /* Cost-Unit */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
382 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
383 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
384 UTF8String.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
385 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
386 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
387 424, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
388 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
389 "Cost-Unit", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
390 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
391 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
392 AVP_TYPE_OCTETSTRING /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
393 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
394 CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
395 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
396
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
397 /* Credit-Control */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
398 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
399 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
400 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
401 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
402
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
403 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
404 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Credit-Control)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
405 struct dict_enumval_data t_1 = { "CREDIT_AUTHORIZATION", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
406 struct dict_enumval_data t_2 = { "RE_AUTHORIZATION", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
407
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
408 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
409 426, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
410 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
411 "Credit-Control", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
412 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
413 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
414 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
415 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
416 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
417 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
418 CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
419 CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
420 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
421 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
422
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
423 /* Credit-Control-Failure-Handling */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
424 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
425 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
426 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
427 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
428
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
429 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
430 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Credit-Control-Failure-Handling)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
431 struct dict_enumval_data t_1 = { "TERMINATE", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
432 struct dict_enumval_data t_2 = { "CONTINUE", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
433 struct dict_enumval_data t_3 = { "RETRY_AND_TERMINATE", { .i32 = 2 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
434
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
435 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
436 427, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
437 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
438 "Credit-Control-Failure-Handling", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
439 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
440 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
441 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
442 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
443 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
444 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
445 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
446 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
447 CHECK_dict_new( DICT_ENUMVAL, &t_3 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
448 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
449 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
450
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
451 /* Currency-Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
452 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
453 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
454 Unsigned32.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
455 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
456 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
457 425, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
458 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
459 "Currency-Code", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
460 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
461 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
462 AVP_TYPE_UNSIGNED32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
463 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
464 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
465 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
466
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
467 /* Direct-Debiting-Failure-Handling */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
468 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
469 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
470 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
471 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
472
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
473 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
474 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Direct-Debiting-Failure-Handling)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
475 struct dict_enumval_data t_1 = { "TERMINATE_OR_BUFFER", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
476 struct dict_enumval_data t_2 = { "CONTINUE", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
477
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
478 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
479 428, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
480 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
481 "Direct-Debiting-Failure-Handling", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
482 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
483 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
484 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
485 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
486 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
487 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
488 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
489 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
490 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
491 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
492
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
493 /* Exponent */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
494 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
495 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
496 Integer32.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
497 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
498 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
499 429, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
500 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
501 "Exponent", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
502 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
503 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
504 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
505 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
506 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
507 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
508
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
509 /* Final-Unit-Action */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
510 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
511 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
512 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
513 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
514
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
515 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
516 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Final-Unit-Action)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
517 struct dict_enumval_data t_1 = { "TERMINATE", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
518 struct dict_enumval_data t_2 = { "REDIRECT", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
519 struct dict_enumval_data t_3 = { "RESTRICT_ACCESS", { .i32 = 2 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
520
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
521 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
522 449, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
523 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
524 "Final-Unit-Action", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
525 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
526 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
527 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
528 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
529 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
530 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
531 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
532 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
533 CHECK_dict_new( DICT_ENUMVAL, &t_3 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
534 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
535 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
536
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
537 /* G-S-U-Pool-Identifier */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
538 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
539 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
540 Unsigned32.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
541 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
542 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
543 453, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
544 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
545 "G-S-U-Pool-Identifier", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
546 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
547 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
548 AVP_TYPE_UNSIGNED32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
549 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
550 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
551 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
552
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
553 /* Multiple-Services-Indicator */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
554 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
555 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
556 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
557 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
558
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
559 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
560 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Multiple-Services-Indicator)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
561 struct dict_enumval_data t_1 = { "MULTIPLE_SERVICES_NOT_SUPPORTED", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
562 struct dict_enumval_data t_2 = { "MULTIPLE_SERVICES_SUPPORTED", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
563
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
564 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
565 455, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
566 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
567 "Multiple-Services-Indicator", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
568 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
569 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
570 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
571 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
572 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
573 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
574 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
575 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
576 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
577 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
578
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
579 /* Rating-Group */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
580 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
581 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
582 Unsigned32.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
583 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
584 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
585 432, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
586 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
587 "Rating-Group", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
588 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
589 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
590 AVP_TYPE_UNSIGNED32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
591 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
592 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
593 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
594
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
595 /* Redirect-Address-Type */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
596 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
597 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
598 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
599 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
600
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
601 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
602 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Redirect-Address-Type)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
603 struct dict_enumval_data t_1 = { "IPV4_ADDRESS", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
604 struct dict_enumval_data t_2 = { "IPV6_ADDRESS", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
605 struct dict_enumval_data t_3 = { "URL", { .i32 = 2 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
606 struct dict_enumval_data t_4 = { "SIP_URI", { .i32 = 3 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
607
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
608 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
609 433, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
610 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
611 "Redirect-Address-Type", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
612 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
613 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
614 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
615 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
616 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
617 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
618 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
619 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
620 CHECK_dict_new( DICT_ENUMVAL, &t_3 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
621 CHECK_dict_new( DICT_ENUMVAL, &t_4 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
622 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
623 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
624
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
625 /* Redirect-Server-Address */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
626 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
627 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
628 UTF8String.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
629 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
630 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
631 435, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
632 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
633 "Redirect-Server-Address", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
634 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
635 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
636 AVP_TYPE_OCTETSTRING /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
637 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
638 CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
639 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
640
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
641 /* Requested-Action */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
642 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
643 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
644 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
645 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
646
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
647 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
648 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Requested-Action)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
649 struct dict_enumval_data t_1 = { "DIRECT_DEBITING", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
650 struct dict_enumval_data t_2 = { "REFUND_ACCOUNT", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
651 struct dict_enumval_data t_3 = { "CHECK_BALANCE", { .i32 = 2 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
652 struct dict_enumval_data t_4 = { "PRICE_ENQUIRY", { .i32 = 3 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
653
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
654 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
655 436, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
656 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
657 "Requested-Action", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
658 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
659 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
660 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
661 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
662 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
663 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
664 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
665 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
666 CHECK_dict_new( DICT_ENUMVAL, &t_3 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
667 CHECK_dict_new( DICT_ENUMVAL, &t_4 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
668 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
669 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
670
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
671 /* Restriction-Filter-Rule */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
672 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
673 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
674 IPFiltrRule.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
675 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
676 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
677 438, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
678 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
679 "Restriction-Filter-Rule", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
680 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
681 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
682 AVP_TYPE_OCTETSTRING /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
683 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
684 CHECK_dict_new( DICT_AVP, &data , IPFilterRule_type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
685 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
686 /*Service-Context-Id */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
687 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
688 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
689 UTF8String.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
690 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
691 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
692 461, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
693 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
694 "Service-Context-Id", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
695 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
696 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
697 AVP_TYPE_OCTETSTRING /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
698 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
699 CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
700 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
701
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
702 /* Service-Identifier */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
703 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
704 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
705 Unsigned32.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
706 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
707 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
708 439, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
709 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
710 "Service-Identifier", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
711 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
712 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
713 AVP_TYPE_UNSIGNED32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
714 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
715 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
716 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
717
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
718 /* Service-Parameter-Type */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
719 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
720 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
721 Unsigned32.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
722 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
723 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
724 441, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
725 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
726 "Service-Parameter-Type", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
727 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
728 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
729 AVP_TYPE_UNSIGNED32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
730 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
731 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
732 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
733
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
734 /* Service-Parameter-Value */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
735 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
736 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
737 OctetString.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
738 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
739 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
740 442, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
741 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
742 "Service-Parameter-Value", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
743 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
744 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
745 AVP_TYPE_OCTETSTRING /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
746 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
747 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
748 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
749
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
750 /* Subscription-Id-Data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
751 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
752 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
753 UTF8String.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
754 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
755 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
756 444, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
757 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
758 "Subscription-Id-Data", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
759 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
760 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
761 AVP_TYPE_OCTETSTRING /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
762 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
763 CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
764 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
765
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
766 /* Subscription-Id-Type */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
767 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
768 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
769 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
770 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
771
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
772 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
773 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Subscription-Id-Type)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
774 struct dict_enumval_data t_1 = { "END_USER_E164", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
775 struct dict_enumval_data t_2 = { "END_USER_IMSI", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
776 struct dict_enumval_data t_3 = { "END_USER_SIP_URI", { .i32 = 2 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
777 struct dict_enumval_data t_4 = { "END_USER_NAI", { .i32 = 3 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
778
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
779 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
780 450, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
781 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
782 "Subscription-Id-Type", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
783 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
784 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
785 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
786 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
787 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
788 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
789 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
790 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
791 CHECK_dict_new( DICT_ENUMVAL, &t_3 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
792 CHECK_dict_new( DICT_ENUMVAL, &t_4 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
793 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
794 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
795
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
796 /* Tariff-Change-Usage */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
797 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
798 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
799 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
800 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
801
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
802 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
803 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Tariff-Change-Usage)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
804 struct dict_enumval_data t_1 = { "UNIT_BEFORE_TARIFF_CHANGE", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
805 struct dict_enumval_data t_2 = { "UNIT_AFTER_TARIFF_CHANGE", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
806 struct dict_enumval_data t_3 = { "UNIT_INDETERMINATE", { .i32 = 2 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
807
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
808 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
809 452, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
810 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
811 "Tariff-Change-Usage", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
812 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
813 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
814 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
815 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
816 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
817 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
818 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
819 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
820 CHECK_dict_new( DICT_ENUMVAL, &t_3 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
821 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
822 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
823
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
824 /* Tariff-Time-Change */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
825 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
826 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
827 Time.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
828 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
829 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
830 451, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
831 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
832 "Tariff-Time-Change", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
833 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
834 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
835 AVP_TYPE_OCTETSTRING /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
836 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
837 CHECK_dict_new( DICT_AVP, &data , Time_type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
838 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
839
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
840 /* User-Equipment-Info-Type */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
841 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
842 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
843 Enumerated.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
844 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
845
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
846 struct dict_object *type;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
847 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(User-Equipment-Info-Type)" , NULL, NULL, NULL };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
848 struct dict_enumval_data t_1 = { "IMEISV", { .i32 = 0 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
849 struct dict_enumval_data t_2 = { "MAC", { .i32 = 1 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
850 struct dict_enumval_data t_3 = { "EUI64", { .i32 = 2 }};
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
851
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
852 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
853 459, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
854 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
855 "User-Equipment-Info-Type", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
856 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
857 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
858 AVP_TYPE_INTEGER32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
859 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
860 /* Create the Enumerated type, and then the AVP */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
861 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
862 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
863 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
864 CHECK_dict_new( DICT_ENUMVAL, &t_3 , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
865 CHECK_dict_new( DICT_AVP, &data , type, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
866 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
867
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
868 /* User-Equipment-Info-Value */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
869 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
870 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
871 OctetString.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
872 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
873 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
874 460, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
875 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
876 "User-Equipment-Info-Value", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
877 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
878 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
879 AVP_TYPE_OCTETSTRING /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
880 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
881 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
882 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
883
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
884 /* Value-Digits */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
885 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
886 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
887 Integer64.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
888 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
889 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
890 447, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
891 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
892 "Value-Digits", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
893 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
894 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
895 AVP_TYPE_INTEGER64 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
896 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
897 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
898 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
899
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
900 /* Validity-Time */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
901 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
902 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
903 Unsigned32.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
904 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
905 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
906 448, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
907 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
908 "Validity-Time", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
909 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
910 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
911 AVP_TYPE_UNSIGNED32 /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
912 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
913 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
914 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
915
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
916
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
917 /* Grouped AVPs below since they have dependencies on types above */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
918
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
919 /* Redirect-Server */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
920 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
921 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
922 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
923 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
924 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
925 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
926 434, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
927 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
928 "Redirect-Server", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
929 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
930 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
931 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
932 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
933 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
934 { "Redirect-Address-Type", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
935 { "Redirect-Server-Address", RULE_REQUIRED, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
936 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
937 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
938 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
939 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
940
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
941 /* Service-Parameter-Info */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
942 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
943 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
944 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
945 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
946 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
947 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
948 440, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
949 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
950 "Service-Parameter-Info", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
951 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
952 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
953 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
954 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
955 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
956 { "Service-Parameter-Type", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
957 { "Service-Parameter-Value", RULE_REQUIRED, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
958 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
959 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
960 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
961 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
962
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
963 /* Subscription-Id */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
964 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
965 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
966 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
967 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
968 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
969 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
970 443, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
971 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
972 "Subscription-Id", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
973 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
974 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
975 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
976 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
977 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
978 { "Subscription-Id-Type", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
979 { "Subscription-Id-Data", RULE_REQUIRED, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
980 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
981 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
982 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
983 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
984
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
985 /* Unit-Value */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
986 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
987 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
988 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
989 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
990 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
991 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
992 445, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
993 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
994 "Unit-Value", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
995 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
996 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
997 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
998 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
999 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1000 { "Value-Digits", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1001 { "Exponent", RULE_OPTIONAL, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1002 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1003 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1004 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1005 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1006
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1007 /* User-Equipment-Info */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1008 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1009 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1010 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1011 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1012 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1013 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1014 458, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1015 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1016 "User-Equipment-Info", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1017 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1018 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1019 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1020 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1021 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1022 { "User-Equipment-Info-Type", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1023 { "User-Equipment-Info-Value", RULE_REQUIRED, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1024 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1025 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1026 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1027 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1028
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1029 /* grouped AVPs using grouped AVPs */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1030
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1031 /* CC-Money */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1032 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1033 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1034 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1035 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1036 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1037 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1038 413, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1039 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1040 "CC-Money", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1041 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1042 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1043 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1044 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1045 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1046 { "Unit-Value", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1047 { "Currency-Code", RULE_OPTIONAL, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1048 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1049 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1050 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1051 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1052
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1053 /* Cost-Information */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1054 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1055 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1056 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1057 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1058 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1059 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1060 423, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1061 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1062 "Cost-Information", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1063 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1064 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1065 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1066 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1067 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1068 { "Unit-Value", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1069 { "Currency-Code", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1070 { "Cost-Unit", RULE_OPTIONAL, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1071 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1072 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1073 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1074 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1075
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1076 /* Final-Unit-Indication */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1077 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1078 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1079 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1080 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1081 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1082 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1083 430, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1084 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1085 "Final-Unit-Indication", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1086 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1087 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1088 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1089 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1090 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1091 { "Final-Unit-Action", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1092 { "Restriction-Filter-Rule", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1093 { "Filter-Id", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1094 { "Redirect-Server", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1095 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1096 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1097 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1098 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1099
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1100 /* Granted-Service-Unit */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1101 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1102 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1103 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1104 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1105 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1106 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1107 431, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1108 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1109 "Granted-Service-Unit", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1110 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1111 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1112 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1113 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1114 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1115 { "Tariff-Time-Change", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1116 { "CC-Time", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1117 { "CC-Money", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1118 { "CC-Total-Octets", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1119 { "CC-Input-Octets", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1120 { "CC-Output-Octets", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1121 { "CC-Service-Specific-Units", RULE_OPTIONAL, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1122 /* plus any additional AVPs { "AVP", RULE_OPTIONAL, -1, -1 } */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1123 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1124 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1125 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1126 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1127
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1128 /* G-S-U-Pool-Reference */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1129 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1130 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1131 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1132 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1133 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1134 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1135 457, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1136 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1137 "G-S-U-Pool-Reference", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1138 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1139 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1140 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1141 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1142 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1143 { "G-S-U-Pool-Identifier", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1144 { "CC-Unit-Type", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1145 { "Unit-Value", RULE_REQUIRED, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1146 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1147 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1148 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1149 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1150
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1151 /* Requested-Service-Unit */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1152 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1153 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1154 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1155 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1156 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1157 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1158 437, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1159 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1160 "Requested-Service-Unit", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1161 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1162 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1163 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1164 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1165 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1166 { "CC-Time", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1167 { "CC-Money", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1168 { "CC-Total-Octets", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1169 { "CC-Input-Octets", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1170 { "CC-Output-Octets", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1171 { "CC-Service-Specific-Units", RULE_OPTIONAL, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1172 /* plus any additional AVPs { "AVP", RULE_OPTIONAL, -1, -1 } */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1173 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1174 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1175 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1176 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1177
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1178 /* Used-Service-Unit */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1179 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1180 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1181 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1182 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1183 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1184 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1185 446, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1186 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1187 "Used-Service-Unit", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1188 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1189 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1190 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1191 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1192 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1193 { "Tariff-Change-Usage", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1194 { "CC-Time", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1195 { "CC-Money", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1196 { "CC-Total-Octets", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1197 { "CC-Input-Octets", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1198 { "CC-Output-Octets", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1199 { "CC-Service-Specific-Units", RULE_OPTIONAL, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1200 /* plus any additional AVPs { "AVP", RULE_OPTIONAL, -1, -1 } */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1201 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1202 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1203 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1204 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1205
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1206 /* at least three levels of grouping */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1207 /* Multiple-Services-Credit-Control */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1208 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1209 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1210 Grouped
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1211 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1212 struct dict_object * avp;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1213 struct dict_avp_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1214 456, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1215 0, /* Vendor */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1216 "Multiple-Services-Credit-Control", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1217 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1218 AVP_FLAG_MANDATORY, /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1219 AVP_TYPE_GROUPED /* base type of data */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1220 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1221 struct local_rules_definition rules[] = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1222 { "Granted-Service-Unit", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1223 { "Requested-Service-Unit", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1224 { "Used-Service-Unit", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1225 { "Tariff-Change-Usage", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1226 { "Service-Identifier", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1227 { "Rating-Group", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1228 { "G-S-U-Pool-Reference", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1229 { "Validity-Time", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1230 { "Result-Code", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1231 { "Final-Unit-Indication", RULE_OPTIONAL, -1, 1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1232 /* plus any additional AVPs { "AVP", RULE_OPTIONAL, -1, -1 } */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1233 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1234 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1235 PARSE_loc_rules( rules, avp );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1236 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1237
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1238
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1239 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1240
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1241
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1242 /* Commands section */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1243 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1244 /* Credit-Control-Request (CCR) Command */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1245 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1246 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1247 From RFC 4006:
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1248
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1249 3.1. Credit-Control-Request (CCR) Command
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1250
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1251 The Credit-Control-Request message (CCR) is indicated by the
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1252 command-code field being set to 272 and the 'R' bit being set in the
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1253 Command Flags field. It is used between the Diameter credit-control
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1254 client and the credit-control server to request credit authorization
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1255 for a given service.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1256
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1257 The Auth-Application-Id MUST be set to the value 4, indicating the
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1258 Diameter credit-control application.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1259
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1260 Message Format
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1261
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1262 <Credit-Control-Request> ::= < Diameter Header: 272, REQ, PXY >
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1263 < Session-Id >
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1264 { Origin-Host }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1265 { Origin-Realm }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1266 { Destination-Realm }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1267 { Auth-Application-Id }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1268 { Service-Context-Id }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1269 { CC-Request-Type }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1270 { CC-Request-Number }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1271 [ Destination-Host ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1272 [ User-Name ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1273 [ CC-Sub-Session-Id ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1274 [ Acct-Multi-Session-Id ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1275 [ Origin-State-Id ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1276 [ Event-Timestamp ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1277 *[ Subscription-Id ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1278 [ Service-Identifier ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1279 [ Termination-Cause ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1280 [ Requested-Service-Unit ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1281 [ Requested-Action ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1282 *[ Used-Service-Unit ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1283 [ Multiple-Services-Indicator ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1284 *[ Multiple-Services-Credit-Control ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1285 *[ Service-Parameter-Info ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1286 [ CC-Correlation-Id ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1287 [ User-Equipment-Info ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1288 *[ Proxy-Info ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1289 *[ Route-Record ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1290 *[ AVP ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1291
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1292 10.1. Credit-Control AVP Table
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1293
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1294 The table in this section is used to represent which credit-control
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1295 applications specific AVPs defined in this document are to be present
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1296 in the credit-control messages.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1297
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1298 +-----------+
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1299 | Command |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1300 | Code |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1301 |-----+-----+
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1302 Attribute Name | CCR | CCA |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1303 ------------------------------|-----+-----+
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1304 Acct-Multi-Session-Id | 0-1 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1305 Auth-Application-Id | 1 | 1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1306 CC-Correlation-Id | 0-1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1307 CC-Session-Failover | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1308 CC-Request-Number | 1 | 1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1309 CC-Request-Type | 1 | 1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1310 CC-Sub-Session-Id | 0-1 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1311 Check-Balance-Result | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1312 Cost-Information | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1313 Credit-Control-Failure- | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1314 Handling | | |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1315 Destination-Host | 0-1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1316 Destination-Realm | 1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1317 Direct-Debiting-Failure- | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1318 Handling | | |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1319 Event-Timestamp | 0-1 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1320 Failed-AVP | 0 | 0+ |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1321 Final-Unit-Indication | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1322 Granted-Service-Unit | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1323 Multiple-Services-Credit- | 0+ | 0+ |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1324 Control | | |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1325 Multiple-Services-Indicator | 0-1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1326 Origin-Host | 1 | 1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1327 Origin-Realm | 1 | 1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1328 Origin-State-Id | 0-1 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1329 Proxy-Info | 0+ | 0+ |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1330 Redirect-Host | 0 | 0+ |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1331 Redirect-Host-Usage | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1332 Redirect-Max-Cache-Time | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1333 Requested-Action | 0-1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1334 Requested-Service-Unit | 0-1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1335 Route-Record | 0+ | 0+ |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1336 Result-Code | 0 | 1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1337 Service-Context-Id | 1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1338 Service-Identifier | 0-1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1339 Service-Parameter-Info | 0+ | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1340 Session-Id | 1 | 1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1341 Subscription-Id | 0+ | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1342 Termination-Cause | 0-1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1343 User-Equipment-Info | 0-1 | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1344 Used-Service-Unit | 0+ | 0 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1345 User-Name | 0-1 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1346 Validity-Time | 0 | 0-1 |
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1347 ------------------------------|-----+-----+
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1348
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1349
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1350 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1351 struct dict_object * cmd;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1352 struct dict_cmd_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1353 272, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1354 "Credit-Control-Request", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1355 CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1356 CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1357 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1358 struct local_rules_definition rules[] =
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1359 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1360 { "Session-Id", RULE_FIXED_HEAD, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1361 { "Origin-Host", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1362 { "Origin-Realm", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1363 { "Destination-Realm", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1364 { "Auth-Application-Id", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1365 { "Service-Context-Id", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1366 { "CC-Request-Type", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1367 { "CC-Request-Number", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1368 { "Destination-Host", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1369 { "User-Name", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1370 { "CC-Sub-Session-Id", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1371 { "Acct-Multi-Session-Id", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1372 { "Origin-State-Id", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1373 { "Event-Timestamp", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1374 { "Subscription-Id", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1375 { "Service-Identifier", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1376 { "Termination-Cause", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1377 { "Requested-Service-Unit", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1378 { "Requested-Action", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1379 { "Used-Service-Unit", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1380 { "Multiple-Services-Indicator", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1381 { "Multiple-Services-Credit-Control", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1382 { "Service-Parameter-Info", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1383 { "CC-Correlation-Id", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1384 { "User-Equipment-Info", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1385 { "Proxy-Info", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1386 { "Route-Record", RULE_OPTIONAL, -1, -1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1387 /* plus any additional AVPs { "AVP", RULE_OPTIONAL, -1, -1 } */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1388 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1389
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1390 CHECK_dict_new( DICT_COMMAND, &data, dcca, &cmd);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1391 PARSE_loc_rules( rules, cmd );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1392 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1393
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1394 /* Credit-Control-Answer (CCA) Command */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1395 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1396 /*
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1397 From RFC 4006:
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1398 3.2. Credit-Control-Answer (CCA) Command
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1399
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1400 The Credit-Control-Answer message (CCA) is indicated by the command-
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1401 code field being set to 272 and the 'R' bit being cleared in the
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1402 Command Flags field. It is used between the credit-control server
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1403 and the Diameter credit-control client to acknowledge a Credit-
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1404 Control-Request command.
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1405
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1406 Message Format
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1407
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1408 <Credit-Control-Answer> ::= < Diameter Header: 272, PXY >
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1409 < Session-Id >
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1410 { Result-Code }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1411 { Origin-Host }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1412 { Origin-Realm }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1413 { Auth-Application-Id }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1414 { CC-Request-Type }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1415 { CC-Request-Number }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1416 [ User-Name ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1417 [ CC-Session-Failover ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1418 [ CC-Sub-Session-Id ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1419 [ Acct-Multi-Session-Id ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1420 [ Origin-State-Id ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1421 [ Event-Timestamp ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1422 [ Granted-Service-Unit ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1423 *[ Multiple-Services-Credit-Control ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1424 [ Cost-Information]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1425 [ Final-Unit-Indication ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1426 [ Check-Balance-Result ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1427 [ Credit-Control-Failure-Handling ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1428 [ Direct-Debiting-Failure-Handling ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1429 [ Validity-Time]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1430 *[ Redirect-Host]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1431 [ Redirect-Host-Usage ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1432 [ Redirect-Max-Cache-Time ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1433 *[ Proxy-Info ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1434 *[ Route-Record ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1435 *[ Failed-AVP ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1436 *[ AVP ]
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1437
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1438 */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1439 struct dict_object * cmd;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1440 struct dict_cmd_data data = {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1441 272, /* Code */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1442 "Credit-Control-Answer", /* Name */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1443 CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, /* Fixed flags */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1444 CMD_FLAG_PROXIABLE /* Fixed flag values */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1445 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1446 struct local_rules_definition rules[] =
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1447 {
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1448 { "Session-Id", RULE_FIXED_HEAD, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1449 { "Result-Code", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1450 { "Origin-Host", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1451 { "Origin-Realm", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1452 { "Auth-Application-Id", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1453 { "CC-Request-Type", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1454 { "CC-Request-Number", RULE_REQUIRED, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1455 { "User-Name", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1456 { "CC-Session-Failover", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1457 { "CC-Sub-Session-Id", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1458 { "Acct-Multi-Session-Id", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1459 { "Origin-State-Id", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1460 { "Event-Timestamp", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1461 { "Granted-Service-Unit", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1462 { "Multiple-Services-Credit-Control", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1463 { "Cost-Information", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1464 { "Final-Unit-Indication", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1465 { "Check-Balance-Result", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1466 { "Credit-Control-Failure-Handling", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1467 { "Direct-Debiting-Failure-Handling", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1468 { "Validity-Time", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1469 { "Redirect-Host", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1470 { "Redirect-Host-Usage", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1471 { "Redirect-Max-Cache-Time", RULE_OPTIONAL, -1, 1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1472 { "Proxy-Info", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1473 { "Route-Record", RULE_OPTIONAL, -1, -1 },
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1474 { "Failed-AVP", RULE_OPTIONAL, -1, -1 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1475 /* plus any additional AVPs { "AVP", RULE_OPTIONAL, -1, -1 } */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1476 };
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1477
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1478 CHECK_dict_new( DICT_COMMAND, &data, dcca, &cmd);
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1479 PARSE_loc_rules( rules, cmd );
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1480 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1481 }
1120
c473581adff2 Cleanup some traces
Sebastien Decugis <sdecugis@freediameter.net>
parents: 885
diff changeset
1482 LOG_D( "Extension 'Dictionary definitions for DCCA (rfc4006)' initialized");
885
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1483 return 0;
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1484 }
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1485
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1486 /* needs dict_nasreq for Filter-Id */
b7002bcc92a5 Converted to UNIX line ending
Sebastien Decugis <sdecugis@freediameter.net>
parents: 884
diff changeset
1487 EXTENSION_ENTRY("dict_dcca", dict_dcca_entry, "dict_nasreq");
"Welcome to our mercurial repository"