1197 lines
55 KiB
C
1197 lines
55 KiB
C
/*
|
|
* Filename: packet-diameter-defs.h
|
|
*
|
|
* $Id$
|
|
*
|
|
* Copyright (c) 2005 by Anders Broman <anders.broman@ericsson.com>
|
|
*
|
|
* Wireshark - Network traffic analyzer
|
|
* By Gerald Combs <gerald@wireshark.org>
|
|
* Copyright 1998 Gerald Combs
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
* This file contains the static definitions of the Diameter base protocol
|
|
* AVPs. If libxml is in the LD_LIBRARY_PATH, and dictionary.xml exists,
|
|
* then it will not be used.
|
|
* References:
|
|
* http://www.ietf.org/rfc/rfc3588.txt
|
|
* http://www.iana.org/assignments/radius-types updated 20 January 2005 (Not command codes)
|
|
* http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-cc-06.txt
|
|
* http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-nasreq-17.txt
|
|
* http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-mobileip-20.txt
|
|
* http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-sip-app-03.txt
|
|
* http://www.ietf.org/html.charters/aaa-charter.html
|
|
* http://www.iana.org/assignments/aaa-parameters
|
|
*/
|
|
|
|
#ifndef _PACKET_DIAMETER_DEFS_H
|
|
#define _PACKET_DIAMETER_DEFS_H
|
|
|
|
|
|
/* Type to string table */
|
|
|
|
/* Attribute to String tables */
|
|
static const value_string diameter_service_type_vals[]={
|
|
{1, "Login"},
|
|
{2, "Framed"},
|
|
{3, "Callback-Login"},
|
|
{4, "Callback-Framed"},
|
|
{5, "Outbound"},
|
|
{6, "Administrative"},
|
|
{7, "NAS-Prompt"},
|
|
{8, "Authenticate-Only"},
|
|
{9, "Callback-NAS-Prompt"},
|
|
{10,"Call Check"},
|
|
{11,"Callback Administrative"},
|
|
{12,"Voice"}, /*[Chiba] */
|
|
{13,"Fax"}, /*[Chiba] */
|
|
{14,"Modem Relay"}, /*[Chiba] */
|
|
{15,"IAPP-Register"}, /*[IEEE 802.11F][Kerry] */
|
|
{16,"IAPP-AP-Check"}, /*[IEEE 802.11F][Kerry] */
|
|
{17,"Authorize Only"}, /*[RFC3576] */
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
static const value_string diameter_framed_protocol_vals[]={
|
|
{1, "PPP"},
|
|
{2, "SLIP"},
|
|
{3, "AppleTalk Remote Access Protocol (ARAP)"},
|
|
{4, "Gandalf proprietary SingleLink/MultiLink protocol"},
|
|
{5, "Xylogics proprietary IPX/SLIP"},
|
|
{6, "X.75 Synchronous"},
|
|
{7, "GPRS PDP Context"},
|
|
{261,"FR"},
|
|
{258,"EUUI"},
|
|
{255,"Ascend-ARA"},
|
|
{259,"X25"},
|
|
{256,"MPP"},
|
|
{257,"EURAW"},
|
|
{260,"COMB"},
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
static const value_string diameter_framed_routing_vals[]={
|
|
{0, "None"},
|
|
{1, "Send routing packets"},
|
|
{2, "Listen for routing packets"},
|
|
{3, "Send and Listen"},
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
static const value_string diameter_framed_compression_vals[]={
|
|
{0, "None"},
|
|
{1, "VJ TCP/IP header compression"},
|
|
{2, "IPX-Header-Compression"},
|
|
{3, "Stac-LZS compression"},
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
static const value_string diameter_login_service_vals[]={
|
|
{0, "Telnet"},
|
|
{1, "Rlogin"},
|
|
{2, "TCP-Clear"},
|
|
{3, "PortMaster"},
|
|
{4, "LAT"},
|
|
{5, "X25-PAD"},
|
|
{6, "X25-T3POS"},
|
|
{7, "(unassigned)"},
|
|
{8, "TCP Clear Quiet (suppresses any NAS-generated connect string)"},
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
static const value_string diameter_termination_action_vals[]={
|
|
{0, "Default"},
|
|
{1, "RADIUS-Request"},
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
static const value_string diameter_acct_status_type_vals[]={
|
|
{1, "Start"},
|
|
{2, "Stop"},
|
|
{3, "Alive"},
|
|
{4, "Modem-Start"},
|
|
{5, "Modem-Stop"},
|
|
{6, "Cancel"},
|
|
{7, "Accounting-On"},
|
|
{8, "Accounting-Off"},
|
|
{9, "Tunnel-Start"}, /*[RFC 2867]*/
|
|
{10, "Tunnel-Stop"}, /*[RFC 2867]*/
|
|
{11, "Tunnel-Reject"}, /*[RFC 2867]*/
|
|
{12, "Tunnel-Link-Start"}, /*[RFC 2867]*/
|
|
{13, "Tunnel-Link-Stop"}, /*[RFC 2867]*/
|
|
{14, "Tunnel-Link-Reject"}, /*[RFC 2867]*/
|
|
{15, "Failed"}, /*[RFC 2866]*/
|
|
|
|
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
static const value_string diameter_acct_authentic_vals[]={
|
|
{1, "RADIUS"},
|
|
{0, "None"},
|
|
{2, "Local"},
|
|
{3, "Remote"},
|
|
{4, "Diameter"},
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
static const value_string diameter_acct_terminate_cause_vals[]={
|
|
{1, "User-Request"},
|
|
{2, "Lost-Carrier"},
|
|
{3, "Lost-Service"},
|
|
{4, "Idle-Timeout"},
|
|
{5, "Session-Timeout"},
|
|
{6, "Admin-Reset"},
|
|
{7, "Admin-Reboot"},
|
|
{8, "Port-Error"},
|
|
{9, "NAS-Error"},
|
|
{10, "NAS-Request"},
|
|
{11, "NAS-Reboot"},
|
|
{12, "Port-Unneeded"},
|
|
{13, "Port-Preempted"},
|
|
{14, "Port-Suspended"},
|
|
{15, "Service-Unavailable"},
|
|
{16, "Callback"},
|
|
{17, "User-Error"},
|
|
{18, "Host-Request"},
|
|
{19, "Supplicant Restart"}, /*[RFC3580]*/
|
|
{20, "Reauthentication Failure"}, /*[RFC3580]*/
|
|
{21, "Port Reinitialized"}, /*[RFC3580]*/
|
|
{22, "Port Administratively Disabled"}, /*[RFC3580]*/
|
|
{0, (char *)NULL}
|
|
};
|
|
static const value_string diameter_nas_port_type_vals[]={
|
|
{0, "Async"},
|
|
{1, "Sync"},
|
|
{2, "ISDN Sync"},
|
|
{3, "ISDN Async V.120"},
|
|
{4, "ISDN Async V.110"},
|
|
{5, "Virtual"},
|
|
{6, "PIAFS"},
|
|
{7, "HDLC-Clear-Channel"},
|
|
{8, "X.25"},
|
|
{9, "X.75"},
|
|
{10,"G.3 Fax"},
|
|
{11,"SDSL - Symmetric DSL"},
|
|
{12,"ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase Modulation"},
|
|
{13,"ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone"},
|
|
{14,"IDSL - ISDN Digital Subscriber Line"},
|
|
{15,"Ethernet"},
|
|
{16,"xDSL - Digital Subscriber Line of unknown type"},
|
|
{17,"Cable"},
|
|
{18,"Wireless - Other"},
|
|
{19,"Wireless - IEEE 802.11"},
|
|
{20,"Token-Ring"},
|
|
{21,"FDDI"},
|
|
{22,"Wireless - CDMA2000"},
|
|
{23,"Wireless - UMTS"},
|
|
{24,"Wireless - 1X-EV"},
|
|
{25,"IAPP"},
|
|
{26,"FTTP - Fiber to the Premises"},
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
static const value_string diameter_tunnel_type_vals[]= {
|
|
{1,"PPTP"},
|
|
{2,"L2F"},
|
|
{3,"L2TP"},
|
|
{4,"ATMP"},
|
|
{5,"VTP"},
|
|
{6,"AH"},
|
|
{7,"IP-IP-Encap"},
|
|
{8,"MIN-IP-IP"},
|
|
{9,"ESP"},
|
|
{10,"GRE"},
|
|
{11,"DVS"},
|
|
{12,"IP-IP"},
|
|
{13,"VLAN"},
|
|
{0,NULL}
|
|
};
|
|
|
|
static const value_string diameter_tunnel_medium_type_vals[]= {
|
|
{1,"IPv4"},
|
|
{2,"IPv6"},
|
|
{3,"NSAP"},
|
|
{4,"HDLC"},
|
|
{5,"BBN"},
|
|
{6,"IEEE-802"},
|
|
{7,"E-163"},
|
|
{8,"E-164"},
|
|
{9,"F-69"},
|
|
{10,"X-121"},
|
|
{11,"IPX"},
|
|
{12,"Appletalk"},
|
|
{13,"Decnet4"},
|
|
{14,"Vines"},
|
|
{15,"E-164-NSAP"},
|
|
{0,NULL}
|
|
};
|
|
|
|
static const value_string diameter_avp_data_addrfamily_vals[]= {
|
|
{1,"IPv4"},
|
|
{2,"IPv6"},
|
|
{3,"NSAP"},
|
|
{4,"HDLC"},
|
|
{5,"BBN"},
|
|
{6,"IEEE-802"},
|
|
{7,"E-163"},
|
|
{8,"E-164"},
|
|
{9,"F-69"},
|
|
{10,"X-121"},
|
|
{11,"IPX"},
|
|
{12,"Appletalk"},
|
|
{13,"Decnet4"},
|
|
{14,"Vines"},
|
|
{15,"E-164-NSAP"},
|
|
{16,"DNS"},
|
|
{17,"DistinguishedName"},
|
|
{18,"AS"},
|
|
{19,"XTPoIPv4"},
|
|
{20,"XTPoIPv6"},
|
|
{21,"XTPNative"},
|
|
{22,"FibrePortName"},
|
|
{23,"FibreNodeName"},
|
|
{24,"GWID"},
|
|
{0,NULL}
|
|
};
|
|
/*
|
|
*Values for RADIUS Attribute 101, Error-Cause Attribute [RFC3576]:
|
|
*/
|
|
static const value_string diameter_error_cause_attribute_vals[]= {
|
|
{201,"Residual Session Context Removed"},
|
|
{202,"Invalid EAP Packet (Ignored)"},
|
|
{401,"Unsupported Attribute"},
|
|
{402,"Missing Attribute"},
|
|
{403,"NAS Identification Mismatch"},
|
|
{404,"Invalid Request"},
|
|
{405,"Unsupported Service"},
|
|
{406,"Unsupported Extension"},
|
|
{501,"Administratively Prohibited"},
|
|
{502,"Request Not Routable (Proxy)"},
|
|
{503,"Session Context Not Found"},
|
|
{504,"Session Context Not Removable"},
|
|
{505,"Other Proxy Processing Error"},
|
|
{506,"Resources Unavailable"},
|
|
{507,"Request Initiated"},
|
|
{0,NULL}
|
|
};
|
|
/* Auth-Request-Type AVP Values (code 247) */
|
|
static const value_string diameter_auth_request_type_vals[]= {
|
|
{1, "Authenticate Only"},
|
|
{2, "Authorize Only"},
|
|
{3, "Authorize Authenticate"},
|
|
{0,NULL}
|
|
};
|
|
/* Redirect-Host-Usage AVP Values (code 261) */
|
|
static const value_string diameter_redirect_host_usage_vals[]= {
|
|
{0, "Don't Cache"},
|
|
{1, "All Session"},
|
|
{2, "All Realm"},
|
|
{3, "Realm and Application"},
|
|
{4, "All Application"},
|
|
{5, "All Host"},
|
|
{6, "All User"},
|
|
{0,NULL}
|
|
};
|
|
/* Session-Binding AVP Values (code 270) */
|
|
static const value_string diameter_session_binding_vals[]= {
|
|
{1, "RE_AUTH"}, /*[RFC3588]*/
|
|
{2, "STR"}, /*[RFC3588]*/
|
|
{3, "Unallocated"},
|
|
{4, "ACCOUNTING"}, /*[RFC3588]*/
|
|
/*5-8 Unallocated (IETF Consensus) */
|
|
{0,NULL}
|
|
};
|
|
|
|
/* Session-Server-Failover AVP Values (code 271) */
|
|
static const value_string diameter_session_server_failover_vals[]= {
|
|
{0, "Refuse Service"},
|
|
{1, "Try Again"},
|
|
{2, "Allow Service"},
|
|
{3, "Try Again / Allow Service"},
|
|
{0,NULL}
|
|
};
|
|
/* Disconnect-Cause AVP Values (code 273) */
|
|
static const value_string diameter_disconnect_cause_vals[]= {
|
|
{0, "Rebooting"},
|
|
{1, "Busy"},
|
|
{2, "Do Not Want To Talk To You"},
|
|
{0,NULL}
|
|
};
|
|
|
|
/* Auth-Session-State AVP Values (code 277) */
|
|
static const value_string diameter_auth_session_state_vals[]= {
|
|
{0, "State Maintained"},
|
|
{1, "No State Maintained"},
|
|
{0,NULL}
|
|
};
|
|
/* Re-Auth-Request-Type AVP Values (code 285) */
|
|
static const value_string diameter_re_auth_request_type_vals[]= {
|
|
{0, "Authorize Only"},
|
|
{1, "Authorize Authenticate"},
|
|
{0,NULL}
|
|
};
|
|
|
|
/* Termination-Cause AVP Values (code 295) */
|
|
static const value_string diameter_termination_cause_vals[]= {
|
|
{1, "Logout"},
|
|
{2, "Service Not Provided"},
|
|
{3, "Bad Answer"},
|
|
{4, "Administrative"},
|
|
{5, "Link Broken"},
|
|
{6, "Auth Expired"},
|
|
{7, "User Moved"},
|
|
{8, "Session Timeout"},
|
|
{0,NULL}
|
|
};
|
|
/* Inband-Security-Id AVP (code 299) */
|
|
static const value_string diameter_inband_security_id_vals[]= {
|
|
{0, "NO_INBAND_SECURITY"}, /*[RFC3588]*/
|
|
{1, "TLS"}, /*[RFC3588]*/
|
|
{0,NULL}
|
|
};
|
|
|
|
/*
|
|
* XXX - this isn't an enumerated value list, it's a list of bits in a
|
|
* bitset. The DIAMETER dissector doesn't have any mechanism to handle
|
|
* that; it would need one in order to dissect the value of this AVP
|
|
* correctly.
|
|
*/
|
|
/* MIP-Feature-Vector AVP (code 337) */
|
|
static const value_string diameter_mip_feature_vector_vals[]= {
|
|
{1, "Mobile-Node-Home-Address-Requested"}, /* RFC-ietf-aaa-diameter-mobileip-20.txt */
|
|
{2, "Home-Address-Allocatable-Only-in-Home-Realm"}, /* RFC-ietf-aaa-diameter-mobileip-20.txt */
|
|
{4, "Home-Agent-Requested"}, /* RFC-ietf-aaa-diameter-mobileip-20.txt */
|
|
{8, "Foreign-Home-Agent-Available"}, /* RFC-ietf-aaa-diameter-mobileip-20.txt */
|
|
{16, "MN-HA-Key-Request"}, /* RFC-ietf-aaa-diameter-mobileip-20.txt */
|
|
{32, "MN-FA-Key-Request"}, /* RFC-ietf-aaa-diameter-mobileip-20.txt */
|
|
{64, "FA-HA-Key-Request"}, /* RFC-ietf-aaa-diameter-mobileip-20.txt */
|
|
{128, "Home-Agent-In-Foreign-Network"}, /* RFC-ietf-aaa-diameter-mobileip-20.txt */
|
|
{256, "Co-Located-Mobile-Node"}, /* RFC-ietf-aaa-diameter-mobileip-20.txt */
|
|
{0,NULL}
|
|
};
|
|
/* MIP-Algorithm-Type AVP Values (code 345) */
|
|
static const value_string diameter_mip_algorithm_type[] = {
|
|
{2, "HMAC-SHA1"},
|
|
{0, NULL}
|
|
};
|
|
/* MIP-Replay-Mode AVP Values (code 346) */
|
|
static const value_string diameter_mip_replay_mode[] = {
|
|
{1, "None"},
|
|
{2, "Timestamp"},
|
|
{3, "Nonces"},
|
|
{0, NULL}
|
|
};
|
|
/*
|
|
* XXX - this isn't used; does there need to be an entry for AVP 406
|
|
* that would use it?
|
|
*/
|
|
/* Accounting-Auth-Method AVP Values (code 406) */
|
|
static const value_string diameter_accounting_auth_method_vals[] = {
|
|
{1, "PAP"}, /* [RFC-ietf-aaa-diameter-nasreq-17.txt] */
|
|
{2, "CHAP"}, /* [RFC-ietf-aaa-diameter-nasreq-17.txt] */
|
|
{3, "MS-CHAP-1"}, /* [RFC-ietf-aaa-diameter-nasreq-17.txt] */
|
|
{4, "MS-CHAP-2"}, /* [RFC-ietf-aaa-diameter-nasreq-17.txt] */
|
|
{5, "EAP"}, /* [RFC-ietf-aaa-diameter-nasreq-17.txt] */
|
|
{7, "None"}, /* [RFC-ietf-aaa-diameter-nasreq-17.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* CC-Request-Type AVP Values (code 416)*/
|
|
static const value_string diameter_cc_request_type_vals[]= {
|
|
{1, "INITIAL_REQUEST"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{2, "UPDATE_REQUEST"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{3, "TERMINATION_REQUEST"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{4, "EVENT_REQUEST"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* CC-Session-Failover AVP Values (code 418)*/
|
|
static const value_string diameter_CC_Session_Failover_vals[]= {
|
|
{0, "FAILOVER_NOT_SUPPORTED"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "FAILOVER_SUPPORTED"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Check-Balance-Result AVP Values (code 422)*/
|
|
static const value_string diameter_Check_Balance_Result_vals[]= {
|
|
{0, "ENOUGH_CREDIT"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "NO_CREDIT"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Credit-Control AVP Values (code 426)*/
|
|
static const value_string diameter_credit_control_vals[]= {
|
|
{0, "CREDIT_AUTHORIZATION"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "RE_AUTHORIZATION"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Credit-Control-Failure-Handling AVP Values (code 427)*/
|
|
static const value_string diameter_credit_control_failure_handling_vals[]= {
|
|
{0, "TERMINATE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "CONTINUE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{2, "RETRY_AND_TERMINATE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Direct-Debiting-Failure-Handling AVP Values (code 428)*/
|
|
static const value_string diameter_direct_debiting_failure_handling_vals[]= {
|
|
{0, "TERMINATE_OR_BUFFER"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "CONTINUE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Redirect-Address-Type AVP Values (code 433)*/
|
|
static const value_string diameter_redirect_address_type_vals[]= {
|
|
{0, "IPv4 Address"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "IPv6 Address"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{2, "URL"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{3, "SIP URL"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Requested-Action AVP Values (436)*/
|
|
static const value_string diameter_requested_action_vals[]= {
|
|
{0, "DIRECT_DEBITING"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "REFUND_ACCOUNT"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{2, "CHECK_BALANCE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{3, "PRICE_ENQUIRY"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Final-Unit-Action AVP Values (code 449)*/
|
|
static const value_string diameter_final_unit_action_vals[]= {
|
|
{0, "TERMINATE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "REDIRECT"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{2, "RESTRICT_ACCESS"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Subscription-Id-Type AVP Values (code 450)*/
|
|
static const value_string diameter_subscription_id_type_vals[]= {
|
|
{0, "END_USER_E164"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "END_USER_IMSI"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{2, "END_USER_SIP_URI"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{3, "END_USER_NAI"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{4, "END_USER_PRIVATE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Tariff-Change-Usage AVP Values (code 452)*/
|
|
static const value_string diameter_tariff_change_usage_vals[]= {
|
|
{0, "UNIT_BEFORE_TARIFF_CHANGE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "UNIT_AFTER_TARIFF_CHANGE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{2, "UNIT_INDETERMINATE"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* CC-Unit-Type AVP Values (code 454) */
|
|
static const value_string diameter_cc_Unit_type_vals[]= {
|
|
{0, "TIME"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "MONEY"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{2, "TOTAL-OCTETS"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{3, "INPUT-OCTETS"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{4, "OUTPUT-OCTETS"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{5, "SERVICE-SPECIFIC-UNITS"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
/* Multiple-Services-Indicator AVP Values (code 455)*/
|
|
static const value_string diameter_multiple_services_indicator_vals[]= {
|
|
{0, "MULTIPLE_SERVICES_NOT_SUPPORTED"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "MULTIPLE_SERVICES_SUPPORTED"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
|
|
/*
|
|
* XXX - this isn't used; does there need to be an entry for AVP 459
|
|
* that would use it?
|
|
*/
|
|
/* User-Equipment-Info-Type AVP Values (code 459)*/
|
|
static const value_string diameter_user_equipment_info_type_vals[]= {
|
|
{0, "IMEISV"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{1, "MAC"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{2, "EUI64"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{3, "MODIFIED_EUI64"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{0, NULL}
|
|
};
|
|
|
|
|
|
/* Accounting-Record-Type AVP Values (code 480) */
|
|
static const value_string diameter_accounting_record_type_vals[]= {
|
|
{1, "Event Record"},
|
|
{2, "Start Record"},
|
|
{3, "Interim Record"},
|
|
{4, "Stop Record"},
|
|
{0,NULL}
|
|
};
|
|
/* Accounting-Realtime-Required AVP Values (code 483) */
|
|
static const value_string diameter_accounting_realtime_required_vals[]= {
|
|
{1, "DELIVER_AND_GRANT"},
|
|
{2, "GRANT_AND_STORE"},
|
|
{3, "GRANT_AND_LOSE"},
|
|
{0,NULL}
|
|
};
|
|
static const value_string diameter_application_id_vals[] = {
|
|
{0, "Diameter Common Messages"},
|
|
{1, "Diameter NASREQ Application"},
|
|
{2, "Diameter Mobile IPv4 Application"},
|
|
{3, "Diameter Base Accounting"},
|
|
{4, "Diameter Credit-Control Application"}, /* draft-ietf-aaa-diameter-cc-06 */
|
|
{5, "Diameter EAP"}, /* [RFC-ietf-aaa-eap-10.txt] */
|
|
{16777216, "3GPP Cx"}, /* 3GPP TS 29.228 and 29.229 */
|
|
{16777217, "3GPP Sh"}, /* 3GPP TS 29.328 and 29.329 */
|
|
{16777218, "3GPP Re/Rf"}, /* 3GPP TS 32.225 */
|
|
{16777219, "3GPP Wx"}, /* 3GPP TS 29.234 */
|
|
{16777220, "3GPP Zn"}, /* 3GPP TS 29.109 */
|
|
{16777221, "3GPP Zh"}, /* 3GPP TS 29.109 */
|
|
{16777222, "3GPP Gq"}, /* 3GPP TS 29.209 */
|
|
{16777223, "3GPP Gmb"}, /* 3GPP TS 29.061 */
|
|
{4294967295U, "Relay Application"},
|
|
|
|
{0, NULL}
|
|
};
|
|
|
|
|
|
/* Diameter Session Initiation Protocol (SIP) Application value strings */
|
|
/* Remove comment when IANA assigned values are avalable
|
|
|
|
static const value_string SIP_reason_code_vals[] = {
|
|
{0, "PERMANENT_TERMINATION"},
|
|
{1, "NEW_SIP_SERVER_ASSIGNED "},
|
|
{2, "SIP_SERVER_CHANGE"},
|
|
{3, "REMOVE_SIP_SERVER"},
|
|
{0, NULL}
|
|
|
|
};
|
|
|
|
Remove comment when IANA assigned values are avalable */
|
|
|
|
/* Used both in Diameter Session Initiation Protocol (SIP) Application and 3GPP Vendor
|
|
* Specific AVP:s TS 29 299 5.7.0 */
|
|
static const value_string SIP_server_assignment_type_vals[] ={
|
|
{0, "NO_ASSIGNMENT"},
|
|
{1, "REGISTRATION"},
|
|
{2, "RE_REGISTRATION"},
|
|
{3, "UNREGISTERED_USER"},
|
|
{4, "TIMEOUT_DEREGISTRATION"},
|
|
{5, "USER_DEREGISTRATION"},
|
|
{6, "TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME"},
|
|
{7, "USER_DEREGISTRATION_STORE_SERVER_NAME"},
|
|
{8, "ADMINISTRATIVE_DEREGISTRATION"},
|
|
{9, "AUTHENTICATION_FAILURE"},
|
|
{10, "AUTHENTICATION_TIMEOUT"},
|
|
{11, "DEREGISTRATION_TOO_MUCH_DATA"},
|
|
{0, NULL}
|
|
};
|
|
static const value_string SIP_user_authorization_type[] = {
|
|
{0, "REGISTRATION"},
|
|
{1, "DE_REGISTRATION"},
|
|
{2, "REGISTRATION_AND_CAPABILITIES"},
|
|
{0, NULL}
|
|
|
|
};
|
|
static const value_string SIP_user_data_request_type[] = {
|
|
{0, "COMPLETE_PROFILE"},
|
|
{1, "REGISTERED_PROFILE"},
|
|
{2, "UNREGISTERED_PROFILE"},
|
|
{0, NULL}
|
|
|
|
};
|
|
static const value_string ThreeGPP_reason_code_vals[] = {
|
|
{0, "PERMANENT_TERMINATION"},
|
|
{1, "NEW_SIP_SERVER_ASSIGNED "},
|
|
{2, "SERVER_CHANGE"},
|
|
{3, "REMOVE_S-CSCF "},
|
|
{0, NULL}
|
|
|
|
};
|
|
static const value_string SIP_user_data_already_available_vals[] = {
|
|
{0, "USER_DATA_NOT_AVAILABLE"},
|
|
{1, "USER_DATA_ALREADY_AVAILABLE"},
|
|
{0, NULL}
|
|
|
|
};
|
|
|
|
static const value_string Three_gpp_direction_vals[] = {
|
|
{0, "UPLINK"},
|
|
{1, "DOWNLINK"},
|
|
{0, NULL}
|
|
|
|
};
|
|
|
|
static const value_string Three_gpp_Node_Functionality_vals[] = {
|
|
{0, "S-CSCF"},
|
|
{1, "P-CSCF"},
|
|
{2, "I-CSCF"},
|
|
{3, "MRFC"},
|
|
{4, "MGCF"},
|
|
{5, "BGCF"},
|
|
{6, "AS"},
|
|
{7, "UE"},
|
|
{0, NULL}
|
|
|
|
};
|
|
|
|
static const value_string Three_gpp_Role_of_node_vals[] = {
|
|
{0, "ORIGINATING_ROLE"},
|
|
{1, "TERMINATING_ROLE"},
|
|
{2, "PROXY ROLE"},
|
|
{3, "B2BUA_ROLE"},
|
|
{0, NULL}
|
|
|
|
};
|
|
|
|
/*
|
|
* The Result-Code data field contains an IANA-managed 32-bit address
|
|
* space representing errors (see Section 11.4(RFC3588)). Diameter provides the
|
|
* following classes of errors, all identified by the thousands digit in
|
|
* the decimal notation:
|
|
*
|
|
* - 1xxx (Informational)
|
|
* - 2xxx (Success)
|
|
* - 3xxx (Protocol Errors)
|
|
* - 4xxx (Transient Failures)
|
|
* - 5xxx (Permanent Failure)
|
|
*/
|
|
/* Result-Code AVP Values (code 268) */
|
|
static const value_string diameter_result_code_vals[] = {
|
|
/* Informational
|
|
* Errors that fall within this category are used to inform the
|
|
* requester that a request could not be satisfied, and additional
|
|
* action is required on its part before access is granted.
|
|
*/
|
|
{1001, "DIAMETER_MULTI_ROUND_AUTH "},
|
|
/* Errors that fall within the Success category are used to inform a peer
|
|
*that a request has been successfully completed
|
|
*/
|
|
{2001, "DIAMETER_SUCCESS"},
|
|
{2002, "DIAMETER_LIMITED_SUCCESS"},
|
|
/* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA
|
|
{2xx1, "DIAMETER_FIRST_REGISTRATION"},
|
|
{2xx2, "DIAMETER_SUBSEQUENT_REGISTRATION "},
|
|
{2xx3, "DIAMETER_UNREGISTERED_SERVICE "},
|
|
{2xx4, "DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED "},
|
|
{2xx5, "DIAMETER_SERVER_SELECTION"},
|
|
{2xx6, "DIAMETER_SUCCESS_AUTH_SENT_SERVER_NOT_STORED"},
|
|
{2xx7, "DIAMETER_SUCCESS_SERVER_NOT_STORED"},
|
|
|
|
*/
|
|
|
|
/* Protocol errors */
|
|
{3001, "DIAMETER_COMMAND_UNSUPPORTED"},
|
|
{3002, "DIAMETER_UNABLE_TO_DELIVER"},
|
|
{3003, "DIAMETER_REALM_NOT_SERVED"},
|
|
{3004, "DIAMETER_TOO_BUSY"},
|
|
{3005, "DIAMETER_LOOP_DETECTED"},
|
|
{3006, "DIAMETER_REDIRECT_INDICATION"},
|
|
{3007, "DIAMETER_APPLICATION_UNSUPPORTED"},
|
|
{3008, "DIAMETER_INVALID_HDR_BITS"},
|
|
{3009, "DIAMETER_INVALID_AVP_BITS"},
|
|
{3010, "DIAMETER_UNKNOWN_PEER"},
|
|
/* Transient Failures */
|
|
{4001, "DIAMETER_AUTHENTICATION_REJECTED"},
|
|
{4002, "DIAMETER_OUT_OF_SPACE"},
|
|
{4003, "ELECTION_LOST"},
|
|
/* draft-ietf-aaa-diameter-mobileip-20 */
|
|
{4005, "DIAMETER_ERROR_MIP_REPLY_FAILURE"},
|
|
{4006, "DIAMETER_ERROR_HA_NOT_AVAILABLE"},
|
|
{4007, "DIAMETER_ERROR_BAD_KEY"},
|
|
{4008, "DIAMETER_ERROR_MIP_FILTER_NOT_SUPPORTED"},
|
|
/* draft-ietf-aaa-diameter-cc-03.txt */
|
|
{4010, "DIAMETER_END_USER_SERVICE_DENIED"},
|
|
{4011, "DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE"},
|
|
{4012, "DIAMETER_CREDIT_LIMIT_REACHED"},
|
|
/* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA
|
|
|
|
{4xx1, "DIAMETER_USER_NAME_REQUIRED"},
|
|
*/
|
|
/* Permanent Failures */
|
|
{5001, "DIAMETER_AVP_UNSUPPORTED"},
|
|
{5002, "DIAMETER_UNKNOWN_SESSION_ID"},
|
|
{5003, "DIAMETER_AUTHORIZATION_REJECTED"},
|
|
{5004, "DIAMETER_INVALID_AVP_VALUE"},
|
|
{5005, "DIAMETER_MISSING_AVP"},
|
|
{5006, "DIAMETER_RESOURCES_EXCEEDED"},
|
|
{5007, "DIAMETER_CONTRADICTING_AVPS"},
|
|
{5008, "DIAMETER_AVP_NOT_ALLOWED"},
|
|
{5009, "DIAMETER_AVP_OCCURS_TOO_MANY_TIMES"},
|
|
{5010, "DIAMETER_NO_COMMON_APPLICATION"},
|
|
{5011, "DIAMETER_UNSUPPORTED_VERSION"},
|
|
{5012, "DIAMETER_UNABLE_TO_COMPLY"},
|
|
{5013, "DIAMETER_INVALID_BIT_IN_HEADER"},
|
|
{5014, "DIAMETER_INVALID_AVP_LENGTH"},
|
|
{5015, "DIAMETER_INVALID_MESSAGE_LENGTH"},
|
|
{5016, "DIAMETER_INVALID_AVP_BIT_COMBO"},
|
|
{5017, "DIAMETER_NO_COMMON_SECURITY"},
|
|
/* draft-ietf-aaa-diameter-mobileip-20 */
|
|
{5024, "DIAMETER_ERROR_NO_FOREIGN_HA_SERVICE"},
|
|
{5025, "DIAMETER_ERROR_END_TO_END_MIP_KEY_ENCRYPTION"},
|
|
/* draft-ietf-aaa-diameter-cc-03.txt */
|
|
{5030, "DIAMETER_USER_UNKNOWN"},
|
|
{5031, "DIAMETER_RATING_FAILED"},
|
|
|
|
/* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA
|
|
|
|
{5xx1, "DIAMETER_ERROR_USER_UNKNOWN"},
|
|
{5xx2, "DIAMETER_ERROR_IDENTITIES_DONT_MATCH"},
|
|
{5xx3, "DIAMETER_ERROR_IDENTITY_NOT_REGISTERED"},
|
|
{5xx4, "DIAMETER_ERROR_ROAMING_NOT_ALLOWED"},
|
|
{5xx5, "DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED"},
|
|
{5xx6, "DIAMETER_ERROR_USER_UNKNOWN"},
|
|
{5xx7, "DIAMETER_ERROR_IN_ASSIGNMENT_TYPE"},
|
|
{5xx8, "DIAMETER_ERROR_TOO_MUCH_DATA"},
|
|
{5xx9, "DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA"},
|
|
*/
|
|
{0, NULL}
|
|
};
|
|
/* TS 29.229 6.4.0 */
|
|
static const value_string diameter_exp_result_code_vals[] = {
|
|
{2001, "DIAMETER_FIRST_REGISTRATION"},
|
|
{2002, "DIAMETER_SUBSEQUENT_REGISTRATION"},
|
|
{2003, "DIAMETER_UNREGISTERED_SERVICE"},
|
|
{2004, "DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED"},
|
|
{2005, "DIAMETER_SERVER_SELECTION"},
|
|
{5001, "DIAMETER_ERROR_USER_UNKNOWN"},
|
|
{5002, "DIAMETER_ERROR_IDENTITIES_DONT_MATCH"},
|
|
{5003, "DIAMETER_ERROR_IDENTITY_NOT_REGISTERED"},
|
|
{5004, "DIAMETER_ERROR_ROAMING_NOT_ALLOWED"},
|
|
{5005, "DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED "},
|
|
{5006, "DIAMETER_ERROR_ROAMING_AUTH_SCHEME_NOT_SUPPORTED"},
|
|
{5007, "DIAMETER_ERROR_IN_ASSIGNMENT_TYPE"},
|
|
{5008, "DIAMETER_ERROR_TOO_MUCH_DATA"},
|
|
{5009, "DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA"},
|
|
{5010, "DIAMETER_MISSING_USER_ID"},
|
|
{5011, "DIAMETER_ERROR_FEATURE_UNSUPPORTED"},
|
|
{0, NULL}
|
|
};
|
|
|
|
|
|
|
|
static struct old_avp_info old_diameter_avps[] = {
|
|
/* Radius Attributes */
|
|
{ 1, "User-Name", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 2, "User-Password", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 3, "CHAP-Password", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 4, "NAS-IP-Address", DIAMETER_IP_ADDRESS, (value_string *)NULL},
|
|
{ 5, "NAS-Port", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 6, "Service-Type", DIAMETER_ENUMERATED, diameter_service_type_vals},
|
|
{ 7, "Framed-Protocol", DIAMETER_ENUMERATED, diameter_framed_protocol_vals},
|
|
{ 8, "Framed-IP-Address", DIAMETER_IP_ADDRESS, (value_string *)NULL},
|
|
{ 9, "Framed-IP-Netmask", DIAMETER_IP_ADDRESS, (value_string *)NULL},
|
|
{ 10, "Framed-Routing", DIAMETER_ENUMERATED, diameter_framed_routing_vals},
|
|
{ 11, "Filter-Id", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 12, "Framed-MTU", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 13, "Framed-Compression", DIAMETER_ENUMERATED, diameter_framed_compression_vals},
|
|
{ 14, "Login-IP-Host", DIAMETER_IP_ADDRESS, (value_string *)NULL},
|
|
{ 15, "Login-Service", DIAMETER_ENUMERATED, diameter_login_service_vals},
|
|
{ 16, "Login-TCP-Port", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 17, "Old-Password", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 18, "Reply-Message", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 19, "Callback-Number", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 20, "Callback-Id", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
/* 21 is Unassigned */
|
|
{ 22, "Framed-Route", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 23, "Framed-IPX-Network", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 24, "State", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 25, "Class", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 26, "Vendor-Specific", DIAMETER_ENUMERATED, sminmpec_values},
|
|
{ 27, "Session-Timeout", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 28, "Idle-Timeout", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 29, "Termination-Action", DIAMETER_ENUMERATED, diameter_termination_action_vals},
|
|
{ 30, "Called-Station-Id", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 31, "Calling-Station-Id", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 32, "NAS-Identifier", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 33, "Proxy-State", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 34, "Login-LAT-Service", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 35, "Login-LAT-Node", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 36, "Login-LAT-Group", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 37, "Framed-AppleTalk-Link", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 38, "Framed-AppleTalk-Network", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 39, "Framed-AppleTalk-Zone", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 40, "Acct-Status-Type", DIAMETER_ENUMERATED, diameter_acct_status_type_vals},
|
|
{ 41, "Acct-Delay-Time", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 42, "Acct-Input-Octets", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 43, "Acct-Output-Octets", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 44, "Acct-Session-Id", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 45, "Acct-Authentic", DIAMETER_ENUMERATED, diameter_acct_authentic_vals},
|
|
{ 46, "Acct-Session-Time", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 47, "Acct-Input-Packets", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 48, "Acct-Output-Packets", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 49, "Acct-Terminate-Cause", DIAMETER_ENUMERATED, diameter_acct_terminate_cause_vals},
|
|
{ 50, "Acct-Multi-Session-Id", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 51, "Acct-Link-Count", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 52, "Acct-Input-Gigawords", DIAMETER_INTEGER32, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 53, "Acct-Output-Gigawords", DIAMETER_INTEGER32, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 54, "(unassigned)", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 55, "Event-Timestamp", DIAMETER_TIME, (value_string *)NULL},/*[RFC2869]*/
|
|
/*
|
|
* 56-59 (unassigned)
|
|
*
|
|
*/
|
|
{ 60, "CHAP-Challenge", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 61, "NAS-Port-Type", DIAMETER_ENUMERATED, diameter_nas_port_type_vals},
|
|
{ 62, "Port-Limit", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 63, "Login-LAT-Port", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 64, "Tunnel-Type", DIAMETER_ENUMERATED, diameter_tunnel_type_vals},
|
|
{ 65, "Tunnel-Medium-Type", DIAMETER_ENUMERATED, diameter_tunnel_medium_type_vals},
|
|
{ 66, "Tunnel-Client-Endpoint", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 67, "Tunnel-Server-Endpoint", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 68, "Tunnel-Connection-ID", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 69, "Tunnel-Password", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 70, "ARAP-Password", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 71, "ARAP-Features", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 72, "ARAP-Zone-Access", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 73, "ARAP-Security", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 74, "ARAP-Security-Data", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 75, "Password-Retry", DIAMETER_INTEGER32, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 76, "Prompt", DIAMETER_ENUMERATED, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 77, "Connect-Info", DIAMETER_UTF8STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 78, "Configuration-Token", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 79, "EAP-Message", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 80, "Message-Authenticator", DIAMETER_INTEGER64, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 81, "Tunnel-Private-Group-ID", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2868]*/
|
|
{ 82, "Tunnel-Assignment-Id", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 83, "Tunnel-Preference", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2868]*/
|
|
{ 84, "ARAP-Challenge-Response", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 85, "Acct-Interim-Interval", DIAMETER_INTEGER32, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 86, "Acct-Tunnel-Packets-Lost", DIAMETER_INTEGER32, (value_string *)NULL},/*[RFC2867]*/
|
|
{ 87, "NAS-Port-Id", DIAMETER_UTF8STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 88, "Framed-Pool", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2869]*/
|
|
{ 89, "(unassigned)", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 90, "Tunnel-Client-Auth-ID", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2868]*/
|
|
{ 91, "Tunnel-Server-Auth-ID", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC2868]*/
|
|
/*
|
|
* 92-93 (Unassigned)
|
|
*/
|
|
{ 94, "Originating-Line-Info", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[Trifunovic]*/
|
|
{ 95, "NAS-IPv6-Address", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC3162]*/
|
|
{ 96, "Framed-Interface-Id", DIAMETER_INTEGER64, (value_string *)NULL},/*[RFC3162]*/
|
|
{ 97, "Framed-IPv6-Prefix", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC3162]*/
|
|
{ 98, "Login-IPv6-Host", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC3162]*/
|
|
{ 99, "Framed-IPv6-Route", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC3162]*/
|
|
{ 100, "Framed-IPv6-Pool", DIAMETER_OCTET_STRING, (value_string *)NULL},/*[RFC3162]*/
|
|
{ 101, "Error-Cause Attribute", DIAMETER_ENUMERATED, diameter_error_cause_attribute_vals},/*[RFC3576]*/
|
|
/*
|
|
192-223 Experimental Use [RFC2058]
|
|
224-240 Implementation Specific [RFC2058]
|
|
241-255 Reserved [RFC2058]
|
|
*/
|
|
/* Diameter AVPs */
|
|
{ 257, "Host-IP-Address", DIAMETER_IP_ADDRESS, (value_string *)NULL},
|
|
{ 258, "Auth-Application-Id", DIAMETER_UNSIGNED32, diameter_application_id_vals},
|
|
{ 259, "Acct-Application-Id", DIAMETER_UNSIGNED32, diameter_application_id_vals},
|
|
{ 260, "Vendor-Specific-Application-Id", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 261, "Redirect-Host-Usage", DIAMETER_ENUMERATED, diameter_redirect_host_usage_vals},
|
|
{ 262, "Redirect-Max-Cache-Time", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 263, "Session-Id", DIAMETER_SESSION_ID, (value_string *)NULL},
|
|
{ 264, "Origin-Host", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 265, "Supported-Vendor-Id", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 266, "Vendor-Id", DIAMETER_ENUMERATED, sminmpec_values},
|
|
{ 267, "Firmware-Revision", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 268, "Result-Code", DIAMETER_UNSIGNED32, diameter_result_code_vals},
|
|
{ 269, "Product-Name", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 270, "Session-Binding", DIAMETER_UNSIGNED32, diameter_session_binding_vals},
|
|
{ 271, "Session-Server-Failover", DIAMETER_ENUMERATED, diameter_session_server_failover_vals},
|
|
{ 272, "Multi-Round-Time-Out", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 273, "Disconnect-Cause", DIAMETER_ENUMERATED, diameter_disconnect_cause_vals},
|
|
{ 274, "Auth-Request-Type", DIAMETER_ENUMERATED, diameter_auth_request_type_vals},
|
|
{ 275, "Alternate-Peer", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 276, "Auth-Grace-Period", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 277, "Auth-Session-State", DIAMETER_ENUMERATED, diameter_auth_session_state_vals},
|
|
{ 278, "Origin-State-Id", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 279, "Failed-AVP", DIAMETER_OCTET_STRING,(value_string *)NULL},
|
|
{ 280, "Proxy-Host", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 281, "Error-Message", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 282, "Route-Record", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 283, "Destination-Realm", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 284, "Proxy-Info", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 285, "Re-Auth-Request-Type", DIAMETER_ENUMERATED, diameter_re_auth_request_type_vals},
|
|
{ 286, "Source-Route", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 287, "Accounting-Sub-Session-Id", DIAMETER_UNSIGNED64, (value_string *)NULL},
|
|
{ 291, "Authorization-Lifetime", DIAMETER_INTEGER32, (value_string *)NULL},
|
|
{ 292, "Redirect-Host", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 293, "Destination-Host", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 294, "Error-Reporting-Host", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 296, "Origin-Realm", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 295, "Termination-Cause", DIAMETER_ENUMERATED, diameter_termination_cause_vals},
|
|
{ 297, "Experimental-Result", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 298, "Experimental-Result-Code", DIAMETER_ENUMERATED, diameter_exp_result_code_vals},
|
|
{ 299, "Inband-Security-Id", DIAMETER_ENUMERATED, diameter_inband_security_id_vals}, /* [RFC3588] */
|
|
{ 300, "E2E-Sequence", DIAMETER_GROUPED, (value_string *)NULL}, /* [RFC3588] */
|
|
|
|
/* Diameter Mobile IP AVPs */
|
|
{ 318, "MIP-FA-to-HA-SPI", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 319, "MIP-FA-to-MN-SPI", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 320, "MIP-Reg-Request", DIAMETER_MIP_REG_REQ, (value_string *)NULL},
|
|
{ 321, "MIP-Reg-Reply", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 322, "MIP-MN-AAA-Auth", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 323, "MIP-HA-to-FA-SPI", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 325, "MIP-MN-to-FA-MSA", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 326, "MIP-FA-to-MN-MSA", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 328, "MIP-FA-to-HA-MSA", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 329, "MIP-HA-to-FA-MSA", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 331, "MIP-MN-to-HA-MSA", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 332, "MIP-HA-to-MN-MSA", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 333, "MIP-Mobile-Node-Address", DIAMETER_IP_ADDRESS, (value_string *)NULL},
|
|
{ 334, "MIP-Home-Agent-Address", DIAMETER_IP_ADDRESS, (value_string *)NULL},
|
|
{ 335, "MIP-Nonce", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 336, "MIP-Candidate-Home-Agent-Host", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 337, "MIP-Feature-Vector", DIAMETER_UNSIGNED32, diameter_mip_feature_vector_vals},
|
|
{ 338, "MIP-Auth-Input-Data-Length", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 339, "MIP-Authenticator-Length", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 340, "MIP-Authenticator-Offset", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 341, "MIP-MN-AAA-SPI", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 342, "MIP-PEER-SPI", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 343, "MIP-Session-Key", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 344, "MIP-FA-Challenge", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 345, "MIP-Algorithm-Type", DIAMETER_ENUMERATED, diameter_mip_algorithm_type},
|
|
{ 346, "MIP-Replay-Mode", DIAMETER_ENUMERATED, diameter_mip_replay_mode},
|
|
{ 347, "MIP-Filter-Rule", DIAMETER_IP_FILTER_RULE, (value_string *)NULL},
|
|
{ 348, "MIP-Home-Agent-Host", DIAMETER_IDENTITY, (value_string *)NULL},
|
|
{ 398, "MIP-Key-Lifetime", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
/* http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-cc-03.txt */
|
|
{ 411, "CC-Correlation-Id", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 412, "CC-Input-Octets", DIAMETER_UNSIGNED64 , (value_string *)NULL},
|
|
{ 413, "CC-Money", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 414, "CC-Output-Octets", DIAMETER_UNSIGNED64 , (value_string *)NULL},
|
|
{ 415, "CC-Request-Number", DIAMETER_UNSIGNED32 , (value_string *)NULL},
|
|
{ 416, "CC-Request-Type", DIAMETER_ENUMERATED , diameter_cc_request_type_vals},
|
|
{ 417, "CC-Service-Specific-Units", DIAMETER_UNSIGNED64 , (value_string *)NULL},
|
|
{ 418, "CC-Session-Failover", DIAMETER_ENUMERATED , diameter_CC_Session_Failover_vals},
|
|
{ 419, "CC-Sub-Session-Id", DIAMETER_UNSIGNED64 , (value_string *)NULL},
|
|
{ 420, "CC-Time", DIAMETER_UNSIGNED32 , (value_string *)NULL},
|
|
{ 421, "CC-Total-Octets", DIAMETER_UNSIGNED64 , (value_string *)NULL},
|
|
{ 422, "Check-Balance-Result", DIAMETER_ENUMERATED , diameter_Check_Balance_Result_vals},
|
|
{ 423, "Cost-Information", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 424, "Cost-Unit", DIAMETER_UTF8STRING , (value_string *)NULL},
|
|
{ 426, "Credit-Control", DIAMETER_ENUMERATED , diameter_credit_control_vals},
|
|
{ 427, "Credit-Control-Failure-Handling", DIAMETER_ENUMERATED , diameter_credit_control_failure_handling_vals},
|
|
{ 425, "Currency-Code", DIAMETER_UNSIGNED32 , (value_string *)NULL},
|
|
{ 428, "Direct-Debiting-Failure-Handling", DIAMETER_ENUMERATED , diameter_direct_debiting_failure_handling_vals},
|
|
{ 429, "Exponent", DIAMETER_INTEGER32 , (value_string *)NULL},
|
|
{ 430, "Final-Unit-Indication", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 431, "Granted-Service-Unit", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 432, "Rating-Group", DIAMETER_UNSIGNED32 , (value_string *)NULL},
|
|
{ 433, "Redirect-Address-Type", DIAMETER_ENUMERATED , diameter_redirect_address_type_vals},
|
|
{ 434, "Redirect-Server", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 435, "Redirect-Server-Address", DIAMETER_UTF8STRING , (value_string *)NULL},
|
|
{ 436, "Requested-Action", DIAMETER_ENUMERATED , diameter_requested_action_vals},
|
|
{ 437, "Requested-Service-Unit", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 438, "Restriction-Filter-Rule", DIAMETER_IP_FILTER_RULE, (value_string *)NULL},
|
|
{ 439, "Service-Identifier", DIAMETER_UTF8STRING , (value_string *)NULL},
|
|
{ 440, "Service-Parameter-Info", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 441, "Service-Parameter-Type", DIAMETER_UNSIGNED32 , (value_string *)NULL},
|
|
{ 442, "Service-Parameter-Value", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 443, "Subscription-Id", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 444, "Subscription-Id-Data", DIAMETER_UTF8STRING , (value_string *)NULL},
|
|
{ 445, "Unit-Value", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 446, "Used-Service-Unit", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 447, "Value-Digits", DIAMETER_INTEGER64 , (value_string *)NULL},
|
|
{ 448, "Validity-Time", DIAMETER_UNSIGNED32 , (value_string *)NULL},
|
|
{ 449, "Final-Unit-Action", DIAMETER_ENUMERATED , diameter_final_unit_action_vals},
|
|
{ 450, "Subscription-Id-Type", DIAMETER_ENUMERATED , diameter_subscription_id_type_vals},
|
|
{ 451, "Tariff-Time-Change", DIAMETER_TIME, (value_string *)NULL},
|
|
{ 452, "Tariff-Change-Usage", DIAMETER_ENUMERATED , diameter_tariff_change_usage_vals},
|
|
{ 453, "G-S-U-Pool-Identifier", DIAMETER_UNSIGNED32 , (value_string *)NULL},
|
|
{ 454, "CC-Unit-Type", DIAMETER_ENUMERATED , diameter_cc_Unit_type_vals},
|
|
{ 455, "Multiple-Services-Indicator", DIAMETER_ENUMERATED , diameter_multiple_services_indicator_vals},
|
|
{ 456, "Multiple-Services-Credit-Control", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 457, "G-S-U-Pool-Reference", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 458, "User-Equipment-Info", DIAMETER_GROUPED , (value_string *)NULL},
|
|
{ 459, "User-Equipment-Info-Type", DIAMETER_ENUMERATED , diameter_user_equipment_info_type_vals},
|
|
{ 460, "User-Equipment-Info-Value", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 461, "Service-Context-Id", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 462, "EAP-Payload", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 463, "EAP-Reissued-Payload", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 464, "EAP-Master-Session-Key", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 465, "Accounting-EAP-Auth-Method", DIAMETER_UNSIGNED64, (value_string *)NULL},
|
|
{ 480, "Accounting-Record-Type", DIAMETER_ENUMERATED, diameter_accounting_record_type_vals},
|
|
{ 482, "Accounting-Interim-Interval", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 483, "Accounting-Realtime-Required", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 485, "Accounting-Record-Number", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 483, "Accounting-Realtime-Required", DIAMETER_ENUMERATED, diameter_accounting_realtime_required_vals},
|
|
{ 485, "Accounting-Record-Number", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 487, "Accounting-Sub-Session-Id", DIAMETER_ENUMERATED, (value_string *)NULL},
|
|
|
|
|
|
/* draft-ietf-aaa-diameter-sip-app-01.txt AVP codes to be allocated
|
|
{ xx01, "SIP-Visited-Network-Id", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ xx02, "SIP-AOR", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ xx03, "SIP-Server-URI", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ xx04, "SIP-Server-Capabilities", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ xx05, "SIP-Mandatory-Capability", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ xx06, "SIP-Optional-Capability", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ xx07, "SIP-User-Data", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ xx08, "SIP-Number-Auth-Items", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ xx09, "SIP-Auth-Data-Item", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ xx10, "SIP-Item-Number", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ xx11, "SIP-Authentication-Scheme", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ xx12, "SIP-Authenticate", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ xx13, "SIP-Authorization", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ xx14, "SIP-Authentication-Info", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ xx15, "SIP-Authentication-Context", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ xx16, "SIP-Confidentiality-Key", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ xx17, "SIP-Integrity-Key", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ xx18, "SIP-Server-Assignment-Type", DIAMETER_ENUMERATED, SIP_server_assignment_type_vals},
|
|
{ xx19, "SIP-Deregistration-Reason", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ xx20, "SIP-Reason-Code", DIAMETER_ENUMERATED, SIP_reason_code_vals},
|
|
{ xx21, "SIP-Reason-Info", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ xx22, "SIP-Accouting-Information", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ xx23, "SIP-Accounting-Server-URI", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ xx24, "SIP-Credit-Control-Server-URI", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ xx25, "SIP-User-Authorization-Type", DIAMETER_ENUMERATED, SIP_user_authorization_type},
|
|
{ xx26, "SIP-User-Data-Request-Type", DIAMETER_ENUMERATED, SIP_user_data_request_type},
|
|
{ xx27, "SIP-User-Data-Already-Available", DIAMETER_ENUMERATED, SIP_user_data_already_available_vals},
|
|
{ xx28, "SIP-Method", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ xx29, "SIP-Entity-Body-Hash", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
*/
|
|
{0, (char *)NULL, 0, (value_string*)NULL}
|
|
};
|
|
|
|
/* The following table describes the Diameter AVPs defined for the Cx interface protocol.
|
|
* The Vendor-Id header of all AVPs defined in this specification shall be set to
|
|
* 3GPP (10415).
|
|
* TS 29.299 5.7.0
|
|
*/
|
|
static struct old_avp_info ThreeGPP_vendor_diameter_avps[] = {
|
|
{ 1, "Visited-Network-Identifier", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 2, "Public-Identity", DIAMETER_PUBLIC_ID, (value_string *)NULL},
|
|
{ 3, "Server-Name", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 4, "Server-Capabilities", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 5, "Mandatory-Capability", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 6, "Optional-Capability", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 7, "User-Data", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 8, "SIP-Number-Auth-Items", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 9, "SIP-Authentication-Scheme", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 10, "SIP-Authenticate", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 11, "SIP-Authorization", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 12, "SIP-Authentication-Context", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 13, "SIP-Auth-Data-Item", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 14, "SIP-Item-Number", DIAMETER_UNSIGNED32, (value_string *)NULL},
|
|
{ 15, "Server-Assignment-Type", DIAMETER_ENUMERATED, SIP_server_assignment_type_vals},
|
|
{ 16, "Deregistration-Reason", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 17, "Reason-Code", DIAMETER_ENUMERATED, ThreeGPP_reason_code_vals},
|
|
{ 18, "Reason-Info", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 19, "Charging-Information", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 20, "Primary-Event-Charging-Function-Name", DIAMETER_URI, (value_string *)NULL},
|
|
{ 21, "Secondary-Event-Charging-Function-Name", DIAMETER_URI, (value_string *)NULL},
|
|
{ 22, "Primary-Charging-Collection-Function-Name", DIAMETER_URI, (value_string *)NULL},
|
|
{ 23, "Secondary-Charging-Collection-Function-Name", DIAMETER_URI, (value_string *)NULL},
|
|
{ 24, "User-Authorization-Type", DIAMETER_ENUMERATED, SIP_user_authorization_type},
|
|
{ 25, "User-Data-Request-Type", DIAMETER_ENUMERATED, SIP_user_data_request_type},
|
|
{ 26, "User-Data-Already-Available", DIAMETER_ENUMERATED, SIP_user_data_already_available_vals},
|
|
{ 27, "Confidentiality-Key", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 28, "Integrity-Key", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
/* 3GPP TS 32.299 version 6.3.0 Release 6
|
|
* Note not IANA allocated but should be OK anyway.
|
|
*/
|
|
{ 823, "Event-Type", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 824, "SIP-Method", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 825, "Event", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 826, "Content-Type", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 827, "Content-Length", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 828, "Content-Disposition", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 829, "Role-of-node", DIAMETER_ENUMERATED, Three_gpp_Role_of_node_vals},
|
|
{ 830, "User-Session-ID", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 831, "Calling-Party-Address", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 832, "Called-Party-Address", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 833, "Time-stamps", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 834, "SIP-Request-Timestamp", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 835, "SIP-Response-Timestamp", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 836, "Application-Server", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 837, "Application-provided-Called-Party-Address", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 838, "Inter-Operator-Identifier", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 839, "Originating-IOI", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 840, "Terminating-IOI", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 841, "IMS-Charging-Identifier (ICID)", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 842, "SDP-Session-Description", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 843, "SDP-Media-Component", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 844, "SDP-Media-Name", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 845, "SDP-Media-Description", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 846, "GPRS-Charging-ID", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 847, "GGSN-Address" , DIAMETER_IP_ADDRESS, (value_string *)NULL},
|
|
{ 848, "Served-Party-IP-Address", DIAMETER_IP_ADDRESS, (value_string *)NULL},
|
|
{ 849, "Authorised-QoS", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 851, "Trunk-Group-ID", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 852, "Incoming-Trunk-Group-ID", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 853, "Outgoing-Trunk-Group-ID", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 854, "Bearer-Service", DIAMETER_OCTET_STRING, (value_string *)NULL},
|
|
{ 855, "Service-ID", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 856, "UUS-Data", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 857, "Amount-of-UUS-Data", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 858, "Mime-Type", DIAMETER_UTF8STRING, (value_string *)NULL},
|
|
{ 859, "Direction", DIAMETER_ENUMERATED, Three_gpp_direction_vals},
|
|
{ 860, "Cause", DIAMETER_GROUPED, (value_string *)NULL},
|
|
{ 861, "Cause-Code", DIAMETER_ENUMERATED, (value_string *)NULL},
|
|
{ 862, "Node-Functionality", DIAMETER_ENUMERATED, Three_gpp_Node_Functionality_vals},
|
|
{0, (char *)NULL, 0, (value_string*)NULL}
|
|
};
|
|
static const value_string diameter_command_code_vals[] = {
|
|
|
|
/* Base Protocol */
|
|
{257, "Capabilities-Exchange"},
|
|
{258, "Re-Auth"},
|
|
{260, "AA-Mobile-Node"}, /* [RFC-ietf-aaa-diameter-mobileip-20.txt] */
|
|
{262, "Home-Agent-MIP"}, /* [RFC-ietf-aaa-diameter-mobileip-20.txt] */
|
|
{265, "AAR / AAA"}, /* [RFC-ietf-aaa-diameter-nasreq-17.txt] */
|
|
{265, "DER / DEA"}, /* [RFC-ietf-aaa-eap-10.txt] */
|
|
{271, "Accounting"},
|
|
{272, "Credit-Control"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
|
|
{274, "Abort-Session"},
|
|
{275, "Session-Termination"},
|
|
{280, "Device-Watchdog"},
|
|
{282, "Disconnect-Peer"}, /* [RFC3588] */
|
|
/* 300-313 Allocated for 3GPP (TS 29.229 6.40)*/
|
|
{300, "User-Authorization"},
|
|
{301, "Server-Assignment"},
|
|
{302, "Location-Info"},
|
|
{303, "Multimedia-Auth"},
|
|
{304, "Registration-Termination"},
|
|
{305, "Push-Profile"},
|
|
/* 314-16,777,213 Unallocated (IETF Consensus) */
|
|
{16777214, "Experimental code"},
|
|
{16777215, "Experimental code"},
|
|
|
|
/* Session Initiation Protocol (SIP) Application, numbers not yet assigned by IANA
|
|
{aaa, "User-Authorization"},
|
|
{bbb, "Server-Assignment"},
|
|
{ccc, "Location-Info"},
|
|
{ddd, "Multimedia-Auth"},
|
|
{eee, "Registration-Termination"},
|
|
{fff, "Push-Profile"},
|
|
*/
|
|
|
|
{0, (char *)NULL}
|
|
};
|
|
|
|
/* stuff for supporting multiple versions */
|
|
typedef enum {
|
|
DIAMETER_V16,
|
|
DIAMETER_RFC
|
|
} Version_Type;
|
|
|
|
static const enum_val_t options[] = {
|
|
{ "draft-16", "Diameter base draft version 16 and below", DIAMETER_V16 },
|
|
{ "rfc3588", "Diameter base RFC 3588 ", DIAMETER_RFC },
|
|
{ NULL, NULL, 0 }
|
|
};
|
|
|
|
|
|
|
|
#endif /* _PACKET_DIAMETER_H */
|