-- This file is corresponding to Release 9.1.10.101 from 2014/08/11 00:00:00


---------------------------------------------------------------------------
-- (C)opyright 2004-2014 bintec elmeg GmbH
-- $RCSfile: mib-admin,v $
-- $Revision: 1.17 $
-- $Date: 2014-02-07 10:37:49 $
-- Author: stefans
---------------------------------------------------------------------------

BINTEC-ADMIN-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, Unsigned32, Counter32, Counter64, IpAddress, TimeTicks,
    mib-2, enterprises
        FROM SNMPv2-SMI

    DisplayString, TimeStamp, TruthValue
        FROM SNMPv2-TC

    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF

    Date, admin-2
        FROM BINTEC-MIB;

-- This MIB file contains various administration MIBs
--  group snmp:           snmpAdmin
--  group administration: httpAdmin, httpAdminStat
-- 

---------------------------------------------------------------------------
--  snmpAdmin MIB

snmpAdminMIB MODULE-IDENTITY
    LAST-UPDATED "201301120000Z"
    ORGANIZATION "bintec elmeg GmbH"
    CONTACT-INFO
            "EMail:   info@bintec-elmeg.com
	     Web:     www.bintec-elmeg.com
	    "
    DESCRIPTION
            "The MIB module for administration entities.
            "
    REVISION      "200606290000Z"
    DESCRIPTION
            "Initial version." 

    ::= { admin-2 3 }


httpAdminMIB OBJECT IDENTIFIER 
    ::= { admin-2 5 }

---------------------------------------------------------------------------
-- start: snmpAdmin
--        SNMP agent configuration

snmpAdmin OBJECT IDENTIFIER ::= { snmpAdminMIB 1 }
http      OBJECT IDENTIFIER ::= { snmpAdminMIB 2 }

    snmpAdminVersion  OBJECT-TYPE
	SYNTAX      BITS 	{ v1(0), v2c(1), v3(2) }
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "This bitfield enables the active SNMP versions:
		v1  : SNMP V1
		v2c : SNMP V2c  (community, like v1 but with Counter64)
		v3  : SNMP V3 
	    ."
	DEFVAL { { v1, v2c, v3 } }
    ::= { snmpAdmin 1 }

    snmpAdminPort   OBJECT-TYPE
	SYNTAX      INTEGER (0 .. 65535)
	MAX-ACCESS  read-write
	STATUS      current

	DESCRIPTION
	    "SNMP listen port."
	DEFVAL { 161 }
    ::= { snmpAdmin 2 }

    snmpAdminTrapPort  OBJECT-TYPE
	SYNTAX      INTEGER (0 .. 65535)
	MAX-ACCESS  read-write
	STATUS      current

	DESCRIPTION
	    "SNMP trap port."
	DEFVAL { 162 }
    ::= { snmpAdmin 3 }

    snmpAdminTrapCommunity  OBJECT-TYPE
	SYNTAX      DisplayString (SIZE (0..255))
	MAX-ACCESS  read-write
	STATUS      current

	DESCRIPTION
	    "Community name for sending traps."
	DEFVAL { "snmp-Trap" }
    ::= { snmpAdmin 4 }

    snmpAdminTrapBrdCast  OBJECT-TYPE
	SYNTAX      INTEGER { on(1), off(2) }
	MAX-ACCESS  read-write
	STATUS      current

	DESCRIPTION
	    "Enable/disable trap broadcasting."
	DEFVAL { off }
    ::= { snmpAdmin 5 }

    snmpAdminPrivIndex  OBJECT-TYPE
	SYNTAX      INTEGER    { auto(1), auto-nopriv(2), always(3), never(4) }
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "This enables or disables the handling of the private OID part (.i):
		auto    : the private OID part is appended automatically
			  - depending on community name
			     the private OID part is appended, if:
				- the community is appended with '+i' or with ''
			     the private OID part is not appended, if:
				- the community is appended with '-i'
			  the default is to append the private OID index

		auto_nopriv: the private OID part is appended automatically
		             like 'auto', but the default is not to add the 
			     index
	        both auto settings consider special marked tables 
		(STDINDEX, EXTINDEX)

		always  : the private OID part is always appended
			  (this was the default on former version)

		never   : the private OID part is never appended

	      Usually the OIDs have the format:
		    .1.3.6.x.x   .y.y .i
						 
		.1.3.6.x.x: is the constant part of the OID of the
			    variable specified in MIB-source
		.y.y      : is the specific part of the OID to identify
			    exactly a row.
			    It is the content of all index variables.
		.i        : is a consecutively incremented index number, 
			    to distinguish rows with identical index variables
	    "
	DEFVAL { auto }
    ::= { snmpAdmin 6 }

    snmpAdminGetOrder  OBJECT-TYPE
	SYNTAX      INTEGER    { normal(1), sorted(2) }
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "This the handling of the private OID part (.i):
		normal   : the GetNext returns the next object like stored in 
			   internal database.
		sorted   : the GetNext return the next object sorted according
			   to the index values (RFC-1157)
	    "

	DEFVAL { normal }
    ::= { snmpAdmin 7 }


    snmpAdminLinkTrapEvent  OBJECT-TYPE
	SYNTAX      INTEGER    { none(1), any(2), up(3), down(4) }
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "Defines the ifOperStatus transition(s) of an ifTable object
	     that generates a SNMP linkUp/linkDown trap:

	       none : disable linkUp/linkDown trap generation.

	       any  : enable bintec like trap generation.
		      - entering the up state generates a up trap
		      - any other state change generates a down trap

	       up   : enable rfc1157 like trap generation.
		      - entering the up state generates a up trap
		      - leaving the up state generates a down trap

	       down : enable rfc2233 like trap generation.
		      - leaving the down state generates a up trap
		      - entering the down state generates a down trap

	     Seven parameters are sent in each linkUp/linkDown trap pdu:
	       1. ifEntry.ifIndex       (mandatory for linkUp/Down traps)
	       2. ifEntry.ifDescr
	       3. ifEntry.ifType
	       4. ifEntry.ifAdminStatus
	       5. ifEntry.ifOperStatus
	       6. system.Description
	       7. system.Name
	    "
	DEFVAL { up }
    ::= { snmpAdmin 8 }

    snmpAdminMcDiscovery  OBJECT-TYPE
	SYNTAX      INTEGER    { enabled(1), disabled(2) }
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "Defines whether Multicast SNMP discovery is enabled or not."
	DEFVAL { enabled }
    ::= { snmpAdmin 9 }


