add details for doxygen
[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.12 2004/04/02 05:07:42 guy Exp $
9  * Generated: Fri Feb 23 13:04:15 2001
10  * References:
11  * http://www.ietf.org/rfc/rfc3588.txt
12  * http://www.iana.org/assignments/radius-types
13  * http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-cc-03.txt
14  * http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-nasreq-14.txt
15  * http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-mobileip-16.txt
16  * http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-sip-app-01.txt
17  * http://www.ietf.org/html.charters/aaa-charter.html
18  */
19
20 #ifndef _PACKET_DIAMETER_DEFS_H
21 #define _PACKET_DIAMETER_DEFS_H
22
23
24 /* Type to string table */
25
26 /* Attribute to String tables */
27 static value_string diameter_service_type_vals[]={
28    {1, "Login"},
29    {2, "Framed"},
30    {3, "Callback-Login"},
31    {4, "Callback-Framed"},
32    {5, "Outbound"},
33    {6, "Administrative"},
34    {7, "NAS-Prompt"},
35    {8, "Authenticate-Only"},
36    {9, "Callback-NAS-Prompt"},
37    {10,"Call Check"},
38    {11,"Callback Administrative"},
39    {12,"Voice"},                                        /*[Chiba]                               */
40    {13,"Fax"},                                          /*[Chiba]                               */
41    {14,"Modem Relay"},                          /*[Chiba]                               */
42    {15,"IAPP-Register"},                        /*[IEEE 802.11f][Kerry] */
43    {16,"IAPP-AP-Check"},                        /*[IEEE 802.11f][Kerry] */
44    {17,"Authorize Only"},                       /*[RFC3576]                             */
45    {0, (char *)NULL}
46 };
47
48 static value_string diameter_framed_protocol_vals[]={
49    {1,  "PPP"},
50    {2,  "SLIP"},
51    {3,  "AppleTalk Remote Access Protocol (ARAP)"},
52    {4,  "Gandalf proprietary SingleLink/MultiLink protocol"},
53    {5,  "Xylogics proprietary IPX/SLIP"},
54    {6,  "X.75 Synchronous"},
55    {7,  "GPRS PDP Context"},
56    {261,"FR"},
57    {258,"EUUI"},
58    {255,"Ascend-ARA"},
59    {259,"X25"},
60    {256,"MPP"},
61    {257,"EURAW"},
62    {260,"COMB"},
63    {0, (char *)NULL}
64 };
65
66 static value_string diameter_framed_routing_vals[]={
67    {0, "None"},
68    {1, "Send routing packets"},
69    {2, "Listen for routing packets"},
70    {3, "Send and Listen"},
71    {0, (char *)NULL}
72 };
73
74 static value_string diameter_framed_compression_vals[]={
75    {0,  "None"},
76    {1,  "VJ TCP/IP header compression"},
77    {2,  "IPX-Header-Compression"},
78    {3,  "Stac-LZS compression"},
79    {0, (char *)NULL}
80 };
81
82 static value_string diameter_login_service_vals[]={
83    {0, "Telnet"},
84    {1, "Rlogin"},
85    {2, "TCP-Clear"},
86    {3, "PortMaster"},
87    {4, "LAT"},
88    {5, "X25-PAD"},
89    {6, "X25-T3POS"},
90    {7, "(unassigned)"},
91    {8, "TCP Clear Quiet (suppresses any NAS-generated connect string)"},
92    {0, (char *)NULL}
93 };
94
95 static value_string diameter_vendor_specific_vendors[]= {
96         {0, "None"},
97         {5, "ACC"},
98         {9, "Cisco"},
99         {42, "Sun Microsystems"},
100         {166, "Shiva"},
101         {307, "Livingston"},
102         {429, "3Com"},
103         {529, "Ascend"},
104         {1584, "Bay Networks"},
105         {2636, "Juniper Networks"},
106         {5925, "ipUnplugged"},
107         {10415, "3GPP"},
108         {0,NULL}
109 };
110
111 static value_string diameter_termination_action_vals[]={
112    {0, "Default"},
113    {1, "RADIUS-Request"},
114    {0, (char *)NULL}
115 };
116
117 static value_string diameter_acct_status_type_vals[]={
118    {1,  "Start"},
119    {2,  "Stop"},
120    {3,  "Alive"},
121    {4,  "Modem-Start"},
122    {5,  "Modem-Stop"},
123    {6,  "Cancel"},
124    {7,  "Accounting-On"},
125    {8,  "Accounting-Off"},
126    {9,  "Tunnel-Start"},                /*[RFC 2867]*/
127    {10, "Tunnel-Stop"},                 /*[RFC 2867]*/
128    {11, "Tunnel-Reject"},               /*[RFC 2867]*/
129    {12, "Tunnel-Link-Start"},   /*[RFC 2867]*/
130    {13, "Tunnel-Link-Stop"},    /*[RFC 2867]*/
131    {14, "Tunnel-Link-Reject"},  /*[RFC 2867]*/
132    {15, "Failed"},                              /*[RFC 2866]*/
133
134
135    {0, (char *)NULL}
136 };
137
138 static value_string diameter_acct_authentic_vals[]={
139    {1, "RADIUS"},
140    {0, "None"},
141    {2, "Local"},
142    {3, "Remote"},
143    {4, "Diameter"},
144    {0, (char *)NULL}
145 };
146
147 static value_string diameter_acct_terminate_cause_vals[]={
148    {1, "User-Request"},
149    {2, "Lost-Carrier"},
150    {3, "Lost-Service"},
151    {4, "Idle-Timeout"},
152    {5, "Session-Timeout"},
153    {6, "Admin-Reset"},
154    {7, "Admin-Reboot"},
155    {8, "Port-Error"},
156    {9, "NAS-Error"},
157    {10, "NAS-Request"},
158    {11, "NAS-Reboot"},
159    {12, "Port-Unneeded"},
160    {13, "Port-Preempted"},
161    {14, "Port-Suspended"},
162    {15, "Service-Unavailable"},
163    {16, "Callback"},
164    {17, "User-Error"},
165    {18, "Host-Request"},
166    {19, "Supplicant Restart"},                                  /*[RFC3580]*/
167    {20, "Reauthentication Failure"},                    /*[RFC3580]*/
168    {21, "Port Reinitialized"},                                  /*[RFC3580]*/
169    {22, "Port Administratively Disabled"},              /*[RFC3580]*/
170    {0, (char *)NULL}
171 };
172 static value_string diameter_nas_port_type_vals[]={
173    {0, "Async"},
174    {1, "Sync"},
175    {2, "ISDN Sync"},
176    {3, "ISDN Async V.120"},
177    {4, "ISDN Async V.110"},
178    {5, "Virtual"},
179    {6, "PIAFS"},
180    {7, "HDLC-Clear-Channel"},
181    {8, "X.25"},
182    {9, "X.75"},
183    {10,"G.3 Fax"},
184    {11,"SDSL - Symmetric DSL"},
185    {12,"ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase Modulation"},
186    {13,"ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone"},
187    {14,"IDSL - ISDN Digital Subscriber Line"},
188    {15,"Ethernet"},
189    {16,"xDSL - Digital Subscriber Line of unknown type"},
190    {17,"Cable"},
191    {18,"Wireless - Other"},
192    {19,"Wireless - IEEE 802.11"},
193    {20,"Token-Ring"},                                 
194    {21,"FDDI"},                                       
195    {22,"Wireless - CDMA2000"},                           
196    {23,"Wireless - UMTS"},                               
197    {24,"Wireless - 1X-EV"},                              
198    {25,"IAPP"},
199    {26,"FTTP - Fiber to the Premises"},
200    {0, (char *)NULL}
201 };
202
203 static value_string diameter_tunnel_type_vals[]= {
204         {1,"PPTP"},
205         {2,"L2F"},
206         {3,"L2TP"},
207         {4,"ATMP"},
208         {5,"VTP"},
209         {6,"AH"},
210         {7,"IP-IP-Encap"},
211         {8,"MIN-IP-IP"},
212         {9,"ESP"},
213         {10,"GRE"},
214         {11,"DVS"},
215         {12,"IP-IP"},
216         {13,"VLAN"},
217         {0,NULL}
218 };
219
220 static value_string diameter_tunnel_medium_type_vals[]= {
221         {1,"IPv4"},
222         {2,"IPv6"},
223         {3,"NSAP"},
224         {4,"HDLC"},
225         {5,"BBN"},
226         {6,"IEEE-802"},
227         {7,"E-163"},
228         {8,"E-164"},
229         {9,"F-69"},
230         {10,"X-121"},
231         {11,"IPX"},
232         {12,"Appletalk"},
233         {13,"Decnet4"},
234         {14,"Vines"},
235         {15,"E-164-NSAP"},
236         {0,NULL}
237 };
238 /*
239  *Values for RADIUS Attribute 101, Error-Cause Attribute [RFC3576]:
240  */
241 static value_string diameter_error_cause_attribute_vals[]= {
242         {201,"Residual Session Context Removed"},
243         {202,"Invalid EAP Packet (Ignored)"},
244         {401,"Unsupported Attribute"},
245         {402,"Missing Attribute"},
246         {403,"NAS Identification Mismatch"},
247         {404,"Invalid Request"},
248         {405,"Unsupported Service"},
249         {406,"Unsupported Extension"},
250         {501,"Administratively Prohibited"},
251         {502,"Request Not Routable (Proxy)"},
252         {503,"Session Context Not Found"},
253         {504,"Session Context Not Removable"},
254         {505,"Other Proxy Processing Error"},
255         {506,"Resources Unavailable"},
256         {507,"Request Initiated"},
257         {0,NULL}
258 };
259
260 static value_string diameter_accounting_record_type_vals[]= {
261         {1, "Event Record"},
262         {2, "Start Record"},
263         {3, "Interim Record"},
264         {4, "Stop Record"},
265         {0,NULL}
266 };
267
268 static value_string diameter_auth_request_type_vals[]= {
269         {1, "Authenticate Only"},
270         {2, "Authorize Only"},
271         {3, "Authorize Authenticate"},
272         {0,NULL}
273 };
274
275 static value_string diameter_auth_session_state_vals[]= {
276         {0, "State Maintained"},
277         {1, "No State Maintained"},
278         {0,NULL}
279 };
280
281 static value_string diameter_re_auth_request_type_vals[]= {
282         {0, "Authorize Only"},
283         {1, "Authorize Authenticate"},
284         {0,NULL}
285 };
286
287 static value_string diameter_disconnect_cause_vals[]= {
288         {0, "Rebooting"},
289         {1, "Busy"},
290         {2, "Do Not Want To Talk To You"},
291         {0,NULL}
292 };
293
294 static value_string diameter_redirect_host_usage_vals[]= {
295         {0, "Don't Cache"},
296         {1, "All Session"},
297         {2, "All Realm"},
298         {3, "Realm and Application"},
299         {4, "All Application"},
300         {5, "All Host"},
301         {0,NULL}
302 };
303
304 static value_string diameter_session_server_failover_vals[]= {
305         {0, "Refuse Service"},
306         {1, "Try Again"},
307         {2, "Allow Service"},
308         {3, "Try Again / Allow Service"},
309         {0,NULL}
310 };
311
312 static value_string diameter_termination_cause_vals[]= {
313         {1, "Logout"},
314         {2, "Service Not Provided"},
315         {3, "Bad Answer"},
316         {4, "Administrative"},
317         {5, "Link Broken"},
318         {0,NULL}
319 };
320
321 static value_string diameter_mip_algorithm_type[] = {
322         {1, "MD5 Prefix/Suffix"},
323         {2, "HMAC-MD5"},
324         {3, "HMAC-SHA1"},
325         {0, NULL}
326 };
327
328 static value_string diameter_mip_replay_type[] = {
329         {1, "None"},
330         {2, "Nonce"},
331         {3, "Timestamp"},
332         {0, NULL}
333 };
334 /* XXX TODO correct these values to IANA assigned ones */
335 static value_string diameter_application_id_vals[] = {
336         {1, "Diameter NASREQ Application"},
337         {2, "Diameter Mobile IPv4 Application"},
338         {4, "Diameter Credit-Control Application"},
339 /*      {x, "Diameter Session Initiation Protocol (SIP) Application"},
340  */
341   {2000, "Diameter EAP Application"},
342         {0, NULL}
343
344 };
345 /* Diameter Session Initiation Protocol (SIP) Application value strings */
346 /* Remove comment when IANA assigned values are avalable 
347 static value_string SIP_user_data_request_type[] = {
348         {0, "COMPLETE_PROFILE"},
349         {1, "REGISTERED_PROFILE"},
350         {2, "UNREGISTERED_PROFILE"},
351         {0, NULL}
352
353 };
354 static value_string SIP_user_authorization_type[] = {
355         {0, "REGISTRATION"},
356         {1, "DE_REGISTRATION"},
357         {2, "REGISTRATION_AND_CAPABILITIES"},
358         {0, NULL}
359
360 };
361
362 static value_string SIP_reason_code_vals[] = {
363         {0, "PERMANENT_TERMINATION"},
364         {1, "NEW_SIP_SERVER_ASSIGNED "},
365         {2, "SIP_SERVER_CHANGE"},
366         {3, "REMOVE_SIP_SERVER"},
367         {0, NULL}
368
369 };
370 static value_string SIP_user_data_already_available_vals[] = {
371         {0, "USER_DATA_NOT_AVAILABLE"},
372         {1, "USER_DATA_ALREADY_AVAILABLE"},
373         {0, NULL}
374
375 };
376
377 static value_string SIP_server_assignment_type[] ={
378         {0, "NO_ASSIGNMENT"},
379         {1, "REGISTRATION"},
380         {2, "RE_REGISTRATION"},
381         {3, "UNREGISTERED_USER"},
382         {4, "TIMEOUT_DEREGISTRATION"},
383         {5, "USER_DEREGISTRATION"},
384         {6, "TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME"},
385         {7, "USER_DEREGISTRATION_STORE_SERVER_NAME"},
386         {8, "ADMINISTRATIVE_DEREGISTRATION"},
387         {9, "AUTHENTICATION_FAILURE"},
388         {10, "AUTHENTICATION_TIMEOUT"},
389         {11, "DEREGISTRATION_TOO_MUCH_DATA"},
390         {0, NULL}
391
392 };
393
394  Remove comment when IANA assigned values are avalable */ 
395
396 /*
397  * The Result-Code data field contains an IANA-managed 32-bit address
398  * space representing errors (see Section 11.4(RFC3588)).  Diameter provides the
399  * following classes of errors, all identified by the thousands digit in
400  * the decimal notation:
401  *
402  *    -  1xxx (Informational)
403  *    -  2xxx (Success)
404  *    -  3xxx (Protocol Errors)
405  *    -  4xxx (Transient Failures)
406  *    -  5xxx (Permanent Failure)
407  */
408
409 static value_string diameter_result_code_vals[] = {
410         /* Informational
411          * Errors that fall within this category are used to inform the
412          * requester that a request could not be satisfied, and additional
413          * action is required on its part before access is granted.
414          */
415         {1001, "DIAMETER_MULTI_ROUND_AUTH "},
416         /* Errors that fall within the Success category are used to inform a peer 
417          *that a request has been successfully completed
418          */
419         {2001, "DIAMETER_SUCCESS"},
420         {2002, "DIAMETER_LIMITED_SUCCESS"},
421         /* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA 
422         {2xx1, "DIAMETER_FIRST_REGISTRATION"},
423         {2xx2, "DIAMETER_SUBSEQUENT_REGISTRATION "},
424         {2xx3, "DIAMETER_UNREGISTERED_SERVICE "},
425         {2xx4, "DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED "},
426         {2xx5, "DIAMETER_SERVER_SELECTION"},
427         {2xx6, "DIAMETER_SUCCESS_AUTH_SENT_SERVER_NOT_STORED"},
428         {2xx7, "DIAMETER_SUCCESS_SERVER_NOT_STORED"},
429         
430           */
431
432         /* Protocol errors */
433         {3001, "DIAMETER_COMMAND_UNSUPPORTED"},
434         {3002, "DIAMETER_UNABLE_TO_DELIVER"},
435         {3003, "DIAMETER_REALM_NOT_SERVED"},
436         {3004, "DIAMETER_TOO_BUSY"},
437         {3005, "DIAMETER_LOOP_DETECTED"},
438         {3006, "DIAMETER_REDIRECT_INDICATION"},
439         {3007, "DIAMETER_APPLICATION_UNSUPPORTED"},
440         {3008, "DIAMETER_INVALID_HDR_BITS"},
441         {3009, "DIAMETER_INVALID_AVP_BITS"},
442         {3010, "DIAMETER_UNKNOWN_PEER"},
443         /* Transient Failures */
444         {4001, "DIAMETER_AUTHENTICATION_REJECTED"},
445         {4002, "DIAMETER_OUT_OF_SPACE"},
446         {4003, "ELECTION_LOST"},
447         /* draft-ietf-aaa-diameter-mobileip-16 */
448         {4005, "DIAMETER_ERROR_MIP_REPLY_FAILURE"},
449         {4006, "DIAMETER_ERROR_HA_NOT_AVAILABLE"},
450         {4007, "DIAMETER_ERROR_BAD_KEY"},
451         {4008, "DIAMETER_ERROR_MIP_FILTER_NOT_SUPPORTED"},
452         /* draft-ietf-aaa-diameter-cc-03.txt */
453         {4010, "DIAMETER_END_USER_SERVICE_DENIED"},
454         {4011, "DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE"},
455         {4012, "DIAMETER_CREDIT_LIMIT_REACHED"},
456         /* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA 
457          
458         {4xx1, "DIAMETER_USER_NAME_REQUIRED"},
459         */
460         /* Permanent Failures */
461         {5001, "DIAMETER_AVP_UNSUPPORTED"}, 
462         {5002, "DIAMETER_UNKNOWN_SESSION_ID"}, 
463         {5003, "DIAMETER_AUTHORIZATION_REJECTED"}, 
464         {5004, "DIAMETER_INVALID_AVP_VALUE"}, 
465         {5005, "DIAMETER_MISSING_AVP"}, 
466         {5006, "DIAMETER_RESOURCES_EXCEEDED"}, 
467         {5007, "DIAMETER_CONTRADICTING_AVPS"}, 
468         {5008, "DIAMETER_AVP_NOT_ALLOWED"}, 
469         {5009, "DIAMETER_AVP_OCCURS_TOO_MANY_TIMES"}, 
470         {5010, "DIAMETER_NO_COMMON_APPLICATION"}, 
471         {5011, "DIAMETER_UNSUPPORTED_VERSION"}, 
472         {5012, "DIAMETER_UNABLE_TO_COMPLY"}, 
473         {5013, "DIAMETER_INVALID_BIT_IN_HEADER"}, 
474         {5014, "DIAMETER_INVALID_AVP_LENGTH"}, 
475         {5015, "DIAMETER_INVALID_MESSAGE_LENGTH"}, 
476         {5016, "DIAMETER_INVALID_AVP_BIT_COMBO"}, 
477         {5017, "DIAMETER_NO_COMMON_SECURITY"}, 
478         {5018, "DIAMETER_AVP_NOT_ALLOWED"}, 
479         {5019, "DIAMETER_AVP_OCCURS_TOO_MANY_TIMES"}, 
480         /* draft-ietf-aaa-diameter-mobileip-16 */
481         {5024, "DIAMETER_ERROR_NO_FOREIGN_HA_SERVICE"}, 
482         {5025, "DIAMETER_ERROR_END_TO_END_MIP_KEY_ENCRYPTION"}, 
483         /* draft-ietf-aaa-diameter-cc-03.txt */
484         {5030, "DIAMETER_USER_UNKNOWN"},
485         {5031, "DIAMETER_RATING_FAILED"},
486         {5032, "DIAMETER_CREDIT_LIMIT_REACHED"},
487
488         /* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA 
489
490         {5xx1, "DIAMETER_ERROR_USER_UNKNOWN"}, 
491         {5xx2, "DIAMETER_ERROR_IDENTITIES_DONT_MATCH"}, 
492         {5xx3, "DIAMETER_ERROR_IDENTITY_NOT_REGISTERED"}, 
493         {5xx4, "DIAMETER_ERROR_ROAMING_NOT_ALLOWED"}, 
494         {5xx5, "DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED"}, 
495         {5xx6, "DIAMETER_ERROR_USER_UNKNOWN"}, 
496         {5xx7, "DIAMETER_ERROR_IN_ASSIGNMENT_TYPE"}, 
497         {5xx8, "DIAMETER_ERROR_TOO_MUCH_DATA"}, 
498         {5xx9, "DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA"},
499         */
500         {0, NULL}
501 };
502
503
504 static struct old_avp_info old_diameter_avps[] = {
505         /* Radius Attributes */
506         {  1, "User-Name",                DIAMETER_UTF8STRING,   (value_string *)NULL},
507         {  2, "User-Password",            DIAMETER_OCTET_STRING, (value_string *)NULL},
508         {  3, "CHAP-Password",            DIAMETER_OCTET_STRING, (value_string *)NULL},
509         {  4, "NAS-IP-Address",           DIAMETER_IP_ADDRESS,   (value_string *)NULL},
510         {  5, "NAS-Port",                 DIAMETER_INTEGER32,    (value_string *)NULL},
511         {  6, "Service-Type",             DIAMETER_ENUMERATED,   diameter_service_type_vals},
512         {  7, "Framed-Protocol",          DIAMETER_ENUMERATED,   diameter_framed_protocol_vals},
513         {  8, "Framed-IP-Address",        DIAMETER_IP_ADDRESS,   (value_string *)NULL},
514         {  9, "Framed-IP-Netmask",        DIAMETER_IP_ADDRESS,   (value_string *)NULL},
515         { 10, "Framed-Routing",           DIAMETER_ENUMERATED,   diameter_framed_routing_vals},
516         { 11, "Filter-Id",                DIAMETER_UTF8STRING,   (value_string *)NULL},
517         { 12, "Framed-MTU",               DIAMETER_INTEGER32,    (value_string *)NULL},
518         { 13, "Framed-Compression",       DIAMETER_ENUMERATED,   diameter_framed_compression_vals},
519         { 14, "Login-IP-Host",            DIAMETER_IP_ADDRESS,   (value_string *)NULL},
520         { 15, "Login-Service",            DIAMETER_ENUMERATED,   diameter_login_service_vals},
521         { 16, "Login-TCP-Port",           DIAMETER_INTEGER32,    (value_string *)NULL},
522         { 17, "Old-Password",             DIAMETER_OCTET_STRING, (value_string *)NULL},
523         { 18, "Reply-Message",            DIAMETER_UTF8STRING,   (value_string *)NULL},
524         { 19, "Callback-Number",          DIAMETER_OCTET_STRING, (value_string *)NULL},
525         { 20, "Callback-Id",              DIAMETER_OCTET_STRING, (value_string *)NULL},
526         /* 21 is Unassigned */
527         { 22, "Framed-Route",             DIAMETER_UTF8STRING,   (value_string *)NULL},
528         { 23, "Framed-IPX-Network",       DIAMETER_OCTET_STRING, (value_string *)NULL},
529         { 24, "State",                    DIAMETER_OCTET_STRING, (value_string *)NULL},
530         { 25, "Class",                    DIAMETER_OCTET_STRING, (value_string *)NULL},
531         { 26, "Vendor-Specific",          DIAMETER_ENUMERATED,   diameter_vendor_specific_vendors},
532         { 27, "Session-Timeout",          DIAMETER_INTEGER32,    (value_string *)NULL},
533         { 28, "Idle-Timeout",             DIAMETER_INTEGER32,    (value_string *)NULL},
534         { 29, "Termination-Action",       DIAMETER_ENUMERATED,   diameter_termination_action_vals},
535         { 30, "Called-Station-Id",        DIAMETER_OCTET_STRING, (value_string *)NULL},
536         { 31, "Calling-Station-Id",       DIAMETER_OCTET_STRING, (value_string *)NULL},
537         { 32, "NAS-Identifier",           DIAMETER_OCTET_STRING, (value_string *)NULL},
538         { 33, "Proxy-State",              DIAMETER_OCTET_STRING, (value_string *)NULL},
539         { 34, "Login-LAT-Service",        DIAMETER_OCTET_STRING, (value_string *)NULL},
540         { 35, "Login-LAT-Node",           DIAMETER_OCTET_STRING, (value_string *)NULL},
541         { 36, "Login-LAT-Group",          DIAMETER_OCTET_STRING, (value_string *)NULL},
542         { 37, "Framed-AppleTalk-Link",    DIAMETER_INTEGER32,    (value_string *)NULL},
543         { 38, "Framed-AppleTalk-Network", DIAMETER_INTEGER32,    (value_string *)NULL},
544         { 39, "Framed-AppleTalk-Zone",    DIAMETER_OCTET_STRING, (value_string *)NULL},
545         { 40, "Acct-Status-Type",         DIAMETER_ENUMERATED,   diameter_acct_status_type_vals},
546         { 41, "Acct-Delay-Time",          DIAMETER_INTEGER32,    (value_string *)NULL},
547         { 42, "Acct-Input-Octets",                              DIAMETER_INTEGER32,    (value_string *)NULL},
548         { 43, "Acct-Output-Octets",                             DIAMETER_INTEGER32,    (value_string *)NULL},
549         { 44, "Acct-Session-Id",                                DIAMETER_OCTET_STRING, (value_string *)NULL},
550         { 45, "Acct-Authentic",                                 DIAMETER_ENUMERATED,   diameter_acct_authentic_vals},
551         { 46, "Acct-Session-Time",                              DIAMETER_INTEGER32,    (value_string *)NULL},
552         { 47, "Acct-Input-Packets",                             DIAMETER_INTEGER32,    (value_string *)NULL},
553         { 48, "Acct-Output-Packets",                    DIAMETER_INTEGER32,    (value_string *)NULL},
554         { 49, "Acct-Terminate-Cause",                   DIAMETER_ENUMERATED,   diameter_acct_terminate_cause_vals},
555         { 50, "Acct-Multi-Session-Id",                  DIAMETER_OCTET_STRING, (value_string *)NULL},
556         { 51, "Acct-Link-Count",                                DIAMETER_INTEGER32,    (value_string *)NULL},
557         { 52, "Acct-Input-Gigawords",                   DIAMETER_INTEGER32,             (value_string *)NULL},/*[RFC2869]*/
558         { 53, "Acct-Output-Gigawords",                  DIAMETER_INTEGER32,             (value_string *)NULL},/*[RFC2869]*/
559         { 54, "(unassigned)",                                   DIAMETER_INTEGER32,             (value_string *)NULL},
560         { 55, "Event-Timestamp",                                DIAMETER_TIME,                  (value_string *)NULL},/*[RFC2869]*/
561         /*
562          * 56-59        (unassigned)
563          *
564          */
565         { 60,   "CHAP-Challenge",                               DIAMETER_OCTET_STRING,  (value_string *)NULL},
566         { 61,   "NAS-Port-Type",                                DIAMETER_ENUMERATED,    diameter_nas_port_type_vals},
567         { 62,   "Port-Limit",                                   DIAMETER_INTEGER32,             (value_string *)NULL},
568         { 63,   "Login-LAT-Port",                               DIAMETER_OCTET_STRING,  (value_string *)NULL},
569         { 64,   "Tunnel-Type",                                  DIAMETER_ENUMERATED,    diameter_tunnel_type_vals},
570         { 65,   "Tunnel-Medium-Type",                   DIAMETER_ENUMERATED,    diameter_tunnel_medium_type_vals},
571         { 66,   "Tunnel-Client-Endpoint",               DIAMETER_OCTET_STRING,  (value_string *)NULL},
572         { 67,   "Tunnel-Server-Endpoint",               DIAMETER_OCTET_STRING,  (value_string *)NULL},
573         { 68,   "Tunnel-Connection-ID",                 DIAMETER_OCTET_STRING,  (value_string *)NULL},
574         { 69,   "Tunnel-Password",                              DIAMETER_OCTET_STRING,  (value_string *)NULL},
575         { 70,   "ARAP-Password",                                DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2869]*/
576         { 71,   "ARAP-Features",                                DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2869]*/
577         { 72,   "ARAP-Zone-Access",                             DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2869]*/
578         { 73,   "ARAP-Security",                                DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2869]*/
579         { 74,   "ARAP-Security-Data",                   DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2869]*/
580         { 75,   "Password-Retry",                               DIAMETER_INTEGER32,             (value_string *)NULL},/*[RFC2869]*/
581         { 76,   "Prompt",                                               DIAMETER_ENUMERATED,    (value_string *)NULL},/*[RFC2869]*/
582         { 77,   "Connect-Info",                                 DIAMETER_UTF8STRING,    (value_string *)NULL},/*[RFC2869]*/
583         { 78,   "Configuration-Token",                  DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2869]*/
584         { 79,   "EAP-Message",                                  DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2869]*/
585         { 80,   "Message-Authenticator",                DIAMETER_INTEGER64,             (value_string *)NULL},/*[RFC2869]*/
586         { 81,   "Tunnel-Private-Group-ID",              DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2868]*/
587     { 82,       "Tunnel-Assignment-Id",                 DIAMETER_OCTET_STRING,  (value_string *)NULL},
588         { 83,   "Tunnel-Preference",                    DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2868]*/
589         { 84,   "ARAP-Challenge-Response",              DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2869]*/
590         { 85,   "Acct-Interim-Interval",                DIAMETER_INTEGER32,             (value_string *)NULL},/*[RFC2869]*/
591         { 86,   "Acct-Tunnel-Packets-Lost",             DIAMETER_INTEGER32,             (value_string *)NULL},/*[RFC2867]*/
592         { 87,   "NAS-Port-Id",                                  DIAMETER_UTF8STRING,    (value_string *)NULL},/*[RFC2869]*/
593         { 88,   "Framed-Pool",                                  DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2869]*/
594         { 89,   "(unassigned)",                                 DIAMETER_OCTET_STRING,  (value_string *)NULL},
595         { 90,   "Tunnel-Client-Auth-ID",                DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2868]*/
596         { 91,   "Tunnel-Server-Auth-ID",                DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC2868]*/
597         /*
598          * 92-93      (Unassigned)
599          */
600         { 94,   "Originating-Line-Info",                DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[Trifunovic]*/ 
601         { 95,   "NAS-IPv6-Address",                             DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC3162]*/
602         { 96,   "Framed-Interface-Id",                  DIAMETER_INTEGER64,             (value_string *)NULL},/*[RFC3162]*/
603         { 97,   "Framed-IPv6-Prefix",                   DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC3162]*/
604         { 98,   "Login-IPv6-Host",                              DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC3162]*/
605         { 99,   "Framed-IPv6-Route",                    DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC3162]*/
606         { 100,  "Framed-IPv6-Pool",                             DIAMETER_OCTET_STRING,  (value_string *)NULL},/*[RFC3162]*/
607         { 101,  "Error-Cause Attribute",                DIAMETER_ENUMERATED,    diameter_error_cause_attribute_vals},/*[RFC3576]*/ 
608 /*
609    192-223      Experimental Use                         [RFC2058]
610    224-240      Implementation Specific                  [RFC2058]
611    241-255      Reserved                                 [RFC2058]   
612 */
613         /* Diameter AVPs */
614     { 482, "Accounting-Interim-Interval", DIAMETER_UNSIGNED32,  (value_string *)NULL},
615     { 483, "Accounting-Realtime-Required",DIAMETER_UNSIGNED32,  (value_string *)NULL},
616     { 485, "Accounting-Record-Number",    DIAMETER_UNSIGNED32,  (value_string *)NULL},
617     { 480, "Accounting-Record-Type",      DIAMETER_ENUMERATED,  diameter_accounting_record_type_vals},
618     { 287, "Accounting-Sub-Session-Id",   DIAMETER_UNSIGNED64,  (value_string *)NULL},
619     { 259, "Acct-Application-Id",         DIAMETER_UNSIGNED32,  diameter_application_id_vals},
620     { 275, "Alternate-Peer",              DIAMETER_IDENTITY,    (value_string *)NULL},
621     { 258, "Auth-Application-Id",         DIAMETER_UNSIGNED32,  diameter_application_id_vals},
622     { 274, "Auth-Request-Type",           DIAMETER_ENUMERATED,  diameter_auth_request_type_vals},
623     { 291, "Authorization-Lifetime",      DIAMETER_INTEGER32,   (value_string *)NULL},
624     { 276, "Auth-Grace-Period",           DIAMETER_UNSIGNED32,  (value_string *)NULL},
625     { 277, "Auth-Session-State",          DIAMETER_ENUMERATED,  diameter_auth_session_state_vals},
626     { 285, "Re-Auth-Request-Type",        DIAMETER_ENUMERATED,  diameter_re_auth_request_type_vals},
627     { 293, "Destination-Host",            DIAMETER_IDENTITY,    (value_string *)NULL},
628     { 283, "Desintation-Realm",           DIAMETER_UTF8STRING,  (value_string *)NULL},
629     { 273, "Disconnect-Cause",            DIAMETER_ENUMERATED,  diameter_disconnect_cause_vals},
630     { 281, "Error-Message",               DIAMETER_UTF8STRING,  (value_string *)NULL},
631     { 294, "Error-Reporting-Host",        DIAMETER_IDENTITY,    (value_string *)NULL},
632     { 279, "Failed-AVP",                  DIAMETER_OCTET_STRING,(value_string *)NULL},
633     { 267, "Firmware-Revision",           DIAMETER_UNSIGNED32,  (value_string *)NULL},
634     { 257, "Host-IP-Address",             DIAMETER_IP_ADDRESS,  (value_string *)NULL},
635     { 272, "Multi-Round-Time-Out",        DIAMETER_UNSIGNED32,  (value_string *)NULL},
636     { 264, "Origin-Host",                 DIAMETER_IDENTITY,    (value_string *)NULL},
637     { 296, "Origin-Realm",                DIAMETER_UTF8STRING,  (value_string *)NULL},
638     { 278, "Origin-State-Id",             DIAMETER_UNSIGNED32,  (value_string *)NULL},
639     { 269, "Product-Name",                DIAMETER_UTF8STRING,  (value_string *)NULL},
640     { 280, "Proxy-Host",                  DIAMETER_IDENTITY,    (value_string *)NULL},
641     { 284, "Proxy-Info",                  DIAMETER_GROUPED,     (value_string *)NULL},
642     { 292, "Redirect-Host",               DIAMETER_IDENTITY,    (value_string *)NULL},
643     { 261, "Redirect-Host-Usage",         DIAMETER_ENUMERATED,  diameter_redirect_host_usage_vals},
644     { 262, "Redirect-Max-Cache-Time",     DIAMETER_UNSIGNED32,  (value_string *)NULL},
645     { 268, "Result-Code",                 DIAMETER_ENUMERATED,  diameter_result_code_vals},
646     { 282, "Route-Record",                DIAMETER_IDENTITY,    (value_string *)NULL},
647     { 263, "Session-Id",                  DIAMETER_SESSION_ID,  (value_string *)NULL},
648     { 270, "Session-Binding",             DIAMETER_UNSIGNED32,  (value_string *)NULL},
649     { 271, "Session-Server-Failover",     DIAMETER_ENUMERATED,  diameter_session_server_failover_vals},
650     { 286, "Source-Route",                DIAMETER_IDENTITY,    (value_string *)NULL},
651     { 265, "Supported-Vendor-Id",         DIAMETER_UNSIGNED32,  (value_string *)NULL},
652     { 295, "Termination-Cause",           DIAMETER_ENUMERATED,  diameter_termination_cause_vals},
653     { 266, "Vendor-Id",                   DIAMETER_ENUMERATED,  diameter_vendor_specific_vendors},
654     { 260, "Vendor-Specific-Application-Id", DIAMETER_GROUPED, (value_string *)NULL},
655 /* Diameter Mobile IP AVPs */
656     { 318, "MIP-FA-to-HA-SPI",            DIAMETER_UNSIGNED32,     (value_string *)NULL},
657     { 319, "MIP-FA-to-MN-SPI",            DIAMETER_UNSIGNED32,     (value_string *)NULL},
658     { 320, "MIP-Reg-Request",             DIAMETER_MIP_REG_REQ,    (value_string *)NULL},
659     { 321, "MIP-Reg-Reply",               DIAMETER_OCTET_STRING,   (value_string *)NULL},
660     { 322, "MIP-MN-AAA-Auth",             DIAMETER_GROUPED,        (value_string *)NULL},
661     { 325, "MIP-MN-to-FA-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
662     { 326, "MIP-FA-to-MN-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
663     { 328, "MIP-FA-to-HA-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
664     { 329, "MIP-HA-to-FA-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
665     { 330, "MIP-Foreign-Agent-Host",      DIAMETER_IDENTITY,       (value_string *)NULL},
666     { 331, "MIP-MN-to-HA-KEY",            DIAMETER_GROUPED,        (value_string *)NULL},
667     { 333, "MIP-Mobile-Node-Address",     DIAMETER_IP_ADDRESS,     (value_string *)NULL},
668     { 334, "MIP-Home-Agent-Address",      DIAMETER_IP_ADDRESS,     (value_string *)NULL},
669     { 335, "MIP-Key-Material",            DIAMETER_OCTET_STRING,   (value_string *)NULL},
670     { 336, "MIP-Candidate-Home-Agent-Host",             DIAMETER_IDENTITY,                      (value_string *)NULL},
671     { 337, "MIP-Feature-Vector",          DIAMETER_UNSIGNED32,     (value_string *)NULL},
672     { 338, "MIP-Auth-Input-Data-Length",  DIAMETER_UNSIGNED32,     (value_string *)NULL},
673     { 339, "MIP-Authenticator-Length",    DIAMETER_UNSIGNED32,     (value_string *)NULL},
674     { 340, "MIP-Authenticator-Offset",    DIAMETER_UNSIGNED32,     (value_string *)NULL},
675     { 341, "MIP-MN-AAA-SPI",              DIAMETER_UNSIGNED32,     (value_string *)NULL},
676     { 342, "MIP-PEER-SPI",                DIAMETER_UNSIGNED32,     (value_string *)NULL},
677     { 343, "MIP-Session-Key",             DIAMETER_OCTET_STRING,   (value_string *)NULL},
678     { 344, "MIP-FA-Challenge",            DIAMETER_OCTET_STRING,   (value_string *)NULL},
679     { 345, "MIP-Algorithm-Type",          DIAMETER_ENUMERATED,     diameter_mip_algorithm_type},
680     { 346, "MIP-Algorithm-Type",          DIAMETER_ENUMERATED,     diameter_mip_replay_type},
681     { 347, "MIP-Filter-Rule",             DIAMETER_IP_FILTER_RULE, (value_string *)NULL},
682     { 348, "MIP-Home-Agent-Host",                       DIAMETER_IDENTITY,                      (value_string *)NULL},
683     { 398, "MIP-Key-Lifetime",            DIAMETER_UNSIGNED32,    (value_string *)NULL},
684 /* http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-cc-03.txt */
685         { 411, "CC-Correlation-Id",                 DIAMETER_OCTET_STRING,              (value_string *)NULL}, 
686         { 412, "CC-Input-Octets",                   DIAMETER_UNSIGNED64 ,               (value_string *)NULL}, 
687         { 413, "CC-Money",                          DIAMETER_GROUPED    ,               (value_string *)NULL}, 
688         { 414, "CC-Output-Octets",                  DIAMETER_UNSIGNED64 ,               (value_string *)NULL}, 
689         { 415, "CC-Request-Number",                 DIAMETER_UNSIGNED32 ,               (value_string *)NULL}, 
690         { 416, "CC-Request-Type",                   DIAMETER_ENUMERATED ,               (value_string *)NULL}, 
691         { 417, "CC-Service-Specific-Units",         DIAMETER_UNSIGNED64 ,               (value_string *)NULL},  
692         { 418, "CC-Session-Failover",                           DIAMETER_ENUMERATED ,           (value_string *)NULL}, 
693         { 419, "CC-Sub-Session-Id",                 DIAMETER_UNSIGNED64 ,               (value_string *)NULL},
694         { 420, "CC-Time",                           DIAMETER_UNSIGNED32 ,               (value_string *)NULL},
695         { 421, "CC-Total-Octets",                   DIAMETER_UNSIGNED64 ,               (value_string *)NULL},
696         { 454, "CC-Unit-Type",                      DIAMETER_ENUMERATED ,               (value_string *)NULL},
697         { 422, "Check-Balance-Result",              DIAMETER_ENUMERATED ,               (value_string *)NULL},
698         { 423, "Cost-Information",                  DIAMETER_GROUPED    ,               (value_string *)NULL},
699         { 424, "Cost-Unit",                         DIAMETER_UTF8STRING ,               (value_string *)NULL},
700         { 426, "Credit-Control",                    DIAMETER_ENUMERATED ,               (value_string *)NULL},
701         { 427, "Credit-Control-Failure-Handling",   DIAMETER_ENUMERATED ,               (value_string *)NULL},
702         { 425, "Currency-Code",                     DIAMETER_UNSIGNED32 ,               (value_string *)NULL},
703         { 428, "Direct-Debiting-Failure-Handling",  DIAMETER_ENUMERATED ,               (value_string *)NULL},
704         { 429, "Exponent",                          DIAMETER_INTEGER32  ,               (value_string *)NULL},
705         { 449, "Final-Unit-Action",                 DIAMETER_ENUMERATED ,               (value_string *)NULL},
706         { 430, "Final-Unit-Indication",             DIAMETER_GROUPED    ,               (value_string *)NULL},
707         { 431, "Granted-Service-Unit",              DIAMETER_GROUPED    ,               (value_string *)NULL},
708         { 453, "G-S-U-Pool-Identifier",             DIAMETER_UNSIGNED32 ,               (value_string *)NULL},
709         { 457, "G-S-U-Pool-Reference",              DIAMETER_GROUPED    ,               (value_string *)NULL},
710         { 456, "Multiple-Services-Credit-Control",  DIAMETER_GROUPED    ,               (value_string *)NULL},
711         { 455, "Multiple-Services-Indicator",       DIAMETER_ENUMERATED ,               (value_string *)NULL},
712         { 432, "Rating-Group",                      DIAMETER_UNSIGNED32 ,               (value_string *)NULL},
713         { 433, "Redirect-Address-Type",             DIAMETER_ENUMERATED ,               (value_string *)NULL},
714         { 434, "Redirect-Server",                   DIAMETER_GROUPED    ,               (value_string *)NULL},
715         { 435, "Redirect-Server-Address",           DIAMETER_UTF8STRING ,               (value_string *)NULL},
716         { 436, "Requested-Action",                  DIAMETER_ENUMERATED ,               (value_string *)NULL},
717         { 437, "Requested-Service-Unit",            DIAMETER_GROUPED    ,               (value_string *)NULL},
718         { 438, "Restriction-Filter-Rule",           DIAMETER_IP_FILTER_RULE,    (value_string *)NULL},
719         { 439, "Service-Identifier",                DIAMETER_UTF8STRING ,               (value_string *)NULL},
720         { 440, "Service-Parameter-Info",            DIAMETER_GROUPED    ,               (value_string *)NULL},
721         { 441, "Service-Parameter-Type",            DIAMETER_UNSIGNED32 ,               (value_string *)NULL},
722         { 442, "Service-Parameter-Value",           DIAMETER_OCTET_STRING,              (value_string *)NULL},
723         { 443, "Subscription-Id",                   DIAMETER_GROUPED    ,               (value_string *)NULL},
724         { 444, "Subscription-Id-Data",              DIAMETER_UTF8STRING ,               (value_string *)NULL},
725         { 450, "Subscription-Id-Type",              DIAMETER_ENUMERATED ,               (value_string *)NULL},
726         { 452, "Tariff-Change-Usage",               DIAMETER_ENUMERATED ,               (value_string *)NULL},
727         { 451, "Tariff-Time-Change",                DIAMETER_TIME,                              (value_string *)NULL},
728         { 445, "Unit-Value",                        DIAMETER_GROUPED    ,               (value_string *)NULL},
729         { 446, "Used-Service-Unit",                 DIAMETER_GROUPED    ,               (value_string *)NULL},
730         { 447, "Value-Digits",                      DIAMETER_INTEGER64  ,               (value_string *)NULL},
731         { 448, "Validity-Time",                     DIAMETER_UNSIGNED32 ,               (value_string *)NULL},
732
733
734 /* draft-ietf-aaa-diameter-sip-app-01.txt AVP codes to be allocated
735         { xx01, "SIP-Visited-Network-Id",                       DIAMETER_UTF8STRING,            (value_string *)NULL},
736         { xx02, "SIP-AOR",                                                      DIAMETER_UTF8STRING,            (value_string *)NULL},
737         { xx03, "SIP-Server-URI",                                       DIAMETER_UTF8STRING,            (value_string *)NULL},
738         { xx04, "SIP-Server-Capabilities",                      DIAMETER_GROUPED,                       (value_string *)NULL},
739         { xx05, "SIP-Mandatory-Capability",                     DIAMETER_UNSIGNED32,            (value_string *)NULL},
740         { xx06, "SIP-Optional-Capability",                      DIAMETER_UNSIGNED32,            (value_string *)NULL},
741         { xx07, "SIP-User-Data",                                        DIAMETER_OCTET_STRING,          (value_string *)NULL},
742         { xx08, "SIP-Number-Auth-Items",                        DIAMETER_UNSIGNED32,            (value_string *)NULL},
743         { xx09, "SIP-Auth-Data-Item",                           DIAMETER_GROUPED,                       (value_string *)NULL},
744         { xx10, "SIP-Item-Number",                                      DIAMETER_UNSIGNED32,            (value_string *)NULL},
745         { xx11, "SIP-Authentication-Scheme",            DIAMETER_OCTET_STRING,          (value_string *)NULL},
746         { xx12, "SIP-Authenticate",                                     DIAMETER_OCTET_STRING,          (value_string *)NULL},
747         { xx13, "SIP-Authorization",                            DIAMETER_OCTET_STRING,          (value_string *)NULL},
748         { xx14, "SIP-Authentication-Info",                      DIAMETER_OCTET_STRING,          (value_string *)NULL},
749         { xx15, "SIP-Authentication-Context",           DIAMETER_GROUPED,                       (value_string *)NULL},
750         { xx16, "SIP-Confidentiality-Key",                      DIAMETER_OCTET_STRING,          (value_string *)NULL},
751         { xx17, "SIP-Integrity-Key",                            DIAMETER_OCTET_STRING,          (value_string *)NULL},
752         { xx18, "SIP-Server-Assignment-Type",           DIAMETER_ENUMERATED,            SIP_server_assignment_type},
753         { xx19, "SIP-Deregistration-Reason",            DIAMETER_GROUPED,                       (value_string *)NULL},
754         { xx20, "SIP-Reason-Code",                                      DIAMETER_ENUMERATED,            SIP_reason_code_vals},
755         { xx21, "SIP-Reason-Info",                                      DIAMETER_UTF8STRING,            (value_string *)NULL},
756         { xx22, "SIP-Accouting-Information",            DIAMETER_GROUPED,                       (value_string *)NULL},
757         { xx23, "SIP-Accounting-Server-URI",            DIAMETER_UTF8STRING,            (value_string *)NULL},
758         { xx24, "SIP-Credit-Control-Server-URI",        DIAMETER_UTF8STRING,            (value_string *)NULL},
759         { xx25, "SIP-User-Authorization-Type",          DIAMETER_ENUMERATED,            SIP_user_authorization_type},
760         { xx26, "SIP-User-Data-Request-Type",           DIAMETER_ENUMERATED,            SIP_user_data_request_type},
761         { xx27, "SIP-User-Data-Already-Available",      DIAMETER_ENUMERATED,            SIP_user_data_already_available_vals},
762         { xx28, "SIP-Method",                                           DIAMETER_UTF8STRING,            (value_string *)NULL},
763         { xx29, "SIP-Entity-Body-Hash",                         DIAMETER_OCTET_STRING,          (value_string *)NULL},
764         */
765         {0, (char *)NULL, 0, (value_string*)NULL}
766 };
767
768
769
770 static value_string diameter_command_code_vals[] = {
771
772         /* Base Protocol */
773         {257, "Capabilities-Exchange"},
774         {258, "Re-Auth"},
775         {271, "Accounting"},
776         {274, "Abort-Session"},
777         {275, "Session-Termination"},
778         {280, "Device-Watchdog"},
779         {282, "Disconnect-Peer"},
780         {300, "Test-Auth"},
781         /* Mip Protocol */
782         {260, "AA-Mobile-Node"},
783         {262, "Home-Agent-MIP"},
784         /* Nasreq Protocol */
785         {265, "AA"},
786         {268, "Diameter-EAP"},
787         /* Credit-Control Application */
788         {272, "Credit-Control"},
789         /* draft-ietf-aaa-diameter-cms-sec-04 */
790         {304,  "Diameter-Security-Association"},
791         {305,  "Proxy-Diameter-Security-Association"},
792         /* Session Initiation Protocol (SIP) Application, numbers not yet assigned by IANA 
793         {aaa, "User-Authorization"},
794         {bbb, "Server-Assignment"},
795         {ccc, "Location-Info"},
796         {ddd, "Multimedia-Auth"},
797         {eee, "Registration-Termination"},
798         {fff, "Push-Profile"},
799         */      
800
801         {0, (char *)NULL}
802 };
803
804
805
806
807 #endif /* _PACKET_DIAMETER_H */