-- ==============================================================================
-- Copyright (C) 2017 by HUAWEI TECHNOLOGIES. All rights reserved.  
-- Description:   The extend MIB module is used for defining Huawei's Access Node Control 
--                Protocol (ANCP) MIB objects.
--                ANCP is a dedicated control protocol between NAS and access nodes
--                can facilitate NAS-managed tight QOS control in the access
--                network, simplified OSS infrastructure for service management, 
--                optimized multicast replication to enable video services over DSL, 
--                subscriber statistics retrieval on the NAS for accounting purposes, 
--                and fault isolation capability on the NAS for the underlying access
--                technology. Controllable multicast allows an access device to 
--                determine if a user has the authority to watch programs by 
--                identifying the user request packets. In this way, the access 
--                device controls and forwards the multicast services.                             
-- Reference:                                                        
-- Version: V1.20
-- ==============================================================================

HUAWEI-ANCP-AN-EXT-MIB DEFINITIONS ::= BEGIN

IMPORTS
       huaweiMgmt FROM HUAWEI-MIB
       TruthValue FROM SNMPv2-TC

       MODULE-IDENTITY, OBJECT-TYPE,
       Unsigned32, mib-2, TimeTicks,
       NOTIFICATION-TYPE
            FROM SNMPv2-SMI                            -- [RFC2578]
       ZeroBasedCounter32
            FROM RMON2-MIB                             -- [RFC4502]
       ifIndex      FROM IF-MIB                        -- [RFC2863]
       InetAddressType, InetAddress, InetPortNumber
            FROM INET-ADDRESS-MIB                      -- [RFC4001]
       MODULE-COMPLIANCE, OBJECT-GROUP,
       NOTIFICATION-GROUP
            FROM SNMPv2-CONF                           -- [RFC2580]
       GsmpVersion, GsmpNameType, GsmpPartitionIdType
            FROM GSMP-MIB                              -- [RFC3295]
       RowStatus, TEXTUAL-CONVENTION
            FROM SNMPv2-TC                             -- [RFC2579]
       ancpAnSessionConfigSessionId, ancpAnSessionConfigEntry,
       ancpAnInterfaceConfigEntry, ancpAnCurrentSessionEntry, ancpAnCurrentSessionAnIpAddressType, ancpAnCurrentSessionAnIpAddress,
       ancpAnSessionConfigNasIpAddressType, ancpAnSessionConfigNasIpAddress, ancpAnCurrentSessionAnInstance, ancpAnCurrentSessionNasInstance,
       ancpAnCurrentSessionStartUptime, ancpAnCurrentSessionDiscontinuityTime, ancpAnCurrentSessionStatSentMessages,
       ancpAnCurrentSessionStatReceivedValidMessages, ancpAnCurrentSessionStatDiscardedMessages
            FROM HUAWEI-ANCP-AN-MIB                   -- [draft-ietf-ancp-mib-an-03.txt]
       GsmpSubVersion, AncpSessionCapabilities 
            FROM HUAWEI-ANCP-TC-MIB;                   -- [This document]
hwAncpAnExtMIB MODULE-IDENTITY
       LAST-UPDATED "201712250000Z"

       ORGANIZATION "Huawei Technologies Co.,Ltd."
       CONTACT-INFO 
                   "Huawei Industrial Base
                    Bantian, Longgang
                    Shenzhen 518129
                    People's Republic of China
                    Website: http://www.huawei.com
                    Email: support@huawei.com
                   "
       DESCRIPTION
           "The extend MIB module is used for defining Huawei's Access Node Control 
           Protocol (ANCP) MIB objects.
           ANCP is a dedicated control protocol between NAS and access nodes 
           can facilitate NAS-managed tight QOS control in the access network, 
           simplified OSS infrastructure for service management, optimized multicast 
           replication to enable video services over DSL, subscriber statistics 
           retrieval on the NAS for accounting purposes, and fault isolation 
           capability on the NAS for the underlying access technology. Controllable 
           multicast allows an access device to determine if a user has the authority 
           to watch programs by identifying the user request packets. In this way, 
           the access device controls and forwards the multicast services."
            
       --  Revision history
       REVISION     "201712250000Z"
       DESCRIPTION  "V1.20, modified the description of hwAncpProxySubSessionConfigTable, 
       		     hwAncpProxyCurrentSubSessionTable,hwAncpProxyCurrentSubSessionState ."  
                    
       REVISION     "201706050000Z"
       DESCRIPTION  "V1.19, added nodes hwAncpProxyStatus and hwAncpTcpListenPortNumber.
                     added tables hwAncpProxySubSessionConfigTable,hwAncpProxySubSessionStatisticTable and hwAncpProxyCurrentSubSessionTable."  
                                               
       REVISION     "201504030000Z"
       DESCRIPTION  "V1.18, modified the description of hwAncpAnPartitionInterfacePara1, hwAncpAnPartitionInterfacePara2, hwAncpAnInterfacePara1,
                     hwAncpAnInterfacePara2, hwAncpAnInterfacePara3, and hwAncpAnPartitionInterfacePara3.
                     Modified the default value of hwAncpAnPonInterfaceCvlanid." 
	   
       REVISION     "201501300000Z"
       DESCRIPTION  "V1.17, added hwAncpAnPonInterfaceConfigTable. Modified the value range of hwAncpAnPartitionInterfaceEncapType" 

       REVISION     "201408230000Z"
       DESCRIPTION  "V1.16, modified the node hwAncpAnSessionUp." 
       REVISION     "201408050000Z"
       DESCRIPTION  "V1.15, added nodes hwAncpAnSessionDown and hwAncpAnSessionUp."  
       
       REVISION     "201309290000Z"
       DESCRIPTION  "V1.14, modified the description of hwAncpAnDraftVersion."
       REVISION     "201309120000Z"
       DESCRIPTION  "V1.13, modified the enumeration of hwAncpAnDraftVersion."

       REVISION     "201203190000Z"
       DESCRIPTION  "V1.12, added hwAncpAnSessionConfigForceNoPartition to hwAncpAnSessionConfigTable."
       
       REVISION     "201011300000Z"
       DESCRIPTION  "V1.11, modified the enumeration of hwAncpAnInterfaceEncapType and 
                     hwAncpAnPartitionInterfaceEncapType.
                     Modified the value range of hwAncpAnPartitionId."
       
       REVISION     "201011220000Z"
       DESCRIPTION  "V1.10, modified the enumeration of hwAncpAnInterfaceEncapType."
       
       REVISION     "201011170000Z"
       DESCRIPTION  "V1.09, modified description of leaves."
       
       REVISION     "201011100000Z"
       DESCRIPTION  "V1.08, modified the value range of hwAncpAnPartitionId."
       
       REVISION     "201011090000Z"
       DESCRIPTION  "V1.07, Moditfied the description of hwAncpAnPartitionTable and hwAncpAnPartitionEntry. Modified the description of 
                     hwAncpAnPartitionInterfacePara1, hwAncpAnPartitionInterfacePara2, and hwAncpAnPartitionInterfacePara3."
       
       REVISION     "201007220000Z"
       DESCRIPTION  "V1.06, added node hwAncpAnCurrentSessionPartitionUsedStatus and modified the description and format of the file."
       
       REVISION     "201005050000Z"
       DESCRIPTION  "V1.05, modified the MIB file name and added trap node hwAncpAnSessionDiagnosticTrap."
       
       REVISION     "201004250000Z"
       DESCRIPTION  "V1.04, modified the description of all leaves."
       
       REVISION     "201004120000Z"
       DESCRIPTION  "V1.03, modified MAX-ACCESS of hwAncpAnPartitionId."
       
       REVISION     "201003160000Z"
       DESCRIPTION  "V1.02, modified the module identity and changed the access permission of the hwAncpAnPartitionId from read-write to not-accessible."
                   
       REVISION     "200912220000Z"
       DESCRIPTION  "V1.01, initial version."
       ::= { huaweiMgmt 110 }
