-- ****************************************************************
-- CISCO-WAN-ATM-PARTY-MIB.my: 
--
-- CISCO MSSBU ATM Point-to-Multipoint Connection Party MIB
--
-- Copyright (c) 2002 by cisco Systems, Inc.
-- All rights reserved.
-- 
-- *****************************************************************

CISCO-WAN-ATM-PARTY-MIB DEFINITIONS ::= BEGIN
IMPORTS

    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Unsigned32
                        FROM SNMPv2-SMI

    RowStatus, 
    TruthValue,
    DisplayString,
    TEXTUAL-CONVENTION  FROM SNMPv2-TC  

    MODULE-COMPLIANCE, 
    OBJECT-GROUP        FROM SNMPv2-CONF

    ifIndex             FROM IF-MIB

    ciscoMgmt           FROM CISCO-SMI;

ciscoWanAtmPartyMIB     MODULE-IDENTITY
    LAST-UPDATED        "200206170000Z"
    ORGANIZATION        "Cisco Systems, Inc."
    CONTACT-INFO
        "               Cisco Systems
                        Customer Service

                        Postal: 170 W Tasman Drive
                        San Jose, CA 95134
                        USA

                        Tel: +1 800 553-NETS
                        E-mail: cs-wanatm@cisco.com
        "
    DESCRIPTION
        "A management station can use this MIB to provision,
        manage or delete one or more 'parties' on an ATM
        point-to-multipoint Soft PVCC(SPVC) connection. 

        The user must add a root endpoint to the managed system 
        before proceed to add one or more 'parties' to the root.
        The provision and management of a 'root' endpoint is 
        beyond the scope of this MIB. Please refer to 
        CISCO-WAN-ATM-CONN-MIB.my for the provisioning and
        management of a 'root' endpoint.

        This MIB is based on 'ITU-T recommendation Q.2971 (10/95) 
        BROADBAND INTEGRATED SERVICES DIGITAL NETWORK (B-ISDN)
        - DIGITAL SUBSCRIBER SIGNALLING SYSTEM No. 2 (DSS 2) -
        USER-NETWORK INTERFACE LAYER 3 SPECIFICATION FOR POINT-
        TO-MULTIPOINT CALL/CONNECTION CONTROL" 
    REVISION    "200206170000Z"
        DESCRIPTION     "Initial version of the MIB"
    ::= { ciscoMgmt 99998 }


ciscoWanAtmPartyMIBNotifs   
    OBJECT IDENTIFIER ::= { ciscoWanAtmPartyMIB 0 }
ciscoWanAtmPartyMIBObjects  
    OBJECT IDENTIFIER ::= { ciscoWanAtmPartyMIB 1 }
cwapConfig                  
    OBJECT IDENTIFIER ::= { ciscoWanAtmPartyMIBObjects 1 }
ciscoWanAtmPartyMIBConform  
    OBJECT IDENTIFIER ::= { ciscoWanAtmPartyMIB 2 }


-- TEXTUAL CONVENTIONS 

WanPartyAdminStatus ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Defines 'administrative status' of a 'party'."
    SYNTAX  INTEGER {
            up(1),
            down(2)
    }

WanPartyOperStatus ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Defines 'operational status' of a 'party'."
    SYNTAX  INTEGER {
            ok(1),
            fail(2)
    }


WanNsapAtmAddress ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "ATM address used by the managed system. The only
        address type presently supported is ATM Network Service
        Access Point (NSAP) addresses (20 octets)."
    SYNTAX OCTET STRING (SIZE(20))


-- Party Configuration Group 

cwapConfigTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwapConfigEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains mandatory 'party' configuration
        for all ATM point-to-multipoint Soft Permanent Virtual
        Channel Connections (SPVC).
        "
        ::= { cwapConfig 1 }


cwapConfigEntry  OBJECT-TYPE
    SYNTAX           CwapConfigEntry
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION
        "An entry in the 'cwapConfigTable'. Each entry
        corresponds to one party of a point-to-multipoint
        connection.

        (1) To add an entry, the management 
        application must first provision a 'root' endpoint. 

        (2) While adding an entry, the variables
        'cwapNSAPAddress', 'cwapVpi' and 'cwapVci' are 
        mandatory. The 'cwapNSAPAddress', 'csapVpi'  
        and 'cwapVci' are not required to be unique.  
        
        (3) The row creation will fail if the root endpoint does 
        not exist.

        (4) The following management operations are permitted on
        a row when the 'cwapRowStatus' is 'active':
            a) row deletion.
            b) toggling of the administrative status of a 'party'
               via the 'cwapAdminStatus' object. 
            c) triggering a reroute via the 'cwapReroute' object.

        (5) The table index 'ifIndex' refers to that of the root.
        The 'ifIndex' identifies an ATM Virtual Interface
        ('ifType' atmVirtual(149)). 
        "
    INDEX {ifIndex, cwapRootVpi, 
           cwapRootVci, cwapReference}
    ::= { cwapConfigTable 1 }

CwapConfigEntry ::=
    SEQUENCE {
        cwapRootVpi         Integer32,
        cwapRootVci         Integer32,
        cwapReference       Integer32,                  
        cwapNSAPAddress     WanNsapAtmAddress,
        cwapVpi             Integer32,
        cwapVci             Integer32,
        cwapAdminStatus     WanPartyAdminStatus,
        cwapOperStatus      WanPartyOperStatus,
        cwapReroute         TruthValue,
        cwapIdentifier      Unsigned32,
        cwapUploadCounter   Unsigned32,
        cwapRootPhysicalId  DisplayString, 
        cwapRowStatus       RowStatus
    }
 
