-- *****************************************************************
-- CISCO-ASPP-MIB.my:  Asynchronous Security Poll Protocols.
--
-- May 1996, Andrew R. Rothwell.
-- October 2002, Michael Belscher
--
-- Copyright (c) 1996-1997, 2003 by cisco Systems, Inc.
-- All rights reserved.
--
-- *****************************************************************
CISCO-ASPP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP
                FROM SNMPv2-CONF
        ifIndex
                FROM IF-MIB 
        TruthValue
                FROM SNMPv2-TC
        ciscoMgmt
                FROM CISCO-SMI;


ciscoAsppMIB MODULE-IDENTITY
        LAST-UPDATED    "200302100000Z"
        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-poll-async@cisco.com"
        DESCRIPTION
   
               "The ASPP MIB provides the configuration and operational 
                information on asynchronous polled protocols such as the
                asynchronous security protocols that alarm monitoring 
                companies use. The protocols are handled in passthrough 
                mode. ASPP will handle the receiving and sending of the 
                asychronous blocks. It will not perform any error 
                checking. It is the responsibilty of the end-station to
                perform any required error recovery. A generic protocol
                has been created to support asychronous protocols. In 
                some situations this doesn't work for all types since
                there is no alarm protocol standard. Specific vendor 
                support has been included for the following vendor's 
                alarm equipment and protocols:
                  * adplex
                  * adt
                     - PollSelect
                     - VariPoll
                  * diebold
                  * mdi
                  * mosec (mosler)
                  * gddb (Guang Dong Development Bank) 
                     - This protocol is similar to Burroughs Poll/Select

                The following example configuration shows how the 
                ASPP MIB returns ASPP information, from either CISCO A 
                or  CISCO B.
  
             Security == ASP == Cisco == IP    == Cisco == ASP == Alarm
             control              A      Network    B             Panel
             station      
                
                The following entities are managed:

                1) ASPP ports (serial interfaces)

                The ASPP ports are identified by the interface index, 
                and additional information about this interface can be 
                obtained from the Cisco Serial Interface MIB."

        REVISION        "200302100000Z"
        DESCRIPTION
                "Added Asynchronous Point of Sale(POS) to IP conversion 
                 support.
              
                 The APOS protocol utilizes asynchrounous communications
                 with   1 start, 1 stop and  7 data bits with  even 
                 parity. The connection to the POS terminal will always
                 be an asynchronous leased line. The protocol has many 
                 characteristics of BSC except it is simplified to 
                 minimize overhead on the point to point connection. 
 
                 The added APOS traffic will be locally acknowledged 
                 unlike the other polled asynchronous protocol which 
                 function in passthrough mode.
            
                 The LRC/VRC will be verified and any necessary recovery
                 will be done by the router.
                 
                 This is necessary since we are converting the protocol
                 so the data can be passed to an IP attached host." 
      
        REVISION       "9508210000Z"
        DESCRIPTION
                "Initial mib for async security polled protocols."

    ::= { ciscoMgmt 55 }

asppObjects     OBJECT IDENTIFIER ::= { ciscoAsppMIB 1}
asppPorts       OBJECT IDENTIFIER ::= { asppObjects 1}
    
-- *********************************************************************
-- * Aspp Port Table
-- *********************************************************************

asppPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AsppPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A list of asynchronous interfaces which have been 
                 configured to support an asynchronous security protocol
                 (ASP) BSTUN group."
        ::= { asppPorts 1 }

asppPortEntry OBJECT-TYPE
        SYNTAX AsppPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Current ASP configuration settings for an asynchronous
                 port."
        INDEX { ifIndex }
        ::= { asppPortTable 1 }

AsppPortEntry ::=
        SEQUENCE {
            asppPortProtocol                   INTEGER,
            asppPortRole                       INTEGER,
            asppPortReceiveInterFrameTimeout   Integer32,
            asppPortDeviceAddressOffset        Integer32,
            asppPortEOFCharacter               Integer32,
            asppPortSOFCharacter               Integer32,
            asppPortIgnoreSequenceNumber       TruthValue,
            asppPortRspTimer                   Integer32,
            asppPortRxTimer                    Integer32,
            asppPortHostTimer                  Integer32,
            asppPortConnectTimer               Integer32,
            asppPortRetryCount                 Integer32,
            asppPortDelayEnq                   Integer32,
            asppPortDisableEnq                 TruthValue,
            asppPortSendAck                    TruthValue,
            asppPortDirect                     TruthValue,
            asppPortDCDAlways                  TruthValue
        }