-- The value of huaweiMgmt 108 to be assigned by HUAWEI.

hwAncpAnObjects                    OBJECT IDENTIFIER ::= { hwAncpAnExtMIB 1 }

--
-- Extend Partitions
--

hwAncpAnTopoDiscoveryMode OBJECT-TYPE
        SYNTAX   INTEGER
        {
            port(1),
            servicePort(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
              "The object indicates the mode of reporting ANCP topology discovery.
               Enumerated value. 
               Options: 
               1. port(1)        -indicates the mode of reporting ANCP topology discovery is port
               2. servicePort(2) -indicates the mode of reporting ANCP topology discovery is serviceport
               Default: servicePort(2)
              "
        ::= { hwAncpAnObjects 1 }

hwAncpAnDraftVersion OBJECT-TYPE
        SYNTAX INTEGER
        {
            draft00(0),
            draft01(1),
            draft02(2),
            rfc6320(3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
              "ANCP draft version. 
               Options:
               1. draft00(0) -indicates that draft draft-wadhwa-gsmp-l2control-configuration-00 is supported
               2. draft01(1) -indicates that draft draft-ietf-ancp-protocol-01 is supported
               3. draft02(2) -indicates that draft draft-ietf-ancp-protocol-02 is supported
               4. rfc6320(3) -indicates that RFC 6320 is supported
               Default: draft01(1)
              "
        ::= { hwAncpAnObjects 2 }

hwAncpAnPortBegin OBJECT-TYPE
        SYNTAX Unsigned32(0..1)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "This object is used to configure the start port ID in the circuit ID information of the ANCP message.
               Range: 0-1
               Default: 0
              "
        ::= { hwAncpAnObjects 3 }

--
-- Extend Configuration of ANCP Sessions
--

hwAncpAnSessionConfigTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HwAncpAnSessionConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "This table represents the ANCP sessions in the access node. An entry in this table needs to be configured (created) 
              before an ANCP session might be started.
              The index of this table is ancpAnSessionConfigSessionId.
             "
       ::= { hwAncpAnObjects 4 }

hwAncpAnSessionConfigEntry OBJECT-TYPE
       SYNTAX     HwAncpAnSessionConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "This table represents the ANCP sessions in the access node. An entry in this table needs to be configured (created) 
              before an ANCP session might be started.
              The index of this entry is ancpAnSessionConfigSessionId.
             "
       AUGMENTS    { ancpAnSessionConfigEntry }
       ::= { hwAncpAnSessionConfigTable 1 }

HwAncpAnSessionConfigEntry ::= SEQUENCE {
       hwAncpAnSessionConfigOamThreshold        Unsigned32,
       hwAncpAnSessionConfigRollDefaultFlag     TruthValue,
       hwAncpAnSessionConfigBandwidthCacSwitch  TruthValue,
       hwAncpAnSessionConfigForceNoPartition    TruthValue
}

hwAncpAnSessionConfigOamThreshold OBJECT-TYPE
       SYNTAX     Unsigned32(1..100)
       UNITS      "percent"
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "The OAM threshold in this session. 
              Range: 1-100
              Default: 100
             "
       DEFVAL { 100 }
       ::= { hwAncpAnSessionConfigEntry 1 }

hwAncpAnSessionConfigRollDefaultFlag OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "The flag indicates whether rollback is permitted when link configuration fails.  
              Options:
              1. true(1)  -rollback is permitted when link configuration fails
              2. false(2) -rollback is not permitted when link configuration fails
              Default: false(2)
             "
       DEFVAL { false }
       ::= { hwAncpAnSessionConfigEntry 2 }

hwAncpAnSessionConfigBandwidthCacSwitch OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
              "The switch of ANCP bandwidthCAC in this session.
               Options: 
               1. true(1)
               2. false(2)
               Default: false(2)
              "
        DEFVAL { false }
        ::= { hwAncpAnSessionConfigEntry 3 }
        
hwAncpAnSessionConfigForceNoPartition OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
              "The switch of ANCP force no partition in this session.
               Options: 
               1. true(1)  -indicates that the partition is zero in ANCP packet
               2. false(2) -indicates that the partition is the configuration in ANCP packet
               Default: false(2)
              "
        DEFVAL { false }
        ::= { hwAncpAnSessionConfigEntry 4 }

--
-- Extend Operational Information of ANCP Sessions
--

hwAncpAnCurrentSessionTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HwAncpAnCurrentSessionEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "It is the Huawei proprietary ANCP session status table. It is queried to 
              obtain the cause of failure to establish a session and check whether 
              the cause is inconsistency in capability set negotiation. It supports 
              the query function.
              The index of this table is ancpAnSessionConfigSessionId.
             "
       ::= { hwAncpAnObjects 5 }

hwAncpAnCurrentSessionEntry OBJECT-TYPE
       SYNTAX     HwAncpAnCurrentSessionEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "It is the Huawei proprietary ANCP session status table. It is queried to 
              obtain the cause of failure to establish a session and check whether 
              the cause is inconsistency in capability set negotiation. It supports 
              the query function.
              The index of this entry is ancpAnSessionConfigSessionId.
             "
       AUGMENTS    { ancpAnCurrentSessionEntry }
       ::= { hwAncpAnCurrentSessionTable 1 }

HwAncpAnCurrentSessionEntry ::= SEQUENCE {
       hwAncpAnCurrentSessionDiagnostic             INTEGER,
       hwAncpAnCurrentSessionPartitionUsedStatus    INTEGER
}

hwAncpAnCurrentSessionDiagnostic OBJECT-TYPE
       SYNTAX     INTEGER
       {
           noDiagnostic(1),
           capabilityNegotiationFailure(2)
       }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "This object indicates the diagnose result when a session fails to be established.
              Options:
              1. noDiagnostic(1)                 -indicates no diagnostic information
              2. capabilityNegotiationFailure(2) -indicates capability negotiation failure
             "
       ::= { hwAncpAnCurrentSessionEntry 1 }

hwAncpAnCurrentSessionPartitionUsedStatus OBJECT-TYPE
       SYNTAX     INTEGER
       {
           used (1),
           unused (2),
           unknow (255)
       }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "This object indicates the partition used status.
              Options:
              1. used(1)     -the partition is used
              2. unused(2)   -the partition is unused
              3. unknow(255) -the session is not established
             "
       ::= { hwAncpAnCurrentSessionEntry 2 }

--
-- Extend Partitions
--

hwAncpAnInterfaceConfigTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HwAncpAnInterfaceConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "An entry in the table showing the partition id for a
              specific user facing interface.
              The index of this table is ifIndex.
             "
       ::= { hwAncpAnObjects 6 }

hwAncpAnInterfaceConfigEntry OBJECT-TYPE
       SYNTAX     HwAncpAnInterfaceConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "An entry in the table showing the partition id for a
              specific user facing interface.
              The index of this entry is ifIndex.
             "
       AUGMENTS    { ancpAnInterfaceConfigEntry }
       ::= { hwAncpAnInterfaceConfigTable 1 }

HwAncpAnInterfaceConfigEntry ::= SEQUENCE {
       hwAncpAnInterfaceEnable         TruthValue,
       hwAncpAnInterfaceEncapType      INTEGER,
       hwAncpAnInterfacePara1          Unsigned32,
       hwAncpAnInterfacePara2          Unsigned32,
       hwAncpAnInterfacePara3          Unsigned32
}

hwAncpAnInterfaceEnable OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "This object specifies whether the user facing interface is managed by ANCP.
              Options:
              1. true(1)  -indicates the user facing interface is managed by ANCP
              2. false(2) -indicates the user facing interface is not managed by ANCP
             "
       DEFVAL { true }
       ::= { hwAncpAnInterfaceConfigEntry 1 }


hwAncpAnInterfaceEncapType OBJECT-TYPE
       SYNTAX     INTEGER { atm(1), eth(2), auto(3), invalid(-1) }
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "This object indicates the access type of the user.  
              Options: 
              1. atm(1)      -indicates the access type of user is ATM
              2. eth(2)      -indicates the access type of user is ETH
              3. auto(3)     -indicates the access type of user is auto mode. In this mode, 
                              the CID reported by ANCP is related with DSL profile
              4. invalid(-1) -indicates the access type of user is invalid
             "
       ::= { hwAncpAnInterfaceConfigEntry 2 }

hwAncpAnInterfacePara1 OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "In the case of user interface in ATM access, this parameter is valid 
              indicating the VPI of the user interface.
              4294967295 is invalid value.
             "
       ::= { hwAncpAnInterfaceConfigEntry 3 }

hwAncpAnInterfacePara2 OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "In the case of user interface in ATM access, this parameter is valid 
              indicating the VCI of the user interface.
              4294967295 is invalid value.
             "
       ::= { hwAncpAnInterfaceConfigEntry 4 }

hwAncpAnInterfacePara3 OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "In the case of user interface in ETH access, this parameter is valid 
              indicating the VLAN of the user.
              4294967295 is invalid value.
             "
       ::= { hwAncpAnInterfaceConfigEntry 5 }

--
-- Partitions information
--

hwAncpAnPartitionTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HwAncpAnPartitionEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "This table is used to configure the circuit IDs in batches for all ports in a 
              certain partition on an access node. This table can only used to get the circuit
              IDs of one port assoicated with the partition. If you need to obtain the current 
              circuit ID configured for a certain port, you can specify a port to be queried 
              in hwAncpAnInterfaceConfigTable. The index of this table is hwAncpAnPartitionId.
             "
              
       ::= { hwAncpAnObjects 7 }

hwAncpAnPartitionEntry OBJECT-TYPE
       SYNTAX     HwAncpAnPartitionEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "This table is used to configure the circuit IDs in batches for all ports in a 
              certain partition on an access node. This table can only used to get the circuit
              IDs of one port assoicated with the partition. If you need to obtain the current 
              circuit ID configured for a certain port, you can specify a port to be queried 
              in hwAncpAnInterfaceConfigTable. The index of this entry is hwAncpAnPartitionId.
             "
       INDEX { hwAncpAnPartitionId }
       ::= { hwAncpAnPartitionTable 1 }

HwAncpAnPartitionEntry ::= SEQUENCE {
       hwAncpAnPartitionId                      Unsigned32,
       hwAncpAnPartitionInterfaceEncapType      INTEGER,
       hwAncpAnPartitionInterfacePara1          Unsigned32,
       hwAncpAnPartitionInterfacePara2          Unsigned32,
       hwAncpAnPartitionInterfacePara3          Unsigned32
}

hwAncpAnPartitionId OBJECT-TYPE
       SYNTAX     Unsigned32(0..255)
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "This object specifies whether the user facing interface is managed by ANCP.
             "
       ::= { hwAncpAnPartitionEntry 1 }


hwAncpAnPartitionInterfaceEncapType OBJECT-TYPE
       SYNTAX     INTEGER { atm(1), eth(2), auto(3), xpon(4) }
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "This object indicates the access type of the user. 
              Options:
              1. atm(1)  -indicates the access type of user is ATM
              2. eth(2)  -indicates the access type of user is ETH
              3. auto(3) -indicates the access type of user is auto mode. In this mode, 
                          the CID reported by ANCP is related with DSL profile
              4. xpon(4) -indicates the access type of user is XPON
             "
       ::= { hwAncpAnPartitionEntry 2 }

hwAncpAnPartitionInterfacePara1 OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "In the case of user interface in ATM access, this parameter is valid 
              indicating the VPI of the user interface.
              4294967295 is invalid value.
              Range: 0-4095
             "
       ::= { hwAncpAnPartitionEntry 3 }

hwAncpAnPartitionInterfacePara2 OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "In the case of user interface in ATM access, this parameter is valid 
              indicating the VCI of the user interface.
              4294967295 is invalid value.
              Range: 32-65535
             "
       ::= { hwAncpAnPartitionEntry 4 }

hwAncpAnPartitionInterfacePara3 OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "In the case of user interface in ETH or XPON access, this parameter is valid 
              indicating the VLAN of the user.
              4294967295 is invalid value.
              Range: 1-4095
             "
       ::= { hwAncpAnPartitionEntry 5 }
       
hwAncpAnSessionStatisticTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HwAncpAnSessionStatisticEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "It is the Huawei proprietary ANCP session statistics table. It is 
              queried to obtain the ANCP session statistics. It supports the query 
              sand clear functions. 
              The index of this table is ancpAnSessionConfigSessionId.
             "
       ::= { hwAncpAnObjects 8 }

hwAncpAnSessionStatisticEntry OBJECT-TYPE
       SYNTAX     HwAncpAnSessionStatisticEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "It is the Huawei proprietary ANCP session statistics table. It is 
              queried to obtain the ANCP session statistics. It supports the query 
              sand clear functions. 
              The index of this entry is ancpAnSessionConfigSessionId.
             "
       INDEX { ancpAnSessionConfigSessionId }
       ::= { hwAncpAnSessionStatisticTable 1 }

HwAncpAnSessionStatisticEntry ::= SEQUENCE {
       hwAncpAnSessionClearStatistics                 INTEGER,
       hwAncpAnSessionStatSentSynMessages             ZeroBasedCounter32,
       hwAncpAnSessionStatSentSynAckMessages          ZeroBasedCounter32,
       hwAncpAnSessionStatSentAckMessages             ZeroBasedCounter32,
       hwAncpAnSessionStatSentRstAckMessages          ZeroBasedCounter32,
       hwAncpAnSessionStatSentTopoUpMessages          ZeroBasedCounter32,
       hwAncpAnSessionStatSentTopoDownMessages        ZeroBasedCounter32,
       hwAncpAnSessionStatSentLineCfgMessages         ZeroBasedCounter32,
       hwAncpAnSessionStatSentOamMessages             ZeroBasedCounter32,
       hwAncpAnSessionStatSentCacMessages             ZeroBasedCounter32,
       hwAncpAnSessionStatSentCacThresholdMessages    ZeroBasedCounter32,      
       hwAncpAnSessionStatSentCacApplyBwMessages      ZeroBasedCounter32,
       hwAncpAnSessionStatSentFailedMessages          ZeroBasedCounter32,
       hwAncpAnSessionStatRcvdSynMessages             ZeroBasedCounter32,
       hwAncpAnSessionStatRcvdSynAckMessages          ZeroBasedCounter32,
       hwAncpAnSessionStatRcvdAckMessages             ZeroBasedCounter32,
       hwAncpAnSessionStatRcvdRstAckMessages          ZeroBasedCounter32,
       hwAncpAnSessionStatRcvdLineCfgMessages         ZeroBasedCounter32,
       hwAncpAnSessionStatRcvdOamMessages             ZeroBasedCounter32,       
       hwAncpAnSessionStatRcvdCacMessages             ZeroBasedCounter32,
       hwAncpAnSessionStatRcvdCacThresholdMessages    ZeroBasedCounter32,
       hwAncpAnSessionStatRcvdCacBdApplyMessages      ZeroBasedCounter32,
       hwAncpAnSessionStatRcvdUnknownMessages         ZeroBasedCounter32
}

hwAncpAnSessionClearStatistics OBJECT-TYPE
       SYNTAX     INTEGER{ clear(1) }
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "This object allowed clearing the message statistics of the session.
              Options:
              1. clear(1) -clear the message statistics of the session
             "
       ::= { hwAncpAnSessionStatisticEntry 1 }

hwAncpAnSessionStatSentSynMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent SYN Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 2 }

hwAncpAnSessionStatSentSynAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent SYNACK Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 3 }

hwAncpAnSessionStatSentAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent ACK Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 4 }
       
hwAncpAnSessionStatSentRstAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent RSTACK Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 5 } 
       
hwAncpAnSessionStatSentTopoUpMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent TOPO up Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 6 }
       
hwAncpAnSessionStatSentTopoDownMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent TOPO down Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 7 }
                     
hwAncpAnSessionStatSentLineCfgMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent line config Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 8 }
                     
hwAncpAnSessionStatSentOamMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent OAM Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 9 }
                     
hwAncpAnSessionStatSentCacMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent CAC Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 10 }
                        
hwAncpAnSessionStatSentCacThresholdMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent CAC threshold Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 11 }
                      
hwAncpAnSessionStatSentCacApplyBwMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent CAC bandwidth apply Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 12 }                      

hwAncpAnSessionStatSentFailedMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent failed Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 13 }      
              
hwAncpAnSessionStatRcvdSynMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received SYN Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 14 }               
   
hwAncpAnSessionStatRcvdSynAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received SYNACK Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 15 }    

hwAncpAnSessionStatRcvdAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received ACK Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 16 } 

hwAncpAnSessionStatRcvdRstAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "
              The number of messages that in this session have been received RSTACK Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 17 } 
              
hwAncpAnSessionStatRcvdLineCfgMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received Line Config Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 18 }    

hwAncpAnSessionStatRcvdOamMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received OAM Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 19 }           
             
hwAncpAnSessionStatRcvdCacMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received CAC Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 20 }           
             
