Add support for SNA-over-X.25. Add QLLC dissector. I still need to
[obnox/wireshark/wip.git] / packet-diameter-defs.h
1 /*
2  * Filename: packet-diameter-defs.h
3  *
4  * This file contains the static definitions of the Diameter base protocol
5  * AVPs.  If libxml is in the LD_LIBRARY_PATH, and dictionary.xml exists,
6  * then it will not be used.
7  *
8  * $Id: packet-diameter-defs.h,v 1.6 2001/11/01 21:52:44 guy Exp $
9  * Generated: Fri Feb 23 13:04:15 2001
10  */
11
12 #ifndef _PACKET_DIAMETER_DEFS_H
13 #define _PACKET_DIAMETER_DEFS_H
14
15
16 /* Type to string table */
17
18 /* Attribute to String tables */
19 static value_string diameter_service_type_vals[]={
20    {5, "Outbound"},
21    {7, "NAS-Prompt"},
22    {3, "Callback-Login"},
23    {6, "Administrative"},
24    {1, "Login"},
25    {4, "Callback-Framed"},
26    {9, "Callback-NAS-Prompt"},
27    {8, "Authenticate-Only"},
28    {2, "Framed"},
29    {0, (char *)NULL}
30 };
31
32 static value_string diameter_framed_protocol_vals[]={
33    {1, "PPP"},
34    {260, "COMB"},
35    {5, "Xylogics"},
36    {257, "EURAW"},
37    {3, "ARA"},
38    {261, "FR"},
39    {2, "SLIP"},
40    {258, "EUUI"},
41    {4, "Gandalf"},
42    {256, "MPP"},
43    {255, "Ascend-ARA"},
44    {259, "X25"},
45    {0, (char *)NULL}
46 };
47
48 static value_string diameter_framed_routing_vals[]={
49    {0, "None"},
50    {1, "Broadcast"},
51    {3, "Broadcast-Listen"},
52    {2, "Listen"},
53    {0, (char *)NULL}
54 };
55
56 static value_string diameter_framed_compression_vals[]={
57    {0, "None"},
58    {1, "Van-Jacobson-TCP-IP"},
59    {2, "IPX-Header-Compression"},
60    {0, (char *)NULL}
61 };
62
63 static value_string diameter_login_service_vals[]={
64    {0, "Telnet"},
65    {1, "Rlogin"},
66    {2, "TCP-Clear"},
67    {3, "PortMaster"},
68    {4, "LAT"},
69    {5, "X25-PAD"},
70    {6, "X25-T3POS"},
71    {0, (char *)NULL}
72 };
73
74 static value_string diameter_vendor_specific_vendors[]= {
75         {0, "None"},
76         {5, "ACC"},
77         {9, "Cisco"},
78         {42, "Sun Microsystems"},
79         {166, "Shiva"},
80         {307, "Livingston"},
81         {429, "3Com"},
82         {529, "Ascend"},
83         {1584, "Bay Networks"},
84         {2636, "Juniper Networks"},
85         {5925, "ipUnplugged"},
86         {0,NULL}
87 };
88
89 static value_string diameter_termination_action_vals[]={
90    {0, "Default"},
91    {1, "RADIUS-Request"},
92    {0, (char *)NULL}
93 };
94
95 static value_string diameter_acct_status_type_vals[]={
96    {1, "Start"},
97    {2, "Stop"},
98    {3, "Alive"},
99    {4, "Modem-Start"},
100    {5, "Modem-Stop"},
101    {6, "Cancel"},
102    {7, "Accounting-On"},
103    {8, "Accounting-Off"},
104    {0, (char *)NULL}
105 };
106
107 static value_string diameter_acct_authentic_vals[]={
108    {1, "RADIUS"},
109    {0, "None"},
110    {2, "Local"},
111    {0, (char *)NULL}
112 };
113
114 static value_string diameter_acct_terminate_cause_vals[]={
115    {1, "User-Request"},
116    {2, "Lost-Carrier"},
117    {3, "Lost-Service"},
118    {4, "Idle-Timeout"},
119    {5, "Session-Timeout"},
120    {6, "Admin-Reset"},
121    {7, "Admin-Reboot"},
122    {8, "Port-Error"},
123    {9, "NAS-Error"},
124    {10, "NAS-Request"},
125    {11, "NAS-Reboot"},
126    {12, "Port-Unneeded"},
127    {13, "Port-Preempted"},
128    {14, "Port-Suspended"},
129    {15, "Service-Unavailable"},
130    {16, "Callback"},
131    {17, "User-Error"},
132    {18, "Host-Request"},
133    {0, (char *)NULL}
134 };
135 static value_string diameter_nas_port_type_vals[]={
136    {6, "PIAFS"},
137    {9, "X75"},
138    {7, "HDLC-Clear-Channel"},
139    {5, "Virtual"},
140    {2, "ISDN-Sync"},
141    {1, "Sync"},
142    {0, "Async"},
143    {4, "ISDN-Async-v110"},
144    {3, "ISDN-Async-v120"},
145    {8, "X25"},
146    {0, (char *)NULL}
147 };
148
149 static value_string diameter_tunnel_type_vals[]= {
150         {1,"PPTP"},
151         {2,"L2F"},
152         {3,"L2TP"},
153         {4,"ATMP"},
154         {5,"VTP"},
155         {6,"AH"},
156         {7,"IP-IP-Encap"},
157         {8,"MIN-IP-IP"},
158         {9,"ESP"},
159         {10,"GRE"},
160         {11,"DVS"},
161         {12,"IP-IP"},
162         {0,NULL}
163 };
164
165 static value_string diameter_tunnel_medium_type_vals[]= {
166         {1,"IPv4"}, 
167         {2,"IPv6"},
168         {3,"NSAP"},
169         {4,"HDLC"},
170         {5,"BBN"},
171         {6,"IEEE-802"},
172         {7,"E-163"},
173         {8,"E-164"},
174         {9,"F-69"},
175         {10,"X-121"},
176         {11,"IPX"},
177         {12,"Appletalk"},
178         {13,"Decnet4"},
179         {14,"Vines"},
180         {15,"E-164-NSAP"},
181         {0,NULL}
182 };
183
184 static value_string diameter_accounting_record_type_vals[]= {
185         {1, "Event Record"},
186         {2, "Start Record"},
187         {3, "Interim Record"},
188         {4, "Stop Record"},
189         {0,NULL}
190 };
191
192 static value_string diameter_auth_request_type_vals[]= {
193         {1, "Authenticate Only"},
194         {2, "Authorize Only"},
195         {3, "Authorize Authenticate"},
196         {0,NULL}
197 };
198
199 static value_string diameter_auth_session_state_vals[]= {
200         {0, "State Maintained"},
201         {1, "No State Maintained"},
202         {0,NULL}
203 };
204
205 static value_string diameter_re_auth_request_type_vals[]= {
206         {0, "Authorize Only"},
207         {1, "Authorize Authenticate"},
208         {0,NULL}
209 };
210
211 static value_string diameter_disconnect_cause_vals[]= {
212         {0, "Rebooting"},
213         {1, "Busy"},
214         {2, "Do Not Want To Talk To You"},
215         {0,NULL}
216 };
217
218 static value_string diameter_redirect_host_usage_vals[]= {
219         {0, "Don't Cache"},
220         {1, "All Session"},
221         {2, "All Realm"},
222         {3, "Realm and Application"},
223         {4, "All Application"},
224         {5, "All Host"},
225         {0,NULL}
226 };
227
228 static value_string diameter_session_server_failover_vals[]= {
229         {0, "Refuse Service"},
230         {1, "Try Again"},
231         {2, "Allow Service"},
232         {3, "Try Again / Allow Service"},
233         {0,NULL}
234 };
235
236 static value_string diameter_termination_cause_vals[]= {
237         {1, "Logout"},
238         {2, "Service Not Provided"},
239         {3, "Bad Answer"},
240         {4, "Administrative"},
241         {5, "Link Broken"},
242         {0,NULL}
243 };
244
245 static value_string diameter_mip_algorithm_type[] = {
246         {1, "MD5 Prefix/Suffix"},
247         {2, "HMAC-MD5"},
248         {3, "HMAC-SHA1"},
249         {0, NULL}
250 };
251
252 static value_string diameter_mip_replay_type[] = {
253         {1, "None"},
254         {2, "Nonce"},
255         {3, "Timestamp"},
256         {0, NULL}
257 };
258
259
260
261 static struct old_avp_info old_diameter_avps[] = {
262         /* Radius Attributes */
263         {  1, "User-Name",                DIAMETER_UTF8STRING,   (value_string *)NULL},
264         {  2, "User-Password",            DIAMETER_OCTET_STRING, (value_string *)NULL},
265         {  3, "CHAP-Password",            DIAMETER_OCTET_STRING, (value_string *)NULL},
266         {  4, "NAS-IP-Address",           DIAMETER_IP_ADDRESS,   (value_string *)NULL},
267         {  5, "NAS-Port",                 DIAMETER_INTEGER32,    (value_string *)NULL},
268         {  6, "Service-Type",             DIAMETER_ENUMERATED,   diameter_service_type_vals},
269         {  7, "Framed-Protocol",          DIAMETER_ENUMERATED,   diameter_framed_protocol_vals},
270         {  8, "Framed-IP-Address",        DIAMETER_IP_ADDRESS,   (value_string *)NULL},
271         {  9, "Framed-IP-Netmask",        DIAMETER_IP_ADDRESS,   (value_string *)NULL},
272         { 10, "Framed-Routing",           DIAMETER_ENUMERATED,   diameter_framed_routing_vals},
273         { 11, "Filter-Id",                DIAMETER_UTF8STRING,   (value_string *)NULL},
274         { 12, "Framed-MTU",               DIAMETER_INTEGER32,    (value_string *)NULL},
275         { 13, "Framed-Compression",       DIAMETER_ENUMERATED,   diameter_framed_compression_vals},
276         { 14, "Login-IP-Host",            DIAMETER_IP_ADDRESS,   (value_string *)NULL},
277         { 15, "Login-Service",            DIAMETER_ENUMERATED,   diameter_login_service_vals},
278         { 16, "Login-TCP-Port",           DIAMETER_INTEGER32,    (value_string *)NULL},
279         { 17, "Old-Password",             DIAMETER_OCTET_STRING, (value_string *)NULL},
280         { 18, "Reply-Message",            DIAMETER_UTF8STRING,   (value_string *)NULL},
281         { 19, "Callback-Number",          DIAMETER_OCTET_STRING, (value_string *)NULL},
282         { 20, "Callback-Id",              DIAMETER_OCTET_STRING, (value_string *)NULL},
283         /* 21 is Unassigned */
284         { 22, "Framed-Route",             DIAMETER_UTF8STRING,   (value_string *)NULL},
285         { 23, "Framed-IPX-Network",       DIAMETER_OCTET_STRING, (value_string *)NULL},
286         { 24, "State",                    DIAMETER_OCTET_STRING, (value_string *)NULL},
287         { 25, "Class",                    DIAMETER_OCTET_STRING, (value_string *)NULL},
288         { 26, "Vendor-Specific",          DIAMETER_ENUMERATED,   diameter_vendor_specific_vendors},
289         { 27, "Session-Timeout",          DIAMETER_INTEGER32,    (value_string *)NULL},
290         { 28, "Idle-Timeout",             DIAMETER_INTEGER32,    (value_string *)NULL},
291         { 29, "Termination-Action",       DIAMETER_ENUMERATED,   diameter_termination_action_vals},
292         { 30, "Called-Station-Id",        DIAMETER_OCTET_STRING, (value_string *)NULL},
293         { 31, "Calling-Station-Id",       DIAMETER_OCTET_STRING, (value_string *)NULL},
294         { 32, "NAS-Identifier",           DIAMETER_OCTET_STRING, (value_string *)NULL},
295         { 33, "Proxy-State",              DIAMETER_OCTET_STRING, (value_string *)NULL},
296         { 34, "Login-LAT-Service",        DIAMETER_OCTET_STRING, (value_string *)NULL},
297         { 35, "Login-LAT-Node",           DIAMETER_OCTET_STRING, (value_string *)NULL},
298         { 36, "Login-LAT-Group",          DIAMETER_OCTET_STRING, (value_string *)NULL},
299         { 37, "Framed-AppleTalk-Link",    DIAMETER_INTEGER32,    (value_string *)NULL},
300         { 38, "Framed-AppleTalk-Network", DIAMETER_INTEGER32,    (value_string *)NULL},
301         { 39, "Framed-AppleTalk-Zone",    DIAMETER_OCTET_STRING, (value_string *)NULL},
302         { 40, "Acct-Status-Type",         DIAMETER_ENUMERATED,   diameter_acct_status_type_vals},
303         { 41, "Acct-Delay-Time",          DIAMETER_INTEGER32,    (value_string *)NULL},
304         { 42, "Acct-Input-Octets",        DIAMETER_INTEGER32,    (value_string *)NULL},
305         { 43, "Acct-Output-Octets",       DIAMETER_INTEGER32,    (value_string *)NULL},
306         { 44, "Acct-Session-Id",          DIAMETER_OCTET_STRING, (value_string *)NULL},
307         { 45, "Acct-Authentic",           DIAMETER_ENUMERATED,   diameter_acct_authentic_vals},
308         { 46, "Acct-Session-Time",        DIAMETER_INTEGER32,    (value_string *)NULL},
309         { 47, "Acct-Input-Packets",       DIAMETER_INTEGER32,    (value_string *)NULL},
310         { 48, "Acct-Output-Packets",      DIAMETER_INTEGER32,    (value_string *)NULL},
311         { 49, "Acct-Terminate-Cause",     DIAMETER_ENUMERATED,   diameter_acct_terminate_cause_vals},
312         { 50, "Acct-Multi-Session-Id",    DIAMETER_OCTET_STRING, (value_string *)NULL},
313         { 51, "Acct-Link-Count",          DIAMETER_INTEGER32,    (value_string *)NULL},
314         { 60, "CHAP-Challenge",           DIAMETER_OCTET_STRING, (value_string *)NULL},
315         { 61, "NAS-Port-Type",            DIAMETER_ENUMERATED,   diameter_nas_port_type_vals},
316         { 62, "Port-Limit",               DIAMETER_INTEGER32,    (value_string *)NULL},
317         { 63, "Login-LAT-Port",           DIAMETER_OCTET_STRING, (value_string *)NULL},
318         { 64, "Tunnel-Type",              DIAMETER_ENUMERATED,   diameter_tunnel_type_vals},
319         { 65, "Tunnel-Medium-Type",       DIAMETER_ENUMERATED,   diameter_tunnel_medium_type_vals},
320         { 66, "Tunnel-Client-Endpoint",   DIAMETER_OCTET_STRING, (value_string *)NULL},
321         { 67, "Tunnel-Server-Endpoint",   DIAMETER_OCTET_STRING, (value_string *)NULL},
322         { 68, "Tunnel-Connection-ID",     DIAMETER_OCTET_STRING, (value_string *)NULL},
323         { 69, "Tunnel-Password",          DIAMETER_OCTET_STRING, (value_string *)NULL},
324     { 82, "Tunnel-Assignment-Id",     DIAMETER_OCTET_STRING, (value_string *)NULL},
325
326         /* Diameter AVPs */
327     { 482, "Accounting-Interim-Interval", DIAMETER_UNSIGNED32,  (value_string *)NULL},
328     { 485, "Accounting-Record-Number",    DIAMETER_UNSIGNED32,  (value_string *)NULL},
329     { 480, "Accounting-Record-Type",      DIAMETER_ENUMERATED,  diameter_accounting_record_type_vals},
330     { 259, "Acct-Application-Id",         DIAMETER_UNSIGNED32,  (value_string *)NULL},
331     { 275, "Alternate-Peer",              DIAMETER_IDENTITY,    (value_string *)NULL},
332     { 258, "Auth-Aplication-Id",          DIAMETER_UNSIGNED32,  (value_string *)NULL},
333     { 274, "Auth-Request-Type",           DIAMETER_ENUMERATED,  diameter_auth_request_type_vals},
334     { 291, "Authorization-Lifetime",      DIAMETER_INTEGER32,   (value_string *)NULL},
335     { 276, "Auth-Grace-Period",           DIAMETER_UNSIGNED32,  (value_string *)NULL},
336     { 277, "Auth-Session-State",          DIAMETER_ENUMERATED,  diameter_auth_session_state_vals},
337     { 285, "Re-Auth-Request-Type",        DIAMETER_ENUMERATED,  diameter_re_auth_request_type_vals},
338     { 293, "Destination-Host",            DIAMETER_IDENTITY,    (value_string *)NULL},
339     { 283, "Desintation-Realm",           DIAMETER_UTF8STRING,  (value_string *)NULL},
340     { 273, "Disconnect-Cause",            DIAMETER_ENUMERATED,  diameter_disconnect_cause_vals},
341     { 281, "Error-Message",               DIAMETER_UTF8STRING,  (value_string *)NULL},
342     { 294, "Error-Reporting-Host",        DIAMETER_IDENTITY,    (value_string *)NULL},
343     { 279, "Failed-AVP",                  DIAMETER_OCTET_STRING,(value_string *)NULL},
344     { 267, "Firmware-Revision",           DIAMETER_UNSIGNED32,  (value_string *)NULL},
345     { 257, "Host-IP-Address",             DIAMETER_IP_ADDRESS,  (value_string *)NULL},
346     { 272, "Multi-Round-Time-Out",        DIAMETER_UNSIGNED32,  (value_string *)NULL},
347     { 264, "Origin-Host",                 DIAMETER_IDENTITY,    (value_string *)NULL},
348     { 296, "Origin-Realm",                DIAMETER_UTF8STRING,  (value_string *)NULL},
349     { 278, "Origin-State-Id",             DIAMETER_UNSIGNED32,  (value_string *)NULL},
350     { 269, "Product-Name",                DIAMETER_UTF8STRING,  (value_string *)NULL},
351     { 280, "Proxy-Host",                  DIAMETER_IDENTITY,    (value_string *)NULL},
352     { 284, "Proxy-Info",                  DIAMETER_GROUPED,     (value_string *)NULL},
353     { 292, "Redirect-Host",               DIAMETER_IDENTITY,    (value_string *)NULL},
354     { 261, "Redirect-Host-Usage",         DIAMETER_ENUMERATED,  diameter_redirect_host_usage_vals}, 
355     { 262, "Redirect-Max-Cache-Time",     DIAMETER_UNSIGNED32,  (value_string *)NULL},
356     { 268, "Result-Code",                 DIAMETER_UNSIGNED32,  (value_string *)NULL},
357     { 282, "Route-Record",                DIAMETER_IDENTITY,    (value_string *)NULL},
358     { 263, "Session-Id",                  DIAMETER_UTF8STRING,  (value_string *)NULL},
359     { 270, "Session-Binding",             DIAMETER_UNSIGNED32,  (value_string *)NULL},
360     { 271, "Session-Server-Failover",     DIAMETER_ENUMERATED,  diameter_session_server_failover_vals},
361     { 286, "Source-Route",                DIAMETER_IDENTITY,    (value_string *)NULL},
362     { 265, "Supported-Vendor-Id",         DIAMETER_UNSIGNED32,  (value_string *)NULL},
363     { 295, "Termination-Cause",           DIAMETER_ENUMERATED,  diameter_termination_cause_vals},
364     { 266, "Vendor-Id",                   DIAMETER_ENUMERATED,  diameter_vendor_specific_vendors},
365     { 260, "Vendor-Specific-Application-Id", DIAMETER_GROUPED, (value_string *)NULL},
366 /* Diameter Mobile IP AVPs */
367     { 318, "MIP-FA-to-HA-SPI",            DIAMETER_UNSIGNED32,     (value_string *)NULL},
368     { 319, "MIP-FA-to-MN-SPI",            DIAMETER_UNSIGNED32,     (value_string *)NULL},
369     { 320, "MIP-Reg-Request",             DIAMETER_MIP_REG_REQ,    (value_string *)NULL},
370     { 321, "MIP-Reg-Reply",               DIAMETER_OCTET_STRING,   (value_string *)NULL},
371     { 322, "MIP-MN-AAA-Auth",             DIAMETER_GROUPED,        (value_string *)NULL},
372     { 325, "MIP-MN-to-FA-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
373     { 326, "MIP-FA-to-MN-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
374     { 328, "MIP-FA-to-HA-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
375     { 329, "MIP-HA-to-FA-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
376     { 330, "MIP-Foreign-Agent-Host",      DIAMETER_IDENTITY,       (value_string *)NULL},
377     { 331, "MIP-MN-to-HA-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
378     { 333, "MIP-Mobile-Node-Address",     DIAMETER_IP_ADDRESS,     (value_string *)NULL},
379     { 334, "MIP-Home-Agent-Address",      DIAMETER_IP_ADDRESS,     (value_string *)NULL},
380     { 335, "MIP-Key-Material",            DIAMETER_OCTET_STRING,   (value_string *)NULL},
381     { 337, "MIP-Feature-Vector",          DIAMETER_UNSIGNED32,     (value_string *)NULL},
382     { 338, "MIP-Auth-Input-Data-Length",  DIAMETER_UNSIGNED32,     (value_string *)NULL},
383     { 339, "MIP-Authenticator-Length",    DIAMETER_UNSIGNED32,     (value_string *)NULL},
384     { 340, "MIP-Authenticator-Offset",    DIAMETER_UNSIGNED32,     (value_string *)NULL},
385     { 341, "MIP-MN-AAA-SPI",              DIAMETER_UNSIGNED32,     (value_string *)NULL},
386     { 342, "MIP-PEER-SPI",                DIAMETER_UNSIGNED32,     (value_string *)NULL},
387     { 343, "MIP-Session-Key",             DIAMETER_OCTET_STRING,   (value_string *)NULL},
388     { 344, "MIP-FA-Challenge",            DIAMETER_OCTET_STRING,   (value_string *)NULL},
389     { 345, "MIP-Algorithm-Type",          DIAMETER_ENUMERATED,     diameter_mip_algorithm_type},
390     { 346, "MIP-Algorithm-Type",          DIAMETER_ENUMERATED,     diameter_mip_replay_type},
391     { 347, "MIP-Filter-Rule",             DIAMETER_IP_FILTER_RULE, (value_string *)NULL},
392     { 398, "MIP-Key-Lifetime",            DIAMETER_UNSIGNED32,    (value_string *)NULL},
393 {0, (char *)NULL, 0, (value_string*)NULL}
394 };
395
396
397
398 static value_string diameter_command_code_vals[] = {
399
400         /* Base Protocol */
401         {274, "Abort-Session"},
402         {271, "Accounting"},
403         {257, "Capabilities-Exchange"},
404         {280, "Device-Watchdog"},
405         {282, "Disconnect-Peer"},
406         {258, "Re-Auth"},
407         {275, "Session-Termination"},
408         /* Mip Protocol */
409         {262, "Home-Agent-MIP"},
410         {260, "AA-Mobile-Node"},
411         {0, (char *)NULL}
412 };
413
414
415
416
417 #endif /* _PACKET_DIAMETER_H */