-- end: snmpAdmin

---------------------------------------------------------------------------
--  httpAdmin 
---------------------------------------------------------------------------

httpAdmin OBJECT IDENTIFIER ::= { httpAdminMIB 1 }

--    httpAdminPort   OBJECT-TYPE
--	SYNTAX      INTEGER (0 .. 65535)
--	MAX-ACCESS  read-write
--	STATUS      current
--	DESCRIPTION
--	    "HTTP server port."
--	DEFVAL { 80 }
--   ::= { httpAdmin 1 }

    httpAdminSPort   OBJECT-TYPE
	SYNTAX      INTEGER (0 .. 65535)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "HTTPS server port."
	DEFVAL { 443 }
    ::= { httpAdmin 2 }

    httpAdminTimeout   OBJECT-TYPE
	SYNTAX      INTEGER (30 .. 3600)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "HTTP server timeout in seconds."
	DEFVAL { 300 }
    ::= { httpAdmin 3 }

    httpAdminKeepAlive OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "Allow persistent connections (more than one request per connection)
	       true : allowed
	       false: not allowed
	    "
	DEFVAL { true }
    ::= { httpAdmin 4 }

    httpAdminKeepAliveTimeout OBJECT-TYPE
	SYNTAX      INTEGER (5 .. 60)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "Number of seconds to wait for the next request from the
	     same client on the same connection.
	    "
	DEFVAL { 15 }
    ::= { httpAdmin 5 }

    httpAdminMaxKeepAliveRequests OBJECT-TYPE
	SYNTAX      INTEGER (0 .. 10000)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "The maximum number of requests to allow during a persistent 
	     connection. Set to 0 to allow an unlimited amount.
	     We recommend you leave this number high, for maximum performance.
	    "
	DEFVAL { 100 }
    ::= { httpAdmin 6 }

    httpAdminSessionTimeout OBJECT-TYPE
	SYNTAX      INTEGER (300 .. 86400)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "The number of seconds until a session is timed out on inactivity.
	    "
	DEFVAL { 5000 }
    ::= { httpAdmin 7 }

    httpAdminLoginMaxFailed OBJECT-TYPE
	SYNTAX      INTEGER (0 .. 255)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "The number of failed HTTP session (wrong authentication),
	     that causes the next session with delayed acceptance.
	    "
	DEFVAL { 3 }
    ::= { httpAdmin 8 }

    httpAdminLoginFailedDelay OBJECT-TYPE
	SYNTAX      INTEGER (3 .. 255)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "The number of seconds a new session is delayed (not accepted)
	     if httpAdminLoginMaxFailed was reached.
	    "
	DEFVAL { 7 }
    ::= { httpAdmin 9 }

    httpAdminMaxSessions OBJECT-TYPE
	SYNTAX      INTEGER (1 .. 1000)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "The maximum number of HTTP(S)-sessions allowed in parallel."
    ::= { httpAdmin 10 }

   httpAdminCertIndex OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS read-write
	STATUS      current
	DESCRIPTION
	    "The index of the certificate to use (from the certTable) for
	     HTTPS sessions. If 0, predefined certificate is used."
	DEFVAL { 0 }
    ::= { httpAdmin 11 }

    httpAdminOspPort   OBJECT-TYPE
	SYNTAX      INTEGER (0 .. 65535)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "HTTPS OpenStage server port."
	DEFVAL { 18443 }
    ::= { httpAdmin 12 }