hwAncpAnSessionStatRcvdCacThresholdMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received CAC threshold Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 21 }             
 
hwAncpAnSessionStatRcvdCacBdApplyMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received CAC bandwidth apply Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 22 }  
       
hwAncpAnSessionStatRcvdUnknownMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received failed Message.
             "
       ::= { hwAncpAnSessionStatisticEntry 23 }  
--
-- Traps
--

hwAncpAnTraps OBJECT IDENTIFIER ::= { hwAncpAnObjects 9 }

hwAncpAnTrapsVbOids OBJECT IDENTIFIER ::= { hwAncpAnTraps 0 }

hwAncpAnSessionUpTrapParaNum OBJECT-TYPE
       SYNTAX Unsigned32(1..4294967295)
       MAX-ACCESS accessible-for-notify
       STATUS current
       DESCRIPTION
       "Indicates the  parameters number of the hwAncpAnSessionUpTrap. 
       "
       ::= { hwAncpAnTrapsVbOids 1 }   
       
hwAncpAnSessionDownTrapParaNum OBJECT-TYPE
       SYNTAX Unsigned32(1..4294967295)
       MAX-ACCESS accessible-for-notify
       STATUS current
       DESCRIPTION
       "Indicates the  parameters number of the hwAncpAnSessionDownTrap. 
       "
       ::= { hwAncpAnTrapsVbOids 2 }    
  
