diff options
author | Guy Harris <guy@alum.mit.edu> | 2002-05-08 08:13:08 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2002-05-08 08:13:08 +0000 |
commit | 7181a4d32783762fe10aae0c72375a5fd2273bee (patch) | |
tree | 766ffe774b800ee734522ce13e8631361b75284b /packet-radius.c | |
parent | b4248be92d30cb883c247a9588c685ab581bcf70 (diff) | |
download | wireshark-7181a4d32783762fe10aae0c72375a5fd2273bee.tar.gz wireshark-7181a4d32783762fe10aae0c72375a5fd2273bee.tar.bz2 wireshark-7181a4d32783762fe10aae0c72375a5fd2273bee.zip |
From Kan Sasaki: VSA decoding and other changes to RADIUS.
svn path=/trunk/; revision=5416
Diffstat (limited to 'packet-radius.c')
-rw-r--r-- | packet-radius.c | 1677 |
1 files changed, 1382 insertions, 295 deletions
diff --git a/packet-radius.c b/packet-radius.c index 9afa3ae4e4..c2fb625752 100644 --- a/packet-radius.c +++ b/packet-radius.c @@ -4,7 +4,7 @@ * * RFC 2865, RFC 2866, RFC 2867, RFC 2868, RFC 2869 * - * $Id: packet-radius.c,v 1.57 2002/05/06 00:58:28 guy Exp $ + * $Id: packet-radius.c,v 1.58 2002/05/08 08:13:06 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -62,6 +62,9 @@ static dissector_handle_t eap_fragment_handle; #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; @@ -78,14 +81,46 @@ typedef struct _value_value_pair { 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 /* @@ -197,14 +232,9 @@ typedef struct _value_value_pair { #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 @@ -227,6 +257,16 @@ typedef struct _value_value_pair { #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"}, @@ -234,9 +274,24 @@ static value_string radius_vals[] = { {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}}; @@ -308,159 +363,1168 @@ references: */ /* stanard sttributes */ -#define VENDOR_CISCO_AVP_CISCO 1 -#define VENDOR_CISCO_NAS_PORT 2 +#define VENDOR_CISCO_VSA_AVP_CISCO 1 +#define VENDOR_CISCO_VSA_NAS_PORT 2 /* fax */ -#define VENDOR_CISCO_FAX_ACCOUNT_ID_ORIGIN 3 -#define VENDOR_CISCO_FAX_MSG_ID 4 -#define VENDOR_CISCO_FAX_PAGES 5 -#define VENDOR_CISCO_FAX_COVERPAGE_FLAG 6 -#define VENDOR_CISCO_FAX_MODEM_TIME 7 -#define VENDOR_CISCO_FAX_CONNECT_SPEED 8 -#define VENDOR_CISCO_FAX_RECIPENT_COUNT 9 -#define VENDOR_CISCO_FAX_PROCESS_ABORT_FLAG 10 -#define VENDOR_CISCO_FAX_DSN_ADDRESS 11 -#define VENDOR_CISCO_FAX_DSN_FLAG 12 -#define VENDOR_CISCO_FAX_MDN_ADDRESS 13 -#define VENDOR_CISCO_FAX_MDN_FLAG 14 -#define VENDOR_CISCO_FAX_AUTH_STATUS 15 -#define VENDOR_CISCO_EMAIL_SERVER_ADDRESS 16 -#define VENDOR_CISCO_EMAIL_SERVER_ACK_FLAG 17 -#define VENDOR_CISCO_GATEWAY_ID 18 -#define VENDOR_CISCO_CALL_TYPE 19 -#define VENDOR_CISCO_PORT_USED 20 -#define VENDOR_CISCO_ABORT_CAUSE 21 +#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_H323_REMOTE_ADDRESS 23 -#define VENDOR_CISCO_H323_CONF_ID 24 -#define VENDOR_CISCO_H323_SETUP_TIME 25 -#define VENDOR_CISCO_H323_CALL_ORIGIN 26 -#define VENDOR_CISCO_H323_CALL_TYPE 27 -#define VENDOR_CISCO_H323_CONNECT_TIME 28 -#define VENDOR_CISCO_H323_DISCONNECT_TIME 29 -#define VENDOR_CISCO_H323_DISCONNECT_CAUSE 30 -#define VENDOR_CISCO_H323_VOICE_QUALITY 31 +#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_H323_GW_ID 33 +#define VENDOR_CISCO_VSA_H323_GW_ID 33 /* #34 */ -#define VENDOR_CISCO_H323_INCOMING_CONF_ID 35 +#define VENDOR_CISCO_VSA_H323_INCOMING_CONF_ID 35 /* #36-#100 */ -#define VENDOR_CISCO_H323_CREDIT_AMOUNT 101 -#define VENDOR_CISCO_H323_CREDIT_TIME 102 -#define VENDOR_CISCO_H323_RETURN_CODE 103 -#define VENDOR_CISCO_H323_PROMPT_ID 104 -#define VENDOR_CISCO_H323_TIME_AND_DAY 105 -#define VENDOR_CISCO_H323_REDIRECT_NUMBER 106 -#define VENDOR_CISCO_H323_PREFERRED_LANG 107 -#define VENDOR_CISCO_H323_REDIRECT_IP_ADDRESS 108 -#define VENDOR_CISCO_H323_BILLING_MODEL 109 -#define VENDOR_CISCO_H323_CURRENCY_TYPE 110 +#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_MULTILINK_ID 187 -#define VENDOR_CISCO_NUM_IN_MULTILINK 188 +#define VENDOR_CISCO_VSA_MULTILINK_ID 187 +#define VENDOR_CISCO_VSA_NUM_IN_MULTILINK 188 /* #189 */ -#define VENDOR_CISCO_PRE_INPUT_OCTETS 190 -#define VENDOR_CISCO_PRE_OUTPUT_OCTETS 191 -#define VENDOR_CISCO_PRE_INPUT_PACKETS 192 -#define VENDOR_CISCO_PRE_OUTPUT_PACKETS 193 -#define VENDOR_CISCO_MAXIMUM_TIME 194 -#define VENDOR_CISCO_DISCONNECT_CAUSE 195 +#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_DATA_RATE 197 -#define VENDOR_CISCO_PRESESSION_TIME 198 +#define VENDOR_CISCO_VSA_DATA_RATE 197 +#define VENDOR_CISCO_VSA_PRESESSION_TIME 198 /* #199-#207 */ -#define VENDOR_CISCO_PW_LIFETIME 208 -#define VENDOR_CISCO_IP_DIRECT 209 -#define VENDOR_CISCO_PPP_VJ_SLOT_COMP 210 +#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_PPP_ASYNC_MAP 212 +#define VENDOR_CISCO_VSA_PPP_ASYNC_MAP 212 /* #213-#216 */ -#define VENDOR_CISCO_IP_POOL_DEFINITION 217 -#define VENDOR_CISCO_ASING_IP_POOL 218 +#define VENDOR_CISCO_VSA_IP_POOL_DEFINITION 217 +#define VENDOR_CISCO_VSA_ASING_IP_POOL 218 /* #219-#227 */ -#define VENDOR_CISCO_ROUTE_IP 228 +#define VENDOR_CISCO_VSA_ROUTE_IP 228 /* #229-#232 */ -#define VENDOR_CISCO_LINK_COMPRESSION 233 -#define VENDOR_CISCO_TARGET_UTIL 234 -#define VENDOR_CISCO_MAXIMUM_CHANNELS 235 +#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_DATA_FILTER 242 -#define VENDOR_CISCO_CALL_FILTER 243 -#define VENDOR_CISCO_IDLE_LIMIT 244 -#define VENDOR_CISCO_XMIT_RATE 255 +#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_AVP_CISCO ,"Cisco AV Pair" }, -{ VENDOR_CISCO_NAS_PORT ,"Cisco NAS Port" }, -{ VENDOR_CISCO_FAX_ACCOUNT_ID_ORIGIN ,"Fax Account Id Origin" }, -{ VENDOR_CISCO_FAX_MSG_ID ,"Fax Msg Id" }, -{ VENDOR_CISCO_FAX_PAGES ,"Fax Pages" }, -{ VENDOR_CISCO_FAX_COVERPAGE_FLAG ,"Fax Cover Page Flag" }, -{ VENDOR_CISCO_FAX_MODEM_TIME ,"Fax Modem Time" }, -{ VENDOR_CISCO_FAX_CONNECT_SPEED ,"Fax Connect Speed" }, -{ VENDOR_CISCO_FAX_RECIPENT_COUNT ,"Fax Recipent Count" }, -{ VENDOR_CISCO_FAX_PROCESS_ABORT_FLAG ,"Fax Process Abort Flag" }, -{ VENDOR_CISCO_FAX_DSN_ADDRESS ,"Fax DSN Address" }, -{ VENDOR_CISCO_FAX_DSN_FLAG ,"Fax DSN Flag" }, -{ VENDOR_CISCO_FAX_MDN_ADDRESS ,"Fax MDN Address" }, -{ VENDOR_CISCO_FAX_MDN_FLAG ,"Fax MDN Flag" }, -{ VENDOR_CISCO_FAX_AUTH_STATUS ,"Fax Auth Status" }, -{ VENDOR_CISCO_EMAIL_SERVER_ADDRESS ,"Email Server Address" }, -{ VENDOR_CISCO_EMAIL_SERVER_ACK_FLAG ,"Email Server Ack Flag" }, -{ VENDOR_CISCO_GATEWAY_ID ,"Gateway Id" }, -{ VENDOR_CISCO_CALL_TYPE ,"Call Type" }, -{ VENDOR_CISCO_PORT_USED ,"Port Used" }, -{ VENDOR_CISCO_ABORT_CAUSE ,"Abort Cause" }, -{ VENDOR_CISCO_H323_REMOTE_ADDRESS ,"H323 Remote Address" }, -{ VENDOR_CISCO_H323_CONF_ID ,"H323 Conf Id" }, -{ VENDOR_CISCO_H323_SETUP_TIME ,"H323 Setup Time" }, -{ VENDOR_CISCO_H323_CALL_ORIGIN ,"H323 Call Origin" }, -{ VENDOR_CISCO_H323_CALL_TYPE ,"H323 Call Type" }, -{ VENDOR_CISCO_H323_CONNECT_TIME ,"H323 Connect Time" }, -{ VENDOR_CISCO_H323_DISCONNECT_TIME ,"H323 Disconnect Time" }, -{ VENDOR_CISCO_H323_DISCONNECT_CAUSE ,"H323 Disconnect Cause" }, -{ VENDOR_CISCO_H323_VOICE_QUALITY ,"H323 Voice Quality" }, -{ VENDOR_CISCO_H323_GW_ID ,"H323 GW Id" }, -{ VENDOR_CISCO_H323_INCOMING_CONF_ID ,"H323 Incoming Conf Id" }, -{ VENDOR_CISCO_H323_CREDIT_AMOUNT ,"H323 Credit Amount" }, -{ VENDOR_CISCO_H323_CREDIT_TIME ,"H323 Credit Time" }, -{ VENDOR_CISCO_H323_RETURN_CODE ,"H323 Return Code" }, -{ VENDOR_CISCO_H323_PROMPT_ID ,"H323 Prompt Id" }, -{ VENDOR_CISCO_H323_TIME_AND_DAY ,"H323 Time And Day" }, -{ VENDOR_CISCO_H323_REDIRECT_NUMBER ,"H323 Redirect Number" }, -{ VENDOR_CISCO_H323_PREFERRED_LANG ,"H323 Preferred Lang" }, -{ VENDOR_CISCO_H323_REDIRECT_IP_ADDRESS ,"H323 Redirect Ip Address" }, -{ VENDOR_CISCO_H323_BILLING_MODEL ,"H323 Billing Model" }, -{ VENDOR_CISCO_H323_CURRENCY_TYPE ,"H323 Currency Type" }, -{ VENDOR_CISCO_MULTILINK_ID ,"Cisco Multilink ID" }, -{ VENDOR_CISCO_NUM_IN_MULTILINK ,"Cisco Num In Multilink" }, -{ VENDOR_CISCO_PRE_INPUT_OCTETS ,"Cisco Pre Input Octets" }, -{ VENDOR_CISCO_PRE_OUTPUT_OCTETS ,"Cisco Pre Output Octets" }, -{ VENDOR_CISCO_PRE_INPUT_PACKETS ,"Cisco Pre Input Packets" }, -{ VENDOR_CISCO_PRE_OUTPUT_PACKETS ,"Cisco Pre Output Packets" }, -{ VENDOR_CISCO_MAXIMUM_TIME ,"Cisco Maximum Time" }, -{ VENDOR_CISCO_DISCONNECT_CAUSE ,"Cisco Disconnect Cause" }, -{ VENDOR_CISCO_DATA_RATE ,"Cisco Data Rate" }, -{ VENDOR_CISCO_PRESESSION_TIME ,"Cisco PreSession Time" }, -{ VENDOR_CISCO_PW_LIFETIME ,"Cisco PW Lifetime" }, -{ VENDOR_CISCO_IP_DIRECT ,"Cisco IP Direct" }, -{ VENDOR_CISCO_PPP_VJ_SLOT_COMP ,"Cisco PPP VJ Slot Comp" }, -{ VENDOR_CISCO_PPP_ASYNC_MAP ,"Cisco PPP Async Map" }, -{ VENDOR_CISCO_IP_POOL_DEFINITION ,"Cisco IP Pool Definition" }, -{ VENDOR_CISCO_ASING_IP_POOL ,"Cisco Asing IP Pool" }, -{ VENDOR_CISCO_ROUTE_IP ,"Cisco Route IP" }, -{ VENDOR_CISCO_LINK_COMPRESSION ,"Cisco Link Compression" }, -{ VENDOR_CISCO_TARGET_UTIL ,"Cisco Target Util" }, -{ VENDOR_CISCO_MAXIMUM_CHANNELS ,"Cisco Maximum Channels" }, -{ VENDOR_CISCO_DATA_FILTER ,"Cisco Data Filter" }, -{ VENDOR_CISCO_CALL_FILTER ,"Cisco Call Filter" }, -{ VENDOR_CISCO_IDLE_LIMIT ,"Cisco Idle Limit" }, -{ VENDOR_CISCO_XMIT_RATE ,"Cisco Xmit Rate" }, +{{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 @@ -472,6 +1536,18 @@ static value_string radius_vendor_cisco_types[]= #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"}, @@ -501,6 +1577,26 @@ static value_string radius_vendor_cosine_types[]= #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"}, @@ -528,8 +1624,17 @@ static value_string radius_framed_protocol_vals[]= {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[]= @@ -885,6 +1990,50 @@ static value_string radius_attrib_type_vals[] = { {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; @@ -898,7 +2047,8 @@ static guint32 match_numval(guint32 val, const value_value_pair *vs) return(0); } -static gchar textbuffer[2000]; +static gchar textbuffer[TEXTBUFFER]; +static rd_vsa_buffer vsabuffer[VSABUFFER]; static void rdconvertbufftostr(gchar *dest, tvbuff_t *tvb, int offset, int length) @@ -953,7 +2103,23 @@ static gchar *rd_match_strval(guint32 val, const value_string *vs) { return val_to_str(val, vs, "Undefined (%u)"); } -static gchar *rd_value_to_str(e_avphdr *avph, tvbuff_t *tvb, int offset) +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; @@ -961,16 +2127,21 @@ static gchar *rd_value_to_str(e_avphdr *avph, tvbuff_t *tvb, int offset) guint32 intval; const guint8 *pd; guint8 tag; - guint8 vtype; 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,radius_printinfo); + print_type=match_numval(avph->avp_type,vvp); /* Default begin */ - strcpy(textbuffer,"Value:"); - cont=&textbuffer[strlen(textbuffer)]; + strcpy(dest, "Value:"); + cont=&dest[strlen(dest)]; switch(print_type) { case( RADIUS_STRING ): @@ -985,57 +2156,17 @@ static gchar *rd_value_to_str(e_avphdr *avph, tvbuff_t *tvb, int offset) case( RADIUS_IP_ADDRESS ): ip_to_str_buf(tvb_get_ptr(tvb,offset+2,4),cont); break; - case( RADIUS_SERVICE_TYPE ): - valstrarr=radius_service_type_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - break; - case( RADIUS_FRAMED_PROTOCOL ): - valstrarr= radius_framed_protocol_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - break; - case( RADIUS_FRAMED_ROUTING ): - valstrarr=radius_framed_routing_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - break; - case( RADIUS_FRAMED_COMPRESSION ): - valstrarr=radius_framed_compression_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - break; - case( RADIUS_LOGIN_SERVICE ): - valstrarr=radius_login_service_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - 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_TERMINATING_ACTION ): - valstrarr=radius_terminating_action_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - break; - case( RADIUS_ACCOUNTING_STATUS_TYPE ): - valstrarr=radius_accounting_status_type_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - break; - case( RADIUS_ACCT_AUTHENTIC ): - valstrarr=radius_accounting_authentication_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - break; - case( RADIUS_ACCT_TERMINATE_CAUSE ): - valstrarr=radius_acct_terminate_cause_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - break; - case( RADIUS_NAS_PORT_TYPE ): - valstrarr=radius_nas_port_type_vals; - strcpy(cont,rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - break; case( RADIUS_TUNNEL_TYPE ): valstrarr=radius_tunnel_type_vals; /* Tagged ? */ intval = tvb_get_ntohl(tvb,offset+2); if (intval >> 24) { - sprintf(textbuffer, "Tag:%u, Value:%s", + sprintf(dest, "Tag:%u, Value:%s", intval >> 24, rd_match_strval(intval & 0xffffff,valstrarr)); break; @@ -1047,7 +2178,7 @@ static gchar *rd_value_to_str(e_avphdr *avph, tvbuff_t *tvb, int offset) intval = tvb_get_ntohl(tvb,offset+2); /* Tagged ? */ if (intval >> 24) { - sprintf(textbuffer, "Tag:%u, Value:%s", + sprintf(dest, "Tag:%u, Value:%s", intval >> 24, rd_match_strval(intval & 0xffffff,valstrarr)); break; @@ -1058,121 +2189,63 @@ static gchar *rd_value_to_str(e_avphdr *avph, tvbuff_t *tvb, int offset) /* Tagged ? */ tag = tvb_get_guint8(tvb,offset+2); if (tag <= 0x1f) { - sprintf(textbuffer, "Tag:%u, Value:", + sprintf(dest, "Tag:%u, Value:", tag); - cont=&textbuffer[strlen(textbuffer)]; + 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(textbuffer,"Vendor:%s,", + sprintf(dest,"Vendor:%s", rd_match_strval(tvb_get_ntohl(tvb,offset+2),valstrarr)); - cont=&textbuffer[strlen(textbuffer)]; - switch (tvb_get_ntohl(tvb,offset+2)) { - case ( VENDOR_CISCO ): - vtype = tvb_get_guint8(tvb,offset+6); - switch (vtype) { - case ( VENDOR_CISCO_AVP_CISCO ): - sprintf(cont," Type:%s, Len:%i Value:", - rd_match_strval(vtype,radius_vendor_cisco_types), - avph->avp_length-8); - cont=&textbuffer[strlen(textbuffer)]; - rdconvertbufftostr(cont,tvb,offset+8, - avph->avp_length-8); - break; - default: - sprintf(cont," Type:%s, Len:%i Value:", - rd_match_strval(vtype,radius_vendor_cisco_types), - avph->avp_length-8); - cont=&textbuffer[strlen(textbuffer)]; - rdconvertbufftostr(cont,tvb,offset+8, - avph->avp_length-8); - break; - } - break; - case ( VENDOR_COSINE ): - vtype = tvb_get_guint8(tvb,offset+6); - switch (vtype) { - case ( VENDOR_COSINE_VSA_CONNECTION_PROFILE_NAME ): - case ( VENDOR_COSINE_VSA_ENTERPRISE_ID ): - case ( VENDOR_COSINE_VSA_ADDRESS_POOL_NAME ): - case ( VENDOR_COSINE_VSA_CLI_USER_PERMISSION_ID ): - sprintf(cont," Type:%s, Value:", - rd_match_strval(vtype, radius_vendor_cosine_types)); - cont=&textbuffer[strlen(textbuffer)]; - rdconvertbufftostr(cont,tvb,offset+8,avph->avp_length-8); - break; - case ( VENDOR_COSINE_VSA_VPI_VCI ): - sprintf(cont," Type:%s, Value:%u/%u", - rd_match_strval(vtype, radius_vendor_cosine_types), - tvb_get_ntohs(tvb,offset+8), - tvb_get_ntohs(tvb,offset+10)); - break; - case ( VENDOR_COSINE_VSA_DS_BYTE ): - case ( VENDOR_COSINE_VSA_DLCI ): - sprintf(cont," Type:%s, Value:%u", - rd_match_strval(vtype, radius_vendor_cosine_types), - tvb_get_ntohl(tvb,offset+8)); - break; - case ( VENDOR_COSINE_VSA_LNS_IP_ADDRESS ): - sprintf(cont," Type:%s, Value:", - rd_match_strval(vtype, radius_vendor_cosine_types)); - cont=&textbuffer[strlen(textbuffer)]; - ip_to_str_buf(tvb_get_ptr(tvb,offset+8,4),cont); - break; - default: - sprintf(cont," Unknown Value Type"); - break; - } - break; - case ( VENDOR_ISSANNI ): - vtype = tvb_get_guint8(tvb,offset+6); - switch (vtype) { - case ( VENDOR_ISSANNI_VSA_SOFTFLOW_TEMPLATE ): - case ( VENDOR_ISSANNI_VSA_NAT_POOL_NAME ): - case ( VENDOR_ISSANNI_VSA_VRD ): - case ( VENDOR_ISSANNI_VSA_TUNNEL_NAME ): - case ( VENDOR_ISSANNI_VSA_IP_POOL_NAME ): - case ( VENDOR_ISSANNI_VSA_PPPOE_URL ): - case ( VENDOR_ISSANNI_VSA_PPPOE_MOTM ): - case ( VENDOR_ISSANNI_VSA_SERVICE ): - case ( VENDOR_ISSANNI_VSA_TRAFFIC_CLASS ): - case ( VENDOR_ISSANNI_VSA_QOS_CLASS ): - case ( VENDOR_ISSANNI_VSA_IFACE_NAME ): - sprintf(cont," Type:%s, Value:", - rd_match_strval(vtype, radius_vendor_issanni_types)); - cont=&textbuffer[strlen(textbuffer)]; - rdconvertbufftostr(cont,tvb,offset+8,avph->avp_length-8); - break; - case ( VENDOR_ISSANNI_VSA_NAT_TYPE ): - case ( VENDOR_ISSANNI_VSA_TUNNEL_TYPE ): - sprintf(cont," Type:%s, Value:%u", - rd_match_strval(vtype, radius_vendor_issanni_types), - tvb_get_ntohl(tvb,offset+8)); - break; - case ( VENDOR_ISSANNI_VSA_PRI_DNS ): - case ( VENDOR_ISSANNI_VSA_SEC_DNS ): - case ( VENDOR_ISSANNI_VSA_PRI_NBNS ): - case ( VENDOR_ISSANNI_VSA_SEC_NBNS ): - sprintf(cont," Type:%s, Value:", - rd_match_strval(vtype, radius_vendor_issanni_types)); - cont=&textbuffer[strlen(textbuffer)]; - ip_to_str_buf(tvb_get_ptr(tvb,offset+8,4),cont); - break; - default: - sprintf(cont," Unknown Value Type"); - break; - } - break; - default: - sprintf(cont, " Value:"); - rdconvertbufftostr(cont,tvb,offset+6,avph->avp_length-6); - break; - } + 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); @@ -1183,7 +2256,7 @@ static gchar *rd_value_to_str(e_avphdr *avph, tvbuff_t *tvb, int offset) intval = tvb_get_ntohl(tvb,offset+2); /* Tagged ? */ if (intval >> 24) { - sprintf(textbuffer, "Tag:%u, Value:%u", + sprintf(cont, "Tag:%u, Value:%u", intval >> 24, intval & 0xffffff); break; @@ -1192,15 +2265,25 @@ static gchar *rd_value_to_str(e_avphdr *avph, tvbuff_t *tvb, int offset) break; case( RADIUS_UNKNOWN ): default: - strcpy(textbuffer,"Unknown Value Type"); + strcpy(cont,"Unknown Value Type"); break; } - if (cont == textbuffer) { + cont=&cont[strlen(cont)]; + if (cont == dest) { strcpy(cont,"Unknown Value"); } - return textbuffer; + 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, @@ -1213,6 +2296,7 @@ dissect_attribute_value_pairs(tvbuff_t *tvb, int offset,proto_tree *tree, guint8 *reassembled_data = NULL; int reassembled_data_len = 0; int data_needed = 0; + int i; if (avplength==0) { @@ -1364,6 +2448,9 @@ dissect_attribute_value_pairs(tvbuff_t *tvb, int offset,proto_tree *tree, "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); } } |