620 lines
25 KiB
C
620 lines
25 KiB
C
/* ipdiameter_constant.h - IPNet Diameter constants defining head file */
|
|
|
|
/*
|
|
* Copyright (c) 2007 Wind River Systems, Inc.
|
|
*
|
|
* The right to copy, distribute or otherwise make use of this software
|
|
* may be licensed only pursuant to the terms of an applicable Wind River
|
|
* license agreement. No license to Wind River intellectual property rights
|
|
* is granted herein. All rights not licensed by Wind River are reserved
|
|
* by Wind River.
|
|
*/
|
|
|
|
/*
|
|
modification history
|
|
--------------------
|
|
01j,19feb10,tlu Add VLAN attributes definition from RFC 4675
|
|
01i,12feb09,tlu Add/redefine some error codes from
|
|
draft-ietf-dime-rfc3588bis-xx
|
|
01h,09feb09,tlu Add callback event for RAR
|
|
01g,26nov08,tlu Add EAP appl id, command codes, and AVP codes
|
|
01f,18dec07,tlu Add a constant for maximum WD time outs
|
|
01e,04jul07,tlu Add MIP4 command codes and AVP codes
|
|
01d,27jun07,tlu Add Diameter Credit-Control application ID
|
|
01c,20jun07,tlu Add Re-Auth-Request-Type AVP value code
|
|
01b,13jun07,tlu Update after code inspection
|
|
01a,18apr07,tlu Created.
|
|
*/
|
|
|
|
#ifndef IPDIAMETER_CONSTANT_H
|
|
#define IPDIAMETER_CONSTANT_H
|
|
|
|
|
|
/*
|
|
****************************************************************************
|
|
* INCLUDE FILES
|
|
****************************************************************************
|
|
*/
|
|
|
|
|
|
/*
|
|
**************************************************************************
|
|
* DEFINES
|
|
****************************************************************************
|
|
*/
|
|
|
|
/* Diameter port */
|
|
#define IPDIAMETER_PORT 3868
|
|
|
|
/* Size of secret shared between DIAMETER nodes */
|
|
#define IPDIAMETER_MAX_SECRET_SIZE 64
|
|
|
|
/* Max size of user password. */
|
|
#define IPDIAMETER_MAX_PASSWORD_SIZE 128
|
|
|
|
/* Max size of a diameter message AVPs. */
|
|
#define IPDIAMETER_MAX_AVP_SIZE 1420
|
|
|
|
/* Max size of a FQDN */
|
|
#define IPDIAMETER_MAX_FQDN_SIZE 255
|
|
|
|
/* Max size a session ID (in the form of FQDN;unique_id) */
|
|
#define IPDIAMETER_MAX_SESSION_ID_SIZE 260
|
|
|
|
/* Max size of a diameter package. */
|
|
#define IPDIAMETER_MAX_PKT_SIZE 1440
|
|
|
|
/* Max authentication size */
|
|
#define IPDIAMETER_AUTH_SIZE 16
|
|
|
|
/* Max CHAP password length */
|
|
#define IPDIAMETER_CHAP_LEN 16
|
|
|
|
/* NULL string */
|
|
#define IPDIAMETER_NULL_STRING "\0"
|
|
|
|
/* Default session timeout value in seconds */
|
|
#define IPDIAMETER_SESSION_TIMEOUT 30
|
|
|
|
/* Default authorization lifetime value in seconds */
|
|
#define IPDIAMETER_AUTH_LIFETIME 360
|
|
|
|
/* Default authorization grace period value in seconds */
|
|
#define IPDIAMETER_AUTH_GRACE_PERIOD 30
|
|
|
|
/* Default peer reconnection interval in seconds */
|
|
#define IPDIAMETER_PEER_RECONN_INTERVAL 30
|
|
|
|
/* Default max peer reconnection attempts */
|
|
#define IPDIAMETER_MAX_PEER_RECONN_ATTEMPT 10
|
|
|
|
/* Default request retransmission interval in seconds */
|
|
#define IPDIAMETER_REQ_RETX_INTERVAL 10
|
|
|
|
/* Default max request retransmission attempts */
|
|
#define IPDIAMETER_MAX_REQ_RETX 3
|
|
|
|
/* Maximum opened sockets */
|
|
#define IPDIAMETER_MAX_FDS 20
|
|
|
|
/* Maximum peers */
|
|
#define IPDIAMETER_MAX_PEERS 20
|
|
|
|
/* Maximum sessions */
|
|
#define IPDIAMETER_MAX_SESSIONS 30
|
|
|
|
/* Maximum supported applications */
|
|
#define IPDIAMETER_MAX_APPL_IDS 10
|
|
|
|
/* Maximum servers a user can specify */
|
|
#define IPDIAMETER_MAX_SPECIFIED_SERVERS 3
|
|
|
|
/* Maximum route entries for a Diameter node */
|
|
#define IPDIAMETER_MAX_ROUTE_ENTRIES 512
|
|
|
|
/* Maximum WD time outs */
|
|
#define IPDIAMETER_MAX_WD_TIMEOUT 2
|
|
|
|
|
|
|
|
/* IPDIAMETER product name */
|
|
#define IPDIAMETER_PRODUCT_NAME "WR Diameter"
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* DIAMETER header command codes
|
|
*===========================================================================
|
|
*/
|
|
|
|
#define DIAMETER_CODE_MIN 0
|
|
#define DIAMETER_CODE_MAX 16777213
|
|
|
|
#define DIAMETER_CODE_Abort_Session_Request 274
|
|
#define DIAMETER_CODE_Abort_Session_Answer 274
|
|
#define DIAMETER_CODE_Accounting_Request 271
|
|
#define DIAMETER_CODE_Accounting_Answer 271
|
|
#define DIAMETER_CODE_Capabilities_Exchange_Request 257
|
|
#define DIAMETER_CODE_Capabilities_Exchange_Answer 257
|
|
#define DIAMETER_CODE_Device_Watchdog_Request 280
|
|
#define DIAMETER_CODE_Device_Watchdog_Answer 280
|
|
#define DIAMETER_CODE_Disconnect_Peer_Request 282
|
|
#define DIAMETER_CODE_Disconnect_Peer_Answer 282
|
|
#define DIAMETER_CODE_Re_Auth_Request 258
|
|
#define DIAMETER_CODE_Re_Auth_Answer 258
|
|
#define DIAMETER_CODE_Session_Termination_Request 275
|
|
#define DIAMETER_CODE_Session_Termination_Answer 275
|
|
|
|
/* Diameter MIP4 Application, RFC4004 */
|
|
#define DIAMETER_CODE_AA_Mobile_Node_Request 260
|
|
#define DIAMETER_CODE_AA_Mobile_Node_Answer 260
|
|
#define DIAMETER_CODE_Home_Agent_MIP_Request 262
|
|
#define DIAMETER_CODE_Home_Agent_MIP_Answer 262
|
|
|
|
/* Diameter EAP Application, RFC4072 */
|
|
#define DIAMETER_CODE_EAP_Request 268
|
|
#define DIAMETER_CODE_EAP_Answer 268
|
|
|
|
|
|
/* RADIUS packet header codes */
|
|
#define IPRADIUS_CODE_Access_Request 1
|
|
#define IPRADIUS_CODE_Access_Accept 2
|
|
#define IPRADIUS_CODE_Access_Reject 3
|
|
#define IPRADIUS_CODE_Accounting_Request 4
|
|
#define IPRADIUS_CODE_Accounting_Response 5
|
|
#define IPRADIUS_CODE_Access_Challenge 11
|
|
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* DIAMETER application Identifier
|
|
*===========================================================================
|
|
*/
|
|
|
|
#define DIAMETER_Common_Message 0
|
|
#define DIAMETER_NASREQ 1
|
|
#define DIAMETER_MIP 2
|
|
#define DIAMETER_Base_Accounting 3
|
|
#define DIAMETER_Credit_Control 4
|
|
#define DIAMETER_EAP 5
|
|
#define DIAMETER_Relay 0xffffffff
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* DIAMETER AVP codes
|
|
*===========================================================================
|
|
* Refer to RFC 3588, section 4.5
|
|
*/
|
|
|
|
#define DIAMETER_AVP_CODE_MIN 1
|
|
#define DIAMETER_AVP_CODE_MAX 486
|
|
|
|
#define DIAMETER_AVP_CODE_Acct_Interim_Interval 85
|
|
#define DIAMETER_AVP_CODE_Accounting_Realtime_Reqired 483
|
|
#define DIAMETER_AVP_CODE_Acct_Multi_Session_Id 50
|
|
#define DIAMETER_AVP_CODE_Accounting_Record_Number 485
|
|
#define DIAMETER_AVP_CODE_Accounting_Record_Type 480
|
|
#define DIAMETER_AVP_CODE_Accounting_Session_Id 44
|
|
#define DIAMETER_AVP_CODE_Accounting_Sub_Session_Id 287
|
|
#define DIAMETER_AVP_CODE_Acct_Application_Id 259
|
|
#define DIAMETER_AVP_CODE_Auth_Application_Id 258
|
|
#define DIAMETER_AVP_CODE_Auth_Request_Type 274
|
|
#define DIAMETER_AVP_CODE_Authorization_Lifetime 291
|
|
#define DIAMETER_AVP_CODE_Auth_Grace_Period 276
|
|
#define DIAMETER_AVP_CODE_Auth_Session_State 277
|
|
#define DIAMETER_AVP_CODE_Re_Auth_Request_Type 285
|
|
#define DIAMETER_AVP_CODE_Class 25
|
|
#define DIAMETER_AVP_CODE_Destination_Host 293
|
|
#define DIAMETER_AVP_CODE_Destination_Realm 283
|
|
#define DIAMETER_AVP_CODE_Disconnect_Cause 273
|
|
#define DIAMETER_AVP_CODE_E2E_Sequence 300
|
|
#define DIAMETER_AVP_CODE_Error_Message 281
|
|
#define DIAMETER_AVP_CODE_Error_Reporting_Host 294
|
|
#define DIAMETER_AVP_CODE_Event_Timestamp 55
|
|
#define DIAMETER_AVP_CODE_Experimental_Result 297
|
|
#define DIAMETER_AVP_CODE_Experimental_Result_Code 298
|
|
#define DIAMETER_AVP_CODE_Failed_AVP 279
|
|
#define DIAMETER_AVP_CODE_Firmware_Revision 267
|
|
#define DIAMETER_AVP_CODE_Host_IP_Address 257
|
|
#define DIAMETER_AVP_CODE_Inband_Security_Id 299
|
|
#define DIAMETER_AVP_CODE_Multi_Round_Time_Out 272
|
|
#define DIAMETER_AVP_CODE_Origin_Host 264
|
|
#define DIAMETER_AVP_CODE_Origin_Realm 296
|
|
#define DIAMETER_AVP_CODE_Origin_State_Id 278
|
|
#define DIAMETER_AVP_CODE_Product_Name 269
|
|
#define DIAMETER_AVP_CODE_Proxy_Host 280
|
|
#define DIAMETER_AVP_CODE_Proxy_Info 284
|
|
#define DIAMETER_AVP_CODE_Proxy_State 33
|
|
#define DIAMETER_AVP_CODE_Redirect_Host 292
|
|
#define DIAMETER_AVP_CODE_Redirect_Host_Usage 261
|
|
#define DIAMETER_AVP_CODE_Redirect_Max_Cache_Time 262
|
|
#define DIAMETER_AVP_CODE_Result_Code 268
|
|
#define DIAMETER_AVP_CODE_Route_Record 282
|
|
#define DIAMETER_AVP_CODE_Session_Id 263
|
|
#define DIAMETER_AVP_CODE_Session_Timeout 27
|
|
#define DIAMETER_AVP_CODE_Session_Binding 270
|
|
#define DIAMETER_AVP_CODE_Session_Server_Failover 271
|
|
#define DIAMETER_AVP_CODE_Supported_Vendor_Id 265
|
|
#define DIAMETER_AVP_CODE_Termination_Cause 295
|
|
#define DIAMETER_AVP_CODE_User_Name 1
|
|
#define DIAMETER_AVP_CODE_Vendor_Id 266
|
|
#define DIAMETER_AVP_CODE_Vendor_Specific_App_Id 260
|
|
|
|
/* Diameter MIP4 AVP codes, RFC 4004 */
|
|
#define DIAMETER_AVP_CODE_MIP_Reg_Request 320
|
|
#define DIAMETER_AVP_CODE_MIP_Reg_Reply 321
|
|
#define DIAMETER_AVP_CODE_MIP_MN_AAA_Auth 322
|
|
#define DIAMETER_AVP_CODE_MIP_Mobile_Node_Address 333
|
|
#define DIAMETER_AVP_CODE_MIP_Home_Agent_Address 334
|
|
#define DIAMETER_AVP_CODE_MIP_Candidate_Home_Agent_Host 336
|
|
#define DIAMETER_AVP_CODE_MIP_Feature_Vector 337
|
|
#define DIAMETER_AVP_CODE_MIP_Auth_Input_Data_Length 338
|
|
#define DIAMETER_AVP_CODE_MIP_Authenticator_Length 339
|
|
#define DIAMETER_AVP_CODE_MIP_Authenticator_Offset 340
|
|
#define DIAMETER_AVP_CODE_MIP_MN_AAA_SPI 341
|
|
#define DIAMETER_AVP_CODE_MIP_Fileter_Rule 342
|
|
#define DIAMETER_AVP_CODE_MIP_FA_Challenge 344
|
|
#define DIAMETER_AVP_CODE_MIP_Originating_Foreign_AAA 347
|
|
#define DIAMETER_AVP_CODE_MIP_Home_Agent_Host 348
|
|
#define DIAMETER_AVP_CODE_MIP_FA_to_HA_SPI 318
|
|
#define DIAMETER_AVP_CODE_MIP_FA_to_MN_SPI 319
|
|
#define DIAMETER_AVP_CODE_MIP_HA_to_FA_SPI 323
|
|
#define DIAMETER_AVP_CODE_MIP_MN_to_FA_MSA 325
|
|
#define DIAMETER_AVP_CODE_MIP_FA_to_MN_MSA 326
|
|
#define DIAMETER_AVP_CODE_MIP_FA_to_HA_MSA 328
|
|
#define DIAMETER_AVP_CODE_MIP_HA_to_FA_MSA 329
|
|
#define DIAMETER_AVP_CODE_MIP_MN_to_HA_MSA 331
|
|
#define DIAMETER_AVP_CODE_MIP_HA_to_MN_MSA 332
|
|
#define DIAMETER_AVP_CODE_MIP_Nonce 335
|
|
#define DIAMETER_AVP_CODE_MIP_Session_Key 343
|
|
#define DIAMETER_AVP_CODE_MIP_Algorithm_Type 345
|
|
#define DIAMETER_AVP_CODE_MIP_Replay_Mode 346
|
|
#define DIAMETER_AVP_CODE_MIP_MSA_Lifetime 367
|
|
|
|
/* Diameter EAP AVP codes, RFC 4072 */
|
|
#define DIAMETER_AVP_CODE_EAP_Payload 462
|
|
#define DIAMETER_AVP_CODE_EAP_Reissued_Payload 463
|
|
#define DIAMETER_AVP_CODE_EAP_Master_Session_Key 464
|
|
#define DIAMETER_AVP_CODE_EAP_Key_Name 102
|
|
#define DIAMETER_AVP_CODE_EAP_Accounting_Auth_Method 465
|
|
|
|
|
|
/* Diameter Network Access Server Appl, RFC 4005 */
|
|
#define DIAMETER_AVP_CODE_Originating_Line_Info 94
|
|
#define DIAMETER_AVP_CODE_Tunneling 401
|
|
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* Radius Attribute tags
|
|
*===========================================================================
|
|
*/
|
|
|
|
#define RADIUS_ATTR_User_Name 1
|
|
#define RADIUS_ATTR_User_Password 2
|
|
#define RADIUS_ATTR_CHAP_Password 3
|
|
#define RADIUS_ATTR_NAS_IP_Address 4
|
|
#define RADIUS_ATTR_NAS_Port 5
|
|
#define RADIUS_ATTR_Service_Type 6
|
|
#define RADIUS_ATTR_Framed_Protocol 7
|
|
#define RADIUS_ATTR_Framed_IP_Address 8
|
|
#define RADIUS_ATTR_Framed_IP_Netmask 9
|
|
|
|
#define RADIUS_ATTR_Framed_Routing 10
|
|
#define RADIUS_ATTR_Filter_Id 11
|
|
#define RADIUS_ATTR_Framed_MTU 12
|
|
#define RADIUS_ATTR_Framed_Compression 13
|
|
#define RADIUS_ATTR_Login_IP_Host 14
|
|
#define RADIUS_ATTR_Login_Service 15
|
|
#define RADIUS_ATTR_Login_TCP_Port 16
|
|
#define RADIUS_ATTR_unassigned_17 17
|
|
#define RADIUS_ATTR_Reply_Message 18
|
|
#define RADIUS_ATTR_Callback_Number 19
|
|
|
|
#define RADIUS_ATTR_Callback_Id 20
|
|
#define RADIUS_ATTR_unassigned_21 21
|
|
#define RADIUS_ATTR_Framed_Route 22
|
|
#define RADIUS_ATTR_Framed_IPX_Network 23
|
|
#define RADIUS_ATTR_State 24
|
|
#define RADIUS_ATTR_Class 25
|
|
#define RADIUS_ATTR_Vendor_Specific 26
|
|
#define RADIUS_ATTR_Session_Timeout 27
|
|
#define RADIUS_ATTR_Idle_Timeout 28
|
|
#define RADIUS_ATTR_Termination_Action 29
|
|
|
|
#define RADIUS_ATTR_Called_Station_Id 30
|
|
#define RADIUS_ATTR_Calling_Station_Id 31
|
|
#define RADIUS_ATTR_NAS_Identifier 32
|
|
#define RADIUS_ATTR_Proxy_State 33
|
|
#define RADIUS_ATTR_Login_LAT_Service 34
|
|
#define RADIUS_ATTR_Login_LAT_Node 35
|
|
#define RADIUS_ATTR_Login_LAT_Group 36
|
|
#define RADIUS_ATTR_Framed_AppleTalk_Link 37
|
|
#define RADIUS_ATTR_Framed_AppleTalk_Network 38
|
|
#define RADIUS_ATTR_Framed_AppleTalk_Zone 39
|
|
|
|
#define RADIUS_ATTR_Acct_Status_Type 40
|
|
#define RADIUS_ATTR_Acct_Delay_Time 41
|
|
#define RADIUS_ATTR_Acct_Input_Octets 42
|
|
#define RADIUS_ATTR_Acct_Output_Octets 43
|
|
#define RADIUS_ATTR_Acct_Session_Id 44
|
|
#define RADIUS_ATTR_Acct_Authentic 45
|
|
#define RADIUS_ATTR_Acct_Session_Time 46
|
|
#define RADIUS_ATTR_Acct_Input_Packets 47
|
|
#define RADIUS_ATTR_Acct_Output_Packets 48
|
|
#define RADIUS_ATTR_Acct_Terminate_Cause 49
|
|
|
|
#define RADIUS_ATTR_Acct_Multi_Session_Id 50
|
|
#define RADIUS_ATTR_Acct_Link_Count 51
|
|
#define RADIUS_ATTR_Acct_Input_Gigawords 52
|
|
#define RADIUS_ATTR_Acct_Output_Gigawords 53
|
|
#define RADIUS_ATTR_unassigned_54 54
|
|
#define RADIUS_ATTR_Event_Timestamp 55
|
|
|
|
/* RADIUS VLAN attributes, RFC 4675 */
|
|
#define RADIUS_ATTR_Egress_VLANID 56
|
|
#define RADIUS_ATTR_Ingress_Filters 57
|
|
#define RADIUS_ATTR_Egress_VLAN_Name 58
|
|
#define RADIUS_ATTR_User_Priority_Table 59
|
|
|
|
#define RADIUS_ATTR_CHAP_Challenge 60
|
|
#define RADIUS_ATTR_NAS_Port_Type 61
|
|
#define RADIUS_ATTR_Port_Limit 62
|
|
#define RADIUS_ATTR_Login_LAT_Port 63
|
|
#define RADIUS_ATTR_Tunnel_Type 64
|
|
#define RADIUS_ATTR_Tunnel_Medium_Type 65
|
|
#define RADIUS_ATTR_Tunnel_Client_Endpoint 66
|
|
#define RADIUS_ATTR_Tunnel_Server_Endpoint 67
|
|
#define RADIUS_ATTR_Acct_Tunnel_Connection 68
|
|
#define RADIUS_ATTR_Tunnel_Password 69
|
|
|
|
#define RADIUS_ATTR_ARAP_Password 70
|
|
#define RADIUS_ATTR_ARAP_Features 71
|
|
#define RADIUS_ATTR_ARAP_Zone_Access 72
|
|
#define RADIUS_ATTR_ARAP_Security 73
|
|
#define RADIUS_ATTR_ARAP_Security_Data 74
|
|
#define RADIUS_ATTR_Password_Retry 75
|
|
#define RADIUS_ATTR_Prompt 76
|
|
#define RADIUS_ATTR_Connect_Info 77
|
|
#define RADIUS_ATTR_Configuration_Token 78
|
|
#define RADIUS_ATTR_EAP_Message 79
|
|
|
|
#define RADIUS_ATTR_Message_Authenticator 80
|
|
#define RADIUS_ATTR_Tunnel_Private_Group_ID 81
|
|
#define RADIUS_ATTR_Tunnel_Assignment_ID 82
|
|
#define RADIUS_ATTR_Tunnel_Preference 83
|
|
#define RADIUS_ATTR_ARAP_Challenge_Response 84
|
|
#define RADIUS_ATTR_Acct_Interim_Interval 85
|
|
#define RADIUS_ATTR_Acct_Tunnel_Packets_Lost 86
|
|
#define RADIUS_ATTR_NAS_Port_Id 87
|
|
#define RADIUS_ATTR_Framed_Pool 88
|
|
#define RADIUS_ATTR_unassigned_89 89
|
|
|
|
#define RADIUS_ATTR_Tunnel_Client_Auth_ID 90
|
|
#define RADIUS_ATTR_Tunnel_Server_Auth_ID 91
|
|
#define RADIUS_ATTR_NAS_IPv6_Address 95
|
|
#define RADIUS_ATTR_Framed_Interface_Id 96
|
|
#define RADIUS_ATTR_Framed_IPv6_Prefix 97
|
|
#define RADIUS_ATTR_Login_IPv6_Host 98
|
|
#define RADIUS_ATTR_Framed_IPv6_Route 99
|
|
#define RADIUS_ATTR_Framed_IPv6_Pool 100
|
|
|
|
/* other attribute constants */
|
|
#define RADIUS_TUNNEL_MEDIUM_TYPE_IPV4 1
|
|
|
|
/* RFC 3580, section 3.31, tunnel attribute constants */
|
|
#define RADIUS_TUNNEL_TYPE_VLAN 13
|
|
#define RADIUS_TUNNEL_MEDIUM_TYPE_8021X 802
|
|
|
|
#define DIAMETER_REAUTH_REQ_TYPE_AUTHORIZE_ONLY 0
|
|
#define DIAMETER_REAUTH_REQ_TYPE_AUTHORIZE_AUTHENTICATE 1
|
|
|
|
#define DIAMETER_REQ_TYPE_AUTHENTICATE_ONLY 1
|
|
#define DIAMETER_REQ_TYPE_AUTHORIZE_ONLY 2
|
|
#define DIAMETER_REQ_TYPE_AUTHORIZE_AUTHENTICATE 3
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* Service Type values
|
|
*===========================================================================
|
|
* Refer to RFC 4005, section 6.1
|
|
*/
|
|
|
|
#define SERVICE_TYPE_Login 1
|
|
#define SERVICE_TYPE_Framed 2
|
|
#define SERVICE_TYPE_Callback_Login 3
|
|
#define SERVICE_TYPE_Callback_Framed 4
|
|
#define SERVICE_TYPE_Outbound 5
|
|
#define SERVICE_TYPE_Administrative 6
|
|
#define SERVICE_TYPE_NAS_Prompt 7
|
|
#define SERVICE_TYPE_Authenticate_Only 8
|
|
#define SERVICE_TYPE_Callback_NAS_Prompt 9
|
|
#define SERVICE_TYPE_Call_Check 10
|
|
#define SERVICE_TYPE_Callback_Administrative 11
|
|
#define SERVICE_TYPE_Voice 12
|
|
#define SERVICE_TYPE_Fax 13
|
|
#define SERVICE_TYPE_Modem_Relay 14
|
|
#define SERVICE_TYPE_IAPP_Register 15
|
|
#define SERVICE_TYPE_IAPP_AP_Check 16
|
|
#define SERVICE_TYPE_Authorize_Only 17
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* Framed Compression values
|
|
*===========================================================================
|
|
* Refer to RFC 4005, section 6.10.4
|
|
*/
|
|
|
|
#define FRAMED_COMPRESSION_NONE 0
|
|
#define FRAMED_COMPRESSION_VJ 1
|
|
#define FRAMED_COMPRESSION_IPX 2
|
|
#define FRAMED_COMPRESSION_Stac_LZS 3
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* Framed Protocol values
|
|
*===========================================================================
|
|
* Refer to RFC 4005, section 6.10.1
|
|
*/
|
|
|
|
#define FRAMED_PROTOCOL_PPP 1
|
|
#define FRAMED_PROTOCOL_SLIP 2
|
|
#define FRAMED_PROTOCOL_ARAP 3
|
|
#define FRAMED_PROTOCOL_Gandalf 4
|
|
#define FRAMED_PROTOCOL_IPX 5
|
|
#define FRAMED_PROTOCOL_X75 6
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* Framed Routing values
|
|
*===========================================================================
|
|
* Refer to RFC 4005, section 6.10.2
|
|
*/
|
|
|
|
#define FRAMED_ROUTING_NONE 0
|
|
#define FRAMED_ROUTING_SEND 1
|
|
#define FRAMED_ROUTING_LST 2
|
|
#define FRAMED_ROUTING_SEND_LST 3
|
|
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* DIAMETER return codes
|
|
*===========================================================================
|
|
* Refer to RFC 3588, section 7.1
|
|
*/
|
|
|
|
/* Informational */
|
|
#define DIAMETER_MULTI_ROUND_AUTH 1001
|
|
|
|
/* Success */
|
|
#define DIAMETER_SUCCESS 2001
|
|
#define DIAMETER_LIMITED_SUCCESS 2002
|
|
|
|
/* Protocol Errors */
|
|
/* DIAMETER_COMMAND_UNSUPPORTED is redefined from
|
|
draft-ietf-dime-rfc3588bis-xx
|
|
#define DIAMETER_COMMAND_UNSUPPORTED 3001
|
|
*/
|
|
#define DIAMETER_UNABLE_TO_DELIVER 3002
|
|
#define DIAMETER_REALM_NOT_SERVED 3003
|
|
#define DIAMETER_TOO_BUSY 3004
|
|
#define DIAMETER_LOOP_DETECTED 3005
|
|
#define DIAMETER_REDIRECT_INDICATION 3006
|
|
#define DIAMETER_APPLICATION_UNSUPPORTED 3007
|
|
/* DIAMETER_INVALID_HDR_BITS, DIAMETER_INVALID_AVP_BITS, and
|
|
DIAMETER_UNKNOWN_PEER are redefined from
|
|
draft-ietf-dime-rfc3588bis-xx
|
|
#define DIAMETER_INVALID_HDR_BITS 3008
|
|
#define DIAMETER_INVALID_AVP_BITS 3009
|
|
#define DIAMETER_UNKNOWN_PEER 3010
|
|
*/
|
|
/* The following are added from draft-ietf-dime-rfc3588bis-xx */
|
|
#define DIAMETER_INVALID_BIT_IN_HEADER 3011
|
|
#define DIAMETER_INVALID_MESSAGE_LENGTH 3012
|
|
|
|
/* Transient Failures */
|
|
#define DIAMETER_AUTHENTICATION_REJECTED 4001
|
|
#define DIAMETER_OUT_OF_SPACE 4002
|
|
#define ELECTION_LOST 4003
|
|
|
|
/* Permanent Failures */
|
|
#define DIAMETER_AVP_UNSUPPORTED 5001
|
|
#define DIAMETER_UNKNOWN_SESSION_ID 5002
|
|
#define DIAMETER_AUTHORIZATION_REJECTED 5003
|
|
#define DIAMETER_INVALID_AVP_VALUE 5004
|
|
#define DIAMETER_MISSING_AVP 5005
|
|
#define DIAMETER_RESOURCES_EXCEEDED 5006
|
|
#define DIAMETER_CONTRADICTING_AVPS 5007
|
|
#define DIAMETER_AVP_NOT_ALLOWED 5008
|
|
#define DIAMETER_AVP_OCCURS_TOO_MANY_TIMES 5009
|
|
#define DIAMETER_NO_COMMON_APPLICATION 5010
|
|
#define DIAMETER_UNSUPPORTED_VERSION 5011
|
|
#define DIAMETER_UNABLE_TO_COMPLY 5012
|
|
/* DIAMETER_INVALID_BIT_IN_HEADER is redefined from
|
|
draft-ietf-dime-rfc3588bis-xx
|
|
#define DIAMETER_INVALID_BIT_IN_HEADER 5013
|
|
*/
|
|
#define DIAMETER_INVALID_AVP_LENGTH 5014
|
|
/* DIAMETER_INVALID_MESSAGE_LENGTH is redefined from
|
|
draft-ietf-dime-rfc3588bis-xx
|
|
#define DIAMETER_INVALID_MESSAGE_LENGTH 5015
|
|
*/
|
|
#define DIAMETER_INVALID_AVP_BIT_COMBO 5016
|
|
#define DIAMETER_NO_COMMON_SECURITY 5017
|
|
/* The following are added from draft-ietf-dime-rfc3588bis-xx */
|
|
#define DIAMETER_UNKNOWN_PEER 5018
|
|
#define DIAMETER_COMMAND_UNSUPPORTED 5019
|
|
#define DIAMETER_INVALID_HDR_BITS 5020
|
|
#define DIAMETER_INVALID_AVP_BITS 5021
|
|
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* C-API error values
|
|
*===========================================================================
|
|
*/
|
|
#define IPDIAMETER_ERROR_BASE 0
|
|
|
|
#define IPDIAMETER_ERR_UNSUPPORTED_TAG (IPDIAMETER_ERROR_BASE+0)
|
|
#define IPDIAMETER_ERR_UNKNOWN_PACKET_CODE (IPDIAMETER_ERROR_BASE+1)
|
|
#define IPDIAMETER_ERR_TOO_MANY_OUTSTANDING_REQUESTS (IPDIAMETER_ERROR_BASE+2)
|
|
#define IPDIAMETER_ERR_INVAL_PKT_ID (IPDIAMETER_ERROR_BASE+3)
|
|
#define IPDIAMETER_ERR_BAD_AUTHENTICATION (IPDIAMETER_ERROR_BASE+4)
|
|
#define IPDIAMETER_ERR_BAD_ATTRIBUTE (IPDIAMETER_ERROR_BASE+5)
|
|
#define IPDIAMETER_ERR_NO_SESSION (IPDIAMETER_ERROR_BASE+6)
|
|
#define IPDIAMETER_ERR_SECRET_TOO_LONG (IPDIAMETER_ERROR_BASE+7)
|
|
#define IPDIAMETER_ERR_INVAL_PWD_LEN (IPDIAMETER_ERROR_BASE+8)
|
|
#define IPDIAMETER_ERR_NO_SERVER_RESPONSE (IPDIAMETER_ERROR_BASE+9)
|
|
#define IPDIAMETER_ERR_INVAL_INTERIM_ACCT_INTERVAL (IPDIAMETER_ERROR_BASE+10)
|
|
#define IPDIAMETER_ERR_SECRET_TOO_SHORT (IPDIAMETER_ERROR_BASE+11)
|
|
#define IPDIAMETER_ERR_MISSING_CHAP_ATTR (IPDIAMETER_ERROR_BASE+12)
|
|
#define IPDIAMETER_ERR_INVAL_PWD_TYPE (IPDIAMETER_ERROR_BASE+13)
|
|
#define IPDIAMETER_ERR_NO_SERVER (IPDIAMETER_ERROR_BASE+14)
|
|
#define IPDIAMETER_ERR_DISCARDED_PACKET (IPDIAMETER_ERROR_BASE+15)
|
|
#define IPDIAMETER_ERR_DUPLICATE_INDEX (IPDIAMETER_ERROR_BASE+16)
|
|
#define IPDIAMETER_ERR_UNSUPPORTED_PACKET_CODE (IPDIAMETER_ERROR_BASE+17)
|
|
#define IPDIAMETER_ERR_CLOSED (IPDIAMETER_ERROR_BASE+18)
|
|
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* Diamter application event_callback() events
|
|
*===========================================================================
|
|
*/
|
|
|
|
#define IPDIAMETER_EVENT_ACCESS_ACCEPT 1 /* Received access accept. */
|
|
#define IPDIAMETER_EVENT_ACCESS_REJECT 2 /* Received access reject. */
|
|
#define IPDIAMETER_EVENT_ACCESS_CHALLENGE 3 /* Received access challenge. */
|
|
#define IPDIAMETER_EVENT_ACCOUNTING_RESPONSE 4 /* Received accounting response. */
|
|
#define IPDIAMETER_EVENT_ACCESS_TIMEOUT 5 /* Access request timeout. */
|
|
#define IPDIAMETER_EVENT_ACCESS_CANCELLED 6 /* Access request was cancelled. */
|
|
#define IPDIAMETER_EVENT_ACCOUNTING_TIMEOUT 7 /* Accounting request timeout. */
|
|
#define IPDIAMETER_EVENT_ACCOUNTING_CANCELLED 8 /* Accounting request was cancelled. */
|
|
#define IPDIAMETER_EVENT_ACCOUNTING_REQUEST 9 /* Sending accounting request. */
|
|
#define IPDIAMETER_EVENT_USER_DISCON 10 /* Disconnect user/device */
|
|
#define IPDIAMETER_EVENT_ASR 11 /* Received abort session req */
|
|
#define IPDIAMETER_EVENT_SESSION_DISCON 12 /* Session disconnected */
|
|
#define IPDIAMETER_EVENT_SESSION_DEL 13 /* Session deleted */
|
|
#define IPDIAMETER_EVENT_RAR 14 /* Received re-auth-req */
|
|
|
|
|
|
#endif /* #ifndef IPDIAMETER__CONSTANT_H */
|
|
|
|
/*
|
|
****************************************************************************
|
|
* END OF FILE
|
|
****************************************************************************
|
|
*/
|
|
|