hwAncpAnCommonTraps OBJECT IDENTIFIER ::= { hwAncpAnTraps 1 } 
        
hwAncpAnCommonTrapsPrefix OBJECT IDENTIFIER ::= { hwAncpAnCommonTraps 0 }

hwAncpAnSessionDownTrap NOTIFICATION-TYPE
       OBJECTS {
                ancpAnSessionConfigSessionId,
                hwAncpAnSessionDownTrapParaNum,
                ancpAnCurrentSessionAnIpAddressType,
                ancpAnCurrentSessionAnIpAddress,
                ancpAnSessionConfigNasIpAddressType,
                ancpAnSessionConfigNasIpAddress,
                ancpAnCurrentSessionAnInstance,
                ancpAnCurrentSessionNasInstance,
                ancpAnCurrentSessionStartUptime,
                ancpAnCurrentSessionDiscontinuityTime,
                ancpAnCurrentSessionStatSentMessages,
                ancpAnCurrentSessionStatReceivedValidMessages,
                ancpAnCurrentSessionStatDiscardedMessages
               }
       STATUS current
       DESCRIPTION
             "This notification is generated whenever an ANCP session
              goes down.  A session can go down for several reasons:
              1) The ANCP session can be deleted by a manager from the
                 ancpAnSessionConfigTable, and hence it will also be
                 removed from the ancpAnCurrentSessionTable.
              2) The session can go operational down due to some
                 malfunction in the network, the AN, or the NAS.  In
                 this case, the ANCP session will be still in the
                 ancpAnSessionConfigTable and ancpAnCurrentSessionTable,
                 but the ancpAnCurrentSessionState moves from the estab
                 state to another state.
              This notification is only generated when
              ancpAnSessionConfigNotifyDnEnable of this session is set
              to true.
             "
       ::= { hwAncpAnCommonTrapsPrefix 1 }

hwAncpAnSessionUpTrap NOTIFICATION-TYPE
       OBJECTS {
                ancpAnSessionConfigSessionId,
                hwAncpAnSessionUpTrapParaNum,
                ancpAnCurrentSessionAnInstance
               }
       STATUS current
       DESCRIPTION
            "This notification is generated when an ANCP session enters
             the estab state as given by ancpAnCurrentSessionState.
             Since ancpAnCurrentSessionAnInstance identifies the ANCP
             session uniquely the other attributes can be derived from
             this attribute.
             This notification is only generated when
             ancpAnSessionConfigNotifyUpEnable of this session is set
             to true.
            "
       ::= { hwAncpAnCommonTrapsPrefix 2 }
       
hwAncpAnSessionDiagnosticTrap NOTIFICATION-TYPE
       OBJECTS {
                ancpAnSessionConfigSessionId,
                ancpAnCurrentSessionAnIpAddressType,
                ancpAnCurrentSessionAnIpAddress,
                ancpAnSessionConfigNasIpAddressType,
                ancpAnSessionConfigNasIpAddress,
                hwAncpAnCurrentSessionDiagnostic
               }
       STATUS current
       DESCRIPTION
            "If the setup of the connection fails, the DSLAM 
             and the BRAS must generate an appropriate fault/alarm 
             message to the network management system.
            "
       ::= { hwAncpAnCommonTrapsPrefix 3 }

hwAncpAnSessionDown NOTIFICATION-TYPE
       OBJECTS {
                 ancpAnSessionConfigSessionId,
                 ancpAnCurrentSessionAnIpAddressType,
                 ancpAnCurrentSessionAnIpAddress,
                 ancpAnSessionConfigNasIpAddressType,
                 ancpAnSessionConfigNasIpAddress,
                 ancpAnCurrentSessionAnInstance,
                 ancpAnCurrentSessionNasInstance,
                 ancpAnCurrentSessionStartUptime,
                 ancpAnCurrentSessionDiscontinuityTime,
                 ancpAnCurrentSessionStatSentMessages,
                 ancpAnCurrentSessionStatReceivedValidMessages,
                 ancpAnCurrentSessionStatDiscardedMessages
               }
       STATUS current
       DESCRIPTION
             "This notification is generated whenever an ANCP session
              goes down.  A session can go down for several reasons:
              1) The ANCP session can be deleted by a manager from the
                 ancpAnSessionConfigTable, and hence it will also be
                 removed from the ancpAnCurrentSessionTable.
              2) The session can go operational down due to some
                 malfunction in the network, the AN, or the NAS.  In
                 this case, the ANCP session will be still in the
                 ancpAnSessionConfigTable and ancpAnCurrentSessionTable,
                 but the ancpAnCurrentSessionState moves from the estab
                 state to another state.
              This notification is only generated when
              ancpAnSessionConfigNotifyDnEnable of this session is set
              to true."
       ::= { hwAncpAnCommonTrapsPrefix 4 }

hwAncpAnSessionUp NOTIFICATION-TYPE
       OBJECTS {
                 ancpAnSessionConfigSessionId,
                 ancpAnCurrentSessionAnInstance
               }
       STATUS current
       DESCRIPTION
            "This notification is generated when an ANCP session enters
             the estab state as given by ancpAnCurrentSessionState.
             Since ancpAnCurrentSessionAnInstance identifies the ANCP
             session uniquely the other attributes can be derived from
             this attribute.
             This notification is only generated when
             ancpAnSessionConfigNotifyUpEnable of this session is set
             to true."
       ::= { hwAncpAnCommonTrapsPrefix 5 }

--
-- Extend ONT Partitions
--

hwAncpAnPonInterfaceConfigTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HwAncpAnPonInterfaceConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "An entry in the table showing the partition id for a specific user on an ont.
              The indexes of this table are ifIndex and hwAncpAnPonInterfaceOntId.
             "
       ::= { hwAncpAnObjects 10 }

