ZTE-AN-ACCESS-CTRL-RADIUS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32     FROM SNMPv2-SMI
        RowStatus,DisplayString,
        TEXTUAL-CONVENTION                          FROM SNMPv2-TC
        InetAddress,InetAddressType                 FROM INET-ADDRESS-MIB
        zxAn                                        FROM ZTE-AN-TC-MIB;

    zxAnAccessCtrlRadiusMib MODULE-IDENTITY
        LAST-UPDATED    "201211071000Z"
        ORGANIZATION    "ZTE Corporation"
        CONTACT-INFO    "ZTE shanghai software development dept.III
                         Zhang Jianjun  021-68897226 "
        DESCRIPTION     "This MIB defines managed objects of ZTE RADIUS 
                         management."
        REVISION        "201211071000Z"    -- November 07, 2012 at 10:00 GMT
        DESCRIPTION     "Initial version of this MIB module."
        ::= {zxAn 91}
     
    zxAnRadiusGlobalObjects      
                             OBJECT IDENTIFIER ::= { zxAnAccessCtrlRadiusMib 1 }
    zxAnRadiusAuthenticationObjects  
                             OBJECT IDENTIFIER ::= { zxAnAccessCtrlRadiusMib 2 }
    zxAnRadiusAccountingObjects      
                             OBJECT IDENTIFIER ::= { zxAnAccessCtrlRadiusMib 3 }
  
--------------------------------------------------------------------------
-- Following objects are defined.
-- 1.  RADIUS Global Objects
-- 2.  RADIUS Authentication Objects
-- 2.1 RADIUS Authentication Global Objects
-- 2.2 RADIUS Authentication Group
-- 2.3 RADIUS Authentication Server Group
-- 3.  RADIUS Accounting Objects
-- 3.1 RADIUS Accounting Global Objects
-- 3.2 RADIUS Accounting Group
-- 3.3 RADIUS Accounting Server Group
--------------------------------------------------------------------------  

--------------------------------------------------------------------------
-- 1.  RADIUS Global Objects 
--------------------------------------------------------------------------
    
    zxAnRadiusVendorIdEnable OBJECT-TYPE 
        SYNTAX      INTEGER  
        { 
            enabled(1), 
            disabled(2) 
        } 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "Enable or disable RADIUS vendor ID function."
        DEFVAL { disabled }
        ::=  {  zxAnRadiusGlobalObjects  1  }   
              
--------------------------------------------------------------------------
-- 2.  RADIUS Authentication Objects
--------------------------------------------------------------------------

--------------------------------------------------------------------------
-- 2.1 RADIUS Authentication Global Objects
--------------------------------------------------------------------------