---------------------------------------------------------------------------
--  httpAdminStat
---------------------------------------------------------------------------

httpAdminStat OBJECT IDENTIFIER ::= { httpAdminMIB 2 }

    httpAdminStatTotSessionsCnt OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "The number of ever opened sessions since system-start.
	     Any write-access causes reset to 0.
	    "
    ::= { httpAdminStat 1 }

    httpAdminStatTotSessionsTime OBJECT-TYPE
	SYNTAX      Date
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	    "The last time when httpAdminStatTotSessionsCnt was set."
    ::= { httpAdminStat 2 }

    httpAdminStatCurSessionsCnt OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	    "The number of currently active sessions."
    ::= { httpAdminStat 3 }

    httpAdminStatMaxSessionsCnt OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "The maximum observed value of httpAdminStatCurSessionsCnt.
	     Any write-access causes initialisation to current value of
	     httpAdminStatCurSessionsCnt.
	    "
    ::= { httpAdminStat 4 }

    httpAdminStatMaxSessionsTime OBJECT-TYPE
	SYNTAX      Date
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	    "Last time when httpAdminStatMaxSessionsCnt was set."
    ::= { httpAdminStat 5 }

    httpAdminStatGlobalRejectCnt OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "The number of rejected sessions since system-start due to global
	     limit. Any write-access causes reset to 0.
	    "
    ::= { httpAdminStat 6 }

    httpAdminStatGlobalRejectTime OBJECT-TYPE
	SYNTAX      Date
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	    "Last time when httpAdminStatGlobalRejectCnt was set."
    ::= { httpAdminStat 7 }

    httpAdminStatHostRejectCnt OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	    "The number of rejected sessions since system-start due to limit
	     per host. Any write-access causes reset to 0.
	    "
    ::= { httpAdminStat 8 }

    httpAdminStatHostRejectTime OBJECT-TYPE
	SYNTAX      Date
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	    "Last time when httpAdminStatHostRejectCnt was set."
    ::= { httpAdminStat 9 }

---------------------------------------------------------------------------
--  httpSessionStatTable
---------------------------------------------------------------------------

httpSessionStatTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HttpSessionStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains all registered sessions clients."
    ::= { http 1 }

    httpSessionStatEntry OBJECT-TYPE
        SYNTAX          HttpSessionStatEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            ""
        INDEX { httpSessionIndex }
        ::= { httpSessionStatTable 1 }

    HttpSessionStatEntry ::= SEQUENCE {
	httpSessionIndex	Unsigned32,
	httpSessionState	INTEGER,
	httpSessionStart	Date,
	httpSessionExpiry	Date,
	httpSessionRights	BITS,
	httpSessionUser		DisplayString,
	httpSessionHost		DisplayString,
	httpSessionRemoteAddr	IpAddress, 
	httpSessionAccessClass	INTEGER 
	}

    httpSessionIndex OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "A unique value for each registerd sessions."
        ::= { httpSessionStatEntry 1 }

    httpSessionState OBJECT-TYPE
	SYNTAX	INTEGER {
	    delete(1),
	    active(2)
	}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
           "Status of HTTP session. As long as a session exists in this table
	    its state is active. Setting the session state to delete will cause
	    this entry to be deleted as well as the related session."
	DEFVAL { active }
        ::= { httpSessionStatEntry 2 }

    httpSessionStart OBJECT-TYPE
	SYNTAX  Date
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
                "Timestamp when the session was started"
        ::= { httpSessionStatEntry 3 }

    httpSessionExpiry OBJECT-TYPE
	SYNTAX  Date
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "Timestamp when session will expire. This entry is updated every
	     http request received for this session with current time plus
	     httpAdminSessionTimeout."
        ::= { httpSessionStatEntry 4 }

    httpSessionRights OBJECT-TYPE
	SYNTAX  BITS { 
	    admin(0),
	    fci(1),
	    maint(2),
	    easp(3)
	} 
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The mask contains session rights of authorized user copied over
		 from respective biboAdmLoginHTTPAccessRights table entry." 
	::= { httpSessionStatEntry 5 }

    httpSessionUser OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "Contains the name of the authorized user copied over from the
	     respective biboAdmLogin table entry."
        ::= { httpSessionStatEntry 6 }

    httpSessionHost OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "Contains host field from HTTP request header."
        ::= { httpSessionStatEntry 7 }

    httpSessionRemoteAddr OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "IP address of client at time of HTTP session initiation.
	     Actually this wouldn't normally change during a session's lifetime
	     but also wouldn't get updated if so."
        ::= { httpSessionStatEntry 8 }

    httpSessionAccessClass OBJECT-TYPE
	SYNTAX	INTEGER {
	    user(1),
	    admin(2),
	    service(4)
	}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
           "Contains HTTP access class of authorized user, copied over from
	    biboAdmLoginHTTPAccessClass of respective biboAdmLogin table entry
	    during session initiaition."
        ::= { httpSessionStatEntry 9 }

END
