blob: 1300ecdfdbf7b3305dad78303c2109fdb2d74074 [file] [log] [blame]
Harald Weltec83d2fe2019-08-10 22:08:54 +02001%% -------------------------------------------------------------------
2%% This is a generated file.
3%% -------------------------------------------------------------------
4
5-module(diameter_rfc6942).
6
7-compile({parse_transform, diameter_exprecs}).
8
9-compile(nowarn_unused_function).
10
11-export_records(['ERP-RK-Request', 'Proxy-Info',
12 'Failed-AVP', 'Experimental-Result',
13 'Vendor-Specific-Application-Id']).
14
15-record('ERP-RK-Request', {'ERP-Realm', 'AVP' = []}).
16
17-record('Proxy-Info',
18 {'Proxy-Host', 'Proxy-State', 'AVP' = []}).
19
20-record('Failed-AVP', {'AVP' = []}).
21
22-record('Experimental-Result',
23 {'Vendor-Id', 'Experimental-Result-Code'}).
24
25-record('Vendor-Specific-Application-Id',
26 {'Vendor-Id', 'Auth-Application-Id' = [],
27 'Acct-Application-Id' = []}).
28
29-export([name/0, id/0, vendor_id/0, vendor_name/0,
30 decode_avps/3, encode_avps/3, grouped_avp/4, msg_name/2,
31 msg_header/1, rec2msg/1, msg2rec/1, name2rec/1,
32 avp_name/2, avp_arity/1, avp_arity/2, avp_header/1,
33 avp/4, enumerated_avp/3, empty_value/2, dict/0]).
34
35-include_lib("diameter/include/diameter.hrl").
36
37-include_lib("diameter/include/diameter_gen.hrl").
38
39name() -> diameter_rfc6942.
40
41id() -> 1.
42
43vendor_id() -> erlang:error(undefined).
44
45vendor_name() -> erlang:error(undefined).
46
47msg_name(_, _) -> ''.
48
49msg_header(_) -> erlang:error(badarg).
50
51rec2msg(_) -> erlang:error(badarg).
52
53msg2rec(_) -> erlang:error(badarg).
54
55name2rec('ERP-RK-Request') -> 'ERP-RK-Request';
56name2rec('Proxy-Info') -> 'Proxy-Info';
57name2rec('Failed-AVP') -> 'Failed-AVP';
58name2rec('Experimental-Result') ->
59 'Experimental-Result';
60name2rec('Vendor-Specific-Application-Id') ->
61 'Vendor-Specific-Application-Id';
62name2rec(T) -> msg2rec(T).
63
64avp_name(618, undefined) ->
65 {'ERP-RK-Request', 'Grouped'};
66avp_name(619, undefined) ->
67 {'ERP-Realm', 'DiameterIdentity'};
68avp_name(483, undefined) ->
69 {'Accounting-Realtime-Required', 'Enumerated'};
70avp_name(485, undefined) ->
71 {'Accounting-Record-Number', 'Unsigned32'};
72avp_name(480, undefined) ->
73 {'Accounting-Record-Type', 'Enumerated'};
74avp_name(287, undefined) ->
75 {'Accounting-Sub-Session-Id', 'Unsigned64'};
76avp_name(259, undefined) ->
77 {'Acct-Application-Id', 'Unsigned32'};
78avp_name(85, undefined) ->
79 {'Acct-Interim-Interval', 'Unsigned32'};
80avp_name(50, undefined) ->
81 {'Acct-Multi-Session-Id', 'UTF8String'};
82avp_name(44, undefined) ->
83 {'Acct-Session-Id', 'OctetString'};
84avp_name(258, undefined) ->
85 {'Auth-Application-Id', 'Unsigned32'};
86avp_name(276, undefined) ->
87 {'Auth-Grace-Period', 'Unsigned32'};
88avp_name(274, undefined) ->
89 {'Auth-Request-Type', 'Enumerated'};
90avp_name(277, undefined) ->
91 {'Auth-Session-State', 'Enumerated'};
92avp_name(291, undefined) ->
93 {'Authorization-Lifetime', 'Unsigned32'};
94avp_name(25, undefined) -> {'Class', 'OctetString'};
95avp_name(293, undefined) ->
96 {'Destination-Host', 'DiameterIdentity'};
97avp_name(283, undefined) ->
98 {'Destination-Realm', 'DiameterIdentity'};
99avp_name(273, undefined) ->
100 {'Disconnect-Cause', 'Enumerated'};
101avp_name(281, undefined) ->
102 {'Error-Message', 'UTF8String'};
103avp_name(294, undefined) ->
104 {'Error-Reporting-Host', 'DiameterIdentity'};
105avp_name(55, undefined) -> {'Event-Timestamp', 'Time'};
106avp_name(297, undefined) ->
107 {'Experimental-Result', 'Grouped'};
108avp_name(298, undefined) ->
109 {'Experimental-Result-Code', 'Unsigned32'};
110avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'};
111avp_name(267, undefined) ->
112 {'Firmware-Revision', 'Unsigned32'};
113avp_name(257, undefined) ->
114 {'Host-IP-Address', 'Address'};
115avp_name(299, undefined) ->
116 {'Inband-Security-Id', 'Unsigned32'};
117avp_name(272, undefined) ->
118 {'Multi-Round-Time-Out', 'Unsigned32'};
119avp_name(264, undefined) ->
120 {'Origin-Host', 'DiameterIdentity'};
121avp_name(296, undefined) ->
122 {'Origin-Realm', 'DiameterIdentity'};
123avp_name(278, undefined) ->
124 {'Origin-State-Id', 'Unsigned32'};
125avp_name(269, undefined) ->
126 {'Product-Name', 'UTF8String'};
127avp_name(280, undefined) ->
128 {'Proxy-Host', 'DiameterIdentity'};
129avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'};
130avp_name(33, undefined) ->
131 {'Proxy-State', 'OctetString'};
132avp_name(285, undefined) ->
133 {'Re-Auth-Request-Type', 'Enumerated'};
134avp_name(292, undefined) ->
135 {'Redirect-Host', 'DiameterURI'};
136avp_name(261, undefined) ->
137 {'Redirect-Host-Usage', 'Enumerated'};
138avp_name(262, undefined) ->
139 {'Redirect-Max-Cache-Time', 'Unsigned32'};
140avp_name(268, undefined) ->
141 {'Result-Code', 'Unsigned32'};
142avp_name(282, undefined) ->
143 {'Route-Record', 'DiameterIdentity'};
144avp_name(270, undefined) ->
145 {'Session-Binding', 'Unsigned32'};
146avp_name(263, undefined) ->
147 {'Session-Id', 'UTF8String'};
148avp_name(271, undefined) ->
149 {'Session-Server-Failover', 'Enumerated'};
150avp_name(27, undefined) ->
151 {'Session-Timeout', 'Unsigned32'};
152avp_name(265, undefined) ->
153 {'Supported-Vendor-Id', 'Unsigned32'};
154avp_name(295, undefined) ->
155 {'Termination-Cause', 'Enumerated'};
156avp_name(1, undefined) -> {'User-Name', 'UTF8String'};
157avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'};
158avp_name(260, undefined) ->
159 {'Vendor-Specific-Application-Id', 'Grouped'};
160avp_name(_, _) -> 'AVP'.
161
162avp_arity('ERP-RK-Request') ->
163 [{'ERP-Realm', 1}, {'AVP', {0, '*'}}];
164avp_arity('Proxy-Info') ->
165 [{'Proxy-Host', 1}, {'Proxy-State', 1},
166 {'AVP', {0, '*'}}];
167avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}];
168avp_arity('Experimental-Result') ->
169 [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}];
170avp_arity('Vendor-Specific-Application-Id') ->
171 [{'Vendor-Id', 1}, {'Auth-Application-Id', {0, 1}},
172 {'Acct-Application-Id', {0, 1}}];
173avp_arity(_) -> erlang:error(badarg).
174
175avp_arity('ERP-RK-Request', 'ERP-Realm') -> 1;
176avp_arity('ERP-RK-Request', 'AVP') -> {0, '*'};
177avp_arity('Proxy-Info', 'Proxy-Host') -> 1;
178avp_arity('Proxy-Info', 'Proxy-State') -> 1;
179avp_arity('Proxy-Info', 'AVP') -> {0, '*'};
180avp_arity('Failed-AVP', 'AVP') -> {1, '*'};
181avp_arity('Experimental-Result', 'Vendor-Id') -> 1;
182avp_arity('Experimental-Result',
183 'Experimental-Result-Code') ->
184 1;
185avp_arity('Vendor-Specific-Application-Id',
186 'Vendor-Id') ->
187 1;
188avp_arity('Vendor-Specific-Application-Id',
189 'Auth-Application-Id') ->
190 {0, 1};
191avp_arity('Vendor-Specific-Application-Id',
192 'Acct-Application-Id') ->
193 {0, 1};
194avp_arity(_, _) -> 0.
195
196avp_header('ERP-RK-Request') -> {618, 0, undefined};
197avp_header('ERP-Realm') -> {619, 0, undefined};
198avp_header('Accounting-Realtime-Required') ->
199 diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required');
200avp_header('Accounting-Record-Number') ->
201 diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number');
202avp_header('Accounting-Record-Type') ->
203 diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type');
204avp_header('Accounting-Sub-Session-Id') ->
205 diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id');
206avp_header('Acct-Application-Id') ->
207 diameter_gen_base_rfc6733:avp_header('Acct-Application-Id');
208avp_header('Acct-Interim-Interval') ->
209 diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval');
210avp_header('Acct-Multi-Session-Id') ->
211 diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id');
212avp_header('Acct-Session-Id') ->
213 diameter_gen_base_rfc6733:avp_header('Acct-Session-Id');
214avp_header('Auth-Application-Id') ->
215 diameter_gen_base_rfc6733:avp_header('Auth-Application-Id');
216avp_header('Auth-Grace-Period') ->
217 diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period');
218avp_header('Auth-Request-Type') ->
219 diameter_gen_base_rfc6733:avp_header('Auth-Request-Type');
220avp_header('Auth-Session-State') ->
221 diameter_gen_base_rfc6733:avp_header('Auth-Session-State');
222avp_header('Authorization-Lifetime') ->
223 diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime');
224avp_header('Class') ->
225 diameter_gen_base_rfc6733:avp_header('Class');
226avp_header('Destination-Host') ->
227 diameter_gen_base_rfc6733:avp_header('Destination-Host');
228avp_header('Destination-Realm') ->
229 diameter_gen_base_rfc6733:avp_header('Destination-Realm');
230avp_header('Disconnect-Cause') ->
231 diameter_gen_base_rfc6733:avp_header('Disconnect-Cause');
232avp_header('Error-Message') ->
233 diameter_gen_base_rfc6733:avp_header('Error-Message');
234avp_header('Error-Reporting-Host') ->
235 diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host');
236avp_header('Event-Timestamp') ->
237 diameter_gen_base_rfc6733:avp_header('Event-Timestamp');
238avp_header('Experimental-Result') ->
239 diameter_gen_base_rfc6733:avp_header('Experimental-Result');
240avp_header('Experimental-Result-Code') ->
241 diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code');
242avp_header('Failed-AVP') ->
243 diameter_gen_base_rfc6733:avp_header('Failed-AVP');
244avp_header('Firmware-Revision') ->
245 diameter_gen_base_rfc6733:avp_header('Firmware-Revision');
246avp_header('Host-IP-Address') ->
247 diameter_gen_base_rfc6733:avp_header('Host-IP-Address');
248avp_header('Inband-Security-Id') ->
249 diameter_gen_base_rfc6733:avp_header('Inband-Security-Id');
250avp_header('Multi-Round-Time-Out') ->
251 diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out');
252avp_header('Origin-Host') ->
253 diameter_gen_base_rfc6733:avp_header('Origin-Host');
254avp_header('Origin-Realm') ->
255 diameter_gen_base_rfc6733:avp_header('Origin-Realm');
256avp_header('Origin-State-Id') ->
257 diameter_gen_base_rfc6733:avp_header('Origin-State-Id');
258avp_header('Product-Name') ->
259 diameter_gen_base_rfc6733:avp_header('Product-Name');
260avp_header('Proxy-Host') ->
261 diameter_gen_base_rfc6733:avp_header('Proxy-Host');
262avp_header('Proxy-Info') ->
263 diameter_gen_base_rfc6733:avp_header('Proxy-Info');
264avp_header('Proxy-State') ->
265 diameter_gen_base_rfc6733:avp_header('Proxy-State');
266avp_header('Re-Auth-Request-Type') ->
267 diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type');
268avp_header('Redirect-Host') ->
269 diameter_gen_base_rfc6733:avp_header('Redirect-Host');
270avp_header('Redirect-Host-Usage') ->
271 diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage');
272avp_header('Redirect-Max-Cache-Time') ->
273 diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time');
274avp_header('Result-Code') ->
275 diameter_gen_base_rfc6733:avp_header('Result-Code');
276avp_header('Route-Record') ->
277 diameter_gen_base_rfc6733:avp_header('Route-Record');
278avp_header('Session-Binding') ->
279 diameter_gen_base_rfc6733:avp_header('Session-Binding');
280avp_header('Session-Id') ->
281 diameter_gen_base_rfc6733:avp_header('Session-Id');
282avp_header('Session-Server-Failover') ->
283 diameter_gen_base_rfc6733:avp_header('Session-Server-Failover');
284avp_header('Session-Timeout') ->
285 diameter_gen_base_rfc6733:avp_header('Session-Timeout');
286avp_header('Supported-Vendor-Id') ->
287 diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id');
288avp_header('Termination-Cause') ->
289 diameter_gen_base_rfc6733:avp_header('Termination-Cause');
290avp_header('User-Name') ->
291 diameter_gen_base_rfc6733:avp_header('User-Name');
292avp_header('Vendor-Id') ->
293 diameter_gen_base_rfc6733:avp_header('Vendor-Id');
294avp_header('Vendor-Specific-Application-Id') ->
295 diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id');
296avp_header(_) -> erlang:error(badarg).
297
298avp(T, Data, 'ERP-RK-Request', Opts) ->
299 grouped_avp(T, 'ERP-RK-Request', Data, Opts);
300avp(T, Data, 'ERP-Realm', Opts) ->
301 diameter_types:'DiameterIdentity'(T, Data, Opts);
302avp(T, Data, 'Accounting-Realtime-Required', Opts) ->
303 avp(T, Data, 'Accounting-Realtime-Required', Opts,
304 diameter_gen_base_rfc6733);
305avp(T, Data, 'Accounting-Record-Number', Opts) ->
306 avp(T, Data, 'Accounting-Record-Number', Opts,
307 diameter_gen_base_rfc6733);
308avp(T, Data, 'Accounting-Record-Type', Opts) ->
309 avp(T, Data, 'Accounting-Record-Type', Opts,
310 diameter_gen_base_rfc6733);
311avp(T, Data, 'Accounting-Sub-Session-Id', Opts) ->
312 avp(T, Data, 'Accounting-Sub-Session-Id', Opts,
313 diameter_gen_base_rfc6733);
314avp(T, Data, 'Acct-Application-Id', Opts) ->
315 avp(T, Data, 'Acct-Application-Id', Opts,
316 diameter_gen_base_rfc6733);
317avp(T, Data, 'Acct-Interim-Interval', Opts) ->
318 avp(T, Data, 'Acct-Interim-Interval', Opts,
319 diameter_gen_base_rfc6733);
320avp(T, Data, 'Acct-Multi-Session-Id', Opts) ->
321 avp(T, Data, 'Acct-Multi-Session-Id', Opts,
322 diameter_gen_base_rfc6733);
323avp(T, Data, 'Acct-Session-Id', Opts) ->
324 avp(T, Data, 'Acct-Session-Id', Opts,
325 diameter_gen_base_rfc6733);
326avp(T, Data, 'Auth-Application-Id', Opts) ->
327 avp(T, Data, 'Auth-Application-Id', Opts,
328 diameter_gen_base_rfc6733);
329avp(T, Data, 'Auth-Grace-Period', Opts) ->
330 avp(T, Data, 'Auth-Grace-Period', Opts,
331 diameter_gen_base_rfc6733);
332avp(T, Data, 'Auth-Request-Type', Opts) ->
333 avp(T, Data, 'Auth-Request-Type', Opts,
334 diameter_gen_base_rfc6733);
335avp(T, Data, 'Auth-Session-State', Opts) ->
336 avp(T, Data, 'Auth-Session-State', Opts,
337 diameter_gen_base_rfc6733);
338avp(T, Data, 'Authorization-Lifetime', Opts) ->
339 avp(T, Data, 'Authorization-Lifetime', Opts,
340 diameter_gen_base_rfc6733);
341avp(T, Data, 'Class', Opts) ->
342 avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733);
343avp(T, Data, 'Destination-Host', Opts) ->
344 avp(T, Data, 'Destination-Host', Opts,
345 diameter_gen_base_rfc6733);
346avp(T, Data, 'Destination-Realm', Opts) ->
347 avp(T, Data, 'Destination-Realm', Opts,
348 diameter_gen_base_rfc6733);
349avp(T, Data, 'Disconnect-Cause', Opts) ->
350 avp(T, Data, 'Disconnect-Cause', Opts,
351 diameter_gen_base_rfc6733);
352avp(T, Data, 'Error-Message', Opts) ->
353 avp(T, Data, 'Error-Message', Opts,
354 diameter_gen_base_rfc6733);
355avp(T, Data, 'Error-Reporting-Host', Opts) ->
356 avp(T, Data, 'Error-Reporting-Host', Opts,
357 diameter_gen_base_rfc6733);
358avp(T, Data, 'Event-Timestamp', Opts) ->
359 avp(T, Data, 'Event-Timestamp', Opts,
360 diameter_gen_base_rfc6733);
361avp(T, Data, 'Experimental-Result', Opts) ->
362 grouped_avp(T, 'Experimental-Result', Data, Opts);
363avp(T, Data, 'Experimental-Result-Code', Opts) ->
364 avp(T, Data, 'Experimental-Result-Code', Opts,
365 diameter_gen_base_rfc6733);
366avp(T, Data, 'Failed-AVP', Opts) ->
367 grouped_avp(T, 'Failed-AVP', Data, Opts);
368avp(T, Data, 'Firmware-Revision', Opts) ->
369 avp(T, Data, 'Firmware-Revision', Opts,
370 diameter_gen_base_rfc6733);
371avp(T, Data, 'Host-IP-Address', Opts) ->
372 avp(T, Data, 'Host-IP-Address', Opts,
373 diameter_gen_base_rfc6733);
374avp(T, Data, 'Inband-Security-Id', Opts) ->
375 avp(T, Data, 'Inband-Security-Id', Opts,
376 diameter_gen_base_rfc6733);
377avp(T, Data, 'Multi-Round-Time-Out', Opts) ->
378 avp(T, Data, 'Multi-Round-Time-Out', Opts,
379 diameter_gen_base_rfc6733);
380avp(T, Data, 'Origin-Host', Opts) ->
381 avp(T, Data, 'Origin-Host', Opts,
382 diameter_gen_base_rfc6733);
383avp(T, Data, 'Origin-Realm', Opts) ->
384 avp(T, Data, 'Origin-Realm', Opts,
385 diameter_gen_base_rfc6733);
386avp(T, Data, 'Origin-State-Id', Opts) ->
387 avp(T, Data, 'Origin-State-Id', Opts,
388 diameter_gen_base_rfc6733);
389avp(T, Data, 'Product-Name', Opts) ->
390 avp(T, Data, 'Product-Name', Opts,
391 diameter_gen_base_rfc6733);
392avp(T, Data, 'Proxy-Host', Opts) ->
393 avp(T, Data, 'Proxy-Host', Opts,
394 diameter_gen_base_rfc6733);
395avp(T, Data, 'Proxy-Info', Opts) ->
396 grouped_avp(T, 'Proxy-Info', Data, Opts);
397avp(T, Data, 'Proxy-State', Opts) ->
398 avp(T, Data, 'Proxy-State', Opts,
399 diameter_gen_base_rfc6733);
400avp(T, Data, 'Re-Auth-Request-Type', Opts) ->
401 avp(T, Data, 'Re-Auth-Request-Type', Opts,
402 diameter_gen_base_rfc6733);
403avp(T, Data, 'Redirect-Host', Opts) ->
404 avp(T, Data, 'Redirect-Host', Opts,
405 diameter_gen_base_rfc6733);
406avp(T, Data, 'Redirect-Host-Usage', Opts) ->
407 avp(T, Data, 'Redirect-Host-Usage', Opts,
408 diameter_gen_base_rfc6733);
409avp(T, Data, 'Redirect-Max-Cache-Time', Opts) ->
410 avp(T, Data, 'Redirect-Max-Cache-Time', Opts,
411 diameter_gen_base_rfc6733);
412avp(T, Data, 'Result-Code', Opts) ->
413 avp(T, Data, 'Result-Code', Opts,
414 diameter_gen_base_rfc6733);
415avp(T, Data, 'Route-Record', Opts) ->
416 avp(T, Data, 'Route-Record', Opts,
417 diameter_gen_base_rfc6733);
418avp(T, Data, 'Session-Binding', Opts) ->
419 avp(T, Data, 'Session-Binding', Opts,
420 diameter_gen_base_rfc6733);
421avp(T, Data, 'Session-Id', Opts) ->
422 avp(T, Data, 'Session-Id', Opts,
423 diameter_gen_base_rfc6733);
424avp(T, Data, 'Session-Server-Failover', Opts) ->
425 avp(T, Data, 'Session-Server-Failover', Opts,
426 diameter_gen_base_rfc6733);
427avp(T, Data, 'Session-Timeout', Opts) ->
428 avp(T, Data, 'Session-Timeout', Opts,
429 diameter_gen_base_rfc6733);
430avp(T, Data, 'Supported-Vendor-Id', Opts) ->
431 avp(T, Data, 'Supported-Vendor-Id', Opts,
432 diameter_gen_base_rfc6733);
433avp(T, Data, 'Termination-Cause', Opts) ->
434 avp(T, Data, 'Termination-Cause', Opts,
435 diameter_gen_base_rfc6733);
436avp(T, Data, 'User-Name', Opts) ->
437 avp(T, Data, 'User-Name', Opts,
438 diameter_gen_base_rfc6733);
439avp(T, Data, 'Vendor-Id', Opts) ->
440 avp(T, Data, 'Vendor-Id', Opts,
441 diameter_gen_base_rfc6733);
442avp(T, Data, 'Vendor-Specific-Application-Id', Opts) ->
443 grouped_avp(T, 'Vendor-Specific-Application-Id', Data,
444 Opts);
445avp(_, _, _, _) -> erlang:error(badarg).
446
447enumerated_avp(_, _, _) -> erlang:error(badarg).
448
449empty_value('ERP-RK-Request', Opts) ->
450 empty_group('ERP-RK-Request', Opts);
451empty_value('Proxy-Info', Opts) ->
452 empty_group('Proxy-Info', Opts);
453empty_value('Failed-AVP', Opts) ->
454 empty_group('Failed-AVP', Opts);
455empty_value('Experimental-Result', Opts) ->
456 empty_group('Experimental-Result', Opts);
457empty_value('Vendor-Specific-Application-Id', Opts) ->
458 empty_group('Vendor-Specific-Application-Id', Opts);
459empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>;
460empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>;
461empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>;
462empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>;
463empty_value('Re-Auth-Request-Type', _) ->
464 <<0, 0, 0, 0>>;
465empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>;
466empty_value('Session-Server-Failover', _) ->
467 <<0, 0, 0, 0>>;
468empty_value('Accounting-Record-Type', _) ->
469 <<0, 0, 0, 0>>;
470empty_value('Accounting-Realtime-Required', _) ->
471 <<0, 0, 0, 0>>;
472empty_value(Name, Opts) -> empty(Name, Opts).
473
474dict() ->
475 [1,
476 {avp_types,
477 [{"ERP-RK-Request", 618, "Grouped", []},
478 {"ERP-Realm", 619, "DiameterIdentity", []}]},
479 {avp_vendor_id, []}, {codecs, []}, {command_codes, []},
480 {custom_types, []}, {define, []}, {enum, []},
481 {grouped,
482 [{"ERP-RK-Request", 618, [],
483 [{"ERP-Realm"}, {'*', ["AVP"]}]}]},
484 {id, 1},
485 {import_avps,
486 [{diameter_gen_base_rfc6733,
487 [{"Accounting-Realtime-Required", 483, "Enumerated",
488 "M"},
489 {"Accounting-Record-Number", 485, "Unsigned32", "M"},
490 {"Accounting-Record-Type", 480, "Enumerated", "M"},
491 {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"},
492 {"Acct-Application-Id", 259, "Unsigned32", "M"},
493 {"Acct-Interim-Interval", 85, "Unsigned32", "M"},
494 {"Acct-Multi-Session-Id", 50, "UTF8String", "M"},
495 {"Acct-Session-Id", 44, "OctetString", "M"},
496 {"Auth-Application-Id", 258, "Unsigned32", "M"},
497 {"Auth-Grace-Period", 276, "Unsigned32", "M"},
498 {"Auth-Request-Type", 274, "Enumerated", "M"},
499 {"Auth-Session-State", 277, "Enumerated", "M"},
500 {"Authorization-Lifetime", 291, "Unsigned32", "M"},
501 {"Class", 25, "OctetString", "M"},
502 {"Destination-Host", 293, "DiameterIdentity", "M"},
503 {"Destination-Realm", 283, "DiameterIdentity", "M"},
504 {"Disconnect-Cause", 273, "Enumerated", "M"},
505 {"Error-Message", 281, "UTF8String", []},
506 {"Error-Reporting-Host", 294, "DiameterIdentity", []},
507 {"Event-Timestamp", 55, "Time", "M"},
508 {"Experimental-Result", 297, "Grouped", "M"},
509 {"Experimental-Result-Code", 298, "Unsigned32", "M"},
510 {"Failed-AVP", 279, "Grouped", "M"},
511 {"Firmware-Revision", 267, "Unsigned32", []},
512 {"Host-IP-Address", 257, "Address", "M"},
513 {"Inband-Security-Id", 299, "Unsigned32", "M"},
514 {"Multi-Round-Time-Out", 272, "Unsigned32", "M"},
515 {"Origin-Host", 264, "DiameterIdentity", "M"},
516 {"Origin-Realm", 296, "DiameterIdentity", "M"},
517 {"Origin-State-Id", 278, "Unsigned32", "M"},
518 {"Product-Name", 269, "UTF8String", []},
519 {"Proxy-Host", 280, "DiameterIdentity", "M"},
520 {"Proxy-Info", 284, "Grouped", "M"},
521 {"Proxy-State", 33, "OctetString", "M"},
522 {"Re-Auth-Request-Type", 285, "Enumerated", "M"},
523 {"Redirect-Host", 292, "DiameterURI", "M"},
524 {"Redirect-Host-Usage", 261, "Enumerated", "M"},
525 {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"},
526 {"Result-Code", 268, "Unsigned32", "M"},
527 {"Route-Record", 282, "DiameterIdentity", "M"},
528 {"Session-Binding", 270, "Unsigned32", "M"},
529 {"Session-Id", 263, "UTF8String", "M"},
530 {"Session-Server-Failover", 271, "Enumerated", "M"},
531 {"Session-Timeout", 27, "Unsigned32", "M"},
532 {"Supported-Vendor-Id", 265, "Unsigned32", "M"},
533 {"Termination-Cause", 295, "Enumerated", "M"},
534 {"User-Name", 1, "UTF8String", "M"},
535 {"Vendor-Id", 266, "Unsigned32", "M"},
536 {"Vendor-Specific-Application-Id", 260, "Grouped",
537 "M"}]}]},
538 {import_enums,
539 [{diameter_gen_base_rfc6733,
540 [{"Disconnect-Cause",
541 [{"REBOOTING", 0}, {"BUSY", 1},
542 {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]},
543 {"Redirect-Host-Usage",
544 [{"DONT_CACHE", 0}, {"ALL_SESSION", 1},
545 {"ALL_REALM", 2}, {"REALM_AND_APPLICATION", 3},
546 {"ALL_APPLICATION", 4}, {"ALL_HOST", 5},
547 {"ALL_USER", 6}]},
548 {"Auth-Request-Type",
549 [{"AUTHENTICATE_ONLY", 1}, {"AUTHORIZE_ONLY", 2},
550 {"AUTHORIZE_AUTHENTICATE", 3}]},
551 {"Auth-Session-State",
552 [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]},
553 {"Re-Auth-Request-Type",
554 [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]},
555 {"Termination-Cause",
556 [{"LOGOUT", 1}, {"SERVICE_NOT_PROVIDED", 2},
557 {"BAD_ANSWER", 3}, {"ADMINISTRATIVE", 4},
558 {"LINK_BROKEN", 5}, {"AUTH_EXPIRED", 6},
559 {"USER_MOVED", 7}, {"SESSION_TIMEOUT", 8}]},
560 {"Session-Server-Failover",
561 [{"REFUSE_SERVICE", 0}, {"TRY_AGAIN", 1},
562 {"ALLOW_SERVICE", 2}, {"TRY_AGAIN_ALLOW_SERVICE", 3}]},
563 {"Accounting-Record-Type",
564 [{"EVENT_RECORD", 1}, {"START_RECORD", 2},
565 {"INTERIM_RECORD", 3}, {"STOP_RECORD", 4}]},
566 {"Accounting-Realtime-Required",
567 [{"DELIVER_AND_GRANT", 1}, {"GRANT_AND_STORE", 2},
568 {"GRANT_AND_LOSE", 3}]}]}]},
569 {import_groups,
570 [{diameter_gen_base_rfc6733,
571 [{"Proxy-Info", 284, [],
572 [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]},
573 {"Failed-AVP", 279, [], [{'*', {"AVP"}}]},
574 {"Experimental-Result", 297, [],
575 [{"Vendor-Id"}, {"Experimental-Result-Code"}]},
576 {"Vendor-Specific-Application-Id", 260, [],
577 [{"Vendor-Id"}, ["Auth-Application-Id"],
578 ["Acct-Application-Id"]]}]}]},
579 {inherits, [{"diameter_gen_base_rfc6733", []}]},
580 {messages, []}].
581
582