--------------------------------------------------------------------
-- The ATM Service Registry MIB for Network Management. 
--
-- March 1996, Kartik Chandrasekhar
--
-- Copyright (c) 1996-1997 by cisco Systems, Inc.
-- All rights reserved.
--------------------------------------------------------------------

CISCO-ATM-SERVICE-REGISTRY-MIB  DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32     FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus               FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    ciscoMgmt                                   FROM CISCO-SMI;

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

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

                   Tel: +1 800 553-NETS

                E-mail: cs-snmp@cisco.com"
        DESCRIPTION
                "A MIB module to allow an NMS to monitor and
                configure the information which an ATM switch
                makes available via the ILMI's Service Registry
                Table."
        REVISION        "9602040000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { ciscoMgmt 50 }

ciscoAtmServiceRegistryMIBObjects
                OBJECT IDENTIFIER ::= { ciscoAtmServiceRegistryMIB 1 }

-- AtmAddr defined here for completeness.  Over time it should be
-- imported from the ATMTC-MIB under development by the IETF
AtmAddr ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
            "The ATM address used by the network entity.  The
            address types are: no address (0 octets), E.164 (8
            octets), network prefix (13 octets), and NSAP (20
            octets).  Note: The E.164 address is encoded in
            BCD format."
    SYNTAX    OCTET STRING (SIZE(0|8|13|20))

InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
            "Either the value 0, or the ifIndex value of an
            ATM Interface."
    SYNTAX       Integer32 (0..2147483647)


--          The Service Registry Table
--
-- The Service Registry Table is implemented by ATM switches

asrSrvcRegTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF AsrSrvcRegEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The table implemented by an ATM switch to allow
                monitoring and control of the ATM addresses of
                registered services which it makes avaiable to ATM
                end-systems via the ILMI across its UNIs."
        ::= { ciscoAtmServiceRegistryMIBObjects 1 }

asrSrvcRegEntry OBJECT-TYPE
        SYNTAX      AsrSrvcRegEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Information about a single service provider that is 
                to be made available to the user-side of one or more
                ATM UNIs.  An entry, for which asrSrvcRegPort has a
                non-zero value, is a specific assignment to that UNI;
                an entry for which asrSrvcRegPort is zero applies to
                all UNIs for which this table contains no specific
                assignments."
        INDEX   { asrSrvcRegPort, asrSrvcRegServiceID, 
                  asrSrvcRegAddressIndex }
        ::= { asrSrvcRegTable 1 }

AsrSrvcRegEntry ::=
        SEQUENCE {
            asrSrvcRegPort           InterfaceIndexOrZero,
            asrSrvcRegServiceID      OBJECT IDENTIFIER,
            asrSrvcRegATMAddress     AtmAddr,
            asrSrvcRegAddressIndex   Integer32,
            asrSrvcRegParm1          OCTET STRING,
            asrSrvcRegRowStatus      RowStatus
        }

asrSrvcRegPort OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Either the value 0, or the ifIndex value of an
                the ATM Interface.  A row for which this object has a
                non-zero value is a specific assignment to that UNI;
                a row for which this object is zero applies to
                all UNIs for which this table contains no specific
                assignments.

                Some switches may only support this object with the
                value of zero."
       ::= { asrSrvcRegEntry 1 }

asrSrvcRegServiceID OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The service identifier which uniquely identifies
                the type of service at the address given by the
                corresponding value of asrSrvcRegATMAddress.

                Specific values for this identifier are defined in
                the ILMI specification (e.g., asrSrvcRegLecs) or
                elsewhere."
        ::= { asrSrvcRegEntry 2 }

asrSrvcRegATMAddress OBJECT-TYPE
        SYNTAX      AtmAddr
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
                "An ATM address to which the ATM end-system on this
                UNI can attempt to establish a connection for the
                service."
        ::= { asrSrvcRegEntry 3 }

asrSrvcRegAddressIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "An arbitrary integer to differentiate multiple rows
                containing different ATM addresses for the same service
                on the same UNI."
        ::= { asrSrvcRegEntry 4 }

asrSrvcRegParm1 OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
                "An octet string used according to the value of 
                asrSrvcRegServiceID."
        ::= { asrSrvcRegEntry 5 }

asrSrvcRegRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
                "The status of this row.  No object in the row can
                be modified while the value of this object is
                'active'."
        ::= { asrSrvcRegEntry 6 }

-- conformance information

asrSrvcRegMIBConformance OBJECT IDENTIFIER ::= { ciscoAtmServiceRegistryMIB 3 }
asrSrvcRegMIBCompliances OBJECT IDENTIFIER ::= { asrSrvcRegMIBConformance 1 }
asrSrvcRegMIBGroups      OBJECT IDENTIFIER ::= { asrSrvcRegMIBConformance 2 }


-- compliance statement

asrSrvcRegMIBCompliance MODULE-COMPLIANCE
    STATUS    current
    DESCRIPTION
        "The compliance statement for ATM switches which
                implement the Cisco Service Registry MIB"
    MODULE    -- this module
        MANDATORY-GROUPS { asrSrvcRegMIBGroup }
    ::= { asrSrvcRegMIBCompliances 1 }


-- units of conformance

asrSrvcRegMIBGroup OBJECT-GROUP
    OBJECTS {
            asrSrvcRegATMAddress,
            asrSrvcRegParm1,
            asrSrvcRegRowStatus
    }
    STATUS    current
    DESCRIPTION
        "A collection of objects providing monitoring and
                control of ATM addresses of services which an ATM
                switch is to make available via the ILMI."
    ::= { asrSrvcRegMIBGroups 1 }

END