asppPortProtocol OBJECT-TYPE
        SYNTAX INTEGER {
                adplex(1),
                adtPollSelect(2),
                adtVariPoll(3),
                diebold(4),
                asyncGeneric(5),
                mdi(6),
                mosec(7),
                gddb(8),
                apos(9)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Specifies type of asynchronous security protocol being
                 used. These protocols are implemented by individual
                 security alarm manufacturers. There is no standard 
                 protocol for alarm communications over RS-232 
                 interfaces.
                 
                 asyncGeneric(5)- provides generic polled asynchronous 
                                  support
           
                 Specific vendor support has been included for the 
                 following vendor's alarm equipment and protocols:
                     * adplex(1)
                     * ADT
                         - adtPollSelect(2)
                         - adtVariPoll(3)
                      * diebold(4)
                      * mdi(6)
                      * mosec(7)
                         - mosler equipment
                      * gddb(8)
                         - Guang Dong Development Bank 
                           The protocol is similar to Burroughs 
                           Poll/Select.

                  apos(9) - Protocol support for asynchronous POS
                            devices for provide credit and debit card
                            authorizations to an IP attached host."
        ::= { asppPortEntry 1 }

asppPortRole OBJECT-TYPE
        SYNTAX          INTEGER { primary(1), secondary(2) }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the router's protocol role. 
                 primary(1) - Indicates we are attaching to the terminal
                              or alarm panel. 
                 secondary(2) - Indicates we are attaching to the host 
                                or alarm console.."
        ::= { asppPortEntry 2 }

asppPortReceiveInterFrameTimeout OBJECT-TYPE
        SYNTAX          Integer32 (0..1000)
        UNITS           "milliseconds"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the receive inter-frame-timeout period, used
                 to delimit frames. Since all the protocols are
                 implemented over RS-232 3-wire circuits (ie TX, RX and
                 GND), the only general method for start-end frame 
                 detection is to monitor the time between received 
                 characters. If this time period exceeds the inter-frame
                 timeout value, then frame end-start is detected."
        ::= { asppPortEntry 3 }

asppPortDeviceAddressOffset OBJECT-TYPE
        SYNTAX          Integer32 (0..255)
        UNITS           "bytes"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the byte offset within a frame, which 
                 contains the device address. This is used when the 
                 asynchronous interface is configured to use the async
                 generic protocol handler. Because no knowledge of the 
                 protocol is built-in to the IOS, it must be told where
                 the address field lives within the frame. That way IOS
                 can correctly route the frames for this protocol."
        REFERENCE 
                "CISCO-BSTUN-MIB"
        ::= { asppPortEntry 4 }

asppPortEOFCharacter OBJECT-TYPE
        SYNTAX          Integer32 (0..256)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the protocol character to use to delimit
                 the end of a frame. The valid character is 0-255 and 
                 256 indicates the object is not configured."
        ::= { asppPortEntry 5 }

asppPortSOFCharacter OBJECT-TYPE
        SYNTAX          Integer32 (0..256)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the protocol character to use to delimit
                 the beginning  of a frame. The valid character is 0-255
                 and 256 indicates the object is not configured."
        ::= { asppPortEntry 6 }

asppPortIgnoreSequenceNumber OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies whether the asp sequence numbers used to 
                 synchronize aspp traffic between head-end and tail-end
                 routers should be ignored. This is enabled if there
                 isn't a one to one correlation between commands and
                 responses between the two routers." 
        DEFVAL          { false }
        ::= { asppPortEntry 7 }

asppPortRspTimer OBJECT-TYPE
        SYNTAX          Integer32 (1..30)
        UNITS           "seconds"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the amount of time the router will wait for a
                 response to a packet before retransmission."
        ::= { asppPortEntry 8 }

asppPortRxTimer OBJECT-TYPE
        SYNTAX          Integer32 (10..60)
        UNITS           "seconds"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the maximum amount of time the router will 
                 wait for a complete packet to be received. It starts 
                 when an STX character is received."
        ::= { asppPortEntry 9 }

asppPortHostTimer OBJECT-TYPE
        SYNTAX          Integer32 (10..120)
        UNITS           "seconds"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the maximum amount of time the router will 
                 wait for a response to a terminal request from the 
                 host. It starts when a terminal request is forwarded 
                 to the host."
        ::= { asppPortEntry 10 }

asppPortConnectTimer OBJECT-TYPE
        SYNTAX          Integer32 (1..30)
        UNITS           "seconds"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the maximum amount of time the router will
                 wait for the activation of the tunnel connection to the
                 host to complete. It starts when a terminal requests a 
                 session with host."
        ::= { asppPortEntry 11 }

asppPortRetryCount OBJECT-TYPE
        SYNTAX          Integer32 (1..10)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the maximum number of timers a packet will be
                 retransmitted before the connection with the terminal 
                 will be disconnected."
        ::= { asppPortEntry 12 }

asppPortDelayEnq OBJECT-TYPE
        SYNTAX          Integer32 (1..1000)
        UNITS           "milliseconds"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies the amount of time to wait after sending a 
                 connect packet to the the terminal before sending the 
                 ENQ to initiate a session"
        ::= { asppPortEntry 13 }

asppPortDisableEnq OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies whether sending of ENQ to initiate a session
                 with the terminal is disabled."
        DEFVAL          { false }
        ::= { asppPortEntry 14 }

asppPortSendAck OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies whether the router will send an ACK to 
                 acknowledge packets."
        DEFVAL          { false }
        ::= { asppPortEntry 15 }

asppPortDirect OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies whether the line mode is direct or dialed. 
                 If in direct the router will immediately send ENQ 
                 without waiting for AT commands"
        DEFVAL          { false }
        ::= { asppPortEntry 16 }

asppPortDCDAlways OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies whether DCD should always be asserted or 
                 asserted only when the connection is active."
        DEFVAL          { false }
        ::= { asppPortEntry 17 }
-- *************************************************************************
-- * Conformance Information
-- *************************************************************************

asppMibConformance   OBJECT IDENTIFIER ::= { ciscoAsppMIB 3 }
asppMibCompliances   OBJECT IDENTIFIER ::= { asppMibConformance 1 }
asppMibGroups        OBJECT IDENTIFIER ::= { asppMibConformance 2 }
--
-- *************************************************************************
-- * Compliance Statements
-- *************************************************************************
asppMibCompliance    MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
                "The compliance statement for ASP."
        MODULE  -- this module
                MANDATORY-GROUPS {
                        asppPortsGroup
                }
         ::= { asppMibCompliances 1 }

asppMibComplianceRev1    MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "The compliance statement for ASP."
        MODULE  -- this module
                MANDATORY-GROUPS {
                        asppPortsGroup
                }
                GROUP asppPortsGenericGroup
                DESCRIPTION
                        "This group is mandatory when implementing
                        asyncGeneric protocol."
                GROUP asppPortsAposGroup
                DESCRIPTION
                        "This group is mandatory when implementing
                        the apos protocol."
                
        ::= { asppMibCompliances 2 }
         
asppPortsGroup OBJECT-GROUP
        OBJECTS {
                asppPortProtocol,
                asppPortRole,
                asppPortReceiveInterFrameTimeout,
                asppPortDeviceAddressOffset
        }
        STATUS current
        DESCRIPTION
                "A collection of objects providing information about
                 interfaces that run asynchronous security protocols."
        ::= { asppMibGroups 1}

asppPortsGenericGroup OBJECT-GROUP
        OBJECTS {
                asppPortEOFCharacter,
                asppPortSOFCharacter,  
                asppPortIgnoreSequenceNumber
        }
        STATUS current
        DESCRIPTION
                "A collection of objects providing information about
	         interfaces that run asynchronous generic protocols."
        ::= { asppMibGroups 2}
         
asppPortsAposGroup OBJECT-GROUP
        OBJECTS {
                asppPortRspTimer,
                asppPortRxTimer,
                asppPortHostTimer,
                asppPortConnectTimer,
                asppPortRetryCount,
                asppPortDelayEnq,
                asppPortDisableEnq,
                asppPortSendAck,
                asppPortDirect,
                asppPortDCDAlways
        }
        STATUS current
        DESCRIPTION
                "A collection of objects providing information about
	         interfaces that run asynchronous protocol to communicate
                 to Point of Sale protocols."
        ::= { asppMibGroups 3}
END
