-- ****************************************************************************
--  ALVARION-AAA-CLIENT-MIB definitions
--
--  Copyright (c) 2007, Alvarion Ltd.
--  All Rights Reserved.
--
--  Alvarion AAA Client MIB file.
--
-- ****************************************************************************


ALVARION-AAA-CLIENT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32
        FROM    SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM    SNMPv2-CONF
    DisplayString
        FROM    SNMPv2-TC
    alvarionMgmtV2
        FROM    ALVARION-SMI
    AlvarionProfileIndex, AlvarionServerIndex, AlvarionServerIndexOrZero
        FROM    ALVARION-TC
;


alvarionAAAClientMIB MODULE-IDENTITY
    LAST-UPDATED    "200710310000Z"
    ORGANIZATION    "Alvarion Ltd."
    CONTACT-INFO    "Alvarion Ltd.
                     Postal: 21a HaBarzel St.
                             P.O. Box 13139
                             Tel-Aviv 69710
                             Israel
                     Phone:  +972 3 645 6262"
    DESCRIPTION     "Alvarion AAA Client MIB file."

    ::= { alvarionMgmtV2 5 }


-- alvarionAAAClientObjects definition
alvarionAAAClientObjects OBJECT IDENTIFIER ::= { alvarionAAAClientMIB 1 }

-- alvarion AAA groups
alvarionAAAProfileGroup  OBJECT IDENTIFIER ::= { alvarionAAAClientObjects 1 }
alvarionAAAServerGroup   OBJECT IDENTIFIER ::= { alvarionAAAClientObjects 2 }

-- AAA profile group
alvarionAAAProfileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AlvarionAAAProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table defining the AAA server profiles currently configured
                 on the device."
    ::= { alvarionAAAProfileGroup 1 }

alvarionAAAProfileEntry OBJECT-TYPE
    SYNTAX      AlvarionAAAProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A AAA server profile configured in the device.
                 alvarionAAAProfileIndex - Uniquely identifies the profile
                                           within the profile table."
    INDEX       { alvarionAAAProfileIndex }
    ::= { alvarionAAAProfileTable 1 }

AlvarionAAAProfileEntry ::= SEQUENCE
{
    alvarionAAAProfileIndex                 AlvarionProfileIndex,
    alvarionAAAProfileName                  DisplayString,
    alvarionAAAProfilePrimaryServerIndex    AlvarionServerIndexOrZero,
    alvarionAAAProfileSecondaryServerIndex  AlvarionServerIndexOrZero
}

alvarionAAAProfileIndex OBJECT-TYPE
    SYNTAX      AlvarionProfileIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Specifies the index of the AAA server profile."
    ::= { alvarionAAAProfileEntry 1 }

alvarionAAAProfileName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the name of the AAA server profile."
    ::= { alvarionAAAProfileEntry 2 }

alvarionAAAProfilePrimaryServerIndex OBJECT-TYPE
    SYNTAX      AlvarionServerIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates the index number of the primary server profile in the table.
                 A value of zero indicates that no AAA server is defined."
    ::= { alvarionAAAProfileEntry 3 }

alvarionAAAProfileSecondaryServerIndex OBJECT-TYPE
    SYNTAX      AlvarionServerIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates the index number of the secondary server profile in the table.
                 A value of zero indicates that no AAA server is defined."
    ::= { alvarionAAAProfileEntry 4 }

-- AAA server table
alvarionAAAServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AlvarionAAAServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table containing the AAA servers currently configured on the
                 device."
    ::= { alvarionAAAServerGroup 1 }

alvarionAAAServerEntry OBJECT-TYPE
    SYNTAX      AlvarionAAAServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An AAA server configured on the device.
                 alvarionAAAServerIndex - Uniquely identifies a server inside
                                          the server table."
    INDEX       { alvarionAAAServerIndex }
    ::=   { alvarionAAAServerTable 1 }