hwAncpAnPonInterfaceConfigEntry OBJECT-TYPE
       SYNTAX     HwAncpAnPonInterfaceConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "An entry in the table showing the partition id for a specific user on an ont.
              The indexes of this entry are ifIndex and hwAncpAnPonInterfaceOntId.
             "
       INDEX 
            { 
            ifIndex,
            hwAncpAnPonInterfaceOntId
            }
       ::= { hwAncpAnPonInterfaceConfigTable 1 }

HwAncpAnPonInterfaceConfigEntry ::= SEQUENCE {
       hwAncpAnPonInterfaceOntId              Unsigned32,
       hwAncpAnPonInterfaceConfigPartitionId  Unsigned32,
       hwAncpAnPonInterfaceEnable             TruthValue,
       hwAncpAnPonInterfaceCvlanid            Unsigned32
}

hwAncpAnPonInterfaceOntId OBJECT-TYPE
            SYNTAX   Unsigned32
            MAX-ACCESS   not-accessible
            STATUS       current
            DESCRIPTION
                "Indicates the ONT ID of the user for the ANCP configuration.
                "
            ::= { hwAncpAnPonInterfaceConfigEntry 1 }
            
hwAncpAnPonInterfaceConfigPartitionId OBJECT-TYPE
       SYNTAX     Unsigned32 (0..255)
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "This object specifies whether the user on the ont is managed by ANCP.
             Default: 0.
             "
       ::= { hwAncpAnPonInterfaceConfigEntry 2 }

hwAncpAnPonInterfaceEnable OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "This object specifies whether the user on the ont is managed by ANCP.
              Options:
              1. true(1)  -indicates the user on the ont is managed by ANCP
              2. false(2) -indicates the user on the ont is not managed by ANCP
              Default: true(1).
             "
       DEFVAL { true }
       ::= { hwAncpAnPonInterfaceConfigEntry 3 }

hwAncpAnPonInterfaceCvlanid OBJECT-TYPE
       SYNTAX     Unsigned32 (1..4095)
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "Indicates the VLAN of the user on the ont is managed by ANCP.
             Default: 1.
             "
       ::= { hwAncpAnPonInterfaceConfigEntry 4 }

hwAncpProxyStatus OBJECT-TYPE
        SYNTAX   INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
              "ANCP proxy function switch.
               Options: 
               1. enable(1)      -indicates the ANCP proxy function switch is on
               2. disable(2)     -indicates the ANCP proxy function switch is off
               Default: disable(2)
              "
        ::= { hwAncpAnObjects 11 }
        
hwAncpTcpListenPortNumber OBJECT-TYPE
        SYNTAX Unsigned32(1024..49151)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "This object is used to configure the ANCP listen tcp port.
               Range: 1024-49151
               Default: 6068
              "
        ::= { hwAncpAnObjects 12 }        

hwAncpProxySubSessionConfigTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HwAncpProxySubSessionConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "This table represents the ANCP sessions in the network access server. 
              An entry in this table needs to be configured
              (created) before an ANCP session might be started.
              The index of this table is hwAncpProxySubSessionConfigSubSessionId.
             "
       ::= { hwAncpAnObjects 13 }

hwAncpProxySubSessionConfigEntry OBJECT-TYPE
       SYNTAX     HwAncpProxySubSessionConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "This table represents the ANCP sessions in the network access server. 
              An entry in this table needs to be configured
              (created) before an ANCP session might be started.
              The index of this entry is hwAncpProxySubSessionConfigSubSessionId.
             "
       INDEX { hwAncpProxySubSessionConfigSubSessionId }
       ::= { hwAncpProxySubSessionConfigTable 1 }

HwAncpProxySubSessionConfigEntry ::= SEQUENCE {
       hwAncpProxySubSessionConfigSubSessionId       Unsigned32,
       hwAncpProxySubSessionConfigRowStatus          RowStatus,
       hwAncpProxySubSessionConfigAliveTimer         Unsigned32,
       hwAncpProxySubSessionConfigAncpRetryTimer     Unsigned32,
       hwAncpProxySubSessionConfigNasName            GsmpNameType,
       hwAncpProxySubSessionConfigPartitionId        GsmpPartitionIdType,
       hwAncpProxySubSessionConfigAnIpAddressType    InetAddressType,
       hwAncpProxySubSessionConfigAnIpAddress        InetAddress,
       hwAncpProxySubSessionConfigSessionId          Unsigned32
}

hwAncpProxySubSessionConfigSubSessionId OBJECT-TYPE
       SYNTAX     Unsigned32 (1..512)
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "A system generated index to distinguish between
              different sessions. Session may be actually established
              or just potential."
       ::= { hwAncpProxySubSessionConfigEntry 1 }

hwAncpProxySubSessionConfigRowStatus OBJECT-TYPE
       SYNTAX     RowStatus
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "An object that allows entries in this table to
              be created and deleted using the RowStatus convention."
       ::= { hwAncpProxySubSessionConfigEntry 2 }
       
hwAncpProxySubSessionConfigAliveTimer OBJECT-TYPE
       SYNTAX     Unsigned32(10..255)
       UNITS      "deciseconds"
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "The timer specifies the nominal time between periodic
              adjacency protocol messages generated by the network access server.
              It is a constant for the duration of an ANCP session. The
              timer is specified in units of 100ms. The value of this
              object is persistent."
       DEFVAL { 250 }
       ::= { hwAncpProxySubSessionConfigEntry 3 }

hwAncpProxySubSessionConfigAncpRetryTimer OBJECT-TYPE
       SYNTAX     Unsigned32(0..255)
       UNITS      "deciseconds"
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "The timer specifies the nominal time between
              2 ANCP connection setup attempts.
              The timer is specified in units of 100ms.
              A value 0 means that the network access server will not
              spontaneously trigger an ANCP session.
              Whatever the setting of this timer, the network access 
              server shall always listen for ANCP session setup.
              The value of this object is persistent."              
       DEFVAL { 10 }
       ::= { hwAncpProxySubSessionConfigEntry 4 }

hwAncpProxySubSessionConfigNasName OBJECT-TYPE
       SYNTAX     GsmpNameType
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "The name of the network access server. The first three octets must
              be an Organizationally Unique Identifier (OUI) that
              identifies the manufacturer of the network access server. This can
              be (one of) the MAC address(es) of the network access server on the
              network side.
              It may not change during the ANCP session.
              When set to zero, the network access server shall autonomously
              decide on using the most appropriate MAC address of the
              network access server. Then the actually used network access server 
              name can be read from hwAncpProxySubSessionConfigNasName.
              The value of this object is persistent."
       DEFVAL { '000000000000'H }
       ::= { hwAncpProxySubSessionConfigEntry 5 }