cwapRootVpi       OBJECT-TYPE
    SYNTAX        Integer32 (0..4095)
    MAX-ACCESS    not-accessible        
    STATUS        current
    DESCRIPTION
        "This object identifies the Virtual Path
        Identifier(VPI) of the root endpoint
        this party is associated with."
    ::= { cwapConfigEntry 1 }

cwapRootVci        OBJECT-TYPE
    SYNTAX        Integer32 (0..65535)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object identifies the Virtual 
        Channel Identifier (VCI) of the root 
        endpoint this party is associated with."
    ::= { cwapConfigEntry 2 }

cwapReference OBJECT-TYPE
    SYNTAX        Integer32 (1..65535)
    MAX-ACCESS    not-accessible 
    STATUS        current
    DESCRIPTION
        "An arbitrary integer which serves to distinguish
        between the multiple parties attached to a root of
        a point-to-multipoint SPVC."
    ::= { cwapConfigEntry 3 }


cwapNSAPAddress OBJECT-TYPE
    SYNTAX          WanNsapAtmAddress
    MAX-ACCESS      read-create 
    STATUS          current
    DESCRIPTION
        "The ATM NSAP address of this party."
    ::= { cwapConfigEntry 4 }

cwapVpi     OBJECT-TYPE
    SYNTAX      Integer32 (0..4095)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The VPI value of this party."
    ::= { cwapConfigEntry 5 }

cwapVci     OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-create     
    STATUS      current
    DESCRIPTION
        "The VCI value of this party."
    ::= { cwapConfigEntry 6 } 


cwapReroute     OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The management station uses this object to trigger the
        re-routing of the party.

        * Rerouting takes effect, when this object is set to true(1).
          When set to false(2), no action is taken.

        * The value 'false' will always be returned on snmp query
          to this variable. 

        * During reroute operation, the 'cwapOperStatus' will contain
          the value 'fail'. Upon successful completion of reroute,
          the 'cwapOperStatus' will change to the value 'ok'. If the  
          reroute operation failed, the 'cwapOperStatus' will stay in   
          'fail'. The management station should query the 
          'cwapOperStatus' to decide if a reroute request is 
          successful or not."
        DEFVAL { false }
    ::= { cwapConfigEntry 7 }

cwapAdminStatus OBJECT-TYPE
    SYNTAX          WanPartyAdminStatus 
    MAX-ACCESS      read-create 
    STATUS          current
    DESCRIPTION
        "The 'administrative status' of this party. 
        "
    DEFVAL { up }
    ::= { cwapConfigEntry 8 } 

cwapOperStatus  OBJECT-TYPE
    SYNTAX          WanPartyOperStatus 
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The 'operational status' of this party."
    ::= { cwapConfigEntry 9 } 

cwapIdentifier  OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-only 
    STATUS          current
    DESCRIPTION
        "An arbitrary integer which serves to 
        distinguish all parties on a node.
        This value is assigned by the managed
        system when a party is added.

        The use of this variable is implementation specific."
    ::= { cwapConfigEntry 10 }

cwapUploadCounter  OBJECT-TYPE
    SYNTAX             Unsigned32 (0..4294967295)
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
        "This counter is used by the management station to 
        determine if a party had been modified and requires 
        further action from management station.

        The use of this variable is implementation specific.

        This functionality is conventionally achieved by time
        stamping using a time-of-day clock. However, in switches
        where time-of-day clock is not available, the following
        scheme is used:

        The upload counter is incremented, when:

        * assignment of a party to a cwapIdentifier. This
          happens when a party is added and assigned this
          cwapIdentifier.
        * de-assignment of connection from a cwapIdentifier. This
          happens when a connection is deleted. 
        * When there is a status change done to this party." 
    ::= { cwapConfigEntry 11 }


cwapRootPhysicalId   OBJECT-TYPE
    SYNTAX          DisplayString 
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object contains physical description of the
        physical interface the root resides. The presentation of
        this object is implementation specific." 
    ::= { cwapConfigEntry 12 }
 
cwapRowStatus   OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object is used to create, modify or delete an entry
        in the ciscoWanAtmPartyTable.
 
        * A row may be created using the 'CreateAndGo' option. When
          the row is successfully created, the RowStatus would be
          set to 'active' by the agent.
 
        * A row may be deleted by setting the RowStatus to 'destroy'.
        "
    ::= { cwapConfigEntry 13 }


ciscoWanAtmPartyMIBCompliances OBJECT IDENTIFIER
    ::= { ciscoWanAtmPartyMIBConform 1 }
ciscoWanAtmPartyMIBGroups      OBJECT IDENTIFIER
    ::= { ciscoWanAtmPartyMIBConform 2 }

-- compliance statements

ciscoWanAtmPartyMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
         "The compliance statement for SNMPv2 entities which
         implement one or more parties of an ATM point-to-
         multi-point connection."
    MODULE  -- this module
    MANDATORY-GROUPS { ciscoWanAtmPartyGroup }

         OBJECT cwapRowStatus
         SYNTAX INTEGER { 
             active(1), createAndGo(4), destroy(6)
         }-- subset of RowStatus
         DESCRIPTION
             "Only three of the six enumerated values for the 
             RowStatus textual convention need to be supported."
         ::= { ciscoWanAtmPartyMIBCompliances 1 }

-- units of conformance

ciscoWanAtmPartyGroup OBJECT-GROUP
    OBJECTS {
        cwapNSAPAddress, 
        cwapVpi,
        cwapVci,
        cwapAdminStatus,
        cwapOperStatus,
        cwapReroute,
        cwapIdentifier,
        cwapUploadCounter,
        cwapRootPhysicalId,
        cwapRowStatus
    }
    STATUS  current
    DESCRIPTION
        "This group contains the information of a
        'party' per each SPVC point-to-multipoint
        connection."
    ::= { ciscoWanAtmPartyMIBGroups 2 }

END


