-- ****************************************************************************
--  ALVARION-USER-ACCOUNT-MIB definitions
--
--  Copyright (c) 2007, Alvarion, Inc.
--  All Rights Reserved.
--
--  Alvarion User Account file.
--
-- ****************************************************************************


ALVARION-USER-ACCOUNT-MIB DEFINITIONS ::= BEGIN

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


alvarionUserAccountMIB 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 User Account MIB."

    ::= { alvarionMgmtV2 35 }


-- alvarionUserAccountMIB definition
alvarionUserAccountMIBObjects OBJECT IDENTIFIER ::= { alvarionUserAccountMIB 1 }

-- alvarion User Account groups
coUserAccountStatusGroup    OBJECT IDENTIFIER ::= { alvarionUserAccountMIBObjects 1 }

-- The User Account Status Group
coUserAccountStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CoUserAccountStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "User account attributes."
    ::= { coUserAccountStatusGroup 1 }

coUserAccountStatusEntry OBJECT-TYPE
    SYNTAX      CoUserAccountStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An entry in the coUserAccountStatusTable.
                 coUserAccIndex - Uniquely identifies a user account on
                                  the MultiService Controller."
    INDEX       { coUserAccIndex }
    ::= { coUserAccountStatusTable 1 }

CoUserAccountStatusEntry ::= SEQUENCE
{
    coUserAccIndex                 Integer32,
    coUserAccUserName              DisplayString,
    coUserAccPlanName              DisplayString,
    coUserAccRemainingOnlineTime   Integer32,
    coUserAccFirstLoginTime        DisplayString,
    coUserAccRemainingSessionTime  Integer32,
    coUserAccStatus                INTEGER,
    coUserAccExpirationTime        DisplayString
}

coUserAccIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Specifies the index of the user account."
    ::= { coUserAccountStatusEntry 1 }

coUserAccUserName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "User name corresponding to the user account."
    ::= { coUserAccountStatusEntry 2 }

coUserAccPlanName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The name of the subscription plan name associated to
                 this account."
    ::= { coUserAccountStatusEntry 3 }

coUserAccRemainingOnlineTime OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The online remaining time for this account."
    ::= { coUserAccountStatusEntry 4 }

coUserAccFirstLoginTime OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "First login time recorded for this account."
    ::= { coUserAccountStatusEntry 5 }

coUserAccRemainingSessionTime OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Time before next logout."
    ::= { coUserAccountStatusEntry 6 }

coUserAccStatus OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    valid(1),
                    invalid(2)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current Status of the user account based on the rules
                 defined in the subscription plan."
    ::= { coUserAccountStatusEntry 7 }

coUserAccExpirationTime OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "This field include the Date and time of the account
                 expiration based on the subscription plan."
    ::= { coUserAccountStatusEntry 8 }


-- User Account notifications
alvarionUserAccountMIBNotificationPrefix OBJECT IDENTIFIER ::= { alvarionUserAccountMIB 2 }
alvarionUserAccountMIBNotifications OBJECT IDENTIFIER ::= { alvarionUserAccountMIBNotificationPrefix 0 }


-- conformance information
alvarionUserAccountMIBConformance OBJECT IDENTIFIER ::= { alvarionUserAccountMIB 3 }
alvarionUserAccountMIBCompliances OBJECT IDENTIFIER ::= { alvarionUserAccountMIBConformance 1 }
alvarionUserAccountMIBGroups      OBJECT IDENTIFIER ::= { alvarionUserAccountMIBConformance 2 }


-- compliance statements
alvarionUserAccountMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION "The compliance statement for the User Account MIB."
    MODULE      MANDATORY-GROUPS
                    {
                        alvarionUserAccountStatusMIBGroup
                    }
    ::= { alvarionUserAccountMIBCompliances 1 }

-- units of conformance
alvarionUserAccountStatusMIBGroup OBJECT-GROUP
    OBJECTS     {
                    coUserAccUserName,
                    coUserAccPlanName,
                    coUserAccRemainingOnlineTime,
                    coUserAccFirstLoginTime,
                    coUserAccRemainingSessionTime,
                    coUserAccStatus,
                    coUserAccExpirationTime
                }
    STATUS      current
    DESCRIPTION "A collection of objects for User Account status."
    ::= { alvarionUserAccountMIBGroups 1 }

END