hwAncpProxySubSessionConfigPartitionId OBJECT-TYPE
       SYNTAX     GsmpPartitionIdType
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "The Id for this session's specific network access server partition.
              The value of this object is persistent."
       DEFVAL { '00'H }
       ::= { hwAncpProxySubSessionConfigEntry 6 }

hwAncpProxySubSessionConfigAnIpAddressType OBJECT-TYPE
       SYNTAX     InetAddressType
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "The type of address in hwAncpProxySubSessionConfigAnIpAddress.
              The value of this object is persistent."
       ::= { hwAncpProxySubSessionConfigEntry 7 }

hwAncpProxySubSessionConfigAnIpAddress OBJECT-TYPE
       SYNTAX     InetAddress
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "The IP address used for the ANCP session peer (AN).
              The value of this object is persistent."
       ::= { hwAncpProxySubSessionConfigEntry 8 }

hwAncpProxySubSessionConfigSessionId OBJECT-TYPE
       SYNTAX     Unsigned32 (0..255)
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
             "The ID for the main session.
              0 indicates that this session is not associated with the main session."
       ::= { hwAncpProxySubSessionConfigEntry 9 }
	
hwAncpProxyCurrentSubSessionTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HwAncpProxyCurrentSubSessionEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "This table gives actual information of the sessions
              in the network access server.
              A row in this table is created when the corresponding row
              in the hwAncpProxySubSessionConfigTable is activated.
              A row in this table is deleted when the corresponding row
              in the hwAncpProxySubSessionConfigTable is deleted.
              The index of this table is hwAncpProxySubSessionConfigSubSessionId.
             "
       ::= { hwAncpAnObjects 14 }

hwAncpProxyCurrentSubSessionEntry OBJECT-TYPE
       SYNTAX     HwAncpProxyCurrentSubSessionEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "This table gives actual information of the sessions
              in the network access server.
              A row in this table is created when the corresponding row
              in the hwAncpProxySubSessionConfigTable is activated.
              A row in this table is deleted when the corresponding row
              in the hwAncpProxySubSessionConfigTable is deleted.
              The index of this entry is hwAncpProxySubSessionConfigSubSessionId.
              "
       INDEX { hwAncpProxySubSessionConfigSubSessionId }
       ::= { hwAncpProxyCurrentSubSessionTable 1 }

HwAncpProxyCurrentSubSessionEntry ::= SEQUENCE {
       hwAncpProxyCurrentSubSessionState              INTEGER,
       hwAncpProxyCurrentSubSessionGsmpVersion        GsmpVersion,
       hwAncpProxyCurrentSubSessionGsmpSubVersion     GsmpSubVersion,
       hwAncpProxyCurrentSubSessionAnName             GsmpNameType,
       hwAncpProxyCurrentSubSessionNasName            GsmpNameType,
       hwAncpProxyCurrentSubSessionAnInstance         Unsigned32,
       hwAncpProxyCurrentSubSessionNasInstance        Unsigned32,
       hwAncpProxyCurrentSubSessionCapabilities       AncpSessionCapabilities,
       hwAncpProxyCurrentSubSessionStartUptime        TimeTicks,
       hwAncpProxyCurrentSubSessionDiscontinuityTime  TimeTicks
}

hwAncpProxyCurrentSubSessionState OBJECT-TYPE
       SYNTAX     INTEGER {
                      null(1),
                      synsent(2),
                      synrcvd(3),
                      estab(4)
                  }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The state of this session.
		 Options:
		  1. null(1)  	-Indicates before syn phase state.  
		  2. synsent(2) -Indicates syn packet sent state. 
		  3. synrcvd(3)	-Indicates syn packet received state. 
		  4. estab(4)	-Indicates session established state. 
              The null (1) state is returned if the proper
              encapsulation data is not yet configured, if the row is
              not in active status or if the session is in NULL state
              as defined in the GSMP specification."
       ::= { hwAncpProxyCurrentSubSessionEntry 1 }

hwAncpProxyCurrentSubSessionGsmpVersion OBJECT-TYPE
       SYNTAX     GsmpVersion
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The actual version number of the GSMP protocol that
              is used in this session.
              This object has value 0 if hwAncpProxyCurrentSubSessionState is
              not estab(4)."
       ::= { hwAncpProxyCurrentSubSessionEntry 2 }

hwAncpProxyCurrentSubSessionGsmpSubVersion OBJECT-TYPE
       SYNTAX     GsmpSubVersion
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The actual subversion number of the GSMP protocol that
              may be used in this session.
              This object has value 0 if hwAncpProxyCurrentSubSessionState is
              not estab(4)."
       ::= { hwAncpProxyCurrentSubSessionEntry 3 }

hwAncpProxyCurrentSubSessionAnName OBJECT-TYPE
       SYNTAX     GsmpNameType
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The name of the access node used in this session.
              The value of this object is used as value for the
              'Sender Name' field in the header of the ANCP messages
              generated for this session by the AN."
       ::= { hwAncpProxyCurrentSubSessionEntry 4 }

hwAncpProxyCurrentSubSessionNasName OBJECT-TYPE
       SYNTAX     GsmpNameType
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The name of the NAS as advertised in the adjacency message.
              It should be the same as hwAncpProxySubSessionConfigNasName if that
              object is not set to zero.  If hwAncpProxySubSessionConfigNasName
              is set to zero, then this object will contain the MAC
              address selected by the network access server as described in the
              description of hwAncpProxySubSessionConfigNasName.
              The value of this object is used as value for the
              'Sender Name' field in the header of the ANCP messages
              generated for this session by the NAS."
       ::= { hwAncpProxyCurrentSubSessionEntry 5 }

hwAncpProxyCurrentSubSessionAnInstance OBJECT-TYPE
       SYNTAX     Unsigned32(0..16777215)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The instance number used by the access node during this
              session. The Instance number is a 24-bit number
              that should be guaranteed to be unique within
              the recent past and to change when the link
              or node comes back up after going down. Zero is
              not a valid instance number.
              This object has value 0 if hwAncpProxyCurrentSubSessionState is
              not estab(4)."
       ::= { hwAncpProxyCurrentSubSessionEntry 6 }

hwAncpProxyCurrentSubSessionNasInstance OBJECT-TYPE
       SYNTAX     Unsigned32(0..16777215)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The instance number used by the NAS during this
              session. The Instance number is a 24-bit number
              that should be guaranteed to be unique within
              the recent past and to change when the link
              or node comes back up after going down.
              This object has value 0 if hwAncpProxyCurrentSubSessionState is
              not estab(4)."
       ::= { hwAncpProxyCurrentSubSessionEntry 7 }