AlvarionAAAServerEntry ::= SEQUENCE
{
    alvarionAAAServerIndex          AlvarionServerIndex,
    alvarionAAAAuthenProtocol       INTEGER,
    alvarionAAAAuthenMethod         INTEGER,
    alvarionAAAServerName           OCTET STRING,
    alvarionAAASharedSecret         DisplayString,
    alvarionAAAAuthenticationPort   Integer32,
    alvarionAAAAccountingPort       Integer32,
    alvarionAAATimeout              Integer32,
    alvarionAAANASId                OCTET STRING
}

alvarionAAAServerIndex OBJECT-TYPE
    SYNTAX      AlvarionServerIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Specifies the index of the AAA server in the table."
    ::= { alvarionAAAServerEntry 1 }

alvarionAAAAuthenProtocol OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    radius(1)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates the protocol used by the AAA client to communicate
                 with the AAA server."
    ::= { alvarionAAAServerEntry 2 }

alvarionAAAAuthenMethod OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    pap(1),
                    chap(2),
                    mschap(3),
                    mschapv2(4),
                    eapMd5(5)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates the authentication method used by the AAA client
                 to authenticate users via the AAA server."
    ::= { alvarionAAAServerEntry 3 }

alvarionAAAServerName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..15))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the IP address of the AAA server. The string 
                 must be a valid IP address in the format 'nnn.nnn.nnn.nnn'
                 Where 'nnn' is a number in the range [0..255]. The '.' 
                 character is mandatory between the fields."
    ::= { alvarionAAAServerEntry 4 }

alvarionAAASharedSecret OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the shared secret used by the AAA client and 
                 the AAA server. This attribute should only be set if AAA 
                 traffic between the AAA client and server is sent through
                 a VPN tunnel. Reading this attribute will always return 
                 a zero-length string."
    ::= { alvarionAAAServerEntry 5 }

alvarionAAAAuthenticationPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates the port number used by the AAA client to send
                 authentication requests to the AAA server."
    ::= { alvarionAAAServerEntry 6 }

alvarionAAAAccountingPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates the port number used by the AAA client to send
                 accounting information to the AAA server."
    ::= { alvarionAAAServerEntry 7 }

alvarionAAATimeout OBJECT-TYPE
    SYNTAX      Integer32 (3..100)
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates how long the AAA client will wait for an answer
                 to an authentication request."
    ::= { alvarionAAAServerEntry 8 }
            
alvarionAAANASId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..253))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates the network access server ID to be sent by the
                 AAA client in each authentication request sent to the 
                 AAA server."
    ::= { alvarionAAAServerEntry 9 }

-- conformance information
alvarionAAAClientMIBConformance OBJECT IDENTIFIER ::= { alvarionAAAClientMIB 2 }
alvarionAAAClientMIBCompliances OBJECT IDENTIFIER ::= { alvarionAAAClientMIBConformance 1 }
alvarionAAAClientMIBGroups      OBJECT IDENTIFIER ::= { alvarionAAAClientMIBConformance 2 }

-- compliance statements     
alvarionAAAClientMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION "The compliance statement for entities which implement
                 the Alvarion AAA client MIB."
    MODULE      MANDATORY-GROUPS
                    {
                        alvarionAAAProfileMIBGroup,
                        alvarionAAAClientMIBGroup
                    }
    ::= { alvarionAAAClientMIBCompliances 1 }

-- units of conformance
alvarionAAAProfileMIBGroup OBJECT-GROUP
    OBJECTS     {
                    alvarionAAAProfileName,
                    alvarionAAAProfilePrimaryServerIndex,
                    alvarionAAAProfileSecondaryServerIndex
                }
    STATUS      current
    DESCRIPTION "A collection of objects providing the AAA profile capability."
    ::= { alvarionAAAClientMIBGroups 1 }

alvarionAAAClientMIBGroup OBJECT-GROUP
    OBJECTS     {
                    alvarionAAAAuthenProtocol,
                    alvarionAAAAuthenMethod,
                    alvarionAAAServerName,
                    alvarionAAASharedSecret,
                    alvarionAAAAuthenticationPort,
                    alvarionAAAAccountingPort,
                    alvarionAAATimeout,
                    alvarionAAANASId
                }
    STATUS      current
    DESCRIPTION "A collection of objects providing the AAA client MIB
                 capability."
    ::= { alvarionAAAClientMIBGroups 2 }

END