--------------------------------------------------------------------------
-- 2.2 RADIUS Authentication Group
--------------------------------------------------------------------------
    
    zxAnRadiusAuthenGroup  OBJECT IDENTIFIER 
                           ::= { zxAnRadiusAuthenticationObjects 2 }
    
    zxAnRadiusAuthenGroupTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnRadiusAuthenGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION  
            "Radius authentication group table."
        ::= { zxAnRadiusAuthenGroup 2 }

    zxAnRadiusAuthenGroupEntry  OBJECT-TYPE
        SYNTAX      ZxAnRadiusAuthenGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Radius authentication group table entry."
        INDEX  
        { 
            zxAnRadiusAuthenGroupId 
        }
        ::=    { zxAnRadiusAuthenGroupTable 1 }
        
    ZxAnRadiusAuthenGroupEntry ::= SEQUENCE {
        zxAnRadiusAuthenGroupId                  Integer32,
        zxAnRadiusAuthenGroupAlgorithm           INTEGER,
        zxAnRadiusAuthenGroupDeadTime            Integer32,
        zxAnRadiusAuthenGroupRetries             Integer32,
        zxAnRadiusAuthenGroupTimeout             Integer32,
        zxAnRadiusAuthenGroupRowStatus           RowStatus
        }
    
    zxAnRadiusAuthenGroupId   OBJECT-TYPE
        SYNTAX      Integer32(1..10)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The RADIUS authentication group ID."
        ::= { zxAnRadiusAuthenGroupEntry 1 }
        
    zxAnRadiusAuthenGroupAlgorithm  OBJECT-TYPE
        SYNTAX      INTEGER  
        { 
            masterBackup(1), 
            roundRobin(2) 
        } 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The RADIUS authentication server group algorithm.
             masterBackup(1): Use the first RADIUS server as master server and 
                              others as backup server.
             roundRobin(2): Query RADIUS servers in the group with round-robin 
                            scheduling."
        DEFVAL { masterBackup }
        ::= { zxAnRadiusAuthenGroupEntry 2 }
        
    zxAnRadiusAuthenGroupDeadTime  OBJECT-TYPE
        SYNTAX      Integer32(0..65535)
        UNITS       "minutes" 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates the length of time in minutes that the system will mark 
             the server dead when a RADIUS server does not respond to an 
             authentication request. During the interval of the dead time, any 
             authentication request that comes up would not be sent to that 
             RADIUS server that was marked as dead. 
             Value 0 means that the RADIUS servers will not be marked dead if 
             they do not respond."
        DEFVAL { 5 }
        ::= { zxAnRadiusAuthenGroupEntry 3 }
        
    zxAnRadiusAuthenGroupRetries  OBJECT-TYPE
        SYNTAX      Integer32(1..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The additional number of times the RADIUS server should be tried 
             by the RADIUS client before giving up on the server."
        DEFVAL { 3 }
        ::= { zxAnRadiusAuthenGroupEntry 4 }
        
    zxAnRadiusAuthenGroupTimeout  OBJECT-TYPE
        SYNTAX      Integer32(1..255)
        UNITS       "seconds"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The RADIUS server time-out in seconds."
        DEFVAL { 3 }
        ::= { zxAnRadiusAuthenGroupEntry 5 }

    zxAnRadiusAuthenGroupRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnRadiusAuthenGroupEntry.
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1)."
        ::= { zxAnRadiusAuthenGroupEntry 50 }     
            

--------------------------------------------------------------------------
-- 2.3 RADIUS Authentication Server Group
--------------------------------------------------------------------------

    zxAnRadiusAuthenSvrGroupTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnRadiusAuthenSvrGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "RADIUS authentication server group table."
        ::= { zxAnRadiusAuthenGroup 3 }

    zxAnRadiusAuthenSvrGroupEntry  OBJECT-TYPE
        SYNTAX      ZxAnRadiusAuthenSvrGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "RADIUS authentication server group table entry."
        INDEX  
        { 
            zxAnRadiusAuthenGroupId, 
            zxAnRadiusAuthenSvrGrpSvrId
        }
        ::= { zxAnRadiusAuthenSvrGroupTable 1 }
        
    ZxAnRadiusAuthenSvrGroupEntry ::= SEQUENCE {
        zxAnRadiusAuthenSvrGrpSvrId                  Integer32,
        zxAnRadiusAuthenSvrGrpSvrIpType              InetAddressType,
        zxAnRadiusAuthenSvrGrpSvrIpAddr              InetAddress,        
        zxAnRadiusAuthenSvrGrpSvrPort                Integer32,
        zxAnRadiusAuthenSvrGrpSvrKey                 DisplayString,
        zxAnRadiusAuthenSvrGrpRowStatus              RowStatus
        }
        
    zxAnRadiusAuthenSvrGrpSvrId  OBJECT-TYPE
        SYNTAX      Integer32(1..4)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The RADIUS authentication server ID."
        ::= { zxAnRadiusAuthenSvrGroupEntry 1 }
        
    zxAnRadiusAuthenSvrGrpSvrIpType  OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The RADIUS authentication server IP address type."
        ::= { zxAnRadiusAuthenSvrGroupEntry 2 }
        
    zxAnRadiusAuthenSvrGrpSvrIpAddr   OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The RADIUS authentication server IP address."
        ::= { zxAnRadiusAuthenSvrGroupEntry 3 }

    zxAnRadiusAuthenSvrGrpSvrPort  OBJECT-TYPE
        SYNTAX      Integer32(1025..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This is the destination port number to which RADIUS authentication 
             messages should be sent."
        DEFVAL { 1812 }
        ::= { zxAnRadiusAuthenSvrGroupEntry 4 }
        
    zxAnRadiusAuthenSvrGrpSvrKey  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(1..32))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The key used in encrypting the packets passed between the RADIUS 
             server and the client. This key must match the one configured on 
             the server.
 
             A zero-length string is always returned when this object is read."
        ::= { zxAnRadiusAuthenSvrGroupEntry 5 }
        
    zxAnRadiusAuthenSvrGrpRowStatus   OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnRadiusAuthenSvrGroupEntry.
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1)."
        ::= { zxAnRadiusAuthenSvrGroupEntry 50 }  