hwAncpProxyCurrentSubSessionCapabilities OBJECT-TYPE
       SYNTAX     AncpSessionCapabilities
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The common ANCP capabilities supported by the AN and
              NAS in this session.
              The object has the value 0 if no capabilities are
              supported
              or if hwAncpProxyCurrentSubSessionState is not estab(4)."
       ::= { hwAncpProxyCurrentSubSessionEntry 8 }

hwAncpProxyCurrentSubSessionStartUptime OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The value of sysUpTime when the session came to
              established state.
              This object has value 0 if hwAncpProxyCurrentSubSessionState is
              not estab(4)."
       ::= { hwAncpProxyCurrentSubSessionEntry 9 }

hwAncpProxyCurrentSubSessionDiscontinuityTime OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The value of sysUpTime on the most recent occasion at
              which session's counters suffered a discontinuity.
              If no such discontinuities have occurred since then,
              this object contains the same value as
              hwAncpProxyCurrentSubSessionStartUptime."
       ::= { hwAncpProxyCurrentSubSessionEntry 10 }
	   
hwAncpProxySubSessionStatisticTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HwAncpProxySubSessionStatisticEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "It is the Huawei proprietary ANCP session statistics table. It is 
              queried to obtain the ANCP session statistics. It supports the query 
              sand clear functions. 
              The index of this table is hwAncpProxySubSessionConfigSubSessionId.
             "
       ::= { hwAncpAnObjects 15 }

hwAncpProxySubSessionStatisticEntry OBJECT-TYPE
       SYNTAX     HwAncpProxySubSessionStatisticEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "It is the Huawei proprietary ANCP session statistics table. It is 
              queried to obtain the ANCP session statistics. It supports the query 
              sand clear functions. 
              The index of this entry is hwAncpProxySubSessionConfigSubSessionId.
             "
       INDEX { hwAncpProxySubSessionConfigSubSessionId }
       ::= { hwAncpProxySubSessionStatisticTable 1 }

HwAncpProxySubSessionStatisticEntry ::= SEQUENCE {
       hwAncpProxySubSessionClearStatistics                       INTEGER,
       hwAncpProxySubSessionStatRcvdSynMessages                   ZeroBasedCounter32,
       hwAncpProxySubSessionStatRcvdSynAckMessages                ZeroBasedCounter32,
       hwAncpProxySubSessionStatRcvdAckMessages                   ZeroBasedCounter32,
       hwAncpProxySubSessionStatRcvdRstAckMessages                ZeroBasedCounter32,
       hwAncpProxySubSessionStatRcvdLineCfgMessages               ZeroBasedCounter32,
       hwAncpProxySubSessionStatRcvdOamMessages                   ZeroBasedCounter32,
       hwAncpProxySubSessionStatRcvdTopoUpMessages                ZeroBasedCounter32,
       hwAncpProxySubSessionStatRcvdTopoDownMessages              ZeroBasedCounter32,
       hwAncpProxySubSessionStatRcvdUnknownMessages               ZeroBasedCounter32,
       hwAncpProxySubSessionStatSentSynMessages                   ZeroBasedCounter32,      
       hwAncpProxySubSessionStatSentSynAckMessages                ZeroBasedCounter32,
       hwAncpProxySubSessionStatSentAckMessages                   ZeroBasedCounter32,
       hwAncpProxySubSessionStatSentRstAckMessages                ZeroBasedCounter32,
       hwAncpProxySubSessionStatSentLineCfgMessages               ZeroBasedCounter32,
       hwAncpProxySubSessionStatSentOamMessages                   ZeroBasedCounter32,
       hwAncpProxySubSessionStatSentFailedMessages                ZeroBasedCounter32,
       hwAncpProxySubSessionStatRcvdMessagesAfterSessionUp        ZeroBasedCounter32,
       hwAncpProxySubSessionStatSentMessagesAfterSessionUp        ZeroBasedCounter32,       
       hwAncpProxySubSessionStatDiscardedMessagesAfterSessionUp   ZeroBasedCounter32
}

hwAncpProxySubSessionClearStatistics OBJECT-TYPE
       SYNTAX     INTEGER{ clear(1) }
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
             "This object allowed clearing the message statistics of the session.
              Options:
              1. clear(1) -clear the message statistics of the session
             "
       ::= { hwAncpProxySubSessionStatisticEntry 1 }
	   
hwAncpProxySubSessionStatRcvdSynMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received SYN Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 2 } 

hwAncpProxySubSessionStatRcvdSynAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received SYNACK Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 3 }
	   
hwAncpProxySubSessionStatRcvdAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received ACK Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 4 } 

hwAncpProxySubSessionStatRcvdRstAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "
              The number of messages that in this session have been received RSTACK Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 5 } 
              
hwAncpProxySubSessionStatRcvdLineCfgMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received Line Config Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 6}    

hwAncpProxySubSessionStatRcvdOamMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received OAM Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 7 } 
	   
hwAncpProxySubSessionStatRcvdTopoUpMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received TOPO up Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 8 }
       
hwAncpProxySubSessionStatRcvdTopoDownMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received TOPO down Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 9 } 
       
hwAncpProxySubSessionStatRcvdUnknownMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received unknown Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 10 } 
	   
hwAncpProxySubSessionStatSentSynMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent SYN Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 11 }

hwAncpProxySubSessionStatSentSynAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent SYNACK Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 12 }

hwAncpProxySubSessionStatSentAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent ACK Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 13 }
       
hwAncpProxySubSessionStatSentRstAckMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent RSTACK Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 14 } 
                     
hwAncpProxySubSessionStatSentLineCfgMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent line config Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 15 }
                     
hwAncpProxySubSessionStatSentOamMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent OAM Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 16 }
	   
hwAncpProxySubSessionStatSentFailedMessages OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent failed Message.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 17}   
	   
hwAncpProxySubSessionStatRcvdMessagesAfterSessionUp OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been received Message after session up.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 18 }
                        
hwAncpProxySubSessionStatSentMessagesAfterSessionUp OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been sent Message after session up.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 19 }
                      
hwAncpProxySubSessionStatDiscardedMessagesAfterSessionUp OBJECT-TYPE
       SYNTAX     ZeroBasedCounter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The number of messages that in this session have been discarded Message after session up.
             "
       ::= { hwAncpProxySubSessionStatisticEntry 20 }              

END
