/* packet-radius.c * Routines for RADIUS packet disassembly * Copyright 1999 Johan Feyaerts * * RFC 2865, RFC 2866, RFC 2867, RFC 2868, RFC 2869 * * $Id: packet-radius.c,v 1.58 2002/05/08 08:13:06 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs * 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. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_NETINET_IN_H #include #endif #include #include #include #include #include #include #include #include static int proto_radius = -1; static int hf_radius_length = -1; static int hf_radius_code = -1; static int hf_radius_id =-1; static gint ett_radius = -1; static gint ett_radius_avp = -1; static gint ett_radius_eap = -1; static dissector_handle_t eap_fragment_handle; #define UDP_PORT_RADIUS 1645 #define UDP_PORT_RADIUS_NEW 1812 #define UDP_PORT_RADACCT 1646 #define UDP_PORT_RADACCT_NEW 1813 #define TEXTBUFFER 2000 #define VSABUFFER 10 typedef struct _e_radiushdr { guint8 rh_code; guint8 rh_ident; guint16 rh_pktlength; } e_radiushdr; typedef struct _e_avphdr { guint8 avp_type; guint8 avp_length; } e_avphdr; typedef struct _value_value_pair { guint16 val1; guint16 val2; } value_value_pair; typedef struct _rd_vsa_table { guint32 type; value_value_pair* printinfo; value_string* types; } rd_vsa_table; typedef struct _rd_valstr_table { int type; value_string* str; } rd_valstr_table; typedef struct _rd_vsa_buffer { gchar* valstr; int offset; int length; } rd_vsa_buffer; #define RADIUS_ACCESS_REQUEST 1 #define RADIUS_ACCESS_ACCEPT 2 #define RADIUS_ACCESS_REJECT 3 #define RADIUS_ACCOUNTING_REQUEST 4 #define RADIUS_ACCOUNTING_RESPONSE 5 #define RADIUS_ACCESS_PASSWORD_REQUEST 7 #define RADIUS_ACCESS_PASSWORD_ACK 8 #define RADIUS_ACCESS_PASSWORD_REJECT 9 #define RADIUS_ACCESS_CHALLENGE 11 #define RADIUS_STATUS_SERVER 12 #define RADIUS_STATUS_CLIENT 13 #define RADIUS_VENDOR_SPECIFIC_CODE 26 #define RADIUS_ASCEND_ACCESS_NEXT_CODE 29 #define RADIUS_ASCEND_ACCESS_NEW_PIN 30 #define RADIUS_ASCEND_PASSWORD_EXPIRED 32 #define RADIUS_ASCEND_ACCESS_EVENT_REQUEST 33 #define RADIUS_ASCEND_ACCESS_EVENT_RESPONSE 34 #define RADIUS_DISCONNECT_REQUEST 40 #define RADIUS_DISCONNECT_REQUEST_ACK 41 #define RADIUS_DISCONNECT_REQUEST_NAK 42 #define RADIUS_CHANGE_FILTER_REQUEST 43 #define RADIUS_CHANGE_FILTER_REQUEST_ACK 44 #define RADIUS_CHANGE_FILTER_REQUEST_NAK 45 #define RADIUS_RESERVED 255 /* * XXX - should these be read from files, such as FreeRadius dictionary * files? For example, its "dictionary" file has * * ATTRIBUTE User-Name 1 string * * for RD_TP_USER_NAME. */ #define RD_TP_USER_NAME 1 #define RD_TP_USER_PASSWORD 2 #define RD_TP_CHAP_PASSWORD 3 #define RD_TP_NAS_IP_ADDRESS 4 #define RD_TP_NAS_PORT 5 #define RD_TP_SERVICE_TYPE 6 #define RD_TP_FRAMED_PROTOCOL 7 #define RD_TP_FRAMED_IP_ADDRESS 8 #define RD_TP_FRAMED_IP_NETMASK 9 #define RD_TP_FRAMED_ROUTING 10 #define RD_TP_FILTER_ID 11 #define RD_TP_FRAMED_MTU 12 #define RD_TP_FRAMED_COMPRESSION 13 #define RD_TP_LOGIN_IP_HOST 14 #define RD_TP_LOGIN_SERVICE 15 #define RD_TP_LOGIN_TCP_PORT 16 #define RD_TP_UNASSIGNED 17 #define RD_TP_REPLY_MESSAGE 18 #define RD_TP_CALLBACK_NUMBER 19 #define RD_TP_CALLBACK_ID 20 #define RD_TP_UNASSIGNED2 21 #define RD_TP_FRAMED_ROUTE 22 #define RD_TP_FRAMED_IPX_NETWORK 23 #define RD_TP_STATE 24 #define RD_TP_CLASS 25 #define RD_TP_VENDOR_SPECIFIC 26 #define RD_TP_SESSION_TIMEOUT 27 #define RD_TP_IDLE_TIMEOUT 28 #define RD_TP_TERMINATING_ACTION 29 #define RD_TP_CALLED_STATION_ID 30 #define RD_TP_CALLING_STATION_ID 31 #define RD_TP_NAS_IDENTIFIER 32 #define RD_TP_PROXY_STATE 33 #define RD_TP_LOGIN_LAT_SERVICE 34 #define RD_TP_LOGIN_LAT_NODE 35 #define RD_TP_LOGIN_LAT_GROUP 36 #define RD_TP_FRAMED_APPLETALK_LINK 37 #define RD_TP_FRAMED_APPLETALK_NETWORK 38 #define RD_TP_FRAMED_APPLETALK_ZONE 39 #define RD_TP_ACCT_STATUS_TYPE 40 #define RD_TP_ACCT_DELAY_TIME 41 #define RD_TP_ACCT_INPUT_OCTETS 42 #define RD_TP_ACCT_OUTPUT_OCTETS 43 #define RD_TP_ACCT_SESSION_ID 44 #define RD_TP_ACCT_AUTHENTIC 45 #define RD_TP_ACCT_SESSION_TIME 46 #define RD_TP_ACCT_INPUT_PACKETS 47 #define RD_TP_ACCT_OUTPUT_PACKETS 48 #define RD_TP_ACCT_TERMINATE_CAUSE 49 #define RD_TP_ACCT_MULTI_SESSION_ID 50 #define RD_TP_ACCT_LINK_COUNT 51 #define RD_TP_ACCT_INPUT_GIGAWORDS 52 #define RD_TP_ACCT_OUTPUT_GIGAWORDS 53 /* 54 Unused */ #define RD_TP_EVENT_TIMESTAMP 55 /* 56-59 Unused */ #define RD_TP_CHAP_CHALLENGE 60 #define RD_TP_NAS_PORT_TYPE 61 #define RD_TP_PORT_LIMIT 62 #define RD_TP_LOGIN_LAT_PORT 63 #define RD_TP_TUNNEL_TYPE 64 #define RD_TP_TUNNEL_MEDIUM_TYPE 65 #define RD_TP_TUNNEL_CLIENT_ENDPOINT 66 #define RD_TP_TUNNEL_SERVER_ENDPOINT 67 #define RD_TP_TUNNEL_CONNECTION 68 #define RD_TP_TUNNEL_PASSWORD 69 #define RD_TP_ARAP_PASSWORD 70 #define RD_TP_ARAP_FEATURES 71 #define RD_TP_ARAP_ZONE_ACCESS 72 #define RD_TP_ARAP_SECURITY 73 #define RD_TP_ARAP_SECURITY_DATA 74 #define RD_TP_PASSWORD_RETRY 75 #define RD_TP_PROMPT 76 #define RD_TP_CONNECT_INFO 77 #define RD_TP_CONFIGURATION_TOKEN 78 #define RD_TP_EAP_MESSAGE 79 #define RD_TP_MESSAGE_AUTHENTICATOR 80 #define RD_TP_TUNNEL_PRIVATE_GROUP_ID 81 #define RD_TP_TUNNEL_ASSIGNMENT_ID 82 #define RD_TP_TUNNEL_TUNNEL_PREFERENCE 83 #define RD_TP_TUNNEL_PACKETS_LOST 86 #define RD_TP_NAS_PORT_ID 87 #define RD_TP_TUNNEL_CLIENT_AUTH_ID 90 #define RD_TP_TUNNEL_SERVER_AUTH_ID 91 #define RD_TP_ASCEND_MODEM_PORTNO 120 #define RD_TP_ASCEND_MODEM_SLOTNO 121 #define RD_TP_ASCEND_MULTILINK_ID 187 #define RD_TP_ASCEND_NUM_IN_MULTILINK 188 #define RD_TP_ASCEND_FIRST_DEST 189 #define RD_TP_ASCEND_PRE_INPUT_OCTETS 190 #define RD_TP_ASCEND_PRE_OUTPUT_OCTETS 191 #define RD_TP_ASCEND_PRE_INPUT_PACKETS 192 #define RD_TP_ASCEND_PRE_OUTPUT_PACKETS 193 #define RD_TP_ASCEND_MAXIMUM_TIME 194 #define RD_TP_ASCEND_DISCONNECT_CAUSE 195 #define RD_TP_ASCEND_CONNECT_PROGRESS 196 #define RD_TP_ASCEND_DATA_RATE 197 #define RD_TP_ASCEND_PRESESSION_TIME 198 #define RD_TP_ASCEND_ASSIGN_IP_POOL 218 #define RD_TP_ASCEND_XMIT_RATE 255 #define AUTHENTICATOR_LENGTH 16 #define RD_HDR_LENGTH 4 #define RADIUS_STRING 1 #define RADIUS_BINSTRING 2 #define RADIUS_INTEGER4 3 #define RADIUS_IP_ADDRESS 4 #define RADIUS_SERVICE_TYPE 5 #define RADIUS_FRAMED_PROTOCOL 6 #define RADIUS_FRAMED_ROUTING 7 #define RADIUS_FRAMED_COMPRESSION 8 #define RADIUS_LOGIN_SERVICE 9 #define RADIUS_UNKNOWN 10 #define RADIUS_IPX_ADDRESS 11 #define RADIUS_TERMINATING_ACTION 12 #define RADIUS_ACCOUNTING_STATUS_TYPE 13 #define RADIUS_ACCT_AUTHENTIC 14 #define RADIUS_ACCT_TERMINATE_CAUSE 15 #define RADIUS_NAS_PORT_TYPE 16 #define RADIUS_TUNNEL_TYPE 17 #define RADIUS_TUNNEL_MEDIUM_TYPE 18 #define RADIUS_STRING_TAGGED 19 #define RADIUS_VENDOR_SPECIFIC 20 #define RADIUS_TIMESTAMP 21 #define RADIUS_INTEGER4_TAGGED 22 #define CISCO_VSA_DISCONNECT_CAUSE 23 #define MICROSOFT_VSA_BAP_USAGE 24 #define MICROSOFT_VSA_ARAP_PW_CHANGE_REASON 25 #define MICROSOFT_VSA_ACCT_AUTH_TYPE 26 #define MICROSOFT_VSA_ACCT_EAP_TYPE 27 #define ASCEND_VSA_CALLING_ID_TYPE_OF_NUMBER 28 #define ASCEND_VSA_CALLING_ID_NUMBERING_PLAN 29 #define ASCEND_VSA_CALLING_ID_PRESENTATION 30 #define ASCEND_VSA_CALLING_ID_SCREENING 31 #define COSINE_VSA_VPI_VCI 32 static value_string radius_vals[] = { {RADIUS_ACCESS_REQUEST, "Access Request"}, {RADIUS_ACCESS_ACCEPT, "Access Accept"}, {RADIUS_ACCESS_REJECT, "Access Reject"}, {RADIUS_ACCOUNTING_REQUEST, "Accounting Request"}, {RADIUS_ACCOUNTING_RESPONSE, "Accounting Response"}, {RADIUS_ACCESS_PASSWORD_REQUEST, "Access Password Request"}, {RADIUS_ACCESS_PASSWORD_ACK, "Access Password Ack"}, {RADIUS_ACCESS_PASSWORD_REJECT, "Access Password Reject"}, {RADIUS_ACCESS_CHALLENGE, "Access challenge"}, {RADIUS_STATUS_SERVER, "StatusServer"}, {RADIUS_STATUS_CLIENT, "StatusClient"}, {RADIUS_VENDOR_SPECIFIC_CODE, "Vendor Specific"}, {RADIUS_ASCEND_ACCESS_NEXT_CODE, "Ascend Access Next Code"}, {RADIUS_ASCEND_ACCESS_NEW_PIN, "Ascend Access New Pin"}, {RADIUS_ASCEND_PASSWORD_EXPIRED, "Ascend Password Expired"}, {RADIUS_ASCEND_ACCESS_EVENT_REQUEST, "Ascend Access Event Request"}, {RADIUS_ASCEND_ACCESS_EVENT_RESPONSE, "Ascend Access Event Response"}, {RADIUS_DISCONNECT_REQUEST, "Disconnect Request"}, {RADIUS_DISCONNECT_REQUEST_ACK, "Disconnect Request ACK"}, {RADIUS_DISCONNECT_REQUEST_NAK, "Disconnect Request NAK"}, {RADIUS_CHANGE_FILTER_REQUEST, "Change Filter Request"}, {RADIUS_CHANGE_FILTER_REQUEST_ACK, "Change Filter Request ACK"}, {RADIUS_CHANGE_FILTER_REQUEST_NAK, "Change Filter Request NAK"}, {RADIUS_RESERVED, "Reserved"}, {0, NULL}}; static value_string radius_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"}, {0,NULL}}; /* * These are SMI Network Management Private Enterprise Codes for * organizations; see * * http://www.isi.edu/in-notes/iana/assignments/enterprise-numbers * * for a list. * * XXX - these also appear in FreeRadius dictionary files, with items such * as * * VENDOR Cisco 9 */ #define VENDOR_ACC 5 #define VENDOR_CISCO 9 #define VENDOR_SHIVA 166 #define VENDOR_LIVINGSTON 307 #define VENDOR_MICROSOFT 311 #define VENDOR_3COM 429 #define VENDOR_ASCEND 529 #define VENDOR_BAY 1584 #define VENDOR_JUNIPER 2636 #define VENDOR_COSINE 3085 #define VENDOR_UNISPHERE 4874 #define VENDOR_ISSANNI 5948 static value_string radius_vendor_specific_vendors[]= {{VENDOR_ACC,"ACC"}, {VENDOR_CISCO,"Cisco"}, {VENDOR_SHIVA,"Shiva"}, {VENDOR_MICROSOFT,"Microsoft"}, {VENDOR_LIVINGSTON,"Livingston"}, {VENDOR_3COM,"3Com"}, {VENDOR_ASCEND,"Ascend"}, {VENDOR_BAY,"Bay Networks"}, {VENDOR_JUNIPER,"Juniper Networks"}, {VENDOR_COSINE,"CoSine Communications"}, {VENDOR_UNISPHERE,"Unisphere Networks"}, {VENDOR_ISSANNI,"Issanni Communications"}, {0,NULL}}; /* references: 'dictionary.cisco' file from FreeRADIUS http://www.freeradius.org radiusd/raddb/dictionary.cisco http://www.cisco.com/univercd/cc/td/doc/product/access/acs_serv/vapp_dev/vsaig3.htm http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/fappendx/fradattr/scfrdat3.pdf http://www.missl.cs.umd.edu/wireless/ethereal/cisco-vsa.pdf */ /* stanard sttributes */ #define VENDOR_CISCO_VSA_AVP_CISCO 1 #define VENDOR_CISCO_VSA_NAS_PORT 2 /* fax */ #define VENDOR_CISCO_VSA_FAX_ACCOUNT_ID_ORIGIN 3 #define VENDOR_CISCO_VSA_FAX_MSG_ID 4 #define VENDOR_CISCO_VSA_FAX_PAGES 5 #define VENDOR_CISCO_VSA_FAX_COVERPAGE_FLAG 6 #define VENDOR_CISCO_VSA_FAX_MODEM_TIME 7 #define VENDOR_CISCO_VSA_FAX_CONNECT_SPEED 8 #define VENDOR_CISCO_VSA_FAX_RECIPENT_COUNT 9 #define VENDOR_CISCO_VSA_FAX_PROCESS_ABORT_FLAG 10 #define VENDOR_CISCO_VSA_FAX_DSN_ADDRESS 11 #define VENDOR_CISCO_VSA_FAX_DSN_FLAG 12 #define VENDOR_CISCO_VSA_FAX_MDN_ADDRESS 13 #define VENDOR_CISCO_VSA_FAX_MDN_FLAG 14 #define VENDOR_CISCO_VSA_FAX_AUTH_STATUS 15 #define VENDOR_CISCO_VSA_EMAIL_SERVER_ADDRESS 16 #define VENDOR_CISCO_VSA_EMAIL_SERVER_ACK_FLAG 17 #define VENDOR_CISCO_VSA_GATEWAY_ID 18 #define VENDOR_CISCO_VSA_CALL_TYPE 19 #define VENDOR_CISCO_VSA_PORT_USED 20 #define VENDOR_CISCO_VSA_ABORT_CAUSE 21 /* #22 */ /* H323 - Voice over IP attributes. */ #define VENDOR_CISCO_VSA_H323_REMOTE_ADDRESS 23 #define VENDOR_CISCO_VSA_H323_CONF_ID 24 #define VENDOR_CISCO_VSA_H323_SETUP_TIME 25 #define VENDOR_CISCO_VSA_H323_CALL_ORIGIN 26 #define VENDOR_CISCO_VSA_H323_CALL_TYPE 27 #define VENDOR_CISCO_VSA_H323_CONNECT_TIME 28 #define VENDOR_CISCO_VSA_H323_DISCONNECT_TIME 29 #define VENDOR_CISCO_VSA_H323_DISCONNECT_CAUSE 30 #define VENDOR_CISCO_VSA_H323_VOICE_QUALITY 31 /* #32 */ #define VENDOR_CISCO_VSA_H323_GW_ID 33 /* #34 */ #define VENDOR_CISCO_VSA_H323_INCOMING_CONF_ID 35 /* #36-#100 */ #define VENDOR_CISCO_VSA_H323_CREDIT_AMOUNT 101 #define VENDOR_CISCO_VSA_H323_CREDIT_TIME 102 #define VENDOR_CISCO_VSA_H323_RETURN_CODE 103 #define VENDOR_CISCO_VSA_H323_PROMPT_ID 104 #define VENDOR_CISCO_VSA_H323_TIME_AND_DAY 105 #define VENDOR_CISCO_VSA_H323_REDIRECT_NUMBER 106 #define VENDOR_CISCO_VSA_H323_PREFERRED_LANG 107 #define VENDOR_CISCO_VSA_H323_REDIRECT_IP_ADDRESS 108 #define VENDOR_CISCO_VSA_H323_BILLING_MODEL 109 #define VENDOR_CISCO_VSA_H323_CURRENCY_TYPE 110 /* #111-#186 */ /* Extra attributes sent by the Cisco, if you configure "radius-server vsa accounting" (requires IOS11.2+). */ #define VENDOR_CISCO_VSA_MULTILINK_ID 187 #define VENDOR_CISCO_VSA_NUM_IN_MULTILINK 188 /* #189 */ #define VENDOR_CISCO_VSA_PRE_INPUT_OCTETS 190 #define VENDOR_CISCO_VSA_PRE_OUTPUT_OCTETS 191 #define VENDOR_CISCO_VSA_PRE_INPUT_PACKETS 192 #define VENDOR_CISCO_VSA_PRE_OUTPUT_PACKETS 193 #define VENDOR_CISCO_VSA_MAXIMUM_TIME 194 #define VENDOR_CISCO_VSA_DISCONNECT_CAUSE 195 /* #196 */ #define VENDOR_CISCO_VSA_DATA_RATE 197 #define VENDOR_CISCO_VSA_PRESESSION_TIME 198 /* #199-#207 */ #define VENDOR_CISCO_VSA_PW_LIFETIME 208 #define VENDOR_CISCO_VSA_IP_DIRECT 209 #define VENDOR_CISCO_VSA_PPP_VJ_SLOT_COMP 210 /* #211 */ #define VENDOR_CISCO_VSA_PPP_ASYNC_MAP 212 /* #213-#216 */ #define VENDOR_CISCO_VSA_IP_POOL_DEFINITION 217 #define VENDOR_CISCO_VSA_ASING_IP_POOL 218 /* #219-#227 */ #define VENDOR_CISCO_VSA_ROUTE_IP 228 /* #229-#232 */ #define VENDOR_CISCO_VSA_LINK_COMPRESSION 233 #define VENDOR_CISCO_VSA_TARGET_UTIL 234 #define VENDOR_CISCO_VSA_MAXIMUM_CHANNELS 235 /* #236-#241 */ #define VENDOR_CISCO_VSA_DATA_FILTER 242 #define VENDOR_CISCO_VSA_CALL_FILTER 243 #define VENDOR_CISCO_VSA_IDLE_LIMIT 244 #define VENDOR_CISCO_VSA_XMIT_RATE 255 static value_value_pair radius_vendor_cisco_printinfo[] = { { VENDOR_CISCO_VSA_AVP_CISCO ,RADIUS_STRING }, { VENDOR_CISCO_VSA_NAS_PORT ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_ACCOUNT_ID_ORIGIN ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_MSG_ID ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_PAGES ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_COVERPAGE_FLAG ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_MODEM_TIME ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_CONNECT_SPEED ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_RECIPENT_COUNT ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_PROCESS_ABORT_FLAG ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_DSN_ADDRESS ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_DSN_FLAG ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_MDN_ADDRESS ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_MDN_FLAG ,RADIUS_STRING }, { VENDOR_CISCO_VSA_FAX_AUTH_STATUS ,RADIUS_STRING }, { VENDOR_CISCO_VSA_EMAIL_SERVER_ADDRESS ,RADIUS_STRING }, { VENDOR_CISCO_VSA_EMAIL_SERVER_ACK_FLAG ,RADIUS_STRING }, { VENDOR_CISCO_VSA_GATEWAY_ID ,RADIUS_STRING }, { VENDOR_CISCO_VSA_CALL_TYPE ,RADIUS_STRING }, { VENDOR_CISCO_VSA_PORT_USED ,RADIUS_STRING }, { VENDOR_CISCO_VSA_ABORT_CAUSE ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_REMOTE_ADDRESS ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_CONF_ID ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_SETUP_TIME ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_CALL_ORIGIN ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_CALL_TYPE ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_CONNECT_TIME ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_DISCONNECT_TIME ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_DISCONNECT_CAUSE ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_VOICE_QUALITY ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_GW_ID ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_INCOMING_CONF_ID ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_CREDIT_AMOUNT ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_CREDIT_TIME ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_RETURN_CODE ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_PROMPT_ID ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_TIME_AND_DAY ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_REDIRECT_NUMBER ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_PREFERRED_LANG ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_REDIRECT_IP_ADDRESS ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_BILLING_MODEL ,RADIUS_STRING }, { VENDOR_CISCO_VSA_H323_CURRENCY_TYPE ,RADIUS_STRING }, { VENDOR_CISCO_VSA_MULTILINK_ID ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_NUM_IN_MULTILINK ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_PRE_INPUT_OCTETS ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_PRE_OUTPUT_OCTETS ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_PRE_INPUT_PACKETS ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_PRE_OUTPUT_PACKETS ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_MAXIMUM_TIME ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_DISCONNECT_CAUSE ,CISCO_VSA_DISCONNECT_CAUSE }, { VENDOR_CISCO_VSA_DATA_RATE ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_PRESESSION_TIME ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_PW_LIFETIME ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_IP_DIRECT ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_PPP_VJ_SLOT_COMP ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_PPP_ASYNC_MAP ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_IP_POOL_DEFINITION ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_ASING_IP_POOL ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_ROUTE_IP ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_LINK_COMPRESSION ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_TARGET_UTIL ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_MAXIMUM_CHANNELS ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_DATA_FILTER ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_CALL_FILTER ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_IDLE_LIMIT ,RADIUS_INTEGER4 }, { VENDOR_CISCO_VSA_XMIT_RATE ,RADIUS_INTEGER4 }, {0,0}, }; static value_string radius_vendor_cisco_types[]= {{VENDOR_CISCO_VSA_AVP_CISCO ,"Cisco AV Pair" }, { VENDOR_CISCO_VSA_NAS_PORT ,"Cisco NAS Port" }, { VENDOR_CISCO_VSA_FAX_ACCOUNT_ID_ORIGIN ,"Fax Account Id Origin" }, { VENDOR_CISCO_VSA_FAX_MSG_ID ,"Fax Msg Id" }, { VENDOR_CISCO_VSA_FAX_PAGES ,"Fax Pages" }, { VENDOR_CISCO_VSA_FAX_COVERPAGE_FLAG ,"Fax Cover Page Flag" }, { VENDOR_CISCO_VSA_FAX_MODEM_TIME ,"Fax Modem Time" }, { VENDOR_CISCO_VSA_FAX_CONNECT_SPEED ,"Fax Connect Speed" }, { VENDOR_CISCO_VSA_FAX_RECIPENT_COUNT ,"Fax Recipent Count" }, { VENDOR_CISCO_VSA_FAX_PROCESS_ABORT_FLAG ,"Fax Process Abort Flag" }, { VENDOR_CISCO_VSA_FAX_DSN_ADDRESS ,"Fax DSN Address" }, { VENDOR_CISCO_VSA_FAX_DSN_FLAG ,"Fax DSN Flag" }, { VENDOR_CISCO_VSA_FAX_MDN_ADDRESS ,"Fax MDN Address" }, { VENDOR_CISCO_VSA_FAX_MDN_FLAG ,"Fax MDN Flag" }, { VENDOR_CISCO_VSA_FAX_AUTH_STATUS ,"Fax Auth Status" }, { VENDOR_CISCO_VSA_EMAIL_SERVER_ADDRESS ,"Email Server Address" }, { VENDOR_CISCO_VSA_EMAIL_SERVER_ACK_FLAG ,"Email Server Ack Flag" }, { VENDOR_CISCO_VSA_GATEWAY_ID ,"Gateway Id" }, { VENDOR_CISCO_VSA_CALL_TYPE ,"Call Type" }, { VENDOR_CISCO_VSA_PORT_USED ,"Port Used" }, { VENDOR_CISCO_VSA_ABORT_CAUSE ,"Abort Cause" }, { VENDOR_CISCO_VSA_H323_REMOTE_ADDRESS ,"H323 Remote Address" }, { VENDOR_CISCO_VSA_H323_CONF_ID ,"H323 Conf Id" }, { VENDOR_CISCO_VSA_H323_SETUP_TIME ,"H323 Setup Time" }, { VENDOR_CISCO_VSA_H323_CALL_ORIGIN ,"H323 Call Origin" }, { VENDOR_CISCO_VSA_H323_CALL_TYPE ,"H323 Call Type" }, { VENDOR_CISCO_VSA_H323_CONNECT_TIME ,"H323 Connect Time" }, { VENDOR_CISCO_VSA_H323_DISCONNECT_TIME ,"H323 Disconnect Time" }, { VENDOR_CISCO_VSA_H323_DISCONNECT_CAUSE ,"H323 Disconnect Cause" }, { VENDOR_CISCO_VSA_H323_VOICE_QUALITY ,"H323 Voice Quality" }, { VENDOR_CISCO_VSA_H323_GW_ID ,"H323 GW Id" }, { VENDOR_CISCO_VSA_H323_INCOMING_CONF_ID ,"H323 Incoming Conf Id" }, { VENDOR_CISCO_VSA_H323_CREDIT_AMOUNT ,"H323 Credit Amount" }, { VENDOR_CISCO_VSA_H323_CREDIT_TIME ,"H323 Credit Time" }, { VENDOR_CISCO_VSA_H323_RETURN_CODE ,"H323 Return Code" }, { VENDOR_CISCO_VSA_H323_PROMPT_ID ,"H323 Prompt Id" }, { VENDOR_CISCO_VSA_H323_TIME_AND_DAY ,"H323 Time And Day" }, { VENDOR_CISCO_VSA_H323_REDIRECT_NUMBER ,"H323 Redirect Number" }, { VENDOR_CISCO_VSA_H323_PREFERRED_LANG ,"H323 Preferred Lang" }, { VENDOR_CISCO_VSA_H323_REDIRECT_IP_ADDRESS ,"H323 Redirect Ip Address" }, { VENDOR_CISCO_VSA_H323_BILLING_MODEL ,"H323 Billing Model" }, { VENDOR_CISCO_VSA_H323_CURRENCY_TYPE ,"H323 Currency Type" }, { VENDOR_CISCO_VSA_MULTILINK_ID ,"Cisco Multilink ID" }, { VENDOR_CISCO_VSA_NUM_IN_MULTILINK ,"Cisco Num In Multilink" }, { VENDOR_CISCO_VSA_PRE_INPUT_OCTETS ,"Cisco Pre Input Octets" }, { VENDOR_CISCO_VSA_PRE_OUTPUT_OCTETS ,"Cisco Pre Output Octets" }, { VENDOR_CISCO_VSA_PRE_INPUT_PACKETS ,"Cisco Pre Input Packets" }, { VENDOR_CISCO_VSA_PRE_OUTPUT_PACKETS ,"Cisco Pre Output Packets" }, { VENDOR_CISCO_VSA_MAXIMUM_TIME ,"Cisco Maximum Time" }, { VENDOR_CISCO_VSA_DISCONNECT_CAUSE ,"Cisco Disconnect Cause" }, { VENDOR_CISCO_VSA_DATA_RATE ,"Cisco Data Rate" }, { VENDOR_CISCO_VSA_PRESESSION_TIME ,"Cisco PreSession Time" }, { VENDOR_CISCO_VSA_PW_LIFETIME ,"Cisco PW Lifetime" }, { VENDOR_CISCO_VSA_IP_DIRECT ,"Cisco IP Direct" }, { VENDOR_CISCO_VSA_PPP_VJ_SLOT_COMP ,"Cisco PPP VJ Slot Comp" }, { VENDOR_CISCO_VSA_PPP_ASYNC_MAP ,"Cisco PPP Async Map" }, { VENDOR_CISCO_VSA_IP_POOL_DEFINITION ,"Cisco IP Pool Definition" }, { VENDOR_CISCO_VSA_ASING_IP_POOL ,"Cisco Asing IP Pool" }, { VENDOR_CISCO_VSA_ROUTE_IP ,"Cisco Route IP" }, { VENDOR_CISCO_VSA_LINK_COMPRESSION ,"Cisco Link Compression" }, { VENDOR_CISCO_VSA_TARGET_UTIL ,"Cisco Target Util" }, { VENDOR_CISCO_VSA_MAXIMUM_CHANNELS ,"Cisco Maximum Channels" }, { VENDOR_CISCO_VSA_DATA_FILTER ,"Cisco Data Filter" }, { VENDOR_CISCO_VSA_CALL_FILTER ,"Cisco Call Filter" }, { VENDOR_CISCO_VSA_IDLE_LIMIT ,"Cisco Idle Limit" }, { VENDOR_CISCO_VSA_XMIT_RATE ,"Cisco Xmit Rate" }, {0,NULL}}; static value_string radius_vendor_cisco_disconnect_cause_vals[]= {{2, "Unknown"}, {4, "CLID-Authentication-Failure"}, {10, "No-Carrier"}, {11, "Lost-Carrier"}, {12, "No-Detected-Result-Codes"}, {20, "User-Ends-Session"}, {21, "Idle-Timeout"}, {22, "Exit-Telnet-Session"}, {23, "No-Remote-IP-Addr"}, {24, "Exit-Raw-TCP"}, {25, "Password-Fail"}, {26, "Raw-TCP-Disabled"}, {27, "Control-C-Detected"}, {28, "EXEC-Program-Destroyed"}, {40, "Timeout-PPP-LCP"}, {41, "Failed-PPP-LCP-Negotiation"}, {42, "Failed-PPP-PAP-Auth-Fail"}, {43, "Failed-PPP-CHAP-Auth"}, {44, "Failed-PPP-Remote-Auth"}, {45, "PPP-Remote-Terminate"}, {46, "PPP-Closed-Event"}, {100, "Session-Timeout"}, {101, "Session-Failed-Security"}, {102, "Session-End-Callback"}, {120, "Invalid-Protocol"}, {0,NULL}}; #define VENDOR_MICROSOFT_VSA_CHAP_RESPONSE 1 #define VENDOR_MICROSOFT_VSA_CHAP_ERROR 2 #define VENDOR_MICROSOFT_VSA_CHAP_CPW_1 3 #define VENDOR_MICROSOFT_VSA_CHAP_CPW_2 4 #define VENDOR_MICROSOFT_VSA_CHAP_LM_ENC_PW 5 #define VENDOR_MICROSOFT_VSA_CHAP_NT_ENC_PW 6 #define VENDOR_MICROSOFT_VSA_MPPE_ENCRYPTION_POLICY 7 #define VENDOR_MICROSOFT_VSA_MPPE_ENCRYPTION_TYPE 8 #define VENDOR_MICROSOFT_VSA_RAS_VENDOR 9 #define VENDOR_MICROSOFT_VSA_CHAP_DOMAIN 10 #define VENDOR_MICROSOFT_VSA_CHAP_CHALLENGE 11 #define VENDOR_MICROSOFT_VSA_CHAP_MPPE_KEYS 12 #define VENDOR_MICROSOFT_VSA_BAP_USAGE 13 #define VENDOR_MICROSOFT_VSA_LINK_UTILIZATION_THRESHOLD 14 #define VENDOR_MICROSOFT_VSA_LINK_DROP_TIME_LIMIT 15 #define VENDOR_MICROSOFT_VSA_MPPE_SEND_KEY 16 #define VENDOR_MICROSOFT_VSA_MPPE_RECV_KEY 17 #define VENDOR_MICROSOFT_VSA_RAS_VERSION 18 #define VENDOR_MICROSOFT_VSA_OLD_ARAP_PASSWORD 19 #define VENDOR_MICROSOFT_VSA_NEW_ARAP_PASSWORD 20 #define VENDOR_MICROSOFT_VSA_ARAP_PW_CHANGE_REASON 21 #define VENDOR_MICROSOFT_VSA_FILTER 22 #define VENDOR_MICROSOFT_VSA_ACCT_AUTH_TYPE 23 #define VENDOR_MICROSOFT_VSA_ACCT_EAP_TYPE 24 #define VENDOR_MICROSOFT_VSA_CHAP2_RESPONSE 25 #define VENDOR_MICROSOFT_VSA_CHAP2_SUCCESS 26 #define VENDOR_MICROSOFT_VSA_CHAP2_CPW 27 #define VENDOR_MICROSOFT_VSA_PRIMARY_DNS_SERVER 28 #define VENDOR_MICROSOFT_VSA_SECONDARY_DNS_SERVER 29 #define VENDOR_MICROSOFT_VSA_PRIMARY_NBNS_SERVER 30 #define VENDOR_MICROSOFT_VSA_SECONDARY_NBNS_SERVER 31 static value_value_pair radius_vendor_microsoft_printinfo[] = { { VENDOR_MICROSOFT_VSA_CHAP_RESPONSE, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_CHAP_ERROR, RADIUS_STRING }, { VENDOR_MICROSOFT_VSA_CHAP_CPW_1, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_CHAP_CPW_2, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_CHAP_LM_ENC_PW, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_CHAP_NT_ENC_PW, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_MPPE_ENCRYPTION_POLICY, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_MPPE_ENCRYPTION_TYPE, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_RAS_VENDOR, RADIUS_INTEGER4 }, { VENDOR_MICROSOFT_VSA_CHAP_DOMAIN, RADIUS_STRING }, { VENDOR_MICROSOFT_VSA_CHAP_CHALLENGE, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_CHAP_MPPE_KEYS, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_BAP_USAGE, MICROSOFT_VSA_BAP_USAGE }, { VENDOR_MICROSOFT_VSA_LINK_UTILIZATION_THRESHOLD, RADIUS_INTEGER4 }, { VENDOR_MICROSOFT_VSA_LINK_DROP_TIME_LIMIT, RADIUS_INTEGER4 }, { VENDOR_MICROSOFT_VSA_MPPE_SEND_KEY, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_MPPE_RECV_KEY, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_RAS_VERSION, RADIUS_STRING }, { VENDOR_MICROSOFT_VSA_OLD_ARAP_PASSWORD, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_NEW_ARAP_PASSWORD, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_ARAP_PW_CHANGE_REASON, MICROSOFT_VSA_ARAP_PW_CHANGE_REASON }, { VENDOR_MICROSOFT_VSA_FILTER, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_ACCT_AUTH_TYPE, MICROSOFT_VSA_ACCT_AUTH_TYPE }, { VENDOR_MICROSOFT_VSA_ACCT_EAP_TYPE, MICROSOFT_VSA_ACCT_EAP_TYPE }, { VENDOR_MICROSOFT_VSA_CHAP2_RESPONSE, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_CHAP2_SUCCESS, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_CHAP2_CPW, RADIUS_BINSTRING }, { VENDOR_MICROSOFT_VSA_PRIMARY_DNS_SERVER, RADIUS_IP_ADDRESS }, { VENDOR_MICROSOFT_VSA_SECONDARY_DNS_SERVER, RADIUS_IP_ADDRESS }, { VENDOR_MICROSOFT_VSA_PRIMARY_NBNS_SERVER, RADIUS_IP_ADDRESS }, { VENDOR_MICROSOFT_VSA_SECONDARY_NBNS_SERVER, RADIUS_IP_ADDRESS }, {0,0}, }; static value_string radius_vendor_microsoft_types[] = { { VENDOR_MICROSOFT_VSA_CHAP_RESPONSE, "MS CHAP Response" }, { VENDOR_MICROSOFT_VSA_CHAP_ERROR, "MS CHAP Error" }, { VENDOR_MICROSOFT_VSA_CHAP_CPW_1, "MS CHAP CPW 1" }, { VENDOR_MICROSOFT_VSA_CHAP_CPW_2, "MS CHAP CPW 2" }, { VENDOR_MICROSOFT_VSA_CHAP_LM_ENC_PW, "MS CHAP LM Enc PW" }, { VENDOR_MICROSOFT_VSA_CHAP_NT_ENC_PW, "MS CHAP NT Enc PW" }, { VENDOR_MICROSOFT_VSA_MPPE_ENCRYPTION_POLICY, "MS MPPE Encryption Policy" }, { VENDOR_MICROSOFT_VSA_MPPE_ENCRYPTION_TYPE, "MS MPPE Encryption Type" }, { VENDOR_MICROSOFT_VSA_RAS_VENDOR, "MS RAS Vendor" }, { VENDOR_MICROSOFT_VSA_CHAP_DOMAIN, "MS CHAP Domain" }, { VENDOR_MICROSOFT_VSA_CHAP_CHALLENGE, "MS CHAP Challenge" }, { VENDOR_MICROSOFT_VSA_CHAP_MPPE_KEYS, "MS CHAP MPPE Keys" }, { VENDOR_MICROSOFT_VSA_BAP_USAGE, "MS BAP Usage" }, { VENDOR_MICROSOFT_VSA_LINK_UTILIZATION_THRESHOLD, "MS Link Utilization Threshold" }, { VENDOR_MICROSOFT_VSA_LINK_DROP_TIME_LIMIT, "MS Link Drop Time Limit" }, { VENDOR_MICROSOFT_VSA_MPPE_SEND_KEY, "MS MPPE Send Key" }, { VENDOR_MICROSOFT_VSA_MPPE_RECV_KEY, "MS MPPE Recv Key" }, { VENDOR_MICROSOFT_VSA_RAS_VERSION, "MS RAS Version" }, { VENDOR_MICROSOFT_VSA_OLD_ARAP_PASSWORD, "MS Old ARAP Password" }, { VENDOR_MICROSOFT_VSA_NEW_ARAP_PASSWORD, "MS New ARAP Password" }, { VENDOR_MICROSOFT_VSA_ARAP_PW_CHANGE_REASON, "MS ARAP PW Change Reason" }, { VENDOR_MICROSOFT_VSA_FILTER, "MS Filter" }, { VENDOR_MICROSOFT_VSA_ACCT_AUTH_TYPE, "MS Acct Auth Type" }, { VENDOR_MICROSOFT_VSA_ACCT_EAP_TYPE, "MS Acct EAP Type" }, { VENDOR_MICROSOFT_VSA_CHAP2_RESPONSE, "MS CHAP2 Response" }, { VENDOR_MICROSOFT_VSA_CHAP2_SUCCESS, "MS CHAP2 Success" }, { VENDOR_MICROSOFT_VSA_CHAP2_CPW, "MS CHAP2 CPW" }, { VENDOR_MICROSOFT_VSA_PRIMARY_DNS_SERVER, "MS Primary DNS Server" }, { VENDOR_MICROSOFT_VSA_SECONDARY_DNS_SERVER, "MS Secondary DNS Server" }, { VENDOR_MICROSOFT_VSA_PRIMARY_NBNS_SERVER, "MS Primary NBNS Server" }, { VENDOR_MICROSOFT_VSA_SECONDARY_NBNS_SERVER, "MS Secondary NBNS Server" }, {0,NULL}, }; static value_string radius_vendor_microsoft_bap_usage_vals[]= {{0, "Not-Allowed"}, {1, "Allowed"}, {2, "Required"}, {0,NULL}}; static value_string radius_vendor_microsoft_arap_pw_change_reason_vals[]= {{1, "Just-Change-Password"}, {2, "Expired-Password"}, {3, "Admin-Required-Password-Change"}, {4, "Password-Too-Short"}, {0,NULL}}; static value_string radius_vendor_microsoft_acct_auth_type_vals[]= {{1, "PAP"}, {2, "CHAP"}, {3, "MS-CHAP-1"}, {4, "MS-CHAP-2"}, {5, "EAP"}, {0,NULL}}; static value_string radius_vendor_microsoft_acct_eap_type_vals[]= {{4, "MD5"}, {5, "OTP"}, {6, "Generic-Token-Card"}, {13, "TLS"}, {0,NULL}}; #define VENDOR_ASCEND_VSA_UU_INFO 7 #define VENDOR_ASCEND_VSA_CIR_TIMER 9 #define VENDOR_ASCEND_VSA_FR_08_MODE 10 #define VENDOR_ASCEND_VSA_DESTINATION_NAS_PORT 11 #define VENDOR_ASCEND_VSA_FR_SVC_ADDR 12 #define VENDOR_ASCEND_VSA_NAS_PORT_FORMAT 13 #define VENDOR_ASCEND_VSA_ATM_FAULT_MANAGEMENT 14 #define VENDOR_ASCEND_VSA_ATM_LOOPBACK_CELL_LOSS 15 #define VENDOR_ASCEND_VSA_CKT_TYPE 16 #define VENDOR_ASCEND_VSA_SVC_ENABLED 17 #define VENDOR_ASCEND_VSA_SESSION_TYPE 18 #define VENDOR_ASCEND_VSA_H323_GATEKEEPER 19 #define VENDOR_ASCEND_VSA_GLOBAL_CALL_ID 20 #define VENDOR_ASCEND_VSA_H323_CONFERENCE_ID 21 #define VENDOR_ASCEND_VSA_H323_FEGW_ADDRESS 22 #define VENDOR_ASCEND_VSA_H323_DIALED_TIME 23 #define VENDOR_ASCEND_VSA_DIALED_NUMBER 24 #define VENDOR_ASCEND_VSA_INTER_ARRIVAL_JITTER 25 #define VENDOR_ASCEND_VSA_DROPPED_OCTETS 26 #define VENDOR_ASCEND_VSA_DROPPED_PACKETS 27 #define VENDOR_ASCEND_VSA_X25_PAD_X3_PROFILE 29 #define VENDOR_ASCEND_VSA_X25_PAD_X3_PARAMETERS 30 #define VENDOR_ASCEND_VSA_TUNNEL_VROUTER_NAME 31 #define VENDOR_ASCEND_VSA_X25_REVERSE_CHARGING 32 #define VENDOR_ASCEND_VSA_X25_NUI_PROMPT 33 #define VENDOR_ASCEND_VSA_X25_NUI_PASSWORD_PROMPT 34 #define VENDOR_ASCEND_VSA_X25_CUG 35 #define VENDOR_ASCEND_VSA_X25_PAD_ALIAS_1 36 #define VENDOR_ASCEND_VSA_X25_PAD_ALIAS_2 37 #define VENDOR_ASCEND_VSA_X25_PAD_ALIAS_3 38 #define VENDOR_ASCEND_VSA_X25_X121_ADDRESS 39 #define VENDOR_ASCEND_VSA_X25_NUI 40 #define VENDOR_ASCEND_VSA_X25_RPOA 41 #define VENDOR_ASCEND_VSA_X25_PAD_PROMPT 42 #define VENDOR_ASCEND_VSA_X25_PAD_BANNER 43 #define VENDOR_ASCEND_VSA_X25_PROFILE_NAME 44 #define VENDOR_ASCEND_VSA_RECV_NAME 45 #define VENDOR_ASCEND_VSA_BI_DIRECTIONAL_AUTH 46 #define VENDOR_ASCEND_VSA_MTU 47 #define VENDOR_ASCEND_VSA_CALL_DIRECTION 48 #define VENDOR_ASCEND_VSA_SERVICE_TYPE 49 #define VENDOR_ASCEND_VSA_FILTER_REQUIRED 50 #define VENDOR_ASCEND_VSA_TRAFFIC_SHAPER 51 #define VENDOR_ASCEND_VSA_ACCESS_INTERCEPT_LEA 52 #define VENDOR_ASCEND_VSA_ACCESS_INTERCEPT_LOG 53 #define VENDOR_ASCEND_VSA_PRIVATE_ROUTE_TABLE_ID 54 #define VENDOR_ASCEND_VSA_PRIVATE_ROUTE_REQUIRED 55 #define VENDOR_ASCEND_VSA_CACHE_REFRESH 56 #define VENDOR_ASCEND_VSA_CACHE_TIME 57 #define VENDOR_ASCEND_VSA_EGRESS_ENABLED 58 #define VENDOR_ASCEND_VSA_QOS_UPSTREAM 59 #define VENDOR_ASCEND_VSA_QOS_DOWNSTREAM 60 #define VENDOR_ASCEND_VSA_ATM_CONNECT_VPI 61 #define VENDOR_ASCEND_VSA_ATM_CONNECT_VCI 62 #define VENDOR_ASCEND_VSA_ATM_CONNECT_GROUP 63 #define VENDOR_ASCEND_VSA_ATM_GROUP 64 #define VENDOR_ASCEND_VSA_IPX_HEADER_COMPRESSION 65 #define VENDOR_ASCEND_VSA_CALLING_ID_TYPE_OF_NUMBER 66 #define VENDOR_ASCEND_VSA_CALLING_ID_NUMBERING_PLAN 67 #define VENDOR_ASCEND_VSA_CALLING_ID_PRESENTATION 68 #define VENDOR_ASCEND_VSA_CALLING_ID_SCREENING 69 #define VENDOR_ASCEND_VSA_BIR_ENABLE 70 #define VENDOR_ASCEND_VSA_BIR_PROXY 71 #define VENDOR_ASCEND_VSA_BIR_BRIDGE_GROUP 72 #define VENDOR_ASCEND_VSA_IPSEC_PROFILE 73 #define VENDOR_ASCEND_VSA_PPPOE_ENABLE 74 #define VENDOR_ASCEND_VSA_BRIDGE_NON_PPPOE 75 #define VENDOR_ASCEND_VSA_ATM_DIRECT 76 #define VENDOR_ASCEND_VSA_ATM_DIRECT_PROFILE 77 #define VENDOR_ASCEND_VSA_CLIENT_PRIMARY_WINS 78 #define VENDOR_ASCEND_VSA_CLIENT_SECONDARY_WINS 79 #define VENDOR_ASCEND_VSA_CLIENT_ASSIGN_WINS 80 #define VENDOR_ASCEND_VSA_AUTH_TYPE 81 #define VENDOR_ASCEND_VSA_PORT_REDIR_PROTOCOL 82 #define VENDOR_ASCEND_VSA_PORT_REDIR_PORTNUM 83 #define VENDOR_ASCEND_VSA_PORT_REDIR_SERVER 84 #define VENDOR_ASCEND_VSA_IP_POOL_CHAINING 85 #define VENDOR_ASCEND_VSA_OWNER_IP_ADDR 86 #define VENDOR_ASCEND_VSA_IP_TOS 87 #define VENDOR_ASCEND_VSA_IP_TOS_PRECEDENCE 88 #define VENDOR_ASCEND_VSA_IP_TOS_APPLY_TO 89 #define VENDOR_ASCEND_VSA_FILTER 90 #define VENDOR_ASCEND_VSA_TELNET_PROFILE 91 #define VENDOR_ASCEND_VSA_DSL_RATE_TYPE 92 #define VENDOR_ASCEND_VSA_REDIRECT_NUMBER 93 #define VENDOR_ASCEND_VSA_ATM_VPI 94 #define VENDOR_ASCEND_VSA_ATM_VCI 95 #define VENDOR_ASCEND_VSA_SOURCE_IP_CHECK 96 #define VENDOR_ASCEND_VSA_DSL_RATE_MODE 97 #define VENDOR_ASCEND_VSA_DSL_UPSTREAM_LIMIT 98 #define VENDOR_ASCEND_VSA_DSL_DOWNSTREAM_LIMIT 99 #define VENDOR_ASCEND_VSA_DSL_CIR_RECV_LIMIT 100 #define VENDOR_ASCEND_VSA_DSL_CIR_XMIT_LIMIT 101 #define VENDOR_ASCEND_VSA_VROUTER_NAME 102 #define VENDOR_ASCEND_VSA_SOURCE_AUTH 103 #define VENDOR_ASCEND_VSA_PRIVATE_ROUTE 104 #define VENDOR_ASCEND_VSA_NUMBERING_PLAN_ID 105 #define VENDOR_ASCEND_VSA_FR_LINK_STATUS_DLCI 106 #define VENDOR_ASCEND_VSA_CALLING_SUBADDRESS 107 #define VENDOR_ASCEND_VSA_CALLBACK_DELAY 108 #define VENDOR_ASCEND_VSA_ENDPOINT_DISC 109 #define VENDOR_ASCEND_VSA_REMOTE_FW 110 #define VENDOR_ASCEND_VSA_MULTICAST_GLEAVE_DELAY 111 #define VENDOR_ASCEND_VSA_CBCP_ENABLE 112 #define VENDOR_ASCEND_VSA_CBCP_MODE 113 #define VENDOR_ASCEND_VSA_CBCP_DELAY 114 #define VENDOR_ASCEND_VSA_CBCP_TRUNK_GROUP 115 #define VENDOR_ASCEND_VSA_APPLETALK_ROUTE 116 #define VENDOR_ASCEND_VSA_APPLETALK_PEER_MODE 117 #define VENDOR_ASCEND_VSA_ROUTE_APPLETALK 118 #define VENDOR_ASCEND_VSA_FCP_PARAMETER 119 #define VENDOR_ASCEND_VSA_MODEM_PORTNO 120 #define VENDOR_ASCEND_VSA_MODEM_SLOTNO 121 #define VENDOR_ASCEND_VSA_MODEM_SHELFNO 122 #define VENDOR_ASCEND_VSA_CALL_ATTEMPT_LIMIT 123 #define VENDOR_ASCEND_VSA_CALL_BLOCK_DURATION 124 #define VENDOR_ASCEND_VSA_MAXIMUM_CALL_DURATION 125 #define VENDOR_ASCEND_VSA_TEMPORARY_RTES 126 #define VENDOR_ASCEND_VSA_TUNNELING_PROTOCOL 127 #define VENDOR_ASCEND_VSA_SHARED_PROFILE_ENABLE 128 #define VENDOR_ASCEND_VSA_PRIMARY_HOME_AGENT 129 #define VENDOR_ASCEND_VSA_SECONDARY_HOME_AGENT 130 #define VENDOR_ASCEND_VSA_DIALOUT_ALLOWED 131 #define VENDOR_ASCEND_VSA_CLIENT_GATEWAY 132 #define VENDOR_ASCEND_VSA_BACP_ENABLE 133 #define VENDOR_ASCEND_VSA_DHCP_MAXIMUM_LEASES 134 #define VENDOR_ASCEND_VSA_CLIENT_PRIMARY_DNS 135 #define VENDOR_ASCEND_VSA_CLIENT_SECONDARY_DNS 136 #define VENDOR_ASCEND_VSA_CLIENT_ASSIGN_DNS 137 #define VENDOR_ASCEND_VSA_USER_ACCT_TYPE 138 #define VENDOR_ASCEND_VSA_USER_ACCT_HOST 139 #define VENDOR_ASCEND_VSA_USER_ACCT_PORT 140 #define VENDOR_ASCEND_VSA_USER_ACCT_KEY 141 #define VENDOR_ASCEND_VSA_USER_ACCT_BASE 142 #define VENDOR_ASCEND_VSA_USER_ACCT_TIME 143 #define VENDOR_ASCEND_VSA_ASSIGN_IP_CLIENT 144 #define VENDOR_ASCEND_VSA_ASSIGN_IP_SERVER 145 #define VENDOR_ASCEND_VSA_ASSIGN_IP_GLOBAL_POOL 146 #define VENDOR_ASCEND_VSA_DHCP_REPLY 147 #define VENDOR_ASCEND_VSA_DHCP_POOL_NUMBER 148 #define VENDOR_ASCEND_VSA_EXPECT_CALLBACK 149 #define VENDOR_ASCEND_VSA_EVENT_TYPE 150 #define VENDOR_ASCEND_VSA_SESSION_SVR_KEY 151 #define VENDOR_ASCEND_VSA_MULTICAST_RATE_LIMIT 152 #define VENDOR_ASCEND_VSA_IF_NETMASK 153 #define VENDOR_ASCEND_VSA_REMOTE_ADDR 154 #define VENDOR_ASCEND_VSA_MULTICAST_CLIENT 155 #define VENDOR_ASCEND_VSA_FR_CIRCUIT_NAME 156 #define VENDOR_ASCEND_VSA_FR_LINKUP 157 #define VENDOR_ASCEND_VSA_FR_NAILED_GRP 158 #define VENDOR_ASCEND_VSA_FR_TYPE 159 #define VENDOR_ASCEND_VSA_FR_LINK_MGT 160 #define VENDOR_ASCEND_VSA_FR_N391 161 #define VENDOR_ASCEND_VSA_FR_DCE_N392 162 #define VENDOR_ASCEND_VSA_FR_DTE_N392 163 #define VENDOR_ASCEND_VSA_FR_DCE_N393 164 #define VENDOR_ASCEND_VSA_FR_DTE_N393 165 #define VENDOR_ASCEND_VSA_FR_T391 166 #define VENDOR_ASCEND_VSA_FR_T392 167 #define VENDOR_ASCEND_VSA_BRIDGE_ADDRESS 168 #define VENDOR_ASCEND_VSA_TS_IDLE_LIMIT 169 #define VENDOR_ASCEND_VSA_TS_IDLE_MODE 170 #define VENDOR_ASCEND_VSA_DBA_MONITOR 171 #define VENDOR_ASCEND_VSA_BASE_CHANNEL_COUNT 172 #define VENDOR_ASCEND_VSA_MINIMUM_CHANNELS 173 #define VENDOR_ASCEND_VSA_IPX_ROUTE 174 #define VENDOR_ASCEND_VSA_FT1_CALLER 175 #define VENDOR_ASCEND_VSA_BACKUP 176 #define VENDOR_ASCEND_VSA_CALL_TYPE 177 #define VENDOR_ASCEND_VSA_GROUP 178 #define VENDOR_ASCEND_VSA_FR_DLCI 179 #define VENDOR_ASCEND_VSA_FR_PROFILE_NAME 180 #define VENDOR_ASCEND_VSA_ARA_PW 181 #define VENDOR_ASCEND_VSA_IPX_NODE_ADDR 182 #define VENDOR_ASCEND_VSA_HOME_AGENT_IP_ADDR 183 #define VENDOR_ASCEND_VSA_HOME_AGENT_PASSWORD 184 #define VENDOR_ASCEND_VSA_HOME_NETWORK_NAME 185 #define VENDOR_ASCEND_VSA_HOME_AGENT_UDP_PORT 186 #define VENDOR_ASCEND_VSA_MULTILINK_ID 187 #define VENDOR_ASCEND_VSA_NUM_IN_MULTILINK 188 #define VENDOR_ASCEND_VSA_FIRST_DEST 189 #define VENDOR_ASCEND_VSA_PRE_INPUT_OCTETS 190 #define VENDOR_ASCEND_VSA_PRE_OUTPUT_OCTETS 191 #define VENDOR_ASCEND_VSA_PRE_INPUT_PACKETS 192 #define VENDOR_ASCEND_VSA_PRE_OUTPUT_PACKETS 193 #define VENDOR_ASCEND_VSA_MAXIMUM_TIME 194 #define VENDOR_ASCEND_VSA_DISCONNECT_CAUSE 195 #define VENDOR_ASCEND_VSA_CONNECT_PROGRESS 196 #define VENDOR_ASCEND_VSA_DATA_RATE 197 #define VENDOR_ASCEND_VSA_PRESESSION_TIME 198 #define VENDOR_ASCEND_VSA_TOKEN_IDLE 199 #define VENDOR_ASCEND_VSA_TOKEN_IMMEDIATE 200 #define VENDOR_ASCEND_VSA_REQUIRE_AUTH 201 #define VENDOR_ASCEND_VSA_NUMBER_SESSIONS 202 #define VENDOR_ASCEND_VSA_AUTHEN_ALIAS 203 #define VENDOR_ASCEND_VSA_TOKEN_EXPIRY 204 #define VENDOR_ASCEND_VSA_MENU_SELECTOR 205 #define VENDOR_ASCEND_VSA_MENU_ITEM 206 #define VENDOR_ASCEND_VSA_PW_WARNTIME 207 #define VENDOR_ASCEND_VSA_PW_LIFETIME 208 #define VENDOR_ASCEND_VSA_IP_DIRECT 209 #define VENDOR_ASCEND_VSA_PPP_VJ_SLOT_COMP 210 #define VENDOR_ASCEND_VSA_PPP_VJ_1172 211 #define VENDOR_ASCEND_VSA_PPP_ASYNC_MAP 212 #define VENDOR_ASCEND_VSA_THIRD_PROMPT 213 #define VENDOR_ASCEND_VSA_SEND_SECRET 214 #define VENDOR_ASCEND_VSA_RECEIVE_SECRET 215 #define VENDOR_ASCEND_VSA_IPX_PEER_MODE 216 #define VENDOR_ASCEND_VSA_IP_POOL_DEFINITION 217 #define VENDOR_ASCEND_VSA_ASSIGN_IP_POOL 218 #define VENDOR_ASCEND_VSA_FR_DIRECT 219 #define VENDOR_ASCEND_VSA_FR_DIRECT_PROFILE 220 #define VENDOR_ASCEND_VSA_FR_DIRECT_DLCI 221 #define VENDOR_ASCEND_VSA_HANDLE_IPX 222 #define VENDOR_ASCEND_VSA_NETWARE_TIMEOUT 223 #define VENDOR_ASCEND_VSA_IPX_ALIAS 224 #define VENDOR_ASCEND_VSA_METRIC 225 #define VENDOR_ASCEND_VSA_PRI_NUMBER_TYPE 226 #define VENDOR_ASCEND_VSA_DIAL_NUMBER 227 #define VENDOR_ASCEND_VSA_ROUTE_IP 228 #define VENDOR_ASCEND_VSA_ROUTE_IPX 229 #define VENDOR_ASCEND_VSA_BRIDGE 230 #define VENDOR_ASCEND_VSA_SEND_AUTH 231 #define VENDOR_ASCEND_VSA_SEND_PASSWD 232 #define VENDOR_ASCEND_VSA_LINK_COMPRESSION 233 #define VENDOR_ASCEND_VSA_TARGET_UTIL 234 #define VENDOR_ASCEND_VSA_MAXIMUM_CHANNELS 235 #define VENDOR_ASCEND_VSA_INC_CHANNEL_COUNT 236 #define VENDOR_ASCEND_VSA_DEC_CHANNEL_COUNT 237 #define VENDOR_ASCEND_VSA_SECONDS_OF_HISTORY 238 #define VENDOR_ASCEND_VSA_HISTORY_WEIGH_TYPE 239 #define VENDOR_ASCEND_VSA_ADD_SECONDS 240 #define VENDOR_ASCEND_VSA_REMOVE_SECONDS 241 #define VENDOR_ASCEND_VSA_DATA_FILTER 242 #define VENDOR_ASCEND_VSA_CALL_FILTER 243 #define VENDOR_ASCEND_VSA_IDLE_LIMIT 244 #define VENDOR_ASCEND_VSA_PREEMPT_LIMIT 245 #define VENDOR_ASCEND_VSA_CALLBACK 246 #define VENDOR_ASCEND_VSA_DATA_SVC 247 #define VENDOR_ASCEND_VSA_FORCE_56 248 #define VENDOR_ASCEND_VSA_BILLING_NUMBER 249 #define VENDOR_ASCEND_VSA_CALL_BY_CALL 250 #define VENDOR_ASCEND_VSA_TRANSIT_NUMBER 251 #define VENDOR_ASCEND_VSA_HOST_INFO 252 #define VENDOR_ASCEND_VSA_PPP_ADDRESS 253 #define VENDOR_ASCEND_VSA_MPP_IDLE_PERCENT 254 #define VENDOR_ASCEND_VSA_XMIT_RATE 255 static value_value_pair radius_vendor_ascend_printinfo[] = { { VENDOR_ASCEND_VSA_UU_INFO, RADIUS_STRING }, { VENDOR_ASCEND_VSA_CIR_TIMER, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_08_MODE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DESTINATION_NAS_PORT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_SVC_ADDR, RADIUS_STRING }, { VENDOR_ASCEND_VSA_NAS_PORT_FORMAT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ATM_FAULT_MANAGEMENT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ATM_LOOPBACK_CELL_LOSS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CKT_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_SVC_ENABLED, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_SESSION_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_H323_GATEKEEPER, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_GLOBAL_CALL_ID, RADIUS_STRING }, { VENDOR_ASCEND_VSA_H323_CONFERENCE_ID, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_H323_FEGW_ADDRESS, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_H323_DIALED_TIME, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DIALED_NUMBER, RADIUS_STRING }, { VENDOR_ASCEND_VSA_INTER_ARRIVAL_JITTER, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DROPPED_OCTETS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DROPPED_PACKETS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_X25_PAD_X3_PROFILE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_X25_PAD_X3_PARAMETERS, RADIUS_STRING }, { VENDOR_ASCEND_VSA_TUNNEL_VROUTER_NAME, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_REVERSE_CHARGING, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_X25_NUI_PROMPT, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_NUI_PASSWORD_PROMPT, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_CUG, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_PAD_ALIAS_1, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_PAD_ALIAS_2, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_PAD_ALIAS_3, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_X121_ADDRESS, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_NUI, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_RPOA, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_PAD_PROMPT, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_PAD_BANNER, RADIUS_STRING }, { VENDOR_ASCEND_VSA_X25_PROFILE_NAME, RADIUS_STRING }, { VENDOR_ASCEND_VSA_RECV_NAME, RADIUS_STRING }, { VENDOR_ASCEND_VSA_BI_DIRECTIONAL_AUTH, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_MTU, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CALL_DIRECTION, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_SERVICE_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FILTER_REQUIRED, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_TRAFFIC_SHAPER, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ACCESS_INTERCEPT_LEA, RADIUS_STRING }, { VENDOR_ASCEND_VSA_ACCESS_INTERCEPT_LOG, RADIUS_STRING }, { VENDOR_ASCEND_VSA_PRIVATE_ROUTE_TABLE_ID, RADIUS_STRING }, { VENDOR_ASCEND_VSA_PRIVATE_ROUTE_REQUIRED, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CACHE_REFRESH, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CACHE_TIME, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_EGRESS_ENABLED, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_QOS_UPSTREAM, RADIUS_STRING }, { VENDOR_ASCEND_VSA_QOS_DOWNSTREAM, RADIUS_STRING }, { VENDOR_ASCEND_VSA_ATM_CONNECT_VPI, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ATM_CONNECT_VCI, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ATM_CONNECT_GROUP, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ATM_GROUP, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_IPX_HEADER_COMPRESSION, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CALLING_ID_TYPE_OF_NUMBER, ASCEND_VSA_CALLING_ID_TYPE_OF_NUMBER }, { VENDOR_ASCEND_VSA_CALLING_ID_NUMBERING_PLAN, ASCEND_VSA_CALLING_ID_NUMBERING_PLAN }, { VENDOR_ASCEND_VSA_CALLING_ID_PRESENTATION, ASCEND_VSA_CALLING_ID_PRESENTATION }, { VENDOR_ASCEND_VSA_CALLING_ID_SCREENING, ASCEND_VSA_CALLING_ID_SCREENING }, { VENDOR_ASCEND_VSA_BIR_ENABLE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_BIR_PROXY, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_BIR_BRIDGE_GROUP, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_IPSEC_PROFILE, RADIUS_STRING }, { VENDOR_ASCEND_VSA_PPPOE_ENABLE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_BRIDGE_NON_PPPOE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ATM_DIRECT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ATM_DIRECT_PROFILE, RADIUS_STRING }, { VENDOR_ASCEND_VSA_CLIENT_PRIMARY_WINS, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_CLIENT_SECONDARY_WINS, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_CLIENT_ASSIGN_WINS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_AUTH_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PORT_REDIR_PROTOCOL, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PORT_REDIR_PORTNUM, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PORT_REDIR_SERVER, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_IP_POOL_CHAINING, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_OWNER_IP_ADDR, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_IP_TOS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_IP_TOS_PRECEDENCE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_IP_TOS_APPLY_TO, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FILTER, RADIUS_STRING }, { VENDOR_ASCEND_VSA_TELNET_PROFILE, RADIUS_STRING }, { VENDOR_ASCEND_VSA_DSL_RATE_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_REDIRECT_NUMBER, RADIUS_STRING }, { VENDOR_ASCEND_VSA_ATM_VPI, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ATM_VCI, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_SOURCE_IP_CHECK, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DSL_RATE_MODE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DSL_UPSTREAM_LIMIT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DSL_DOWNSTREAM_LIMIT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DSL_CIR_RECV_LIMIT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DSL_CIR_XMIT_LIMIT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_VROUTER_NAME, RADIUS_STRING }, { VENDOR_ASCEND_VSA_SOURCE_AUTH, RADIUS_STRING }, { VENDOR_ASCEND_VSA_PRIVATE_ROUTE, RADIUS_STRING }, { VENDOR_ASCEND_VSA_NUMBERING_PLAN_ID, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_LINK_STATUS_DLCI, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CALLING_SUBADDRESS, RADIUS_STRING }, { VENDOR_ASCEND_VSA_CALLBACK_DELAY, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ENDPOINT_DISC, RADIUS_STRING }, { VENDOR_ASCEND_VSA_REMOTE_FW, RADIUS_STRING }, { VENDOR_ASCEND_VSA_MULTICAST_GLEAVE_DELAY, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CBCP_ENABLE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CBCP_MODE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CBCP_DELAY, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CBCP_TRUNK_GROUP, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_APPLETALK_ROUTE, RADIUS_STRING }, { VENDOR_ASCEND_VSA_APPLETALK_PEER_MODE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ROUTE_APPLETALK, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FCP_PARAMETER, RADIUS_STRING }, { VENDOR_ASCEND_VSA_MODEM_PORTNO, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_MODEM_SLOTNO, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_MODEM_SHELFNO, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CALL_ATTEMPT_LIMIT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CALL_BLOCK_DURATION, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_MAXIMUM_CALL_DURATION, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_TEMPORARY_RTES, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_TUNNELING_PROTOCOL, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_SHARED_PROFILE_ENABLE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PRIMARY_HOME_AGENT, RADIUS_STRING }, { VENDOR_ASCEND_VSA_SECONDARY_HOME_AGENT, RADIUS_STRING }, { VENDOR_ASCEND_VSA_DIALOUT_ALLOWED, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CLIENT_GATEWAY, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_BACP_ENABLE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DHCP_MAXIMUM_LEASES, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CLIENT_PRIMARY_DNS, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_CLIENT_SECONDARY_DNS, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_CLIENT_ASSIGN_DNS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_USER_ACCT_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_USER_ACCT_HOST, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_USER_ACCT_PORT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_USER_ACCT_KEY, RADIUS_STRING }, { VENDOR_ASCEND_VSA_USER_ACCT_BASE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_USER_ACCT_TIME, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ASSIGN_IP_CLIENT, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_ASSIGN_IP_SERVER, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_ASSIGN_IP_GLOBAL_POOL, RADIUS_STRING }, { VENDOR_ASCEND_VSA_DHCP_REPLY, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DHCP_POOL_NUMBER, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_EXPECT_CALLBACK, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_EVENT_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_SESSION_SVR_KEY, RADIUS_STRING }, { VENDOR_ASCEND_VSA_MULTICAST_RATE_LIMIT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_IF_NETMASK, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_REMOTE_ADDR, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_MULTICAST_CLIENT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_CIRCUIT_NAME, RADIUS_STRING }, { VENDOR_ASCEND_VSA_FR_LINKUP, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_NAILED_GRP, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_LINK_MGT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_N391, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_DCE_N392, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_DTE_N392, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_DCE_N393, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_DTE_N393, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_T391, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_T392, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_BRIDGE_ADDRESS, RADIUS_STRING }, { VENDOR_ASCEND_VSA_TS_IDLE_LIMIT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_TS_IDLE_MODE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DBA_MONITOR, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_BASE_CHANNEL_COUNT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_MINIMUM_CHANNELS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_IPX_ROUTE, RADIUS_STRING }, { VENDOR_ASCEND_VSA_FT1_CALLER, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_BACKUP, RADIUS_STRING }, { VENDOR_ASCEND_VSA_CALL_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_GROUP, RADIUS_STRING }, { VENDOR_ASCEND_VSA_FR_DLCI, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_PROFILE_NAME, RADIUS_STRING }, { VENDOR_ASCEND_VSA_ARA_PW, RADIUS_STRING }, { VENDOR_ASCEND_VSA_IPX_NODE_ADDR, RADIUS_STRING }, { VENDOR_ASCEND_VSA_HOME_AGENT_IP_ADDR, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_HOME_AGENT_PASSWORD, RADIUS_STRING }, { VENDOR_ASCEND_VSA_HOME_NETWORK_NAME, RADIUS_STRING }, { VENDOR_ASCEND_VSA_HOME_AGENT_UDP_PORT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_MULTILINK_ID, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_NUM_IN_MULTILINK, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FIRST_DEST, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_PRE_INPUT_OCTETS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PRE_OUTPUT_OCTETS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PRE_INPUT_PACKETS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PRE_OUTPUT_PACKETS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_MAXIMUM_TIME, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DISCONNECT_CAUSE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CONNECT_PROGRESS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DATA_RATE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PRESESSION_TIME, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_TOKEN_IDLE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_TOKEN_IMMEDIATE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_REQUIRE_AUTH, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_NUMBER_SESSIONS, RADIUS_STRING }, { VENDOR_ASCEND_VSA_AUTHEN_ALIAS, RADIUS_STRING }, { VENDOR_ASCEND_VSA_TOKEN_EXPIRY, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_MENU_SELECTOR, RADIUS_STRING }, { VENDOR_ASCEND_VSA_MENU_ITEM, RADIUS_STRING }, { VENDOR_ASCEND_VSA_PW_WARNTIME, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PW_LIFETIME, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_IP_DIRECT, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_PPP_VJ_SLOT_COMP, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PPP_VJ_1172, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PPP_ASYNC_MAP, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_THIRD_PROMPT, RADIUS_STRING }, { VENDOR_ASCEND_VSA_SEND_SECRET, RADIUS_STRING }, { VENDOR_ASCEND_VSA_RECEIVE_SECRET, RADIUS_STRING }, { VENDOR_ASCEND_VSA_IPX_PEER_MODE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_IP_POOL_DEFINITION, RADIUS_STRING }, { VENDOR_ASCEND_VSA_ASSIGN_IP_POOL, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_DIRECT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FR_DIRECT_PROFILE, RADIUS_STRING }, { VENDOR_ASCEND_VSA_FR_DIRECT_DLCI, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_HANDLE_IPX, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_NETWARE_TIMEOUT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_IPX_ALIAS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_METRIC, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PRI_NUMBER_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DIAL_NUMBER, RADIUS_STRING }, { VENDOR_ASCEND_VSA_ROUTE_IP, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ROUTE_IPX, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_BRIDGE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_SEND_AUTH, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_SEND_PASSWD, RADIUS_STRING }, { VENDOR_ASCEND_VSA_LINK_COMPRESSION, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_TARGET_UTIL, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_MAXIMUM_CHANNELS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_INC_CHANNEL_COUNT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DEC_CHANNEL_COUNT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_SECONDS_OF_HISTORY, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_HISTORY_WEIGH_TYPE, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_ADD_SECONDS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_REMOVE_SECONDS, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DATA_FILTER, RADIUS_BINSTRING }, { VENDOR_ASCEND_VSA_CALL_FILTER, RADIUS_BINSTRING }, { VENDOR_ASCEND_VSA_IDLE_LIMIT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_PREEMPT_LIMIT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_CALLBACK, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_DATA_SVC, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_FORCE_56, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_BILLING_NUMBER, RADIUS_STRING }, { VENDOR_ASCEND_VSA_CALL_BY_CALL, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_TRANSIT_NUMBER, RADIUS_STRING }, { VENDOR_ASCEND_VSA_HOST_INFO, RADIUS_STRING }, { VENDOR_ASCEND_VSA_PPP_ADDRESS, RADIUS_IP_ADDRESS }, { VENDOR_ASCEND_VSA_MPP_IDLE_PERCENT, RADIUS_INTEGER4 }, { VENDOR_ASCEND_VSA_XMIT_RATE, RADIUS_INTEGER4 }, {0,0}, }; static value_string radius_vendor_ascend_types[] = { { VENDOR_ASCEND_VSA_UU_INFO, "Ascend UU Info" }, { VENDOR_ASCEND_VSA_CIR_TIMER, "Ascend CIR Timer" }, { VENDOR_ASCEND_VSA_FR_08_MODE, "Ascend FR 08 Mode" }, { VENDOR_ASCEND_VSA_DESTINATION_NAS_PORT, "Ascend Destination Nas Port" }, { VENDOR_ASCEND_VSA_FR_SVC_ADDR, "Ascend FR SVC Addr" }, { VENDOR_ASCEND_VSA_NAS_PORT_FORMAT, "Ascend NAS Port Format" }, { VENDOR_ASCEND_VSA_ATM_FAULT_MANAGEMENT, "Ascend ATM Fault Management" }, { VENDOR_ASCEND_VSA_ATM_LOOPBACK_CELL_LOSS, "Ascend ATM Loopback Cell Loss" }, { VENDOR_ASCEND_VSA_CKT_TYPE, "Ascend Ckt Type" }, { VENDOR_ASCEND_VSA_SVC_ENABLED, "Ascend SVC Enabled" }, { VENDOR_ASCEND_VSA_SESSION_TYPE, "Ascend Session Type" }, { VENDOR_ASCEND_VSA_H323_GATEKEEPER, "Ascend H323 Gatekeeper" }, { VENDOR_ASCEND_VSA_GLOBAL_CALL_ID, "Ascend Global Call Id" }, { VENDOR_ASCEND_VSA_H323_CONFERENCE_ID, "Ascend H323 Conference Id" }, { VENDOR_ASCEND_VSA_H323_FEGW_ADDRESS, "Ascend H323 Fegw Address" }, { VENDOR_ASCEND_VSA_H323_DIALED_TIME, "Ascend H323 Dialed Time" }, { VENDOR_ASCEND_VSA_DIALED_NUMBER, "Ascend Dialed Number" }, { VENDOR_ASCEND_VSA_INTER_ARRIVAL_JITTER, "Ascend Inter Arrival Jitter" }, { VENDOR_ASCEND_VSA_DROPPED_OCTETS, "Ascend Dropped Octets" }, { VENDOR_ASCEND_VSA_DROPPED_PACKETS, "Ascend Dropped Packets" }, { VENDOR_ASCEND_VSA_X25_PAD_X3_PROFILE, "Ascend X25 Pad X3 Profile" }, { VENDOR_ASCEND_VSA_X25_PAD_X3_PARAMETERS, "Ascend X25 Pad X3 Parameters" }, { VENDOR_ASCEND_VSA_TUNNEL_VROUTER_NAME, "Ascend Tunnel VRouter Name" }, { VENDOR_ASCEND_VSA_X25_REVERSE_CHARGING, "Ascend X25 Reverse Charging" }, { VENDOR_ASCEND_VSA_X25_NUI_PROMPT, "Ascend X25 Nui Prompt" }, { VENDOR_ASCEND_VSA_X25_NUI_PASSWORD_PROMPT, "Ascend X25 Nui Password Prompt" }, { VENDOR_ASCEND_VSA_X25_CUG, "Ascend X25 Cug" }, { VENDOR_ASCEND_VSA_X25_PAD_ALIAS_1, "Ascend X25 Pad Alias 1" }, { VENDOR_ASCEND_VSA_X25_PAD_ALIAS_2, "Ascend X25 Pad Alias 2" }, { VENDOR_ASCEND_VSA_X25_PAD_ALIAS_3, "Ascend X25 Pad Alias 3" }, { VENDOR_ASCEND_VSA_X25_X121_ADDRESS, "Ascend X25 X121 Address" }, { VENDOR_ASCEND_VSA_X25_NUI, "Ascend X25 Nui" }, { VENDOR_ASCEND_VSA_X25_RPOA, "Ascend X25 Rpoa" }, { VENDOR_ASCEND_VSA_X25_PAD_PROMPT, "Ascend X25 Pad Prompt" }, { VENDOR_ASCEND_VSA_X25_PAD_BANNER, "Ascend X25 Pad Banner" }, { VENDOR_ASCEND_VSA_X25_PROFILE_NAME, "Ascend X25 Profile Name" }, { VENDOR_ASCEND_VSA_RECV_NAME, "Ascend Recv Name" }, { VENDOR_ASCEND_VSA_BI_DIRECTIONAL_AUTH, "Ascend Bi Directional Auth" }, { VENDOR_ASCEND_VSA_MTU, "Ascend MTU" }, { VENDOR_ASCEND_VSA_CALL_DIRECTION, "Ascend Call Direction" }, { VENDOR_ASCEND_VSA_SERVICE_TYPE, "Ascend Service Type" }, { VENDOR_ASCEND_VSA_FILTER_REQUIRED, "Ascend Filter Required" }, { VENDOR_ASCEND_VSA_TRAFFIC_SHAPER, "Ascend Traffic Shaper" }, { VENDOR_ASCEND_VSA_ACCESS_INTERCEPT_LEA, "Ascend Access Intercept LEA" }, { VENDOR_ASCEND_VSA_ACCESS_INTERCEPT_LOG, "Ascend Access Intercept Log" }, { VENDOR_ASCEND_VSA_PRIVATE_ROUTE_TABLE_ID, "Ascend Private Route Table ID" }, { VENDOR_ASCEND_VSA_PRIVATE_ROUTE_REQUIRED, "Ascend Private Route Required" }, { VENDOR_ASCEND_VSA_CACHE_REFRESH, "Ascend Cache Refresh" }, { VENDOR_ASCEND_VSA_CACHE_TIME, "Ascend Cache Time" }, { VENDOR_ASCEND_VSA_EGRESS_ENABLED, "Ascend Egress Enabled" }, { VENDOR_ASCEND_VSA_QOS_UPSTREAM, "Ascend QOS Upstream" }, { VENDOR_ASCEND_VSA_QOS_DOWNSTREAM, "Ascend QOS Downstream" }, { VENDOR_ASCEND_VSA_ATM_CONNECT_VPI, "Ascend ATM Connect Vpi" }, { VENDOR_ASCEND_VSA_ATM_CONNECT_VCI, "Ascend ATM Connect Vci" }, { VENDOR_ASCEND_VSA_ATM_CONNECT_GROUP, "Ascend ATM Connect Group" }, { VENDOR_ASCEND_VSA_ATM_GROUP, "Ascend ATM Group" }, { VENDOR_ASCEND_VSA_IPX_HEADER_COMPRESSION, "Ascend IPX Header Compression" }, { VENDOR_ASCEND_VSA_CALLING_ID_TYPE_OF_NUMBER, "Ascend Calling Id Type Of Number" }, { VENDOR_ASCEND_VSA_CALLING_ID_NUMBERING_PLAN, "Ascend Calling Id Numbering Plan" }, { VENDOR_ASCEND_VSA_CALLING_ID_PRESENTATION, "Ascend Calling Id Presentation" }, { VENDOR_ASCEND_VSA_CALLING_ID_SCREENING, "Ascend Calling Id Screening" }, { VENDOR_ASCEND_VSA_BIR_ENABLE, "Ascend BIR Enable" }, { VENDOR_ASCEND_VSA_BIR_PROXY, "Ascend BIR Proxy" }, { VENDOR_ASCEND_VSA_BIR_BRIDGE_GROUP, "Ascend BIR Bridge Group" }, { VENDOR_ASCEND_VSA_IPSEC_PROFILE, "Ascend IPSEC Profile" }, { VENDOR_ASCEND_VSA_PPPOE_ENABLE, "Ascend PPPoE Enable" }, { VENDOR_ASCEND_VSA_BRIDGE_NON_PPPOE, "Ascend Bridge Non PPPoE" }, { VENDOR_ASCEND_VSA_ATM_DIRECT, "Ascend ATM Direct" }, { VENDOR_ASCEND_VSA_ATM_DIRECT_PROFILE, "Ascend ATM Direct Profile" }, { VENDOR_ASCEND_VSA_CLIENT_PRIMARY_WINS, "Ascend Client Primary WINS" }, { VENDOR_ASCEND_VSA_CLIENT_SECONDARY_WINS, "Ascend Client Secondary WINS" }, { VENDOR_ASCEND_VSA_CLIENT_ASSIGN_WINS, "Ascend Client Assign WINS" }, { VENDOR_ASCEND_VSA_AUTH_TYPE, "Ascend Auth Type" }, { VENDOR_ASCEND_VSA_PORT_REDIR_PROTOCOL, "Ascend Port Redir Protocol" }, { VENDOR_ASCEND_VSA_PORT_REDIR_PORTNUM, "Ascend Port Redir Portnum" }, { VENDOR_ASCEND_VSA_PORT_REDIR_SERVER, "Ascend Port Redir Server" }, { VENDOR_ASCEND_VSA_IP_POOL_CHAINING, "Ascend IP Pool Chaining" }, { VENDOR_ASCEND_VSA_OWNER_IP_ADDR, "Ascend Owner IP Addr" }, { VENDOR_ASCEND_VSA_IP_TOS, "Ascend IP TOS" }, { VENDOR_ASCEND_VSA_IP_TOS_PRECEDENCE, "Ascend IP TOS Precedence" }, { VENDOR_ASCEND_VSA_IP_TOS_APPLY_TO, "Ascend IP TOS Apply To" }, { VENDOR_ASCEND_VSA_FILTER, "Ascend Filter" }, { VENDOR_ASCEND_VSA_TELNET_PROFILE, "Ascend Telnet Profile" }, { VENDOR_ASCEND_VSA_DSL_RATE_TYPE, "Ascend Dsl Rate Type" }, { VENDOR_ASCEND_VSA_REDIRECT_NUMBER, "Ascend Redirect Number" }, { VENDOR_ASCEND_VSA_ATM_VPI, "Ascend ATM Vpi" }, { VENDOR_ASCEND_VSA_ATM_VCI, "Ascend ATM Vci" }, { VENDOR_ASCEND_VSA_SOURCE_IP_CHECK, "Ascend Source IP Check" }, { VENDOR_ASCEND_VSA_DSL_RATE_MODE, "Ascend Dsl Rate Mode" }, { VENDOR_ASCEND_VSA_DSL_UPSTREAM_LIMIT, "Ascend Dsl Upstream Limit" }, { VENDOR_ASCEND_VSA_DSL_DOWNSTREAM_LIMIT, "Ascend Dsl Downstream Limit" }, { VENDOR_ASCEND_VSA_DSL_CIR_RECV_LIMIT, "Ascend Dsl CIR Recv Limit" }, { VENDOR_ASCEND_VSA_DSL_CIR_XMIT_LIMIT, "Ascend Dsl CIR Xmit Limit" }, { VENDOR_ASCEND_VSA_VROUTER_NAME, "Ascend VRouter Name" }, { VENDOR_ASCEND_VSA_SOURCE_AUTH, "Ascend Source Auth" }, { VENDOR_ASCEND_VSA_PRIVATE_ROUTE, "Ascend Private Route" }, { VENDOR_ASCEND_VSA_NUMBERING_PLAN_ID, "Ascend Numbering Plan ID" }, { VENDOR_ASCEND_VSA_FR_LINK_STATUS_DLCI, "Ascend FR Link Status DLCI" }, { VENDOR_ASCEND_VSA_CALLING_SUBADDRESS, "Ascend Calling Subaddress" }, { VENDOR_ASCEND_VSA_CALLBACK_DELAY, "Ascend Callback Delay" }, { VENDOR_ASCEND_VSA_ENDPOINT_DISC, "Ascend Endpoint Disc" }, { VENDOR_ASCEND_VSA_REMOTE_FW, "Ascend Remote FW" }, { VENDOR_ASCEND_VSA_MULTICAST_GLEAVE_DELAY, "Ascend Multicast GLeave Delay" }, { VENDOR_ASCEND_VSA_CBCP_ENABLE, "Ascend CBCP Enable" }, { VENDOR_ASCEND_VSA_CBCP_MODE, "Ascend CBCP Mode" }, { VENDOR_ASCEND_VSA_CBCP_DELAY, "Ascend CBCP Delay" }, { VENDOR_ASCEND_VSA_CBCP_TRUNK_GROUP, "Ascend CBCP Trunk Group" }, { VENDOR_ASCEND_VSA_APPLETALK_ROUTE, "Ascend Appletalk Route" }, { VENDOR_ASCEND_VSA_APPLETALK_PEER_MODE, "Ascend Appletalk Peer Mode" }, { VENDOR_ASCEND_VSA_ROUTE_APPLETALK, "Ascend Route Appletalk" }, { VENDOR_ASCEND_VSA_FCP_PARAMETER, "Ascend FCP Parameter" }, { VENDOR_ASCEND_VSA_MODEM_PORTNO, "Ascend Modem Port No" }, { VENDOR_ASCEND_VSA_MODEM_SLOTNO, "Ascend Modem Slot No" }, { VENDOR_ASCEND_VSA_MODEM_SHELFNO, "Ascend Modem Shelf No" }, { VENDOR_ASCEND_VSA_CALL_ATTEMPT_LIMIT, "Ascend Call Attempt Limit" }, { VENDOR_ASCEND_VSA_CALL_BLOCK_DURATION, "Ascend Call Block Duration" }, { VENDOR_ASCEND_VSA_MAXIMUM_CALL_DURATION, "Ascend Maximum Call Duration" }, { VENDOR_ASCEND_VSA_TEMPORARY_RTES, "Ascend Temporary Rtes" }, { VENDOR_ASCEND_VSA_TUNNELING_PROTOCOL, "Ascend Tunneling Protocol" }, { VENDOR_ASCEND_VSA_SHARED_PROFILE_ENABLE, "Ascend Shared Profile Enable" }, { VENDOR_ASCEND_VSA_PRIMARY_HOME_AGENT, "Ascend Primary Home Agent" }, { VENDOR_ASCEND_VSA_SECONDARY_HOME_AGENT, "Ascend Secondary Home Agent" }, { VENDOR_ASCEND_VSA_DIALOUT_ALLOWED, "Ascend Dialout Allowed" }, { VENDOR_ASCEND_VSA_CLIENT_GATEWAY, "Ascend Client Gateway" }, { VENDOR_ASCEND_VSA_BACP_ENABLE, "Ascend BACP Enable" }, { VENDOR_ASCEND_VSA_DHCP_MAXIMUM_LEASES, "Ascend DHCP Maximum Leases" }, { VENDOR_ASCEND_VSA_CLIENT_PRIMARY_DNS, "Ascend Client Primary DNS" }, { VENDOR_ASCEND_VSA_CLIENT_SECONDARY_DNS, "Ascend Client Secondary DNS" }, { VENDOR_ASCEND_VSA_CLIENT_ASSIGN_DNS, "Ascend Client Assign DNS" }, { VENDOR_ASCEND_VSA_USER_ACCT_TYPE, "Ascend User Acct Type" }, { VENDOR_ASCEND_VSA_USER_ACCT_HOST, "Ascend User Acct Host" }, { VENDOR_ASCEND_VSA_USER_ACCT_PORT, "Ascend User Acct Port" }, { VENDOR_ASCEND_VSA_USER_ACCT_KEY, "Ascend User Acct Key" }, { VENDOR_ASCEND_VSA_USER_ACCT_BASE, "Ascend User Acct Base" }, { VENDOR_ASCEND_VSA_USER_ACCT_TIME, "Ascend User Acct Time" }, { VENDOR_ASCEND_VSA_ASSIGN_IP_CLIENT, "Ascend Assign IP Client" }, { VENDOR_ASCEND_VSA_ASSIGN_IP_SERVER, "Ascend Assign IP Server" }, { VENDOR_ASCEND_VSA_ASSIGN_IP_GLOBAL_POOL, "Ascend Assign IP Global Pool" }, { VENDOR_ASCEND_VSA_DHCP_REPLY, "Ascend DHCP Reply" }, { VENDOR_ASCEND_VSA_DHCP_POOL_NUMBER, "Ascend DHCP Pool Number" }, { VENDOR_ASCEND_VSA_EXPECT_CALLBACK, "Ascend Expect Callback" }, { VENDOR_ASCEND_VSA_EVENT_TYPE, "Ascend Event Type" }, { VENDOR_ASCEND_VSA_SESSION_SVR_KEY, "Ascend Session Svr Key" }, { VENDOR_ASCEND_VSA_MULTICAST_RATE_LIMIT, "Ascend Multicast Rate Limit" }, { VENDOR_ASCEND_VSA_IF_NETMASK, "Ascend IF Netmask" }, { VENDOR_ASCEND_VSA_REMOTE_ADDR, "Ascend Remote Addr" }, { VENDOR_ASCEND_VSA_MULTICAST_CLIENT, "Ascend Multicast Client" }, { VENDOR_ASCEND_VSA_FR_CIRCUIT_NAME, "Ascend FR Circuit Name" }, { VENDOR_ASCEND_VSA_FR_LINKUP, "Ascend FR LinkUp" }, { VENDOR_ASCEND_VSA_FR_NAILED_GRP, "Ascend FR Nailed Grp" }, { VENDOR_ASCEND_VSA_FR_TYPE, "Ascend FR Type" }, { VENDOR_ASCEND_VSA_FR_LINK_MGT, "Ascend FR Link Mgt" }, { VENDOR_ASCEND_VSA_FR_N391, "Ascend FR N391" }, { VENDOR_ASCEND_VSA_FR_DCE_N392, "Ascend FR DCE N392" }, { VENDOR_ASCEND_VSA_FR_DTE_N392, "Ascend FR DTE N392" }, { VENDOR_ASCEND_VSA_FR_DCE_N393, "Ascend FR DCE N393" }, { VENDOR_ASCEND_VSA_FR_DTE_N393, "Ascend FR DTE N393" }, { VENDOR_ASCEND_VSA_FR_T391, "Ascend FR T391" }, { VENDOR_ASCEND_VSA_FR_T392, "Ascend FR T392" }, { VENDOR_ASCEND_VSA_BRIDGE_ADDRESS, "Ascend Bridge Address" }, { VENDOR_ASCEND_VSA_TS_IDLE_LIMIT, "Ascend TS Idle Limit" }, { VENDOR_ASCEND_VSA_TS_IDLE_MODE, "Ascend TS Idle Mode" }, { VENDOR_ASCEND_VSA_DBA_MONITOR, "Ascend DBA Monitor" }, { VENDOR_ASCEND_VSA_BASE_CHANNEL_COUNT, "Ascend Base Channel Count" }, { VENDOR_ASCEND_VSA_MINIMUM_CHANNELS, "Ascend Minimum Channels" }, { VENDOR_ASCEND_VSA_IPX_ROUTE, "Ascend IPX Route" }, { VENDOR_ASCEND_VSA_FT1_CALLER, "Ascend FT1 Caller" }, { VENDOR_ASCEND_VSA_BACKUP, "Ascend Backup" }, { VENDOR_ASCEND_VSA_CALL_TYPE, "Ascend Call Type" }, { VENDOR_ASCEND_VSA_GROUP, "Ascend Group" }, { VENDOR_ASCEND_VSA_FR_DLCI, "Ascend FR DLCI" }, { VENDOR_ASCEND_VSA_FR_PROFILE_NAME, "Ascend FR Profile Name" }, { VENDOR_ASCEND_VSA_ARA_PW, "Ascend Ara PW" }, { VENDOR_ASCEND_VSA_IPX_NODE_ADDR, "Ascend IPX Node Addr" }, { VENDOR_ASCEND_VSA_HOME_AGENT_IP_ADDR, "Ascend Home Agent IP Addr" }, { VENDOR_ASCEND_VSA_HOME_AGENT_PASSWORD, "Ascend Home Agent Password" }, { VENDOR_ASCEND_VSA_HOME_NETWORK_NAME, "Ascend Home Network Name" }, { VENDOR_ASCEND_VSA_HOME_AGENT_UDP_PORT, "Ascend Home Agent UDP Port" }, { VENDOR_ASCEND_VSA_MULTILINK_ID, "Ascend Multilink ID" }, { VENDOR_ASCEND_VSA_NUM_IN_MULTILINK, "Ascend Num In Multilink" }, { VENDOR_ASCEND_VSA_FIRST_DEST, "Ascend First Dest" }, { VENDOR_ASCEND_VSA_PRE_INPUT_OCTETS, "Ascend Pre Input Octets" }, { VENDOR_ASCEND_VSA_PRE_OUTPUT_OCTETS, "Ascend Pre Output Octets" }, { VENDOR_ASCEND_VSA_PRE_INPUT_PACKETS, "Ascend Pre Input Packets" }, { VENDOR_ASCEND_VSA_PRE_OUTPUT_PACKETS, "Ascend Pre Output Packets" }, { VENDOR_ASCEND_VSA_MAXIMUM_TIME, "Ascend Maximum Time" }, { VENDOR_ASCEND_VSA_DISCONNECT_CAUSE, "Ascend Disconnect Cause" }, { VENDOR_ASCEND_VSA_CONNECT_PROGRESS, "Ascend Connect Progress" }, { VENDOR_ASCEND_VSA_DATA_RATE, "Ascend Data Rate" }, { VENDOR_ASCEND_VSA_PRESESSION_TIME, "Ascend PreSession Time" }, { VENDOR_ASCEND_VSA_TOKEN_IDLE, "Ascend Token Idle" }, { VENDOR_ASCEND_VSA_TOKEN_IMMEDIATE, "Ascend Token Immediate" }, { VENDOR_ASCEND_VSA_REQUIRE_AUTH, "Ascend Require Auth" }, { VENDOR_ASCEND_VSA_NUMBER_SESSIONS, "Ascend Number Sessions" }, { VENDOR_ASCEND_VSA_AUTHEN_ALIAS, "Ascend Authen Alias" }, { VENDOR_ASCEND_VSA_TOKEN_EXPIRY, "Ascend Token Expiry" }, { VENDOR_ASCEND_VSA_MENU_SELECTOR, "Ascend Menu Selector" }, { VENDOR_ASCEND_VSA_MENU_ITEM, "Ascend Menu Item" }, { VENDOR_ASCEND_VSA_PW_WARNTIME, "Ascend PW Warntime" }, { VENDOR_ASCEND_VSA_PW_LIFETIME, "Ascend PW Lifetime" }, { VENDOR_ASCEND_VSA_IP_DIRECT, "Ascend IP Direct" }, { VENDOR_ASCEND_VSA_PPP_VJ_SLOT_COMP, "Ascend PPP VJ Slot Comp" }, { VENDOR_ASCEND_VSA_PPP_VJ_1172, "Ascend PPP VJ 1172" }, { VENDOR_ASCEND_VSA_PPP_ASYNC_MAP, "Ascend PPP Async Map" }, { VENDOR_ASCEND_VSA_THIRD_PROMPT, "Ascend Third Prompt" }, { VENDOR_ASCEND_VSA_SEND_SECRET, "Ascend Send Secret" }, { VENDOR_ASCEND_VSA_RECEIVE_SECRET, "Ascend Receive Secret" }, { VENDOR_ASCEND_VSA_IPX_PEER_MODE, "Ascend IPX Peer Mode" }, { VENDOR_ASCEND_VSA_IP_POOL_DEFINITION, "Ascend IP Pool Definition" }, { VENDOR_ASCEND_VSA_ASSIGN_IP_POOL, "Ascend Assign IP Pool" }, { VENDOR_ASCEND_VSA_FR_DIRECT, "Ascend FR Direct" }, { VENDOR_ASCEND_VSA_FR_DIRECT_PROFILE, "Ascend FR Direct Profile" }, { VENDOR_ASCEND_VSA_FR_DIRECT_DLCI, "Ascend FR Direct DLCI" }, { VENDOR_ASCEND_VSA_HANDLE_IPX, "Ascend Handle IPX" }, { VENDOR_ASCEND_VSA_NETWARE_TIMEOUT, "Ascend Netware timeout" }, { VENDOR_ASCEND_VSA_IPX_ALIAS, "Ascend IPX Alias" }, { VENDOR_ASCEND_VSA_METRIC, "Ascend Metric" }, { VENDOR_ASCEND_VSA_PRI_NUMBER_TYPE, "Ascend PRI Number Type" }, { VENDOR_ASCEND_VSA_DIAL_NUMBER, "Ascend Dial Number" }, { VENDOR_ASCEND_VSA_ROUTE_IP, "Ascend Route IP" }, { VENDOR_ASCEND_VSA_ROUTE_IPX, "Ascend Route IPX" }, { VENDOR_ASCEND_VSA_BRIDGE, "Ascend Bridge" }, { VENDOR_ASCEND_VSA_SEND_AUTH, "Ascend Send Auth" }, { VENDOR_ASCEND_VSA_SEND_PASSWD, "Ascend Send Passwd" }, { VENDOR_ASCEND_VSA_LINK_COMPRESSION, "Ascend Link Compression" }, { VENDOR_ASCEND_VSA_TARGET_UTIL, "Ascend Target Util" }, { VENDOR_ASCEND_VSA_MAXIMUM_CHANNELS, "Ascend Maximum Channels" }, { VENDOR_ASCEND_VSA_INC_CHANNEL_COUNT, "Ascend Inc Channel Count" }, { VENDOR_ASCEND_VSA_DEC_CHANNEL_COUNT, "Ascend Dec Channel Count" }, { VENDOR_ASCEND_VSA_SECONDS_OF_HISTORY, "Ascend Seconds Of History" }, { VENDOR_ASCEND_VSA_HISTORY_WEIGH_TYPE, "Ascend History Weigh Type" }, { VENDOR_ASCEND_VSA_ADD_SECONDS, "Ascend Add Seconds" }, { VENDOR_ASCEND_VSA_REMOVE_SECONDS, "Ascend Remove Seconds" }, { VENDOR_ASCEND_VSA_DATA_FILTER, "Ascend Data Filter" }, { VENDOR_ASCEND_VSA_CALL_FILTER, "Ascend Call Filter" }, { VENDOR_ASCEND_VSA_IDLE_LIMIT, "Ascend Idle Limit" }, { VENDOR_ASCEND_VSA_PREEMPT_LIMIT, "Ascend Preempt Limit" }, { VENDOR_ASCEND_VSA_CALLBACK, "Ascend Callback" }, { VENDOR_ASCEND_VSA_DATA_SVC, "Ascend Data Svc" }, { VENDOR_ASCEND_VSA_FORCE_56, "Ascend Force 56" }, { VENDOR_ASCEND_VSA_BILLING_NUMBER, "Ascend Billing Number" }, { VENDOR_ASCEND_VSA_CALL_BY_CALL, "Ascend Call By Call" }, { VENDOR_ASCEND_VSA_TRANSIT_NUMBER, "Ascend Transit Number" }, { VENDOR_ASCEND_VSA_HOST_INFO, "Ascend Host Info" }, { VENDOR_ASCEND_VSA_PPP_ADDRESS, "Ascend PPP Address" }, { VENDOR_ASCEND_VSA_MPP_IDLE_PERCENT, "Ascend MPP Idle Percent" }, { VENDOR_ASCEND_VSA_XMIT_RATE, "Ascend Xmit Rate" }, {0,NULL}, }; static value_string radius_vendor_ascend_calling_id_type_of_number_vals[]= {{0, "Unknown"}, {1, "International Number"}, {2, "National Number"}, {3, "Network Specific"}, {4, "Subscriber Number"}, {6, "Abbreviated Number"}, {0,NULL}}; static value_string radius_vendor_ascend_calling_id_numbering_plan_vals[]= {{0, "Unknown"}, {1, "ISDN Telephony"}, {3, "Data"}, {4, "Telex"}, {8, "National"}, {9, "Private"}, {0,NULL}}; static value_string radius_vendor_ascend_calling_id_presentation_vals[]= {{0, "Allowed"}, {1, "Restricted"}, {2, "Number Not Available"}, {0,NULL}}; static value_string radius_vendor_ascend_calling_id_screening_vals[]= {{0, "User Not Screened"}, {1, "User Provided Passed"}, {2, "User Provided Failed"}, {3, "Network Provided"}, {0,NULL}}; #define VENDOR_COSINE_VSA_CONNECTION_PROFILE_NAME 1 #define VENDOR_COSINE_VSA_ENTERPRISE_ID 2 #define VENDOR_COSINE_VSA_ADDRESS_POOL_NAME 3 #define VENDOR_COSINE_VSA_DS_BYTE 4 #define VENDOR_COSINE_VSA_VPI_VCI 5 #define VENDOR_COSINE_VSA_DLCI 6 #define VENDOR_COSINE_VSA_LNS_IP_ADDRESS 7 #define VENDOR_COSINE_VSA_CLI_USER_PERMISSION_ID 8 static value_value_pair radius_vendor_cosine_printinfo[] = { { VENDOR_COSINE_VSA_CONNECTION_PROFILE_NAME, RADIUS_STRING }, { VENDOR_COSINE_VSA_ENTERPRISE_ID, RADIUS_STRING }, { VENDOR_COSINE_VSA_ADDRESS_POOL_NAME, RADIUS_STRING }, { VENDOR_COSINE_VSA_DS_BYTE, RADIUS_INTEGER4 }, { VENDOR_COSINE_VSA_VPI_VCI, COSINE_VSA_VPI_VCI }, { VENDOR_COSINE_VSA_DLCI, RADIUS_INTEGER4 }, { VENDOR_COSINE_VSA_LNS_IP_ADDRESS, RADIUS_IP_ADDRESS }, { VENDOR_COSINE_VSA_CLI_USER_PERMISSION_ID, RADIUS_STRING }, {0,0}, }; static value_string radius_vendor_cosine_types[]= {{VENDOR_COSINE_VSA_CONNECTION_PROFILE_NAME,"Connection Profile Name"}, {VENDOR_COSINE_VSA_ENTERPRISE_ID,"Enterprise ID"}, {VENDOR_COSINE_VSA_ADDRESS_POOL_NAME,"Address Pool Name"}, {VENDOR_COSINE_VSA_DS_BYTE,"DS Byte"}, {VENDOR_COSINE_VSA_VPI_VCI,"VPI/VCI"}, {VENDOR_COSINE_VSA_DLCI,"DLCI"}, {VENDOR_COSINE_VSA_LNS_IP_ADDRESS,"LNS IP Address"}, {VENDOR_COSINE_VSA_CLI_USER_PERMISSION_ID,"CLI User Permission ID"}, {0,NULL}}; #define VENDOR_ISSANNI_VSA_SOFTFLOW_TEMPLATE 1 #define VENDOR_ISSANNI_VSA_NAT_POOL_NAME 2 #define VENDOR_ISSANNI_VSA_VRD 3 #define VENDOR_ISSANNI_VSA_TUNNEL_NAME 4 #define VENDOR_ISSANNI_VSA_IP_POOL_NAME 5 #define VENDOR_ISSANNI_VSA_PPPOE_URL 6 #define VENDOR_ISSANNI_VSA_PPPOE_MOTM 7 #define VENDOR_ISSANNI_VSA_SERVICE 8 #define VENDOR_ISSANNI_VSA_PRI_DNS 9 #define VENDOR_ISSANNI_VSA_SEC_DNS 10 #define VENDOR_ISSANNI_VSA_PRI_NBNS 11 #define VENDOR_ISSANNI_VSA_SEC_NBNS 12 #define VENDOR_ISSANNI_VSA_TRAFFIC_CLASS 13 #define VENDOR_ISSANNI_VSA_TUNNEL_TYPE 14 #define VENDOR_ISSANNI_VSA_NAT_TYPE 15 #define VENDOR_ISSANNI_VSA_QOS_CLASS 16 #define VENDOR_ISSANNI_VSA_IFACE_NAME 17 static value_value_pair radius_vendor_issanni_printinfo[]= {{VENDOR_ISSANNI_VSA_SOFTFLOW_TEMPLATE,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_NAT_POOL_NAME,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_VRD,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_TUNNEL_NAME,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_IP_POOL_NAME,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_PPPOE_URL,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_PPPOE_MOTM,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_SERVICE,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_PRI_DNS,RADIUS_IP_ADDRESS}, {VENDOR_ISSANNI_VSA_SEC_DNS,RADIUS_IP_ADDRESS}, {VENDOR_ISSANNI_VSA_PRI_NBNS,RADIUS_IP_ADDRESS}, {VENDOR_ISSANNI_VSA_SEC_NBNS,RADIUS_IP_ADDRESS}, {VENDOR_ISSANNI_VSA_TRAFFIC_CLASS,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_TUNNEL_TYPE,RADIUS_INTEGER4}, {VENDOR_ISSANNI_VSA_NAT_TYPE,RADIUS_INTEGER4}, {VENDOR_ISSANNI_VSA_QOS_CLASS,RADIUS_STRING}, {VENDOR_ISSANNI_VSA_IFACE_NAME,RADIUS_STRING}, {0,0}}; static value_string radius_vendor_issanni_types[]= {{VENDOR_ISSANNI_VSA_SOFTFLOW_TEMPLATE,"Softflow Template"}, {VENDOR_ISSANNI_VSA_NAT_POOL_NAME,"NAT Pool"}, {VENDOR_ISSANNI_VSA_VRD,"Virtual Routing Domain"}, {VENDOR_ISSANNI_VSA_TUNNEL_NAME,"Tunnel Name"}, {VENDOR_ISSANNI_VSA_IP_POOL_NAME,"IP Pool Name"}, {VENDOR_ISSANNI_VSA_PPPOE_URL,"PPPoE URL"}, {VENDOR_ISSANNI_VSA_PPPOE_MOTM,"PPPoE MOTM"}, {VENDOR_ISSANNI_VSA_SERVICE,"PPPoE Service"}, {VENDOR_ISSANNI_VSA_PRI_DNS,"Primary DNS"}, {VENDOR_ISSANNI_VSA_SEC_DNS,"Secondary DNS"}, {VENDOR_ISSANNI_VSA_PRI_NBNS,"Primary NBNS"}, {VENDOR_ISSANNI_VSA_SEC_NBNS,"Secondary NBNS"}, {VENDOR_ISSANNI_VSA_TRAFFIC_CLASS,"Policing Traffic Class"}, {VENDOR_ISSANNI_VSA_TUNNEL_TYPE,"Tunnel Type"}, {VENDOR_ISSANNI_VSA_NAT_TYPE,"NAT Type"}, {VENDOR_ISSANNI_VSA_QOS_CLASS,"QoS Traffic Class"}, {VENDOR_ISSANNI_VSA_IFACE_NAME,"Interface Name"}, {0,NULL}}; static value_string radius_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"}, {255, "Ascend ARA"}, {256, "Ascend MPP"}, {257, "Ascend EURAW"}, {258, "Ascend EUUI"}, {259, "Ascend X25"}, {260, "Ascend COMB"}, {261, "Ascend FR"}, {262, "Ascend MP"}, {263, "Ascend FR-CIR"}, {264, "Ascend ATM-1483"}, {265, "Ascend ATM-FR-CIR"}, {0,NULL}}; static value_string radius_framed_routing_vals[]= {{1, "Send Routing Packets"}, {2, "Listen for routing packets"}, {3, "Send and Listen"}, {0,"None"}, {0,NULL}}; static value_string radius_framed_compression_vals[]= {{1, "VJ TCP/IP Header Compression"}, {2, "IPX Header Compression"}, {3, "Stac-LZS compression"}, {0, "None"}, {0,NULL}}; static value_string radius_login_service_vals[]= {{1, "Rlogin"}, {2, "TCP Clear"}, {3, "Portmaster"}, {4, "LAT"}, {5, "X.25-PAD"}, {6, "X.25T3POS"}, {8, "TCP Clear Quit"}, {0, "Telnet"}, {0,NULL}}; static value_string radius_terminating_action_vals[]= {{1, "RADIUS-Request"}, {0, "Default"}, {0,NULL}}; static value_string radius_accounting_status_type_vals[]= {{1, "Start"}, {2, "Stop"}, {3, "Interim-Update"}, {7,"Accounting-On"}, {8,"Accounting-Off"}, {9, "Tunnel-Start"}, /* Tunnel accounting */ {10, "Tunnel-Stop"}, /* Tunnel accounting */ {11, "Tunnel-Reject"}, /* Tunnel accounting */ {12, "Tunnel-Link-Start"}, /* Tunnel accounting */ {13, "Tunnel-Link-Stop"}, /* Tunnel accounting */ {14, "Tunnel-Link-Reject"}, /* Tunnel accounting */ {0,NULL}}; static value_string radius_accounting_authentication_vals[]= {{1, "Radius"}, {2, "Local"}, {3,"Remote"}, /* RFC 2866 says 3 is Remote. Is 7 a mistake? */ {7,"Remote"}, {0,NULL}}; static value_string radius_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"}, {0,NULL}}; static value_string radius_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"}, {0,NULL}}; static value_string radius_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 value_string radius_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"}, {12, "ADSL-CAP"}, {13, "ADSL-DMT"}, {14,"IDSL - ISDN"}, {15,"Ethernet"}, {16,"xDSL"}, {17,"Cable"}, {18,"Wireless Other"}, {19,"Wireless IEEE 802.11"}, {0,NULL}}; /* * XXX - should these be read from files, such as FreeRadius dictionary * files? For example, its "dictionary" file has * * ATTRIBUTE User-Name 1 string * * for RD_TP_USER_NAME. * * "string" -> RADIUS_STRING * "octets" -> RADIUS_BINSTRING * "integer" -> RADIUS_INTEGER4 * "ipaddr" -> RADIUS_IP_ADDRESS * * Entries such as * * VALUE Service-Type Login-User 1 * * handle translation of integral values to strings, e.g. that one for * "Service-Type". */ static value_value_pair radius_printinfo[] = { { RD_TP_USER_NAME, RADIUS_STRING }, { RD_TP_USER_PASSWORD,RADIUS_BINSTRING }, { RD_TP_CHAP_PASSWORD, RADIUS_BINSTRING }, { RD_TP_NAS_IP_ADDRESS, RADIUS_IP_ADDRESS }, { RD_TP_NAS_PORT, RADIUS_INTEGER4}, { RD_TP_SERVICE_TYPE, RADIUS_SERVICE_TYPE}, { RD_TP_FRAMED_PROTOCOL, RADIUS_FRAMED_PROTOCOL}, { RD_TP_FRAMED_IP_ADDRESS, RADIUS_IP_ADDRESS}, { RD_TP_FRAMED_IP_NETMASK, RADIUS_IP_ADDRESS}, { RD_TP_FRAMED_ROUTING, RADIUS_FRAMED_ROUTING}, { RD_TP_FILTER_ID, RADIUS_STRING}, { RD_TP_FRAMED_MTU, RADIUS_INTEGER4}, { RD_TP_FRAMED_COMPRESSION, RADIUS_FRAMED_COMPRESSION}, { RD_TP_LOGIN_IP_HOST, RADIUS_IP_ADDRESS}, { RD_TP_LOGIN_SERVICE, RADIUS_LOGIN_SERVICE}, { RD_TP_LOGIN_TCP_PORT, RADIUS_INTEGER4}, { RD_TP_UNASSIGNED, RADIUS_UNKNOWN}, { RD_TP_REPLY_MESSAGE, RADIUS_STRING}, { RD_TP_CALLBACK_NUMBER, RADIUS_BINSTRING}, { RD_TP_CALLBACK_ID, RADIUS_BINSTRING}, { RD_TP_UNASSIGNED2, RADIUS_UNKNOWN}, { RD_TP_FRAMED_ROUTE, RADIUS_STRING}, { RD_TP_FRAMED_IPX_NETWORK, RADIUS_IPX_ADDRESS}, { RD_TP_STATE, RADIUS_BINSTRING}, { RD_TP_CLASS, RADIUS_STRING}, { RD_TP_VENDOR_SPECIFIC, RADIUS_VENDOR_SPECIFIC}, { RD_TP_SESSION_TIMEOUT, RADIUS_INTEGER4}, { RD_TP_IDLE_TIMEOUT, RADIUS_INTEGER4}, { RD_TP_TERMINATING_ACTION, RADIUS_TERMINATING_ACTION}, { RD_TP_CALLED_STATION_ID, RADIUS_STRING}, { RD_TP_CALLING_STATION_ID, RADIUS_STRING}, { RD_TP_NAS_IDENTIFIER, RADIUS_STRING}, { RD_TP_PROXY_STATE, RADIUS_BINSTRING}, { RD_TP_LOGIN_LAT_SERVICE, RADIUS_BINSTRING}, { RD_TP_LOGIN_LAT_NODE, RADIUS_BINSTRING}, { RD_TP_LOGIN_LAT_GROUP, RADIUS_BINSTRING}, { RD_TP_FRAMED_APPLETALK_LINK, RADIUS_INTEGER4}, { RD_TP_FRAMED_APPLETALK_NETWORK, RADIUS_INTEGER4}, { RD_TP_FRAMED_APPLETALK_ZONE, RADIUS_BINSTRING}, { RD_TP_ACCT_STATUS_TYPE, RADIUS_ACCOUNTING_STATUS_TYPE}, { RD_TP_ACCT_DELAY_TIME, RADIUS_INTEGER4}, { RD_TP_ACCT_INPUT_OCTETS, RADIUS_INTEGER4}, { RD_TP_ACCT_OUTPUT_OCTETS, RADIUS_INTEGER4}, { RD_TP_ACCT_SESSION_ID, RADIUS_STRING}, { RD_TP_ACCT_AUTHENTIC, RADIUS_ACCT_AUTHENTIC}, { RD_TP_ACCT_SESSION_TIME, RADIUS_INTEGER4}, { RD_TP_ACCT_INPUT_PACKETS, RADIUS_INTEGER4}, { RD_TP_ACCT_OUTPUT_PACKETS, RADIUS_INTEGER4}, { RD_TP_ACCT_TERMINATE_CAUSE, RADIUS_ACCT_TERMINATE_CAUSE}, { RD_TP_ACCT_MULTI_SESSION_ID, RADIUS_STRING}, { RD_TP_ACCT_LINK_COUNT, RADIUS_INTEGER4}, { RD_TP_ACCT_INPUT_GIGAWORDS, RADIUS_INTEGER4}, { RD_TP_ACCT_OUTPUT_GIGAWORDS, RADIUS_INTEGER4}, { RD_TP_EVENT_TIMESTAMP, RADIUS_TIMESTAMP}, { RD_TP_CHAP_CHALLENGE, RADIUS_BINSTRING}, { RD_TP_NAS_PORT_TYPE, RADIUS_NAS_PORT_TYPE}, { RD_TP_PORT_LIMIT, RADIUS_INTEGER4}, { RD_TP_LOGIN_LAT_PORT, RADIUS_BINSTRING}, { RD_TP_TUNNEL_TYPE, RADIUS_TUNNEL_TYPE}, { RD_TP_TUNNEL_MEDIUM_TYPE, RADIUS_TUNNEL_MEDIUM_TYPE}, { RD_TP_TUNNEL_CLIENT_ENDPOINT, RADIUS_STRING_TAGGED}, { RD_TP_TUNNEL_SERVER_ENDPOINT, RADIUS_STRING_TAGGED}, { RD_TP_TUNNEL_CONNECTION, RADIUS_BINSTRING}, { RD_TP_TUNNEL_PASSWORD, RADIUS_STRING_TAGGED}, { RD_TP_ARAP_PASSWORD, RADIUS_BINSTRING}, { RD_TP_ARAP_FEATURES, RADIUS_BINSTRING}, { RD_TP_ARAP_ZONE_ACCESS, RADIUS_BINSTRING}, { RD_TP_ARAP_SECURITY, RADIUS_BINSTRING}, { RD_TP_ARAP_SECURITY_DATA, RADIUS_BINSTRING}, { RD_TP_PASSWORD_RETRY, RADIUS_BINSTRING}, { RD_TP_PROMPT, RADIUS_BINSTRING}, { RD_TP_CONNECT_INFO, RADIUS_STRING}, { RD_TP_CONFIGURATION_TOKEN, RADIUS_BINSTRING}, { RD_TP_EAP_MESSAGE, RADIUS_BINSTRING}, { RD_TP_MESSAGE_AUTHENTICATOR, RADIUS_BINSTRING}, { RD_TP_TUNNEL_PRIVATE_GROUP_ID, RADIUS_STRING_TAGGED}, { RD_TP_TUNNEL_ASSIGNMENT_ID, RADIUS_STRING_TAGGED}, { RD_TP_TUNNEL_TUNNEL_PREFERENCE, RADIUS_INTEGER4_TAGGED}, { RD_TP_TUNNEL_PACKETS_LOST, RADIUS_INTEGER4}, { RD_TP_NAS_PORT_ID, RADIUS_STRING}, { RD_TP_TUNNEL_CLIENT_AUTH_ID, RADIUS_STRING_TAGGED}, { RD_TP_TUNNEL_SERVER_AUTH_ID, RADIUS_STRING_TAGGED}, { RD_TP_ASCEND_MODEM_PORTNO, RADIUS_INTEGER4}, { RD_TP_ASCEND_MODEM_SLOTNO, RADIUS_INTEGER4}, { RD_TP_ASCEND_MULTILINK_ID, RADIUS_INTEGER4}, { RD_TP_ASCEND_NUM_IN_MULTILINK, RADIUS_INTEGER4}, { RD_TP_ASCEND_FIRST_DEST, RADIUS_IP_ADDRESS}, { RD_TP_ASCEND_PRE_INPUT_OCTETS, RADIUS_INTEGER4}, { RD_TP_ASCEND_PRE_OUTPUT_OCTETS, RADIUS_INTEGER4}, { RD_TP_ASCEND_PRE_INPUT_PACKETS, RADIUS_INTEGER4}, { RD_TP_ASCEND_PRE_OUTPUT_PACKETS, RADIUS_INTEGER4}, { RD_TP_ASCEND_MAXIMUM_TIME, RADIUS_INTEGER4}, { RD_TP_ASCEND_DISCONNECT_CAUSE, RADIUS_INTEGER4}, { RD_TP_ASCEND_CONNECT_PROGRESS, RADIUS_INTEGER4}, { RD_TP_ASCEND_DATA_RATE, RADIUS_INTEGER4}, { RD_TP_ASCEND_PRESESSION_TIME, RADIUS_INTEGER4}, { RD_TP_ASCEND_ASSIGN_IP_POOL, RADIUS_INTEGER4}, { RD_TP_ASCEND_XMIT_RATE, RADIUS_INTEGER4}, {0,0}, }; static value_string radius_attrib_type_vals[] = { { RD_TP_USER_NAME, "User Name"}, { RD_TP_USER_PASSWORD, "User Password"}, { RD_TP_CHAP_PASSWORD, "Chap Password"}, { RD_TP_NAS_IP_ADDRESS, "NAS IP Address"}, { RD_TP_NAS_PORT, "NAS Port"}, { RD_TP_SERVICE_TYPE, "Service Type"}, { RD_TP_FRAMED_PROTOCOL, "Framed Protocol"}, { RD_TP_FRAMED_IP_ADDRESS, "Framed IP Address"}, { RD_TP_FRAMED_IP_NETMASK, "Framed IP Netmask"}, { RD_TP_FRAMED_ROUTING, "Framed Routing"}, { RD_TP_FILTER_ID, "Filter Id"}, { RD_TP_FRAMED_MTU, "Framed MTU"}, { RD_TP_FRAMED_COMPRESSION, "Framed Compression"}, { RD_TP_LOGIN_IP_HOST, "Login IP Host"}, { RD_TP_LOGIN_SERVICE, "Login Service"}, { RD_TP_LOGIN_TCP_PORT, "Login TCP Port"}, { RD_TP_UNASSIGNED, "Unassigned"}, { RD_TP_REPLY_MESSAGE, "Reply Message"}, { RD_TP_CALLBACK_NUMBER, "Callback Number"}, { RD_TP_CALLBACK_ID, "Callback Id"}, { RD_TP_UNASSIGNED2, "Unassigned"}, { RD_TP_FRAMED_ROUTE, "Framed Route"}, { RD_TP_FRAMED_IPX_NETWORK, "Framed IPX network"}, { RD_TP_STATE, "State"}, { RD_TP_CLASS, "Class"}, { RD_TP_VENDOR_SPECIFIC, "Vendor Specific" }, { RD_TP_SESSION_TIMEOUT, "Session Timeout"}, { RD_TP_IDLE_TIMEOUT, "Idle Timeout"}, { RD_TP_TERMINATING_ACTION, "Terminating Action"}, { RD_TP_CALLED_STATION_ID, "Called Station Id"}, { RD_TP_CALLING_STATION_ID, "Calling Station Id"}, { RD_TP_NAS_IDENTIFIER, "NAS identifier"}, { RD_TP_PROXY_STATE, "Proxy State"}, { RD_TP_LOGIN_LAT_SERVICE, "Login LAT Service"}, { RD_TP_LOGIN_LAT_NODE, "Login LAT Node"}, { RD_TP_LOGIN_LAT_GROUP, "Login LAT Group"}, { RD_TP_FRAMED_APPLETALK_LINK, "Framed Appletalk Link"}, { RD_TP_FRAMED_APPLETALK_NETWORK, "Framed Appletalk Network"}, { RD_TP_FRAMED_APPLETALK_ZONE, "Framed Appletalk Zone"}, { RD_TP_ACCT_STATUS_TYPE, "Acct Status Type"}, { RD_TP_ACCT_DELAY_TIME, "Acct Delay Time"}, { RD_TP_ACCT_INPUT_OCTETS, "Acct Input Octets"}, { RD_TP_ACCT_OUTPUT_OCTETS, "Acct Output Octets"}, { RD_TP_ACCT_SESSION_ID, "Acct Session Id"}, { RD_TP_ACCT_AUTHENTIC, "Acct Authentic"}, { RD_TP_ACCT_SESSION_TIME, "Acct Session Time"}, { RD_TP_ACCT_INPUT_PACKETS, "Acct Input Packets"}, { RD_TP_ACCT_OUTPUT_PACKETS, "Acct Output Packets"}, { RD_TP_ACCT_TERMINATE_CAUSE, "Acct Terminate Cause"}, { RD_TP_ACCT_MULTI_SESSION_ID, "Acct Multi Session Id"}, { RD_TP_ACCT_LINK_COUNT, "Acct Link Count"}, { RD_TP_ACCT_INPUT_GIGAWORDS, "Acct Input Gigawords"}, { RD_TP_ACCT_OUTPUT_GIGAWORDS, "Acct Output Gigawords"}, { RD_TP_EVENT_TIMESTAMP, "Event Timestamp"}, { RD_TP_CHAP_CHALLENGE, "Chap Challenge"}, { RD_TP_NAS_PORT_TYPE, "NAS Port Type"}, { RD_TP_PORT_LIMIT, "Port Limit"}, { RD_TP_LOGIN_LAT_PORT, "Login LAT Port"}, { RD_TP_TUNNEL_TYPE, "Tunnel Type"}, { RD_TP_TUNNEL_MEDIUM_TYPE, "Tunnel Medium Type"}, { RD_TP_TUNNEL_CLIENT_ENDPOINT, "Tunnel Client Endpoint"}, { RD_TP_TUNNEL_SERVER_ENDPOINT, "Tunnel Server Endpoint"}, { RD_TP_TUNNEL_CONNECTION, "Tunnel Connection"}, { RD_TP_TUNNEL_PASSWORD, "Tunnel Password"}, { RD_TP_ARAP_PASSWORD, "ARAP-Password"}, { RD_TP_ARAP_FEATURES, "ARAP-Features"}, { RD_TP_ARAP_ZONE_ACCESS, "ARAP-Zone-Access"}, { RD_TP_ARAP_SECURITY, "ARAP-Security"}, { RD_TP_ARAP_SECURITY_DATA, "ARAP-Security-Data"}, { RD_TP_PASSWORD_RETRY, "Password-Retry"}, { RD_TP_PROMPT, "Prompt"}, { RD_TP_CONNECT_INFO, "Connect-Info"}, { RD_TP_CONFIGURATION_TOKEN, "Configuration-Token"}, { RD_TP_EAP_MESSAGE, "EAP-Message"}, { RD_TP_MESSAGE_AUTHENTICATOR, "Message Authenticator"}, { RD_TP_TUNNEL_PRIVATE_GROUP_ID, "Tunnel Private Group ID"}, { RD_TP_TUNNEL_ASSIGNMENT_ID, "Tunnel Assignment ID"}, { RD_TP_TUNNEL_TUNNEL_PREFERENCE, "Tunnel Preference"}, { RD_TP_TUNNEL_PACKETS_LOST, "Tunnel Packets Lost"}, { RD_TP_NAS_PORT_ID, "NAS Port ID"}, { RD_TP_TUNNEL_CLIENT_AUTH_ID, "Tunnel Client Auth ID"}, { RD_TP_TUNNEL_SERVER_AUTH_ID, "Tunnel Server Auth ID"}, { RD_TP_ASCEND_MODEM_PORTNO, "Ascend Modem Port No"}, { RD_TP_ASCEND_MODEM_SLOTNO, "Ascend Modem Slot No"}, { RD_TP_ASCEND_MULTILINK_ID, "Ascend Multilink ID"}, { RD_TP_ASCEND_NUM_IN_MULTILINK, "Ascend Num In Multilink"}, { RD_TP_ASCEND_FIRST_DEST, "Ascend First Dest"}, { RD_TP_ASCEND_PRE_INPUT_OCTETS, "Ascend Pre Input Octets"}, { RD_TP_ASCEND_PRE_OUTPUT_OCTETS, "Ascend Pre Output Octets"}, { RD_TP_ASCEND_PRE_INPUT_PACKETS, "Ascend Pre Input Packets"}, { RD_TP_ASCEND_PRE_OUTPUT_PACKETS, "Ascend Pre Output Packets"}, { RD_TP_ASCEND_MAXIMUM_TIME, "Ascend Maximum Time"}, { RD_TP_ASCEND_DISCONNECT_CAUSE, "Ascend Disconnect Cause"}, { RD_TP_ASCEND_CONNECT_PROGRESS, "Ascend Connect Progress"}, { RD_TP_ASCEND_DATA_RATE, "Ascend Data Rate"}, { RD_TP_ASCEND_PRESESSION_TIME, "Ascend PreSession Time"}, { RD_TP_ASCEND_ASSIGN_IP_POOL, "Ascend Assign IP Pool"}, { RD_TP_ASCEND_XMIT_RATE, "Ascend Xmit Rate"}, {0,NULL}, }; static rd_vsa_table radius_vsa_table[] = { { VENDOR_CISCO, radius_vendor_cisco_printinfo, radius_vendor_cisco_types }, { VENDOR_MICROSOFT, radius_vendor_microsoft_printinfo, radius_vendor_microsoft_types }, { VENDOR_ASCEND, radius_vendor_ascend_printinfo, radius_vendor_ascend_types }, { VENDOR_COSINE, radius_vendor_cosine_printinfo, radius_vendor_cosine_types }, { VENDOR_ISSANNI, radius_vendor_issanni_printinfo, radius_vendor_issanni_types }, {0,NULL,NULL}, }; static rd_valstr_table valstr_table[] = { { RADIUS_SERVICE_TYPE, radius_service_type_vals }, { RADIUS_FRAMED_PROTOCOL, radius_framed_protocol_vals }, { RADIUS_FRAMED_ROUTING, radius_framed_routing_vals }, { RADIUS_FRAMED_COMPRESSION, radius_framed_compression_vals }, { RADIUS_LOGIN_SERVICE, radius_login_service_vals }, { RADIUS_TERMINATING_ACTION, radius_terminating_action_vals }, { RADIUS_ACCOUNTING_STATUS_TYPE, radius_accounting_status_type_vals }, { RADIUS_ACCT_AUTHENTIC, radius_accounting_authentication_vals }, { RADIUS_ACCT_TERMINATE_CAUSE, radius_acct_terminate_cause_vals }, { RADIUS_NAS_PORT_TYPE, radius_nas_port_type_vals }, { CISCO_VSA_DISCONNECT_CAUSE, radius_vendor_cisco_disconnect_cause_vals }, { MICROSOFT_VSA_BAP_USAGE, radius_vendor_microsoft_bap_usage_vals }, { MICROSOFT_VSA_ARAP_PW_CHANGE_REASON, radius_vendor_microsoft_arap_pw_change_reason_vals }, { MICROSOFT_VSA_ACCT_AUTH_TYPE, radius_vendor_microsoft_acct_auth_type_vals }, { MICROSOFT_VSA_ACCT_EAP_TYPE, radius_vendor_microsoft_acct_eap_type_vals }, { ASCEND_VSA_CALLING_ID_TYPE_OF_NUMBER, radius_vendor_ascend_calling_id_type_of_number_vals }, { ASCEND_VSA_CALLING_ID_NUMBERING_PLAN, radius_vendor_ascend_calling_id_numbering_plan_vals }, { ASCEND_VSA_CALLING_ID_PRESENTATION, radius_vendor_ascend_calling_id_presentation_vals }, { ASCEND_VSA_CALLING_ID_SCREENING, radius_vendor_ascend_calling_id_screening_vals }, {0,NULL} }; static rd_vsa_table *get_vsa_table(guint32 type) { guint32 i = 0; while (radius_vsa_table[i].type) { if (radius_vsa_table[i].type == type) return(&radius_vsa_table[i]); i++; } return(0); } static guint32 match_numval(guint32 val, const value_value_pair *vs) { guint32 i = 0; while (vs[i].val1) { if (vs[i].val1 == val) return(vs[i].val2); i++; } return(0); } static gchar textbuffer[TEXTBUFFER]; static rd_vsa_buffer vsabuffer[VSABUFFER]; static void rdconvertbufftostr(gchar *dest, tvbuff_t *tvb, int offset, int length) { /*converts the raw buffer into printable text */ guint32 i; guint32 totlen=0; const guint8 *pd = tvb_get_ptr(tvb, offset, length); dest[0]='"'; dest[1]=0; totlen=1; for (i=0; i < (guint32)length; i++) { if( isalnum((int)pd[i])||ispunct((int)pd[i]) ||((int)pd[i]==' ')) { dest[totlen]=(gchar)pd[i]; totlen++; } else { sprintf(&(dest[totlen]), "\\%03o", pd[i]); totlen=totlen+strlen(&(dest[totlen])); } } dest[totlen]='"'; dest[totlen+1]=0; } static void rdconvertbufftobinstr(gchar *dest, tvbuff_t *tvb, int offset, int length) { /*converts the raw buffer into printable text */ guint32 i; guint32 totlen=0; const guint8 *pd = tvb_get_ptr(tvb, offset, length); static const char hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; for (i=0; i < (guint32)length; i++) { dest[totlen] = hex[pd[i] >> 4]; totlen++; dest[totlen] = hex[pd[i] & 0xF]; totlen++; } dest[totlen]='\0'; } static gchar *rd_match_strval(guint32 val, const value_string *vs) { return val_to_str(val, vs, "Undefined (%u)"); } static gchar *rdconvertinttostr(gchar *dest, int print_type, guint32 intval) { guint32 i = 0; while (valstr_table[i].type) { if (valstr_table[i].type == print_type) { sprintf(dest,"%s(%d)", rd_match_strval(intval,valstr_table[i].str),intval); break; } i++; } return dest; } static gchar *rd_value_to_str_2(gchar *dest, e_avphdr *avph, tvbuff_t *tvb, int offset, const value_value_pair *vvp) { int print_type; gchar *cont; value_string *valstrarr; guint32 intval; const guint8 *pd; guint8 tag; char *rtimestamp; extern char *tzname[2]; int vsa_attrlen; int vsa_len; int vsa_index; rd_vsa_table *vsa_rvt; e_avphdr *vsa_avph; /* prints the values of the attribute value pairs into a text buffer */ print_type=match_numval(avph->avp_type,vvp); /* Default begin */ strcpy(dest, "Value:"); cont=&dest[strlen(dest)]; switch(print_type) { case( RADIUS_STRING ): rdconvertbufftostr(cont,tvb,offset+2,avph->avp_length-2); break; case( RADIUS_BINSTRING ): rdconvertbufftobinstr(cont,tvb,offset+2,avph->avp_length-2); break; case( RADIUS_INTEGER4 ): sprintf(cont,"%u", tvb_get_ntohl(tvb,offset+2)); break; case( RADIUS_IP_ADDRESS ): ip_to_str_buf(tvb_get_ptr(tvb,offset+2,4),cont); break; case( RADIUS_IPX_ADDRESS ): pd = tvb_get_ptr(tvb,offset+2,4); sprintf(cont,"%u:%u:%u:%u",(guint8)pd[offset+2], (guint8)pd[offset+3],(guint8)pd[offset+4], (guint8)pd[offset+5]); case( RADIUS_TUNNEL_TYPE ): valstrarr=radius_tunnel_type_vals; /* Tagged ? */ intval = tvb_get_ntohl(tvb,offset+2); if (intval >> 24) { sprintf(dest, "Tag:%u, Value:%s", intval >> 24, rd_match_strval(intval & 0xffffff,valstrarr)); break; } strcpy(cont,rd_match_strval(intval,valstrarr)); break; case( RADIUS_TUNNEL_MEDIUM_TYPE ): valstrarr=radius_tunnel_medium_type_vals; intval = tvb_get_ntohl(tvb,offset+2); /* Tagged ? */ if (intval >> 24) { sprintf(dest, "Tag:%u, Value:%s", intval >> 24, rd_match_strval(intval & 0xffffff,valstrarr)); break; } strcpy(cont,rd_match_strval(intval,valstrarr)); break; case( RADIUS_STRING_TAGGED ): /* Tagged ? */ tag = tvb_get_guint8(tvb,offset+2); if (tag <= 0x1f) { sprintf(dest, "Tag:%u, Value:", tag); cont=&cont[strlen(cont)]; rdconvertbufftostr(cont,tvb,offset+3,avph->avp_length-3); break; } rdconvertbufftostr(cont,tvb,offset+2,avph->avp_length-2); break; case ( RADIUS_VENDOR_SPECIFIC ): vsa_index = 1; valstrarr=radius_vendor_specific_vendors; sprintf(dest,"Vendor:%s", rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); cont=&dest[strlen(dest)]; vsa_rvt=get_vsa_table(tvb_get_ntohl(tvb,offset+2)); if (vsa_rvt) { vsa_attrlen = avph->avp_length; vsa_len = 6; do { vsa_avph=(e_avphdr*)tvb_get_ptr(tvb,offset+vsa_len,avph->avp_length-vsa_len); cont=&cont[strlen(cont)+1]; vsabuffer[vsa_index].valstr = cont; vsabuffer[vsa_index].offset = offset+vsa_len; vsabuffer[vsa_index].length = vsa_avph->avp_length; sprintf(cont, "t:%s(%d) l:%d, ", match_strval(vsa_avph->avp_type, vsa_rvt->types), vsa_avph->avp_type,vsa_avph->avp_length); cont=&cont[strlen(cont)]; rd_value_to_str_2(cont,vsa_avph,tvb,offset+vsa_len,vsa_rvt->printinfo); vsa_len+=vsa_avph->avp_length; vsa_index++; } while (vsa_attrlen > vsa_len && vsa_index < VSABUFFER); } else rdconvertbufftostr(cont,tvb,offset+6,avph->avp_length-6); break; case( RADIUS_SERVICE_TYPE ): case( RADIUS_FRAMED_PROTOCOL ): case( RADIUS_FRAMED_ROUTING ): case( RADIUS_FRAMED_COMPRESSION ): case( RADIUS_LOGIN_SERVICE ): case( RADIUS_TERMINATING_ACTION ): case( RADIUS_ACCOUNTING_STATUS_TYPE ): case( RADIUS_ACCT_AUTHENTIC ): case( RADIUS_ACCT_TERMINATE_CAUSE ): case( RADIUS_NAS_PORT_TYPE ): case( ASCEND_VSA_CALLING_ID_TYPE_OF_NUMBER ): case( ASCEND_VSA_CALLING_ID_NUMBERING_PLAN ): case( ASCEND_VSA_CALLING_ID_PRESENTATION ): case( ASCEND_VSA_CALLING_ID_SCREENING ): rdconvertinttostr(cont, print_type,tvb_get_ntohl(tvb,offset+2)); break; case( COSINE_VSA_VPI_VCI ): sprintf(cont,"%u/%u", tvb_get_ntohs(tvb,offset+2), tvb_get_ntohs(tvb,offset+4)); break; case( RADIUS_TIMESTAMP ): intval=tvb_get_ntohl(tvb,offset+2); rtimestamp=ctime((time_t*)&intval); rtimestamp[strlen(rtimestamp)-1]=0; sprintf(cont,"%d (%s %s)", tvb_get_ntohl(tvb,offset+2), rtimestamp, *tzname); break; case( RADIUS_INTEGER4_TAGGED ): intval = tvb_get_ntohl(tvb,offset+2); /* Tagged ? */ if (intval >> 24) { sprintf(cont, "Tag:%u, Value:%u", intval >> 24, intval & 0xffffff); break; } sprintf(cont,"%u", intval); break; case( RADIUS_UNKNOWN ): default: strcpy(cont,"Unknown Value Type"); break; } cont=&cont[strlen(cont)]; if (cont == dest) { strcpy(cont,"Unknown Value"); } return dest; } static gchar *rd_value_to_str(e_avphdr *avph, tvbuff_t *tvb, int offset) { int i; for (i = 0; i < VSABUFFER; i++) vsabuffer[i].valstr = 0; vsabuffer[0].valstr = textbuffer; rd_value_to_str_2(textbuffer,avph,tvb,offset,radius_printinfo); return textbuffer; } static void dissect_attribute_value_pairs(tvbuff_t *tvb, int offset,proto_tree *tree, int avplength,packet_info *pinfo) { /* adds the attribute value pairs to the tree */ e_avphdr avph; gchar *avptpstrval; gchar *valstr; guint8 *reassembled_data = NULL; int reassembled_data_len = 0; int data_needed = 0; int i; if (avplength==0) { if (tree) proto_tree_add_text(tree, tvb,offset,0,"No Attribute Value Pairs Found"); return; } /* * In case we throw an exception, clean up whatever stuff we've * allocated (if any). */ CLEANUP_PUSH(g_free, reassembled_data); while (avplength > 0) { tvb_memcpy(tvb,(guint8 *)&avph,offset,sizeof(e_avphdr)); avptpstrval = match_strval(avph.avp_type, radius_attrib_type_vals); if (avptpstrval == NULL) avptpstrval = "Unknown Type"; if (avph.avp_length < 2) { /* * This AVP is bogus - the length includes the type and length * fields, so it must be >= 2. */ if (tree) { proto_tree_add_text(tree, tvb, offset, avph.avp_length, "t:%s(%u) l:%u (length not >= 2)", avptpstrval, avph.avp_type, avph.avp_length); } break; } if (avph.avp_type == RD_TP_EAP_MESSAGE) { proto_item *ti; proto_tree *eap_tree = NULL; gint tvb_len; tvbuff_t *next_tvb; int data_len; int result; if (tree) { ti = proto_tree_add_text(tree, tvb, offset, avph.avp_length, "t:%s(%u) l:%u", avptpstrval, avph.avp_type, avph.avp_length); eap_tree = proto_item_add_subtree(ti, ett_radius_eap); } tvb_len = tvb_length_remaining(tvb, offset+2); data_len = avph.avp_length-2; if (data_len < tvb_len) tvb_len = data_len; next_tvb = tvb_new_subset(tvb, offset+2, tvb_len, data_len); /* * Set the columns non-writable, so that the packet list * shows this as an RADIUS packet, not as an EAP packet. */ col_set_writable(pinfo->cinfo, FALSE); /* * RFC 2869 says, in section 5.13, describing the EAP-Message * attribute: * * The String field contains EAP packets, as defined in [3]. If * multiple EAP-Message attributes are present in a packet their * values should be concatenated; this allows EAP packets longer than * 253 octets to be passed by RADIUS. * * Do reassembly of EAP-Message attributes. */ /* Are we in the process of reassembling? */ if (reassembled_data != NULL) { /* Yes - show this as an EAP fragment. */ if (tree) proto_tree_add_text(eap_tree, next_tvb, 0, -1, "EAP fragment"); /* * Do we have all of the data in this fragment? */ if (tvb_len >= data_len) { /* * Yes - add it to the reassembled data. */ tvb_memcpy(next_tvb, reassembled_data + reassembled_data_len, 0, data_len); reassembled_data_len += data_len; data_needed -= data_len; if (data_needed <= 0) { /* * We got at least as much data as we needed; we're done * reassembling. * XXX - what if we got more? */ /* * Allocate a new tvbuff, referring to the reassembled payload. */ next_tvb = tvb_new_real_data(reassembled_data, reassembled_data_len, reassembled_data_len); /* * We have a tvbuff that refers to this data, so we shouldn't * free this data if we throw an exception; clear * "reassembled_data", so the cleanup handler won't free it. */ reassembled_data = NULL; reassembled_data_len = 0; data_needed = 0; /* * Arrange that the allocated packet data copy be freed when the * tvbuff is freed. */ tvb_set_free_cb(next_tvb, g_free); /* * Add the tvbuff to the list of tvbuffs to which the tvbuff we * were handed refers, so it'll get cleaned up when that tvbuff * is cleaned up. */ tvb_set_child_real_data_tvbuff(tvb, next_tvb); /* Add the defragmented data to the data source list. */ add_new_data_source(pinfo->fd, next_tvb, "Reassembled EAP"); /* Now dissect it. */ call_dissector(eap_fragment_handle, next_tvb, pinfo, eap_tree); } } } else { /* * No - hand it to the dissector. */ result = call_dissector(eap_fragment_handle, next_tvb, pinfo, eap_tree); if (result < 0) { /* This is only part of the full EAP packet; start reassembly. */ proto_tree_add_text(eap_tree, next_tvb, 0, -1, "EAP fragment"); reassembled_data_len = data_len; data_needed = -result; reassembled_data = g_malloc(reassembled_data_len + data_needed); tvb_memcpy(next_tvb, reassembled_data, 0, reassembled_data_len); } } } else { if (tree) { valstr = rd_value_to_str(&avph, tvb, offset); proto_tree_add_text(tree, tvb, offset, avph.avp_length, "t:%s(%u) l:%u, %s", avptpstrval, avph.avp_type, avph.avp_length, valstr); for (i = 1; vsabuffer[i].valstr && i < VSABUFFER; i++) proto_tree_add_text(tree, tvb, vsabuffer[i].offset, vsabuffer[i].length, " %s", vsabuffer[i].valstr); } } offset = offset+avph.avp_length; avplength = avplength-avph.avp_length; } /* * Call the cleanup handler to free any reassembled data we haven't * attached to a tvbuff, and pop the handler. */ CLEANUP_CALL_AND_POP; } static void dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree *radius_tree = NULL, *avptree = NULL; proto_item *ti,*avptf; int rhlength; int rhcode; int rhident; int avplength,hdrlength; e_radiushdr rh; gchar *codestrval; if (check_col(pinfo->cinfo, COL_PROTOCOL)) col_set_str(pinfo->cinfo, COL_PROTOCOL, "RADIUS"); if (check_col(pinfo->cinfo, COL_INFO)) col_clear(pinfo->cinfo, COL_INFO); tvb_memcpy(tvb,(guint8 *)&rh,0,sizeof(e_radiushdr)); rhcode= (int)rh.rh_code; rhident= (int)rh.rh_ident; rhlength= (int)ntohs(rh.rh_pktlength); codestrval= match_strval(rhcode,radius_vals); if (codestrval==NULL) { codestrval="Unknown Packet"; } if (check_col(pinfo->cinfo, COL_INFO)) { col_add_fstr(pinfo->cinfo,COL_INFO,"%s(%d) (id=%d, l=%d)", codestrval, rhcode, rhident, rhlength); } if (tree) { ti = proto_tree_add_item(tree,proto_radius, tvb, 0, rhlength, FALSE); radius_tree = proto_item_add_subtree(ti, ett_radius); proto_tree_add_uint(radius_tree,hf_radius_code, tvb, 0, 1, rh.rh_code); proto_tree_add_uint_format(radius_tree,hf_radius_id, tvb, 1, 1, rh.rh_ident, "Packet identifier: 0x%01x (%d)", rhident,rhident); proto_tree_add_uint(radius_tree, hf_radius_length, tvb, 2, 2, rhlength); proto_tree_add_text(radius_tree, tvb, 4, AUTHENTICATOR_LENGTH, "Authenticator"); } hdrlength=RD_HDR_LENGTH+AUTHENTICATOR_LENGTH; avplength= rhlength -hdrlength; if (avplength > 0) { /* list the attribute value pairs */ if (tree) { avptf = proto_tree_add_text(radius_tree, tvb,hdrlength,avplength, "Attribute value pairs"); avptree = proto_item_add_subtree(avptf, ett_radius_avp); } dissect_attribute_value_pairs(tvb, hdrlength, avptree, avplength, pinfo); } } /* registration with the filtering engine */ void proto_register_radius(void) { static hf_register_info hf[] = { { &hf_radius_code, { "Code","radius.code", FT_UINT8, BASE_DEC, VALS(radius_vals), 0x0, "", HFILL }}, { &hf_radius_id, { "Identifier", "radius.id", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL }}, { &hf_radius_length, { "Length","radius.length", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL }} }; static gint *ett[] = { &ett_radius, &ett_radius_avp, &ett_radius_eap, }; proto_radius = proto_register_protocol("Radius Protocol", "RADIUS", "radius"); proto_register_field_array(proto_radius, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); } void proto_reg_handoff_radius(void) { dissector_handle_t radius_handle; /* * Get a handle for the EAP fragment dissector. */ eap_fragment_handle = find_dissector("eap_fragment"); radius_handle = create_dissector_handle(dissect_radius, proto_radius); dissector_add("udp.port", UDP_PORT_RADIUS, radius_handle); dissector_add("udp.port", UDP_PORT_RADIUS_NEW, radius_handle); dissector_add("udp.port", UDP_PORT_RADACCT, radius_handle); dissector_add("udp.port", UDP_PORT_RADACCT_NEW, radius_handle); }