--------------------------------------------------------------------------
-- 3.  RADIUS Accounting Objects
--------------------------------------------------------------------------

--------------------------------------------------------------------------
-- 3.1 RADIUS Accounting Global Objects
--------------------------------------------------------------------------

--------------------------------------------------------------------------
-- 3.2 RADIUS Accounting Group
--------------------------------------------------------------------------

    zxAnRadiusAccountGroup  OBJECT IDENTIFIER 
                           ::= { zxAnRadiusAccountingObjects 2 }
                           
    zxAnRadiusAccountGroupTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnRadiusAccountGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "RADIUS accounting group table."
        ::= { zxAnRadiusAccountGroup 2 }

    zxAnRadiusAccountGroupEntry  OBJECT-TYPE
        SYNTAX      ZxAnRadiusAccountGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "RADIUS accounting group table entry."
        INDEX  
        { 
            zxAnRadiusAccountGroupId 
        }
        ::= { zxAnRadiusAccountGroupTable 1 }
        
    ZxAnRadiusAccountGroupEntry ::= SEQUENCE {
        zxAnRadiusAccountGroupId                    Integer32,
        zxAnRadiusAccountGroupAlgorithm             INTEGER,
        zxAnRadiusAccountGroupDeadTime              Integer32,
        zxAnRadiusAccountGroupBufferEn              INTEGER,
        zxAnRadiusAccountGroupRetries               Integer32,
        zxAnRadiusAccountGroupTimeout               Integer32,
        zxAnRadiusAccountGroupRowStatus             RowStatus
        }
    
    zxAnRadiusAccountGroupId    OBJECT-TYPE
        SYNTAX      Integer32(1)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The RADIUS accounting group ID."
        ::= { zxAnRadiusAccountGroupEntry 1 }
        
    zxAnRadiusAccountGroupAlgorithm  OBJECT-TYPE
        SYNTAX      INTEGER  
        { 
            masterBackup(1), 
            roundrobin(2)
        } 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The RADIUS authentication server group algorithm.
             masterBackup(1): Use the first RADIUS server as master server and 
                              others as backup server.
             roundrobin(2): Query RADIUS servers in the group with round-robin 
                            scheduling."
        DEFVAL { masterBackup }
        ::= { zxAnRadiusAccountGroupEntry 2 }
        
    zxAnRadiusAccountGroupDeadTime  OBJECT-TYPE
        SYNTAX      Integer32(0..65535)
        UNITS       "minutes"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates the length of time in minutes that the system will mark 
             the server dead when a RADIUS server does not respond to an 
             authentication request. During the interval of the dead time, any 
             authentication request that comes up would not be sent to that 
             RADIUS server that was marked as dead. 
             Value 0 means that the RADIUS servers will not be marked dead if 
             they do not respond."
        DEFVAL { 5 }
        ::= { zxAnRadiusAccountGroupEntry 3 }
        
    zxAnRadiusAccountGroupBufferEn  OBJECT-TYPE
        SYNTAX      INTEGER  
        { 
            enabled(1), 
            disabled(2) 
        }  
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Enable or disable RADIUS accounting buffer."
        DEFVAL { disabled }
        ::= { zxAnRadiusAccountGroupEntry 4 }
        
    zxAnRadiusAccountGroupRetries  OBJECT-TYPE
        SYNTAX      Integer32(1..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The additional number of times the RADIUS server should be tried by
             the RADIUS client before giving up on the server."
        DEFVAL { 3 }
        ::= { zxAnRadiusAccountGroupEntry 5 }
        
    zxAnRadiusAccountGroupTimeout  OBJECT-TYPE
        SYNTAX      Integer32(1..255)
        UNITS       "seconds"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The RADIUS server time-out in seconds."
        DEFVAL { 3 }
        ::= { zxAnRadiusAccountGroupEntry 6 }
        
    zxAnRadiusAccountGroupRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnRadiusAccountGroupEntry.
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1)."
        ::= { zxAnRadiusAccountGroupEntry 50 }     
                
