-- *------------------------------------------------------------------
-- * ALTIGA-L2TP-STATS-MIB.my:  L2TP Statistics MIB.
-- *
-- * Altiga Networks was acquired by Cisco Systems on March 29, 2000
-- *
-- * Copyright (c) 2002 by Cisco Systems, Inc.
-- * All rights reserved.
-- *
-- *------------------------------------------------------------------

ALTIGA-L2TP-STATS-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, IpAddress, 
      Counter32, Gauge32
        FROM SNMPv2-SMI
      RowStatus, DisplayString, TruthValue
        FROM SNMPv2-TC
      OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
      alStatsL2tp, alL2tpGroup
        FROM ALTIGA-MIB
      alL2tpMibModule
        FROM ALTIGA-GLOBAL-REG
      InterfaceIndex
        FROM IF-MIB;

   altigaL2tpStatsMibModule MODULE-IDENTITY
      LAST-UPDATED   "200209051300Z"
      ORGANIZATION   "Cisco Systems, Inc."
      CONTACT-INFO
         "Cisco Systems
          170 W Tasman Drive
          San Jose, CA  95134
          USA

          Tel: +1 800 553-NETS
          E-mail: cs-cvpn3000@cisco.com"

      DESCRIPTION
         "The Altiga L2TP Statistics MIB models counters and objects that are
          of management interest for L2TP tunnels.
         
          Acronyms
          The following acronyms are used in this document:

            AVP:        Attribute/Value Pair

            CLID:       Calling Line ID

            DNIS:       Dialed Number Identification Service

            L2TP:       Layer 2 Tunnel Protocol

            LAC:        L2TP Access Concentrator

            LNS:        L2TP Network Server

            MIB:        Management Information Base

            RWS:        Receive Window Size
         
         "

        REVISION "200209051300Z"
        DESCRIPTION
                "Added module compliance."

        REVISION "200207100000Z"
        DESCRIPTION
                "Updated with new header"

      ::= { alL2tpMibModule 2 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- MIB Objects
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++

alStatsL2tpGlobal  OBJECT IDENTIFIER ::= { alStatsL2tp 1 }

alL2tpStatsLocalProtVers  OBJECT-TYPE
   SYNTAX         OCTET STRING (SIZE(2))
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object describes the protocol version and
       revision of the local implementation. The
       first octet contains the protocol version. The
       second octet contains the protocol revision."
   ::= { alStatsL2tpGlobal 1 }

alL2tpStatsVendorName  OBJECT-TYPE
   SYNTAX         DisplayString
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object identifies the Vendor name."
   ::= { alStatsL2tpGlobal 2 }

alL2tpStatsFirmwareRev  OBJECT-TYPE
   SYNTAX         OCTET STRING (SIZE(2))
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object defines the firmware revision."
   ::= { alStatsL2tpGlobal 3 }

alL2tpStatsTotalTunnels  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the total number of tunnels
       that have successfully reached the established
       state."
   ::= { alStatsL2tpGlobal 4 }

alL2tpStatsFailedTunnels  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of tunnels that
       failed to reach the established state."
   ::= { alStatsL2tpGlobal 5 }

alL2tpStatsFailedAuthentications OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of failed tunnel
       connection attempts because the tunnel peer
       failed authentication."
   ::= { alStatsL2tpGlobal 6 }

alL2tpStatsActiveTunnels   OBJECT-TYPE
   SYNTAX         Gauge32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of tunnels that
       are currently active."
   ::= { alStatsL2tpGlobal 7 }

alL2tpStatsMaxTunnels  OBJECT-TYPE
   SYNTAX         Gauge32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "The maximum number of simultaneously active L2TP tunnels
       since the system was booted."
   ::= { alStatsL2tpGlobal 8 }

alL2tpStatsTotalSessions  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the total number of sessions
       that have successfully reached the established state."
   ::= { alStatsL2tpGlobal 9 }

alL2tpStatsFailedSessions  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of sessions that
       failed to reach the established state for this
       tunnel domain."
   ::= { alStatsL2tpGlobal 10 }

alL2tpStatsActiveSessions  OBJECT-TYPE
   SYNTAX         Gauge32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of sessions that
       are currently active."
   ::= { alStatsL2tpGlobal 11 }

alL2tpStatsMaxSessions  OBJECT-TYPE
   SYNTAX         Gauge32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "The maximum number of simultaneously active L2TP sessions
       since the system was booted."
   ::= { alStatsL2tpGlobal 12 }

alL2tpStatsControlRecvOctets  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of control channel
       octets received."
   ::= { alStatsL2tpGlobal 13 }

alL2tpStatsControlRecvPackets OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of control packets
       received."
   ::= { alStatsL2tpGlobal 14 }

alL2tpStatsControlRecvDiscards   OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of control packets
       received that were discarded."
   ::= { alStatsL2tpGlobal 15 }

alL2tpStatsControlSendOctets  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of control channel
       octets that were transmitted to tunnel endpoints."
   ::= { alStatsL2tpGlobal 16 }

alL2tpStatsControlSendPackets OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of control packets
       that were transmitted to tunnel endpoints."
   ::= { alStatsL2tpGlobal 17 }

alL2tpStatsPayloadRecvOctets  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of payload channel
       octets that were received."
   ::= { alStatsL2tpGlobal 18 }

alL2tpStatsPayloadRecvPackets OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of payload packets
       that were received."
   ::= { alStatsL2tpGlobal 19 }

alL2tpStatsPayloadRecvDiscards   OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of received payload
       packets that were discarded."
   ::= { alStatsL2tpGlobal 20 }

alL2tpStatsPayloadSendOctets  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of payload channel
       octets that were transmitted to tunnel peers."
   ::= { alStatsL2tpGlobal 21 }

alL2tpStatsPayloadSendPackets OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of payload packets
       that were transmitted to tunnel peers."
   ::= { alStatsL2tpGlobal 22 }

alL2tpStatsTunnelTable     OBJECT-TYPE
   SYNTAX         SEQUENCE OF AlL2tpStatsTunnelEntry
   MAX-ACCESS     not-accessible
   STATUS         current
   DESCRIPTION
      "The L2TP tunnel status and statistics table."
   ::= { alStatsL2tp 2 }

alL2tpStatsTunnelEntry     OBJECT-TYPE
   SYNTAX         AlL2tpStatsTunnelEntry
   MAX-ACCESS     not-accessible
   STATUS         current
   DESCRIPTION
      "An entry in the alL2tpStatsTunnelTable."
   INDEX { alL2tpStatsTunnelPeerIpAddr }
   ::= { alL2tpStatsTunnelTable 1 }

AlL2tpStatsTunnelEntry ::= SEQUENCE {
   alL2tpStatsTunnelRowStatus                RowStatus,
   alL2tpStatsTunnelPeerIpAddr               IpAddress,
   alL2tpStatsTunnelLocalTID                 Integer32,
   alL2tpStatsTunnelRemoteTID                Integer32,
   alL2tpStatsTunnelState                    INTEGER,
   alL2tpStatsTunnelInitiated                INTEGER,
   alL2tpStatsTunnelRemoteHostName           DisplayString,
   alL2tpStatsTunnelRemoteVendorName         DisplayString,
   alL2tpStatsTunnelRemoteFirmwareRevision   OCTET STRING,
   alL2tpStatsTunnelRemoteProtocolVersion    OCTET STRING,
   alL2tpStatsTunnelInitialRemoteRWS         Integer32,
   alL2tpStatsTunnelBearerCapabilities       INTEGER,
   alL2tpStatsTunnelFramingCapabilities      INTEGER,
   alL2tpStatsTunnelControlRecvPackets       Counter32,
   alL2tpStatsTunnelControlRecvDiscards      Counter32,
   alL2tpStatsTunnelControlRecvZLB           Counter32,
   alL2tpStatsTunnelControlOutOfSequence     Counter32,
   alL2tpStatsTunnelControlOutOfWindow       Counter32,
   alL2tpStatsTunnelControlSendPackets       Counter32,
   alL2tpStatsTunnelControlSendZLB           Counter32,
   alL2tpStatsTunnelControlAckTimeouts       Counter32,
   alL2tpStatsTunnelCurrentRemoteRWS         Gauge32,
   alL2tpStatsTunnelSendSeq                  Integer32,
   alL2tpStatsTunnelSendSeqAck               Integer32,
   alL2tpStatsTunnelRecvSeq                  Integer32,
   alL2tpStatsTunnelRecvSeqAck               Integer32,
   alL2tpStatsTunnelTotalSessions            Counter32,
   alL2tpStatsTunnelFailedSessions           Counter32,
   alL2tpStatsTunnelActiveSessions           Gauge32,
   alL2tpStatsTunnelLastResultCode           Integer32,
   alL2tpStatsTunnelLastErrorCode            Integer32,
   alL2tpStatsTunnelLastErrorMessage         DisplayString
}

alL2tpStatsTunnelRowStatus OBJECT-TYPE
   SYNTAX         RowStatus
   MAX-ACCESS     read-write
   STATUS         current
   DESCRIPTION
      "The status of this row. Used to terminate the tunnel,
       cannot be used to create a tunnel."
   ::= { alL2tpStatsTunnelEntry 1 }

alL2tpStatsTunnelPeerIpAddr   OBJECT-TYPE
   SYNTAX         IpAddress
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "The peer's IP address for this tunnel."
   ::= { alL2tpStatsTunnelEntry 2 }

alL2tpStatsTunnelLocalTID  OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the local tunnel Identifier."
   ::= { alL2tpStatsTunnelEntry 3 }

alL2tpStatsTunnelRemoteTID OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the remote tunnel Identifier."
   ::= { alL2tpStatsTunnelEntry 4 }

alL2tpStatsTunnelState     OBJECT-TYPE
   SYNTAX INTEGER {
                     tunnelIdle(1),
                     tunnelConnecting(2),
                     tunnelEstablished(3),
                     tunnelDisconnecting(4)
                  }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This field contains the current state of the control
       tunnel."
   ::= { alL2tpStatsTunnelEntry 5 }

alL2tpStatsTunnelInitiated OBJECT-TYPE
   SYNTAX INTEGER {
                     locally(1),
                     remotely(2)
                  }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object indicates whether the tunnel was
       initiated locally or by the remote tunnel peer."
   ::= { alL2tpStatsTunnelEntry 6 }

alL2tpStatsTunnelRemoteHostName OBJECT-TYPE
   SYNTAX         DisplayString
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the host name as discovered
       during the tunnel establishment phase (via the Host
       Name AVP) of the L2TP peer. If the tunnel is idle
       this object should maintain its value from the last
       time it was connected."
   ::= { alL2tpStatsTunnelEntry 7 }

alL2tpStatsTunnelRemoteVendorName  OBJECT-TYPE
   SYNTAX         DisplayString
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object identifies the vendor name of the peer's
       L2TP implementation. If the tunnel is idle this
       object should maintain its value from the last time
       it was connected."
   ::= { alL2tpStatsTunnelEntry 8 }

alL2tpStatsTunnelRemoteFirmwareRevision  OBJECT-TYPE
   SYNTAX         OCTET STRING (SIZE(2))
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the tunnel peer's firmware
       revision number. If the tunnel is idle this object
       should maintain its value from the last time it
       was connected."
   ::= { alL2tpStatsTunnelEntry 9 }

alL2tpStatsTunnelRemoteProtocolVersion OBJECT-TYPE
   SYNTAX         OCTET STRING (SIZE(2))
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object describes the protocol version and
       revision of the tunnel peers implementation. The
       first octet contains the protocol version. The
       second octet contains the protocol revision."
   ::= { alL2tpStatsTunnelEntry 10 }

alL2tpStatsTunnelInitialRemoteRWS  OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the initial remote peer's
       receive window size as indicated by the tunnel peer
       (in the RWS AVP) during the tunnel establishment
       phase. If the tunnel is idle this object should
       maintain its value from the last time it was
       connected."
   ::= { alL2tpStatsTunnelEntry 11 }

alL2tpStatsTunnelBearerCapabilities  OBJECT-TYPE
   SYNTAX INTEGER {
                     sync(1),
                     async(2),
                     syncAsync(3)
                  }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object describes the Bearer Capabilities of
       the tunnel peer. If the tunnel is idle this object
       should maintain its value from the last time it was
       connected."
   ::= { alL2tpStatsTunnelEntry 12 }

alL2tpStatsTunnelFramingCapabilities  OBJECT-TYPE
   SYNTAX INTEGER {
                     digital(1),
                     analog(2),
                     digitalAnalog(3)
                  }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object describes the Framing Capabilities of
       the tunnel peer. If the tunnel is idle this object
       should maintain its value from the last time it was
       connected."
   ::= { alL2tpStatsTunnelEntry 13 }

alL2tpStatsTunnelControlRecvPackets  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the number of control packets
       received on the tunnel."
   ::= { alL2tpStatsTunnelEntry 14 }

alL2tpStatsTunnelControlRecvDiscards  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of received payload
       packets that were discarded."
   ::= { alL2tpStatsTunnelEntry 15 }

alL2tpStatsTunnelControlRecvZLB  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns a count of the number of Zero
       Length Body control packet acknowledgement packets
       that were received."
   ::= { alL2tpStatsTunnelEntry 16 }

alL2tpStatsTunnelControlOutOfSequence  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns a count of the number of
       control packets that were not received in the
       correct order (as per the sequence number) on
       this tunnel."
   ::= { alL2tpStatsTunnelEntry 17 }

alL2tpStatsTunnelControlOutOfWindow  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the number of control
       packets that were received outside of the
       offered receive window. It is implementation
       specific as to whether these packets are queued
       or discarded."
   ::= { alL2tpStatsTunnelEntry 18 }

alL2tpStatsTunnelControlSendPackets  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the number of control
       packets that were transmitted to the tunnel
       peer."
   ::= { alL2tpStatsTunnelEntry 19 }

alL2tpStatsTunnelControlSendZLB OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the number of Zero Length
       Body control packets that were transmitted to
       the tunnel peer."
   ::= { alL2tpStatsTunnelEntry 20 }

alL2tpStatsTunnelControlAckTimeouts  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns a count of the number of
       control packet timeouts due to the lack of a
       timely acknowledgement from the tunnel peer."
   ::= { alL2tpStatsTunnelEntry 21 }

alL2tpStatsTunnelCurrentRemoteRWS  OBJECT-TYPE
   SYNTAX         Gauge32 (0..64)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the current remote receive
       window size as determined by the local flow
       control mechanism employed."
   ::= { alL2tpStatsTunnelEntry 22 }

alL2tpStatsTunnelSendSeq   OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the next send sequence number
       for the control channel."
   ::= { alL2tpStatsTunnelEntry 23 }

alL2tpStatsTunnelSendSeqAck   OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the send sequence number that
       the tunnel peer has acknowledged for the control
       channel. The flow control state can be determined
       by subtracting the l2tpTunnelStatsSendSeq from
       alL2tpStatsTunnelSendSeqAck and comparing this value
       to l2tpTunnelStatsCurrentRemoteRWS."
   ::= { alL2tpStatsTunnelEntry 24 }

alL2tpStatsTunnelRecvSeq   OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the next receive sequence
       number expected to be received on this control
       channel."
   ::= { alL2tpStatsTunnelEntry 25 }

alL2tpStatsTunnelRecvSeqAck   OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the last receive sequence
       number that was acknowledged back to the tunnel
       peer for the control channel."
   ::= { alL2tpStatsTunnelEntry 26 }

alL2tpStatsTunnelTotalSessions   OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the total number of sessions
       that this tunnel has successfully connected through
       to its tunnel peer since this tunnel was created."
   ::= { alL2tpStatsTunnelEntry 27 }

alL2tpStatsTunnelFailedSessions OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the total number of sessions
       that were initiated but failed to reach the
       established phase."
   ::= { alL2tpStatsTunnelEntry 28 }

alL2tpStatsTunnelActiveSessions OBJECT-TYPE
   SYNTAX         Gauge32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the total number of sessions
       for this tunnel."
   ::= { alL2tpStatsTunnelEntry 29 }

alL2tpStatsTunnelLastResultCode OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the last value of the result
       code as described in the Result Code AVP which
       caused the tunnel to disconnect."
   ::= { alL2tpStatsTunnelEntry 30 }

alL2tpStatsTunnelLastErrorCode   OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the last value of the error
       code as described in the Result Code AVP which
       caused the tunnel to disconnect."
   ::= { alL2tpStatsTunnelEntry 31 }

alL2tpStatsTunnelLastErrorMessage  OBJECT-TYPE
   SYNTAX         DisplayString
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the last value of the optional
       message as described in the Result Code AVP which
       caused the tunnel to disconnect."
   ::= { alL2tpStatsTunnelEntry 32 }

alL2tpStatsSessionTable    OBJECT-TYPE
   SYNTAX         SEQUENCE OF AlL2tpStatsSessionEntry
   MAX-ACCESS     not-accessible
   STATUS         current
   DESCRIPTION
      "The L2TP session status and statistics table."
     ::= { alStatsL2tp 3 }

alL2tpStatsSessionEntry    OBJECT-TYPE
   SYNTAX         AlL2tpStatsSessionEntry
   MAX-ACCESS     not-accessible
   STATUS         current
   DESCRIPTION
      "An L2TP session interface stats entry."
   INDEX { alL2tpStatsSessionIfIndex }
   ::= { alL2tpStatsSessionTable 1 }

AlL2tpStatsSessionEntry ::= SEQUENCE {
   alL2tpStatsSessionRowStatus         RowStatus,
   alL2tpStatsSessionIfIndex           InterfaceIndex,
   alL2tpStatsSessionTID               Integer32,
   alL2tpStatsSessionLocalCID          Integer32,
   alL2tpStatsSessionRemoteCID         Integer32,
   alL2tpStatsSessionUserName          DisplayString,
   alL2tpStatsSessionState             INTEGER,
   alL2tpStatsSessionCallType          INTEGER,
   alL2tpStatsSessionCallSerialNumber  Unsigned32,
   alL2tpStatsSessionTxConnectSpeed    Integer32,
   alL2tpStatsSessionRxConnectSpeed    Integer32,
   alL2tpStatsSessionCallBearerType    INTEGER,
   alL2tpStatsSessionFramingType       INTEGER,
   alL2tpStatsSessionPhysChanId        Integer32,
   alL2tpStatsSessionDNIS              DisplayString,
   alL2tpStatsSessionCLID              DisplayString,
   alL2tpStatsSessionSubAddress        DisplayString,
   alL2tpStatsSessionPrivateGroupID    DisplayString,
   alL2tpStatsSessionProxyLcp          TruthValue,
   alL2tpStatsSessionAuthMethod        INTEGER,
   alL2tpStatsSessionLocalRWS          Integer32,
   alL2tpStatsSessionRemoteInitialRWS  Integer32,
   alL2tpStatsSessionRemotePPD         Integer32,
   alL2tpStatsSessionSequencingState   INTEGER,
   alL2tpStatsSessionRecvOctets        Counter32,
   alL2tpStatsSessionRecvPackets       Counter32,
   alL2tpStatsSessionRecvDiscards      Counter32,
   alL2tpStatsSessionRecvZLB           Counter32,
   alL2tpStatsSessionOutSequence       Counter32,
   alL2tpStatsSessionOutOfWindow       Counter32,
   alL2tpStatsSessionSendOctets        Counter32,
   alL2tpStatsSessionSendPackets       Counter32,
   alL2tpStatsSessionSendZLB           Counter32,
   alL2tpStatsSessionAckTimeouts       Counter32,
   alL2tpStatsSessionReassemblyTimeouts   Counter32,
   alL2tpStatsSessionCurrentRemoteRWS  Gauge32,
   alL2tpStatsSessionSendSeq           Integer32,
   alL2tpStatsSessionSendSeqAck        Integer32,
   alL2tpStatsSessionSendSeqResets     Counter32,
   alL2tpStatsSessionRecvSeq           Integer32,
   alL2tpStatsSessionRecvSeqAck        Integer32,
   alL2tpStatsSessionRecvSeqResets     Counter32,
   alL2tpStatsSessionTunnelPeerIpAddr  IpAddress
}

alL2tpStatsSessionRowStatus   OBJECT-TYPE
   SYNTAX         RowStatus
   MAX-ACCESS     read-write
   STATUS         current
   DESCRIPTION
      "The status of this row. Used to terminate the session,
       cannot be used to create a session."
   ::= { alL2tpStatsSessionEntry 1 }

alL2tpStatsSessionIfIndex  OBJECT-TYPE
   SYNTAX         InterfaceIndex
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This value for this object is equal to the value
       of ifIndex of the Interfaces MIB for session
       interfaces of type L2TP."
   ::= { alL2tpStatsSessionEntry 2 }

alL2tpStatsSessionTID      OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the control channel tunnel
       identifier for this session."
   ::= { alL2tpStatsSessionEntry 3 }

alL2tpStatsSessionLocalCID OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the local call identifier
       for the session."
   ::= { alL2tpStatsSessionEntry 4 }

alL2tpStatsSessionRemoteCID   OBJECT-TYPE
   SYNTAX         Integer32  (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the remote call identifier
       for the session."
   ::= { alL2tpStatsSessionEntry 5 }

alL2tpStatsSessionUserName OBJECT-TYPE
   SYNTAX         DisplayString
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object identifies the peer session name on
       this interface. This is typically the login name
       of the remote user. If the user name is unknown to
       the local tunnel peer then this object will contain
       a null string."
   ::= { alL2tpStatsSessionEntry 6 }

alL2tpStatsSessionState    OBJECT-TYPE
   SYNTAX         INTEGER {
               sessionIdle(1),
               sessionConnecting(2),
               sessionEstablished(3),
               sessionDisconnecting(4)
            }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the current state of the
      session."
   ::= { alL2tpStatsSessionEntry 7 }

alL2tpStatsSessionCallType OBJECT-TYPE
   SYNTAX         INTEGER {
               lacIncoming(1),
               lnsIncoming(2),
               lacOutgoing(3),
               lnsOutgoing(4)
            }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object indicates the type of call and the
       role this tunnel peer is providing for this
       session. For example, lacIncoming(1) indicates
       that this tunnel peer is acting as a LAC and
       generated a Incoming-Call-Request to the tunnel
       peer (the LNS). Note that tunnel peers can be
       both LAC and LNS simultaneously."
   ::= { alL2tpStatsSessionEntry 8 }

alL2tpStatsSessionCallSerialNumber  OBJECT-TYPE
   SYNTAX         Unsigned32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the serial number that has
       been assigned to this session."
   ::= { alL2tpStatsSessionEntry 9 }

alL2tpStatsSessionTxConnectSpeed  OBJECT-TYPE
   SYNTAX         Integer32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the last known transmit
       baud rate for this session."
   ::= { alL2tpStatsSessionEntry 10 }

alL2tpStatsSessionRxConnectSpeed  OBJECT-TYPE
   SYNTAX         Integer32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the last known receive
       baud rate for this session."
   ::= { alL2tpStatsSessionEntry 11 }

alL2tpStatsSessionCallBearerType OBJECT-TYPE
   SYNTAX         INTEGER {
               digital(1),
               analog(2)
            }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object describes the bearer type of this
       session."
   ::= { alL2tpStatsSessionEntry 12 }

alL2tpStatsSessionFramingType OBJECT-TYPE
   SYNTAX INTEGER {
                     asynchronous(1),
                     synchronous(2)
                  }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object describes the framing type of this
       session."
   ::= { alL2tpStatsSessionEntry 13 }

alL2tpStatsSessionPhysChanId  OBJECT-TYPE
   SYNTAX         Integer32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the physical channel
       identifier for the session."
   ::= { alL2tpStatsSessionEntry 14 }

alL2tpStatsSessionDNIS     OBJECT-TYPE
   SYNTAX         DisplayString
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object identifies the Dialed Number
       Information String that the LAC obtained from
       the network for the session. If no DNIS was
       provided then a null string will be returned."
   ::= { alL2tpStatsSessionEntry 15 }

alL2tpStatsSessionCLID     OBJECT-TYPE
   SYNTAX         DisplayString
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object identifies the Calling Line ID
       that the LAC obtained from the network for
       the session. If no CLID was provided then a
       null string will be returned."
   ::= { alL2tpStatsSessionEntry 16 }

alL2tpStatsSessionSubAddress  OBJECT-TYPE
   SYNTAX         DisplayString
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object identifies the Sub Address that
       the LAC obtained from the network for the
       session. If no Sub Address was provided then
       a null string will be returned."
   ::= { alL2tpStatsSessionEntry 17 }

alL2tpStatsSessionPrivateGroupID  OBJECT-TYPE
   SYNTAX         DisplayString
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object identifies the Private Group
       Identifier used for this tunneled session.
       If no Private Group Identifier was provided
       then a null string will be returned."
   ::= { alL2tpStatsSessionEntry 18 }

alL2tpStatsSessionProxyLcp OBJECT-TYPE
   SYNTAX         TruthValue
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "Indicates whether the LAC performed proxy LCP
       for this session."
   ::= { alL2tpStatsSessionEntry 19 }

alL2tpStatsSessionAuthMethod  OBJECT-TYPE
   SYNTAX         INTEGER {
               none(1),
               text(2),
               pppChap(3),
               pppPap(4)
            }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the proxy authentication
       method employed by the LAC for the session. If
       l2tpSessionProxyLcp is false(2) this object should
       not be interpreted."
   ::= { alL2tpStatsSessionEntry 20 }

alL2tpStatsSessionLocalRWS OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         deprecated
   DESCRIPTION
      "This object returns the local send window size
       for this session. If the value of the object
       alL2tpStatsSessionSequencingState is none(1)
       then this object should not be interpreted."
   ::= { alL2tpStatsSessionEntry 21 }

alL2tpStatsSessionRemoteInitialRWS  OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         deprecated
   DESCRIPTION
      "This object returns the initial remote send
       window size for this session.  If the value
       of the object alL2tpStatsSessionSequencingState
       is none(1) then this object should not be
       interpreted."
   ::= { alL2tpStatsSessionEntry 22 }

alL2tpStatsSessionRemotePPD   OBJECT-TYPE
   SYNTAX         Integer32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the Packet Processing Delay
       for the session.  If the value of the object
       alL2tpStatsSessionSequencingState is none(1)
       then this object should not be interpreted."
   ::= { alL2tpStatsSessionEntry 23 }

alL2tpStatsSessionSequencingState  OBJECT-TYPE
   SYNTAX INTEGER {
                     none(1),
                     remote(2),
                     local(3),
                     both(4)
                  }
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object defines which tunnel peers have
       requested payload sequencing. The value of
       both(4) indicates that both peers have requested
       payload sequencing."
   ::= { alL2tpStatsSessionEntry 24 }

alL2tpStatsSessionRecvOctets  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the total number payload octets
       received for this session."
   ::= { alL2tpStatsSessionEntry 25 }

alL2tpStatsSessionRecvPackets OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the total number of payload packets
       received for this session."
   ::= { alL2tpStatsSessionEntry 26 }

alL2tpStatsSessionRecvDiscards   OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the total number of payload packets
       received that were discarded for this session."
   ::= { alL2tpStatsSessionEntry 27 }

alL2tpStatsSessionRecvZLB  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         deprecated
   DESCRIPTION
      "This object returns the total number of Zero Length
       Body acknowlegement payload packets received for
       this session."
   ::= { alL2tpStatsSessionEntry 28 }

alL2tpStatsSessionOutSequence OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the total number of packets
       received for this session which were received out
       of sequence."
   ::= { alL2tpStatsSessionEntry 29 }

alL2tpStatsSessionOutOfWindow OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         deprecated
   DESCRIPTION
      "This object returns a count of the number of
       payload packets that were received outside of the
       expected window for this session."
   ::= { alL2tpStatsSessionEntry 30 }

alL2tpStatsSessionSendOctets  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the total number of payload octets
       transmitted for this session."
   ::= { alL2tpStatsSessionEntry 31 }

alL2tpStatsSessionSendPackets OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the total number of payload packets
       transmitted for this session."
   ::= { alL2tpStatsSessionEntry 32 }

alL2tpStatsSessionSendZLB  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         deprecated
   DESCRIPTION
      "This object returns the total number of Zero
       Length Body acknowledgement packets transmitted
       for this session."
   ::= { alL2tpStatsSessionEntry 33 }

alL2tpStatsSessionAckTimeouts OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         deprecated
   DESCRIPTION
      "This object returns the total number of
       acknowledgement timeouts seen on payload
       packets for this session."
   ::= { alL2tpStatsSessionEntry 34 }

alL2tpStatsSessionReassemblyTimeouts  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object returns the number of reassembly
       time outs that have occured for this session."
   ::= { alL2tpStatsSessionEntry 35 }

alL2tpStatsSessionCurrentRemoteRWS  OBJECT-TYPE
   SYNTAX         Gauge32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         deprecated
   DESCRIPTION
      "This object contains the current remote receive
       window size as determined by the local flow
       control mechanism employed."
   ::= { alL2tpStatsSessionEntry 36 }

alL2tpStatsSessionSendSeq  OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the next send sequence number
       for for this session."
   ::= { alL2tpStatsSessionEntry 37 }

alL2tpStatsSessionSendSeqAck  OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the send sequence number
       that the tunnel peer has acknowledged for the
       payload channel. The flow control state can be
       determined by subtracting the alL2tpStatsSessionSendSeq
       from alL2tpStatsSessionSendSeqAck and comparing this
       value to l2tpSesssionStatsCurrentRemoteRWS."
   ::= { alL2tpStatsSessionEntry 38 }

alL2tpStatsSessionSendSeqResets OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         deprecated
   DESCRIPTION
      "This object contains the total number of sequence
       number resets (payload packets with the R-bit set)
       sent on this session."
   ::= { alL2tpStatsSessionEntry 39 }

alL2tpStatsSessionRecvSeq  OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the next receive sequence
       number expected to be received on this session."
   ::= { alL2tpStatsSessionEntry 40 }

alL2tpStatsSessionRecvSeqAck  OBJECT-TYPE
   SYNTAX         Integer32 (0..65535)
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "This object contains the last receive sequence
       number that was acknowledged back to the tunnel
       peer for the session."
   ::= { alL2tpStatsSessionEntry 41 }

alL2tpStatsSessionRecvSeqResets  OBJECT-TYPE
   SYNTAX         Counter32
   MAX-ACCESS     read-only
   STATUS         deprecated
   DESCRIPTION
      "This object contains the total number of sequence
       number resets (payload packets with the R-bit set)
       received on this session."
   ::= { alL2tpStatsSessionEntry 42 }

alL2tpStatsSessionTunnelPeerIpAddr  OBJECT-TYPE
   SYNTAX         IpAddress
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION
      "The peer's IP address for the tunnel to which this
       session belongs."
   ::= { alL2tpStatsSessionEntry 43 }

altigaL2tpStatsMibConformance OBJECT IDENTIFIER ::= { altigaL2tpStatsMibModule 1 }
altigaL2tpStatsMibCompliances OBJECT IDENTIFIER ::= { altigaL2tpStatsMibConformance 1 }

altigaL2tpStatsMibCompliance MODULE-COMPLIANCE
   STATUS         current
   DESCRIPTION
      "The compliance statement for agents which 
       implement the Altiga L2TP Statistics MIB."
   MODULE
   MANDATORY-GROUPS { 
      altigaL2tpStatsGroup
   }
   ::= { altigaL2tpStatsMibCompliances 1 }

altigaL2tpStatsGroup  OBJECT-GROUP
   OBJECTS {
      alL2tpStatsLocalProtVers,
      alL2tpStatsVendorName,
      alL2tpStatsFirmwareRev,
      alL2tpStatsTotalTunnels,
      alL2tpStatsFailedTunnels,
      alL2tpStatsFailedAuthentications,
      alL2tpStatsActiveTunnels,
      alL2tpStatsMaxTunnels,
      alL2tpStatsTotalSessions,
      alL2tpStatsFailedSessions,
      alL2tpStatsActiveSessions,
      alL2tpStatsMaxSessions,
      alL2tpStatsControlRecvOctets,
      alL2tpStatsControlRecvPackets,
      alL2tpStatsControlRecvDiscards,
      alL2tpStatsControlSendOctets,
      alL2tpStatsControlSendPackets,
      alL2tpStatsPayloadRecvOctets,
      alL2tpStatsPayloadRecvPackets,
      alL2tpStatsPayloadRecvDiscards,
      alL2tpStatsPayloadSendOctets,
      alL2tpStatsPayloadSendPackets,
      alL2tpStatsTunnelRowStatus,
      alL2tpStatsTunnelPeerIpAddr,
      alL2tpStatsTunnelLocalTID,
      alL2tpStatsTunnelRemoteTID,
      alL2tpStatsTunnelState,
      alL2tpStatsTunnelInitiated,
      alL2tpStatsTunnelRemoteHostName,
      alL2tpStatsTunnelRemoteVendorName,
      alL2tpStatsTunnelRemoteFirmwareRevision,
      alL2tpStatsTunnelRemoteProtocolVersion,
      alL2tpStatsTunnelInitialRemoteRWS,
      alL2tpStatsTunnelBearerCapabilities,
      alL2tpStatsTunnelFramingCapabilities,
      alL2tpStatsTunnelControlRecvPackets,
      alL2tpStatsTunnelControlRecvDiscards,
      alL2tpStatsTunnelControlRecvZLB,
      alL2tpStatsTunnelControlOutOfSequence,
      alL2tpStatsTunnelControlOutOfWindow,
      alL2tpStatsTunnelControlSendPackets,
      alL2tpStatsTunnelControlSendZLB,
      alL2tpStatsTunnelControlAckTimeouts,
      alL2tpStatsTunnelCurrentRemoteRWS,
      alL2tpStatsTunnelSendSeq,
      alL2tpStatsTunnelSendSeqAck,
      alL2tpStatsTunnelRecvSeq,
      alL2tpStatsTunnelRecvSeqAck,
      alL2tpStatsTunnelTotalSessions,
      alL2tpStatsTunnelFailedSessions,
      alL2tpStatsTunnelActiveSessions,
      alL2tpStatsTunnelLastResultCode,
      alL2tpStatsTunnelLastErrorCode,
      alL2tpStatsTunnelLastErrorMessage,
      alL2tpStatsSessionRowStatus,
      alL2tpStatsSessionIfIndex,
      alL2tpStatsSessionTID,
      alL2tpStatsSessionLocalCID,
      alL2tpStatsSessionRemoteCID,
      alL2tpStatsSessionUserName,
      alL2tpStatsSessionState,
      alL2tpStatsSessionCallType,
      alL2tpStatsSessionCallSerialNumber,
      alL2tpStatsSessionTxConnectSpeed,
      alL2tpStatsSessionRxConnectSpeed,
      alL2tpStatsSessionCallBearerType,
      alL2tpStatsSessionFramingType,
      alL2tpStatsSessionPhysChanId,
      alL2tpStatsSessionDNIS,
      alL2tpStatsSessionCLID,
      alL2tpStatsSessionSubAddress,
      alL2tpStatsSessionPrivateGroupID,
      alL2tpStatsSessionProxyLcp,
      alL2tpStatsSessionAuthMethod,
      alL2tpStatsSessionRemotePPD,
      alL2tpStatsSessionSequencingState,
      alL2tpStatsSessionRecvOctets,
      alL2tpStatsSessionRecvPackets,
      alL2tpStatsSessionRecvDiscards,
      alL2tpStatsSessionOutSequence,
      alL2tpStatsSessionSendOctets,
      alL2tpStatsSessionSendPackets,
      alL2tpStatsSessionReassemblyTimeouts,
      alL2tpStatsSessionSendSeq,
      alL2tpStatsSessionSendSeqAck,
      alL2tpStatsSessionRecvSeq,
      alL2tpStatsSessionRecvSeqAck,
      alL2tpStatsSessionTunnelPeerIpAddr
   }
   STATUS         current
   DESCRIPTION
      "The objects for L2TP statistics."
   ::= { alL2tpGroup 2 }

altigaL2tpStatsDepGroup  OBJECT-GROUP
   OBJECTS {
      alL2tpStatsSessionLocalRWS,
      alL2tpStatsSessionRemoteInitialRWS,
      alL2tpStatsSessionRecvZLB,
      alL2tpStatsSessionSendZLB,
      alL2tpStatsSessionOutOfWindow,
      alL2tpStatsSessionAckTimeouts,
      alL2tpStatsSessionCurrentRemoteRWS,
      alL2tpStatsSessionSendSeqResets,
      alL2tpStatsSessionRecvSeqResets
   }
   STATUS         deprecated
   DESCRIPTION
      "The deprecated objects for L2TP statistics."
   ::= { alL2tpGroup 3 }

END

