2 * Filename: packet-diameter-defs.h
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.
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
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
20 #ifndef _PACKET_DIAMETER_DEFS_H
21 #define _PACKET_DIAMETER_DEFS_H
24 /* Type to string table */
26 /* Attribute to String tables */
27 static value_string diameter_service_type_vals[]={
30 {3, "Callback-Login"},
31 {4, "Callback-Framed"},
33 {6, "Administrative"},
35 {8, "Authenticate-Only"},
36 {9, "Callback-NAS-Prompt"},
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] */
48 static value_string diameter_framed_protocol_vals[]={
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"},
66 static value_string diameter_framed_routing_vals[]={
68 {1, "Send routing packets"},
69 {2, "Listen for routing packets"},
70 {3, "Send and Listen"},
74 static value_string diameter_framed_compression_vals[]={
76 {1, "VJ TCP/IP header compression"},
77 {2, "IPX-Header-Compression"},
78 {3, "Stac-LZS compression"},
82 static value_string diameter_login_service_vals[]={
91 {8, "TCP Clear Quiet (suppresses any NAS-generated connect string)"},
95 static value_string diameter_vendor_specific_vendors[]= {
99 {42, "Sun Microsystems"},
104 {1584, "Bay Networks"},
105 {2636, "Juniper Networks"},
106 {5925, "ipUnplugged"},
111 static value_string diameter_termination_action_vals[]={
113 {1, "RADIUS-Request"},
117 static value_string diameter_acct_status_type_vals[]={
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]*/
138 static value_string diameter_acct_authentic_vals[]={
147 static value_string diameter_acct_terminate_cause_vals[]={
152 {5, "Session-Timeout"},
159 {12, "Port-Unneeded"},
160 {13, "Port-Preempted"},
161 {14, "Port-Suspended"},
162 {15, "Service-Unavailable"},
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]*/
172 static value_string diameter_nas_port_type_vals[]={
176 {3, "ISDN Async V.120"},
177 {4, "ISDN Async V.110"},
180 {7, "HDLC-Clear-Channel"},
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"},
189 {16,"xDSL - Digital Subscriber Line of unknown type"},
191 {18,"Wireless - Other"},
192 {19,"Wireless - IEEE 802.11"},
195 {22,"Wireless - CDMA2000"},
196 {23,"Wireless - UMTS"},
197 {24,"Wireless - 1X-EV"},
199 {26,"FTTP - Fiber to the Premises"},
203 static value_string diameter_tunnel_type_vals[]= {
220 static value_string diameter_tunnel_medium_type_vals[]= {
239 *Values for RADIUS Attribute 101, Error-Cause Attribute [RFC3576]:
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"},
260 static value_string diameter_accounting_record_type_vals[]= {
263 {3, "Interim Record"},
268 static value_string diameter_auth_request_type_vals[]= {
269 {1, "Authenticate Only"},
270 {2, "Authorize Only"},
271 {3, "Authorize Authenticate"},
275 static value_string diameter_auth_session_state_vals[]= {
276 {0, "State Maintained"},
277 {1, "No State Maintained"},
281 static value_string diameter_re_auth_request_type_vals[]= {
282 {0, "Authorize Only"},
283 {1, "Authorize Authenticate"},
287 static value_string diameter_disconnect_cause_vals[]= {
290 {2, "Do Not Want To Talk To You"},
294 static value_string diameter_redirect_host_usage_vals[]= {
298 {3, "Realm and Application"},
299 {4, "All Application"},
304 static value_string diameter_session_server_failover_vals[]= {
305 {0, "Refuse Service"},
307 {2, "Allow Service"},
308 {3, "Try Again / Allow Service"},
312 static value_string diameter_termination_cause_vals[]= {
314 {2, "Service Not Provided"},
316 {4, "Administrative"},
321 static value_string diameter_mip_algorithm_type[] = {
322 {1, "MD5 Prefix/Suffix"},
328 static value_string diameter_mip_replay_type[] = {
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"},
341 {2000, "Diameter EAP Application"},
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"},
354 static value_string SIP_user_authorization_type[] = {
356 {1, "DE_REGISTRATION"},
357 {2, "REGISTRATION_AND_CAPABILITIES"},
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"},
370 static value_string SIP_user_data_already_available_vals[] = {
371 {0, "USER_DATA_NOT_AVAILABLE"},
372 {1, "USER_DATA_ALREADY_AVAILABLE"},
377 static value_string SIP_server_assignment_type[] ={
378 {0, "NO_ASSIGNMENT"},
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"},
394 Remove comment when IANA assigned values are avalable */
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:
402 * - 1xxx (Informational)
404 * - 3xxx (Protocol Errors)
405 * - 4xxx (Transient Failures)
406 * - 5xxx (Permanent Failure)
409 static value_string diameter_result_code_vals[] = {
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.
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
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"},
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
458 {4xx1, "DIAMETER_USER_NAME_REQUIRED"},
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"},
488 /* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA
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"},
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]*/
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]*/
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]*/
609 192-223 Experimental Use [RFC2058]
610 224-240 Implementation Specific [RFC2058]
611 241-255 Reserved [RFC2058]
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},
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},
765 {0, (char *)NULL, 0, (value_string*)NULL}
770 static value_string diameter_command_code_vals[] = {
773 {257, "Capabilities-Exchange"},
776 {274, "Abort-Session"},
777 {275, "Session-Termination"},
778 {280, "Device-Watchdog"},
779 {282, "Disconnect-Peer"},
782 {260, "AA-Mobile-Node"},
783 {262, "Home-Agent-MIP"},
784 /* Nasreq Protocol */
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"},
807 #endif /* _PACKET_DIAMETER_H */