--------------------------------------------------------------------------
-- 3.3 RADIUS Accounting Server Group
--------------------------------------------------------------------------

    zxAnRadiusAccountSvrGroupTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnRadiusAccountSvrGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "RADIUS accounting server group table."
        ::= { zxAnRadiusAccountGroup 3 }

    zxAnRadiusAccountSvrGroupEntry  OBJECT-TYPE
        SYNTAX      ZxAnRadiusAccountSvrGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "RADIUS accounting server group table entry."
        INDEX  
        { 
            zxAnRadiusAccountGroupId,
            zxAnRadiusAccountSvrGrpSvrId 
        }
        ::= { zxAnRadiusAccountSvrGroupTable 1 }
        
    ZxAnRadiusAccountSvrGroupEntry ::= SEQUENCE {
        zxAnRadiusAccountSvrGrpSvrId              Integer32,
        zxAnRadiusAccountSvrGrpSvrIpType          InetAddressType,
        zxAnRadiusAccountSvrGrpSvrIpAddr          InetAddress,        
        zxAnRadiusAccountSvrGrpSvrPort            Integer32,
        zxAnRadiusAccountSvrGrpSvrKey             DisplayString,
        zxAnRadiusAccountSvrGrpRowStatus          RowStatus
        }
    
    zxAnRadiusAccountSvrGrpSvrId  OBJECT-TYPE
        SYNTAX      Integer32(1..4)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The RADIUS accounting server ID."
        ::= { zxAnRadiusAccountSvrGroupEntry 1 }
        
    zxAnRadiusAccountSvrGrpSvrIpType  OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The RADIUS accounting server IP address type."
        ::= { zxAnRadiusAccountSvrGroupEntry 2 }
        
    zxAnRadiusAccountSvrGrpSvrIpAddr  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The RADIUS accounting server IP address."
        ::= { zxAnRadiusAccountSvrGroupEntry 3 }
        
    zxAnRadiusAccountSvrGrpSvrPort  OBJECT-TYPE
        SYNTAX      Integer32(1025..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This is the destination port number to which RADIUS accounting
             messages should be sent. "
        DEFVAL { 1812 }
        ::= { zxAnRadiusAccountSvrGroupEntry 4 }
        
    zxAnRadiusAccountSvrGrpSvrKey  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(1..32))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The key used in encrypting the packets passed between the RADIUS 
             server and the client. This key must match the one configured on 
             the server.
 
             A zero-length string is always returned when this object is read."
        ::= { zxAnRadiusAccountSvrGroupEntry 5 }
        
    zxAnRadiusAccountSvrGrpRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnRadiusAccountSvrGroupEntry.
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1)."
        ::= { zxAnRadiusAccountSvrGroupEntry 50 } 

END
